@nxgt/material 3.54.0 → 3.56.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 (132) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +8 -3
  3. package/dist/{async-slice-DDSsekfm.js → async-slice-CORlM_wu.js} +2 -2
  4. package/dist/{button-Ct8DSLVv.js → button-CdpVEza0.js} +1 -1
  5. package/dist/charts.js +3 -3
  6. package/dist/{chip-BzoNsd-W.js → chip-C0yNYz9m.js} +2 -2
  7. package/dist/{code-editor-DsLQeiZc.js → code-editor-Bwzp2038.js} +6 -6
  8. package/dist/code-editor.js +5 -5
  9. package/dist/{code-language-items-4zXlIEZ0.js → code-language-items-nP-pF7yH.js} +2 -2
  10. package/dist/components/components.css +8 -0
  11. package/dist/components/ui/display/seat-ring/seat-ring-index.css +125 -0
  12. package/dist/components/ui/display/seat-ring/seat-ring-ring.css +87 -0
  13. package/dist/components/ui/display/seat-ring/seat-ring.css +139 -0
  14. package/dist/components/ui/display/secret-card/secret-card.css +65 -0
  15. package/dist/components/ui/display/vote-tally/vote-tally.css +94 -0
  16. package/dist/{components-DFG2mgsM.js → components-Dl2hVfzt.js} +16273 -15482
  17. package/dist/components.js +26 -26
  18. package/dist/{dialog-DwPmwmA3.js → dialog-BVgsN9Ch.js} +4 -4
  19. package/dist/dnd.js +1 -1
  20. package/dist/{dropdown-menu-CDN6Nqx6.js → dropdown-menu-C8PBmMIa.js} +1 -1
  21. package/dist/editor.js +9 -9
  22. package/dist/{empty-state-Bb9W9did.js → empty-state-C5wfbbW9.js} +2 -2
  23. package/dist/{escape-owner-DI_lg2ID.js → escape-owner-CYnfySUl.js} +1 -1
  24. package/dist/{field-blur-BcJH8H9B.js → field-blur-Nid7-bt_.js} +1 -1
  25. package/dist/{field-blur-context-Dg1nwWOV.js → field-blur-context-DxdIuHAY.js} +1 -1
  26. package/dist/hooks.js +28 -28
  27. package/dist/{hover-card-Qse4gnop.js → hover-card-C_9jiwp1.js} +2 -2
  28. package/dist/{i18n-provider-DlVPS58N.js → i18n-provider-CLVZK6tQ.js} +1 -1
  29. package/dist/i18n.js +5 -5
  30. package/dist/{icon-badge-DVPBQOKe.js → icon-badge-Dcjg_SKJ.js} +3 -3
  31. package/dist/{icon-button-C3wDxsh6.js → icon-button-Bo-VuZ2n.js} +1 -1
  32. package/dist/lib/components/ui/actions/link/link.d.ts +8 -0
  33. package/dist/lib/components/ui/collections/data-table/partials/data-table-page-control.d.ts +1 -1
  34. package/dist/lib/components/ui/collections/data-table/partials/data-table-row.d.ts +1 -1
  35. package/dist/lib/components/ui/collections/data-table/partials/layouts/data-table-card.d.ts +1 -1
  36. package/dist/lib/components/ui/collections/server-table/partials/server-table-past-end.d.ts +1 -1
  37. package/dist/lib/components/ui/display/index.d.ts +3 -0
  38. package/dist/lib/components/ui/display/list-tile/partials/list-tile-line.d.ts +1 -1
  39. package/dist/lib/components/ui/display/period-cards/period-cards.d.ts +1 -1
  40. package/dist/lib/components/ui/display/seat-ring/index.d.ts +2 -0
  41. package/dist/lib/components/ui/display/seat-ring/partials/empty-seat.d.ts +5 -0
  42. package/dist/lib/components/ui/display/seat-ring/partials/seat-body.d.ts +9 -0
  43. package/dist/lib/components/ui/display/seat-ring/partials/seat-item.d.ts +17 -0
  44. package/dist/lib/components/ui/display/seat-ring/seat-ring.d.ts +9 -0
  45. package/dist/lib/components/ui/display/seat-ring/seat-ring.utils.d.ts +9 -0
  46. package/dist/lib/components/ui/display/seat-ring/types.d.ts +67 -0
  47. package/dist/lib/components/ui/display/seat-ring/use-seat-ring.d.ts +12 -0
  48. package/dist/lib/components/ui/display/secret-card/index.d.ts +2 -0
  49. package/dist/lib/components/ui/display/secret-card/secret-card.d.ts +11 -0
  50. package/dist/lib/components/ui/display/secret-card/types.d.ts +49 -0
  51. package/dist/lib/components/ui/display/secret-card/use-secret-card.d.ts +20 -0
  52. package/dist/lib/components/ui/display/vote-tally/announcer.d.ts +11 -0
  53. package/dist/lib/components/ui/display/vote-tally/index.d.ts +2 -0
  54. package/dist/lib/components/ui/display/vote-tally/partials/tally-bar.d.ts +8 -0
  55. package/dist/lib/components/ui/display/vote-tally/partials/tally-row.d.ts +9 -0
  56. package/dist/lib/components/ui/display/vote-tally/partials/tally-voters.d.ts +9 -0
  57. package/dist/lib/components/ui/display/vote-tally/types.d.ts +73 -0
  58. package/dist/lib/components/ui/display/vote-tally/use-announcement.d.ts +7 -0
  59. package/dist/lib/components/ui/display/vote-tally/use-tally-summary.d.ts +3 -0
  60. package/dist/lib/components/ui/display/vote-tally/vote-tally.d.ts +10 -0
  61. package/dist/lib/components/ui/display/vote-tally/vote-tally.utils.d.ts +18 -0
  62. package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
  63. package/dist/lib/components/ui/layout/account-menu/account-menu.d.ts +1 -1
  64. package/dist/lib/components/ui/layout/app-shell/app-sidebar-icon-item.d.ts +1 -1
  65. package/dist/lib/components/ui/layout/app-shell/app-sidebar-label-item.d.ts +1 -1
  66. package/dist/lib/components/ui/layout/app-shell/app-sidebar.d.ts +1 -1
  67. package/dist/lib/components/ui/layout/pager/pager.d.ts +1 -1
  68. package/dist/lib/components/ui/layout/see-also/see-also.d.ts +1 -1
  69. package/dist/lib/components/ui/layout/toc/toc.d.ts +1 -1
  70. package/dist/lib/components/ui/primitives/index.d.ts +1 -0
  71. package/dist/lib/components/ui/primitives/link/index.d.ts +2 -0
  72. package/dist/lib/components/ui/primitives/link/link-component-provider.d.ts +26 -0
  73. package/dist/lib/components/ui/widgets/education/index.d.ts +1 -0
  74. package/dist/lib/components/ui/widgets/education/navigator/index.d.ts +2 -0
  75. package/dist/lib/components/ui/widgets/education/navigator/partials/navigator-item.d.ts +10 -0
  76. package/dist/lib/components/ui/widgets/education/navigator/question-navigator.d.ts +27 -0
  77. package/dist/lib/components/ui/widgets/education/questions/index.d.ts +1 -1
  78. package/dist/lib/components/ui/widgets/education/questions/partials/question-media.d.ts +5 -0
  79. package/dist/lib/components/ui/widgets/education/questions/partials/question-verdict.d.ts +12 -0
  80. package/dist/lib/components/ui/widgets/education/questions/question-options.d.ts +2 -2
  81. package/dist/lib/components/ui/widgets/education/questions/question-text.d.ts +1 -1
  82. package/dist/lib/components/ui/widgets/education/questions/question.d.ts +1 -1
  83. package/dist/lib/components/ui/widgets/education/questions/types.d.ts +33 -1
  84. package/dist/lib/hooks/index.d.ts +1 -0
  85. package/dist/lib/hooks/use-countdown.d.ts +18 -0
  86. package/dist/lib/i18n/resources/en/en.d.ts +34 -0
  87. package/dist/lib/i18n/resources/en/material.json.d.ts +34 -0
  88. package/dist/lib/i18n/resources/fr/fr.d.ts +34 -0
  89. package/dist/lib/i18n/resources/fr/material.json.d.ts +34 -0
  90. package/dist/lib/i18n/resources/resources.d.ts +68 -0
  91. package/dist/lib/i18n/translator.d.ts +1 -1
  92. package/dist/lib.js +1 -1
  93. package/dist/main.js +43 -43
  94. package/dist/map.js +8 -8
  95. package/dist/material.css +1 -1
  96. package/dist/pdf-reader.js +1 -1
  97. package/dist/print.js +2 -2
  98. package/dist/{public-BoVE0ffh.js → public-BtKAthSs.js} +9 -9
  99. package/dist/{rich-code-block-DAUM7Yh_.js → rich-code-block-BZYZ6ewr.js} +5 -5
  100. package/dist/{sortable-provider-BLXsGE_0.js → sortable-provider-hUCwt69K.js} +2 -2
  101. package/dist/{spinner-Rg4PnBPH.js → spinner-BmUXTzvJ.js} +1 -1
  102. package/dist/{stored-language-B1lJMPbR.js → stored-language-_OGPBCn0.js} +64 -0
  103. package/dist/theme-picker.js +2 -2
  104. package/dist/{theme-toggle-jVdxF_mc.js → theme-toggle-DdvEafno.js} +1 -1
  105. package/dist/{toolbar-items-BFY_hns5.js → toolbar-items-DKfY_6AG.js} +4 -4
  106. package/dist/{translate-material-q-JNxP1m.js → translate-material-DzBMPErh.js} +2 -2
  107. package/dist/{translator-BU1o3_l9.js → translator-BIVSiq4X.js} +1 -1
  108. package/dist/{use-chat-composer-DGbDuIUa.js → use-chat-composer-DCQW2EJ8.js} +16 -16
  109. package/dist/{use-heading-spy-CP63sAcS.js → use-heading-spy-Cr2C_Px8.js} +32 -5
  110. package/dist/{use-material-translation-nNF8fUXz.js → use-material-translation-C_bAxfvp.js} +2 -2
  111. package/docs/components/README.md +1 -1
  112. package/docs/components/buttons-and-actions.md +1 -0
  113. package/docs/components/data-display.md +212 -2
  114. package/docs/components/data-table-filter-and-lists.md +3 -3
  115. package/docs/components/feedback-and-status.md +5 -3
  116. package/docs/components/navigation-and-layout.md +4 -4
  117. package/docs/components/primitives.md +62 -0
  118. package/docs/components/rich-widgets.md +51 -0
  119. package/docs/components/selection-and-choice.md +1 -1
  120. package/docs/guides/app-shell.md +2 -2
  121. package/docs/guides/helpers.md +40 -0
  122. package/docs/previews/data-display-seatring.webp +0 -0
  123. package/docs/previews/data-display-secretcard.webp +0 -0
  124. package/docs/previews/data-display-votetally.webp +0 -0
  125. package/lib/components/components.css +8 -0
  126. package/lib/components/ui/display/seat-ring/seat-ring-index.css +125 -0
  127. package/lib/components/ui/display/seat-ring/seat-ring-ring.css +87 -0
  128. package/lib/components/ui/display/seat-ring/seat-ring.css +139 -0
  129. package/lib/components/ui/display/secret-card/secret-card.css +65 -0
  130. package/lib/components/ui/display/vote-tally/vote-tally.css +94 -0
  131. package/package.json +1 -1
  132. package/dist/lib/components/ui/feedback/countdown-timer/use-countdown.d.ts +0 -6
