@doenet/doenetml 0.7.21-dev.361 → 0.7.21-dev.362

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 (141) hide show
  1. package/{AnswerResponseButton-BzVcEOrl.js → AnswerResponseButton-FrNXi7jz.js} +8 -10
  2. package/{Description-CeDL7FZY.js → Description-D4h1QV0r.js} +20 -3
  3. package/{GraphFrame-8IPcvXqk.js → GraphFrame-7muJHYBu.js} +2 -2
  4. package/{JSXGraphRenderer-Be41lgIz.js → JSXGraphRenderer-DH6ZzfYT.js} +1 -1
  5. package/{NonInlineMediaWrapper-Tf8Bgp1V.js → NonInlineMediaWrapper-CqBvf7rz.js} +1 -1
  6. package/Viewer/DocViewer.d.ts.map +1 -1
  7. package/Viewer/coreWorkerBoot.d.ts.map +1 -1
  8. package/Viewer/renderers/_error.d.ts.map +1 -1
  9. package/Viewer/renderers/answer.d.ts.map +1 -1
  10. package/Viewer/renderers/booleanInput.d.ts.map +1 -1
  11. package/Viewer/renderers/choiceInput.d.ts.map +1 -1
  12. package/Viewer/renderers/containerBlock.d.ts.map +1 -1
  13. package/Viewer/renderers/containerInline.d.ts.map +1 -1
  14. package/Viewer/renderers/feedback.d.ts.map +1 -1
  15. package/Viewer/renderers/footnote.d.ts.map +1 -1
  16. package/Viewer/renderers/fractionInput.d.ts.map +1 -1
  17. package/Viewer/renderers/hint.d.ts.map +1 -1
  18. package/Viewer/renderers/list.d.ts.map +1 -1
  19. package/Viewer/renderers/mathInput.d.ts.map +1 -1
  20. package/Viewer/renderers/matrixInput.d.ts.map +1 -1
  21. package/Viewer/renderers/orbitalDiagramInput.d.ts.map +1 -1
  22. package/Viewer/renderers/p.d.ts.map +1 -1
  23. package/Viewer/renderers/pretzel.d.ts.map +1 -1
  24. package/Viewer/renderers/section.d.ts.map +1 -1
  25. package/Viewer/renderers/slider.d.ts.map +1 -1
  26. package/Viewer/renderers/solution.d.ts.map +1 -1
  27. package/Viewer/renderers/subsetOfRealsInput.d.ts.map +1 -1
  28. package/Viewer/renderers/summaryStatistics.d.ts.map +1 -1
  29. package/Viewer/renderers/textInput.d.ts.map +1 -1
  30. package/Viewer/renderers/utils/AnswerResponseButton.d.ts.map +1 -1
  31. package/Viewer/renderers/utils/Description.d.ts.map +1 -1
  32. package/Viewer/renderers/utils/checkWork.d.ts +5 -1
  33. package/Viewer/renderers/utils/checkWork.d.ts.map +1 -1
  34. package/Viewer/renderers/utils/disclosure.d.ts +16 -0
  35. package/Viewer/renderers/utils/disclosure.d.ts.map +1 -0
  36. package/Viewer/renderers/utils/validationState.d.ts +3 -1
  37. package/Viewer/renderers/utils/validationState.d.ts.map +1 -1
  38. package/Viewer/renderersLoadComponent.d.ts.map +1 -1
  39. package/{_error-DhRiszio.js → _error-BdTgXDgj.js} +4 -3
  40. package/{alert-CExDcbrh.js → alert-Bp9rBO1c.js} +3 -3
  41. package/{angle-FCTtCuvN.js → angle-xoJC6SFX.js} +6 -6
  42. package/{answer-BLusvBSG.js → answer-_Zvxo4jA.js} +8 -6
  43. package/{asList-Dv__hv6D.js → asList-DZD-Xdrj.js} +2 -2
  44. package/{blockQuote-B6Wtw4HN.js → blockQuote-CUi9cydG.js} +3 -3
  45. package/{boolean-IP59-Zjp.js → boolean-CX7vVQJz.js} +2 -2
  46. package/{booleanInput-BCNoC_vo.js → booleanInput-CceFBEy2.js} +9 -7
  47. package/{br-BqejfFtq.js → br-C_fdDVKv.js} +2 -2
  48. package/{button-DzYMy3G6.js → button-DBxivYmV.js} +4 -4
  49. package/{c-wV9nNSPC.js → c-Dr5FHPut.js} +3 -3
  50. package/{cell-Cfv7v4mc.js → cell-hqwqMA4A.js} +3 -3
  51. package/{choiceInput-BjbqDU9d.js → choiceInput-7JZaBHNZ.js} +10 -7
  52. package/{circle-CQ5lWEtc.js → circle-BqfCWmj2.js} +6 -6
  53. package/{cobwebPolyline-CAStHK_5.js → cobwebPolyline-JFOTL1HK.js} +4 -4
  54. package/{codeEditor-C2tiWOSh.js → codeEditor-oSH9duvd.js} +2 -2
  55. package/{composites-BVLPwfSW.js → composites-DbpoF3XJ.js} +1 -1
  56. package/{containerBlock-CLEUmhMM.js → containerBlock-BwJnX0UE.js} +7 -5
  57. package/{containerInline-kv3umsgq.js → containerInline-DSHf9h9o.js} +7 -5
  58. package/{curve-gdmcSsYU.js → curve-BH7j7hXT.js} +4 -4
  59. package/disclosure-axyZa36E.js +6 -0
  60. package/{doenetml-BXSsTmMg.js → doenetml-CCMBYR_b.js} +1712 -227
  61. package/doenetml-external-worker.js +2 -2
  62. package/doenetml-inline-worker.js +2 -2
  63. package/doenetml.d.ts.map +1 -1
  64. package/{ellipsis-D4fj-dH6.js → ellipsis-CQ4585lT.js} +2 -2
  65. package/{em-BLDmBPbZ.js → em-CYcBkUiA.js} +3 -3
  66. package/{embed-DFjdhAuI.js → embed-Be0he9Uz.js} +2 -2
  67. package/{feedback-BDSuY82b.js → feedback-ByTDuaNm.js} +7 -5
  68. package/{figure-DCQvyct_.js → figure-Dl_yKz7e.js} +3 -3
  69. package/{fillPatterns-DePmEjFP.js → fillPatterns-B-Wb7Rdw.js} +1 -1
  70. package/{footnote-EqPCQBWN.js → footnote-BpmhdxIC.js} +6 -8
  71. package/{fractionInput-CLSJPyA_.js → fractionInput-CCMZLzep.js} +10 -7
  72. package/{graph-C6hIOAwD.js → graph-CJRztDFF.js} +6 -6
  73. package/{hint-5LodBIQj.js → hint-39ljV3xf.js} +9 -9
  74. package/{hr-C9sb2QsS.js → hr-ACnfIwXC.js} +2 -2
  75. package/{image-CVqPuME4.js → image-DvAqXhei.js} +7 -7
  76. package/{index-yIMJFPe2.js → index-CMIXIik7.js} +1 -1
  77. package/{index.es-DnBW6AYz.js → index.es-p77isnix.js} +1 -1
  78. package/index.js +1 -1
  79. package/{label-BH-b9r-w.js → label-C63Ww5PO.js} +6 -6
  80. package/{labelWithLatex-DpzLXHtw.js → labelWithLatex-ClPeO6KG.js} +1 -1
  81. package/{legend-Dmq310xU.js → legend-BIyyKsy5.js} +4 -4
  82. package/{line-BerJZTGH.js → line-nzRw-2iw.js} +6 -6
  83. package/{lineFamilyDragHandlers-YfhC_Q94.js → lineFamilyDragHandlers-LT5y2nwm.js} +1 -1
  84. package/{lineSegment-BUtYPLbh.js → lineSegment-DEV7vXZ3.js} +5 -5
  85. package/{list-Ye_2Ltwm.js → list-0vosUKx2.js} +7 -5
  86. package/{lq-BiqdUNus.js → lq-C6SI-4Ja.js} +2 -2
  87. package/{lsq-DiKKUzSa.js → lsq-77sCkOO8.js} +2 -2
  88. package/{markupRenderer-Cb5alIAV.js → markupRenderer-BkS3m7gW.js} +1 -1
  89. package/{math-CIdkbUN1.js → math-dC5Avala.js} +6 -6
  90. package/{mathInput-BzRlJdzU.js → mathInput-Be03NUZy.js} +25 -13
  91. package/{matrixInput-DDs7lvBh.js → matrixInput-BZHnwuib.js} +23 -9
  92. package/{mdash-6RQrvN6B.js → mdash-D-AfwjXw.js} +2 -2
  93. package/{nbsp-Bv8MOxpQ.js → nbsp-D2K2UhZb.js} +2 -2
  94. package/{ndash-9o2u4hWP.js → ndash-DadHhIWX.js} +2 -2
  95. package/{number-CkoP-Awu.js → number-dzVGZ9ov.js} +6 -6
  96. package/{orbitalDiagram-B0YGzU6e.js → orbitalDiagram-Dxcuy3dt.js} +2 -2
  97. package/{orbitalDiagramInput-CMOVOQd6.js → orbitalDiagramInput-CI-jzpnD.js} +25 -10
  98. package/{p-Ds5IiZOP.js → p-pEbvJ23K.js} +7 -5
  99. package/package.json +1 -1
  100. package/{paginatorControls-2F08srE_.js → paginatorControls-DGwC24KV.js} +2 -2
  101. package/{pegboard-CJ7R1ORC.js → pegboard-DThvj_AK.js} +4 -4
  102. package/{point-DWqkuQLD.js → point-DRIItKT6.js} +6 -6
  103. package/{polygon-DVaeOcPw.js → polygon-CyiUEjCg.js} +6 -6
  104. package/{polyline-DQvHh8rj.js → polyline-Boz-zlQv.js} +5 -5
  105. package/{pre-C_MW5Olo.js → pre-Bjvq5iJ4.js} +3 -3
  106. package/{prefigure-Ci1f1zUh.js → prefigure-BPQPwHBD.js} +1 -1
  107. package/{pretzel-DVucy8kL.js → pretzel-CfNL3RKC.js} +10 -7
  108. package/{q-CNXXCBSX.js → q-DJbSp6bj.js} +3 -3
  109. package/{ray-DJJXgWjR.js → ray-BfGfX6gD.js} +5 -5
  110. package/{ref-Cd36RrOw.js → ref-B-M85Wgb.js} +2 -2
  111. package/{regionBetweenCurveXAxis-C4leqEex.js → regionBetweenCurveXAxis-CGlQKapF.js} +5 -5
  112. package/{regionBetweenCurves-BMps4Bio.js → regionBetweenCurves-DV7ARKKw.js} +5 -5
  113. package/{row-CbA-d6r0.js → row-DBEHryOQ.js} +2 -2
  114. package/{rq-DOr-Phc5.js → rq-DSkqTb4D.js} +2 -2
  115. package/{rsq-DIEK5RYn.js → rsq-CmYO91JS.js} +2 -2
  116. package/{section-DxVcSpPO.js → section-P6nedLi8.js} +26 -22
  117. package/{sha256-J35x7uWS-BC2XE0XO.js → sha256-J35x7uWS-BtnkRJk3.js} +1 -1
  118. package/{sideBySide-Dax2p65a.js → sideBySide-B__iobBS.js} +2 -2
  119. package/{slider-WcUbkagC.js → slider-Cj1kf_PL.js} +6 -5
  120. package/{solution-pYYqr4mI.js → solution-CugnzBD0.js} +10 -10
  121. package/{spreadsheet-BrvEPVkR.js → spreadsheet-BDQTKOo4.js} +2 -2
  122. package/{sq-CsVdwQ0w.js → sq-DRRKkcQ2.js} +3 -3
  123. package/style.css +7 -0
  124. package/{subsetOfRealsInput-C7LSCImc.js → subsetOfRealsInput-runRYoEh.js} +34 -6
  125. package/{summaryStatistics-Dx4n5bYn.js → summaryStatistics-CpAo0yUx.js} +11 -6
  126. package/{table-BCG2EBik.js → table-DFoJXU6W.js} +2 -2
  127. package/{tabular-DEiey_kF.js → tabular-CHSfbyFz.js} +2 -2
  128. package/{tag-CfZ-K_y5.js → tag-CgmbdQFT.js} +2 -2
  129. package/{text-C6U0VcDc.js → text-Cp6jnCrT.js} +6 -6
  130. package/{textInput-CaAFDfjE.js → textInput-Dqw-NXoY.js} +12 -9
  131. package/{tooltip-provider-kvNemycF.js → tooltip-provider-BTQ5leCb.js} +1 -1
  132. package/{useAnchoredGraphDragHandler-BUbd_SAk.js → useAnchoredGraphDragHandler-CoDUH2rg.js} +1 -1
  133. package/useDoenetRenderer-DAqF5zFD.js +114 -0
  134. package/{useSubmitActionWithDelay-BysJ9T7y.js → useSubmitActionWithDelay-DBHyoI8R.js} +52 -24
  135. package/utils/i18n.d.ts +46 -0
  136. package/utils/i18n.d.ts.map +1 -0
  137. package/validationState-DI_lxk1a.js +21 -0
  138. package/{vector-eEvp4DAc.js → vector-Dnoio46i.js} +6 -6
  139. package/{video-B7wOIA1h.js → video-DQw2pxWK.js} +4 -4
  140. package/useDoenetRenderer-BAq1ktng.js +0 -114
  141. package/validationState-CVwSJZpB.js +0 -13
