@nxgt/material 3.26.0 → 3.27.0

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 (66) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/{async-slice-DmElEOGR.js → async-slice-gAbGnQT8.js} +2 -2
  4. package/dist/{button-e-N2SrR4.js → button-Cr9GIIj4.js} +1 -1
  5. package/dist/charts.js +3 -3
  6. package/dist/{chip-CaIK5m3c.js → chip-s11lOfxB.js} +1 -1
  7. package/dist/{code-editor-CTNdNmnn.js → code-editor-DGIjL8Hr.js} +4 -4
  8. package/dist/code-editor.js +4 -4
  9. package/dist/{code-language-items-Cra1Wt0w.js → code-language-items-DCOQnaCo.js} +2 -2
  10. package/dist/{components-Co11dc5M.js → components-DgpD3FJo.js} +7809 -7770
  11. package/dist/components.js +15 -15
  12. package/dist/{dialog-CJUqXZ-U.js → dialog-Crvg-MN5.js} +1 -1
  13. package/dist/dnd.js +1 -1
  14. package/dist/{dropdown-menu-D5yDYO-N.js → dropdown-menu-B71aggp0.js} +1 -1
  15. package/dist/editor.js +7 -7
  16. package/dist/{empty-state-BHrddQlY.js → empty-state-8LddxMU4.js} +1 -1
  17. package/dist/hooks.js +2 -2
  18. package/dist/{i18n-provider-W9rFBjXN.js → i18n-provider-BDi9-6DO.js} +1 -1
  19. package/dist/i18n.js +5 -5
  20. package/dist/{icon-badge-BnAUnMVr.js → icon-badge-DG7wLnHh.js} +1 -1
  21. package/dist/lib/components/ui/layout/app-shell/activity-column.d.ts +2 -2
  22. package/dist/lib/components/ui/layout/app-shell/activity-layout.d.ts +1 -1
  23. package/dist/lib/components/ui/layout/app-shell/activity-layout.types.d.ts +11 -0
  24. package/dist/lib/components/ui/layout/app-shell/backdrop-layer.d.ts +3 -1
  25. package/dist/lib/components/ui/layout/app-shell/shapes-clear-content.d.ts +24 -0
  26. package/dist/lib/components/ui/layout/app-shell/theme-backdrop.d.ts +3 -1
  27. package/dist/lib/components/ui/layout/app-shell/use-keep-shapes-inside.d.ts +4 -3
  28. package/dist/lib/components/ui/layout/app-shell/watch-content.d.ts +10 -1
  29. package/dist/lib/components/ui/layout/auth-card/auth-card-backdrop.d.ts +4 -2
  30. package/dist/lib/components/ui/layout/auth-card/auth-card.d.ts +4 -2
  31. package/dist/lib/components/ui/primitives/tabs/partials/tabs-list.d.ts +6 -1
  32. package/dist/lib/components/ui/primitives/tabs/partials/tabs-scroll-buttons.d.ts +12 -0
  33. package/dist/lib/components/ui/primitives/tabs/tabs-overflow-classes.d.ts +6 -0
  34. package/dist/lib/components/ui/primitives/tabs/use-tabs-overflow.d.ts +25 -0
  35. package/dist/lib/i18n/resources/en/en.d.ts +4 -0
  36. package/dist/lib/i18n/resources/en/material.json.d.ts +4 -0
  37. package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
  38. package/dist/lib/i18n/resources/fr/material.json.d.ts +4 -0
  39. package/dist/lib/i18n/resources/resources.d.ts +8 -0
  40. package/dist/lib/i18n/translator.d.ts +1 -1
  41. package/dist/lib.js +1 -1
  42. package/dist/main.js +21 -21
  43. package/dist/map.js +4 -4
  44. package/dist/material.css +1 -1
  45. package/dist/pdf-reader.js +1 -1
  46. package/dist/print.js +2 -2
  47. package/dist/{public-Bi0CZNsk.js → public-QUiFLEoj.js} +6 -6
  48. package/dist/{rich-code-block-B81MCyAI.js → rich-code-block-CjD54THr.js} +4 -4
  49. package/dist/{sortable-provider-CJ5P_QhI.js → sortable-provider-DYnyzfgR.js} +1 -1
  50. package/dist/{spinner-BuMxoFCj.js → spinner-CJtTRNAX.js} +1 -1
  51. package/dist/{stored-language-pHK1kTl6.js → stored-language-ClkfkueV.js} +8 -0
  52. package/dist/theme-picker.js +2 -2
  53. package/dist/{theme-toggle-BAGSB-HE.js → theme-toggle-ufQL3SO6.js} +1 -1
  54. package/dist/{toolbar-items-BgcE2dSq.js → toolbar-items-DlioFgpM.js} +2 -2
  55. package/dist/{translate-material-DeVLQZTk.js → translate-material-O-uasx3u.js} +2 -2
  56. package/dist/{translator-DEPJOWV-.js → translator-C0uxN1Nh.js} +1 -1
  57. package/dist/{use-chat-composer-Ded2gthF.js → use-chat-composer-DzVO5mwz.js} +1762 -1640
  58. package/dist/{use-heading-spy-swqwAMjR.js → use-heading-spy-BHCVdJfr.js} +1 -1
  59. package/dist/{use-material-translation-DgeOLK6g.js → use-material-translation-B4Frk3vC.js} +2 -2
  60. package/docs/components/navigation-and-layout.md +1 -1
  61. package/docs/components/primitives.md +6 -1
  62. package/docs/guides/app-shell.md +38 -0
  63. package/docs/guides/backgrounds.md +5 -0
  64. package/docs/guides/i18n.md +2 -1
  65. package/docs/troubleshooting.md +14 -3
  66. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @nxgt/material