@@ -1,3 +1,3 @@
1
- import { t as e } from "./public-BoVE0ffh.js";
1
+ import { t as e } from "./public-BtKAthSs.js";
2
2
  import { configurePdfReader as t } from "@nxgt/material-core/pdf-reader";
3
3
  export { e as PdfReader, t as configurePdfReader };
package/dist/print.js CHANGED
@@ -1,5 +1,5 @@
1
- import { r as e } from "./i18n-provider-DlVPS58N.js";
2
- import { t } from "./translate-material-q-JNxP1m.js";
1
+ import { r as e } from "./i18n-provider-CLVZK6tQ.js";
2
+ import { t } from "./translate-material-DzBMPErh.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";
@@ -3,21 +3,21 @@ import { n as t } from "./ui.utils-CAnKTCw5.js";
3
3
  import { t as n } from "./utils-BLfntITJ.js";
4
4
  import { o as r } from "./dist-DVRQkaTK.js";
5
5
  import { c as i, i as a, l as o, n as s, o as c, s as l } from "./dist-lmHmz_bu.js";
6
- import { n as u, s as d } from "./spinner-Rg4PnBPH.js";
6
+ import { n as u, s as d } from "./spinner-BmUXTzvJ.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-DwPmwmA3.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-CDN6Nqx6.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-BFY_hns5.js";
12
- import { t as N } from "./use-material-translation-nNF8fUXz.js";
13
- import { t as _e } from "./button-Ct8DSLVv.js";
14
- import { n as ve, t as ye } from "./icon-button-C3wDxsh6.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-BVgsN9Ch.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-C8PBmMIa.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-DKfY_6AG.js";
12
+ import { t as N } from "./use-material-translation-C_bAxfvp.js";
13
+ import { t as _e } from "./button-CdpVEza0.js";
14
+ import { n as ve, t as ye } from "./icon-button-Bo-VuZ2n.js";
15
15
  import { t as be } from "./useEvent-2fKq-6w8.js";
