@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.
Files changed (141) hide show
  1. package/{AnswerResponseButton-CsMwAC3t.js → AnswerResponseButton-DRQPLlOM.js} +2 -2
  2. package/{Description-B_KGuyjX.js → Description-DzHJcqCq.js} +1 -1
  3. package/{GraphFrame-BCe-sXyY.js → GraphFrame-BrgLBP-l.js} +2 -2
  4. package/{JSXGraphRenderer-CTbAGksr.js → JSXGraphRenderer-3rMxl-PD.js} +3 -2
  5. package/{NonInlineMediaWrapper-DqUh14n5.js → NonInlineMediaWrapper-CTSA5ztb.js} +1 -1
  6. package/Viewer/DocViewer.d.ts.map +1 -1
  7. package/Viewer/renderers/JSXGraphRenderer.d.ts.map +1 -1
  8. package/Viewer/renderers/_error.d.ts.map +1 -1
  9. package/Viewer/renderers/cell.d.ts.map +1 -1
  10. package/Viewer/renderers/feedback.d.ts.map +1 -1
  11. package/Viewer/renderers/fractionInput.d.ts.map +1 -1
  12. package/Viewer/renderers/hint.d.ts.map +1 -1
  13. package/Viewer/renderers/lineSegment.d.ts.map +1 -1
  14. package/Viewer/renderers/mathInput.d.ts.map +1 -1
  15. package/Viewer/renderers/mathquill/EditableMathField.d.ts.map +1 -1
  16. package/Viewer/renderers/matrixInput.d.ts.map +1 -1
  17. package/Viewer/renderers/orbitalDiagram.d.ts.map +1 -1
  18. package/Viewer/renderers/orbitalDiagramInput.d.ts.map +1 -1
  19. package/Viewer/renderers/polyline.d.ts.map +1 -1
  20. package/Viewer/renderers/prefigure.d.ts.map +1 -1
  21. package/Viewer/renderers/pretzel.d.ts.map +1 -1
  22. package/Viewer/renderers/row.d.ts.map +1 -1
  23. package/Viewer/renderers/section.d.ts.map +1 -1
  24. package/Viewer/renderers/sideBySide.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/spreadsheet.d.ts.map +1 -1
  28. package/Viewer/renderers/subsetOfRealsInput.d.ts.map +1 -1
  29. package/Viewer/renderers/summaryStatistics.d.ts.map +1 -1
  30. package/Viewer/renderers/textInput.d.ts.map +1 -1
  31. package/Viewer/renderers/utils/buildGraphicalAttributes.d.ts +28 -0
  32. package/Viewer/renderers/utils/buildGraphicalAttributes.d.ts.map +1 -1
  33. package/Viewer/renderers/utils/buildGraphicalAttributes.test.d.ts +2 -0
  34. package/Viewer/renderers/utils/buildGraphicalAttributes.test.d.ts.map +1 -0
  35. package/Viewer/renderers/utils/direction.d.ts +39 -0
  36. package/Viewer/renderers/utils/direction.d.ts.map +1 -0
  37. package/Viewer/renderers/vector.d.ts.map +1 -1
  38. package/{_error-8CVqZvs9.js → _error-BIkDYkum.js} +4 -3
  39. package/{alert-CnVNVwp0.js → alert-40qlFB8j.js} +3 -3
  40. package/{angle-DtykfDvk.js → angle-BOqYrXfU.js} +6 -6
  41. package/{answer-D8_55NUB.js → answer-Dgwe0dei.js} +6 -6
  42. package/{asList-Cvb4HFYc.js → asList-B1sJDQs3.js} +2 -2
  43. package/{blockQuote-CD7LAibH.js → blockQuote-BsG2geQs.js} +3 -3
  44. package/{boolean-i9xt_Fyy.js → boolean-N29Fwify.js} +2 -2
  45. package/{booleanInput-DxN2aj4D.js → booleanInput-CcgJltzp.js} +7 -7
  46. package/{br-Ch6INIwC.js → br-BQAkKbws.js} +2 -2
  47. package/{buildGraphicalAttributes-C7PtyKL7.js → buildGraphicalAttributes-0RNcbd2S.js} +22 -2
  48. package/{button-B5SnRU2e.js → button-D3QT17Wd.js} +4 -4
  49. package/{c-DArDpN4A.js → c-Daf8CQwR.js} +3 -3
  50. package/{cell-BFX6fxf0.js → cell-BNmEKrA0.js} +3 -3
  51. package/{choiceInput-DXKjyCqp.js → choiceInput-DWcLPKV7.js} +8 -8
  52. package/{circle-AbQzXEA5.js → circle-L-xmtaHy.js} +7 -7
  53. package/{cobwebPolyline-CB6cVyKX.js → cobwebPolyline-BVdEUH2r.js} +4 -4
  54. package/{codeEditor-D0vhTs3g.js → codeEditor-D0xuKEXG.js} +2 -2
  55. package/{composites-BY7-JuTc.js → composites-Dxl9i1nS.js} +1 -1
  56. package/{containerBlock-Cm-kBh3q.js → containerBlock-CdpPaxoi.js} +4 -4
  57. package/{containerInline-CcOaOhs8.js → containerInline-DHFXTqAT.js} +4 -4
  58. package/{curve-CdVn_xI2.js → curve-5OW8O5t-.js} +4 -4
  59. package/direction-BwrU7jHk.js +9 -0
  60. package/{doenetml-RwjW6x7w.js → doenetml-DynV7ZDD.js} +341 -102
  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-DVinv6-1.js → ellipsis-BJoPJy0v.js} +2 -2
  65. package/{em-B8Bn3iQ8.js → em-C4h-YkRj.js} +3 -3
  66. package/{embed-CCP_3Jzm.js → embed-CjlH0jbC.js} +2 -2
  67. package/{feedback-C7b_K-S3.js → feedback-EFnq4fTf.js} +6 -5
  68. package/{figure-vxfnUy1i.js → figure-BiAWioqb.js} +3 -3
  69. package/{fillPatterns-Cwsbhubm.js → fillPatterns-DmAM78RG.js} +1 -1
  70. package/{footnote-DniX_WDV.js → footnote-U6eszrz5.js} +3 -3
  71. package/{fractionInput-Byd4TDY-.js → fractionInput-Xkm2Vb3z.js} +7 -7
  72. package/{graph-BpbjUn8w.js → graph-BShdY7M2.js} +6 -6
  73. package/{hint-BSyMGzDu.js → hint-BJlVCHDc.js} +6 -5
  74. package/{hr-Dv_52Wxd.js → hr-D15XJLML.js} +2 -2
  75. package/{image-CDzqgIV7.js → image-unzIQyP1.js} +7 -7
  76. package/{index-Ci4K0tDE.js → index-D-0t5xCk.js} +1 -1
  77. package/{index.es-BCeR6l3D.js → index.es-B8Vdrw0-.js} +1 -1
  78. package/index.js +1 -1
  79. package/{label-BpLxA1Ur.js → label-D8LiLGZ0.js} +6 -6
  80. package/{labelWithLatex-CsOmIYzz.js → labelWithLatex-VCThzoHG.js} +1 -1
  81. package/{legend-ZPzJ1SLv.js → legend-wHw8PHjz.js} +4 -4
  82. package/{line-B1QiilgT.js → line-BcmltQzB.js} +7 -7
  83. package/{lineFamilyDragHandlers-DVSxZbFk.js → lineFamilyDragHandlers-HSo2HwSH.js} +1 -1
  84. package/{lineSegment-CT3KASYT.js → lineSegment-BYs7yPxL.js} +14 -18
  85. package/{list-CseGxUq-.js → list-79YU2kl7.js} +4 -4
  86. package/{lq-CAAidAOg.js → lq-PHOAGpAp.js} +2 -2
  87. package/{lsq-B28Z8bv3.js → lsq-DAA0vTFL.js} +2 -2
  88. package/{markupRenderer-BtKUERzJ.js → markupRenderer-BJWUpWkE.js} +1 -1
  89. package/{math-BREIxh-E.js → math-BVfjIEHd.js} +6 -6
  90. package/{mathInput-BkKkb63g.js → mathInput-BtcN3WJR.js} +36 -19
  91. package/{matrixInput-BNWpketN.js → matrixInput-lugF0Kwk.js} +8 -8
  92. package/{mdash-9jp_u7Un.js → mdash-DB7_sXiL.js} +2 -2
  93. package/{nbsp-C8hCQ6TS.js → nbsp-j9m7y0-y.js} +2 -2
  94. package/{ndash-CmJAVnNq.js → ndash-COenOscW.js} +2 -2
  95. package/{number-r1umcD9p.js → number-C5IDajKV.js} +6 -6
  96. package/{orbitalDiagram-CaNwebaQ.js → orbitalDiagram-LpaATJ7G.js} +10 -3
  97. package/{orbitalDiagramInput-B5JhTAdB.js → orbitalDiagramInput-CYnhgICY.js} +13 -6
  98. package/{p-DP7YNDfx.js → p-COajOvYn.js} +4 -4
  99. package/package.json +1 -1
  100. package/{paginatorControls-B-qNFkKU.js → paginatorControls-DzpHO-mO.js} +2 -2
  101. package/{pegboard-D7nAJ6RY.js → pegboard-BdfertiY.js} +4 -4
  102. package/{point-C59ja3n2.js → point-BLFxaE8O.js} +6 -6
  103. package/{polygon-CT-ARozK.js → polygon-DSoochqM.js} +7 -7
  104. package/{polyline-DeGq7WP0.js → polyline-CTIot66d.js} +9 -15
  105. package/{pre-BHH6fa9U.js → pre-xCSl5oZL.js} +3 -3
  106. package/{prefigure-BnSkAPHE.js → prefigure-FCWzkIVy.js} +2 -1
  107. package/{pretzel-CC5NgapN.js → pretzel-RAJStYo8.js} +9 -6
  108. package/{q-CcNznZUD.js → q-DRh3HpI-.js} +3 -3
  109. package/{ray-D1b2GIcp.js → ray-CG-m02gI.js} +6 -6
  110. package/{ref-OLToqdQ5.js → ref-C2DexbxV.js} +2 -2
  111. package/{regionBetweenCurveXAxis-PPEOPw8t.js → regionBetweenCurveXAxis-C1iatjqu.js} +5 -5
  112. package/{regionBetweenCurves-DOtEzJak.js → regionBetweenCurves-Cv-DJCUB.js} +5 -5
  113. package/{row-D42z_svT.js → row-DUzsOO4i.js} +2 -2
  114. package/{rq-DdecWWBG.js → rq-DBf5-NZS.js} +2 -2
  115. package/{rsq-D2qKFBXV.js → rsq-CRwgd5gN.js} +2 -2
  116. package/{section-AwW9I9a-.js → section-CEh-TNeP.js} +47 -50
  117. package/{sha256-Bzrm4-tO-BHq68al3.js → sha256-Bzrm4-tO-D5VzcQ6q.js} +1 -1
  118. package/{sideBySide-BE1-5d7U.js → sideBySide-C_9_ghNz.js} +8 -2
  119. package/{slider-B92oejpK.js → slider-DOgzk4EE.js} +34 -25
  120. package/{solution-DuvHYP7q.js → solution-CKUSv0BJ.js} +6 -5
  121. package/{spreadsheet-CYi5VTRB.js → spreadsheet-P7U0r_qV.js} +3 -2
  122. package/{sq-CGmtbJG8.js → sq-CTORexcM.js} +3 -3
  123. package/style.css +240 -176
  124. package/{subsetOfRealsInput-Dof9pDQJ.js → subsetOfRealsInput-CsAQMYD4.js} +71 -61
  125. package/{summaryStatistics-CHLmwy4B.js → summaryStatistics-BBREeWvh.js} +4 -3
  126. package/{table-Ds4FsDXG.js → table-Bhb19es1.js} +2 -2
  127. package/{tabular-D93ZooVU.js → tabular-DBI3KqQP.js} +2 -2
  128. package/{tag-CQG7jGLX.js → tag-BtGckMpT.js} +2 -2
  129. package/{text-Cs4GBrRa.js → text-7k2wXfRf.js} +6 -6
  130. package/{textInput-D08eVSJy.js → textInput-lbnI_I3U.js} +8 -8
  131. package/{tooltip-provider-mEVAI_oo.js → tooltip-provider-C8VlkKT9.js} +1 -1
  132. package/{useAnchoredGraphDragHandler-CE3goik5.js → useAnchoredGraphDragHandler-CRPtaTJZ.js} +1 -1
  133. package/useDoenetRenderer-By1VsaDX.js +114 -0
  134. package/{useSubmitActionWithDelay-Bl1nM1Rc.js → useSubmitActionWithDelay-DBCED73A.js} +2 -2
  135. package/utils/diagnostics.d.ts +7 -0
  136. package/utils/diagnostics.d.ts.map +1 -1
  137. package/utils/i18n.d.ts +67 -1
  138. package/utils/i18n.d.ts.map +1 -1
  139. package/{vector-DTjqdT0D.js → vector-lV5ajE68.js} +10 -16
  140. package/{video-Bj4ChYgg.js → video-C-iSvsQk.js} +4 -4
  141. package/useDoenetRenderer-BUPvEAwn.js +0 -114
