@nxgt/material 2.11.1 → 2.13.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 (79) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +1 -1
  3. package/dist/{_Uint8Array-azThpjEP.js → _Uint8Array-QCcRMhXd.js} +1 -1
  4. package/dist/{_overRest-DMn4Dt71.js → _overRest-C21ZmKyH.js} +1 -1
  5. package/dist/{async-slice-DhZDjEtw.js → async-slice-TBZ6Taw2.js} +2 -2
  6. package/dist/{blockDiagram-BEXU5L5S-CDfO7C_5.js → blockDiagram-BEXU5L5S-CQaNV8rX.js} +2 -2
  7. package/dist/{chunk-3FUC2YCW-DX6GTgi6.js → chunk-3FUC2YCW-DmtO_Y9L.js} +2 -2
  8. package/dist/{chunk-7M6MHVWA-DTELAJpl.js → chunk-7M6MHVWA-BQ0cJz5u.js} +1 -1
  9. package/dist/{chunk-GNY47TPC-DHf7k1Oo.js → chunk-GNY47TPC-DiVMvIit.js} +4 -4
  10. package/dist/{chunk-NETBCI7D-CxCnFTsw.js → chunk-NETBCI7D-B5Av2fJk.js} +1 -1
  11. package/dist/{chunk-Z7XXMR3K-B7iHRZcb.js → chunk-Z7XXMR3K-D4uKosJW.js} +1 -1
  12. package/dist/{classDiagram-v2-NBCMYWYE-CSaKhTA1.js → classDiagram-v2-NBCMYWYE-BYktffst.js} +2 -2
  13. package/dist/{components-Z9FC6CY-.js → components-C-y3kTRm.js} +23668 -23488
  14. package/dist/components.js +5 -5
  15. package/dist/{dagre-6A5THRUB-Bk4P7elf.js → dagre-6A5THRUB-BvQAvoOX.js} +11 -11
  16. package/dist/{diagram-22UHCM2B-CcBy66NF.js → diagram-22UHCM2B-BYd0lEdS.js} +2 -2
  17. package/dist/{diagram-3UASUU5V-DauW2GeC.js → diagram-3UASUU5V-B3ndNq2p.js} +1 -1
  18. package/dist/dnd.js +1 -1
  19. package/dist/{elk-276RUBZZ-DB8zFfHZ.js → elk-276RUBZZ-BxXn1nvc.js} +3 -3
  20. package/dist/{erDiagram-OPXOYQCR-DO6SpxA4.js → erDiagram-OPXOYQCR-DjYy4h_r.js} +2 -2
  21. package/dist/{field-blur-DgfIJceK.js → field-blur-V8o79CDN.js} +1 -1
  22. package/dist/{flowDiagram-KWPJA3E3-DewDNLd0.js → flowDiagram-KWPJA3E3-BD7xvcMh.js} +3 -3
  23. package/dist/{ganttDiagram-FUAMR5RP-B845QbUZ.js → ganttDiagram-FUAMR5RP-BAuk7X6i.js} +1 -1
  24. package/dist/{graphlib-DLjE3QPd.js → graphlib-CbcZi5bx.js} +6 -6
  25. package/dist/hooks.js +2 -2
  26. package/dist/{i18n-provider-CQL7fqLy.js → i18n-provider-D5hkauu6.js} +1 -1
  27. package/dist/i18n.js +6 -6
  28. package/dist/{isArrayLikeObject-CO-5KAzG.js → isArrayLikeObject-COiPdhFP.js} +3 -3
  29. package/dist/{isEmpty-Bl1drJE7.js → isEmpty-B7UlCLih.js} +3 -3
  30. package/dist/{journeyDiagram-ZHPQQLJL-DVX8uCK8.js → journeyDiagram-ZHPQQLJL-h2S56BMC.js} +1 -1
  31. package/dist/lib/components/ui/fields/search-field/index.d.ts +2 -2
  32. package/dist/lib/components/ui/selection/autocomplete/autocomplete.d.ts +2 -34
  33. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-announcer.d.ts +10 -0
  34. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-chips.d.ts +8 -3
  35. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-list-status.d.ts +13 -0
  36. package/dist/lib/components/ui/selection/autocomplete/partials/autocomplete-popup.d.ts +26 -0
  37. package/dist/lib/components/ui/selection/autocomplete/types.d.ts +72 -0
  38. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-filter.d.ts +13 -0
  39. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-handlers.d.ts +17 -0
  40. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-search.d.ts +8 -0
  41. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-status.d.ts +28 -0
  42. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete-values.d.ts +27 -0
  43. package/dist/lib/components/ui/selection/autocomplete/use-autocomplete.d.ts +29 -0
  44. package/dist/lib/components/ui/selection/radio-group/radio-group.d.ts +7 -4
  45. package/dist/lib/components/ui/selection/select-chip-field/select-chip-field.d.ts +8 -3
  46. package/dist/lib/i18n/resources/en/en.d.ts +4 -0
  47. package/dist/lib/i18n/resources/en/material.json.d.ts +5 -1
  48. package/dist/lib/i18n/resources/fr/fr.d.ts +4 -0
  49. package/dist/lib/i18n/resources/fr/material.json.d.ts +5 -1
  50. package/dist/lib/i18n/resources/resources.d.ts +8 -0
  51. package/dist/lib/i18n/translator.d.ts +1 -1
  52. package/dist/lib.js +3 -3
  53. package/dist/main.js +11 -11
  54. package/dist/map.js +2 -2
  55. package/dist/{merge-CwwtONfp.js → merge-KEf_u3Zy.js} +4 -4
  56. package/dist/{mermaid.core-0q3uq37S.js → mermaid.core-BWF4Tq7X.js} +21 -21
  57. package/dist/{mindmap-definition-NLK3R4M7-BU79I9UY.js → mindmap-definition-NLK3R4M7-Q-4J7KMu.js} +2 -2
  58. package/dist/{pieDiagram-5QR66LMP-DGVDzpXW.js → pieDiagram-5QR66LMP-BIxQ164y.js} +1 -1
  59. package/dist/print.js +2 -2
  60. package/dist/{quadrantDiagram-O4NWA36T-CAgci1ex.js → quadrantDiagram-O4NWA36T-BlI0otnv.js} +1 -1
  61. package/dist/{requirementDiagram-PLB6GJNP-CDOjIVlE.js → requirementDiagram-PLB6GJNP-CuVPUh0S.js} +2 -2
  62. package/dist/{sankeyDiagram-IPEJSGJF-DCbUg-Vu.js → sankeyDiagram-IPEJSGJF-Cke5i_9w.js} +1 -1
  63. package/dist/{sortable-provider-D4S-mqLP.js → sortable-provider-C8mr3XP2.js} +1 -1
  64. package/dist/{stateDiagram-v2-GCMORJYK-C3WWpb0o.js → stateDiagram-v2-GCMORJYK-CT53U-pL.js} +2 -2
  65. package/dist/{stored-language-BW32owje.js → stored-language-g121Yv0w.js} +10 -2
  66. package/dist/{swimlanes-2SLR337P-CtayEq5L.js → swimlanes-2SLR337P-BwEtm09G.js} +3 -3
  67. package/dist/{swimlanesDiagram-TC7HE7FX-yV5ARDns.js → swimlanesDiagram-TC7HE7FX-36JXV6X2.js} +3 -3
  68. package/dist/{timeline-definition-EJHVYXUP-BKuUPBMr.js → timeline-definition-EJHVYXUP-BeX-S1oM.js} +1 -1
  69. package/dist/{translate-material-ZEzF-LKH.js → translate-material-D3Hp_AI5.js} +2 -2
  70. package/dist/{translator-BfqVlNGW.js → translator-BMFC0lBV.js} +1 -1
  71. package/dist/{use-heading-spy-DvZVu15k.js → use-heading-spy--7KHY3lw.js} +2 -2
  72. package/dist/{use-material-translation-B2GUtxUY.js → use-material-translation-BGFp1yXp.js} +2 -2
  73. package/dist/{usecaseDiagram-POWQR4AR-ClgRhO0q.js → usecaseDiagram-POWQR4AR-Dfd0rXLr.js} +2 -2
  74. package/dist/{xychartDiagram-PMCCYNJV-BVKAUhvv.js → xychartDiagram-PMCCYNJV-D0UPPflL.js} +1 -1
  75. package/docs/components/selection-and-choice.md +76 -4
  76. package/docs/roadmap.md +4 -0
  77. package/docs/troubleshooting.md +98 -0
  78. package/package.json +7 -2
  79. package/dist/lib/components/ui/fields/search-field/debounce.d.ts +0 -5
