@doenet/doenetml 0.7.21-dev.416 → 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 (133) hide show
  1. package/{AnswerResponseButton-Dd0HJDB-.js → AnswerResponseButton-DRQPLlOM.js} +2 -2
  2. package/{Description-CeSquB0w.js → Description-DzHJcqCq.js} +1 -1
  3. package/{GraphFrame-7iZnp0Pp.js → GraphFrame-BrgLBP-l.js} +2 -2
  4. package/{JSXGraphRenderer-CH3Etvtx.js → JSXGraphRenderer-3rMxl-PD.js} +3 -2
  5. package/{NonInlineMediaWrapper-BPKCeJoI.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/mathInput.d.ts.map +1 -1
  14. package/Viewer/renderers/mathquill/EditableMathField.d.ts.map +1 -1
  15. package/Viewer/renderers/matrixInput.d.ts.map +1 -1
  16. package/Viewer/renderers/orbitalDiagram.d.ts.map +1 -1
  17. package/Viewer/renderers/orbitalDiagramInput.d.ts.map +1 -1
  18. package/Viewer/renderers/prefigure.d.ts.map +1 -1
  19. package/Viewer/renderers/pretzel.d.ts.map +1 -1
  20. package/Viewer/renderers/row.d.ts.map +1 -1
  21. package/Viewer/renderers/section.d.ts.map +1 -1
  22. package/Viewer/renderers/sideBySide.d.ts.map +1 -1
  23. package/Viewer/renderers/slider.d.ts.map +1 -1
  24. package/Viewer/renderers/solution.d.ts.map +1 -1
  25. package/Viewer/renderers/spreadsheet.d.ts.map +1 -1
  26. package/Viewer/renderers/subsetOfRealsInput.d.ts.map +1 -1
  27. package/Viewer/renderers/summaryStatistics.d.ts.map +1 -1
  28. package/Viewer/renderers/textInput.d.ts.map +1 -1
  29. package/Viewer/renderers/utils/direction.d.ts +39 -0
  30. package/Viewer/renderers/utils/direction.d.ts.map +1 -0
  31. package/{_error-BpXkUOcQ.js → _error-BIkDYkum.js} +4 -3
  32. package/{alert-Dl4SKpDl.js → alert-40qlFB8j.js} +3 -3
  33. package/{angle-CHPAoa9_.js → angle-BOqYrXfU.js} +6 -6
  34. package/{answer-BfTY7xDk.js → answer-Dgwe0dei.js} +6 -6
  35. package/{asList-CIPYtO56.js → asList-B1sJDQs3.js} +2 -2
  36. package/{blockQuote-eD4WN8NB.js → blockQuote-BsG2geQs.js} +3 -3
  37. package/{boolean-AcXpBTjc.js → boolean-N29Fwify.js} +2 -2
  38. package/{booleanInput-D1KVVjD0.js → booleanInput-CcgJltzp.js} +7 -7
  39. package/{br-sGi9NZV-.js → br-BQAkKbws.js} +2 -2
  40. package/{button-zm1xKQ6P.js → button-D3QT17Wd.js} +4 -4
  41. package/{c-CS1KT-i7.js → c-Daf8CQwR.js} +3 -3
  42. package/{cell-DOy9dHlG.js → cell-BNmEKrA0.js} +3 -3
  43. package/{choiceInput-BGjmqGv1.js → choiceInput-DWcLPKV7.js} +8 -8
  44. package/{circle-CdXs4vCM.js → circle-L-xmtaHy.js} +6 -6
  45. package/{cobwebPolyline-nbaAuj6B.js → cobwebPolyline-BVdEUH2r.js} +4 -4
  46. package/{codeEditor-AH1NzGY5.js → codeEditor-D0xuKEXG.js} +2 -2
  47. package/{composites-_Ju1qHUH.js → composites-Dxl9i1nS.js} +1 -1
  48. package/{containerBlock-BJZA-hug.js → containerBlock-CdpPaxoi.js} +4 -4
  49. package/{containerInline-CErx1TlK.js → containerInline-DHFXTqAT.js} +4 -4
  50. package/{curve-CtGjIZZT.js → curve-5OW8O5t-.js} +4 -4
  51. package/direction-BwrU7jHk.js +9 -0
  52. package/{doenetml-CKC903On.js → doenetml-DynV7ZDD.js} +341 -102
  53. package/doenetml-external-worker.js +2 -2
  54. package/doenetml-inline-worker.js +2 -2
  55. package/doenetml.d.ts.map +1 -1
  56. package/{ellipsis-DfMIkq56.js → ellipsis-BJoPJy0v.js} +2 -2
  57. package/{em-C68xPdDA.js → em-C4h-YkRj.js} +3 -3
  58. package/{embed-EmlL532k.js → embed-CjlH0jbC.js} +2 -2
  59. package/{feedback-BWaksokN.js → feedback-EFnq4fTf.js} +6 -5
  60. package/{figure-DNohFiU-.js → figure-BiAWioqb.js} +3 -3
  61. package/{fillPatterns-BC4vIjlx.js → fillPatterns-DmAM78RG.js} +1 -1
  62. package/{footnote-C3cESiVn.js → footnote-U6eszrz5.js} +3 -3
  63. package/{fractionInput-CbT0Fr4D.js → fractionInput-Xkm2Vb3z.js} +7 -7
  64. package/{graph-Shoc8JnU.js → graph-BShdY7M2.js} +6 -6
  65. package/{hint-CNCxpEVu.js → hint-BJlVCHDc.js} +6 -5
  66. package/{hr-DccnD0xy.js → hr-D15XJLML.js} +2 -2
  67. package/{image-DKmanipP.js → image-unzIQyP1.js} +7 -7
  68. package/{index-dmesrz8k.js → index-D-0t5xCk.js} +1 -1
  69. package/{index.es-DEgUxk1r.js → index.es-B8Vdrw0-.js} +1 -1
  70. package/index.js +1 -1
  71. package/{label-iXHeUsem.js → label-D8LiLGZ0.js} +6 -6
  72. package/{labelWithLatex-DtXSmigp.js → labelWithLatex-VCThzoHG.js} +1 -1
  73. package/{legend-P8bA66Pn.js → legend-wHw8PHjz.js} +4 -4
  74. package/{line-DVW3oKW5.js → line-BcmltQzB.js} +6 -6
  75. package/{lineFamilyDragHandlers-Clzykt4r.js → lineFamilyDragHandlers-HSo2HwSH.js} +1 -1
  76. package/{lineSegment-CMfI8CzX.js → lineSegment-BYs7yPxL.js} +5 -5
  77. package/{list-D_mXsSXQ.js → list-79YU2kl7.js} +4 -4
  78. package/{lq-CyXQKGzw.js → lq-PHOAGpAp.js} +2 -2
  79. package/{lsq-CKkVotjY.js → lsq-DAA0vTFL.js} +2 -2
  80. package/{markupRenderer-D1tNv_Bq.js → markupRenderer-BJWUpWkE.js} +1 -1
  81. package/{math-DcMrHfiM.js → math-BVfjIEHd.js} +6 -6
  82. package/{mathInput-CM0oZNJB.js → mathInput-BtcN3WJR.js} +36 -19
  83. package/{matrixInput-FuKpVk_a.js → matrixInput-lugF0Kwk.js} +8 -8
  84. package/{mdash-BABxuRC_.js → mdash-DB7_sXiL.js} +2 -2
  85. package/{nbsp-CUYTxD8h.js → nbsp-j9m7y0-y.js} +2 -2
  86. package/{ndash-B-SHbaFG.js → ndash-COenOscW.js} +2 -2
  87. package/{number-BluUugiB.js → number-C5IDajKV.js} +6 -6
  88. package/{orbitalDiagram-CcsEMNH5.js → orbitalDiagram-LpaATJ7G.js} +10 -3
  89. package/{orbitalDiagramInput-BaR6FltQ.js → orbitalDiagramInput-CYnhgICY.js} +13 -6
  90. package/{p-DMbbK7I1.js → p-COajOvYn.js} +4 -4
  91. package/package.json +1 -1
  92. package/{paginatorControls-B-F1HpS4.js → paginatorControls-DzpHO-mO.js} +2 -2
  93. package/{pegboard-BGC31Eyq.js → pegboard-BdfertiY.js} +4 -4
  94. package/{point-BT1XGRo9.js → point-BLFxaE8O.js} +6 -6
  95. package/{polygon-Cfu9QrkP.js → polygon-DSoochqM.js} +6 -6
  96. package/{polyline-san0khs-.js → polyline-CTIot66d.js} +5 -5
  97. package/{pre-BHN7blJZ.js → pre-xCSl5oZL.js} +3 -3
  98. package/{prefigure-C7f9UcnA.js → prefigure-FCWzkIVy.js} +2 -1
  99. package/{pretzel-CmIYOB8F.js → pretzel-RAJStYo8.js} +9 -6
  100. package/{q-tXX3oDTu.js → q-DRh3HpI-.js} +3 -3
  101. package/{ray-BMK7xaAg.js → ray-CG-m02gI.js} +5 -5
  102. package/{ref-65DT_x0u.js → ref-C2DexbxV.js} +2 -2
  103. package/{regionBetweenCurveXAxis-BsTsPQRg.js → regionBetweenCurveXAxis-C1iatjqu.js} +5 -5
  104. package/{regionBetweenCurves-C_M-pjuM.js → regionBetweenCurves-Cv-DJCUB.js} +5 -5
  105. package/{row-DKwY5fZc.js → row-DUzsOO4i.js} +2 -2
  106. package/{rq-aLJVzNtD.js → rq-DBf5-NZS.js} +2 -2
  107. package/{rsq-Bi1u3srM.js → rsq-CRwgd5gN.js} +2 -2
  108. package/{section-C_bOjYSJ.js → section-CEh-TNeP.js} +47 -50
  109. package/{sha256-Bzrm4-tO-BdovCL5S.js → sha256-Bzrm4-tO-D5VzcQ6q.js} +1 -1
  110. package/{sideBySide-C5qw_QnB.js → sideBySide-C_9_ghNz.js} +8 -2
  111. package/{slider-CikiyeRf.js → slider-DOgzk4EE.js} +34 -25
  112. package/{solution-DiHy7pvG.js → solution-CKUSv0BJ.js} +6 -5
  113. package/{spreadsheet-B389Kps5.js → spreadsheet-P7U0r_qV.js} +3 -2
  114. package/{sq-BhDFF5Cb.js → sq-CTORexcM.js} +3 -3
  115. package/style.css +240 -176
  116. package/{subsetOfRealsInput-9DbCcLIh.js → subsetOfRealsInput-CsAQMYD4.js} +71 -61
  117. package/{summaryStatistics-DqJOzS1v.js → summaryStatistics-BBREeWvh.js} +4 -3
  118. package/{table-DgP2sNth.js → table-Bhb19es1.js} +2 -2
  119. package/{tabular-CqOenfoA.js → tabular-DBI3KqQP.js} +2 -2
  120. package/{tag-B2133YF1.js → tag-BtGckMpT.js} +2 -2
  121. package/{text-Glel7vRT.js → text-7k2wXfRf.js} +6 -6
  122. package/{textInput-fbHYsYbe.js → textInput-lbnI_I3U.js} +8 -8
  123. package/{tooltip-provider-uV4ynrST.js → tooltip-provider-C8VlkKT9.js} +1 -1
  124. package/{useAnchoredGraphDragHandler-CKCVFGYp.js → useAnchoredGraphDragHandler-CRPtaTJZ.js} +1 -1
  125. package/useDoenetRenderer-By1VsaDX.js +114 -0
  126. package/{useSubmitActionWithDelay-DhUttTXy.js → useSubmitActionWithDelay-DBCED73A.js} +2 -2
  127. package/utils/diagnostics.d.ts +7 -0
  128. package/utils/diagnostics.d.ts.map +1 -1
  129. package/utils/i18n.d.ts +67 -1
  130. package/utils/i18n.d.ts.map +1 -1
  131. package/{vector-B1xF7lTk.js → vector-lV5ajE68.js} +6 -6
  132. package/{video-DgvfU8N7.js → video-C-iSvsQk.js} +4 -4
  133. package/useDoenetRenderer-B-lvSi_Q.js +0 -114
@@ -1,13 +1,13 @@
1
- import { q as DocContext, y as Context, p as jsxRuntimeExports, t as textRendererStyle, v as DynamicMath } from "./doenetml-CKC903On.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-CH3Etvtx.js";
4
- import { BoardContext, TEXT_LAYER_OFFSET } from "./graph-Shoc8JnU.js";
5
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.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-BGjmqGv1.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-CKCVFGYp.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-CKC903On.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-B-lvSi_Q.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-CKC903On.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-B-lvSi_Q.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-CKC903On.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-B-lvSi_Q.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-_Ju1qHUH.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DhUttTXy.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.416",
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-CKC903On.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-B-lvSi_Q.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-CH3Etvtx.js";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
4
- import { BoardContext, BASE_LAYER_OFFSET } from "./graph-Shoc8JnU.js";
5
- import { y as Context } from "./doenetml-CKC903On.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-CKC903On.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-CH3Etvtx.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
5
- import { BoardContext, POINT_LAYER_OFFSET } from "./graph-Shoc8JnU.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-Clzykt4r.js";
9
- import { ChoiceInputInlineContext } from "./choiceInput-BGjmqGv1.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-CKC903On.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-CH3Etvtx.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
5
- import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-Shoc8JnU.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-Clzykt4r.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
12
  import { d as buildBaseAttributes } from "./buildGraphicalAttributes-0RNcbd2S.js";
13
- import { g as getPatternFillAttributes } from "./fillPatterns-BC4vIjlx.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,9 +1,9 @@
1
- import { q as DocContext, p as jsxRuntimeExports } from "./doenetml-CKC903On.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-CH3Etvtx.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
5
- import { BoardContext, VERTEX_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-Shoc8JnU.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-Clzykt4r.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";
@@ -1,7 +1,7 @@
1
- import { x as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-CKC903On.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-B-lvSi_Q.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-_Ju1qHUH.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-CKC903On.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-CKC903On.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-B-lvSi_Q.js";
4
- import { A as AnswerResponseButton } from "./AnswerResponseButton-Dd0HJDB-.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DhUttTXy.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-CKC903On.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-D1tNv_Bq.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,9 +1,9 @@
1
- import { q as DocContext, p as jsxRuntimeExports } from "./doenetml-CKC903On.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-CH3Etvtx.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-Shoc8JnU.js";
6
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-Clzykt4r.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
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";
@@ -1,6 +1,6 @@
1
- import { q as DocContext, p as jsxRuntimeExports } from "./doenetml-CKC903On.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-B-lvSi_Q.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-CKC903On.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-CH3Etvtx.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-Shoc8JnU.js";
6
- import { g as getPatternFillAttributes } from "./fillPatterns-BC4vIjlx.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-CKC903On.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-B-lvSi_Q.js";
4
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-Shoc8JnU.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-BC4vIjlx.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-CH3Etvtx.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-CKC903On.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.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-CKC903On.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.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-CKC903On.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-DynV7ZDD.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-B-lvSi_Q.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-CKC903On.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-DEgUxk1r.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-B-lvSi_Q.js";
6
- import { a as addCommasForCompositeRanges } from "./composites-_Ju1qHUH.js";
7
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DhUttTXy.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-CKC903On.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];
@@ -1,6 +1,6 @@
1
- import { x as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-CKC903On.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-B-lvSi_Q.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-By1VsaDX.js";
4
4
  import { a as getBlockMarginWithOptionalTopSuppression } from "./nonInlineMediaLayout-CkXHaqzo.js";
5
5
  function isWhitespaceTextChild(child) {
6
6
  return typeof child === "string" && child.trim() === "";
@@ -60,6 +60,12 @@ const sideBySide = React__default.memo(function sideBySide2(props) {
60
60
  display: "flex",
61
61
  alignItems: "flex-start"
62
62
  },
63
+ // Physical, because `<sideBySide margins="…">` is: the
64
+ // author wrote a left margin and a right margin, and the
65
+ // panels themselves reorder under `rtl` while these
66
+ // percentages stay where they were put. Giving the
67
+ // attribute logical `start`/`end` values is tracked
68
+ // in #1627.
63
69
  marginLeft: `${thisMarginLeft}%`,
64
70
  marginRight: `${thisMarginRight}%`,
65
71
  width: `${width}%`