@@ -1,6 +1,6 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.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 { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.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 { q as DocContext, y as Context, p as jsxRuntimeExports, t as textRendererStyle, v as DynamicMath } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, z as Context, q as jsxRuntimeExports, v as textRendererStyle, w as DynamicMath } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default, { useRef, useContext } from "react";
3
- import { j as jxg } from "./JSXGraphRenderer-CTbAGksr.js";
4
- import { BoardContext, TEXT_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
5
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
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-DXKjyCqp.js";
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-CE3goik5.js";
10
+ import { d as detachAnchoredGraphElement, a as attachAnchoredGraphDragHandlers } from "./useAnchoredGraphDragHandler-CRPtaTJZ.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,7 @@
1
- import { x as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
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-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { l as ltrIslandProps } from "./direction-BwrU7jHk.js";
4
5
  const ORBITAL_ARROW_STYLE = {
5
6
  fill: "none",
6
7
  stroke: "var(--canvasText)",
@@ -32,7 +33,13 @@ const orbitalDiagram = React__default.memo(function orbitalDiagram2(props) {
32
33
  )
33
34
  );
34
35
  }
35
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, id, children: rowsJSX });
36
+ return (
37
+ // An electron configuration is notation: the subshell label sits to
38
+ // the left of its boxes and the boxes fill left to right, in every
39
+ // language. The rows are plain inline flow, so they would otherwise
40
+ // reverse wholesale under `rtl`.
41
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref, id, ...ltrIslandProps(), children: rowsJSX })
42
+ );
36
43
  });