16
16
  import { n as xe, t as Se } from "./toggle-group-BkH23Jk4.js";
17
- import { o as Ce } from "./escape-owner-DI_lg2ID.js";
17
+ import { o as Ce } from "./escape-owner-CYnfySUl.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-Bb9W9did.js";
20
+ import { n as Ee, t as De } from "./empty-state-C5wfbbW9.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 * as P from "react";
@@ -1,7 +1,7 @@
1
- import { r as e } from "./spinner-Rg4PnBPH.js";
2
- import { c as t, n, t as r } from "./dropdown-menu-CDN6Nqx6.js";
3
- import { t as i } from "./use-material-translation-nNF8fUXz.js";
4
- import { a, i as o, n as s, o as c, t as l } from "./code-language-items-4zXlIEZ0.js";
1
+ import { r as e } from "./spinner-BmUXTzvJ.js";
2
+ import { c as t, n, t as r } from "./dropdown-menu-C8PBmMIa.js";
3
+ import { t as i } from "./use-material-translation-C_bAxfvp.js";
4
+ import { a, i as o, n as s, o as c, t as l } from "./code-language-items-nP-pF7yH.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 { Suspense as h, lazy as g, useEffect as _, useRef as v, useState as y } from "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 = g(() => import("./code-editor-DsLQeiZc.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
146
+ var N = g(() => import("./code-editor-Bwzp2038.js").then((e) => e.n).then((e) => ({ default: e.CodeEditor })));
147
147
  function P() {
148
148
  let { t: e } = i();
149
149
  return /* @__PURE__ */ b("div", {
@@ -1,7 +1,7 @@
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-nNF8fUXz.js";
4
- import { t as r } from "./icon-button-C3wDxsh6.js";
3
+ import { t as n } from "./use-material-translation-C_bAxfvp.js";
4
+ import { t as r } from "./icon-button-Bo-VuZ2n.js";
5
5
  import { t as i } from "./compose-refs-DZ0iIVF-.js";
6
6
  import a, { cloneElement as o, createContext as s, forwardRef as c, memo as l, useCallback as u, useContext as d, useEffect as f, useId as p, useLayoutEffect as m, useMemo as h, useReducer as g, useRef as _, useState as v } from "react";
7
7
  import { jsx as y } from "react/jsx-runtime";
@@ -3,7 +3,7 @@ import { n as t, t as n } from "./utils-BLfntITJ.js";
3
3
  import { i as r, o as i } from "./dist-DVRQkaTK.js";
4
4
  import { a, c as o, i as s, l as c, n as l, o as u, r as d, s as f, t as p, u as m } from "./dist-lmHmz_bu.js";
5
5
  import { a as h, c as g, d as _, i as v, l as y, o as b, r as x, t as S, u as C } from "./floating-ui.dom-KkZSW8_E.js";
6
- import { t as w } from "./use-material-translation-nNF8fUXz.js";
6
+ import { t as w } from "./use-material-translation-C_bAxfvp.js";
7
7
  import * as T from "react";
8
8
  import { useLayoutEffect as E, useRef as D, useSyncExternalStore as O } from "react";
9
9
  import { jsx as k, jsxs as A } from "react/jsx-runtime";
@@ -321,6 +321,10 @@ var t = {
321
321
  correct: "Correct!",
322
322
  incorrect: "Not quite",
323
323
  unanswered: "Not answered",
324
+ pending: "Awaiting grading",
325
+ "points-of": "{awarded} / {possible} points",
326
+ audio: "Audio for this question",
327
+ document: "Document for this question",
324
328
  "correct-answer": "Correct answer: {answer}",
325
329
  "your-answer": "Your answer: {answer}",
326
330
  streak: "{count} in a row",
@@ -340,6 +344,14 @@ var t = {
340
344
  "retry-wrong": "{count, plural, one {Retry # question} other {Retry # questions}}",
341
345
  retrying: "Retry round: {count, plural, one {# question} other {# questions}}"
342
346
  },
347
+ "question-navigator": {
348
+ label: "Questions",
349
+ item: "Question {number}",
350
+ answered: "answered",
351
+ unanswered: "not answered",
352
+ flagged: "flagged",
353
+ current: "current"
354
+ },
343
355
  "step-dots": {
344
356
  label: "Progress",
345
357
  step: "Step {current} of {total}",
@@ -1334,6 +1346,26 @@ var t = {
1334
1346
  busy: "Busy",
1335
1347
  active: "Active"
1336
1348
  },
1349
+ "vote-tally": {
1350
+ votes: "{count, plural, one {# vote} other {# votes}}",
1351
+ share: "{percent}%",
1352
+ leader: "Leader",
1353
+ tie: "Tie",
1354
+ selected: "Your vote",
1355
+ empty: "No votes yet",
1356
+ more: "+{count} more",
1357
+ "voters-of": "Voters for {label}",
1358
+ abstained: "{count, plural, one {# abstention} other {# abstentions}}",
1359
+ cast: "{count, plural, one {# vote cast} other {# votes cast}}",
1360
+ leads: "{names} leads with {votes}",
1361
+ "tied-between": "Tie between {names}, {votes} each"
1362
+ },
1363
+ "seat-ring": { empty: "Empty seat" },
1364
+ "secret-card": {
1365
+ reveal: "Show secret",
1366
+ revealed: "Secret revealed",
1367
+ hidden: "Secret hidden"
1368
+ },
1337
1369
  "country-field": { placeholder: "Country" },
1338
1370
  "duration-field": {
1339
1371
  hours: "h",
@@ -3161,6 +3193,10 @@ var t = {
3161
3193
  correct: "Bonne réponse !",
3162
3194
  incorrect: "Pas tout à fait",
3163
3195
  unanswered: "Sans réponse",
3196
+ pending: "En attente de correction",
3197
+ "points-of": "{awarded} / {possible} points",
3198
+ audio: "Audio de cette question",
3199
+ document: "Document de cette question",
3164
3200
  "correct-answer": "Bonne réponse : {answer}",
3165
3201
  "your-answer": "Votre réponse : {answer}",
3166
3202
  streak: "{count} d’affilée",
@@ -3180,6 +3216,14 @@ var t = {
3180
3216
  "retry-wrong": "{count, plural, one {Refaire # question} other {Refaire # questions}}",
3181
3217
  retrying: "Nouvel essai : {count, plural, one {# question} other {# questions}}"
3182
3218
  },
3219
+ "question-navigator": {
3220
+ label: "Questions",
3221
+ item: "Question {number}",
3222
+ answered: "répondue",
3223
+ unanswered: "sans réponse",
3224
+ flagged: "marquée",
3225
+ current: "en cours"
3226
+ },
3183
3227
  "step-dots": {
3184
3228
  label: "Progression",
3185
3229
  step: "Étape {current} sur {total}",
@@ -4174,6 +4218,26 @@ var t = {
4174
4218
  busy: "Occupé",
4175
4219
  active: "Actif"
4176
4220
  },
4221
+ "vote-tally": {
4222
+ votes: "{count, plural, one {# vote} other {# votes}}",
4223
+ share: "{percent} %",
4224
+ leader: "En tête",
4225
+ tie: "Égalité",
4226
+ selected: "Votre vote",
4227
+ empty: "Aucun vote pour l'instant",
4228
+ more: "+{count} de plus",
4229
+ "voters-of": "Votants pour {label}",
4230
+ abstained: "{count, plural, one {# abstention} other {# abstentions}}",
4231
+ cast: "{count, plural, one {# vote exprimé} other {# votes exprimés}}",
4232
+ leads: "{names} est en tête avec {votes}",
4233
+ "tied-between": "Égalité entre {names}, {votes} chacun"
4234
+ },
4235
+ "seat-ring": { empty: "Place libre" },
4236
+ "secret-card": {
4237
+ reveal: "Afficher le secret",
4238
+ revealed: "Secret révélé",
4239
+ hidden: "Secret masqué"
4240
+ },
4177
4241
  "country-field": { placeholder: "Pays" },
4178
4242
  "duration-field": {
4179
4243
  hours: "h",
@@ -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
3
  import { a as s, r as c } from "./icon-sprites-CaYXzOL4.js";
4
- import { t as l } from "./use-material-translation-nNF8fUXz.js";
4
+ import { t as l } from "./use-material-translation-C_bAxfvp.js";
5
5
  import { t as u } from "./use-theme-BCLireTd.js";
6
6
  import { a as d, r as f } from "./theme-context-Cofk6vgs.js";
7
- import { t as p } from "./theme-toggle-jVdxF_mc.js";
7
+ import { t as p } from "./theme-toggle-DdvEafno.js";
8
8
  import { n as m, t as h } from "./nxgt-theme-ivgNca3z.js";
9
9
  import { useContext as g } from "react";
10
10
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
@@ -1,4 +1,4 @@
1
- import { t as e } from "./use-material-translation-nNF8fUXz.js";
1
+ import { t as e } from "./use-material-translation-C_bAxfvp.js";
2
2
  import { i as t } from "./theme-store-BdPp43cV.js";
3
3
  import { n, t as r } from "./use-theme-BCLireTd.js";
4
4
  import { r as i } from "./theme-context-Cofk6vgs.js";
@@ -2,13 +2,13 @@ import { t as e } from "./utils-BLfntITJ.js";
2
2
  import { t } from "./warn-once-C_e47JM8.js";
3
3
  import { o as n, r, t as i } from "./dist-DVRQkaTK.js";
4
4
  import { a, c as o, i as s, l as c, r as l, s as u } from "./dist-lmHmz_bu.js";
5
- import { C as d, S as f, d as p, f as m, m as h, p as g, r as _, u as v } from "./spinner-Rg4PnBPH.js";
5
+ import { C as d, S as f, d as p, f as m, m as h, p as g, r as _, u as v } from "./spinner-BmUXTzvJ.js";
6
6
  import { i as y, n as b, r as x, t as S } from "./dist-C4wtXCjf.js";
7
7
  import { a as C, c as w, l as T, o as E, r as ee, s as te, t as ne } from "./in-dialog-Vwkyp-M5.js";
8
- import { A as re, M as ie, N as ae, b as oe, d as se, f as ce, i as le, j as ue, l as de, n as fe, o as pe, r as me, t as he, u as ge, y as _e } from "./dropdown-menu-CDN6Nqx6.js";
8
+ import { A as re, M as ie, N as ae, b as oe, d as se, f as ce, i as le, j as ue, l as de, n as fe, o as pe, r as me, t as he, u as ge, y as _e } from "./dropdown-menu-C8PBmMIa.js";
9
9
  import { a as ve, n as ye, r as be, t as xe } from "./dist-B7RjY7SL.js";
10
- import { t as Se } from "./use-material-translation-nNF8fUXz.js";
11
- import { o as Ce } from "./escape-owner-DI_lg2ID.js";
10
+ import { t as Se } from "./use-material-translation-C_bAxfvp.js";
11
+ import { o as Ce } from "./escape-owner-CYnfySUl.js";
12
12
  import * as D from "react";
13
13
  import { createContext as O, useCallback as we, useContext as k, useEffect as A, useId as Te, useLayoutEffect as j, useMemo as M, useReducer as Ee, useRef as N, useState as P } from "react";
14
14
  import { Fragment as F, jsx as I, jsxs as L } from "react/jsx-runtime";
@@ -1,5 +1,5 @@
1
- import "./stored-language-B1lJMPbR.js";
2
- import { a as e, r as t, t as n } from "./translator-BU1o3_l9.js";
1
+ import "./stored-language-_OGPBCn0.js";
2
+ import { a as e, r as t, t as n } from "./translator-BIVSiq4X.js";
3
3
  //#region lib/i18n/translate-material.ts
4
4
  var r = /* @__PURE__ */ new WeakMap();
5
5
  function i(e) {
@@ -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-B1lJMPbR.js";
2
+ import { a as t, i as n, r, t as i } from "./stored-language-_OGPBCn0.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) {
@@ -5,39 +5,39 @@ import { t as r } from "./warn-once-C_e47JM8.js";
5
5
  import { n as i } from "./use-shape-morph-DXdy2X5g.js";
6
6
  import { n as a, o, t as s } from "./dist-DVRQkaTK.js";
7
7
  import { a as c, c as l, i as u, l as d, n as f, o as p, r as m, s as h, t as g } from "./dist-lmHmz_bu.js";
8
- import { _, a as v, b as y, c as b, g as x, h as S, i as C, n as w, o as T, r as E, s as D, t as O, v as k, x as A, y as ee } from "./spinner-Rg4PnBPH.js";
8
+ import { _, a as v, b as y, c as b, g as x, h as S, i as C, n as w, o as T, r as E, s as D, t as O, v as k, x as A, y as ee } from "./spinner-BmUXTzvJ.js";
9
9
  import { a as j, i as M, n as N, r as te, t as ne } from "./dist-C4wtXCjf.js";
10
10
  import { i as P, n as re, t as ie } from "./in-dialog-Vwkyp-M5.js";
11
- import { A as F, C as ae, D as oe, E as se, O as I, S as ce, T as le, _ as ue, b as de, f as fe, g as pe, k as me, l as he, m as ge, n as _e, o as ve, r as ye, s as be, t as xe, u as Se, v as Ce, w as we, x as Te, y as Ee } from "./dialog-DwPmwmA3.js";
11
+ import { A as F, C as ae, D as oe, E as se, O as I, S as ce, T as le, _ as ue, b as de, f as fe, g as pe, k as me, l as he, m as ge, n as _e, o as ve, r as ye, s as be, t as xe, u as Se, v as Ce, w as we, x as Te, y as Ee } from "./dialog-BVgsN9Ch.js";
12
12
  import { A as De, C as Oe, D as ke, E as Ae, O as je, S as Me, T as Ne, _ as Pe, a as Fe, b as Ie, d as Le, f as Re, g as ze, h as Be, i as Ve, k as He, l as Ue, m as We, n as Ge, o as Ke, p as qe, r as Je, s as Ye, t as Xe, u as Ze, v as Qe, w as $e, x as et, y as tt } from "./floating-ui.dom-KkZSW8_E.js";
13
- import { D as nt, E as rt, N as it, O as at, c as L, d as ot, f as st, i as ct, k as lt, m as ut, n as dt, o as ft, p as pt, t as mt, u as ht } from "./dropdown-menu-CDN6Nqx6.js";
14
- import { a as gt, i as _t, n as vt } from "./field-blur-context-Dg1nwWOV.js";
15
- import { C as yt, S as bt, a as xt, c as St, d as Ct, l as wt, n as Tt, o as Et, s as Dt, u as Ot } from "./toolbar-items-BFY_hns5.js";
13
+ import { D as nt, E as rt, N as it, O as at, c as L, d as ot, f as st, i as ct, k as lt, m as ut, n as dt, o as ft, p as pt, t as mt, u as ht } from "./dropdown-menu-C8PBmMIa.js";
14
+ import { a as gt, i as _t, n as vt } from "./field-blur-context-DxdIuHAY.js";
15
+ import { C as yt, S as bt, a as xt, c as St, d as Ct, l as wt, n as Tt, o as Et, s as Dt, u as Ot } from "./toolbar-items-DKfY_6AG.js";
16
16
  import { a as kt, i as At, n as jt, o as Mt, t as Nt } from "./bubble-input-B7BVd9fX.js";
17
17
  import { i as Pt } from "./dist-B7RjY7SL.js";
18
18
  import { o as Ft, s as It, t as Lt } from "./use-click-lock-BZYtTmVt.js";
19
19
  import { a as Rt, r as zt } from "./icon-sprites-CaYXzOL4.js";
20
- import "./stored-language-B1lJMPbR.js";
21
- import { a as Bt } from "./translator-BU1o3_l9.js";
20
+ import "./stored-language-_OGPBCn0.js";
21
+ import { a as Bt } from "./translator-BIVSiq4X.js";
22
22
  import { h as Vt } from "./get-CTzJAwfc.js";
23
23
  import { t as Ht } from "./isEmpty-F_g3jLf8.js";
24
- import { t as R } from "./use-material-translation-nNF8fUXz.js";
25
- import { i as Ut, r as Wt, t as Gt } from "./button-Ct8DSLVv.js";
26
- import { t as z } from "./icon-button-C3wDxsh6.js";
24
+ import { t as R } from "./use-material-translation-C_bAxfvp.js";
25
+ import { i as Ut, r as Wt, t as Gt } from "./button-CdpVEza0.js";
26
+ import { t as z } from "./icon-button-Bo-VuZ2n.js";
27
27
  import { t as Kt } from "./use-ssr-media-query-C6M5m8sf.js";
28
28
  import { n as qt, t as Jt } from "./util-4heV2LPI.js";
29
29
  import { t as Yt } from "./useEvent-2fKq-6w8.js";
30
- import { f as Xt } from "./field-blur-BcJH8H9B.js";
30
+ import { f as Xt } from "./field-blur-Nid7-bt_.js";
31
31
  import { c as Zt, i as Qt, l as $t, o as en, r as tn, s as nn, t as rn } from "./dist-C3GR7kJd.js";
32
32
  import { i as an } from "./toggle-group-BkH23Jk4.js";
33
- import { a as on, i as sn, o as cn } from "./escape-owner-DI_lg2ID.js";
33
+ import { a as on, i as sn, o as cn } from "./escape-owner-CYnfySUl.js";
34
34
  import { n as ln } from "./use-slice-reducer-BGkeGtML.js";
35
35
  import { t as un } from "./browser-only-DQ94lWF8.js";
36
36
  import { t as dn } from "./compose-refs-DZ0iIVF-.js";
37
- import { n as fn, r as pn, t as mn } from "./chip-BzoNsd-W.js";
38
- import { n as hn, t as gn } from "./icon-badge-DVPBQOKe.js";
37
+ import { n as fn, r as pn, t as mn } from "./chip-C0yNYz9m.js";
38
+ import { n as hn, t as gn } from "./icon-badge-Dcjg_SKJ.js";
39
39
  import { r as _n } from "./use-csp-nonce-ZKs9k-ov.js";
40
- import { t as vn } from "./empty-state-Bb9W9did.js";
40
+ import { t as vn } from "./empty-state-C5wfbbW9.js";
41
41
  import { t as yn } from "./skeleton-DSdtr2qc.js";
42
42
  import { H as bn, V as xn, X as Sn, bt as Cn, it as wn, lt as Tn, n as En, t as Dn, xt as On, yt as kn } from "./dist-moutbfbd.js";
43
43
  import { t as An } from "./markdown-Dw_uH7j7.js";
@@ -11353,7 +11353,7 @@ var tC = (e = {}) => jn({
11353
11353
  let [{ default: t }, { lowlight: n }, { richCodeBlock: r }] = await Promise.all([
11354
11354
  import("./dist-CRMFGjng.js"),
11355
11355
  import("./lowlight-OtcjU2Sa.js"),
11356
- import("./rich-code-block-DAUM7Yh_.js")
11356
+ import("./rich-code-block-BZYZ6ewr.js")
11357
11357
  ]);
11358
11358
  return [r(t, {
11359
11359
  lowlight: n,
@@ -1,4 +1,4 @@
1
- import { r as e } from "./i18n-provider-DlVPS58N.js";
1
+ import { r as e } from "./i18n-provider-CLVZK6tQ.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, useState as d } from "react";
4
4
  import { busySettler as f, busySettler as p, createSubmitGuard as m, createSubmitGuard as h } from "@nxgt/material-core/submit-guard";
@@ -437,10 +437,37 @@ function j(e) {
437
437
  }), [t, r]);
438
438
  }
439
439
  //#endregion
440
+ //#region lib/hooks/use-countdown.ts
441
+ function M(e, { paused: t = !1, onExpire: n, key: r } = {}) {
442
+ let [i, a] = d(e), [o, s] = d({
443
+ duration: e,
444
+ key: r
445
+ }), l = u(e), f = u(n);
446
+ f.current = n;
447
+ let p = o.duration !== e || o.key !== r;
448
+ return p && (s({
449
+ duration: e,
450
+ key: r
451
+ }), a(e)), c(() => {
452
+ l.current = e;
453
+ }, [e, r]), c(() => {
454
+ if (t || l.current <= 0) return;
455
+ let e = Date.now() + l.current * 1e3, n = window.setInterval(() => {
456
+ let t = Math.max(0, (e - Date.now()) / 1e3);
457
+ l.current = t, a(t), t <= 0 && (window.clearInterval(n), f.current?.());
458
+ }, 250);
459
+ return () => window.clearInterval(n);
460
+ }, [
461
+ t,
462
+ e,
463
+ r
464
+ ]), p ? e : i;
465
+ }
466
+ //#endregion
440
467
  //#region lib/hooks/use-heading-spy.ts
441
- var M = "0px 0px -65% 0px", N = [0, 1];
442
- function P(e, t, n) {
443
- let r = n?.rootMargin ?? M, i = n?.threshold ?? N;
468
+ var N = "0px 0px -65% 0px", P = [0, 1];
469
+ function F(e, t, n) {
470
+ let r = n?.rootMargin ?? N, i = n?.threshold ?? P;
444
471
  c(() => {
445
472
  if (e.length === 0) return;
446
473
  let n = e.map((e) => document.getElementById(e)).filter((e) => e != null);
@@ -462,4 +489,4 @@ function P(e, t, n) {
462
489
  ]);
463
490
  }
464
491
  //#endregion
465
- export { A as a, j as i, p as n, k as o, h as r, P as t };
492
+ export { j as a, h as i, M as n, A as o, p as r, k as s, F as t };
@@ -1,5 +1,5 @@
1
- import { r as e } from "./i18n-provider-DlVPS58N.js";
2
- import { t } from "./translate-material-q-JNxP1m.js";
1
+ import { r as e } from "./i18n-provider-CLVZK6tQ.js";
2
+ import { t } from "./translate-material-DzBMPErh.js";
3
3
  import { useCallback as n } from "react";
4
4
  //#region lib/i18n/use-material-translation.ts
5
5
  function r() {
@@ -64,7 +64,7 @@ Picking among options: select, combobox, autocomplete, checkbox, radio, card and
64
64
 
65
65
  ## [Data display](data-display.md)
66
66
 
67
- Read-only presentation: avatar, shape, badge, chip, stat and metric cards, card presets, list tile, timeline, code, markdown, terminal, API docs blocks, QR and barcode, two-step verification (enrolment secret, recovery codes), day separator. 28 entries.
67
+ Read-only presentation: avatar, shape, badge, chip, stat and metric cards, card presets, list tile, timeline, code, markdown, terminal, API docs blocks, QR and barcode, two-step verification (enrolment secret, recovery codes), seat ring, secret card, vote tally, day separator. 37 entries.
68
68
 
69
69
  [<img src="../previews/data-display-avatar.webp" height="72" alt="Avatar">](data-display.md#avatar)
70
70
  [<img src="../previews/data-display-shape.webp" height="72" alt="Shape">](data-display.md#shape)
@@ -869,6 +869,7 @@ stop, announced as a link.
869
869
  | `reloadDocument`, `preventScrollReset` | as `Link` | — | passed to the router link |
870
870
  | `viewTransition` | as `Link` | — | **Deprecated**, still passed to the router link: use `ActivityLayout`'s [route transition](../guides/app-shell.md#route-transitions) (React's `<ViewTransition>`); removed after React Router v9 |
871
871
  | `download` | `boolean \| string` | — | the anchor's `download` attribute: saves the target (under that name, for a string) instead of opening it |
872
+ | `linkComponent` | `LinkComponent` | React Router's `Link`, or the [`LinkComponentProvider`](./primitives.md#linkcomponentprovider)'s | renders the link with your own component, given `to` as `href` with `target` and `download`; `replace`, `state`, `reloadDocument`, `preventScrollReset` and `viewTransition` are router-only and not passed |
872
873
 
873
874
  For a file served by a route, skip the client navigation and save it:
874
875