@nxgt/material 2.15.0 → 2.16.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 +26 -0
- package/dist/{_Uint8Array-QCcRMhXd.js → _Uint8Array-CjLUgWgf.js} +1 -1
- package/dist/{_overRest-C21ZmKyH.js → _overRest-HfSwfmH1.js} +1 -1
- package/dist/{async-slice-TBZ6Taw2.js → async-slice-CsE3hkCD.js} +2 -2
- package/dist/{blockDiagram-BEXU5L5S-BozTHxCb.js → blockDiagram-BEXU5L5S-DSNWJcbS.js} +2 -2
- package/dist/{chunk-3FUC2YCW-zWkkqKwC.js → chunk-3FUC2YCW-CcZvlyvW.js} +2 -2
- package/dist/{chunk-7M6MHVWA-CGHIsno5.js → chunk-7M6MHVWA-21OdxoBq.js} +1 -1
- package/dist/{chunk-GNY47TPC-BWB3R7nr.js → chunk-GNY47TPC-BZdgq2LF.js} +4 -4
- package/dist/{chunk-NETBCI7D-DwmNwFxb.js → chunk-NETBCI7D-CAgvlb0w.js} +1 -1
- package/dist/{chunk-Z7XXMR3K-0DGn7Rxi.js → chunk-Z7XXMR3K-BSXPgLtN.js} +1 -1
- package/dist/{classDiagram-v2-NBCMYWYE-BERam5ND.js → classDiagram-v2-NBCMYWYE-D_BHO1iT.js} +2 -2
- package/dist/{components-B-xPQ6XX.js → components-Bkdm6jn6.js} +10534 -10516
- package/dist/components.js +4 -4
- package/dist/{dagre-6A5THRUB-CnIZQoNt.js → dagre-6A5THRUB-CsnftAPx.js} +11 -11
- package/dist/{diagram-22UHCM2B-DN4-okl5.js → diagram-22UHCM2B-D0yPa8vo.js} +2 -2
- package/dist/{diagram-3UASUU5V-DcrNf7TY.js → diagram-3UASUU5V-f8LIX2sj.js} +1 -1
- package/dist/dnd.js +1 -1
- package/dist/{elk-276RUBZZ-B7yctkbs.js → elk-276RUBZZ-DI8bDQAL.js} +3 -3
- package/dist/{erDiagram-OPXOYQCR-BVrTNrkn.js → erDiagram-OPXOYQCR-BGHFtxmB.js} +2 -2
- package/dist/{field-blur-DDfQkuSJ.js → field-blur-C-5K6U1F.js} +1 -1
- package/dist/{flowDiagram-KWPJA3E3-BKxvqo0x.js → flowDiagram-KWPJA3E3-CnFLTW-3.js} +3 -3
- package/dist/{ganttDiagram-FUAMR5RP-Cv9W4LOS.js → ganttDiagram-FUAMR5RP-B5uyVKE4.js} +1 -1
- package/dist/{graphlib-CbcZi5bx.js → graphlib-BqO9Go2u.js} +6 -6
- package/dist/hooks.js +2 -2
- package/dist/{i18n-provider-D5hkauu6.js → i18n-provider-C3SlA4J0.js} +1 -1
- package/dist/i18n.js +6 -6
- package/dist/{isArrayLikeObject-COiPdhFP.js → isArrayLikeObject-83P1fvEs.js} +3 -3
- package/dist/{isEmpty-B7UlCLih.js → isEmpty-C2z3Hypl.js} +3 -3
- package/dist/{journeyDiagram-ZHPQQLJL-BwSv9L1j.js → journeyDiagram-ZHPQQLJL-CKtbGcVT.js} +1 -1
- package/dist/lib/components/ui/display/chip/chip.d.ts +18 -3
- package/dist/lib/components/ui/display/chip/chip.variants.d.ts +10 -0
- package/dist/lib/components/ui/display/chip/index.d.ts +1 -0
- package/dist/lib/components/ui/display/chip/partials/chip-dismiss-button.d.ts +3 -1
- package/dist/lib/components/ui/selection/select-field/select-field.d.ts +5 -2
- package/dist/lib/i18n/resources/en/material.json.d.ts +1 -1
- package/dist/lib/i18n/resources/fr/material.json.d.ts +1 -1
- package/dist/lib.js +3 -3
- package/dist/main.js +10 -10
- package/dist/map.js +2 -2
- package/dist/material.css +1 -1
- package/dist/{merge-KEf_u3Zy.js → merge-CZIEHTTe.js} +4 -4
- package/dist/{mermaid.core-D_eXACPr.js → mermaid.core-Cp75fWA9.js} +21 -21
- package/dist/{mindmap-definition-NLK3R4M7-GMAPXP2T.js → mindmap-definition-NLK3R4M7-CFYIlEfW.js} +2 -2
- package/dist/{pieDiagram-5QR66LMP--qZHRFqG.js → pieDiagram-5QR66LMP-CjvtBYDr.js} +1 -1
- package/dist/print.js +2 -2
- package/dist/{quadrantDiagram-O4NWA36T-BxFGymBB.js → quadrantDiagram-O4NWA36T-DPj8ndqA.js} +1 -1
- package/dist/{requirementDiagram-PLB6GJNP-D4aL7HiM.js → requirementDiagram-PLB6GJNP-DjVFwRJg.js} +2 -2
- package/dist/{sankeyDiagram-IPEJSGJF-zX1FL2aL.js → sankeyDiagram-IPEJSGJF-63wsgHUY.js} +1 -1
- package/dist/{sortable-provider-C8mr3XP2.js → sortable-provider-Chbn1x1i.js} +1 -1
- package/dist/{stateDiagram-v2-GCMORJYK-CDm1mDv2.js → stateDiagram-v2-GCMORJYK-DNc8m371.js} +2 -2
- package/dist/{stored-language-g121Yv0w.js → stored-language-DPqzxRmf.js} +2 -2
- package/dist/{swimlanes-2SLR337P-DNwIhCCu.js → swimlanes-2SLR337P-B7_gOJxx.js} +3 -3
- package/dist/{swimlanesDiagram-TC7HE7FX-BaR9zAzq.js → swimlanesDiagram-TC7HE7FX-tqlBrGuu.js} +3 -3
- package/dist/{timeline-definition-EJHVYXUP-B6Xd8Spe.js → timeline-definition-EJHVYXUP-DIA9CBZK.js} +1 -1
- package/dist/{translate-material-D3Hp_AI5.js → translate-material-CqB-j9WD.js} +2 -2
- package/dist/{translator-BMFC0lBV.js → translator-DTl9h__E.js} +1 -1
- package/dist/{use-heading-spy-wlOv87q3.js → use-heading-spy-C1KA3PrF.js} +2 -2
- package/dist/{use-material-translation-BGFp1yXp.js → use-material-translation-DMa4Xrnd.js} +2 -2
- package/dist/{usecaseDiagram-POWQR4AR-XW5of8Kj.js → usecaseDiagram-POWQR4AR-FMjCkoxs.js} +2 -2
- package/dist/{xychartDiagram-PMCCYNJV-DTV6AzhO.js → xychartDiagram-PMCCYNJV-B76HOkCh.js} +1 -1
- package/docs/components/data-display.md +10 -2
- package/docs/components/data-table-filter-and-lists.md +5 -2
- package/docs/components/selection-and-choice.md +2 -1
- package/docs/roadmap.md +33 -15
- package/docs/troubleshooting.md +40 -0
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { S as e, _ as t, g as n, p as r, v as i, w as a, x as o } from "./translator-
|
|
2
|
-
import { n as s, r as c } from "./_overRest-
|
|
3
|
-
import { a as l, c as u, d, i as f, l as p, n as m, p as h, r as g, t as _, u as v } from "./_Uint8Array-
|
|
4
|
-
import { n as y, r as b, t as x } from "./isArrayLikeObject-
|
|
1
|
+
import { S as e, _ as t, g as n, p as r, v as i, w as a, x as o } from "./translator-DTl9h__E.js";
|
|
2
|
+
import { n as s, r as c } from "./_overRest-HfSwfmH1.js";
|
|
3
|
+
import { a as l, c as u, d, i as f, l as p, n as m, p as h, r as g, t as _, u as v } from "./_Uint8Array-CjLUgWgf.js";
|
|
4
|
+
import { n as y, r as b, t as x } from "./isArrayLikeObject-83P1fvEs.js";
|
|
5
5
|
//#region ../../node_modules/lodash-es/_baseCreate.js
|
|
6
6
|
var S = Object.create, C = function() {
|
|
7
7
|
function e() {}
|
|
@@ -8,9 +8,9 @@ import { a as he } from "./chunk-MBY4JIJT-BFIqOe-8.js";
|
|
|
8
8
|
import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
9
9
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
10
10
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
11
|
-
import "./chunk-Z7XXMR3K-
|
|
11
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
12
12
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
13
|
-
import { n as ge } from "./chunk-GNY47TPC-
|
|
13
|
+
import { n as ge } from "./chunk-GNY47TPC-BZdgq2LF.js";
|
|
14
14
|
import { n as _e, t as ve } from "./chunk-LNGE3PJU-DJjGTS7O.js";
|
|
15
15
|
//#region ../../node_modules/es-toolkit/dist/compat/_internal/isPrototype.mjs
|
|
16
16
|
function ye(e) {
|
|
@@ -302,7 +302,7 @@ var qe = "c4", Je = {
|
|
|
302
302
|
id: Ye,
|
|
303
303
|
detector: /* @__PURE__ */ p((e) => /^\s*(graph|flowchart)/.test(e), "detector"),
|
|
304
304
|
loader: /* @__PURE__ */ p(async () => {
|
|
305
|
-
let { diagram: e } = await import("./flowDiagram-KWPJA3E3-
|
|
305
|
+
let { diagram: e } = await import("./flowDiagram-KWPJA3E3-CnFLTW-3.js");
|
|
306
306
|
return {
|
|
307
307
|
id: Ye,
|
|
308
308
|
diagram: e
|
|
@@ -312,7 +312,7 @@ var qe = "c4", Je = {
|
|
|
312
312
|
id: Ze,
|
|
313
313
|
detector: /* @__PURE__ */ p((e) => /^\s*agentflow-beta\b/.test(e), "detector"),
|
|
314
314
|
loader: /* @__PURE__ */ p(async () => {
|
|
315
|
-
let { diagram: e } = await import("./diagram-22UHCM2B-
|
|
315
|
+
let { diagram: e } = await import("./diagram-22UHCM2B-D0yPa8vo.js");
|
|
316
316
|
return {
|
|
317
317
|
id: Ze,
|
|
318
318
|
diagram: e
|
|
@@ -322,7 +322,7 @@ var qe = "c4", Je = {
|
|
|
322
322
|
id: $e,
|
|
323
323
|
detector: /* @__PURE__ */ p((e) => /^\s*swimlane-beta\b/.test(e), "detector"),
|
|
324
324
|
loader: /* @__PURE__ */ p(async () => {
|
|
325
|
-
let { diagram: e } = await import("./swimlanesDiagram-TC7HE7FX-
|
|
325
|
+
let { diagram: e } = await import("./swimlanesDiagram-TC7HE7FX-tqlBrGuu.js");
|
|
326
326
|
return {
|
|
327
327
|
id: $e,
|
|
328
328
|
diagram: e
|
|
@@ -332,7 +332,7 @@ var qe = "c4", Je = {
|
|
|
332
332
|
id: tt,
|
|
333
333
|
detector: /* @__PURE__ */ p((e) => /^\s*erDiagram/.test(e), "detector"),
|
|
334
334
|
loader: /* @__PURE__ */ p(async () => {
|
|
335
|
-
let { diagram: e } = await import("./erDiagram-OPXOYQCR-
|
|
335
|
+
let { diagram: e } = await import("./erDiagram-OPXOYQCR-BGHFtxmB.js");
|
|
336
336
|
return {
|
|
337
337
|
id: tt,
|
|
338
338
|
diagram: e
|
|
@@ -352,7 +352,7 @@ var qe = "c4", Je = {
|
|
|
352
352
|
id: at,
|
|
353
353
|
detector: /* @__PURE__ */ p((e) => /^\s*gantt/.test(e), "detector"),
|
|
354
354
|
loader: /* @__PURE__ */ p(async () => {
|
|
355
|
-
let { diagram: e } = await import("./ganttDiagram-FUAMR5RP-
|
|
355
|
+
let { diagram: e } = await import("./ganttDiagram-FUAMR5RP-B5uyVKE4.js");
|
|
356
356
|
return {
|
|
357
357
|
id: at,
|
|
358
358
|
diagram: e
|
|
@@ -372,7 +372,7 @@ var qe = "c4", Je = {
|
|
|
372
372
|
id: lt,
|
|
373
373
|
detector: /* @__PURE__ */ p((e) => /^\s*pie/.test(e), "detector"),
|
|
374
374
|
loader: /* @__PURE__ */ p(async () => {
|
|
375
|
-
let { diagram: e } = await import("./pieDiagram-5QR66LMP
|
|
375
|
+
let { diagram: e } = await import("./pieDiagram-5QR66LMP-CjvtBYDr.js");
|
|
376
376
|
return {
|
|
377
377
|
id: lt,
|
|
378
378
|
diagram: e
|
|
@@ -382,7 +382,7 @@ var qe = "c4", Je = {
|
|
|
382
382
|
id: dt,
|
|
383
383
|
detector: /* @__PURE__ */ p((e) => /^\s*quadrantChart/.test(e), "detector"),
|
|
384
384
|
loader: /* @__PURE__ */ p(async () => {
|
|
385
|
-
let { diagram: e } = await import("./quadrantDiagram-O4NWA36T-
|
|
385
|
+
let { diagram: e } = await import("./quadrantDiagram-O4NWA36T-DPj8ndqA.js");
|
|
386
386
|
return {
|
|
387
387
|
id: dt,
|
|
388
388
|
diagram: e
|
|
@@ -392,7 +392,7 @@ var qe = "c4", Je = {
|
|
|
392
392
|
id: pt,
|
|
393
393
|
detector: /* @__PURE__ */ p((e) => /^\s*xychart(-beta)?/.test(e), "detector"),
|
|
394
394
|
loader: /* @__PURE__ */ p(async () => {
|
|
395
|
-
let { diagram: e } = await import("./xychartDiagram-PMCCYNJV-
|
|
395
|
+
let { diagram: e } = await import("./xychartDiagram-PMCCYNJV-B76HOkCh.js");
|
|
396
396
|
return {
|
|
397
397
|
id: pt,
|
|
398
398
|
diagram: e
|
|
@@ -402,7 +402,7 @@ var qe = "c4", Je = {
|
|
|
402
402
|
id: ht,
|
|
403
403
|
detector: /* @__PURE__ */ p((e) => /^\s*requirement(Diagram)?/.test(e), "detector"),
|
|
404
404
|
loader: /* @__PURE__ */ p(async () => {
|
|
405
|
-
let { diagram: e } = await import("./requirementDiagram-PLB6GJNP-
|
|
405
|
+
let { diagram: e } = await import("./requirementDiagram-PLB6GJNP-DjVFwRJg.js");
|
|
406
406
|
return {
|
|
407
407
|
id: ht,
|
|
408
408
|
diagram: e
|
|
@@ -422,7 +422,7 @@ var qe = "c4", Je = {
|
|
|
422
422
|
id: yt,
|
|
423
423
|
detector: /* @__PURE__ */ p((e) => /^\s*classDiagram/.test(e), "detector"),
|
|
424
424
|
loader: /* @__PURE__ */ p(async () => {
|
|
425
|
-
let { diagram: e } = await import("./classDiagram-v2-NBCMYWYE-
|
|
425
|
+
let { diagram: e } = await import("./classDiagram-v2-NBCMYWYE-D_BHO1iT.js");
|
|
426
426
|
return {
|
|
427
427
|
id: yt,
|
|
428
428
|
diagram: e
|
|
@@ -432,7 +432,7 @@ var qe = "c4", Je = {
|
|
|
432
432
|
id: xt,
|
|
433
433
|
detector: /* @__PURE__ */ p((e) => /^\s*stateDiagram/.test(e), "detector"),
|
|
434
434
|
loader: /* @__PURE__ */ p(async () => {
|
|
435
|
-
let { diagram: e } = await import("./stateDiagram-v2-GCMORJYK-
|
|
435
|
+
let { diagram: e } = await import("./stateDiagram-v2-GCMORJYK-DNc8m371.js");
|
|
436
436
|
return {
|
|
437
437
|
id: xt,
|
|
438
438
|
diagram: e
|
|
@@ -442,7 +442,7 @@ var qe = "c4", Je = {
|
|
|
442
442
|
id: Ct,
|
|
443
443
|
detector: /* @__PURE__ */ p((e) => /^\s*journey/.test(e), "detector"),
|
|
444
444
|
loader: /* @__PURE__ */ p(async () => {
|
|
445
|
-
let { diagram: e } = await import("./journeyDiagram-ZHPQQLJL-
|
|
445
|
+
let { diagram: e } = await import("./journeyDiagram-ZHPQQLJL-CKtbGcVT.js");
|
|
446
446
|
return {
|
|
447
447
|
id: Ct,
|
|
448
448
|
diagram: e
|
|
@@ -460,7 +460,7 @@ var qe = "c4", Je = {
|
|
|
460
460
|
id: Ot,
|
|
461
461
|
detector: /* @__PURE__ */ p((e, t = {}) => /^\s*flowchart-elk/.test(e) ? (t.layout = "elk", !0) : !1, "detector"),
|
|
462
462
|
loader: /* @__PURE__ */ p(async () => {
|
|
463
|
-
let { diagram: e } = await import("./flowDiagram-KWPJA3E3-
|
|
463
|
+
let { diagram: e } = await import("./flowDiagram-KWPJA3E3-CnFLTW-3.js");
|
|
464
464
|
return {
|
|
465
465
|
id: Ot,
|
|
466
466
|
diagram: e
|
|
@@ -470,7 +470,7 @@ var qe = "c4", Je = {
|
|
|
470
470
|
id: At,
|
|
471
471
|
detector: /* @__PURE__ */ p((e) => /^\s*timeline/.test(e), "detector"),
|
|
472
472
|
loader: /* @__PURE__ */ p(async () => {
|
|
473
|
-
let { diagram: e } = await import("./timeline-definition-EJHVYXUP-
|
|
473
|
+
let { diagram: e } = await import("./timeline-definition-EJHVYXUP-DIA9CBZK.js");
|
|
474
474
|
return {
|
|
475
475
|
id: At,
|
|
476
476
|
diagram: e
|
|
@@ -480,7 +480,7 @@ var qe = "c4", Je = {
|
|
|
480
480
|
id: Mt,
|
|
481
481
|
detector: /* @__PURE__ */ p((e) => /^\s*mindmap/.test(e), "detector"),
|
|
482
482
|
loader: /* @__PURE__ */ p(async () => {
|
|
483
|
-
let { diagram: e } = await import("./mindmap-definition-NLK3R4M7-
|
|
483
|
+
let { diagram: e } = await import("./mindmap-definition-NLK3R4M7-CFYIlEfW.js");
|
|
484
484
|
return {
|
|
485
485
|
id: Mt,
|
|
486
486
|
diagram: e
|
|
@@ -500,7 +500,7 @@ var qe = "c4", Je = {
|
|
|
500
500
|
id: It,
|
|
501
501
|
detector: /* @__PURE__ */ p((e) => /^\s*sankey(-beta)?/.test(e), "detector"),
|
|
502
502
|
loader: /* @__PURE__ */ p(async () => {
|
|
503
|
-
let { diagram: e } = await import("./sankeyDiagram-IPEJSGJF-
|
|
503
|
+
let { diagram: e } = await import("./sankeyDiagram-IPEJSGJF-63wsgHUY.js");
|
|
504
504
|
return {
|
|
505
505
|
id: It,
|
|
506
506
|
diagram: e
|
|
@@ -530,7 +530,7 @@ var qe = "c4", Je = {
|
|
|
530
530
|
id: Ht,
|
|
531
531
|
detector: /* @__PURE__ */ p((e) => /^\s*block(-beta)?/.test(e), "detector"),
|
|
532
532
|
loader: /* @__PURE__ */ p(async () => {
|
|
533
|
-
let { diagram: e } = await import("./blockDiagram-BEXU5L5S-
|
|
533
|
+
let { diagram: e } = await import("./blockDiagram-BEXU5L5S-DSNWJcbS.js");
|
|
534
534
|
return {
|
|
535
535
|
id: Ht,
|
|
536
536
|
diagram: e
|
|
@@ -590,7 +590,7 @@ var qe = "c4", Je = {
|
|
|
590
590
|
id: en,
|
|
591
591
|
detector: /* @__PURE__ */ p((e) => /^\s*treemap/.test(e), "detector"),
|
|
592
592
|
loader: /* @__PURE__ */ p(async () => {
|
|
593
|
-
let { diagram: e } = await import("./diagram-3UASUU5V-
|
|
593
|
+
let { diagram: e } = await import("./diagram-3UASUU5V-f8LIX2sj.js");
|
|
594
594
|
return {
|
|
595
595
|
id: en,
|
|
596
596
|
diagram: e
|
|
@@ -600,7 +600,7 @@ var qe = "c4", Je = {
|
|
|
600
600
|
id: nn,
|
|
601
601
|
detector: /* @__PURE__ */ p((e) => /^\s*usecase-beta(?:\s|$)/.test(e), "detector"),
|
|
602
602
|
loader: /* @__PURE__ */ p(async () => {
|
|
603
|
-
let { diagram: e } = await import("./usecaseDiagram-POWQR4AR-
|
|
603
|
+
let { diagram: e } = await import("./usecaseDiagram-POWQR4AR-FMjCkoxs.js");
|
|
604
604
|
return {
|
|
605
605
|
id: nn,
|
|
606
606
|
diagram: e
|
package/dist/{mindmap-definition-NLK3R4M7-GMAPXP2T.js → mindmap-definition-NLK3R4M7-CFYIlEfW.js}
RENAMED
|
@@ -7,11 +7,11 @@ import "./chunk-MBY4JIJT-BFIqOe-8.js";
|
|
|
7
7
|
import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
8
8
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
9
9
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
10
|
-
import "./chunk-Z7XXMR3K-
|
|
10
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
11
11
|
import { t as u } from "./chunk-XXDRQBXY-dKXxu_aj.js";
|
|
12
12
|
import { t as d } from "./chunk-WEXAMYUT-CbFOhEve.js";
|
|
13
13
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
14
|
-
import { r as f, t as p } from "./chunk-GNY47TPC-
|
|
14
|
+
import { r as f, t as p } from "./chunk-GNY47TPC-BZdgq2LF.js";
|
|
15
15
|
//#region ../../node_modules/uuid/dist/stringify.js
|
|
16
16
|
var m = [];
|
|
17
17
|
for (let e = 0; e < 256; ++e) m.push((e + 256).toString(16).slice(1));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ct as e, ot as t } from "./components-
|
|
1
|
+
import { ct as e, ot as t } from "./components-Bkdm6jn6.js";
|
|
2
2
|
import { n } from "./src-CsLQInsN.js";
|
|
3
3
|
import { i as r, p as i } from "./chunk-ZIGJFQKS-9VXArDKF.js";
|
|
4
4
|
import { t as a } from "./ordinal-DwxdXP1t.js";
|
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-C3SlA4J0.js";
|
|
2
|
+
import { t } from "./translate-material-CqB-j9WD.js";
|
|
3
3
|
import { jsx as n, jsxs as r } from "react/jsx-runtime";
|
|
4
4
|
import { Children as i, createContext as a, isValidElement as o, useCallback as s, useContext as c, useEffect as l, useMemo as u, useState as d } from "react";
|
|
5
5
|
import { OBJECT_URL_TTL_MS as f, downloadPdfFile as p } from "@nxgt/material-core/pdf-download";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { rt as e } from "./components-
|
|
1
|
+
import { rt as e } from "./components-Bkdm6jn6.js";
|
|
2
2
|
import { n as t, t as n } from "./src-CsLQInsN.js";
|
|
3
3
|
import { n as r } from "./chunk-Y2CYZVJY-BAad7w_K.js";
|
|
4
4
|
import { D as i, H as a, U as o, a as s, c, f as l, q as u, v as d, w as f, x as p, y as m, z as h } from "./chunk-O7XYJQB3-BChweQ_V.js";
|
package/dist/{requirementDiagram-PLB6GJNP-D4aL7HiM.js → requirementDiagram-PLB6GJNP-DjVFwRJg.js}
RENAMED
|
@@ -8,11 +8,11 @@ import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
|
8
8
|
import { a as p, i as m, o as h, r as g } from "./chunk-J5ZVWO5B-DmRRmhon.js";
|
|
9
9
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
10
10
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
11
|
-
import "./chunk-Z7XXMR3K-
|
|
11
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
12
12
|
import { t as _ } from "./chunk-XXDRQBXY-dKXxu_aj.js";
|
|
13
13
|
import { t as v } from "./chunk-WEXAMYUT-CbFOhEve.js";
|
|
14
14
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
15
|
-
import { r as y, t as b } from "./chunk-GNY47TPC-
|
|
15
|
+
import { r as y, t as b } from "./chunk-GNY47TPC-BZdgq2LF.js";
|
|
16
16
|
//#region ../../node_modules/mermaid/dist/chunks/mermaid.core/requirementDiagram-PLB6GJNP.mjs
|
|
17
17
|
var x = (function() {
|
|
18
18
|
var e = /* @__PURE__ */ n(function(e, t, n, r) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as e } from "./utils-DC8bw9A_.js";
|
|
2
2
|
import { pt as t, t as n } from "./icon-button-B1nN3J6B.js";
|
|
3
|
-
import { t as r } from "./use-material-translation-
|
|
3
|
+
import { t as r } from "./use-material-translation-DMa4Xrnd.js";
|
|
4
4
|
import { GripVertical as i } from "lucide-react";
|
|
5
5
|
import { jsx as a } from "react/jsx-runtime";
|
|
6
6
|
import o, { cloneElement as s, createContext as c, forwardRef as l, memo as u, useCallback as d, useContext as f, useEffect as p, useLayoutEffect as m, useMemo as h, useReducer as g, useRef as _, useState as v } from "react";
|
|
@@ -8,12 +8,12 @@ import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
|
8
8
|
import { a as h, i as g, o as _, r as v } from "./chunk-J5ZVWO5B-DmRRmhon.js";
|
|
9
9
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
10
10
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
11
|
-
import "./chunk-Z7XXMR3K-
|
|
11
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
12
12
|
import { t as y } from "./chunk-GWA4HPMP-B8jXI0Tl.js";
|
|
13
13
|
import { t as b } from "./chunk-XXDRQBXY-dKXxu_aj.js";
|
|
14
14
|
import { t as x } from "./chunk-WEXAMYUT-CbFOhEve.js";
|
|
15
15
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
16
|
-
import { r as S, t as C } from "./chunk-GNY47TPC-
|
|
16
|
+
import { r as S, t as C } from "./chunk-GNY47TPC-BZdgq2LF.js";
|
|
17
17
|
//#region ../../node_modules/mermaid/dist/chunks/mermaid.core/stateDiagram-v2-GCMORJYK.mjs
|
|
18
18
|
var w = (function() {
|
|
19
19
|
var e = /* @__PURE__ */ i(function(e, t, n, r) {
|
|
@@ -350,7 +350,7 @@ var e = {
|
|
|
350
350
|
"go-to-first-page": "Go to first page",
|
|
351
351
|
"go-to-last-page": "Go to last page",
|
|
352
352
|
"rows-per-page": "Rows per page",
|
|
353
|
-
"rows-selected": "{count
|
|
353
|
+
"rows-selected": "{count, plural, =0 {No rows selected} one {# row selected} other {# rows selected}} of {total}",
|
|
354
354
|
"page-of": "Page {page} of {total}",
|
|
355
355
|
label: "Pagination",
|
|
356
356
|
range: "{from}–{to} of {total}",
|
|
@@ -1561,7 +1561,7 @@ var e = {
|
|
|
1561
1561
|
"go-to-first-page": "Aller à la première page",
|
|
1562
1562
|
"go-to-last-page": "Aller à la dernière page",
|
|
1563
1563
|
"rows-per-page": "Lignes par page",
|
|
1564
|
-
"rows-selected": "{count
|
|
1564
|
+
"rows-selected": "{count, plural, =0 {Aucune ligne sélectionnée} one {# ligne sélectionnée} other {# lignes sélectionnées}} sur {total}",
|
|
1565
1565
|
"page-of": "Page {page} sur {total}",
|
|
1566
1566
|
label: "Pagination",
|
|
1567
1567
|
range: "{from}–{to} sur {total}",
|
|
@@ -7,10 +7,10 @@ import "./chunk-MBY4JIJT-BFIqOe-8.js";
|
|
|
7
7
|
import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
8
8
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
9
9
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
10
|
-
import "./chunk-Z7XXMR3K-
|
|
10
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
11
11
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
12
|
-
import { r as n } from "./chunk-3FUC2YCW-
|
|
13
|
-
import { t as r } from "./chunk-NETBCI7D-
|
|
12
|
+
import { r as n } from "./chunk-3FUC2YCW-CcZvlyvW.js";
|
|
13
|
+
import { t as r } from "./chunk-NETBCI7D-CAgvlb0w.js";
|
|
14
14
|
//#region ../../node_modules/mermaid/dist/chunks/mermaid.core/swimlanes-2SLR337P.mjs
|
|
15
15
|
function i(e, { measure: t }) {
|
|
16
16
|
let n = e.config?.swimlane?.lineHops;
|
package/dist/{swimlanesDiagram-TC7HE7FX-BaR9zAzq.js → swimlanesDiagram-TC7HE7FX-tqlBrGuu.js}
RENAMED
|
@@ -7,14 +7,14 @@ import "./chunk-MBY4JIJT-BFIqOe-8.js";
|
|
|
7
7
|
import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
8
8
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
9
9
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
10
|
-
import "./chunk-Z7XXMR3K-
|
|
10
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
11
11
|
import "./chunk-GWA4HPMP-B8jXI0Tl.js";
|
|
12
12
|
import "./chunk-XXDRQBXY-dKXxu_aj.js";
|
|
13
13
|
import "./chunk-WEXAMYUT-CbFOhEve.js";
|
|
14
14
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
15
|
-
import "./chunk-GNY47TPC-
|
|
15
|
+
import "./chunk-GNY47TPC-BZdgq2LF.js";
|
|
16
16
|
import "./chunk-LNGE3PJU-DJjGTS7O.js";
|
|
17
|
-
import { r as t, t as n } from "./chunk-7M6MHVWA-
|
|
17
|
+
import { r as t, t as n } from "./chunk-7M6MHVWA-21OdxoBq.js";
|
|
18
18
|
//#region ../../node_modules/mermaid/dist/chunks/mermaid.core/swimlanesDiagram-TC7HE7FX.mjs
|
|
19
19
|
var r = n({ styles: /* @__PURE__ */ e((e) => `${t(e)}
|
|
20
20
|
.swimlane.cluster:not([data-color-id]) rect {
|
package/dist/{timeline-definition-EJHVYXUP-B6Xd8Spe.js → timeline-definition-EJHVYXUP-DIA9CBZK.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ct as e } from "./components-
|
|
1
|
+
import { ct as e } from "./components-Bkdm6jn6.js";
|
|
2
2
|
import { n as t, t as n } from "./src-CsLQInsN.js";
|
|
3
3
|
import { p as r } from "./chunk-ZIGJFQKS-9VXArDKF.js";
|
|
4
4
|
import { n as i, t as a } from "./chunk-Y2CYZVJY-BAad7w_K.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./stored-language-
|
|
2
|
-
import { E as e, r as t } from "./translator-
|
|
1
|
+
import "./stored-language-DPqzxRmf.js";
|
|
2
|
+
import { E as e, r as t } from "./translator-DTl9h__E.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,4 +1,4 @@
|
|
|
1
|
-
import { a as e, i as t, o as n, t as r } from "./stored-language-
|
|
1
|
+
import { a as e, i as t, o as n, t as r } from "./stored-language-DPqzxRmf.js";
|
|
2
2
|
//#region ../../node_modules/@formatjs/fast-memoize/index.js
|
|
3
3
|
function i(e, t) {
|
|
4
4
|
let n = t && t.cache ? t.cache : ne, r = t && t.serializer ? t.serializer : ee;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as e } from "./stored-language-
|
|
2
|
-
import { r as t } from "./i18n-provider-
|
|
1
|
+
import { n as e } from "./stored-language-DPqzxRmf.js";
|
|
2
|
+
import { r as t } from "./i18n-provider-C3SlA4J0.js";
|
|
3
3
|
import { _ as n, g as r, h as i, n as a, v as o, y as s } from "./number.utils-BiBN2hWJ.js";
|
|
4
4
|
import { createContext as c, useCallback as l, useContext as u, useEffect as d, useMemo as f, useSyncExternalStore as p } from "react";
|
|
5
5
|
//#region lib/hooks/resolve-theme.ts
|
|
@@ -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-C3SlA4J0.js";
|
|
2
|
+
import { t } from "./translate-material-CqB-j9WD.js";
|
|
3
3
|
import { useCallback as n } from "react";
|
|
4
4
|
//#region lib/i18n/use-material-translation.ts
|
|
5
5
|
function r() {
|
|
@@ -8,11 +8,11 @@ import "./chunk-7PRAP22T-0C6_H8Li.js";
|
|
|
8
8
|
import { a as g, i as _, o as v, r as y } from "./chunk-J5ZVWO5B-DmRRmhon.js";
|
|
9
9
|
import "./chunk-7INBJB4K-k-I67NSP.js";
|
|
10
10
|
import "./chunk-5DYCD2WN-Cd1zazNp.js";
|
|
11
|
-
import "./chunk-Z7XXMR3K-
|
|
11
|
+
import "./chunk-Z7XXMR3K-BSXPgLtN.js";
|
|
12
12
|
import { t as ee } from "./chunk-XXDRQBXY-dKXxu_aj.js";
|
|
13
13
|
import { t as te } from "./chunk-WEXAMYUT-CbFOhEve.js";
|
|
14
14
|
import "./chunk-UA2S7LBM-ChuksCDg.js";
|
|
15
|
-
import { r as ne, t as re } from "./chunk-GNY47TPC-
|
|
15
|
+
import { r as ne, t as re } from "./chunk-GNY47TPC-BZdgq2LF.js";
|
|
16
16
|
//#region ../../node_modules/chevrotain/node_modules/lodash-es/_freeGlobal.js
|
|
17
17
|
var ie = typeof global == "object" && global && global.Object === Object && global, ae = typeof self == "object" && self && self.Object === Object && self, b = ie || ae || Function("return this")(), oe = b.Symbol, se = Object.prototype, ce = se.hasOwnProperty, le = se.toString, ue = oe ? oe.toStringTag : void 0;
|
|
18
18
|
function de(e) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { at as e, rt as t, st as n } from "./components-
|
|
1
|
+
import { at as e, rt as t, st as n } from "./components-Bkdm6jn6.js";
|
|
2
2
|
import { n as r } from "./src-CsLQInsN.js";
|
|
3
3
|
import { i } from "./chunk-ZIGJFQKS-9VXArDKF.js";
|
|
4
4
|
import { n as a } from "./chunk-Y2CYZVJY-BAad7w_K.js";
|
|
@@ -145,17 +145,25 @@ import { Avatar, Chip } from '@nxgt/material/components';
|
|
|
145
145
|
|
|
146
146
|
<Chip label="Ada Lovelace" avatar={<Avatar fallback="AL" />} onDismiss={() => remove('ada')} />
|
|
147
147
|
<Chip label="Shipped" color="success" active />
|
|
148
|
+
<Chip label="Frontend" dismissLabel={(label) => `Clear ${label} filter`} onDismiss={clear} />
|
|
149
|
+
<Chip label="+ Field" variant="dashed" active={added} onClick={add} />
|
|
150
|
+
<Chip label="Compact" size="sm" ref={chipRef} />
|
|
148
151
|
```
|
|
149
152
|
|
|
150
153
|
| Prop | Type | Default | Effect |
|
|
151
154
|
| --- | --- | --- | --- |
|
|
152
155
|
| `label` | `ReactNode` | — | the text |
|
|
153
156
|
| `active` | `boolean` | — | filled appearance |
|
|
154
|
-
| `
|
|
157
|
+
| `variant` | Button `variant`, or `'dashed'` | `'outlined'` | appearance when not active; `dashed` is a muted dashed pill (a "+ Field" pill) that turns solid and normal once `active` |
|
|
158
|
+
| `size` | `'default' \| 'sm'` | `'default'` | `sm` is a compact chip; the ✕ and every target stay at least 24px |
|
|
159
|
+
| `onDismiss` | `() => void` | — | adds the ✕ button, named "Remove {label}" (`material.chip.dismiss-label`), `{label}` being the text `label` shows, a node's included; "Remove" when it shows none; the ✕ is a 24px target |
|
|
160
|
+
| `dismissLabel` | `string \| ((label: string) => string)` | — | names the ✕ instead of "Remove {label}": a string as is, or a function of the text the chip shows |
|
|
155
161
|
| `onClick` | `MouseEventHandler` | — | makes the chip (or its body, when dismissible) a button |
|
|
156
162
|
| `leading`, `avatar`, `trailing` | `ReactNode` | — | slots; `avatar` is shrunk to fit |
|
|
157
|
-
| `variant` | Button `variant` | `'outlined'` | appearance when not active |
|
|
158
163
|
| `color` | Button `color` | — | tone |
|
|
164
|
+
| `ref` | `Ref<HTMLButtonElement>` (a `span` in the label-only mode) | — | reaches the chip's body: the Button, the inner button of a clickable dismissible chip, or its label span (`tabindex="-1"`), so `ref.current?.focus()` works in every mode |
|
|
165
|
+
|
|
166
|
+
The dashed look's muted text meets 4.5:1 on the `background` and `card` surfaces, but not on `accent`.
|
|
159
167
|
|
|
160
168
|
**Storybook:** `Data display/Chip` · **Vue:** `Chip`
|
|
161
169
|
|
|
@@ -340,7 +340,8 @@ export default function Students() {
|
|
|
340
340
|
turns client filtering off.
|
|
341
341
|
- **Selection** is keyed by `getRowId`, so it survives a page change: ids
|
|
342
342
|
of other pages stay in `rowSelection`, and the footer counts them all
|
|
343
|
-
("3 rows selected", `material.table.pagination.selected
|
|
343
|
+
("3 rows selected of 128", `material.table.pagination.rows-selected`; "Page n of m"
|
|
344
|
+
is hidden when the table has no rows). `actions(table)`
|
|
344
345
|
reads it too (`table.store.state.rowSelection`). To keep it across a
|
|
345
346
|
reload, put it in the URL or `sessionStorage`.
|
|
346
347
|
- **Row links.** With `getRowHref`, the first data column's cell is a real
|
|
@@ -421,7 +422,9 @@ with its inputs named by their part ("Min" / "Max", or the slider's
|
|
|
421
422
|
Parts: `Filter` (one component, `variant` picks the layout);
|
|
422
423
|
`FilterProvider` + `FilterContent` + `FilterActions` to lay the panel out
|
|
423
424
|
yourself (`useFilterContext` reads it); `FilterChips` (active values as
|
|
424
|
-
removable chips, from `schema` and `values
|
|
425
|
+
removable chips, from `schema` and `values`; a filter is removed with the
|
|
426
|
+
chip's × button, named "Remove <label>" (`material.chip.dismiss-label`), not by
|
|
427
|
+
clicking the chip); `FilterPresets` (saved sets).
|
|
425
428
|
|
|
426
429
|
| Prop | Type | Default | Effect |
|
|
427
430
|
| --- | --- | --- | --- |
|
|
@@ -136,11 +136,12 @@ export function Framework() {
|
|
|
136
136
|
| `placeholder` | `ReactNode` | `label` | the trigger's text while nothing is selected |
|
|
137
137
|
| `required` | `boolean` | — | an asterisk after the label, and Radix Select's `required`; the trigger is named by the label |
|
|
138
138
|
| `label`, `helperText`, `error` | | — | the field's text and state |
|
|
139
|
+
| `aria-labelledby` | `string` | — | the id of an element that names the trigger when `label` is absent; `label` wins when both are given |
|
|
139
140
|
|
|
140
141
|
**Accessibility:** the trigger is named by `label`, described by the help or
|
|
141
142
|
error text (`aria-describedby`) and marked `aria-invalid` on error, so
|
|
142
143
|
`getByRole('combobox', { name: 'Framework' })` finds it and
|
|
143
|
-
`toHaveAccessibleDescription(…)` / `toBeInvalid()` match.
|
|
144
|
+
`toHaveAccessibleDescription(…)` / `toBeInvalid()` match. Without a `label`, `aria-labelledby` (the id of another element) names the trigger; when both are given, `label` wins.
|
|
144
145
|
**Emits:** `string`.
|
|
145
146
|
**Form wrapper:** `SelectFormField` — `control` and `name`, see
|
|
146
147
|
[forms](../guides/forms.md#the-pair) and [what each field emits](../guides/forms.md#what-each-field-emits).
|
package/docs/roadmap.md
CHANGED
|
@@ -6,21 +6,6 @@ version they shipped in, and planned entries may name the major they target.
|
|
|
6
6
|
|
|
7
7
|
## Now
|
|
8
8
|
|
|
9
|
-
- **A strict Content Security Policy** — a page that sends `script-src` with
|
|
10
|
-
a nonce and no `'unsafe-eval'`, and `style-src-elem` with a nonce and no
|
|
11
|
-
`'unsafe-inline'`, runs every component with no violation report: a
|
|
12
|
-
`NonceProvider` forwards the nonce to each component, the CSS the
|
|
13
|
-
dependencies inject moves into the stylesheet, zod becomes external with
|
|
14
|
-
schemas built lazily, and the KaTeX fonts ship as files. Done so far:
|
|
15
|
-
KaTeX's fonts are files beside the compiled stylesheet instead of 1.4 MB of
|
|
16
|
-
`data:` URIs inside it, so `font-src 'self'` needs no `data:`;
|
|
17
|
-
`NonceProvider` takes the nonce to `ScrollArea`, `Select`,
|
|
18
|
-
`RichTextEditor` and the scroll lock of modals; `Toaster`, `Drawer`,
|
|
19
|
-
`InputOTP`, `ImageCropper`, `Spinner` and `PdfReader` inject no `<style>`,
|
|
20
|
-
their CSS is in the stylesheet; zod is no longer bundled and no schema is
|
|
21
|
-
built at import, so the app's `z.config({ jitless: true })` keeps zod from
|
|
22
|
-
probing `new Function`. Today the
|
|
23
|
-
[Content Security Policy guide](guides/csp.md) lists what is left to relax.
|
|
24
9
|
- **Empty and error states that look designed** — `EmptyState` and a new
|
|
25
10
|
`ErrorState` in three sizes (`default`, `compact`, `inline`), with in-house
|
|
26
11
|
inline SVG illustrations or a slot for your own. `ErrorState` is a
|
|
@@ -32,6 +17,30 @@ version they shipped in, and planned entries may name the major they target.
|
|
|
32
17
|
|
|
33
18
|
## Next
|
|
34
19
|
|
|
20
|
+
- **One Vite plugin for the whole setup** — `nxgtMaterial()` from
|
|
21
|
+
`@nxgt/material/vite` is the one call that wires the library
|
|
22
|
+
into a Vite app; it is implemented once in `@nxgt/material-core/vite`, and
|
|
23
|
+
`@nxgt/material-vue/vite` is the same plugin.
|
|
24
|
+
Every option is on by default and each can be turned off or refined; the
|
|
25
|
+
helpers that exist today stay exported.
|
|
26
|
+
- `csp`: a nonce placeholder through `html.cspNonce` and
|
|
27
|
+
`applyCspNonce(html, nonce)` to fill it; zod's jitless mode set by an
|
|
28
|
+
inline nonced script in `index.html` (`ZOD_JITLESS_SCRIPT` for a server
|
|
29
|
+
that renders the page itself); and the recommended policy sent by the dev
|
|
30
|
+
server as Report-Only.
|
|
31
|
+
- `fonts`: the KaTeX fonts emitted as files, and `sans: 'inter'` for a
|
|
32
|
+
self-hosted Inter.
|
|
33
|
+
- `styles`: a build that fails with the exact fix when the stylesheet import
|
|
34
|
+
or the `@source` line is missing.
|
|
35
|
+
- `pdf`: pdfkit's standard fonts handled automatically when
|
|
36
|
+
`@react-pdf/renderer` is installed, and `bundle: true` (the Nuxt module's
|
|
37
|
+
`pdf.bundleStandardFonts` today) for a server that has no
|
|
38
|
+
`node_modules`.
|
|
39
|
+
- Nuxt: the Nuxt module takes the same options.
|
|
40
|
+
- On the server, `@nxgt/material-core` gains `createCspNonce()` (Web Crypto)
|
|
41
|
+
and `cspPolicy({ ... })`, which returns `{ directives, header }` as the
|
|
42
|
+
[Content Security Policy guide](guides/csp.md) describes; `NonceProvider`'s
|
|
43
|
+
`nonce` becomes optional on the client. Ships as minors.
|
|
35
44
|
- **One media player, video and audio** — `MediaPlayer`, `MediaPlayerMini`,
|
|
36
45
|
`useMediaPlayer` and `AudioPlayer`, built on the native `<video>` / `<audio>`.
|
|
37
46
|
`StxPlayer` and `VideoPlayer` are removed in `@nxgt/material` 3.0, with a
|
|
@@ -118,6 +127,8 @@ version they shipped in, and planned entries may name the major they target.
|
|
|
118
127
|
|
|
119
128
|
## Not planned
|
|
120
129
|
|
|
130
|
+
- **A Next.js plugin** — the plugin targets Vite only. No supported consumer
|
|
131
|
+
builds with Next.js, and `withNxgtPrint` stays the config helper for it.
|
|
121
132
|
- **Shipping the Font Awesome Pro sprite sheets** — the Pro licence covers use
|
|
122
133
|
in your own products, not redistribution inside a library. Serve the sheets
|
|
123
134
|
from your app; the package's `files` excludes them so a build cannot leak
|
|
@@ -146,6 +157,13 @@ version they shipped in, and planned entries may name the major they target.
|
|
|
146
157
|
|
|
147
158
|
## Shipped
|
|
148
159
|
|
|
160
|
+
- **A strict Content Security Policy** — a page that sends `script-src` with a
|
|
161
|
+
nonce and no `'unsafe-eval'`, and `style-src-elem` with a nonce and no
|
|
162
|
+
`'unsafe-inline'`, runs every component with no violation report:
|
|
163
|
+
`NonceProvider` forwards the nonce to each component, the CSS the
|
|
164
|
+
dependencies inject is in the stylesheet, zod is external and its schemas are
|
|
165
|
+
built on first use, and the KaTeX fonts are files. The
|
|
166
|
+
[Content Security Policy guide](guides/csp.md) has the policy. 2.14.0.
|
|
149
167
|
- **An `Autocomplete` that searches a server** — `onSearch`, `debounceMs`, `minQueryLength`, `filter`, `loading`, `searchError`: a
|
|
150
168
|
debounced search with an `AbortSignal` whose stale responses are dropped,
|
|
151
169
|
a polite "Loading…" / "N results" announcement, and local matching that
|
package/docs/troubleshooting.md
CHANGED
|
@@ -132,6 +132,8 @@ words in your error.
|
|
|
132
132
|
- [An end-to-end test no longer finds a required field by a name ending in `*`](#an-end-to-end-test-no-longer-finds-a-required-field-by-a-name-ending-in-)
|
|
133
133
|
- [A test no longer finds a chip's remove button by the exact name `Remove`](#a-test-no-longer-finds-a-chips-remove-button-by-the-exact-name-remove)
|
|
134
134
|
- [A test no longer finds a pagination, breadcrumb or other built-in label by its English name](#a-test-no-longer-finds-a-pagination-breadcrumb-or-other-built-in-label-by-its-english-name)
|
|
135
|
+
- [The selection count reads in the wrong order after overriding `material.table.pagination.rows-selected`](#the-selection-count-reads-in-the-wrong-order-after-overriding-materialtablepaginationrows-selected)
|
|
136
|
+
- [A test clicks a `FilterChips` chip to remove a filter and nothing happens](#a-test-clicks-a-filterchips-chip-to-remove-a-filter-and-nothing-happens)
|
|
135
137
|
- [A test no longer finds an icon badge by role `button`, or an `Icon` named "Icon {name}" inside a button](#a-test-no-longer-finds-an-icon-badge-by-role-button-or-an-icon-named-icon-name-inside-a-button)
|
|
136
138
|
- [A button named "Icon plus Add" is now named "Add"](#a-button-named-icon-plus-add-is-now-named-add)
|
|
137
139
|
- [`An invalid form control with name='…' is not focusable` (an `UploadField`)](#an-invalid-form-control-with-name-is-not-focusable)
|
|
@@ -2489,6 +2491,44 @@ await expect(page.getByRole('navigation', { name: /^(pagination|Pagination)$/ })
|
|
|
2489
2491
|
<Pagination aria-label="Results pages">…</Pagination>
|
|
2490
2492
|
```
|
|
2491
2493
|
|
|
2494
|
+
### The selection count reads in the wrong order after overriding `material.table.pagination.rows-selected`
|
|
2495
|
+
|
|
2496
|
+
**When:** after upgrading, the data table's footer reads "of 128 3 rows
|
|
2497
|
+
selected" (or the French "sur 128 3 lignes sélectionnées") because your
|
|
2498
|
+
`I18nProvider` overrides `material.table.pagination.rows-selected` with the old
|
|
2499
|
+
text.
|
|
2500
|
+
**Why:** the message now leads with the count and ends with the total, so
|
|
2501
|
+
"3 rows selected of 128" and "No rows selected of 128" read as a sentence, and
|
|
2502
|
+
the plural covers zero. The old form, `{count} of {total} {count, plural, …}`,
|
|
2503
|
+
put the count and the total first. An override keeps its own text, so it keeps
|
|
2504
|
+
the old order. The same release hides "Page n of m" when the table has no rows.
|
|
2505
|
+
**Fix:** adopt the new ICU form in your override, or delete the override:
|
|
2506
|
+
|
|
2507
|
+
```json
|
|
2508
|
+
{
|
|
2509
|
+
"material": {
|
|
2510
|
+
"table": {
|
|
2511
|
+
"pagination": {
|
|
2512
|
+
"rows-selected": "{count, plural, =0 {No rows selected} one {# row selected} other {# rows selected}} of {total}"
|
|
2513
|
+
}
|
|
2514
|
+
}
|
|
2515
|
+
}
|
|
2516
|
+
}
|
|
2517
|
+
```
|
|
2518
|
+
|
|
2519
|
+
### A test clicks a `FilterChips` chip to remove a filter and nothing happens
|
|
2520
|
+
|
|
2521
|
+
**When:** after upgrading, `getByText('Paris').click()` (or a click on the
|
|
2522
|
+
chip's body) no longer removes the filter.
|
|
2523
|
+
**Why:** the chip was a clickable surface with no role. It is now a label with
|
|
2524
|
+
a real × button, named "Remove <label>" ("Retirer <label>" in French, from
|
|
2525
|
+
`material.chip.dismiss-label`), so a keyboard and a screen reader reach it.
|
|
2526
|
+
**Fix:** click the button:
|
|
2527
|
+
|
|
2528
|
+
```ts
|
|
2529
|
+
await page.getByRole('button', { name: 'Remove Paris' }).click();
|
|
2530
|
+
```
|
|
2531
|
+
|
|
2492
2532
|
### A test no longer finds an icon badge by role `button`, or an `Icon` named "Icon {name}" inside a button
|
|
2493
2533
|
|
|
2494
2534
|
**When:** after upgrading to 2.2.0, one of these finds nothing:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nxgt/material",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.16.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"email": "stevegires@gmail.com"
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
"docs:previews": "vitest run --project previews"
|
|
120
120
|
},
|
|
121
121
|
"dependencies": {
|
|
122
|
-
"@nxgt/material-core": "^0.9.
|
|
122
|
+
"@nxgt/material-core": "^0.9.1",
|
|
123
123
|
"@base-ui/react": "^1.6.0",
|
|
124
124
|
"@dnd-kit/core": "^6.3.1",
|
|
125
125
|
"@dnd-kit/sortable": "^10.0.0",
|