2
2
 
3
+ ## 3.27.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#1650](https://github.com/softistx/nxgt-material/pull/1650) [`3ea0c07`](https://github.com/softistx/nxgt-material/commit/3ea0c079c4fdf2ef9beddd3dd559368ee47839cb) Thanks [@SteveGT96](https://github.com/SteveGT96)! - `ActivityLayout` and `AuthCard` take `keepClear="gaps"` ([#1637](https://github.com/softistx/nxgt-material/issues/1637)), an opt-in mode of the backdrop's keep-clear pass for a dense page. A glyph (shape or icon) now stays when its whole box fits in a gap of 24px or more between two surfaces (a card, a list, a table), with 4px to spare from each; it is still dropped when it meets text, a control or the inside of a surface. `keepClear` is `boolean | 'gaps'` and stays `true` by default, which keeps today's behaviour unchanged. `ActivityLayout` also takes `keepClear={false}`, as `AuthCard` does: the content is then not measured (the layer's edge and the header band still drop a glyph). Boxes are still read first and written in one frame, with the 150 ms fade. See the app shell guide, "Keep the backdrop clear of the content", and the troubleshooting entry "The backdrop shapes disappeared between the cards".
8
+
9
+ ## 3.26.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#1649](https://github.com/softistx/nxgt-material/pull/1649) [`344f911`](https://github.com/softistx/nxgt-material/commit/344f9119b10d32db542e1f875a5c89234c8ee560) Thanks [@SteveGT96](https://github.com/SteveGT96)! - Tabs: a `TabsList` that overflows (a phone, a narrow card) now fades the side or sides that have hidden tabs and shows a scroll button on each ("Scroll tabs left" / "Scroll tabs right", `material.tabs.*` in en and fr, 44px on a coarse pointer, out of the tab order). The selected tab and the focused tab are scrolled into view without moving the page, instantly under reduced motion. A list that fits keeps its markup, and the server markup has no button. Fixes [#1643](https://github.com/softistx/nxgt-material/issues/1643).
14
+
3
15
  ## 3.26.0
4
16
 
5
17
  ### Minor Changes
package/README.md CHANGED
@@ -645,7 +645,7 @@ Not components: what the stylesheet gives any element.
645
645
 
646
646
  | Preview | Component | What it does | @nxgt/material-vue |
647
647
  | --- | --- | --- | --- |