37
44
  const OrbitalRow = React__default.memo(function OrbitalRow2({
38
45
  rowNumber,
@@ -1,6 +1,7 @@
1
- import { u as useT, x as useRecordVisibilityChanges, p as jsxRuntimeExports, B as Button2 } from "./doenetml-RwjW6x7w.js";
1
+ import { u as useT, y as useRecordVisibilityChanges, q as jsxRuntimeExports, B as Button2 } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { l as ltrIslandProps } from "./direction-BwrU7jHk.js";
4
5
  const ORBITAL_ARROW_STYLE = {
5
6
  fill: "none",
6
7
  stroke: "var(--canvasText)",
@@ -199,10 +200,16 @@ const orbitalDiagramInput = React__default.memo(function orbitalDiagramInput2(pr
199
200
  ) })
200
201
  ] });
201
202
  }
202
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref, id, children: [
203
- controls,
204
- rowsJSX
205
- ] });
203
+ return (
204
+ // Notation, like the read-only diagram it edits: the subshell label
205
+ // sits to the left of its boxes and the boxes fill left to right in
206
+ // every language, and the rows are plain inline flow that would
207
+ // otherwise reverse wholesale under `rtl`.
208
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { ref, id, ...ltrIslandProps(), children: [
209
+ controls,
210
+ rowsJSX
211
+ ] })
212
+ );
206
213
  });