@@ -1,11 +1,12 @@
1
- import { n as jsxRuntimeExports, G as ActionButtonGroup, H as ActionButton, M as MathJax } from "./doenetml-BXSsTmMg.js";
1
+ import { u as useT, n as jsxRuntimeExports, H as ActionButtonGroup, I as ActionButton, M as MathJax } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  /* empty css */
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BysJ9T7y.js";
6
- import { D as DescriptionPopover } from "./Description-CeDL7FZY.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBHyoI8R.js";
6
+ import { D as DescriptionPopover } from "./Description-D4h1QV0r.js";
7
7
  const matrixInput = React__default.memo(function MatrixInput(props) {
8
8
  let { id, SVs, actions, children, callAction } = useDoenetRenderer(props);
9
+ const t = useT();
9
10
  let validationState = useRef("unvalidated");
10
11
  if (SVs.hidden) {
11
12
  return null;
@@ -28,7 +29,8 @@ const matrixInput = React__default.memo(function MatrixInput(props) {
28
29
  validationState.current,
29
30
  submitActionWithPending,
30
31
  SVs.forceFullCheckWorkButton,
31
- isPending
32
+ isPending,
33
+ t
32
34
  );
33
35
  let matrixInputs = [];
34
36
  for (let rowInd = 0; rowInd < SVs.numRows; rowInd++) {
@@ -61,7 +63,11 @@ const matrixInput = React__default.memo(function MatrixInput(props) {
61
63
  args: { numRows: SVs.numRows - 1 }
62
64
  }),
63
65
  disabled: SVs.numRows < 2 || disabled,
64
- ariaLabel: "Remove row"
66
+ ariaLabel: t(
67
+ "matrix-remove-row",
68
+ void 0,
69
+ "Remove row"
70
+ )
65
71
  }
66
72
  ),
67
73
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -74,7 +80,7 @@ const matrixInput = React__default.memo(function MatrixInput(props) {
74
80
  args: { numRows: SVs.numRows + 1 }
75
81
  }),
76
82
  disabled,
77
- ariaLabel: "Add row"
83
+ ariaLabel: t("matrix-add-row", void 0, "Add row")
78
84
  }
79
85
  )
80
86
  ] }) });