648
- | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-appshell.webp" width="120" alt="ActivityLayout"> | [`ActivityLayout`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#activitylayout), `ActivityContent`, `AppSidebar`, `AppHeader`, `AppBreadcrumb`, `AppBreadcrumbItem`, `AppBreadcrumbSeparator` | App shell: sidebar built from `items`, a header with a mobile sheet, route breadcrumbs and a titled page; entries are real links, and `linkComponent` swaps the link; it draws the theme's background (Lavande's is the gradient), `backdrop` puts a `/backgrounds` preset behind it for one screen, and `backdrop={false}` draws a plain page. It paints the tinted page ground (`--ground`, `bg-ground`) under the content, with the sidebar and the app bar flat on `--background` and the cards on `bg-card` (`--ground: var(--background)` opts out). `ActivityContent` takes an `aside` side panel (beside the content from 1280px in CSS only, sticky under the app bar, a named `complementary` landmark, stacked below) and `width="form" \| "reading"` to cap the main column with the panel right beside it. See the [app shell guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md). | `ActivityLayout`, `ActivityContent`, `AppSidebar`, `AppHeader`, `AppBreadcrumb` |
648
+ | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-appshell.webp" width="120" alt="ActivityLayout"> | [`ActivityLayout`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#activitylayout), `ActivityContent`, `AppSidebar`, `AppHeader`, `AppBreadcrumb`, `AppBreadcrumbItem`, `AppBreadcrumbSeparator` | App shell: sidebar built from `items`, a header with a mobile sheet, route breadcrumbs and a titled page; entries are real links, and `linkComponent` swaps the link; it draws the theme's background (Lavande's is the gradient), `backdrop` puts a `/backgrounds` preset behind it for one screen, and `backdrop={false}` draws a plain page, and `keepClear="gaps"` lets its glyphs sit in the gaps between surfaces of a dense page. It paints the tinted page ground (`--ground`, `bg-ground`) under the content, with the sidebar and the app bar flat on `--background` and the cards on `bg-card` (`--ground: var(--background)` opts out). `ActivityContent` takes an `aside` side panel (beside the content from 1280px in CSS only, sticky under the app bar, a named `complementary` landmark, stacked below) and `width="form" \| "reading"` to cap the main column with the panel right beside it. See the [app shell guide](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/guides/app-shell.md). | `ActivityLayout`, `ActivityContent`, `AppSidebar`, `AppHeader`, `AppBreadcrumb` |
649
649
  | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-accountmenu.webp" width="120" alt="AccountMenu"> | [`AccountMenu`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#accountmenu) | The app bar's avatar menu: named after the account, the name and e-mail, the app's links, then an optional Theme choice (`themeChoice`) and a destructive Sign out with a busy state. | `AccountMenu` |
650
650
  | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-authcard.webp" width="120" alt="AuthCard"> | [`AuthCard`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#authcard) | The frame of a signed-out page: one `main`, a centred card whose title is the `h1` (focusable on an end state), a status or alert notice, a brand and toolbar row, safe-area padding, an optional backdrop (the theme's by default) that keeps clear of the card. | `AuthCard` |