@@ -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-B7iHRZcb.js";
11
+ import "./chunk-Z7XXMR3K-D4uKosJW.js";
12
12
  import "./chunk-UA2S7LBM-ChuksCDg.js";
13
- import { n as ge } from "./chunk-GNY47TPC-DHf7k1Oo.js";
13
+ import { n as ge } from "./chunk-GNY47TPC-DiVMvIit.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-DewDNLd0.js");
305
+ let { diagram: e } = await import("./flowDiagram-KWPJA3E3-BD7xvcMh.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-CcBy66NF.js");
315
+ let { diagram: e } = await import("./diagram-22UHCM2B-BYd0lEdS.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-yV5ARDns.js");
325
+ let { diagram: e } = await import("./swimlanesDiagram-TC7HE7FX-36JXV6X2.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-DO6SpxA4.js");
335
+ let { diagram: e } = await import("./erDiagram-OPXOYQCR-DjYy4h_r.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-B845QbUZ.js");
355
+ let { diagram: e } = await import("./ganttDiagram-FUAMR5RP-BAuk7X6i.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-DGVDzpXW.js");
375
+ let { diagram: e } = await import("./pieDiagram-5QR66LMP-BIxQ164y.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-CAgci1ex.js");
385
+ let { diagram: e } = await import("./quadrantDiagram-O4NWA36T-BlI0otnv.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-BVKAUhvv.js");
395
+ let { diagram: e } = await import("./xychartDiagram-PMCCYNJV-D0UPPflL.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-CDOjIVlE.js");
405
+ let { diagram: e } = await import("./requirementDiagram-PLB6GJNP-CuVPUh0S.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-CSaKhTA1.js");
425
+ let { diagram: e } = await import("./classDiagram-v2-NBCMYWYE-BYktffst.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-C3WWpb0o.js");
435
+ let { diagram: e } = await import("./stateDiagram-v2-GCMORJYK-CT53U-pL.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-DVX8uCK8.js");
445
+ let { diagram: e } = await import("./journeyDiagram-ZHPQQLJL-h2S56BMC.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-DewDNLd0.js");
463
+ let { diagram: e } = await import("./flowDiagram-KWPJA3E3-BD7xvcMh.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-BKuUPBMr.js");
473
+ let { diagram: e } = await import("./timeline-definition-EJHVYXUP-BeX-S1oM.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-BU79I9UY.js");
483
+ let { diagram: e } = await import("./mindmap-definition-NLK3R4M7-Q-4J7KMu.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-DCbUg-Vu.js");
503
+ let { diagram: e } = await import("./sankeyDiagram-IPEJSGJF-Cke5i_9w.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-CDfO7C_5.js");
533
+ let { diagram: e } = await import("./blockDiagram-BEXU5L5S-CQaNV8rX.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-DauW2GeC.js");
593
+ let { diagram: e } = await import("./diagram-3UASUU5V-B3ndNq2p.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-ClgRhO0q.js");
603
+ let { diagram: e } = await import("./usecaseDiagram-POWQR4AR-Dfd0rXLr.js");
604
604
  return {
605
605
  id: nn,
606
606
  diagram: e
@@ -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-B7iHRZcb.js";
10
+ import "./chunk-Z7XXMR3K-D4uKosJW.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-DHf7k1Oo.js";
14
+ import { r as f, t as p } from "./chunk-GNY47TPC-DiVMvIit.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-Z9FC6CY-.js";
1
+ import { ct as e, ot as t } from "./components-C-y3kTRm.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-CQL7fqLy.js";
2
- import { t } from "./translate-material-ZEzF-LKH.js";
1
+ import { r as e } from "./i18n-provider-D5hkauu6.js";
2
+ import { t } from "./translate-material-D3Hp_AI5.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-Z9FC6CY-.js";
1
+ import { rt as e } from "./components-C-y3kTRm.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";
@@ -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-B7iHRZcb.js";
11
+ import "./chunk-Z7XXMR3K-D4uKosJW.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-DHf7k1Oo.js";
15
+ import { r as y, t as b } from "./chunk-GNY47TPC-DiVMvIit.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,4 +1,4 @@
1
- import { V as e } from "./components-Z9FC6CY-.js";
1
+ import { V as e } from "./components-C-y3kTRm.js";
2
2
  import { t } from "./src-CsLQInsN.js";
3
3
  import { t as n } from "./ordinal-DwxdXP1t.js";
4
4
  import { n as r } from "./chunk-Y2CYZVJY-BAad7w_K.js";
@@ -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-B2GUtxUY.js";
3
+ import { t as r } from "./use-material-translation-BGFp1yXp.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-B7iHRZcb.js";
11
+ import "./chunk-Z7XXMR3K-D4uKosJW.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-DHf7k1Oo.js";
16
+ import { r as S, t as C } from "./chunk-GNY47TPC-DiVMvIit.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) {
@@ -754,7 +754,11 @@ var e = {
754
754
  },
755
755
  autocomplete: {
756
756
  empty: "No option found.",
757
- add: "Add \"{query}\""
757
+ add: "Add \"{query}\"",
758
+ loading: "Loading…",
759
+ results: "{count, plural, =0 {No results} one {# result} other {# results}}",
760
+ "search-error": "The search failed. Try again.",
761
+ "min-query": "Type at least {count, plural, one {# character} other {# characters}} to search."
758
762
  },
759
763
  avatar: {
760
764
  online: "Online",
@@ -1961,7 +1965,11 @@ var e = {
1961
1965
  },
1962
1966
  autocomplete: {
1963
1967
  empty: "Aucune option.",
1964
- add: "Ajouter « {query} »"
1968
+ add: "Ajouter « {query} »",
1969
+ loading: "Chargement…",
1970
+ results: "{count, plural, =0 {Aucun résultat} one {# résultat} other {# résultats}}",
1971
+ "search-error": "La recherche a échoué. Réessayez.",
1972
+ "min-query": "Saisissez au moins {count, plural, one {# caractère} other {# caractères}} pour rechercher."
1965
1973
  },
1966
1974
  avatar: {
1967
1975
  online: "En ligne",
@@ -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-B7iHRZcb.js";
10
+ import "./chunk-Z7XXMR3K-D4uKosJW.js";
11
11
  import "./chunk-UA2S7LBM-ChuksCDg.js";
12
- import { r as n } from "./chunk-3FUC2YCW-DX6GTgi6.js";
13
- import { t as r } from "./chunk-NETBCI7D-CxCnFTsw.js";
12
+ import { r as n } from "./chunk-3FUC2YCW-DmtO_Y9L.js";
13
+ import { t as r } from "./chunk-NETBCI7D-B5Av2fJk.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;
@@ -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-B7iHRZcb.js";
10
+ import "./chunk-Z7XXMR3K-D4uKosJW.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-DHf7k1Oo.js";
15
+ import "./chunk-GNY47TPC-DiVMvIit.js";
16
16
  import "./chunk-LNGE3PJU-DJjGTS7O.js";
17
- import { r as t, t as n } from "./chunk-7M6MHVWA-DTELAJpl.js";
17
+ import { r as t, t as n } from "./chunk-7M6MHVWA-BQ0cJz5u.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 {
@@ -1,4 +1,4 @@
1
- import { ct as e } from "./components-Z9FC6CY-.js";
1
+ import { ct as e } from "./components-C-y3kTRm.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-BW32owje.js";
2
- import { E as e, r as t } from "./translator-BfqVlNGW.js";
1
+ import "./stored-language-g121Yv0w.js";
2
+ import { E as e, r as t } from "./translator-BMFC0lBV.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-BW32owje.js";
1
+ import { a as e, i as t, o as n, t as r } from "./stored-language-g121Yv0w.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-BW32owje.js";
2
- import { r as t } from "./i18n-provider-CQL7fqLy.js";
1
+ import { n as e } from "./stored-language-g121Yv0w.js";
2
+ import { r as t } from "./i18n-provider-D5hkauu6.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 { useCallback as c, useEffect as l, useMemo as u, useSyncExternalStore as d } from "react";
5
5
  //#region lib/hooks/resolve-theme.ts
@@ -1,5 +1,5 @@
1
- import { r as e } from "./i18n-provider-CQL7fqLy.js";
2
- import { t } from "./translate-material-ZEzF-LKH.js";
1
+ import { r as e } from "./i18n-provider-D5hkauu6.js";
2
+ import { t } from "./translate-material-D3Hp_AI5.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-B7iHRZcb.js";
11
+ import "./chunk-Z7XXMR3K-D4uKosJW.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-DHf7k1Oo.js";
15
+ import { r as ne, t as re } from "./chunk-GNY47TPC-DiVMvIit.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-Z9FC6CY-.js";
1
+ import { at as e, rt as t, st as n } from "./components-C-y3kTRm.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";
@@ -250,7 +250,7 @@ export function Framework() {
250
250
 
251
251
  ![Autocomplete](../previews/selection-choice-autocomplete.webp)
252
252
 
253
- Single or multiple (chips) autocomplete with free-solo values and a query callback.
253
+ Single or multiple (chips) autocomplete with free-solo values, accent-insensitive matching and a debounced server search.
254
254
 
255
255
  ```tsx
256
256
  import { Autocomplete } from '@nxgt/material/components';
@@ -286,15 +286,79 @@ Parts: `Autocomplete`, `AutocompleteChips` (the chips row it uses in
286
286
  | `mode` | `'single' \| 'multiple'` | — | required; decides the `value` type |
287
287
  | `value` | `string` / `string[]` | — | required, per `mode` |
288
288
  | `onValueChange` | `(value?: string \| null) => void` / `(value?: string[] \| null) => void` | — | per `mode` |
289
- | `options` | `T[]` (`{ value, label }` by default) | — | the items |
289
+ | `options` | `T[]` (`{ value, label }` by default) | `[]` | the items; with `onSearch`, the list before a search and the selected options' labels |
290
290
  | `getOptionValue`, `getOptionLabel` | `(option: T) => string` | `.value`, `.label` | for other option shapes |
291
+ | `filter` | `'accent-insensitive' \| 'none' \| (option: T, query: string) => boolean` | `'accent-insensitive'`, `'none'` with `onSearch` | how the list is filtered as the user types: label or value, ignoring case and accents (`e` finds "École") in the provider's language; `'none'` shows `options` as given; a function gets the trimmed query, never an empty one |
291
292
  | `freeSolo` | `boolean` | — | accept a typed value that is not an option |
292
- | `onQueryChange` | `(query: string) => void` | — | fetch options as the user types |
293
+ | `onSearch` | `(query: string, { signal }: { signal: AbortSignal }) => Promise<T[]>` | — | server search: called once typing pauses; its results become the list. Each search aborts the previous one, and a response that lands after a newer one is dropped |
294
+ | `onSearchError` | `(error: unknown) => void` | — | `onSearch` rejected (an abort is not a rejection) |
295
+ | `minQueryLength` | `number` | `1` | `onSearch` waits for this many characters; below it the list says "Type at least N characters to search." |
296
+ | `debounceMs` | `number` | `250` | the pause before `onSearch` and `onQueryChange` run |
297
+ | `onQueryChange` | `(query: string) => void` | — | the query once typing pauses — fetch `options` yourself here |
298
+ | `loading` | `boolean` | — | with `onQueryChange`: "Loading…" in the list, `aria-busy` on the listbox, announced |
299
+ | `searchError` | `ReactNode` | — | with `onQueryChange`: shown and announced in place of the options |
300
+ | `empty` | `ReactNode` | "No option found." | text when nothing matches |
293
301
  | `actions` | `ReactNode \| ((query: string) => ReactNode)` | — | buttons at the end of the list ("Create …") |
294
302
  | `required` | `boolean` | — | the asterisk, and `aria-required` on the `combobox` input, which the label names |
295
303
  | `disabled` | `boolean` | — | disables the input and each chip's remove button |
296
304
  | `error` | `boolean` | — | error border on the chips box, error helper text, `aria-invalid` on the input |
297
305
 
306
+ ### Searching a server
307
+
308
+ `onSearch` takes the query and an `AbortSignal`; hand the signal to `fetch`
309
+ so a search the user typed past is cancelled. The field shows "Loading…",
310
+ keeps the last results until the new ones arrive, and never lets an older
311
+ response overwrite a newer one, even from an API that ignores the signal.
312
+ Pass the selected option in `options` so its chip has a label before any
313
+ search; a picked option keeps its chip once a new search no longer returns
314
+ it.
315
+
316
+ ```tsx
317
+ import { Autocomplete } from '@nxgt/material/components';
318
+ import { useState } from 'react';
319
+
320
+ type Person = { value: string; label: string };
321
+
322
+ async function searchPeople(query: string, { signal }: { signal: AbortSignal }) {
323
+ const response = await fetch(`/api/people?q=${encodeURIComponent(query)}`, { signal });
324
+ if (!response.ok) throw new Error(`Search failed: ${response.status}`);
325
+ return (await response.json()) as Person[];
326
+ }
327
+
328
+ export function PersonField() {
329
+ const [value, setValue] = useState('');
330
+ return (
331
+ <Autocomplete<Person>
332
+ mode="single"
333
+ label="Person"
334
+ placeholder="Search by name"
335
+ value={value}
336
+ onValueChange={(next) => setValue(next ?? '')}
337
+ onSearch={searchPeople}
338
+ minQueryLength={2}
339
+ debounceMs={300}
340
+ />
341
+ );
342
+ }
343
+ ```
344
+
345
+ With `onSearch`, `minQueryLength` defaults to 1, `debounceMs` to 250 and `filter` to `'none'`
346
+ (the server filters). A rejected search shows and announces "The search
347
+ failed. Try again." by itself and hands the error to `onSearchError`; an abort is
348
+ never an error. Type your search with `AutocompleteSearch<T>` (its second
349
+ argument is `AutocompleteSearchContext`, `{ signal }`); `AutocompleteFilter<T>`
350
+ and `AutocompleteSearchProps<T>` are exported from `@nxgt/material/components` too.
351
+
352
+ To fetch it yourself instead, keep `options` and `loading` in your state,
353
+ update them from `onQueryChange`, and pass `filter="none"` when the server
354
+ already filtered.
355
+
356
+ **Accessibility.** A polite live region (`role="status"`) says "Loading…",
357
+ then "3 results" or "No results" (or the failure) once the search answers or
358
+ typing pauses — never on every keystroke. The listbox is `aria-busy` while
359
+ loading. The strings are `material.autocomplete.loading`, `.results`,
360
+ `.search-error` and `.min-query`. The keyboard works as before.
361
+
298
362
  **Emits:** `string | null` in `single` mode, `string[]` in `multiple`.
299
363
  **Form wrapper:** `AutocompleteFormField` — `control` and `name`, see
300
364
  [forms](../guides/forms.md#the-pair) and [what each field emits](../guides/forms.md#what-each-field-emits).
@@ -409,7 +473,7 @@ full naming alignment is planned for 3.0.
409
473
 
410
474
  | Prop | Type | Default | Effect |
411
475
  | --- | --- | --- | --- |
412
- | `options` | `{ value: string; label: ReactNode }[]` | — | the radios |
476
+ | `options` | `{ value: string; label: ReactNode; disabled?: boolean }[]` | — | the radios; `disabled` on an option disables only it |
413
477
  | `value` / `defaultValue` | `string` | — | Radix radio group state |
414
478
  | `onValueChange` | `(value: string) => void` | — | |
415
479
  | `orientation` | `'vertical' \| 'horizontal'` | `'horizontal'` | layout |
@@ -422,6 +486,12 @@ before the first radio, and `error` sets `aria-invalid` on it (a `radiogroup`
422
486
  may carry it; your own `aria-invalid` wins). Your own `aria-label` /
423
487
  `aria-labelledby` wins, and your `aria-describedby` ids come first.
424
488
 
489
+ An option's type is exported as `RadioGroupOption`. A disabled option (`disabled: true` on it) is announced as disabled, skipped by
490
+ the arrow keys (as the Radix primitives do) and drawn with a muted label and a
491
+ faded radio; the label keeps 4.5:1 contrast in both themes. The group's own
492
+ `disabled` disables every option. An option disabled while it is the current
493
+ value stays checked.
494
+
425
495
  **Emits:** `string`.
426
496
  **Form wrapper:** `RadioGroupFormField` — `control` and `name`, see
427
497
  [forms](../guides/forms.md#the-pair) and [what each field emits](../guides/forms.md#what-each-field-emits).
@@ -514,6 +584,8 @@ equality.
514
584
 
515
585
  Single or multiple choice shown as toggleable chips.
516
586
 
587
+ The `ref` reaches the chosen chip, else the first (a `Ref<HTMLButtonElement>`), so a form library's `setFocus` and a plain `ref.current?.focus()` work.
588
+
517
589
  ```tsx
518
590
  import { SelectChipField } from '@nxgt/material/components';
519
591
  import { useState } from 'react';
package/docs/roadmap.md CHANGED
@@ -130,6 +130,10 @@ version they shipped in, and planned entries may name the major they target.
130
130
 
131
131
  ## Shipped
132
132
 
133
+ - **An `Autocomplete` that searches a server** — `onSearch`, `debounceMs`, `minQueryLength`, `filter`, `loading`, `searchError`: a
134
+ debounced search with an `AbortSignal` whose stale responses are dropped,
135
+ a polite "Loading…" / "N results" announcement, and local matching that
136
+ ignores accents ("e" finds "École"). 2.12.0.
133
137
  - **Toast actions that work everywhere** — `toasts.success(message, { action })`
134
138
  and every other preset take sonner's own call shape and keep their action,
135
139
  and a dialog a toast's action opens keeps the focus, then gives it back to