@@ -92,7 +98,11 @@ const matrixInput = React__default.memo(function MatrixInput(props) {
92
98
  args: { numColumns: SVs.numColumns - 1 }
93
99
  }),
94
100
  disabled: SVs.numColumns < 2 || disabled,
95
- ariaLabel: "Remove column"
101
+ ariaLabel: t(
102
+ "matrix-remove-column",
103
+ void 0,
104
+ "Remove column"
105
+ )
96
106
  }
97
107
  ),
98
108
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -105,7 +115,11 @@ const matrixInput = React__default.memo(function MatrixInput(props) {
105
115
  args: { numColumns: SVs.numColumns + 1 }
106
116
  }),
107
117
  disabled,
108
- ariaLabel: "Add column"
118
+ ariaLabel: t(
119
+ "matrix-add-column",
120
+ void 0,
121
+ "Add column"
122
+ )
109
123
  }
110
124
  )
111
125
  ] }) });
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const mdash = React__default.memo(function Mdash(props) {
5
5
  let { SVs } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const nbsp = React__default.memo(function Nbsp(props) {
5
5
  let { SVs } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const ndash = React__default.memo(function Ndash(props) {
5
5
  let { SVs } = useDoenetRenderer(props);
6
6
  if (SVs.hidden) {
@@ -1,13 +1,13 @@
1
- import { o as DocContext, q as Context, n as jsxRuntimeExports, t as textRendererStyle, p as DynamicMath } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, v as Context, n as jsxRuntimeExports, t as textRendererStyle, p as DynamicMath } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef, useContext } from "react";
3
- import { j as jxg } from "./JSXGraphRenderer-Be41lgIz.js";
4
- import { BoardContext, TEXT_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
5
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { j as jxg } from "./JSXGraphRenderer-DH6ZzfYT.js";
4
+ import { BoardContext, TEXT_LAYER_OFFSET } from "./graph-CJRztDFF.js";
5
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
6
6
  import { g as getPositionFromAnchorByCoordinate } from "./graph-W6vrFcBu.js";
7
- import { ChoiceInputInlineContext } from "./choiceInput-BjbqDU9d.js";
7
+ import { ChoiceInputInlineContext } from "./choiceInput-7JZaBHNZ.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-BUbd_SAk.js";
10
+ import { d as detachAnchoredGraphElement, a as attachAnchoredGraphDragHandlers } from "./useAnchoredGraphDragHandler-CoDUH2rg.js";
11
11
  const number = React__default.memo(function NumberComponent(props) {
12
12
  let { componentIdx, id, SVs, actions, callAction } = useDoenetRenderer(props);
13
13
  NumberComponent.ignoreActionsWithoutCore = () => true;
@@ -1,6 +1,6 @@
1
- import { u as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { q as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const ORBITAL_ARROW_STYLE = {
5
5
  fill: "none",
6
6
  stroke: "var(--canvasText)",
@@ -1,6 +1,6 @@
1
- import { u as useRecordVisibilityChanges, n as jsxRuntimeExports, B as Button2 } from "./doenetml-BXSsTmMg.js";
1
+ import { u as useT, q as useRecordVisibilityChanges, n as jsxRuntimeExports, B as Button2 } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const ORBITAL_ARROW_STYLE = {
5
5
  fill: "none",
6
6
  stroke: "var(--canvasText)",
@@ -8,6 +8,7 @@ const ORBITAL_ARROW_STYLE = {
8
8
  };
9
9
  const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(props) {
10
10
  let { id, SVs, actions, callAction } = useDoenetRenderer(props);
11
+ const t = useT();
11
12
  let selectedRowIndex0 = SVs.selectedRowIndex - 1;
12
13
  let selectedBoxIndex0 = SVs.selectedBoxIndex - 1;
13
14
  orbitalDiagramInput2.ignoreActionsWithoutCore = () => true;
@@ -94,7 +95,7 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
94
95
  action: actions.addRow
95
96
  });
96
97
  },
97
- value: "Add Row"
98
+ value: t("orbital-add-row", void 0, "Add Row")
98
99
  }
99
100
  ) }),
100
101
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "inline-block", marginRight: "4px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -106,7 +107,7 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
106
107
  action: actions.removeRow
107
108
  });
108
109
  },
109
- value: "Remove Row"
110
+ value: t("orbital-remove-row", void 0, "Remove Row")
110
111
  }
111
112
  ) }),