651
651
  | <img src="https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/previews/navigation-layout-sidebar.webp" width="120" alt="Sidebar"> | [`Sidebar`](https://cdn.jsdelivr.net/npm/@nxgt/material@3/docs/components/navigation-and-layout.md#sidebar), `SidebarHeader`, `SidebarContent`, `SidebarFooter`, `SidebarMenuItem`, `SidebarMenuLabel` | Collapsible navigation sidebar with icons, tooltips and active items. | `Sidebar` (same parts) |
@@ -1,5 +1,5 @@
1
- import { i as e, r as t, t as n } from "./stored-language-pHK1kTl6.js";
2
- import { r } from "./translator-DEPJOWV-.js";
1
+ import { i as e, r as t, t as n } from "./stored-language-ClkfkueV.js";
2
+ import { r } from "./translator-C0uxN1Nh.js";
3
3
  import { t as i } from "./_baseIsEqual-C6ksIHya.js";
4
4
  import { useMemo as a } from "react";
5
5
  import { asyncThunkCreator as o, buildCreateSlice as s } from "@reduxjs/toolkit";
@@ -2,7 +2,7 @@ import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { n as t, t as n } from "./dist-DVRQkaTK.js";
3
3
  import { o as r, t as i } from "./tooltip-CkttDIab.js";
4
4
  import { t as a } from "./is-production-GLw59WU8.js";
5
- import { t as o } from "./spinner-BuMxoFCj.js";
5
+ import { t as o } from "./spinner-CJtTRNAX.js";
6
6
  import { a as s, i as c, r as l, t as u } from "./button-tones-BwuVvAmd.js";
7
7
  import { t as d } from "./button-group-context-CaP0X5p_.js";
8
8
  import { t as f } from "./has-text-content-Ds2dkHX_.js";
package/dist/charts.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { t as e } from "./ui.utils-CAnKTCw5.js";
2
2
  import { t } from "./utils-BLfntITJ.js";
3
- import { t as n } from "./use-material-translation-DgeOLK6g.js";
4
- import { t as r } from "./button-e-N2SrR4.js";
3
+ import { t as n } from "./use-material-translation-B4Frk3vC.js";
4
+ import { t as r } from "./button-Cr9GIIj4.js";
5
5
  import { t as i } from "./use-ssr-media-query-C6M5m8sf.js";
6
6
  import { i as a, n as o, r as s, t as c } from "./util-4heV2LPI.js";
7
7
  import { t as l } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
8
8
  import { t as u } from "./warn-once-C_e47JM8.js";
9
- import { t as d } from "./chip-CaIK5m3c.js";
9
+ import { t as d } from "./chip-s11lOfxB.js";
10
10
  import { c as f, d as p, f as m, i as h, o as g, p as _, s as v, t as y } from "./line-path-C5pZGC49.js";
11
11
  import { t as b } from "./live-status-BGPaN8r8.js";
12
12
  import { t as x } from "./linear-G97mfnKF.js";
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { t } from "./tooltip-CkttDIab.js";
3
- import { t as n } from "./use-material-translation-DgeOLK6g.js";
3
+ import { t as n } from "./use-material-translation-B4Frk3vC.js";
4
4
  import { a as r } from "./button-tones-BwuVvAmd.js";
5
5
  import { t as i } from "./react-node-text-Crkpfpco.js";
6
6
  import { Check as a, X as o } from "lucide-react";
@@ -1,12 +1,12 @@
1
1
  import { r as e } from "./rolldown-runtime-BFFgcFxR.js";
2
2
  import { t } from "./utils-BLfntITJ.js";
3
3
  import { a as n } from "./dist-lmHmz_bu.js";
4
- import { c as r, d as i, f as a, n as o, t as s } from "./dropdown-menu-D5yDYO-N.js";
4
+ import { c as r, d as i, f as a, n as o, t as s } from "./dropdown-menu-B71aggp0.js";
5
5
  import { a as c, i as l, n as u } from "./field-blur-context-Cft9s7Hg.js";
6
- import { a as d, d as f, r as p, t as m, u as h } from "./toolbar-items-BgcE2dSq.js";
6
+ import { a as d, d as f, r as p, t as m, u as h } from "./toolbar-items-DlioFgpM.js";
7
7
  import { t as g } from "./is-production-GLw59WU8.js";
8
- import { t as _ } from "./use-material-translation-DgeOLK6g.js";
9
- import { i as v, n as y, o as b, t as x } from "./code-language-items-Cra1Wt0w.js";
8
+ import { t as _ } from "./use-material-translation-B4Frk3vC.js";
9
+ import { i as v, n as y, o as b, t as x } from "./code-language-items-DCOQnaCo.js";
10
10
  import { t as S } from "./useIsomorphicLayoutEffect-DfgAhWcH.js";
11
11
  import { n as C, t as w } from "./escape-owner-C4W_sOAU.js";
12
12
  import { t as T } from "./skeleton-DSdtr2qc.js";
@@ -1,14 +1,14 @@
1
1
  import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { a as t } from "./dist-lmHmz_bu.js";
3
- import { d as n, r, t as i, u as a } from "./toolbar-items-BgcE2dSq.js";
4
- import { t as o } from "./use-material-translation-DgeOLK6g.js";
5
- import { i as s, n as c, o as l } from "./code-language-items-Cra1Wt0w.js";
3
+ import { d as n, r, t as i, u as a } from "./toolbar-items-DlioFgpM.js";
4
+ import { t as o } from "./use-material-translation-B4Frk3vC.js";
5
+ import { i as s, n as c, o as l } from "./code-language-items-DCOQnaCo.js";
6
6
  import { r as u, t as d } from "./field-blur-CJHzVSh9.js";
7
7
  import { t as f } from "./skeleton-DSdtr2qc.js";
8
8
  import { t as p } from "./live-status-BGPaN8r8.js";
9
9
  import { t as m } from "./use-mobile-BDro060N.js";
10
10
  import { t as h } from "./react-node-text-Crkpfpco.js";
11
- import { a as g, c as _, d as v, f as y, i as b, l as x, m as S, o as C, p as w, r as T, s as E, t as D, u as O } from "./code-editor-CTNdNmnn.js";
11
+ import { a as g, c as _, d as v, f as y, i as b, l as x, m as S, o as C, p as w, r as T, s as E, t as D, u as O } from "./code-editor-DGIjL8Hr.js";
12
12
  import { ChevronDown as k, ChevronUp as A, Columns2 as j } from "lucide-react";
13
13
  import { useEffect as M, useRef as N, useState as P } from "react";
14
14
  import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
- import { d as e, f as t } from "./dropdown-menu-D5yDYO-N.js";
2
- import { t as n } from "./use-material-translation-DgeOLK6g.js";
1
+ import { d as e, f as t } from "./dropdown-menu-B71aggp0.js";
2
+ import { t as n } from "./use-material-translation-B4Frk3vC.js";
3
3
  import { t as r } from "./live-status-BGPaN8r8.js";
4
4
  import { useEffect as i, useRef as a, useState as o } from "react";
5
5
  import { jsx as s } from "react/jsx-runtime";