@nxgt/material 3.32.1 → 3.34.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.
- package/CHANGELOG.md +20 -0
- package/README.md +2 -1
- package/dist/{async-slice-Cll-4Mvg.js → async-slice-C9q_eMJD.js} +2 -2
- package/dist/{button-B47lM8a5.js → button-CoAu_GuF.js} +1 -1
- package/dist/charts.js +3 -3
- package/dist/{chip-Bf80b1XT.js → chip-Ch21Qbnj.js} +1 -1
- package/dist/{code-editor-BLLpzmCc.js → code-editor-CEdEmolU.js} +4 -4
- package/dist/code-editor.js +4 -4
- package/dist/{code-language-items-COd99vab.js → code-language-items-BNMM7YlZ.js} +2 -2
- package/dist/{components-d7zwWiUr.js → components-BM9WHviO.js} +13301 -13147
- package/dist/components.js +26 -26
- package/dist/{dialog-Cp7bS5LI.js → dialog-C_U4twIJ.js} +1 -1
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-DJNMcPZa.js → dropdown-menu-DSgkmogX.js} +1 -1
- package/dist/editor.js +7 -7
- package/dist/{empty-state-Dv9AtrMw.js → empty-state-CJZ0sVE8.js} +1 -1
- package/dist/hooks.js +2 -2
- package/dist/{i18n-provider-BBhhsa4I.js → i18n-provider-CLq-1Qgc.js} +1 -1
- package/dist/i18n.js +5 -5
- package/dist/{icon-badge-DEk244kn.js → icon-badge-Dssl4rfn.js} +1 -1
- package/dist/lib/components/ui/collections/data-table/internal.d.ts +1 -0
- package/dist/lib/components/ui/collections/data-table/partials/data-table-pager.d.ts +12 -0
- package/dist/lib/components/ui/collections/data-table/use-range-label.d.ts +6 -0
- package/dist/lib/components/ui/collections/index.d.ts +1 -0
- package/dist/lib/components/ui/collections/page-footer/index.d.ts +1 -0
- package/dist/lib/components/ui/collections/page-footer/page-footer.d.ts +36 -0
- package/dist/lib/components/ui/collections/server-table/bulk-action-targets.d.ts +11 -0
- package/dist/lib/components/ui/collections/server-table/bulk-action.d.ts +32 -0
- package/dist/lib/components/ui/collections/server-table/partials/server-table-bulk-buttons.d.ts +21 -0
- package/dist/lib/components/ui/collections/server-table/server-table.d.ts +1 -0
- package/dist/lib/components/ui/collections/server-table/types.d.ts +2 -1
- package/dist/lib/components/ui/layout/app-shell/collect-chrome.d.ts +16 -0
- package/dist/lib/components/ui/layout/app-shell/shape-units.d.ts +4 -0
- package/dist/lib/components/ui/layout/app-shell/shapes-clear-content.d.ts +18 -0
- package/dist/lib/components/ui/layout/app-shell/watch-content.d.ts +11 -1
- package/dist/lib/i18n/resources/en/en.d.ts +2 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +3 -1
- package/dist/lib/i18n/resources/fr/fr.d.ts +2 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +3 -1
- package/dist/lib/i18n/resources/resources.d.ts +4 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/dist/main.js +43 -43
- package/dist/map.js +4 -4
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/print.js +2 -2
- package/dist/{public-Cvwb2tds.js → public-CX7FN97X.js} +6 -6
- package/dist/{rich-code-block-MItKFVB-.js → rich-code-block-cc1NZtbD.js} +4 -4
- package/dist/{sortable-provider-CIlK0Vuk.js → sortable-provider-D43VdFMP.js} +1 -1
- package/dist/{spinner-DRGPXRNW.js → spinner-wKfFAVU9.js} +1 -1
- package/dist/{stored-language-CkPRWAaM.js → stored-language-D73ujVW4.js} +6 -2
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle-CPzxOW_X.js → theme-toggle-Drab-hke.js} +1 -1
- package/dist/{toolbar-items-GIaifZbx.js → toolbar-items-D7R9YtYx.js} +2 -2
- package/dist/{translate-material-BEQGLLY7.js → translate-material-CdpLjkcD.js} +2 -2
- package/dist/{translator-Ec9Uj32C.js → translator-BE-yEb0p.js} +1 -1
- package/dist/{use-chat-composer-BEs82Xar.js → use-chat-composer-CpKh8564.js} +12 -12
- package/dist/{use-heading-spy-BRAPVvfh.js → use-heading-spy-DgWhvYfh.js} +1 -1
- package/dist/{use-material-translation-B0RHv3l7.js → use-material-translation-Da9Ponn5.js} +2 -2
- package/docs/components/data-table-filter-and-lists.md +71 -1
- package/docs/guides/backgrounds.md +3 -0
- package/docs/guides/i18n.md +1 -0
- package/docs/previews/data-table-filter-lists-pagefooter.webp +0 -0
- package/package.json +2 -2
package/dist/pdf-reader.js
CHANGED
package/dist/print.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as e } from "./i18n-provider-
|
|
2
|
-
import { t } from "./translate-material-
|
|
1
|
+
import { r as e } from "./i18n-provider-CLq-1Qgc.js";
|
|
2
|
+
import { t } from "./translate-material-CdpLjkcD.js";
|
|
3
3
|
import { Children as n, createContext as r, isValidElement as i, useCallback as a, useContext as o, useEffect as s, useMemo as c, useState as l } from "react";
|
|
4
4
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
5
5
|
import { resolvePdfFileName as f } from "@nxgt/material-core/pdf-file-name";
|
|
@@ -6,18 +6,18 @@ import { c as i, i as a, l as o, n as s, o as c, s as l } from "./dist-lmHmz_bu.
|
|
|
6
6
|
import { a as u, o as d } from "./tooltip-CkttDIab.js";
|
|
7
7
|
import { i as f } from "./dist-C4wtXCjf.js";
|
|
8
8
|
import { r as p, t as m } from "./in-dialog-Vwkyp-M5.js";
|
|
9
|
-
import { C as h, D as g, E as _, O as v, S as y, T as b, _ as x, f as S, g as ee, k as te, r as ne, t as C, u as re, w } from "./dialog-
|
|
10
|
-
import { c as T, d as ie, f as E, i as ae, l as oe, n as se, o as D, t as ce, u as O } from "./dropdown-menu-
|
|
11
|
-
import { S as le, a as k, d as A, g as ue, h as de, i as fe, m as pe, n as j, r as me, t as M, u as he, w as ge } from "./toolbar-items-
|
|
12
|
-
import { t as N } from "./use-material-translation-
|
|
13
|
-
import { t as _e } from "./button-
|
|
9
|
+
import { C as h, D as g, E as _, O as v, S as y, T as b, _ as x, f as S, g as ee, k as te, r as ne, t as C, u as re, w } from "./dialog-C_U4twIJ.js";
|
|
10
|
+
import { c as T, d as ie, f as E, i as ae, l as oe, n as se, o as D, t as ce, u as O } from "./dropdown-menu-DSgkmogX.js";
|
|
11
|
+
import { S as le, a as k, d as A, g as ue, h as de, i as fe, m as pe, n as j, r as me, t as M, u as he, w as ge } from "./toolbar-items-D7R9YtYx.js";
|
|
12
|
+
import { t as N } from "./use-material-translation-Da9Ponn5.js";
|
|
13
|
+
import { t as _e } from "./button-CoAu_GuF.js";
|
|
14
14
|
import { n as ve, t as ye } from "./icon-button-ifTpXt0A.js";
|
|
15
15
|
import { t as be } from "./useEvent-2fKq-6w8.js";
|
|
16
16
|
import { n as xe, t as Se } from "./toggle-group-BMJNcFAC.js";
|
|
17
17
|
import { o as Ce } from "./escape-owner-C4W_sOAU.js";
|
|
18
18
|
import { n as we } from "./use-slice-reducer-BGkeGtML.js";
|
|
19
19
|
import { r as Te } from "./use-csp-nonce-ZKs9k-ov.js";
|
|
20
|
-
import { n as Ee, t as De } from "./empty-state-
|
|
20
|
+
import { n as Ee, t as De } from "./empty-state-CJZ0sVE8.js";
|
|
21
21
|
import { t as Oe } from "./client-only.utils-3nHNzCki.js";
|
|
22
22
|
import { t as ke } from "./use-scroll-away-PQRFZkT2.js";
|
|
23
23
|
import { ArrowLeft as Ae, BookOpenText as je, ChevronDown as Me, ChevronLeft as Ne, ChevronRight as Pe, ChevronUp as Fe, Download as Ie, Eraser as Le, FileText as Re, FileWarning as ze, FileX2 as Be, Highlighter as Ve, KeyRound as He, LayoutGrid as Ue, List as We, Loader2 as Ge, Maximize as Ke, MessageSquareText as qe, Minimize as Je, MoreVertical as Ye, MousePointer2 as Xe, MoveHorizontal as Ze, PanelLeft as Qe, Pen as $e, PencilLine as et, Printer as tt, RotateCw as nt, Search as rt, StickyNote as it, Type as at, Underline as ot, Undo2 as st, Volume2 as ct, X as lt, XIcon as ut, ZoomIn as dt, ZoomOut as ft } from "lucide-react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./tooltip-CkttDIab.js";
|
|
2
|
-
import { c as t, n, t as r } from "./dropdown-menu-
|
|
3
|
-
import { t as i } from "./use-material-translation-
|
|
4
|
-
import { a, i as o, n as s, o as c, t as l } from "./code-language-items-
|
|
2
|
+
import { c as t, n, t as r } from "./dropdown-menu-DSgkmogX.js";
|
|
3
|
+
import { t as i } from "./use-material-translation-Da9Ponn5.js";
|
|
4
|
+
import { a, i as o, n as s, o as c, t as l } from "./code-language-items-BNMM7YlZ.js";
|
|
5
5
|
import { i as u, n as d, r as f, s as p } from "./dist-C3GR7kJd.js";
|
|
6
6
|
import { t as m } from "./code-block-spec-CGLKRhwD.js";
|
|
7
7
|
import { Check as h, ChevronDown as g, Copy as _, Maximize2 as v, WrapText as y } from "lucide-react";
|
|
@@ -143,7 +143,7 @@ function M({ node: e, editor: t, updateAttributes: n, editable: r, wrap: a, onWr
|
|
|
143
143
|
}
|
|
144
144
|
//#endregion
|
|
145
145
|
//#region lib/components/ui/widgets/editor/extensions/code/code-block-open.tsx
|
|
146
|
-
var N = x(() => import("./code-editor-
|
|
146
|
+
var N = x(() => import("./code-editor-CEdEmolU.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
|
|
147
147
|
function P() {
|
|
148
148
|
let { t: e } = i();
|
|
149
149
|
return /* @__PURE__ */ T("div", {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { t } from "./dist-DVRQkaTK.js";
|
|
3
|
-
import { t as n } from "./use-material-translation-
|
|
3
|
+
import { t as n } from "./use-material-translation-Da9Ponn5.js";
|
|
4
4
|
import { t as r } from "./icon-button-ifTpXt0A.js";
|
|
5
5
|
import { t as i } from "./compose-refs-DZ0iIVF-.js";
|
|
6
6
|
import { GripVertical as a } from "lucide-react";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { o as t } from "./tooltip-CkttDIab.js";
|
|
3
|
-
import { t as n } from "./use-material-translation-
|
|
3
|
+
import { t as n } from "./use-material-translation-Da9Ponn5.js";
|
|
4
4
|
import { jsx as r } from "react/jsx-runtime";
|
|
5
5
|
//#region lib/components/ui/feedback/spinner/spinner.tsx
|
|
6
6
|
var i = t("transition-all duration-500", {
|
|
@@ -1932,7 +1932,9 @@ var t = {
|
|
|
1932
1932
|
"first-page": "Back to the first page",
|
|
1933
1933
|
"past-end-status": "{count, plural, =0 {No results} one {# result} other {# results}} in all, none on this page",
|
|
1934
1934
|
error: "Could not load the list",
|
|
1935
|
-
"error-hint": "Check your connection, then try again."
|
|
1935
|
+
"error-hint": "Check your connection, then try again.",
|
|
1936
|
+
"bulk-action": "{label} ({count})",
|
|
1937
|
+
"bulk-action-name": "{label} {count, plural, one {# row} other {# rows}}"
|
|
1936
1938
|
},
|
|
1937
1939
|
"list-empty": { clear: "Clear search and filters" },
|
|
1938
1940
|
"data-grid": {
|
|
@@ -4599,7 +4601,9 @@ var t = {
|
|
|
4599
4601
|
"first-page": "Retour à la première page",
|
|
4600
4602
|
"past-end-status": "{count, plural, =0 {Aucun résultat} one {# résultat} other {# résultats}} au total, aucun sur cette page",
|
|
4601
4603
|
error: "Impossible de charger la liste",
|
|
4602
|
-
"error-hint": "Vérifiez votre connexion, puis réessayez."
|
|
4604
|
+
"error-hint": "Vérifiez votre connexion, puis réessayez.",
|
|
4605
|
+
"bulk-action": "{label} ({count})",
|
|
4606
|
+
"bulk-action-name": "{label} : {count, plural, one {# ligne} other {# lignes}}"
|
|
4603
4607
|
},
|
|
4604
4608
|
"list-empty": { clear: "Effacer la recherche et les filtres" },
|
|
4605
4609
|
"data-grid": {
|
package/dist/theme-picker.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { a as t, i as n, n as r, o as i, r as a, t as o } from "./bubble-input-B7BVd9fX.js";
|
|
3
|
-
import { t as s } from "./use-material-translation-
|
|
3
|
+
import { t as s } from "./use-material-translation-Da9Ponn5.js";
|
|
4
4
|
import { a as c, r as l } from "./icon-sprites-CaYXzOL4.js";
|
|
5
5
|
import { t as u } from "./use-theme-DMcyJ52N.js";
|
|
6
6
|
import { a as d, r as f } from "./theme-context-Cofk6vgs.js";
|
|
7
|
-
import { t as p } from "./theme-toggle-
|
|
7
|
+
import { t as p } from "./theme-toggle-Drab-hke.js";
|
|
8
8
|
import { n as m, t as h } from "./nxgt-theme-ZS945iMP.js";
|
|
9
9
|
import { Check as g } from "lucide-react";
|
|
10
10
|
import { useContext as _ } from "react";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./use-material-translation-
|
|
1
|
+
import { t as e } from "./use-material-translation-Da9Ponn5.js";
|
|
2
2
|
import { i as t } from "./theme-store-CSl51uNH.js";
|
|
3
3
|
import { n, t as r } from "./use-theme-DMcyJ52N.js";
|
|
4
4
|
import { r as i } from "./theme-context-Cofk6vgs.js";
|
|
@@ -4,9 +4,9 @@ import { a as i, c as a, i as o, l as s, r as c, s as l } from "./dist-lmHmz_bu.
|
|
|
4
4
|
import { b as u, c as d, d as f, f as p, l as m, t as h, u as g, x as _ } from "./tooltip-CkttDIab.js";
|
|
5
5
|
import { i as v, n as y, r as b, t as x } from "./dist-C4wtXCjf.js";
|
|
6
6
|
import { a as S, c as C, l as w, o as T, r as ee, s as te, t as E } from "./in-dialog-Vwkyp-M5.js";
|
|
7
|
-
import { A as ne, M as re, N as ie, b as ae, d as oe, f as se, i as ce, j as le, l as ue, n as de, o as fe, r as pe, t as me, u as he, y as ge } from "./dropdown-menu-
|
|
7
|
+
import { A as ne, M as re, N as ie, b as ae, d as oe, f as se, i as ce, j as le, l as ue, n as de, o as fe, r as pe, t as me, u as he, y as ge } from "./dropdown-menu-DSgkmogX.js";
|
|
8
8
|
import { a as _e, n as ve, r as ye, t as be } from "./dist-B7RjY7SL.js";
|
|
9
|
-
import { t as xe } from "./use-material-translation-
|
|
9
|
+
import { t as xe } from "./use-material-translation-Da9Ponn5.js";
|
|
10
10
|
import { t as Se } from "./warn-once-C_e47JM8.js";
|
|
11
11
|
import { o as Ce } from "./escape-owner-C4W_sOAU.js";
|
|
12
12
|
import { ChevronLeft as we, ChevronRightIcon as Te, MoreVertical as Ee } from "lucide-react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./stored-language-
|
|
2
|
-
import { a as e, r as t } from "./translator-
|
|
1
|
+
import "./stored-language-D73ujVW4.js";
|
|
2
|
+
import { a as e, r as t } from "./translator-BE-yEb0p.js";
|
|
3
3
|
//#region lib/i18n/translate-material.ts
|
|
4
4
|
function n(n, r, i, a) {
|
|
5
5
|
if (n) for (let e of /* @__PURE__ */ new Set([n, n.split("-")[0]])) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./is-production-GLw59WU8.js";
|
|
2
|
-
import { a as t, i as n, r, t as i } from "./stored-language-
|
|
2
|
+
import { a as t, i as n, r, t as i } from "./stored-language-D73ujVW4.js";
|
|
3
3
|
import { t as a } from "./get-CTzJAwfc.js";
|
|
4
4
|
//#region ../../node_modules/@formatjs/fast-memoize/index.js
|
|
5
5
|
function o(e, t) {
|
|
@@ -7,21 +7,21 @@ import { a as o, c as s, i as c, l, n as u, o as d, r as f, s as p, t as m } fro
|
|
|
7
7
|
import { _ as h, a as g, g as _, h as v, m as y, o as b, p as x, t as S, v as C, y as w } from "./tooltip-CkttDIab.js";
|
|
8
8
|
import { a as T, i as E, n as D, r as O, t as k } from "./dist-C4wtXCjf.js";
|
|
9
9
|
import { i as A, n as ee, t as j } from "./in-dialog-Vwkyp-M5.js";
|
|
10
|
-
import { A as M, C as N, D as te, E as ne, O as P, S as re, T as ie, _ as F, b as ae, f as oe, g as se, k as I, l as ce, m as le, n as ue, o as de, r as fe, s as pe, t as me, u as he, v as ge, w as _e, x as ve, y as ye } from "./dialog-
|
|
10
|
+
import { A as M, C as N, D as te, E as ne, O as P, S as re, T as ie, _ as F, b as ae, f as oe, g as se, k as I, l as ce, m as le, n as ue, o as de, r as fe, s as pe, t as me, u as he, v as ge, w as _e, x as ve, y as ye } from "./dialog-C_U4twIJ.js";
|
|
11
11
|
import { A as be, C as xe, D as Se, E as Ce, O as we, S as Te, T as Ee, _ as De, a as Oe, b as ke, d as Ae, f as je, g as Me, h as Ne, i as Pe, k as Fe, l as Ie, m as Le, n as Re, o as ze, p as Be, r as Ve, s as He, t as Ue, u as We, v as Ge, w as Ke, x as qe, y as Je } from "./floating-ui.dom-KkZSW8_E.js";
|
|
12
|
-
import { D as Ye, E as Xe, N as Ze, O as Qe, c as $e, d as et, f as tt, i as nt, k as rt, m as it, n as at, o as ot, p as st, t as ct, u as lt } from "./dropdown-menu-
|
|
12
|
+
import { D as Ye, E as Xe, N as Ze, O as Qe, c as $e, d as et, f as tt, i as nt, k as rt, m as it, n as at, o as ot, p as st, t as ct, u as lt } from "./dropdown-menu-DSgkmogX.js";
|
|
13
13
|
import { a as ut, i as dt, n as ft } from "./field-blur-context-Cft9s7Hg.js";
|
|
14
|
-
import { C as pt, S as mt, a as ht, c as gt, d as _t, l as vt, n as yt, o as bt, s as xt, u as St } from "./toolbar-items-
|
|
14
|
+
import { C as pt, S as mt, a as ht, c as gt, d as _t, l as vt, n as yt, o as bt, s as xt, u as St } from "./toolbar-items-D7R9YtYx.js";
|
|
15
15
|
import { a as Ct, i as wt, n as Tt, o as Et, t as Dt } from "./bubble-input-B7BVd9fX.js";
|
|
16
16
|
import { i as Ot } from "./dist-B7RjY7SL.js";
|
|
17
|
-
import "./stored-language-
|
|
18
|
-
import { a as kt } from "./translator-
|
|
17
|
+
import "./stored-language-D73ujVW4.js";
|
|
18
|
+
import { a as kt } from "./translator-BE-yEb0p.js";
|
|
19
19
|
import { h as At } from "./get-CTzJAwfc.js";
|
|
20
20
|
import { t as jt } from "./isEmpty-F_g3jLf8.js";
|
|
21
|
-
import { t as L } from "./use-material-translation-
|
|
22
|
-
import { t as Mt } from "./spinner-
|
|
21
|
+
import { t as L } from "./use-material-translation-Da9Ponn5.js";
|
|
22
|
+
import { t as Mt } from "./spinner-wKfFAVU9.js";
|
|
23
23
|
import { a as Nt } from "./button-tones-BwuVvAmd.js";
|
|
24
|
-
import { a as Pt, i as Ft, n as It, r as Lt, t as Rt } from "./button-
|
|
24
|
+
import { a as Pt, i as Ft, n as It, r as Lt, t as Rt } from "./button-CoAu_GuF.js";
|
|
25
25
|
import { t as R } from "./icon-button-ifTpXt0A.js";
|
|
26
26
|
import { a as zt, r as Bt } from "./icon-sprites-CaYXzOL4.js";
|
|
27
27
|
import { t as Vt } from "./use-ssr-media-query-C6M5m8sf.js";
|
|
@@ -35,10 +35,10 @@ import { a as tn, i as nn, o as rn } from "./escape-owner-C4W_sOAU.js";
|
|
|
35
35
|
import { n as an } from "./use-slice-reducer-BGkeGtML.js";
|
|
36
36
|
import { t as on } from "./browser-only-DQ94lWF8.js";
|
|
37
37
|
import { t as sn } from "./compose-refs-DZ0iIVF-.js";
|
|
38
|
-
import { n as cn, r as ln, t as un } from "./chip-
|
|
39
|
-
import { n as dn, t as fn } from "./icon-badge-
|
|
38
|
+
import { n as cn, r as ln, t as un } from "./chip-Ch21Qbnj.js";
|
|
39
|
+
import { n as dn, t as fn } from "./icon-badge-Dssl4rfn.js";
|
|
40
40
|
import { r as pn } from "./use-csp-nonce-ZKs9k-ov.js";
|
|
41
|
-
import { t as mn } from "./empty-state-
|
|
41
|
+
import { t as mn } from "./empty-state-CJZ0sVE8.js";
|
|
42
42
|
import { t as hn } from "./skeleton-DSdtr2qc.js";
|
|
43
43
|
import { H as gn, V as _n, X as vn, bt as yn, it as bn, lt as xn, n as Sn, t as Cn, xt as wn, yt as Tn } from "./dist-moutbfbd.js";
|
|
44
44
|
import { t as En } from "./markdown-Dw_uH7j7.js";
|
|
@@ -10782,7 +10782,7 @@ var CS = (e = {}) => Dn({
|
|
|
10782
10782
|
let [{ default: t }, { lowlight: n }, { richCodeBlock: r }] = await Promise.all([
|
|
10783
10783
|
import("./dist-CRMFGjng.js"),
|
|
10784
10784
|
import("./lowlight-OtcjU2Sa.js"),
|
|
10785
|
-
import("./rich-code-block-
|
|
10785
|
+
import("./rich-code-block-cc1NZtbD.js")
|
|
10786
10786
|
]);
|
|
10787
10787
|
return [r(t, {
|
|
10788
10788
|
lowlight: n,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as e } from "./i18n-provider-
|
|
1
|
+
import { r as e } from "./i18n-provider-CLq-1Qgc.js";
|
|
2
2
|
import { _ as t, g as n, h as r, n as i, v as a, y as o } from "./number.utils-BG_eEt5g.js";
|
|
3
3
|
import { useCallback as s, useEffect as c, useMemo as l, useRef as u } from "react";
|
|
4
4
|
//#region ../../node_modules/date-fns/locale/fr/_lib/formatDistance.js
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as e } from "./i18n-provider-
|
|
2
|
-
import { t } from "./translate-material-
|
|
1
|
+
import { r as e } from "./i18n-provider-CLq-1Qgc.js";
|
|
2
|
+
import { t } from "./translate-material-CdpLjkcD.js";
|
|
3
3
|
import { useCallback as n } from "react";
|
|
4
4
|
//#region lib/i18n/use-material-translation.ts
|
|
5
5
|
function r() {
|
|
@@ -17,6 +17,7 @@ either can be used alone.
|
|
|
17
17
|
| <img src="../previews/data-table-filter-lists-servertable.webp" width="96" alt=""> | [ServerTable](#servertable) | A server-mode `DataTable` driven by the URL, with the Filter in its top band (a title and a description, or neither): sort, cursor paging, the empty page with a scene, an action and removable chips, one count announced |
|
|
18
18
|
| <img src="../previews/data-table-filter-lists-rowmenu.webp" width="96" alt=""> | [RowMenu](#rowmenu) | A row's "..." button named after its row ("Actions for Ada"), its menu aligned to the end with the destructive item last, and `rowMenuColumn` to drop both in a table |
|
|
19
19
|
| <img src="../previews/data-table-filter-lists-listempty.webp" width="96" alt=""> | [ListEmpty](#listempty) | A list's empty page: nothing yet, with a scene and an action, or nothing matches and the way out |
|
|
20
|
+
| <img src="../previews/data-table-filter-lists-pagefooter.webp" width="96" alt=""> | [PageFooter](#pagefooter) | The page footer of a feed that is not a table (cards, a news feed) under a FilterBar: the range and Previous / Next as links from the URL's cursor trail, `pageControls="icon"` |
|
|
20
21
|
| <img src="../previews/data-table-filter-lists-datagrid.webp" width="96" alt=""> | [DataGrid](#datagrid) | An editable grid: spreadsheet keys, paste, a fill handle with series, undo, totals, saving with versions and conflicts (lazy ones fetch theirs on "Keep mine"), `onRefuse` for a refused paste or fill, row selection (`enableRowSelection`), and resizable, hideable and reorderable columns (`columnControls`, `columnLayout`, `DataGridColumnsMenu`) |
|
|
21
22
|
| <img src="../previews/data-table-filter-lists-daygroupedlist.webp" width="96" alt=""> | [DayGroupedList](#daygroupedlist) | A list split by day under sticky Today / Yesterday / Earlier headings |
|
|
22
23
|
| <img src="../previews/data-table-filter-lists-filter.webp" width="96" alt=""> | [Filter](#filter) | Schema-driven filters with chips, presets and persistence |
|
|
@@ -856,6 +857,34 @@ export default function Students() {
|
|
|
856
857
|
rowSelectionDisabledReason={() => 'Already applied'}
|
|
857
858
|
/>
|
|
858
859
|
```
|
|
860
|
+
- **Bulk actions that count and run only their rows.** `bulkActions` also
|
|
861
|
+
takes a list of `ServerTableBulkAction<T>` (`{ id, label, icon?, appliesTo?,
|
|
862
|
+
onClick, variant?, color?, loading? }`). Each button reads "Label (n)", n
|
|
863
|
+
being the selected rows the action applies to, and is named "Label n rows"
|
|
864
|
+
(`material.server-table.bulk-action` and `bulk-action-name`, English and
|
|
865
|
+
French); `variant` (default `'tonal'`) and `color` (`'destructive'` for a
|
|
866
|
+
destructive one) style the button, `loading` makes it busy; the type is
|
|
867
|
+
exported as `ServerTableBulkAction`. It is not rendered when n is 0, so 5 rows selected with none
|
|
868
|
+
archived show no "Restore". `onClick(ids, selection, rows)` receives only
|
|
869
|
+
those ids and rows. An action without `appliesTo` applies to the whole
|
|
870
|
+
selection: it shows the selection's size and gets every id. **Across
|
|
871
|
+
pages:** `appliesTo` sees the loaded page's rows only, so a row selected on
|
|
872
|
+
another page is neither counted nor passed by an action that has one; an
|
|
873
|
+
action without it still gets every selected id.
|
|
874
|
+
```tsx
|
|
875
|
+
<ServerTable<Item>
|
|
876
|
+
{...props}
|
|
877
|
+
bulkActions={[
|
|
878
|
+
{
|
|
879
|
+
id: 'restore',
|
|
880
|
+
label: 'Restore',
|
|
881
|
+
appliesTo: (item) => item.archived,
|
|
882
|
+
onClick: (ids, selection) => restore(ids).then(selection.clear),
|
|
883
|
+
},
|
|
884
|
+
{ id: 'export', label: 'Export', onClick: (ids) => exportRows(ids) },
|
|
885
|
+
]}
|
|
886
|
+
/>
|
|
887
|
+
```
|
|
859
888
|
- **Your own controls instead.** Without `filter`, pass
|
|
860
889
|
`filters={tableFilters(model)}`: whether the page is "nothing matches",
|
|
861
890
|
and its "Clear search and filters" button
|
|
@@ -894,7 +923,7 @@ Its props are `ServerTableProps<T>`; `filter` is a `ServerTableFilter`,
|
|
|
894
923
|
| `error` | `ServerTableError \| null` | — | the fetch failed: the failure and a Retry replace the rows |
|
|
895
924
|
| `onRetry` | `() => unknown` | — | the error's Retry; a returned promise keeps it loading |
|
|
896
925
|
| `onClearFilters` | `() => void` | focus the table | without `filter`, after "clear" |
|
|
897
|
-
| `bulkActions` | `(ids, selection: ServerTableSelection) => ReactNode` | — | the selection's toolbar |
|
|
926
|
+
| `bulkActions` | `(ids, selection: ServerTableSelection) => ReactNode \| ServerTableBulkAction<T>[]` | — | the selection's toolbar: your own buttons, or a list of actions with `appliesTo` that each count and run only the rows they apply to |
|
|
898
927
|
| `enableRowSelection`, `rowSelectionDisabledReason` | `boolean \| (row) => boolean`, `(row) => string \| undefined` | all rows, no reason | with `bulkActions`: which rows can be selected, and why one cannot ([DataTable](#datatable)) |
|
|
899
928
|
| `pageHref` | `(params) => string` | `` `?${params}` `` | Previous / Next hrefs |
|
|
900
929
|
| `pagingNames` | `{ after?, trail? }` | `after`, `trail` | the cursor's params |
|
|
@@ -1057,6 +1086,47 @@ import { ListEmpty } from '@nxgt/material/components';
|
|
|
1057
1086
|
|
|
1058
1087
|
---
|
|
1059
1088
|
|
|
1089
|
+
## PageFooter
|
|
1090
|
+
|
|
1091
|
+

|
|
1092
|
+
|
|
1093
|
+
The page footer of a feed that is not a table (a list of cards, a news feed) under a `FilterBar`: the range ("21–40 of 134") and Previous / Next as real links, so paging works with no JavaScript and on the server. It is the footer `ServerTable` draws, taking the same `pageInfo` and `totalCount`, with its hrefs built from the URL's cursor trail by `serverPagination` (`@nxgt/material-core/table-url`). It renders nothing for an empty result. Its props are `PageFooterProps`.
|
|
1094
|
+
|
|
1095
|
+
```tsx
|
|
1096
|
+
import { FilterBar, PageFooter } from '@nxgt/material/components';
|
|
1097
|
+
|
|
1098
|
+
<FilterBar model={model} />
|
|
1099
|
+
<ul>{items.map((item) => <li key={item.id}>{item.title}</li>)}</ul>
|
|
1100
|
+
<PageFooter
|
|
1101
|
+
params={params} // the page's URLSearchParams
|
|
1102
|
+
pageInfo={data.pageInfo} // { hasNextPage, endCursor }
|
|
1103
|
+
totalCount={data.totalCount}
|
|
1104
|
+
pageSize={20}
|
|
1105
|
+
count={items.length} // on a short last page
|
|
1106
|
+
pageControls="icon"
|
|
1107
|
+
/>;
|
|
1108
|
+
```
|
|
1109
|
+
|
|
1110
|
+
Previous exists when the URL has a trail; Next when `pageInfo` has a next page and an `endCursor`. An end with no page is a disabled button with `aria-disabled`, not a link. Previous and Next are named "Previous" / "Next", or "Previous page" / "Next page" with `pageControls="icon"` (`material.table.pagination.*` keys, as the table's).
|
|
1111
|
+
|
|
1112
|
+
| Prop | Type | Default | Effect |
|
|
1113
|
+
| --- | --- | --- | --- |
|
|
1114
|
+
| `params` | `URLSearchParams` | — | the page's search params: the trail is read from them and every other param is kept in the hrefs |
|
|
1115
|
+
| `pageInfo` | `{ hasNextPage, endCursor? }` | — | the connection's page info |
|
|
1116
|
+
| `totalCount` | `number` | — | items matching the query across every page |
|
|
1117
|
+
| `pageSize` | `number` | — | items per page; it places the range from the trail |
|
|
1118
|
+
| `count` | `number` | `pageSize` | items on this page, for a short last page |
|
|
1119
|
+
| `pageHref` | `(params) => string` | ``?${params}`` | a page's href |
|
|
1120
|
+
| `pagingNames` | `{ after?, trail? }` | `after`, `trail` | the cursor's search param names |
|
|
1121
|
+
| `pageControls` | `'labelled' \| 'icon'` | `'labelled'` | icon-only controls with a tooltip; 44x44 boxes on a coarse pointer |
|
|
1122
|
+
| `live` | `boolean` | `true` | `false` renders the range as plain text instead of a polite live region |
|
|
1123
|
+
| `disabled` | `boolean` | `false` | makes Previous and Next inert while the feed loads |
|
|
1124
|
+
| `linkComponent` | `DataTableLinkComponent` | `<a>` | your router's link; it must forward `className` and `ref` |
|
|
1125
|
+
|
|
1126
|
+
**Storybook:** `Data table, filter & lists/PageFooter`
|
|
1127
|
+
|
|
1128
|
+
---
|
|
1129
|
+
|
|
1060
1130
|
## DataGrid
|
|
1061
1131
|
|
|
1062
1132
|

|
|
@@ -553,6 +553,9 @@ good.
|
|
|
553
553
|
it meets a text, a control or the inside of a surface. Use it on a dense page (stat cards, a list and a grid of cards
|
|
554
554
|
24 to 32 px apart), where `true` leaves almost nothing. A glyph wider than the gap is dropped as before. See
|
|
555
555
|
[Keep the backdrop clear of the content](./app-shell.md#keep-the-backdrop-clear-of-the-content).
|
|
556
|
+
- **Control-like glyphs** (a plus, a bar or a triangle shape, an arrow, and icons named plus, minus, cross, arrow, chevron, angle or
|
|
557
|
+
caret) look like a button next to a surface, so in every mode but `false` they are dropped within 48 px of any card,
|
|
558
|
+
list, table, header band, app header or breadcrumb, and never stay in a gap. They still show in open areas, far from the content.
|
|
556
559
|
- See [The theme's background](./app-shell.md#the-themes-background) for the shell and `AuthCard` in
|
|
557
560
|
[navigation and layout](../components/navigation-and-layout.md#authcard) for the sign-in page.
|
|
558
561
|
|
package/docs/guides/i18n.md
CHANGED
|
@@ -403,6 +403,7 @@ fichier.") when it cannot show it, `material.file-preview.download`
|
|
|
403
403
|
"Seuls les premiers {size} de ce fichier sont affichés.") under a text cut
|
|
404
404
|
by the size cap; the text or Markdown it shows scrolls in a region named by
|
|
405
405
|
`material.file-preview.content` ("Contents of {name}", "Contenu de {name}").
|
|
406
|
+
A `ServerTable` bulk action with a list entry reads `material.server-table.bulk-action` ("{label} ({count})", the same in French) and is named by `material.server-table.bulk-action-name` ("{label} {count, plural, one {# row} other {# rows}}"; "{label} : {count, plural, one {# ligne} other {# lignes}}").
|
|
406
407
|
`ServerTable`'s own live region (without `filter`) says
|
|
407
408
|
`material.server-table.results` once a new query is answered ("{count,
|
|
408
409
|
plural, =0 {No results} one {# result} other {# results}}"; "{count, plural,
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nxgt/material",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.34.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"email": "stevegires@gmail.com"
|
|
@@ -362,7 +362,7 @@
|
|
|
362
362
|
"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"
|
|
363
363
|
},
|
|
364
364
|
"dependencies": {
|
|
365
|
-
"@nxgt/material-core": "^0.
|
|
365
|
+
"@nxgt/material-core": "^0.39.0",
|
|
366
366
|
"@base-ui/react": "^1.6.0",
|
|
367
367
|
"@dnd-kit/core": "^6.3.1",
|
|
368
368
|
"@dnd-kit/sortable": "^10.0.0",
|