112
113
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "inline-block", marginRight: "4px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -121,7 +122,7 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
121
122
  action: actions.addBox
122
123
  });
123
124
  },
124
- value: "Add Box"
125
+ value: t("orbital-add-box", void 0, "Add Box")
125
126
  }
126
127
  ) }),
127
128
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "inline-block", marginRight: "4px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -136,7 +137,7 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
136
137
  action: actions.removeBox
137
138
  });
138
139
  },
139
- value: "Remove Box"
140
+ value: t("orbital-remove-box", void 0, "Remove Box")
140
141
  }
141
142
  ) }),
142
143
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "inline-block", marginRight: "4px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -151,7 +152,11 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
151
152
  action: actions.addUpArrow
152
153
  });
153
154
  },
154
- value: "Add Up Arrow"
155
+ value: t(
156
+ "orbital-add-up-arrow",
157
+ void 0,
158
+ "Add Up Arrow"
159
+ )
155
160
  }
156
161
  ) }),
157
162
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "inline-block", marginRight: "4px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -166,7 +171,11 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
166
171
  action: actions.addDownArrow
167
172
  });
168
173
  },
169
- value: "Add Down Arrow"
174
+ value: t(
175
+ "orbital-add-down-arrow",
176
+ void 0,
177
+ "Add Down Arrow"
178
+ )
170
179
  }