207
214
  const OrbitalRow = React__default.memo(function OrbitalRow2({
208
215
  rowNumber,
@@ -1,8 +1,8 @@
1
- import { w as useContentT, x as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { x as useContentT, 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-BUPvEAwn.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-BY7-JuTc.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-Bl1nM1Rc.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-Dxl9i1nS.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBCED73A.js";
6
6
  const p = React__default.memo(function P(props) {
7
7
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
8
8
  const tContent = useContentT();
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.415",
5
+ "version": "0.7.21-dev.417",
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 { p as jsxRuntimeExports, B as Button2 } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports, B as Button2 } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.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-CTbAGksr.js";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
4
- import { BoardContext, BASE_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
5
- import { y as Context } from "./doenetml-RwjW6x7w.js";
2
+ import { j as jxg } from "./JSXGraphRenderer-3rMxl-PD.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { BoardContext, BASE_LAYER_OFFSET } from "./graph-BShdY7M2.js";
5
+ import { z as Context } from "./doenetml-DynV7ZDD.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 { q as DocContext, t as textRendererStyle, p as jsxRuntimeExports, v as DynamicMath } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, v as textRendererStyle, q as jsxRuntimeExports, w as DynamicMath } from "./doenetml-DynV7ZDD.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-CTbAGksr.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
5
- import { BoardContext, POINT_LAYER_OFFSET } from "./graph-BpbjUn8w.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-3rMxl-PD.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
5
+ import { BoardContext, POINT_LAYER_OFFSET } from "./graph-BShdY7M2.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-DVSxZbFk.js";
9
- import { ChoiceInputInlineContext } from "./choiceInput-DXKjyCqp.js";
8
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-HSo2HwSH.js";
9
+ import { ChoiceInputInlineContext } from "./choiceInput-DWcLPKV7.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 { q as DocContext, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.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-CTbAGksr.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
5
- import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-DVSxZbFk.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-3rMxl-PD.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-BShdY7M2.js";
6
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-HSo2HwSH.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
- import { c as buildBaseAttributes } from "./buildGraphicalAttributes-C7PtyKL7.js";
13
- import { g as getPatternFillAttributes } from "./fillPatterns-Cwsbhubm.js";
12
+ import { d as buildBaseAttributes } from "./buildGraphicalAttributes-0RNcbd2S.js";
13
+ import { g as getPatternFillAttributes } from "./fillPatterns-DmAM78RG.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,15 +1,15 @@
1
- import { q as DocContext, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.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-CTbAGksr.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
5
- import { BoardContext, VERTEX_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-DVSxZbFk.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-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
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";
10
10
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
11
11
  import { u as useDraggableRefs, a as useJSXGraphCleanup } from "./useJSXGraphCleanup-CX91oVW8.js";
12
- import { a as buildLineLikeAttributes } from "./buildGraphicalAttributes-C7PtyKL7.js";
12
+ import { a as buildLineLikeAttributes, c as buildDragHandleAttributes } from "./buildGraphicalAttributes-0RNcbd2S.js";
13
13
  const polyline = React__default.memo(function Polyline(props) {
14
14
  let { componentIdx, id, SVs, actions, sourceOfUpdate, callAction } = useDoenetRenderer(props);
15
15
  Polyline.ignoreActionsWithoutCore = () => true;
@@ -68,16 +68,10 @@ const polyline = React__default.memo(function Polyline(props) {
68
68
  visible: !SVs.hidden && validCoords,
69
69
  lineCap: "butt"
70
70
  };
71
- jsxPointAttributes.current = Object.assign({}, jsxPolylineAttributes);
72
- Object.assign(jsxPointAttributes.current, {
73
- fixed: false,
74
- highlight: true,
75
- withLabel: false,
76
- fillColor: "none",
77
- strokeColor: "none",
78
- highlightStrokeColor: "none",
79
- highlightFillColor: resolveHandleColor(darkMode),
71
+ jsxPointAttributes.current = buildDragHandleAttributes({
72
+ elementAttributes: jsxPolylineAttributes,
80
73
  layer: 10 * SVs.layer + VERTEX_LAYER_OFFSET,
74
+ darkMode,
81
75
  showInfoBox: SVs.showCoordsWhenDragging
82
76
  });
83
77
  if (verticesFixed.current || SVs.hidden || !validCoords) {
@@ -1,7 +1,7 @@
1
- import { x as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
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-BUPvEAwn.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-BY7-JuTc.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-Dxl9i1nS.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 { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.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";
@@ -2099,6 +2099,7 @@ const Prefigure = React__default.memo(function Prefigure2({
2099
2099
  {
2100
2100
  className: "svg",
2101
2101
  style: svgContainerStyle,
2102
+ dir: "ltr",
2102
2103
  dangerouslySetInnerHTML: { __html: svgMarkup }
2103
2104
  }
2104
2105
  ) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "svg", style: svgMessageStyle, children: svgMessage }),
@@ -1,8 +1,8 @@
1
- import { u as useT, w as useContentT, x as useRecordVisibilityChanges, q as DocContext, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { u as useT, x as useContentT, o as useChromeLangDir, y as useRecordVisibilityChanges, t as DocContext, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default, { useRef, useContext } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
4
- import { A as AnswerResponseButton } from "./AnswerResponseButton-CsMwAC3t.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-Bl1nM1Rc.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { A as AnswerResponseButton } from "./AnswerResponseButton-DRQPLlOM.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBCED73A.js";
6
6
  const pretzel = React__default.memo(function Pretzel(props) {
7
7
  let {
8
8
  componentIdx,
@@ -17,6 +17,7 @@ const pretzel = React__default.memo(function Pretzel(props) {
17
17
  } = useDoenetRenderer(props);
18
18
  const t = useT();
19
19
  const tContent = useContentT();
20
+ const chromeLangDir = useChromeLangDir();
20
21
  const ref = useRef(null);
21
22
  useRecordVisibilityChanges(ref, callAction, actions);
22
23
  const { showAnswerResponseButton, answerResponseCounts } = useContext(DocContext) || {};
@@ -68,8 +69,10 @@ const pretzel = React__default.memo(function Pretzel(props) {
68
69
  className: "pretzelAnswer",
69
70
  "data-test": "pretzel-row-answer",
70
71
  children: [
71
- /* @__PURE__ */ jsxRuntimeExports.jsx("b", { children: t("pretzel-answer", void 0, "Answer") }),
72
- ":",
72
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { ...chromeLangDir, children: [
73
+ /* @__PURE__ */ jsxRuntimeExports.jsx("b", { children: t("pretzel-answer", void 0, "Answer") }),
74
+ ":"
75
+ ] }),
73
76
  " ",
74
77
  answer
75
78
  ]
@@ -1,7 +1,7 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-BtKUERzJ.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { r as renderMarkupBody } from "./markupRenderer-BJWUpWkE.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,10 +1,10 @@
1
- import { q as DocContext, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.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-CTbAGksr.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-DVSxZbFk.js";
7
- import { a as buildLineLikeAttributes } from "./buildGraphicalAttributes-C7PtyKL7.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-3rMxl-PD.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-BShdY7M2.js";
6
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-HSo2HwSH.js";
7
+ import { a as buildLineLikeAttributes } from "./buildGraphicalAttributes-0RNcbd2S.js";
8
8
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
9
9
  import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
10
10
  import { a as resolveLineColor } from "./styleColors-Cknqcr0q.js";
@@ -1,6 +1,6 @@
1
- import { q as DocContext, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.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 { q as DocContext, A as createFunctionFromDefinition, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, E as createFunctionFromDefinition, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.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-CTbAGksr.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
6
- import { g as getPatternFillAttributes } from "./fillPatterns-Cwsbhubm.js";
3
+ import { j as jxg, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-3rMxl-PD.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-BShdY7M2.js";
6
+ import { g as getPatternFillAttributes } from "./fillPatterns-DmAM78RG.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 { q as DocContext, A as createFunctionFromDefinition, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { t as DocContext, E as createFunctionFromDefinition, q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default, { useContext, useRef, useEffect } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
4
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-BpbjUn8w.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-BShdY7M2.js";
5
5
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
6
- import { g as getPatternFillAttributes } from "./fillPatterns-Cwsbhubm.js";
6
+ import { g as getPatternFillAttributes } from "./fillPatterns-DmAM78RG.js";
7
7
  import { b as resolveCanvasColor } from "./styleColors-Cknqcr0q.js";
8
- import { b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-CTbAGksr.js";
8
+ import { b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-3rMxl-PD.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 { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.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 { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.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 { p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
4
  const rsq = React__default.memo(function Rsq(props) {
5
5
  let { SVs } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,15 +1,21 @@
1
- import { u as useT, w as useContentT, q as DocContext, z as cesc, x as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-RwjW6x7w.js";
1
+ import { u as useT, x as useContentT, L as directionOf, M as useDocumentDirection, N as chromeLangDir, n as useUiLocale, t as DocContext, A as cesc, y as useRecordVisibilityChanges, q as jsxRuntimeExports, O as DocumentDirectionProvider } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default, { useContext, useRef, useEffect } from "react";
3
- import { F as FontAwesomeIcon } from "./index.es-BCeR6l3D.js";
3
+ import { F as FontAwesomeIcon } from "./index.es-B8Vdrw0-.js";
4
4
  import { f as faCaretDown, a as faCaretRight } from "./index-BDlitCgu.js";
5
- import { u as useDoenetRenderer } from "./useDoenetRenderer-BUPvEAwn.js";
6
- import { a as addCommasForCompositeRanges } from "./composites-BY7-JuTc.js";
7
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-Bl1nM1Rc.js";
5
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
6
+ import { a as addCommasForCompositeRanges } from "./composites-Dxl9i1nS.js";
7
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DBCED73A.js";
8
8
  import { c as clickToToggleLabel } from "./disclosure-axyZa36E.js";
9
9
  const section = React__default.memo(function Section(props) {
10
10
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
11
11
  const t = useT();
12
12
  const tContent = useContentT();
13
+ const nestedDirection = SVs.renderedLang ? directionOf(SVs.renderedLang) : null;
14
+ const outerDirection = useDocumentDirection();
15
+ const chromeLangDir$1 = chromeLangDir(
16
+ useUiLocale(),
17
+ nestedDirection ?? outerDirection
18
+ );
13
19
  const { darkMode } = useContext(DocContext) || {};
14
20
  const headingBoxBg = darkMode === "dark" && SVs.titleColorDarkMode != null ? SVs.titleColorDarkMode : SVs.titleColor;
15
21
  const LIST_ITEM_INDENT = "2em";
@@ -27,17 +33,17 @@ const section = React__default.memo(function Section(props) {
27
33
  return `
28
34
  display: inline-block;
29
35
  width: calc(${LIST_ITEM_INDENT} - ${LIST_ITEM_SPACING});
30
- margin-left: calc(-1 * ${LIST_ITEM_INDENT});
31
- margin-right: ${LIST_ITEM_SPACING};
32
- text-align: right;
36
+ margin-inline-start: calc(-1 * ${LIST_ITEM_INDENT});
37
+ margin-inline-end: ${LIST_ITEM_SPACING};
38
+ text-align: end;
33
39
  flex-shrink: 0;
34
40
  `;
35
41
  } else {
36
42
  return `
37
43
  position: absolute;
38
- left: 0;
44
+ inset-inline-start: 0;
39
45
  width: calc(${LIST_ITEM_INDENT} - ${LIST_ITEM_SPACING});
40
- text-align: right;
46
+ text-align: end;
41
47
  `;
42
48
  }
43
49
  };
@@ -60,14 +66,14 @@ const section = React__default.memo(function Section(props) {
60
66
  return {
61
67
  ...baseStyle,
62
68
  position: "relative",
63
- paddingLeft: LIST_ITEM_INDENT
69
+ paddingInlineStart: LIST_ITEM_INDENT
64
70
  };
65
71
  } else {
66
72
  return {
67
73
  ...baseStyle,
68
74
  display: "flex",
69
75
  alignItems: "baseline",
70
- paddingLeft: LIST_ITEM_INDENT
76
+ paddingInlineStart: LIST_ITEM_INDENT
71
77
  };
72
78
  }
73
79
  }
@@ -78,18 +84,22 @@ const section = React__default.memo(function Section(props) {
78
84
  id,
79
85
  style,
80
86
  ref,
81
- lang: SVs.renderedLang ?? void 0
87
+ lang: SVs.renderedLang ?? void 0,
88
+ dir: nestedDirection ?? void 0
82
89
  };
83
- switch (SVs.containerTag) {
84
- case "aside":
85
- return /* @__PURE__ */ jsxRuntimeExports.jsx("aside", { ...props2, children: content2 });
86
- case "article":
87
- return /* @__PURE__ */ jsxRuntimeExports.jsx("article", { ...props2, children: content2 });
88
- case "div":
89
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ...props2, children: content2 });
90
- default:
91
- return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { ...props2, children: content2 });
92
- }
90
+ const container = (() => {
91
+ switch (SVs.containerTag) {
92
+ case "aside":
93
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("aside", { ...props2, children: content2 });
94
+ case "article":
95
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("article", { ...props2, children: content2 });
96
+ case "div":
97
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ...props2, children: content2 });
98
+ default:
99
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("section", { ...props2, children: content2 });
100
+ }
101
+ })();
102
+ return nestedDirection ? /* @__PURE__ */ jsxRuntimeExports.jsx(DocumentDirectionProvider, { direction: nestedDirection, children: container }) : container;
93
103
  };
94
104
  useEffect(() => {
95
105
  if (!SVs.isListItem) {
@@ -112,9 +122,9 @@ const section = React__default.memo(function Section(props) {
112
122
  content: "${SVs.sectionNumber}.";
113
123
  display: inline-block;
114
124
  width: calc(${LIST_ITEM_INDENT} - ${LIST_ITEM_SPACING});
115
- margin-left: calc(-1 * ${LIST_ITEM_INDENT});
116
- margin-right: ${LIST_ITEM_SPACING};
117
- text-align: right;
125
+ margin-inline-start: calc(-1 * ${LIST_ITEM_INDENT});
126
+ margin-inline-end: ${LIST_ITEM_SPACING};
127
+ text-align: end;
118
128
  flex-shrink: 0;
119
129
  }
120
130
  `);
@@ -131,8 +141,8 @@ const section = React__default.memo(function Section(props) {
131
141
  #${escapedId}::before {
132
142
  content: "${SVs.sectionNumber}.";
133
143
  grid-column: 1;
134
- text-align: right;
135
- padding-right: ${LIST_ITEM_SPACING};
144
+ text-align: end;
145
+ padding-inline-end: ${LIST_ITEM_SPACING};
136
146
  }
137
147
 
138
148
  #${escapedContentWrapperId} {
@@ -153,32 +163,19 @@ const section = React__default.memo(function Section(props) {
153
163
  content: "${SVs.sectionNumber}.";
154
164
  display: inline-block;
155
165
  width: calc(${LIST_ITEM_INDENT} - ${LIST_ITEM_SPACING});
156
- margin-left: calc(-1 * ${LIST_ITEM_INDENT});
157
- margin-right: ${LIST_ITEM_SPACING};
158
- text-align: right;
166
+ margin-inline-start: calc(-1 * ${LIST_ITEM_INDENT});
167
+ margin-inline-end: ${LIST_ITEM_SPACING};
168
+ text-align: end;
159
169
  vertical-align: baseline;
160
170
  }
161
171
  `);
162
172
  }
163
173
  }
164
- if (SVs.collapsible) {
165
- const headingBoxClassName = `section-heading-${id}`;
166
- const escapedHeadingBoxClassName = cesc(headingBoxClassName);
167
- cssRules.push(`
168
- #${escapedId} .${escapedHeadingBoxClassName}::before {
169
- content: "${SVs.sectionNumber}.";
170
- text-align: right;
171
- ${getSectionNumberStyles(hasTitle)}
172
- }
173
- `);
174
- }
175
- if (SVs.boxed && !SVs.collapsible) {
176
- const headingBoxClassName = `section-heading-${id}`;
177
- const escapedHeadingBoxClassName = cesc(headingBoxClassName);
174
+ if (SVs.collapsible || SVs.boxed) {
175
+ const escapedHeadingBoxClassName = cesc(`section-heading-${id}`);
178
176
  cssRules.push(`
179
177
  #${escapedId} .${escapedHeadingBoxClassName}::before {
180
178
  content: "${SVs.sectionNumber}.";
181
- text-align: right;
182
179
  ${getSectionNumberStyles(hasTitle)}
183
180
  }
184
181
  `);
@@ -248,7 +245,7 @@ const section = React__default.memo(function Section(props) {
248
245
  " ",
249
246
  title,
250
247
  " ",
251
- clickToToggleLabel(t, SVs.open)
248
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { ...chromeLangDir$1, children: clickToToggleLabel(t, SVs.open) })
252
249
  ] });
253
250
  }
254
251
  let headingStyle = {};
@@ -337,7 +334,7 @@ const section = React__default.memo(function Section(props) {
337
334
  const innerContentStyle = {
338
335
  display: "block",
339
336
  padding: BOX_PADDING,
340
- ...SVs.isListItem && { paddingLeft: LIST_ITEM_INDENT }
337
+ ...SVs.isListItem && { paddingInlineStart: LIST_ITEM_INDENT }
341
338
  };
342
339
  innerContent = /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: innerContentStyle, children: [
343
340
  SVs.rendered ? children : /* @__PURE__ */ jsxRuntimeExports.jsx("p", { children: t(
@@ -396,7 +393,7 @@ const section = React__default.memo(function Section(props) {
396
393
  const contentDivStyle = {
397
394
  display: "block",
398
395
  padding: BOX_PADDING,
399
- ...SVs.isListItem && { paddingLeft: LIST_ITEM_INDENT }
396
+ ...SVs.isListItem && { paddingInlineStart: LIST_ITEM_INDENT }
400
397
  };
401
398
  const headingBoxClassName = `section-heading-${id}`;
402
399
  content = /* @__PURE__ */ jsxRuntimeExports.jsxs(
@@ -430,7 +427,7 @@ const section = React__default.memo(function Section(props) {
430
427
  const containerStyle = useListItemGridLayout ? { margin: "12px 0" } : {
431
428
  margin: "12px 0",
432
429
  position: "relative",
433
- marginLeft: LIST_ITEM_INDENT
430
+ marginInlineStart: LIST_ITEM_INDENT
434
431
  };
435
432
  return renderContainer(content, containerStyle);
436
433
  }
@@ -1,4 +1,4 @@
1
- import { l as getDefaultExportFromCjs } from "./doenetml-RwjW6x7w.js";
1
+ import { l as getDefaultExportFromCjs } from "./doenetml-DynV7ZDD.js";
2
2
  function _mergeNamespaces$1(n, m) {
3
3
  for (var i = 0; i < m.length; i++) {
4
4
  const e = m[i];