@doenet/doenetml 0.7.21-dev.415 → 0.7.21-dev.417
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/{AnswerResponseButton-CsMwAC3t.js → AnswerResponseButton-DRQPLlOM.js} +2 -2
- package/{Description-B_KGuyjX.js → Description-DzHJcqCq.js} +1 -1
- package/{GraphFrame-BCe-sXyY.js → GraphFrame-BrgLBP-l.js} +2 -2
- package/{JSXGraphRenderer-CTbAGksr.js → JSXGraphRenderer-3rMxl-PD.js} +3 -2
- package/{NonInlineMediaWrapper-DqUh14n5.js → NonInlineMediaWrapper-CTSA5ztb.js} +1 -1
- package/Viewer/DocViewer.d.ts.map +1 -1
- package/Viewer/renderers/JSXGraphRenderer.d.ts.map +1 -1
- package/Viewer/renderers/_error.d.ts.map +1 -1
- package/Viewer/renderers/cell.d.ts.map +1 -1
- package/Viewer/renderers/feedback.d.ts.map +1 -1
- package/Viewer/renderers/fractionInput.d.ts.map +1 -1
- package/Viewer/renderers/hint.d.ts.map +1 -1
- package/Viewer/renderers/lineSegment.d.ts.map +1 -1
- package/Viewer/renderers/mathInput.d.ts.map +1 -1
- package/Viewer/renderers/mathquill/EditableMathField.d.ts.map +1 -1
- package/Viewer/renderers/matrixInput.d.ts.map +1 -1
- package/Viewer/renderers/orbitalDiagram.d.ts.map +1 -1
- package/Viewer/renderers/orbitalDiagramInput.d.ts.map +1 -1
- package/Viewer/renderers/polyline.d.ts.map +1 -1
- package/Viewer/renderers/prefigure.d.ts.map +1 -1
- package/Viewer/renderers/pretzel.d.ts.map +1 -1
- package/Viewer/renderers/row.d.ts.map +1 -1
- package/Viewer/renderers/section.d.ts.map +1 -1
- package/Viewer/renderers/sideBySide.d.ts.map +1 -1
- package/Viewer/renderers/slider.d.ts.map +1 -1
- package/Viewer/renderers/solution.d.ts.map +1 -1
- package/Viewer/renderers/spreadsheet.d.ts.map +1 -1
- package/Viewer/renderers/subsetOfRealsInput.d.ts.map +1 -1
- package/Viewer/renderers/summaryStatistics.d.ts.map +1 -1
- package/Viewer/renderers/textInput.d.ts.map +1 -1
- package/Viewer/renderers/utils/buildGraphicalAttributes.d.ts +28 -0
- package/Viewer/renderers/utils/buildGraphicalAttributes.d.ts.map +1 -1
- package/Viewer/renderers/utils/buildGraphicalAttributes.test.d.ts +2 -0
- package/Viewer/renderers/utils/buildGraphicalAttributes.test.d.ts.map +1 -0
- package/Viewer/renderers/utils/direction.d.ts +39 -0
- package/Viewer/renderers/utils/direction.d.ts.map +1 -0
- package/Viewer/renderers/vector.d.ts.map +1 -1
- package/{_error-8CVqZvs9.js → _error-BIkDYkum.js} +4 -3
- package/{alert-CnVNVwp0.js → alert-40qlFB8j.js} +3 -3
- package/{angle-DtykfDvk.js → angle-BOqYrXfU.js} +6 -6
- package/{answer-D8_55NUB.js → answer-Dgwe0dei.js} +6 -6
- package/{asList-Cvb4HFYc.js → asList-B1sJDQs3.js} +2 -2
- package/{blockQuote-CD7LAibH.js → blockQuote-BsG2geQs.js} +3 -3
- package/{boolean-i9xt_Fyy.js → boolean-N29Fwify.js} +2 -2
- package/{booleanInput-DxN2aj4D.js → booleanInput-CcgJltzp.js} +7 -7
- package/{br-Ch6INIwC.js → br-BQAkKbws.js} +2 -2
- package/{buildGraphicalAttributes-C7PtyKL7.js → buildGraphicalAttributes-0RNcbd2S.js} +22 -2
- package/{button-B5SnRU2e.js → button-D3QT17Wd.js} +4 -4
- package/{c-DArDpN4A.js → c-Daf8CQwR.js} +3 -3
- package/{cell-BFX6fxf0.js → cell-BNmEKrA0.js} +3 -3
- package/{choiceInput-DXKjyCqp.js → choiceInput-DWcLPKV7.js} +8 -8
- package/{circle-AbQzXEA5.js → circle-L-xmtaHy.js} +7 -7
- package/{cobwebPolyline-CB6cVyKX.js → cobwebPolyline-BVdEUH2r.js} +4 -4
- package/{codeEditor-D0vhTs3g.js → codeEditor-D0xuKEXG.js} +2 -2
- package/{composites-BY7-JuTc.js → composites-Dxl9i1nS.js} +1 -1
- package/{containerBlock-Cm-kBh3q.js → containerBlock-CdpPaxoi.js} +4 -4
- package/{containerInline-CcOaOhs8.js → containerInline-DHFXTqAT.js} +4 -4
- package/{curve-CdVn_xI2.js → curve-5OW8O5t-.js} +4 -4
- package/direction-BwrU7jHk.js +9 -0
- package/{doenetml-RwjW6x7w.js → doenetml-DynV7ZDD.js} +341 -102
- package/doenetml-external-worker.js +2 -2
- package/doenetml-inline-worker.js +2 -2
- package/doenetml.d.ts.map +1 -1
- package/{ellipsis-DVinv6-1.js → ellipsis-BJoPJy0v.js} +2 -2
- package/{em-B8Bn3iQ8.js → em-C4h-YkRj.js} +3 -3
- package/{embed-CCP_3Jzm.js → embed-CjlH0jbC.js} +2 -2
- package/{feedback-C7b_K-S3.js → feedback-EFnq4fTf.js} +6 -5
- package/{figure-vxfnUy1i.js → figure-BiAWioqb.js} +3 -3
- package/{fillPatterns-Cwsbhubm.js → fillPatterns-DmAM78RG.js} +1 -1
- package/{footnote-DniX_WDV.js → footnote-U6eszrz5.js} +3 -3
- package/{fractionInput-Byd4TDY-.js → fractionInput-Xkm2Vb3z.js} +7 -7
- package/{graph-BpbjUn8w.js → graph-BShdY7M2.js} +6 -6
- package/{hint-BSyMGzDu.js → hint-BJlVCHDc.js} +6 -5
- package/{hr-Dv_52Wxd.js → hr-D15XJLML.js} +2 -2
- package/{image-CDzqgIV7.js → image-unzIQyP1.js} +7 -7
- package/{index-Ci4K0tDE.js → index-D-0t5xCk.js} +1 -1
- package/{index.es-BCeR6l3D.js → index.es-B8Vdrw0-.js} +1 -1
- package/index.js +1 -1
- package/{label-BpLxA1Ur.js → label-D8LiLGZ0.js} +6 -6
- package/{labelWithLatex-CsOmIYzz.js → labelWithLatex-VCThzoHG.js} +1 -1
- package/{legend-ZPzJ1SLv.js → legend-wHw8PHjz.js} +4 -4
- package/{line-B1QiilgT.js → line-BcmltQzB.js} +7 -7
- package/{lineFamilyDragHandlers-DVSxZbFk.js → lineFamilyDragHandlers-HSo2HwSH.js} +1 -1
- package/{lineSegment-CT3KASYT.js → lineSegment-BYs7yPxL.js} +14 -18
- package/{list-CseGxUq-.js → list-79YU2kl7.js} +4 -4
- package/{lq-CAAidAOg.js → lq-PHOAGpAp.js} +2 -2
- package/{lsq-B28Z8bv3.js → lsq-DAA0vTFL.js} +2 -2
- package/{markupRenderer-BtKUERzJ.js → markupRenderer-BJWUpWkE.js} +1 -1
- package/{math-BREIxh-E.js → math-BVfjIEHd.js} +6 -6
- package/{mathInput-BkKkb63g.js → mathInput-BtcN3WJR.js} +36 -19
- package/{matrixInput-BNWpketN.js → matrixInput-lugF0Kwk.js} +8 -8
- package/{mdash-9jp_u7Un.js → mdash-DB7_sXiL.js} +2 -2
- package/{nbsp-C8hCQ6TS.js → nbsp-j9m7y0-y.js} +2 -2
- package/{ndash-CmJAVnNq.js → ndash-COenOscW.js} +2 -2
- package/{number-r1umcD9p.js → number-C5IDajKV.js} +6 -6
- package/{orbitalDiagram-CaNwebaQ.js → orbitalDiagram-LpaATJ7G.js} +10 -3
- package/{orbitalDiagramInput-B5JhTAdB.js → orbitalDiagramInput-CYnhgICY.js} +13 -6
- package/{p-DP7YNDfx.js → p-COajOvYn.js} +4 -4
- package/package.json +1 -1
- package/{paginatorControls-B-qNFkKU.js → paginatorControls-DzpHO-mO.js} +2 -2
- package/{pegboard-D7nAJ6RY.js → pegboard-BdfertiY.js} +4 -4
- package/{point-C59ja3n2.js → point-BLFxaE8O.js} +6 -6
- package/{polygon-CT-ARozK.js → polygon-DSoochqM.js} +7 -7
- package/{polyline-DeGq7WP0.js → polyline-CTIot66d.js} +9 -15
- package/{pre-BHH6fa9U.js → pre-xCSl5oZL.js} +3 -3
- package/{prefigure-BnSkAPHE.js → prefigure-FCWzkIVy.js} +2 -1
- package/{pretzel-CC5NgapN.js → pretzel-RAJStYo8.js} +9 -6
- package/{q-CcNznZUD.js → q-DRh3HpI-.js} +3 -3
- package/{ray-D1b2GIcp.js → ray-CG-m02gI.js} +6 -6
- package/{ref-OLToqdQ5.js → ref-C2DexbxV.js} +2 -2
- package/{regionBetweenCurveXAxis-PPEOPw8t.js → regionBetweenCurveXAxis-C1iatjqu.js} +5 -5
- package/{regionBetweenCurves-DOtEzJak.js → regionBetweenCurves-Cv-DJCUB.js} +5 -5
- package/{row-D42z_svT.js → row-DUzsOO4i.js} +2 -2
- package/{rq-DdecWWBG.js → rq-DBf5-NZS.js} +2 -2
- package/{rsq-D2qKFBXV.js → rsq-CRwgd5gN.js} +2 -2
- package/{section-AwW9I9a-.js → section-CEh-TNeP.js} +47 -50
- package/{sha256-Bzrm4-tO-BHq68al3.js → sha256-Bzrm4-tO-D5VzcQ6q.js} +1 -1
- package/{sideBySide-BE1-5d7U.js → sideBySide-C_9_ghNz.js} +8 -2
- package/{slider-B92oejpK.js → slider-DOgzk4EE.js} +34 -25
- package/{solution-DuvHYP7q.js → solution-CKUSv0BJ.js} +6 -5
- package/{spreadsheet-CYi5VTRB.js → spreadsheet-P7U0r_qV.js} +3 -2
- package/{sq-CGmtbJG8.js → sq-CTORexcM.js} +3 -3
- package/style.css +240 -176
- package/{subsetOfRealsInput-Dof9pDQJ.js → subsetOfRealsInput-CsAQMYD4.js} +71 -61
- package/{summaryStatistics-CHLmwy4B.js → summaryStatistics-BBREeWvh.js} +4 -3
- package/{table-Ds4FsDXG.js → table-Bhb19es1.js} +2 -2
- package/{tabular-D93ZooVU.js → tabular-DBI3KqQP.js} +2 -2
- package/{tag-CQG7jGLX.js → tag-BtGckMpT.js} +2 -2
- package/{text-Cs4GBrRa.js → text-7k2wXfRf.js} +6 -6
- package/{textInput-D08eVSJy.js → textInput-lbnI_I3U.js} +8 -8
- package/{tooltip-provider-mEVAI_oo.js → tooltip-provider-C8VlkKT9.js} +1 -1
- package/{useAnchoredGraphDragHandler-CE3goik5.js → useAnchoredGraphDragHandler-CRPtaTJZ.js} +1 -1
- package/useDoenetRenderer-By1VsaDX.js +114 -0
- package/{useSubmitActionWithDelay-Bl1nM1Rc.js → useSubmitActionWithDelay-DBCED73A.js} +2 -2
- package/utils/diagnostics.d.ts +7 -0
- package/utils/diagnostics.d.ts.map +1 -1
- package/utils/i18n.d.ts +67 -1
- package/utils/i18n.d.ts.map +1 -1
- package/{vector-DTjqdT0D.js → vector-lV5ajE68.js} +10 -16
- package/{video-Bj4ChYgg.js → video-C-iSvsQk.js} +4 -4
- package/useDoenetRenderer-BUPvEAwn.js +0 -114
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { u as useT,
|
|
1
|
+
import { u as useT, y as useRecordVisibilityChanges, q as jsxRuntimeExports, U as ToggleButtonGroup, T as ToggleButton, P as ActionButtonGroup, Q as ActionButton } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useState, useRef } from "react";
|
|
3
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
4
|
+
import { l as ltrIslandProps } from "./direction-BwrU7jHk.js";
|
|
4
5
|
const subsetOfRealsInput = React__default.memo(function subsetOfReals(props) {
|
|
5
6
|
let { id, SVs, actions, callAction } = useDoenetRenderer(props, false);
|
|
6
7
|
let [mode, setMode] = useState("add remove points");
|
|
@@ -305,67 +306,76 @@ const subsetOfRealsInput = React__default.memo(function subsetOfReals(props) {
|
|
|
305
306
|
}
|
|
306
307
|
}
|
|
307
308
|
}
|
|
308
|
-
return
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
309
|
+
return (
|
|
310
|
+
// A number line runs from −10 on the left to 10 on the right in every
|
|
311
|
+
// language: it is mathematical notation, not prose. Everything under
|
|
312
|
+
// here assumes that — the hash marks are laid out at fixed pixel
|
|
313
|
+
// offsets, the arrowheads are hard-coded left and right, and the
|
|
314
|
+
// pointer handler maps an x position to a value by subtracting a left
|
|
315
|
+
// edge. Pinned as one attribute on the whole widget so the controls
|
|
316
|
+
// above the axis stay on the same side as the axis itself.
|
|
317
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref, id, ...ltrIslandProps(), children: [
|
|
318
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: bounds, style: { display: "flex", gap: "12px" }, children: controlButtons }),
|
|
319
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
320
|
+
"svg",
|
|
321
|
+
{
|
|
322
|
+
width: "808",
|
|
323
|
+
height: "80",
|
|
324
|
+
style: { backgroundColor: "var(--canvas)" },
|
|
325
|
+
onMouseDown: (e) => {
|
|
326
|
+
handleInput(e, "down");
|
|
327
|
+
},
|
|
328
|
+
onMouseUp: (e) => {
|
|
329
|
+
handleInput(e, "up");
|
|
330
|
+
},
|
|
331
|
+
onMouseMove: (e) => {
|
|
332
|
+
handleInput(e, "move");
|
|
333
|
+
},
|
|
334
|
+
onMouseLeave: (e) => {
|
|
335
|
+
handleInput(e, "leave");
|
|
336
|
+
},
|
|
337
|
+
children: [
|
|
338
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
339
|
+
"polygon",
|
|
340
|
+
{
|
|
341
|
+
points: "5,40 20,50 20,30",
|
|
342
|
+
style: {
|
|
343
|
+
fill: "var(--canvasText)",
|
|
344
|
+
stroke: "var(--canvasText)",
|
|
345
|
+
strokeWidth: "1"
|
|
346
|
+
}
|
|
337
347
|
}
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
+
),
|
|
349
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
350
|
+
"polygon",
|
|
351
|
+
{
|
|
352
|
+
points: "795,40 780,50 780,30",
|
|
353
|
+
style: {
|
|
354
|
+
fill: "var(--canvasText)",
|
|
355
|
+
stroke: "var(--canvasText)",
|
|
356
|
+
strokeWidth: "1"
|
|
357
|
+
}
|
|
348
358
|
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
)
|
|
368
|
-
|
|
359
|
+
),
|
|
360
|
+
storedLines,
|
|
361
|
+
hashLines,
|
|
362
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
363
|
+
"line",
|
|
364
|
+
{
|
|
365
|
+
x1: "20",
|
|
366
|
+
y1: "40",
|
|
367
|
+
x2: "780",
|
|
368
|
+
y2: "40",
|
|
369
|
+
style: { stroke: "var(--canvasText)", strokeWidth: "2" }
|
|
370
|
+
}
|
|
371
|
+
),
|
|
372
|
+
storedPoints,
|
|
373
|
+
labels
|
|
374
|
+
]
|
|
375
|
+
}
|
|
376
|
+
)
|
|
377
|
+
] })
|
|
378
|
+
);
|
|
369
379
|
});
|
|
370
380
|
export {
|
|
371
381
|
subsetOfRealsInput as default
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { u as useT,
|
|
1
|
+
import { u as useT, o as useChromeLangDir, y as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useRef } from "react";
|
|
3
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
4
4
|
import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
|
|
5
5
|
const summaryStatistics = React__default.memo(function SummaryStatistics(props) {
|
|
6
6
|
let { id, SVs, actions, callAction } = useDoenetRenderer(props);
|
|
7
7
|
const t = useT();
|
|
8
|
+
const chromeLangDir = useChromeLangDir();
|
|
8
9
|
const ref = useRef(null);
|
|
9
10
|
useRecordVisibilityChanges(ref, callAction, actions);
|
|
10
11
|
if (SVs.hidden) {
|
|
@@ -35,7 +36,7 @@ const summaryStatistics = React__default.memo(function SummaryStatistics(props)
|
|
|
35
36
|
let heading = /* @__PURE__ */ jsxRuntimeExports.jsx("tr", { children: columns.map((x, i) => /* @__PURE__ */ jsxRuntimeExports.jsx("th", { children: x }, i)) });
|
|
36
37
|
let data = /* @__PURE__ */ jsxRuntimeExports.jsx("tr", { children: columns.map((x, i) => /* @__PURE__ */ jsxRuntimeExports.jsx("td", { children: SVs.summaryStatistics[x] }, i)) });
|
|
37
38
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { margin: "12px 0" }, ref, children: [
|
|
38
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: t(
|
|
39
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { ...chromeLangDir, children: t(
|
|
39
40
|
"summary-statistics-caption",
|
|
40
41
|
// Fluent renders `{ $column }` literally if handed a
|
|
41
42
|
// `null`, so an unnamed column becomes an empty string —
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { y as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useRef } from "react";
|
|
3
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
4
4
|
const table = React__default.memo(function Table(props) {
|
|
5
5
|
let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
|
|
6
6
|
const ref = useRef(null);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { y as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useRef } from "react";
|
|
3
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
4
4
|
import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
|
|
5
5
|
import { a as getBlockMarginWithOptionalTopSuppression } from "./nonInlineMediaLayout-CkXHaqzo.js";
|
|
6
6
|
const tabular = React__default.memo(function Tabular(props) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default from "react";
|
|
3
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
4
4
|
const tag = React__default.memo(function Tag(props) {
|
|
5
5
|
let { id, SVs, children } = useDoenetRenderer(props);
|
|
6
6
|
if (SVs.hidden) {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as DocContext, z as Context, q as jsxRuntimeExports, v as textRendererStyle } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useRef, useContext } from "react";
|
|
3
|
-
import { j as jxg } from "./JSXGraphRenderer-
|
|
4
|
-
import { BoardContext, TEXT_LAYER_OFFSET } from "./graph-
|
|
5
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { j as jxg } from "./JSXGraphRenderer-3rMxl-PD.js";
|
|
4
|
+
import { BoardContext, TEXT_LAYER_OFFSET } from "./graph-BShdY7M2.js";
|
|
5
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
6
6
|
import { g as getPositionFromAnchorByCoordinate } from "./graph-W6vrFcBu.js";
|
|
7
|
-
import { ChoiceInputInlineContext } from "./choiceInput-
|
|
7
|
+
import { ChoiceInputInlineContext } from "./choiceInput-DWcLPKV7.js";
|
|
8
8
|
import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
|
|
9
9
|
import { u as useDraggableRefs, a as useJSXGraphCleanup } from "./useJSXGraphCleanup-CX91oVW8.js";
|
|
10
|
-
import { d as detachAnchoredGraphElement, a as attachAnchoredGraphDragHandlers } from "./useAnchoredGraphDragHandler-
|
|
10
|
+
import { d as detachAnchoredGraphElement, a as attachAnchoredGraphDragHandlers } from "./useAnchoredGraphDragHandler-CRPtaTJZ.js";
|
|
11
11
|
const text = React__default.memo(function Text(props) {
|
|
12
12
|
let { componentIdx, id, SVs, actions, callAction } = useDoenetRenderer(props);
|
|
13
13
|
Text.ignoreActionsWithoutCore = () => true;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { x as useContentT, z as Context, q as jsxRuntimeExports, R as MathJax } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import { useState, useRef, useContext, useEffect } from "react";
|
|
3
|
-
import { j as jxg } from "./JSXGraphRenderer-
|
|
4
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { j as jxg } from "./JSXGraphRenderer-3rMxl-PD.js";
|
|
4
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
5
5
|
import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
|
|
6
|
-
import { BoardContext } from "./graph-
|
|
6
|
+
import { BoardContext } from "./graph-BShdY7M2.js";
|
|
7
7
|
import { g as getPositionFromAnchorByCoordinate, P as POINTER_DRAG_THRESHOLD } from "./graph-W6vrFcBu.js";
|
|
8
|
-
import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-
|
|
9
|
-
import { D as DescriptionPopover } from "./Description-
|
|
8
|
+
import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBCED73A.js";
|
|
9
|
+
import { D as DescriptionPopover } from "./Description-DzHJcqCq.js";
|
|
10
10
|
import { a as addValidationStateToShortDescription } from "./validationState-DI_lxk1a.js";
|
|
11
11
|
function TextInput(props) {
|
|
12
12
|
let { id, SVs, children, actions, ignoreUpdate, callAction } = useDoenetRenderer(props);
|
|
@@ -536,8 +536,8 @@ function TextInput(props) {
|
|
|
536
536
|
id: labelId,
|
|
537
537
|
htmlFor: inputKey,
|
|
538
538
|
style: {
|
|
539
|
-
|
|
540
|
-
|
|
539
|
+
marginInlineEnd: SVs.labelPosition === "right" ? void 0 : "2px",
|
|
540
|
+
marginInlineStart: SVs.labelPosition === "right" ? "2px" : void 0
|
|
541
541
|
},
|
|
542
542
|
children: label
|
|
543
543
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ac as createStoreContext, ad as HovercardScopedContextProvider, ae as HovercardContextProvider, af as createDialogComponent, X as forwardRef, Y as createElement, Z as createHook, a0 as invariant, ag as useWrapElement, q as jsxRuntimeExports, a1 as useStoreState, ah as useHovercard, ai as isFalsyBooleanCallback, aj as contains, ak as sync, al as chain, am as useEvent, an as useHovercardAnchor, ao as createStore, ap as createHovercardStore, aq as defaultValue, ar as useStore, as as useStoreProps, at as useHovercardStoreProps } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import { useRef, useEffect } from "react";
|
|
3
3
|
const ctx = createStoreContext([HovercardContextProvider], [HovercardScopedContextProvider]);
|
|
4
4
|
const useTooltipProviderContext = ctx.useProviderContext;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as removeJXGEventHandlers, L as LINE_FAMILY_EVENTS, j as jxg } from "./JSXGraphRenderer-
|
|
1
|
+
import { r as removeJXGEventHandlers, L as LINE_FAMILY_EVENTS, j as jxg } from "./JSXGraphRenderer-3rMxl-PD.js";
|
|
2
2
|
import { e as exceededDragThreshold, p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
|
|
3
3
|
function attachAnchoredGraphDragHandlers(params) {
|
|
4
4
|
const {
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { G as useAppSelector, H as mainSlice, I as renderersLoadComponent, _ as __variableDynamicImportRuntimeHelper } from "./doenetml-DynV7ZDD.js";
|
|
2
|
+
import React__default, { useState, useEffect } from "react";
|
|
3
|
+
function useDoenetRenderer(props, initializeChildrenOnConstruction = true) {
|
|
4
|
+
const actions = props.componentInstructions.actions;
|
|
5
|
+
const componentIdx = props.componentInstructions.componentIdx;
|
|
6
|
+
const effectiveIdx = props.componentInstructions.effectiveIdx;
|
|
7
|
+
const id = props.componentInstructions.id;
|
|
8
|
+
const rendererName = props.coreId + componentIdx;
|
|
9
|
+
const [renderersToLoad, setRenderersToLoad] = useState({});
|
|
10
|
+
const componentInfo = useAppSelector(
|
|
11
|
+
(state) => mainSlice.selectors.componentInfo(state)[rendererName]
|
|
12
|
+
);
|
|
13
|
+
const {
|
|
14
|
+
stateValues,
|
|
15
|
+
sourceOfUpdate = {},
|
|
16
|
+
ignoreUpdate,
|
|
17
|
+
childrenInstructions,
|
|
18
|
+
prefixForIds
|
|
19
|
+
} = componentInfo || {
|
|
20
|
+
stateValues: {},
|
|
21
|
+
sourceOfUpdate: {},
|
|
22
|
+
ignoreUpdate: false,
|
|
23
|
+
childrenInstructions: [],
|
|
24
|
+
prefixForIds: ""
|
|
25
|
+
};
|
|
26
|
+
let children = [];
|
|
27
|
+
const loadMoreRenderers = Object.keys(renderersToLoad).length === 0;
|
|
28
|
+
for (let childInstructions of childrenInstructions) {
|
|
29
|
+
let child = createChildFromInstructions(
|
|
30
|
+
childInstructions,
|
|
31
|
+
loadMoreRenderers
|
|
32
|
+
);
|
|
33
|
+
children.push(child);
|
|
34
|
+
}
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
const entries = Object.entries(renderersToLoad);
|
|
37
|
+
if (entries.length > 0) {
|
|
38
|
+
const names = entries.map(([name]) => name);
|
|
39
|
+
const loaders = entries.map(([, loader]) => loader);
|
|
40
|
+
renderersLoadComponent(loaders, names).then(
|
|
41
|
+
({ rendererClasses: newRendererClasses }) => {
|
|
42
|
+
Object.assign(props.rendererClasses, newRendererClasses);
|
|
43
|
+
setRenderersToLoad({});
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
}, [renderersToLoad, props.rendererClasses]);
|
|
48
|
+
function createChildFromInstructions(childInstructions, loadMoreRenderers2) {
|
|
49
|
+
if (typeof childInstructions === "string" || childInstructions === null) {
|
|
50
|
+
return childInstructions;
|
|
51
|
+
}
|
|
52
|
+
let propsForChild = {
|
|
53
|
+
key: props.coreId + childInstructions.componentIdx,
|
|
54
|
+
componentInstructions: childInstructions,
|
|
55
|
+
rendererClasses: props.rendererClasses,
|
|
56
|
+
coreId: props.coreId,
|
|
57
|
+
docId: props.docId,
|
|
58
|
+
activityId: props.activityId,
|
|
59
|
+
callAction: props.callAction,
|
|
60
|
+
fetchExternalDoenetML: props.fetchExternalDoenetML,
|
|
61
|
+
requestScrollTo: props.requestScrollTo,
|
|
62
|
+
flags: props.flags
|
|
63
|
+
};
|
|
64
|
+
let rendererClass = props.rendererClasses[childInstructions.rendererType];
|
|
65
|
+
if (!rendererClass) {
|
|
66
|
+
if (loadMoreRenderers2) {
|
|
67
|
+
setRenderersToLoad((old) => {
|
|
68
|
+
let rendererLoaders = { ...old };
|
|
69
|
+
if (!(childInstructions.rendererType in rendererLoaders)) {
|
|
70
|
+
rendererLoaders[childInstructions.rendererType] = () => __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./renderers/GraphFrame.tsx": () => import("./GraphFrame-BrgLBP-l.js"), "./renderers/JSXGraphRenderer.tsx": () => import("./JSXGraphRenderer-3rMxl-PD.js").then((n) => n.m), "./renderers/_error.tsx": () => import("./_error-BIkDYkum.js"), "./renderers/alert.tsx": () => import("./alert-40qlFB8j.js"), "./renderers/angle.tsx": () => import("./angle-BOqYrXfU.js"), "./renderers/answer.tsx": () => import("./answer-Dgwe0dei.js"), "./renderers/asList.tsx": () => import("./asList-B1sJDQs3.js"), "./renderers/blockQuote.tsx": () => import("./blockQuote-BsG2geQs.js"), "./renderers/boolean.tsx": () => import("./boolean-N29Fwify.js"), "./renderers/booleanInput.tsx": () => import("./booleanInput-CcgJltzp.js"), "./renderers/br.tsx": () => import("./br-BQAkKbws.js"), "./renderers/button.tsx": () => import("./button-D3QT17Wd.js"), "./renderers/c.tsx": () => import("./c-Daf8CQwR.js"), "./renderers/cell.tsx": () => import("./cell-BNmEKrA0.js"), "./renderers/choiceInput.tsx": () => import("./choiceInput-DWcLPKV7.js"), "./renderers/circle.tsx": () => import("./circle-L-xmtaHy.js"), "./renderers/cobwebPolyline.tsx": () => import("./cobwebPolyline-BVdEUH2r.js"), "./renderers/codeEditor.tsx": () => import("./codeEditor-D0xuKEXG.js"), "./renderers/containerBlock.tsx": () => import("./containerBlock-CdpPaxoi.js"), "./renderers/containerInline.tsx": () => import("./containerInline-DHFXTqAT.js"), "./renderers/curve.tsx": () => import("./curve-5OW8O5t-.js"), "./renderers/ellipsis.tsx": () => import("./ellipsis-BJoPJy0v.js"), "./renderers/em.tsx": () => import("./em-C4h-YkRj.js"), "./renderers/embed.tsx": () => import("./embed-CjlH0jbC.js"), "./renderers/feedback.tsx": () => import("./feedback-EFnq4fTf.js"), "./renderers/figure.tsx": () => import("./figure-BiAWioqb.js"), "./renderers/footnote.tsx": () => import("./footnote-U6eszrz5.js"), "./renderers/fractionInput.tsx": () => import("./fractionInput-Xkm2Vb3z.js"), "./renderers/graph.tsx": () => import("./graph-BShdY7M2.js"), "./renderers/hint.tsx": () => import("./hint-BJlVCHDc.js"), "./renderers/hr.tsx": () => import("./hr-D15XJLML.js"), "./renderers/image.tsx": () => import("./image-unzIQyP1.js"), "./renderers/label.tsx": () => import("./label-D8LiLGZ0.js"), "./renderers/legend.tsx": () => import("./legend-wHw8PHjz.js"), "./renderers/line.tsx": () => import("./line-BcmltQzB.js"), "./renderers/lineSegment.tsx": () => import("./lineSegment-BYs7yPxL.js"), "./renderers/list.tsx": () => import("./list-79YU2kl7.js"), "./renderers/lq.tsx": () => import("./lq-PHOAGpAp.js"), "./renderers/lsq.tsx": () => import("./lsq-DAA0vTFL.js"), "./renderers/math.tsx": () => import("./math-BVfjIEHd.js"), "./renderers/mathInput.tsx": () => import("./mathInput-BtcN3WJR.js"), "./renderers/matrixInput.tsx": () => import("./matrixInput-lugF0Kwk.js"), "./renderers/mdash.tsx": () => import("./mdash-DB7_sXiL.js"), "./renderers/nbsp.tsx": () => import("./nbsp-j9m7y0-y.js"), "./renderers/ndash.tsx": () => import("./ndash-COenOscW.js"), "./renderers/number.tsx": () => import("./number-C5IDajKV.js"), "./renderers/orbitalDiagram.tsx": () => import("./orbitalDiagram-LpaATJ7G.js"), "./renderers/orbitalDiagramInput.tsx": () => import("./orbitalDiagramInput-CYnhgICY.js"), "./renderers/p.tsx": () => import("./p-COajOvYn.js"), "./renderers/paginatorControls.tsx": () => import("./paginatorControls-DzpHO-mO.js"), "./renderers/pegboard.tsx": () => import("./pegboard-BdfertiY.js"), "./renderers/point.tsx": () => import("./point-BLFxaE8O.js"), "./renderers/polygon.tsx": () => import("./polygon-DSoochqM.js"), "./renderers/polyline.tsx": () => import("./polyline-CTIot66d.js"), "./renderers/pre.tsx": () => import("./pre-xCSl5oZL.js"), "./renderers/prefigure.tsx": () => import("./prefigure-FCWzkIVy.js"), "./renderers/pretzel.tsx": () => import("./pretzel-RAJStYo8.js"), "./renderers/q.tsx": () => import("./q-DRh3HpI-.js"), "./renderers/ray.tsx": () => import("./ray-CG-m02gI.js"), "./renderers/ref.tsx": () => import("./ref-C2DexbxV.js"), "./renderers/regionBetweenCurveXAxis.tsx": () => import("./regionBetweenCurveXAxis-C1iatjqu.js"), "./renderers/regionBetweenCurves.tsx": () => import("./regionBetweenCurves-Cv-DJCUB.js"), "./renderers/row.tsx": () => import("./row-DUzsOO4i.js"), "./renderers/rq.tsx": () => import("./rq-DBf5-NZS.js"), "./renderers/rsq.tsx": () => import("./rsq-CRwgd5gN.js"), "./renderers/section.tsx": () => import("./section-CEh-TNeP.js"), "./renderers/sideBySide.tsx": () => import("./sideBySide-C_9_ghNz.js"), "./renderers/slider.tsx": () => import("./slider-DOgzk4EE.js"), "./renderers/solution.tsx": () => import("./solution-CKUSv0BJ.js"), "./renderers/spreadsheet.tsx": () => import("./spreadsheet-P7U0r_qV.js"), "./renderers/sq.tsx": () => import("./sq-CTORexcM.js"), "./renderers/subsetOfRealsInput.tsx": () => import("./subsetOfRealsInput-CsAQMYD4.js"), "./renderers/summaryStatistics.tsx": () => import("./summaryStatistics-BBREeWvh.js"), "./renderers/table.tsx": () => import("./table-Bhb19es1.js"), "./renderers/tabular.tsx": () => import("./tabular-DBI3KqQP.js"), "./renderers/tag.tsx": () => import("./tag-BtGckMpT.js"), "./renderers/text.tsx": () => import("./text-7k2wXfRf.js"), "./renderers/textInput.tsx": () => import("./textInput-lbnI_I3U.js"), "./renderers/vector.tsx": () => import("./vector-lV5ajE68.js"), "./renderers/video.tsx": () => import("./video-C-iSvsQk.js") }), `./renderers/${childInstructions.rendererType}.tsx`, 3);
|
|
71
|
+
}
|
|
72
|
+
return rendererLoaders;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
let child = React__default.createElement(rendererClass, propsForChild);
|
|
78
|
+
return child;
|
|
79
|
+
}
|
|
80
|
+
let rendererType = props.componentInstructions.rendererType;
|
|
81
|
+
const callAction = (argObj) => {
|
|
82
|
+
if (!argObj.componentIdx) {
|
|
83
|
+
argObj = { ...argObj };
|
|
84
|
+
argObj.componentIdx = componentIdx;
|
|
85
|
+
}
|
|
86
|
+
if (!argObj.rendererType) {
|
|
87
|
+
argObj = { ...argObj };
|
|
88
|
+
argObj.rendererType = rendererType;
|
|
89
|
+
}
|
|
90
|
+
return props.callAction(argObj);
|
|
91
|
+
};
|
|
92
|
+
return {
|
|
93
|
+
componentIdx: effectiveIdx,
|
|
94
|
+
id: prefixForIds + id,
|
|
95
|
+
SVs: stateValues,
|
|
96
|
+
docId: props.docId,
|
|
97
|
+
activityId: props.activityId,
|
|
98
|
+
actions,
|
|
99
|
+
children,
|
|
100
|
+
sourceOfUpdate,
|
|
101
|
+
ignoreUpdate,
|
|
102
|
+
rendererName,
|
|
103
|
+
initializeChildren: () => {
|
|
104
|
+
},
|
|
105
|
+
callAction,
|
|
106
|
+
doenetViewerUrl: props.doenetViewerUrl,
|
|
107
|
+
fetchExternalDoenetML: props.fetchExternalDoenetML,
|
|
108
|
+
requestScrollTo: props.requestScrollTo,
|
|
109
|
+
flags: props.flags
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
export {
|
|
113
|
+
useDoenetRenderer as u
|
|
114
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { F as FontAwesomeIcon } from "./index.es-
|
|
1
|
+
import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
|
|
2
|
+
import { F as FontAwesomeIcon } from "./index.es-B8Vdrw0-.js";
|
|
3
3
|
import { d as faSpinner, e as faLevelDownAlt, g as faCheck, h as faTimes, i as faCloud } from "./index-BDlitCgu.js";
|
|
4
4
|
import React__default, { useCallback } from "react";
|
|
5
5
|
function calculateValidationState(SVs) {
|
package/utils/diagnostics.d.ts
CHANGED
|
@@ -20,6 +20,13 @@ export declare function useDiagnosticFormatter(translate: Translator, uiLocale:
|
|
|
20
20
|
* catalogs yet (#1518) — come back untouched, and so does the array itself
|
|
21
21
|
* when nothing changed, so a document whose diagnostics are all legacy costs
|
|
22
22
|
* nothing and doesn't churn a memo downstream.
|
|
23
|
+
*
|
|
24
|
+
* A *coded* record under a non-English chrome locale is re-rendered even where
|
|
25
|
+
* the catalog hasn't translated it, because the chrome isolates its placeables
|
|
26
|
+
* in every language but English and the English fallback picks the marks up
|
|
27
|
+
* too. That is deliberate — isolation follows the surface, not whichever
|
|
28
|
+
* catalog answered — and it means such a record no longer keeps its identity.
|
|
29
|
+
* The cost is a new array for those documents, not a wrong message.
|
|
23
30
|
*/
|
|
24
31
|
export declare function localizeDiagnostics(diagnostics: DiagnosticRecord[], format: DiagnosticFormatter): DiagnosticRecord[];
|
|
25
32
|
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/utils/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,MAAM,GACjB,mBAAmB,CAKrB;AAED
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/utils/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,KAAK,mBAAmB,EACxB,KAAK,UAAU,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAClC,SAAS,EAAE,UAAU,EACrB,QAAQ,EAAE,MAAM,GACjB,mBAAmB,CAKrB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAC/B,WAAW,EAAE,gBAAgB,EAAE,EAC/B,MAAM,EAAE,mBAAmB,GAC5B,gBAAgB,EAAE,CAWpB"}
|
package/utils/i18n.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import { Translator } from '../../packages/i18n/dist';
|
|
2
|
+
import { Direction, Translator } from '../../packages/i18n/dist';
|
|
3
3
|
/**
|
|
4
4
|
* The catalogs available for a set of locales: whatever the host supplied,
|
|
5
5
|
* plus whatever this build can code-split in for the tags actually asked for.
|
|
@@ -84,6 +84,72 @@ export declare function useT(): Translator;
|
|
|
84
84
|
* list arguments with `Intl.ListFormat`.
|
|
85
85
|
*/
|
|
86
86
|
export declare function useUiLocale(): string;
|
|
87
|
+
/**
|
|
88
|
+
* Declare the direction of the document the chrome below is drawn inside.
|
|
89
|
+
*
|
|
90
|
+
* Mounted twice over: once by `DocViewer` for the outermost document, and again
|
|
91
|
+
* by `section.tsx` around a nested `<document lang>`, which turns its own
|
|
92
|
+
* subtree around and so becomes what the chrome inside *it* has to agree with.
|
|
93
|
+
* Without the second, a hint inside `<document lang="ar">` would compare itself
|
|
94
|
+
* against the activity's direction and stay silent while sitting in a box
|
|
95
|
+
* running the other way.
|
|
96
|
+
*/
|
|
97
|
+
export declare function DocumentDirectionProvider({ direction, children, }: {
|
|
98
|
+
direction: Direction;
|
|
99
|
+
children: React.ReactNode;
|
|
100
|
+
}): React.JSX.Element;
|
|
101
|
+
/**
|
|
102
|
+
* The direction of the nearest enclosing document, or `null` outside any.
|
|
103
|
+
*
|
|
104
|
+
* For a renderer that both *declares* a direction and draws chrome of its own
|
|
105
|
+
* inside it — today only `section.tsx`, which has to compare its own heading
|
|
106
|
+
* against the box it is about to open rather than the one around it.
|
|
107
|
+
*/
|
|
108
|
+
export declare function useDocumentDirection(): Direction | null;
|
|
109
|
+
/** What {@link useChromeLangDir} spreads onto a piece of chrome. */
|
|
110
|
+
export type ChromeLangDir = {
|
|
111
|
+
lang?: string;
|
|
112
|
+
dir?: Direction;
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* {@link useChromeLangDir} without the hook, for a caller that renders *above*
|
|
116
|
+
* {@link DocumentDirectionProvider} and so cannot read the context — today only
|
|
117
|
+
* `DocViewer`'s error banner, which is built before the providers it sits
|
|
118
|
+
* inside.
|
|
119
|
+
*
|
|
120
|
+
* @param documentDirection The direction of the surrounding document, or `null`
|
|
121
|
+
* where there is none to disagree with.
|
|
122
|
+
*/
|
|
123
|
+
export declare function chromeLangDir(uiLocale: string, documentDirection: Direction | null): ChromeLangDir;
|
|
124
|
+
/**
|
|
125
|
+
* `lang` and `dir` for a piece of chrome, or `{}` when it needs neither.
|
|
126
|
+
*
|
|
127
|
+
* The viewer labels its wrapper with the *document's* language, and mounts the
|
|
128
|
+
* chrome provider inside it — so every string a renderer draws through
|
|
129
|
+
* {@link useT} is the reader's language sitting in a box declared to be the
|
|
130
|
+
* content's. That costs nothing while the two run the same way, and is why
|
|
131
|
+
* this returns an empty object in the overwhelmingly common case: spreading it
|
|
132
|
+
* then adds no attribute to the element it is spread onto. (Several of the
|
|
133
|
+
* call sites wrap their string in a `<span>` to have something to spread onto;
|
|
134
|
+
* that span is inert when the object is empty.)
|
|
135
|
+
*
|
|
136
|
+
* It matters when they disagree, which is the case right-to-left support
|
|
137
|
+
* exists for: a Spanish-speaking reader working an Arabic activity. Without
|
|
138
|
+
* this, their English or Spanish chrome renders inside `dir="rtl"` and its
|
|
139
|
+
* trailing punctuation, parentheses and percent signs land on the wrong end of
|
|
140
|
+
* the sentence.
|
|
141
|
+
*
|
|
142
|
+
* Spread it onto chrome that sits *inside* the document — the error box, the
|
|
143
|
+
* feedback heading, the click-to-toggle text on a hint, a solution or a
|
|
144
|
+
* collapsible section, a pretzel's answer label, the summary-statistics
|
|
145
|
+
* caption, the math-input preview's parse-error message. Do not spread it onto
|
|
146
|
+
* anything reading {@link useContentT}: the check-work widget follows the
|
|
147
|
+
* document's language on purpose, so it should follow the document's direction
|
|
148
|
+
* too. Tooltips need nothing either, for the opposite reason — Ariakit portals
|
|
149
|
+
* them to `document.body`, so they are never inside the document's box at all,
|
|
150
|
+
* and a native `title` attribute is drawn by the browser rather than by CSS.
|
|
151
|
+
*/
|
|
152
|
+
export declare function useChromeLangDir(): ChromeLangDir;
|
|
87
153
|
/**
|
|
88
154
|
* Publish the document-language translator to every {@link useContentT} below.
|
|
89
155
|
*
|
package/utils/i18n.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/utils/i18n.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/utils/i18n.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAUH,KAAK,SAAS,EACd,KAAK,UAAU,EAClB,MAAM,cAAc,CAAC;AAoBtB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,EACtC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAC9C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CA8C3C;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAChD,UAAU,CASZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACnC,cAAc,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACzC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAChD;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAO3C;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,EACzB,SAAS,EACT,MAAM,EACN,QAAQ,GACX,EAAE;IACC,SAAS,EAAE,UAAU,CAAC;IACtB,yDAAyD;IACzD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAOA;AAED;;;;;;;GAOG;AACH,wBAAgB,IAAI,IAAI,UAAU,CAEjC;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAWD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,EACtC,SAAS,EACT,QAAQ,GACX,EAAE;IACC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAMA;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,SAAS,GAAG,IAAI,CAEvD;AAED,oEAAoE;AACpE,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAA;CAAE,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CACzB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,SAAS,GAAG,IAAI,GACpC,aAAa,CAMf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAEhD;AAUD;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,SAAS,EACT,QAAQ,GACX,EAAE;IACC,SAAS,EAAE,UAAU,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC7B,qBAMA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,WAAW,IAAI,UAAU,CAExC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { t as DocContext, q as jsxRuntimeExports, v as textRendererStyle, w as DynamicMath } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useContext, useRef } from "react";
|
|
3
|
-
import { j as jxg, s as syncLayer, g as syncVisPropValues, e as syncLineStrokeStyle, a as syncWithLabelToggle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, i as applyLineFamilyLabelPlacement, k as buildLineFamilyLabelAttributes, d as attachLabelHoverHighlight, c as computeLabelMaskCssStyle, l as stabilizeInitialLineFamilyLabelPlacement, r as removeJXGEventHandlers } from "./JSXGraphRenderer-
|
|
4
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
5
|
-
import { BoardContext, VERTEX_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-
|
|
6
|
-
import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-
|
|
7
|
-
import { ChoiceInputInlineContext } from "./choiceInput-
|
|
8
|
-
import { a as buildLineLikeAttributes } from "./buildGraphicalAttributes-
|
|
3
|
+
import { j as jxg, s as syncLayer, g as syncVisPropValues, e as syncLineStrokeStyle, a as syncWithLabelToggle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, i as applyLineFamilyLabelPlacement, k as buildLineFamilyLabelAttributes, d as attachLabelHoverHighlight, c as computeLabelMaskCssStyle, l as stabilizeInitialLineFamilyLabelPlacement, r as removeJXGEventHandlers } from "./JSXGraphRenderer-3rMxl-PD.js";
|
|
4
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
5
|
+
import { BoardContext, VERTEX_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-BShdY7M2.js";
|
|
6
|
+
import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-HSo2HwSH.js";
|
|
7
|
+
import { ChoiceInputInlineContext } from "./choiceInput-DWcLPKV7.js";
|
|
8
|
+
import { a as buildLineLikeAttributes, c as buildDragHandleAttributes } from "./buildGraphicalAttributes-0RNcbd2S.js";
|
|
9
9
|
import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
|
|
10
10
|
import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
|
|
11
11
|
import { a as resolveLineColor, d as resolveHandleColor } from "./styleColors-Cknqcr0q.js";
|
|
@@ -71,16 +71,10 @@ const vector = React__default.memo(function Vector(props) {
|
|
|
71
71
|
[...SVs.numericalEndpoints[0]],
|
|
72
72
|
[...SVs.numericalEndpoints[1]]
|
|
73
73
|
];
|
|
74
|
-
let jsxPointAttributes =
|
|
75
|
-
|
|
76
|
-
withLabel: false,
|
|
77
|
-
fixed: false,
|
|
78
|
-
highlight: true,
|
|
79
|
-
fillColor: "none",
|
|
80
|
-
strokeColor: "none",
|
|
81
|
-
highlightStrokeColor: "none",
|
|
82
|
-
highlightFillColor: resolveHandleColor(darkMode),
|
|
74
|
+
let jsxPointAttributes = buildDragHandleAttributes({
|
|
75
|
+
elementAttributes: jsxVectorAttributes,
|
|
83
76
|
layer: pointLayer,
|
|
77
|
+
darkMode,
|
|
84
78
|
showInfoBox: SVs.showCoordsWhenDragging
|
|
85
79
|
});
|
|
86
80
|
let tailPointAttributes = Object.assign({}, jsxPointAttributes);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { y as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
|
|
2
2
|
import React__default, { useState, useEffect, useRef } from "react";
|
|
3
|
-
import { u as useDoenetRenderer } from "./useDoenetRenderer-
|
|
3
|
+
import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
|
|
4
4
|
import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
|
|
5
|
-
import { D as DescriptionPopover, a as DescriptionAsDetails } from "./Description-
|
|
5
|
+
import { D as DescriptionPopover, a as DescriptionAsDetails } from "./Description-DzHJcqCq.js";
|
|
6
6
|
import { g as getNonInlineMediaLayoutStyles } from "./nonInlineMediaLayout-CkXHaqzo.js";
|
|
7
|
-
import { N as NonInlineMediaWrapper } from "./NonInlineMediaWrapper-
|
|
7
|
+
import { N as NonInlineMediaWrapper } from "./NonInlineMediaWrapper-CTSA5ztb.js";
|
|
8
8
|
const YT_API_SRC = "https://www.youtube.com/iframe_api";
|
|
9
9
|
const listeners = /* @__PURE__ */ new Set();
|
|
10
10
|
let installed = false;
|