@nxgt/material 3.93.0 → 3.94.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 +16 -0
- package/README.md +2 -1
- package/dist/{alert-dialog-D37eph4I.js → alert-dialog-BaqK-rmd.js} +1 -1
- package/dist/{async-slice-BSqwhAj-.js → async-slice-BfNpIJAH.js} +1 -1
- package/dist/{button-CG9SBAT-.js → button-CozGHXAv.js} +1 -1
- package/dist/{calculator-YD3I3y-I.js → calculator-BIx6cwgU.js} +10 -10
- package/dist/calculator-field.js +6 -6
- package/dist/{calculator-segment-Cjec9zi7.js → calculator-segment-BsaxUtzL.js} +1 -1
- package/dist/calculator.js +1 -1
- package/dist/charts.js +3 -3
- package/dist/{chip-BbUSBl3i.js → chip-DMEUGYdC.js} +2 -2
- package/dist/{code-editor-ZEM7AAcs.js → code-editor-BWfky-aN.js} +4 -4
- package/dist/code-editor.js +4 -4
- package/dist/{code-language-items-CAuHPrHd.js → code-language-items-BUaNYJuw.js} +2 -2
- package/dist/{components-CuFTrmGy.js → components-CZpdAQMh.js} +19525 -19105
- package/dist/components.js +38 -38
- package/dist/{conversion-variant-DmEtTCSP.js → conversion-variant-aIBhul_U.js} +3 -3
- package/dist/{currency-field-CabGnVO9.js → currency-field-IcEMAcAw.js} +5 -5
- package/dist/{dialog-Jhpx6ulb.js → dialog-H40HjqXN.js} +3 -3
- package/dist/dnd.js +1 -1
- package/dist/{dropdown-menu-nl0Q3tQ2.js → dropdown-menu-CawkIlW8.js} +1 -1
- package/dist/editor.js +442 -442
- package/dist/{empty-state-mrJuqph3.js → empty-state-sRVjgCis.js} +1 -1
- package/dist/{financial-variant-P8gFA9aI.js → financial-variant-Bqo9-swy.js} +5 -5
- package/dist/{hooks-CjSpziWf.js → hooks-BTj_WJm9.js} +2 -2
- package/dist/hooks.js +2 -2
- package/dist/{hover-card-BNb1M8ij.js → hover-card-BZU1DWGY.js} +1 -1
- package/dist/i18n.js +3 -3
- package/dist/{icon-badge-CVMHwdFm.js → icon-badge-CXgvqMsM.js} +1 -1
- package/dist/{icon-button-Ch0PThsa.js → icon-button-B9WjQ3RO.js} +1 -1
- package/dist/{input-group-CPMSQcBx.js → input-group-Df9vp2EZ.js} +1 -1
- package/dist/lib/components/ui/display/entity-header/entity-metadata.d.ts +0 -7
- package/dist/lib/components/ui/display/entity-header/entity-stats.d.ts +2 -1
- package/dist/lib/components/ui/display/markdown/markdown.d.ts +2 -2
- package/dist/lib/components/ui/display/markdown/rehype-katex-classes.d.ts +21 -0
- package/dist/lib/components/ui/fields/contacts/placeholders.d.ts +1 -1
- package/dist/lib/components/ui/fields/index.d.ts +1 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/index.d.ts +2 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/markdown-preview.d.ts +6 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/markdown-syntax-help.d.ts +4 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/markdown-tabs.d.ts +13 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/markdown-textarea-field.d.ts +23 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/markdown-textarea-form-field.d.ts +3 -0
- package/dist/lib/components/ui/fields/markdown-textarea-field/use-text-value.d.ts +6 -0
- package/dist/lib/components/ui/widgets/education/questions/index.d.ts +1 -1
- package/dist/lib/components/ui/widgets/education/questions/partials/question-hints.d.ts +9 -0
- package/dist/lib/components/ui/widgets/education/questions/partials/question-reveal.d.ts +13 -0
- package/dist/lib/components/ui/widgets/education/questions/partials/rich-text.d.ts +17 -0
- package/dist/lib/components/ui/widgets/education/questions/types.d.ts +40 -1
- package/dist/lib/i18n/resources/en/en.d.ts +24 -0
- package/dist/lib/i18n/resources/en/material.json.d.ts +24 -0
- package/dist/lib/i18n/resources/fr/fr.d.ts +24 -0
- package/dist/lib/i18n/resources/fr/material.json.d.ts +24 -0
- package/dist/lib/i18n/resources/resources.d.ts +48 -0
- package/dist/lib/i18n/translator.d.ts +1 -1
- package/dist/lib.js +1 -1
- package/dist/main.js +54 -54
- package/dist/map.js +7 -7
- package/dist/material.css +1 -1
- package/dist/pdf-reader.js +1 -1
- package/dist/{percent-field-TWyupyr_.js → percent-field-DrI4_J7x.js} +1 -1
- package/dist/{picker-surface-CoNsDWxX.js → picker-surface-D2aYI4v7.js} +4 -4
- package/dist/{popover-BA1U82Wk.js → popover-QQYPWzw6.js} +1 -1
- package/dist/{pos-types-BQqv-kb6.js → pos-types-BIeZGGAs.js} +1 -1
- package/dist/{pos-variant-D043n5y8.js → pos-variant-Cdn1AVoA.js} +4 -4
- package/dist/print.js +1 -1
- package/dist/{programmer-variant-jneMqtLs.js → programmer-variant-CMBybkqw.js} +2 -2
- package/dist/{public-DgrbdeZj.js → public-CPxFxbi4.js} +9 -9
- package/dist/{rich-code-block-CGNjHawR.js → rich-code-block-DKJ8eKzL.js} +5 -5
- package/dist/{scientific-variant-1L7brNNT.js → scientific-variant-CXL1ayb7.js} +2 -2
- package/dist/{sortable-provider-DZLV_svg.js → sortable-provider-BYqwwyr1.js} +2 -2
- package/dist/{spinner-CQqRWxAW.js → spinner-D7ol2n_-.js} +1 -1
- package/dist/{tabs-DQTx3C8e.js → tabs-DyiFTy5g.js} +1 -1
- package/dist/theme-picker.js +2 -2
- package/dist/{theme-toggle-3NQ3VmJH.js → theme-toggle-QZ0bIrg9.js} +1 -1
- package/dist/{toolbar-items-BYCdJGUf.js → toolbar-items-BpOEBsSt.js} +4 -4
- package/dist/{translate-material-jxfcGlD5.js → translate-material-DlMetRSJ.js} +1 -1
- package/dist/{translator-6XuDmqUJ.js → translator-VtzVrnLm.js} +48 -0
- package/dist/{use-chat-composer-1eb4I1kM.js → use-chat-composer-DQ2rTD_q.js} +17 -17
- package/dist/{use-heading-spy-CzPujlKr.js → use-heading-spy-17B5xa7B.js} +4 -4
- package/dist/{use-material-translation-BUPqNmAg.js → use-material-translation-Cx5u36V5.js} +1 -1
- package/dist/{use-return-focus-B_enQxp5.js → use-return-focus-S7g7q_Yn.js} +1 -1
- package/docs/components/data-display.md +7 -6
- package/docs/components/form-fields.md +39 -0
- package/docs/components/rich-widgets.md +29 -0
- package/docs/guides/csp.md +20 -8
- package/docs/guides/forms.md +1 -0
- package/docs/guides/i18n.md +1 -1
- package/docs/previews/data-display-entityheader.webp +0 -0
- package/docs/previews/form-fields-markdowntextareafield.webp +0 -0
- package/docs/troubleshooting.md +22 -6
- package/package.json +1 -1
package/dist/pdf-reader.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as e } from "./currency-field-
|
|
1
|
+
import { r as e } from "./currency-field-IcEMAcAw.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
//#region lib/components/ui/fields/percent-field/percent-field.tsx
|
|
4
4
|
function n({ min: n = 0, max: r = 100, step: i = 1, ...a }) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { r as t, t as n } from "./in-dialog-D61Yeaol.js";
|
|
3
|
-
import { a as r, c as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./use-return-focus-
|
|
4
|
-
import { i as p, o as m, r as h, t as g } from "./popover-
|
|
5
|
-
import { t as _ } from "./use-material-translation-
|
|
6
|
-
import { n as v, t as y } from "./icon-button-
|
|
3
|
+
import { a as r, c as i, i as a, l as o, n as s, o as c, r as l, s as u, t as d, u as f } from "./use-return-focus-S7g7q_Yn.js";
|
|
4
|
+
import { i as p, o as m, r as h, t as g } from "./popover-QQYPWzw6.js";
|
|
5
|
+
import { t as _ } from "./use-material-translation-Cx5u36V5.js";
|
|
6
|
+
import { n as v, t as y } from "./icon-button-B9WjQ3RO.js";
|
|
7
7
|
import { t as b } from "./use-ssr-media-query-C6M5m8sf.js";
|
|
8
8
|
import { i as x } from "./escape-owner-DpaP0lm1.js";
|
|
9
9
|
import * as S from "react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { o as t, r as n } from "./dist-DVRQkaTK.js";
|
|
3
3
|
import { i as r, r as i, t as a } from "./dist-DWZXlCZR.js";
|
|
4
|
-
import { S as o, d as s, f as c, l, p as u, u as d, x as f } from "./spinner-
|
|
4
|
+
import { S as o, d as s, f as c, l, p as u, u as d, x as f } from "./spinner-D7ol2n_-.js";
|
|
5
5
|
import { a as p, i as m, r as h } from "./dist-DHdUUM1w.js";
|
|
6
6
|
import { a as g, c as _, l as v, o as y, r as b, s as x, t as S } from "./in-dialog-D61Yeaol.js";
|
|
7
7
|
import { i as C } from "./escape-owner-DpaP0lm1.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./use-material-translation-
|
|
1
|
+
import { t as e } from "./use-material-translation-Cx5u36V5.js";
|
|
2
2
|
import { n as t } from "./calculator-context-BugcKuVG.js";
|
|
3
3
|
import { t as n } from "./calculator-announce-DRd2c6Dq.js";
|
|
4
4
|
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { t } from "./use-material-translation-
|
|
3
|
-
import { t as n } from "./icon-button-
|
|
2
|
+
import { t } from "./use-material-translation-Cx5u36V5.js";
|
|
3
|
+
import { t as n } from "./icon-button-B9WjQ3RO.js";
|
|
4
4
|
import { n as r } from "./calculator-context-BugcKuVG.js";
|
|
5
|
-
import { a as i, n as a, r as o, t as s } from "./pos-types-
|
|
5
|
+
import { a as i, n as a, r as o, t as s } from "./pos-types-BIeZGGAs.js";
|
|
6
6
|
import { i as c, n as l, s as u } from "./key-layout-cR79xfGE.js";
|
|
7
7
|
import { n as d, t as f } from "./currency-B-r3ig11.js";
|
|
8
|
-
import { t as p } from "./calculator-segment-
|
|
8
|
+
import { t as p } from "./calculator-segment-BsaxUtzL.js";
|
|
9
9
|
import { useId as m, useState as h } from "react";
|
|
10
10
|
import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
|
|
11
11
|
import { ChevronDown as y, X as b } from "lucide-react";
|
package/dist/print.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as e, t } from "./translate-material-
|
|
1
|
+
import { i as e, t } from "./translate-material-DlMetRSJ.js";
|
|
2
2
|
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";
|
|
3
3
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
4
4
|
import { resolvePdfFileName as f } from "@nxgt/material-core/pdf-file-name";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { t as e } from "./use-material-translation-
|
|
1
|
+
import { t as e } from "./use-material-translation-Cx5u36V5.js";
|
|
2
2
|
import { t } from "./toggle-FeCCJqbg.js";
|
|
3
3
|
import { n } from "./calculator-context-BugcKuVG.js";
|
|
4
4
|
import { i as r, n as i, s as a } from "./key-layout-cR79xfGE.js";
|
|
5
5
|
import { t as o } from "./programmer-word-CNCF7DJF.js";
|
|
6
|
-
import { t as s } from "./calculator-segment-
|
|
6
|
+
import { t as s } from "./calculator-segment-BsaxUtzL.js";
|
|
7
7
|
import { useId as c, useState as l } from "react";
|
|
8
8
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
9
9
|
import { calculate as f, formatExpression as p, sessionOptions as m, toCanonical as h, tokenize as g } from "@nxgt/material-core/calculator";
|
|
@@ -3,25 +3,25 @@ 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 { i, n as a, r as o } from "./dist-DWZXlCZR.js";
|
|
6
|
-
import { o as s } from "./spinner-
|
|
6
|
+
import { o as s } from "./spinner-D7ol2n_-.js";
|
|
7
7
|
import { a as c, i as l, n as u } from "./dist-DHdUUM1w.js";
|
|
8
8
|
import { i as d } from "./dist-DOK3zo5C.js";
|
|
9
9
|
import { r as f, t as p } from "./in-dialog-D61Yeaol.js";
|
|
10
|
-
import { a as m, c as h, i as g, l as _, n as v, o as ee, r as y, s as b, t as te, u as ne } from "./use-return-focus-
|
|
11
|
-
import { c as x, d as S, f as C, i as w, l as T, n as E, o as D, t as re, u as O } from "./dropdown-menu-
|
|
12
|
-
import { a as k, b as ie, d as ae, f as oe, i as se, n as A, o as ce, r as le, s as j, t as M, u as ue, v as de } from "./toolbar-items-
|
|
10
|
+
import { a as m, c as h, i as g, l as _, n as v, o as ee, r as y, s as b, t as te, u as ne } from "./use-return-focus-S7g7q_Yn.js";
|
|
11
|
+
import { c as x, d as S, f as C, i as w, l as T, n as E, o as D, t as re, u as O } from "./dropdown-menu-CawkIlW8.js";
|
|
12
|
+
import { a as k, b as ie, d as ae, f as oe, i as se, n as A, o as ce, r as le, s as j, t as M, u as ue, v as de } from "./toolbar-items-BpOEBsSt.js";
|
|
13
13
|
import { t as fe } from "./dist-DkQbkF9T.js";
|
|
14
|
-
import { t as pe } from "./button-
|
|
15
|
-
import { t as N } from "./use-material-translation-
|
|
16
|
-
import { n as me, t as he } from "./icon-button-
|
|
14
|
+
import { t as pe } from "./button-CozGHXAv.js";
|
|
15
|
+
import { t as N } from "./use-material-translation-Cx5u36V5.js";
|
|
16
|
+
import { n as me, t as he } from "./icon-button-B9WjQ3RO.js";
|
|
17
17
|
import { t as ge } from "./useEvent-2fKq-6w8.js";
|
|
18
18
|
import { n as _e, t as ve } from "./toggle-group-CVMxEpWi.js";
|
|
19
19
|
import { i as ye } from "./escape-owner-DpaP0lm1.js";
|
|
20
20
|
import { n as be } from "./use-slice-reducer-BGkeGtML.js";
|
|
21
21
|
import { t as xe } from "./input-CC2joTjB.js";
|
|
22
22
|
import { r as Se } from "./use-csp-nonce-ZKs9k-ov.js";
|
|
23
|
-
import { n as Ce, t as we } from "./empty-state-
|
|
24
|
-
import { r as Te, t as Ee, u as De } from "./dialog-
|
|
23
|
+
import { n as Ce, t as we } from "./empty-state-sRVjgCis.js";
|
|
24
|
+
import { r as Te, t as Ee, u as De } from "./dialog-H40HjqXN.js";
|
|
25
25
|
import { t as Oe } from "./client-only.utils-3nHNzCki.js";
|
|
26
26
|
import { t as ke } from "./use-scroll-away-PQRFZkT2.js";
|
|
27
27
|
import * as P from "react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as e } from "./spinner-
|
|
2
|
-
import { c as t, n, t as r } from "./dropdown-menu-
|
|
3
|
-
import { t as i } from "./use-material-translation-
|
|
4
|
-
import { a, i as o, n as s, o as c, t as l } from "./code-language-items-
|
|
1
|
+
import { n as e } from "./spinner-D7ol2n_-.js";
|
|
2
|
+
import { c as t, n, t as r } from "./dropdown-menu-CawkIlW8.js";
|
|
3
|
+
import { t as i } from "./use-material-translation-Cx5u36V5.js";
|
|
4
|
+
import { a, i as o, n as s, o as c, t as l } from "./code-language-items-BUaNYJuw.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-
|
|
146
|
+
var N = g(() => import("./code-editor-BWfky-aN.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,9 +1,9 @@
|
|
|
1
|
-
import { t as e } from "./use-material-translation-
|
|
1
|
+
import { t as e } from "./use-material-translation-Cx5u36V5.js";
|
|
2
2
|
import { t } from "./toggle-FeCCJqbg.js";
|
|
3
3
|
import { n } from "./calculator-context-BugcKuVG.js";
|
|
4
4
|
import { i as r, o as i } from "./key-layout-cR79xfGE.js";
|
|
5
5
|
import { t as a } from "./standard-layout-BuSRr3TY.js";
|
|
6
|
-
import { t as o } from "./calculator-segment-
|
|
6
|
+
import { t as o } from "./calculator-segment-BsaxUtzL.js";
|
|
7
7
|
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
8
8
|
import { scientificOptions as l } from "@nxgt/material-core/calculator/scientific";
|
|
9
9
|
//#region lib/components/ui/widgets/calculator/variants/scientific/scientific-layout.ts
|
|
@@ -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-
|
|
4
|
-
import { t as r } from "./icon-button-
|
|
3
|
+
import { t as n } from "./use-material-translation-Cx5u36V5.js";
|
|
4
|
+
import { t as r } from "./icon-button-B9WjQ3RO.js";
|
|
5
5
|
import { t as i } from "./compose-refs-G4J4kaUA.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";
|
|
@@ -5,7 +5,7 @@ import { a as i, i as a, n as o, r as s, t as c } from "./dist-DWZXlCZR.js";
|
|
|
5
5
|
import { a as l, i as u, n as d, r as f, t as p } from "./dist-DHdUUM1w.js";
|
|
6
6
|
import { a as m, c as h, d as g, i as _, l as v, o as y, r as b, t as x, u as S } from "./floating-ui.dom-KkZSW8_E.js";
|
|
7
7
|
import { t as C } from "./dist-DkQbkF9T.js";
|
|
8
|
-
import { t as w } from "./use-material-translation-
|
|
8
|
+
import { t as w } from "./use-material-translation-Cx5u36V5.js";
|
|
9
9
|
import * as T from "react";
|
|
10
10
|
import { useLayoutEffect as E, useRef as D, useSyncExternalStore as O } from "react";
|
|
11
11
|
import { jsx as k, jsxs as A } from "react/jsx-runtime";
|
|
@@ -3,7 +3,7 @@ import { n as t } from "./dist-DVRQkaTK.js";
|
|
|
3
3
|
import { i as n, r, t as i } from "./dist-DWZXlCZR.js";
|
|
4
4
|
import { a, i as o, r as s } from "./dist-DHdUUM1w.js";
|
|
5
5
|
import { i as c, n as l, r as u, t as d } from "./dist-DOK3zo5C.js";
|
|
6
|
-
import { t as f } from "./use-material-translation-
|
|
6
|
+
import { t as f } from "./use-material-translation-Cx5u36V5.js";
|
|
7
7
|
import * as p from "react";
|
|
8
8
|
import { createContext as m, useCallback as h, useContext as g, useEffect as ee, useLayoutEffect as _, useRef as v, useState as te } from "react";
|
|
9
9
|
import { Fragment as ne, jsx as y, jsxs as b } from "react/jsx-runtime";
|
package/dist/theme-picker.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { a as t, i as n, n as r, o as i, r as a, t as o } from "./bubble-input-CQwVSoU3.js";
|
|
3
3
|
import { a as s, r as c } from "./icon-sprites-CaYXzOL4.js";
|
|
4
|
-
import { t as l } from "./use-material-translation-
|
|
4
|
+
import { t as l } from "./use-material-translation-Cx5u36V5.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-
|
|
7
|
+
import { t as p } from "./theme-toggle-QZ0bIrg9.js";
|
|
8
8
|
import { n as m, t as h } from "./nxgt-theme-DA1IQe0O.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-
|
|
1
|
+
import { t as e } from "./use-material-translation-Cx5u36V5.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";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
2
|
import { o as t, t as n } from "./dist-DVRQkaTK.js";
|
|
3
3
|
import { i as r, r as i } from "./dist-DWZXlCZR.js";
|
|
4
|
-
import { n as a } from "./spinner-
|
|
4
|
+
import { n as a } from "./spinner-D7ol2n_-.js";
|
|
5
5
|
import { a as o } from "./dist-DHdUUM1w.js";
|
|
6
6
|
import { i as s, n as c, r as l, t as u } from "./dist-DOK3zo5C.js";
|
|
7
7
|
import { t as d } from "./in-dialog-D61Yeaol.js";
|
|
8
|
-
import { A as f, M as p, N as m, b as h, d as g, f as _, i as v, j as y, l as b, n as x, o as S, r as C, t as w, u as T, y as ee } from "./dropdown-menu-
|
|
9
|
-
import { a as te, n as ne } from "./popover-
|
|
8
|
+
import { A as f, M as p, N as m, b as h, d as g, f as _, i as v, j as y, l as b, n as x, o as S, r as C, t as w, u as T, y as ee } from "./dropdown-menu-CawkIlW8.js";
|
|
9
|
+
import { a as te, n as ne } from "./popover-QQYPWzw6.js";
|
|
10
10
|
import { i as re, n as ie, r as ae, t as oe } from "./dist-BZe2evxL.js";
|
|
11
11
|
import { t as se } from "./warn-once-C_e47JM8.js";
|
|
12
|
-
import { t as ce } from "./use-material-translation-
|
|
12
|
+
import { t as ce } from "./use-material-translation-Cx5u36V5.js";
|
|
13
13
|
import * as E from "react";
|
|
14
14
|
import { createContext as D, useCallback as le, useContext as O, useEffect as k, useId as ue, useLayoutEffect as A, useMemo as j, useReducer as de, useRef as M, useState as N } from "react";
|
|
15
15
|
import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, l as t, r as n, s as r, t as i, u as a } from "./translator-
|
|
1
|
+
import { a as e, l as t, r as n, s as r, t as i, u as a } from "./translator-VtzVrnLm.js";
|
|
2
2
|
import { createContext as o, useCallback as s, useContext as c, useEffect as l, useMemo as u, useRef as d, useState as f } from "react";
|
|
3
3
|
import { jsx as p } from "react/jsx-runtime";
|
|
4
4
|
//#region lib/i18n/material-resources-registry.ts
|
|
@@ -365,6 +365,17 @@ var r = {
|
|
|
365
365
|
hint: "Hint",
|
|
366
366
|
"show-hint": "Show hint",
|
|
367
367
|
"hide-hint": "Hide hint",
|
|
368
|
+
rich: {
|
|
369
|
+
hints: "Hints",
|
|
370
|
+
"show-next-hint": "Show hint {number} of {total}",
|
|
371
|
+
"hint-n": "Hint {number} of {total}",
|
|
372
|
+
"option-explanations": "About each answer",
|
|
373
|
+
references: "References",
|
|
374
|
+
"new-tab": "(external link)",
|
|
375
|
+
examples: "Examples",
|
|
376
|
+
"example-input": "Input",
|
|
377
|
+
"example-expected": "Expected"
|
|
378
|
+
},
|
|
368
379
|
correct: "Correct!",
|
|
369
380
|
incorrect: "Not quite",
|
|
370
381
|
unanswered: "Not answered",
|
|
@@ -1320,6 +1331,19 @@ var r = {
|
|
|
1320
1331
|
unit: "Unit",
|
|
1321
1332
|
"unit-named": "{label} unit"
|
|
1322
1333
|
},
|
|
1334
|
+
"markdown-textarea-field": {
|
|
1335
|
+
write: "Write",
|
|
1336
|
+
preview: "Preview",
|
|
1337
|
+
mode: "Editor mode",
|
|
1338
|
+
empty: "Nothing to preview",
|
|
1339
|
+
help: "Formatting help",
|
|
1340
|
+
"help-bold": "Bold",
|
|
1341
|
+
"help-list": "List",
|
|
1342
|
+
"help-code": "Code",
|
|
1343
|
+
"help-inline-math": "Math in a line",
|
|
1344
|
+
"help-block-math": "Math on its own line",
|
|
1345
|
+
"help-escape": "A literal dollar sign"
|
|
1346
|
+
},
|
|
1323
1347
|
"textarea-field": { count: "{count}/{max}" },
|
|
1324
1348
|
skeleton: { loading: "Loading" },
|
|
1325
1349
|
chip: {
|
|
@@ -3850,6 +3874,17 @@ var r = {
|
|
|
3850
3874
|
hint: "Indice",
|
|
3851
3875
|
"show-hint": "Afficher l’indice",
|
|
3852
3876
|
"hide-hint": "Masquer l’indice",
|
|
3877
|
+
rich: {
|
|
3878
|
+
hints: "Indices",
|
|
3879
|
+
"show-next-hint": "Afficher l’indice {number} sur {total}",
|
|
3880
|
+
"hint-n": "Indice {number} sur {total}",
|
|
3881
|
+
"option-explanations": "À propos de chaque réponse",
|
|
3882
|
+
references: "Références",
|
|
3883
|
+
"new-tab": "(lien externe)",
|
|
3884
|
+
examples: "Exemples",
|
|
3885
|
+
"example-input": "Entrée",
|
|
3886
|
+
"example-expected": "Attendu"
|
|
3887
|
+
},
|
|
3853
3888
|
correct: "Bonne réponse !",
|
|
3854
3889
|
incorrect: "Pas tout à fait",
|
|
3855
3890
|
unanswered: "Sans réponse",
|
|
@@ -4805,6 +4840,19 @@ var r = {
|
|
|
4805
4840
|
unit: "Unité",
|
|
4806
4841
|
"unit-named": "Unité de {label}"
|
|
4807
4842
|
},
|
|
4843
|
+
"markdown-textarea-field": {
|
|
4844
|
+
write: "Écrire",
|
|
4845
|
+
preview: "Aperçu",
|
|
4846
|
+
mode: "Mode de l'éditeur",
|
|
4847
|
+
empty: "Rien à prévisualiser",
|
|
4848
|
+
help: "Aide à la mise en forme",
|
|
4849
|
+
"help-bold": "Gras",
|
|
4850
|
+
"help-list": "Liste",
|
|
4851
|
+
"help-code": "Code",
|
|
4852
|
+
"help-inline-math": "Formule dans une ligne",
|
|
4853
|
+
"help-block-math": "Formule sur sa propre ligne",
|
|
4854
|
+
"help-escape": "Un signe dollar littéral"
|
|
4855
|
+
},
|
|
4808
4856
|
"textarea-field": { count: "{count}/{max}" },
|
|
4809
4857
|
skeleton: { loading: "Chargement" },
|
|
4810
4858
|
chip: {
|
|
@@ -4,28 +4,28 @@ import { t as n } from "./utils-BLfntITJ.js";
|
|
|
4
4
|
import { n as r } from "./use-shape-morph-BKA_R5P5.js";
|
|
5
5
|
import { n as i, o as a, t as o } from "./dist-DVRQkaTK.js";
|
|
6
6
|
import { i as s, n as c, r as l, t as u } from "./dist-DWZXlCZR.js";
|
|
7
|
-
import { _ as d, a as f, b as p, g as m, h, i as g, m as _, n as v, o as y, r as b, s as x, t as S, v as C, y as w } from "./spinner-
|
|
7
|
+
import { _ as d, a as f, b as p, g as m, h, i as g, m as _, n as v, o as y, r as b, s as x, t as S, v as C, y as w } from "./spinner-D7ol2n_-.js";
|
|
8
8
|
import { a as T, i as E, n as D, r as O, t as k } from "./dist-DHdUUM1w.js";
|
|
9
9
|
import { a as A, i as ee } from "./dist-DOK3zo5C.js";
|
|
10
10
|
import { i as j, n as M } from "./in-dialog-D61Yeaol.js";
|
|
11
|
-
import { c as N, l as P, n as te, r as F, t as ne } from "./alert-dialog-
|
|
11
|
+
import { c as N, l as P, n as te, r as F, t as ne } from "./alert-dialog-BaqK-rmd.js";
|
|
12
12
|
import { A as re, C as ie, D as ae, E as oe, O as se, S as I, T as ce, _ as le, a as ue, b as de, d as fe, f as pe, g as me, h as he, i as ge, k as _e, l as ve, m as ye, n as be, o as xe, p as Se, r as Ce, s as we, t as Te, u as Ee, v as De, w as Oe, x as ke, y as Ae } from "./floating-ui.dom-KkZSW8_E.js";
|
|
13
|
-
import { D as je, E as Me, N as Ne, O as Pe, c as Fe, d as Ie, f as Le, i as Re, k as ze, m as Be, n as Ve, o as He, p as Ue, t as We, u as Ge } from "./dropdown-menu-
|
|
13
|
+
import { D as je, E as Me, N as Ne, O as Pe, c as Fe, d as Ie, f as Le, i as Re, k as ze, m as Be, n as Ve, o as He, p as Ue, t as We, u as Ge } from "./dropdown-menu-CawkIlW8.js";
|
|
14
14
|
import { a as Ke, i as qe, n as Je } from "./field-blur-context-BLGgf_3z.js";
|
|
15
|
-
import { i as Ye, n as Xe, r as Ze, t as Qe } from "./popover-
|
|
15
|
+
import { i as Ye, n as Xe, r as Ze, t as Qe } from "./popover-QQYPWzw6.js";
|
|
16
16
|
import { a as $e, i as et, n as tt, o as nt, t as rt } from "./bubble-input-CQwVSoU3.js";
|
|
17
|
-
import { d as it, n as at, r as ot, t as st } from "./tabs-
|
|
18
|
-
import { a as ct, n as lt, o as ut, s as dt, v as ft, y as pt } from "./toolbar-items-
|
|
17
|
+
import { d as it, n as at, r as ot, t as st } from "./tabs-DyiFTy5g.js";
|
|
18
|
+
import { a as ct, n as lt, o as ut, s as dt, v as ft, y as pt } from "./toolbar-items-BpOEBsSt.js";
|
|
19
19
|
import { t as mt } from "./dist-DkQbkF9T.js";
|
|
20
20
|
import { o as ht, s as gt, t as _t } from "./use-click-lock-Bwg_caHO.js";
|
|
21
21
|
import { a as vt, r as yt } from "./icon-sprites-CaYXzOL4.js";
|
|
22
22
|
import { t as bt } from "./warn-once-C_e47JM8.js";
|
|
23
|
-
import { r as xt, t as St } from "./button-
|
|
24
|
-
import { a as Ct } from "./translator-
|
|
23
|
+
import { r as xt, t as St } from "./button-CozGHXAv.js";
|
|
24
|
+
import { a as Ct } from "./translator-VtzVrnLm.js";
|
|
25
25
|
import { h as wt } from "./get-CTzJAwfc.js";
|
|
26
26
|
import { t as Tt } from "./isEmpty-F_g3jLf8.js";
|
|
27
|
-
import { t as L } from "./use-material-translation-
|
|
28
|
-
import { t as R } from "./icon-button-
|
|
27
|
+
import { t as L } from "./use-material-translation-Cx5u36V5.js";
|
|
28
|
+
import { t as R } from "./icon-button-B9WjQ3RO.js";
|
|
29
29
|
import { t as Et } from "./use-ssr-media-query-C6M5m8sf.js";
|
|
30
30
|
import { n as Dt, t as Ot } from "./typography-CYEquVeb.js";
|
|
31
31
|
import { n as kt, t as At } from "./util-4heV2LPI.js";
|
|
@@ -36,15 +36,15 @@ import { a as Bt } from "./toggle-group-CVMxEpWi.js";
|
|
|
36
36
|
import { n as Vt } from "./use-slice-reducer-BGkeGtML.js";
|
|
37
37
|
import { t as Ht } from "./browser-only-DQ94lWF8.js";
|
|
38
38
|
import { t as Ut } from "./compose-refs-G4J4kaUA.js";
|
|
39
|
-
import { n as Wt, r as Gt, t as Kt } from "./chip-
|
|
39
|
+
import { n as Wt, r as Gt, t as Kt } from "./chip-DMEUGYdC.js";
|
|
40
40
|
import { c as qt, o as Jt, r as Yt, s as Xt, t as Zt } from "./input-CC2joTjB.js";
|
|
41
|
-
import { i as Qt, n as $t, t as en } from "./input-group-
|
|
41
|
+
import { i as Qt, n as $t, t as en } from "./input-group-Df9vp2EZ.js";
|
|
42
42
|
import { t as tn } from "./text-field-BAdY-kpO.js";
|
|
43
43
|
import { r as nn } from "./use-csp-nonce-ZKs9k-ov.js";
|
|
44
|
-
import { t as rn } from "./empty-state-
|
|
44
|
+
import { t as rn } from "./empty-state-sRVjgCis.js";
|
|
45
45
|
import { t as an } from "./skeleton-DSdtr2qc.js";
|
|
46
|
-
import { l as on, n as sn, o as cn, r as ln, s as un, t as dn, u as fn } from "./dialog-
|
|
47
|
-
import { t as pn } from "./icon-badge-
|
|
46
|
+
import { l as on, n as sn, o as cn, r as ln, s as un, t as dn, u as fn } from "./dialog-H40HjqXN.js";
|
|
47
|
+
import { t as pn } from "./icon-badge-CXgvqMsM.js";
|
|
48
48
|
import { H as mn, V as hn, X as gn, bt as _n, it as vn, lt as yn, n as bn, t as xn, xt as Sn, yt as Cn } from "./dist-moutbfbd.js";
|
|
49
49
|
import { t as wn } from "./markdown-Dw_uH7j7.js";
|
|
50
50
|
import { r as Tn, t as En } from "./create-store-Dqp-PLLn.js";
|
|
@@ -11180,7 +11180,7 @@ var eS = (e = {}) => Tn({
|
|
|
11180
11180
|
let [{ default: t }, { lowlight: n }, { richCodeBlock: r }] = await Promise.all([
|
|
11181
11181
|
import("./dist-CRMFGjng.js"),
|
|
11182
11182
|
import("./lowlight-OtcjU2Sa.js"),
|
|
11183
|
-
import("./rich-code-block-
|
|
11183
|
+
import("./rich-code-block-DKJ8eKzL.js")
|
|
11184
11184
|
]);
|
|
11185
11185
|
return [r(t, {
|
|
11186
11186
|
lowlight: n,
|
|
@@ -23886,4 +23886,4 @@ function PL({ value: e, onSend: t, placeholder: n, disabled: r, isLoading: i, se
|
|
|
23886
23886
|
};
|
|
23887
23887
|
}
|
|
23888
23888
|
//#endregion
|
|
23889
|
-
export { rP as $,
|
|
23889
|
+
export { rP as $, bv as $n, yg as $r, PT as $t, zF as A, Ul as Ai, mb as An, x_ as Ar, dk as At, dF as B, Ps as Bi, Hy as Bn, r_ as Br, xD as Bt, GI as C, J as Ci, $b as Cn, M_ as Cr, Zk as Ct, rI as D, Yl as Di, gb as Dn, k_ as Dr, Ok as Dt, oI as E, Zl as Ei, xb as En, E_ as Er, Mk as Et, bF as F, Sl as Fi, Jy as Fn, u_ as Fr, AD as Ft, jP as G, oy as Gn, Qg as Gr, jE as Gt, oF as H, Cs as Hi, My as Hn, t_ as Hr, RE as Ht, _F as I, xl as Ii, Wy as In, d_ as Ir, ED as It, EP as J, wv as Jn, Wg as Jr, fE as Jt, AP as K, Qv as Kn, Jg as Kr, mE as Kt, hF as L, bl as Li, qy as Ln, l_ as Lr, DD as Lt, SF as M, Fl as Mi, Zy as Mn, S_ as Mr, zO as Mt, CF as N, Pl as Ni, Xy as Nn, v_ as Nr, kD as Nt, JF as O, ql as Oi, pb as On, C_ as Or, Tk as Ot, yF as P, Nl as Pi, Yy as Pn, g_ as Pr, jD as Pt, uP as Q, Sv as Qn, Sg as Qr, FT as Qt, fF as R, Hs as Ri, Gy as Rn, c_ as Rr, OD as Rt, qI as S, Xu as Si, nx as Sn, z_ as Sr, Qk as St, uI as T, eu as Ti, Pb as Tn, A_ as Tr, Ik as Tt, cF as U, gs as Ui, Ay as Un, e_ as Ur, FE as Ut, lF as V, zs as Vi, Vy as Vn, n_ as Vr, yD as Vt, sF as W, _s as Wi, ty as Wn, $g as Wr, PE as Wt, xP as X, Cv as Xn, zg as Xr, $ as Xt, SP as Y, Tv as Yn, Vg as Yr, dE as Yt, vP as Z, kv as Zn, Tg as Zr, IT as Zt, gL as _, Bf as _i, Kx as _n, F_ as _r, uA as _t, AL as a, ag as ai, LC as an, dv as ar, kj as at, sL as b, Rd as bi, px as bn, R_ as br, iA as bt, DL as c, Yh as ci, AC as cn, sv as cr, gj as ct, wL as d, Mh as di, vC as dn, q_ as dr, sj as dt, vg as ei, NT as en, gv as er, QN as et, SL as f, Z as fi, gC as fn, J_ as fr, tj as ft, bL as g, X as gi, Qx as gn, L_ as gr, hA as gt, xL as h, Qm as hi, eS as hn, B_ as hr, _A as ht, ML as i, lg as ii, UC as in, uv as ir, Aj as it, OF as j, Hl as ji, ob as jn, b_ as jr, $O as jt, GF as k, Wl as ki, hb as kn, T_ as kr, mk as kt, EL as l, Bh as li, DC as ln, av as lr, hj as lt, yL as m, dh as mi, dC as mn, K_ as mr, FA as mt, PL as n, fg as ni, AT as nn, mv as nr, sM as nt, kL as o, ng as oi, MC as on, fv as or, Oj as ot, vL as p, ph as pi, fC as pn, G_ as pr, ZA as pt, DP as q, Yv as qn, Gg as qr, pE as qt, jL as r, dg as ri, kT as rn, hv as rr, Bj as rt, OL as s, eg as si, jC as sn, ov as sr, Dj as st, NL as t, mg as ti, jT as tn, vv as tr, cM as tt, TL as u, Fh as ui, wC as un, Y_ as ur, fj as ut, _L as v, Vf as vi, Sx as vn, P_ as vr, lA as vt, WI as w, q as wi, Wb as wn, j_ as wr, Hk as wt, QI as x, ld as xi, ux as xn, N_ as xr, tA as xt, hL as y, Jd as yi, xx as yn, I_ as yr, cA as yt, uF as z, Is as zi, Ky as zn, a_ as zr, TD as zt };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as e } from "./utils-BLfntITJ.js";
|
|
2
|
-
import { a as t, c as n, d as r, i, n as a, r as o, t as s, u as c } from "./alert-dialog-
|
|
3
|
-
import { a as l } from "./button-
|
|
4
|
-
import { i as u } from "./translate-material-
|
|
5
|
-
import { t as d } from "./use-material-translation-
|
|
2
|
+
import { a as t, c as n, d as r, i, n as a, r as o, t as s, u as c } from "./alert-dialog-BaqK-rmd.js";
|
|
3
|
+
import { a as l } from "./button-CozGHXAv.js";
|
|
4
|
+
import { i as u } from "./translate-material-DlMetRSJ.js";
|
|
5
|
+
import { t as d } from "./use-material-translation-Cx5u36V5.js";
|
|
6
6
|
import { _ as f, g as p, h as m, t as h, v as g, y as _ } from "./date.utils-JTEIo3mM.js";
|
|
7
7
|
import { useCallback as v, useEffect as y, useMemo as b, useRef as x, useState as S } from "react";
|
|
8
8
|
import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as e, r as t } from "./dist-DVRQkaTK.js";
|
|
2
2
|
import { i as n, n as r, r as i, t as a } from "./dist-DWZXlCZR.js";
|
|
3
|
-
import { C as o, S as s, x as c } from "./spinner-
|
|
3
|
+
import { C as o, S as s, x as c } from "./spinner-D7ol2n_-.js";
|
|
4
4
|
import { a as l, i as u, r as d } from "./dist-DHdUUM1w.js";
|
|
5
5
|
import { c as f, i as p, l as m, o as h, r as g, s as ee } from "./in-dialog-D61Yeaol.js";
|
|
6
6
|
import { r as te } from "./escape-owner-DpaP0lm1.js";
|
|
@@ -1053,12 +1053,12 @@ import { Badge, EntityHeader } from '@nxgt/material/components';
|
|
|
1053
1053
|
| `headingLevel` | `1 \| 2 \| 3` | `1` | the title's heading level: pass `2` or `3` when the page already has its `h1` (a list title beside a detail header); the look does not change |
|
|
1054
1054
|
| `icon`, `status` | `ReactNode` | — | before and after the title; `icon` is decoration, shown in an `aria-hidden` badge, so put nothing meaningful or focusable there; for a control, use `leading` |
|
|
1055
1055
|
| `leading` | `ReactNode` | — | an interactive control at the band's start, such as a [Switcher](selection-and-choice.md#switcher) of either variant: drawn as it is, at its natural size (at most 18rem wide beside the title, from a 384px band; narrower, it takes the band's width), in the accessibility tree, with no badge and no `aria-hidden`; on a phone it takes the band's width above the title. **It replaces `icon` when both are given** (a development warning says so). Root `data-slot="entity-header-leading"` |
|
|
1056
|
-
| `metadata` | `{ label: string; value: ReactNode }[]` | `[]` | facts under the title, a description list: a muted label
|
|
1056
|
+
| `metadata` | `{ label: string; value: ReactNode }[]` | `[]` | facts under the title, a description list laid out as a grid of equal columns (as many as the width allows, one per 9.5rem at least): a small muted label above its value, no colon, a long value wraps inside its column; a link or a text button in a value keeps the text's height (its own `min-h-11` is dropped; on a touch pointer its 44px tap target is a hit area that adds no height), and a link in a value is drawn in the primary text colour (`text-primary-text`), not the prose link's info blue, and `nxgt-plain-link` still opts out |
|
|
1057
1057
|
| `stats` | `EntityStat[]` | `[]` | figures (counts, a mean) as compact `size="sm"` [StatCard](#statcard) tiles in a `StatCardGroup` (2×2 on a phone, a wrapping row beside) under the metadata; a `tone` paints a tile, `0` is a figure, an empty value drops the tile (see Stats below) |
|
|
1058
1058
|
| `actions` | `ResponsiveButtonProps[] \| ReactNode` | `[]` | an array becomes responsive buttons (icon-only on phones) |
|
|
1059
1059
|
| `surface` | `'card' \| 'none'` | `'card'` | `'none'` draws the header flat (no background, padding or shadow) for a header that sits directly on a page band or inside a surface of its own, so surfaces do not nest; the layout is unchanged |
|
|
1060
1060
|
|
|
1061
|
-
The root carries `data-slot="entity-header"`; the metadata is a `dl` with `data-slot="entity-metadata"` (a muted `dt` label
|
|
1061
|
+
The root carries `data-slot="entity-header"`; the metadata is a `dl` with `data-slot="entity-metadata"` (a muted `dt` label above its `dd` value in a grid cell, no colon), and the actions sit in `data-slot="entity-header-actions"` (absent when there are none). Inside an EntityHeader that replaces the old `summary-data` slot and its `Label:` text, so update a selector or a test that read "Label: value".
|
|
1062
1062
|
|
|
1063
1063
|
**Flat, on a page band.** `surface="none"` drops the header's own card; `className` still merges.
|
|
1064
1064
|
|
|
@@ -1696,10 +1696,11 @@ The full `Markdown` (maths, diagrams and highlighted code) runs under a strict
|
|
|
1696
1696
|
nonce CSP with no `unsafe-inline`, no `unsafe-eval`, no `style-src-attr` and no
|
|
1697
1697
|
`img-src data:` (`img-src blob:` for the diagrams): wrap the app in `NonceProvider` and see the
|
|
1698
1698
|
[CSP guide](../guides/csp.md#markdown-katex-mermaid-and-code-under-a-strict-csp)
|
|
1699
|
-
(`Data display/Markdown > StrictCsp` plays it under that policy).
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1699
|
+
(`Data display/Markdown > StrictCsp` plays it under that policy). Server-rendered
|
|
1700
|
+
math included: KaTeX's inline `style` attributes become classes plus one
|
|
1701
|
+
`<style>` that takes the `NonceProvider` nonce, so math needs `NonceProvider`
|
|
1702
|
+
under a nonce policy. One thing is left: mermaid's mindmap and architecture
|
|
1703
|
+
diagrams add an un-nonced `<style>` to `<head>`. `math={false}` and
|
|
1703
1704
|
`mermaid={false}` stay for a restricted GFM-only mode.
|
|
1704
1705
|
|
|
1705
1706
|
Mermaid diagrams render in the browser only, after mount; on the server the
|
|
@@ -15,6 +15,7 @@ for the value type each one writes. Everything is imported from
|
|
|
15
15
|
| <img src="../previews/form-fields-choicelistfield.webp" width="96" alt=""> | [ChoiceListField](#choicelistfield) | An editable list of answer choices with correct marks |
|
|
16
16
|
| <img src="../previews/form-fields-textfield.webp" width="96" alt=""> | [TextField](#textfield) | Labelled input with adornments and helper text |
|
|
17
17
|
| <img src="../previews/form-fields-textareafield.webp" width="96" alt=""> | [TextareaField](#textareafield) | Labelled textarea with row sizing and a counter |
|
|
18
|
+
| <img src="../previews/form-fields-markdowntextareafield.webp" width="96" alt=""> | [MarkdownTextareaField](#markdowntextareafield) | Textarea for Markdown and math with a Write / Preview tab list |
|
|
18
19
|
| <img src="../previews/form-fields-emailfield.webp" width="96" alt=""> | [EmailField](#emailfield) | Validates on blur, `mailto:` button |
|
|
19
20
|
| <img src="../previews/form-fields-passwordfield.webp" width="96" alt=""> | [PasswordField](#passwordfield) | Show / hide toggle and a strength meter |
|
|
20
21
|
| <img src="../previews/form-fields-numberfield.webp" width="96" alt=""> | [NumberField](#numberfield) | `number \| null` with clamping and +/− buttons |
|
|
@@ -524,6 +525,44 @@ stores `string`.
|
|
|
524
525
|
|
|
525
526
|
---
|
|
526
527
|
|
|
528
|
+
## MarkdownTextareaField
|
|
529
|
+
|
|
530
|
+

|
|
531
|
+
|
|
532
|
+
Textarea for Markdown and KaTeX math with a **Write / Preview** tab list, the
|
|
533
|
+
usual label, helper text, error and `maxLength` counter, and a collapsed
|
|
534
|
+
formatting help (bold, list, code, `$…$`, `$$…$$`, escaping `\$`). The preview
|
|
535
|
+
is rendered by [`Markdown`](./data-display.md#markdown); raw HTML is never rendered.
|
|
536
|
+
|
|
537
|
+
```tsx
|
|
538
|
+
import { MarkdownTextareaField, MarkdownTextareaFormField } from '@nxgt/material/components';
|
|
539
|
+
|
|
540
|
+
<MarkdownTextareaField label="Prompt" maxLength={4000} helperText="Markdown and $math$." />
|
|
541
|
+
|
|
542
|
+
<MarkdownTextareaFormField control={control} name="prompt" label="Prompt" maxLength={4000} />
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
| Prop | Type | Default | Effect |
|
|
546
|
+
| --- | --- | --- | --- |
|
|
547
|
+
| `minRows` | `number` | `6` | minimum height of the textarea and the preview, in lines |
|
|
548
|
+
| `maxLength` | `number` | — | shows an `n/max` counter, red when over |
|
|
549
|
+
| `showCount` | `boolean` | `true` when `maxLength` is set | force the counter on or off |
|
|
550
|
+
| `math` | `boolean` | `true` | render `$…$` and `$$…$$` in the preview |
|
|
551
|
+
| `mermaid` | `boolean` | `false` | draw ```` ```mermaid ```` fences in the preview |
|
|
552
|
+
| `showHelp` | `boolean` | `true` | the formatting help under the field |
|
|
553
|
+
| `previewClassName` | `string` | — | class of the preview panel |
|
|
554
|
+
| `error` | `boolean` | — | error outline and helper colour |
|
|
555
|
+
|
|
556
|
+
The Write / Preview toggle is a `tablist` (arrow keys move between the tabs);
|
|
557
|
+
the textarea stays mounted while Preview shows. Text labels use the
|
|
558
|
+
`material.markdown-textarea-field.*` i18n keys.
|
|
559
|
+
|
|
560
|
+
**Emits:** the native `ChangeEvent<HTMLTextAreaElement>`; `MarkdownTextareaFormField`
|
|
561
|
+
stores `string`.
|
|
562
|
+
**Form wrapper:** `MarkdownTextareaFormField` — `control` and `name`, see
|
|
563
|
+
[forms](../guides/forms.md#the-pair) and [what each field emits](../guides/forms.md#what-each-field-emits).
|
|
564
|
+
**Storybook:** `Form fields/MarkdownTextareaField` · **Vue:** none yet
|
|
565
|
+
|
|
527
566
|
## EmailField
|
|
528
567
|
|
|
529
568
|

|
|
@@ -2834,8 +2834,37 @@ French bundle — see [i18n](../guides/i18n.md).
|
|
|
2834
2834
|
| `QuestionCard` `preview` | `boolean` | `false` | an author's preview, `<QuestionCard question={q} preview />`: forces `revealed` and `readOnly`, drops `onValueChange`, and shows the marks (the `question.correct` options marked, the expected text or number filled in) and the `explanation`, with no verdict banner. `verdict` and `showFeedback` are always ignored in a preview; `value` is ignored when the question has a `correct` — an `open` or `code` question has none, so pass its reference answer as `value`. Not for a learner's attempt |
|
|
2835
2835
|
| `QuestionCard` `readOnly` / `busy` | `boolean` | `false` | `readOnly`: an answer already submitted, shown without the revealed marks; `busy`: read-only and `aria-busy` while it is saved; every kind honours both |
|
|
2836
2836
|
| new strings | `material.education.kind-open`, `kind-code`, `code-placeholder` | — | English fallbacks and a French bundle |
|
|
2837
|
+
| `Question` `markdown` | `boolean` | `false` | draws the `prompt`, the string option labels, `explanation`, option explanations and hints as Markdown with math (`$x^2$`), through the safe `Markdown` (raw HTML is not rendered, mermaid off). The prompt, option labels and the verdict's "Correct answer" use an inline form (paragraph unwrapped, no lists or headings) so the HTML stays valid in a `<legend>` or a label; explanations and hints keep blocks |
|
|
2838
|
+
| `Question` `hints` | `string[]` | — | revealed one at a time behind a "Show hint 1 of N" button; the focus moves to the hint just shown and the hint's name is "Hint 1 of N" (one announcement). Hidden once revealed. The single `hint` is deprecated (kept: a Show / Hide toggle), ignored when `hints` is set |
|
|
2839
|
+
| `QuestionOption` `explanation` | `string` | — | why this option is right or wrong; a list "About each answer" under the card once revealed or in a `preview` |
|
|
2840
|
+
| `Question` `references` | `{ title: string; url?: string }[]` | — | a labelled "References" list once revealed or in a `preview`; a safe `url` is a link, an external one with `rel="noopener noreferrer"` |
|
|
2841
|
+
| `Question` `kind: 'code'` | `starterCode?`, `examples?: { input, expected }[]` | — | `starterCode` fills the field while there is no draft (`value` null or undefined; an empty string is a draft), it reaches `onValueChange` on the first edit only; `examples` is a table (Input, Expected) above the field |
|
|
2842
|
+
| new strings | `material.quiz.rich.*` | — | English fallbacks and a French bundle (React only for now) |
|
|
2837
2843
|
| `QuestionCard` `variant` / `density` / `showShortcuts` / `number` / `showFeedback` | — | `'card'`, `'comfortable'`, `false`, —, `true` | framed or plain, spacing, key badges, "Question 2", the verdict banner (for a card with marks and no banner, use `preview`) |
|
|
2838
2844
|
|
|
2845
|
+
A quiz question with Markdown, math, progressive hints and references:
|
|
2846
|
+
|
|
2847
|
+
```tsx
|
|
2848
|
+
<QuestionCard
|
|
2849
|
+
question={{
|
|
2850
|
+
id: 'q1',
|
|
2851
|
+
kind: 'choice',
|
|
2852
|
+
markdown: true,
|
|
2853
|
+
prompt: 'Solve $2x + 6 = 14$',
|
|
2854
|
+
options: [
|
|
2855
|
+
{ id: 'a', label: '$x = 4$', explanation: 'Subtract 6, then divide by 2.' },
|
|
2856
|
+
{ id: 'b', label: '$x = 10$', explanation: 'You added 6 instead.' },
|
|
2857
|
+
],
|
|
2858
|
+
correct: 'a',
|
|
2859
|
+
hints: ['Isolate $x$.', 'Subtract 6 from both sides.'],
|
|
2860
|
+
references: [{ title: 'Linear equations', url: 'https://example.org/linear' }],
|
|
2861
|
+
}}
|
|
2862
|
+
value={value}
|
|
2863
|
+
onValueChange={setValue}
|
|
2864
|
+
revealed={checked}
|
|
2865
|
+
/>
|
|
2866
|
+
```
|
|
2867
|
+
|
|
2839
2868
|
An open answer and a code answer, with the code editor from its own subpath
|
|
2840
2869
|
(it is client-only, so load it lazily in an SSR app):
|
|
2841
2870
|
|