171
180
  ) }),
172
181
  /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "inline-block", marginRight: "4px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -181,7 +190,11 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
181
190
  action: actions.removeArrow
182
191
  });
183
192
  },
184
- value: "Remove Arrow"
193
+ value: t(
194
+ "orbital-remove-arrow",
195
+ void 0,
196
+ "Remove Arrow"
197
+ )
185
198
  }
186
199
  ) })
187
200
  ] });
@@ -273,6 +286,8 @@ const OrbitalText = React__default.memo(function OrbitalText2({
273
286
  orbitalText,
274
287
  name
275
288
  }) {
289
+ const t = useT();
290
+ const row = rowNumber + 1;
276
291
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
277
292
  "input",
278
293
  {
@@ -285,7 +300,7 @@ const OrbitalText = React__default.memo(function OrbitalText2({
285
300
  let newValue = e.target.value;
286
301
  updateRowText(newValue);
287
302
  },
288
- "aria-label": `Label for row ${rowNumber + 1}`
303
+ "aria-label": t("orbital-row-label", { row }, `Label for row ${row}`)
289
304
  }
290
305
  );
291
306
  });
@@ -1,10 +1,11 @@
1
- import { u as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { u as useT, q as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-BVLPwfSW.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BysJ9T7y.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-DbpoF3XJ.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBHyoI8R.js";
6
6
  const p = React__default.memo(function P(props) {
7
7
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
8
+ const t = useT();
8
9
  const ref = useRef(null);
9
10
  useRecordVisibilityChanges(ref, callAction, actions);
10
11
  if (SVs.hidden) {
@@ -26,7 +27,8 @@ const p = React__default.memo(function P(props) {
26
27
  validationState,
27
28
  submitActionWithPending,
28
29
  true,
29
- isPending
30
+ isPending,
31
+ t
30
32
  );
31
33
  }
32
34
  if (SVs._compositeReplacementActiveRange) {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@doenet/doenetml",
3
3
  "type": "module",
4
4
  "description": "Semantic markup for building interactive web activities",
5
- "version": "0.7.21-dev.361",
5
+ "version": "0.7.21-dev.362",
6
6
  "license": "AGPL-3.0-or-later",
7
7
  "homepage": "https://github.com/Doenet/DoenetML#readme",
8
8
  "repository": {
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports, B as Button2 } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports, B as Button2 } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const paginatorControls = React__default.memo(function PaginatorControls(props) {
5
5
  let { id, SVs, actions, callAction } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,8 +1,8 @@
1
1
  import React__default, { useContext, useRef, useEffect } from "react";
2
- import { j as jxg } from "./JSXGraphRenderer-Be41lgIz.js";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
4
- import { BoardContext, BASE_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
5
- import { q as Context } from "./doenetml-BXSsTmMg.js";
2
+ import { j as jxg } from "./JSXGraphRenderer-DH6ZzfYT.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
+ import { BoardContext, BASE_LAYER_OFFSET } from "./graph-CJRztDFF.js";
5
+ import { v as Context } from "./doenetml-CCMBYR_b.js";
6
6
  const { round } = Context.math;
7
7
  const pegboard = React__default.memo(function Pegboard(props) {
8
8
  let { SVs } = useDoenetRenderer(props);
@@ -1,12 +1,12 @@
1
- import { o as DocContext, t as textRendererStyle, n as jsxRuntimeExports, p as DynamicMath } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, t as textRendererStyle, n as jsxRuntimeExports, p as DynamicMath } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { r as removeJXGEventHandlers, j as jxg, s as syncLayer, a as syncWithLabelToggle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be41lgIz.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
5
- import { BoardContext, POINT_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
3
+ import { r as removeJXGEventHandlers, j as jxg, s as syncLayer, a as syncWithLabelToggle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-DH6ZzfYT.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
5
+ import { BoardContext, POINT_LAYER_OFFSET } from "./graph-CJRztDFF.js";
6
6
  import { c as characterizeOffGraphPoint } from "./offGraphIndicators-CYoqQHuD.js";
7
7
  import { n as normalizePointStyle, a as normalizePointSize, b as adjustPointLabelPosition, e as calculatePointLabelAnchor } from "./graph-W6vrFcBu.js";
8
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-YfhC_Q94.js";
9
- import { ChoiceInputInlineContext } from "./choiceInput-BjbqDU9d.js";
8
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-LT5y2nwm.js";
9
+ import { ChoiceInputInlineContext } from "./choiceInput-7JZaBHNZ.js";
10
10
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
11
11
  import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
12
12
  import { c as resolveMarkerColor } from "./styleColors-Cknqcr0q.js";
@@ -1,16 +1,16 @@
1
- import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { r as removeJXGEventHandlers, j as jxg, g as syncVisPropValues, s as syncLayer, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, e as syncLineStrokeStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be41lgIz.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
5
- import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-YfhC_Q94.js";
3
+ import { r as removeJXGEventHandlers, j as jxg, g as syncVisPropValues, s as syncLayer, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, e as syncLineStrokeStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-DH6ZzfYT.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-CJRztDFF.js";
6
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-LT5y2nwm.js";
7
7
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
8
8
  import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
9
9
  import { a as resolveLineColor, r as resolveFillColor, b as resolveCanvasColor, d as resolveHandleColor } from "./styleColors-Cknqcr0q.js";
10
10
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
11
11
  import { u as useDraggableRefs, a as useJSXGraphCleanup } from "./useJSXGraphCleanup-CX91oVW8.js";
12
12
  import { c as buildBaseAttributes } from "./buildGraphicalAttributes-C7PtyKL7.js";
13
- import { g as getPatternFillAttributes } from "./fillPatterns-DePmEjFP.js";
13
+ import { g as getPatternFillAttributes } from "./fillPatterns-B-Wb7Rdw.js";
14
14
  const polygon = React__default.memo(function Polygon(props) {
15
15
  let { componentIdx, id, SVs, actions, sourceOfUpdate, callAction } = useDoenetRenderer(props);
16
16
  Polygon.ignoreActionsWithoutCore = () => true;
@@ -1,9 +1,9 @@
1
- import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { s as syncLayer, r as removeJXGEventHandlers, j as jxg, g as syncVisPropValues, e as syncLineStrokeStyle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be41lgIz.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
5
- import { BoardContext, VERTEX_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-YfhC_Q94.js";
3
+ import { s as syncLayer, r as removeJXGEventHandlers, j as jxg, g as syncVisPropValues, e as syncLineStrokeStyle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-DH6ZzfYT.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
5
+ import { BoardContext, VERTEX_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-CJRztDFF.js";
6
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-LT5y2nwm.js";
7
7
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
8
8
  import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
9
9
  import { a as resolveLineColor, d as resolveHandleColor } from "./styleColors-Cknqcr0q.js";
@@ -1,7 +1,7 @@
1
- import { u as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { q as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-BVLPwfSW.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-DbpoF3XJ.js";
5
5
  import { a as getBlockMarginWithOptionalTopSuppression } from "./nonInlineMediaLayout-CkXHaqzo.js";
6
6
  const pre = React__default.memo(function Pre(props) {
7
7
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
@@ -1,4 +1,4 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useState, useRef, useEffect } from "react";
3
3
  const __vite_import_meta_env__ = { "VITE_PREFIGURE_MODULE_URL": "https://cdn.jsdelivr.net/npm/@doenet/prefigure@latest/prefigure.js" };
4
4
  const DEFAULT_PREFIGURE_BUILD_ENDPOINT = "https://prefigure.doenet.org/build";
@@ -1,8 +1,8 @@
1
- import { u as useRecordVisibilityChanges, o as DocContext, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { u as useT, q as useRecordVisibilityChanges, o as DocContext, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useRef, useContext } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
4
- import { A as AnswerResponseButton } from "./AnswerResponseButton-BzVcEOrl.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BysJ9T7y.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
+ import { A as AnswerResponseButton } from "./AnswerResponseButton-FrNXi7jz.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBHyoI8R.js";
6
6
  const pretzel = React__default.memo(function Pretzel(props) {
7
7
  let {
8
8
  componentIdx,
@@ -15,6 +15,7 @@ const pretzel = React__default.memo(function Pretzel(props) {
15
15
  callAction,
16
16
  flags
17
17
  } = useDoenetRenderer(props);
18
+ const t = useT();
18
19
  const ref = useRef(null);
19
20
  useRecordVisibilityChanges(ref, callAction, actions);
20
21
  const { showAnswerResponseButton, answerResponseCounts } = useContext(DocContext) || {};
@@ -66,8 +67,9 @@ const pretzel = React__default.memo(function Pretzel(props) {
66
67
  className: "pretzelAnswer",
67
68
  "data-test": "pretzel-row-answer",
68
69
  children: [
69
- /* @__PURE__ */ jsxRuntimeExports.jsx("b", { children: "Answer" }),
70
- ": ",
70
+ /* @__PURE__ */ jsxRuntimeExports.jsx("b", { children: t("pretzel-answer", void 0, "Answer") }),
71
+ ":",
72
+ " ",
71
73
  answer
72
74
  ]
73
75
  }
@@ -105,7 +107,8 @@ const pretzel = React__default.memo(function Pretzel(props) {
105
107
  validationState,
106
108
  submitActionWithPending,
107
109
  true,
108
- isPending
110
+ isPending,
111
+ t
109
112
  );
110
113
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { id, style: { marginBottom: "4px" }, "data-test": "pretzel-root", children: [
111
114
  problemGrids,
@@ -1,7 +1,7 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-Cb5alIAV.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
+ import { r as renderMarkupBody } from "./markupRenderer-BkS3m7gW.js";
5
5
  const q = React__default.memo(function Q(props) {
6
6
  const { SVs, children } = useDoenetRenderer(props);
7
7
  const body = renderMarkupBody({ SVs, children });
@@ -1,9 +1,9 @@
1
- import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { j as jxg, h as syncLineFamilyVisibility, s as syncLayer, 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-Be41lgIz.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-YfhC_Q94.js";
3
+ import { j as jxg, h as syncLineFamilyVisibility, s as syncLayer, 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-DH6ZzfYT.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-CJRztDFF.js";
6
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-LT5y2nwm.js";
7
7
  import { a as buildLineLikeAttributes } from "./buildGraphicalAttributes-C7PtyKL7.js";
8
8
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
9
9
  import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
@@ -1,6 +1,6 @@
1
- import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const ref = React__default.memo(function Ref(props) {
5
5
  const { id, SVs, children, requestScrollTo } = useDoenetRenderer(props);
6
6
  const { doenetViewerUrl } = useContext(DocContext) || {};
@@ -1,9 +1,9 @@
1
- import { o as DocContext, w as createFunctionFromDefinition, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, x as createFunctionFromDefinition, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef, useEffect } from "react";
3
- import { j as jxg, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be41lgIz.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
6
- import { g as getPatternFillAttributes } from "./fillPatterns-DePmEjFP.js";
3
+ import { j as jxg, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-DH6ZzfYT.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-CJRztDFF.js";
6
+ import { g as getPatternFillAttributes } from "./fillPatterns-B-Wb7Rdw.js";
7
7
  import { b as resolveCanvasColor } from "./styleColors-Cknqcr0q.js";
8
8
  const regionBetweenCurveXAxis = React__default.memo(function RegionBetweenCurveXAxis(props) {
9
9
  let { id, SVs } = useDoenetRenderer(props);
@@ -1,11 +1,11 @@
1
- import { o as DocContext, w as createFunctionFromDefinition, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { o as DocContext, x as createFunctionFromDefinition, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef, useEffect } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
4
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-C6hIOAwD.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-CJRztDFF.js";
5
5
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
6
- import { g as getPatternFillAttributes } from "./fillPatterns-DePmEjFP.js";
6
+ import { g as getPatternFillAttributes } from "./fillPatterns-B-Wb7Rdw.js";
7
7
  import { b as resolveCanvasColor } from "./styleColors-Cknqcr0q.js";
8
- import { b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be41lgIz.js";
8
+ import { b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-DH6ZzfYT.js";
9
9
  const regionBetweenCurves = React__default.memo(function RegionBetweenCurves(props) {
10
10
  let { id, SVs } = useDoenetRenderer(props);
11
11
  RegionBetweenCurves.ignoreActionsWithoutCore = () => true;
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const row = React__default.memo(function Row(props) {
5
5
  let { id, SVs, children } = useDoenetRenderer(props);
6
6
  if (SVs.hidden) {
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const rq = React__default.memo(function Rq(props) {
5
5
  let { SVs } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,6 +1,6 @@
1
- import { n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
4
4
  const rsq = React__default.memo(function Rsq(props) {
5
5
  let { SVs } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,12 +1,14 @@
1
- import { o as DocContext, v as cesc, u as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-BXSsTmMg.js";
1
+ import { u as useT, o as DocContext, w as cesc, q as useRecordVisibilityChanges, n as jsxRuntimeExports } from "./doenetml-CCMBYR_b.js";
2
2
  import React__default, { useContext, useRef, useEffect } from "react";
3
- import { F as FontAwesomeIcon } from "./index.es-DnBW6AYz.js";
3
+ import { F as FontAwesomeIcon } from "./index.es-p77isnix.js";
4
4
  import { f as faCaretDown, a as faCaretRight } from "./index-BDlitCgu.js";
5
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BAq1ktng.js";
6
- import { a as addCommasForCompositeRanges } from "./composites-BVLPwfSW.js";
7
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BysJ9T7y.js";
5
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-DAqF5zFD.js";
6
+ import { a as addCommasForCompositeRanges } from "./composites-DbpoF3XJ.js";
7
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBHyoI8R.js";
8
+ import { c as clickToToggleLabel } from "./disclosure-axyZa36E.js";
8
9
  const section = React__default.memo(function Section(props) {
9
10
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
11
+ const t = useT();
10
12
  const { darkMode } = useContext(DocContext) || {};
11
13
  const headingBoxBg = darkMode === "dark" && SVs.titleColorDarkMode != null ? SVs.titleColorDarkMode : SVs.titleColor;
12
14
  const LIST_ITEM_INDENT = "2em";
@@ -230,21 +232,18 @@ const section = React__default.memo(function Section(props) {
230
232
  }
231
233
  let headingId = id + "_title";
232
234
  if (SVs.collapsible) {
233
- if (SVs.open) {
234
- title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
235
- /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faCaretDown }),
236
- " ",
237
- title,
238
- " (click to close)"
239
- ] });
240
- } else {
241
- title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
242
- /* @__PURE__ */ jsxRuntimeExports.jsx(FontAwesomeIcon, { icon: faCaretRight }),
243
- " ",
244
- title,
245
- " (click to open)"
246
- ] });
247
- }
235
+ title = /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
236
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
237
+ FontAwesomeIcon,
238
+ {
239
+ icon: SVs.open ? faCaretDown : faCaretRight
240
+ }
241
+ ),
242
+ " ",
243
+ title,
244
+ " ",
245
+ clickToToggleLabel(t, SVs.open)
246
+ ] });
248
247
  }
249
248
  let headingStyle = {};
250
249
  if (SVs.collapsible || SVs.boxed) {
@@ -281,7 +280,8 @@ const section = React__default.memo(function Section(props) {
281
280
  validationState,
282
281
  submitActionWithPending,
283
282
  true,
284
- isPending
283
+ isPending,
284
+ t
285
285
  );
286
286
  if (checkWorkComponent) {
287
287
  checkWorkComponent = /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: checkWorkComponent });
@@ -334,7 +334,11 @@ const section = React__default.memo(function Section(props) {
334
334
  ...SVs.isListItem && { paddingLeft: LIST_ITEM_INDENT }
335
335
  };
336
336
  innerContent = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: innerContentStyle, children: [
337
- SVs.rendered ? children : /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: "Initializing..." }),
337
+ SVs.rendered ? children : /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: t(
338
+ "collapsible-initializing",
339
+ void 0,
340
+ "Initializing..."
341
+ ) }),
338
342
  checkWorkComponent
339
343
  ] });
340
344
  }
@@ -1,4 +1,4 @@
1
- import { l as getDefaultExportFromCjs } from "./doenetml-BXSsTmMg.js";
1
+ import { l as getDefaultExportFromCjs } from "./doenetml-CCMBYR_b.js";
2
2
  function _mergeNamespaces$1(n, m) {
3
3
  for (var i = 0; i < m.length; i++) {
4
4
  const e = m[i];