@doenet/doenetml 0.7.23-dev.450 → 0.7.23-dev.451

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 (111) hide show
  1. package/{AnswerResponseButton-Cph00AG0.js → AnswerResponseButton-CCbBdVkg.js} +2 -2
  2. package/{Description-BpRcV5tu.js → Description-Dz-pguUD.js} +1 -1
  3. package/{GraphFrame-Cf92Aydv.js → GraphFrame-C_2gGi6e.js} +2 -2
  4. package/{JSXGraphRenderer-Be4O0jXl.js → JSXGraphRenderer-CkbsvJad.js} +89 -10
  5. package/{NonInlineMediaWrapper-Crv97EpA.js → NonInlineMediaWrapper-BruMwMVr.js} +1 -1
  6. package/Viewer/renderers/utils/jsxgraph.d.ts +19 -0
  7. package/Viewer/renderers/utils/jsxgraph.d.ts.map +1 -1
  8. package/Viewer/renderers/utils/jsxgraph.test.d.ts +2 -0
  9. package/Viewer/renderers/utils/jsxgraph.test.d.ts.map +1 -0
  10. package/Viewer/renderers/utils/useAxisTickSpacingSync.d.ts +61 -0
  11. package/Viewer/renderers/utils/useAxisTickSpacingSync.d.ts.map +1 -0
  12. package/Viewer/renderers/utils/useAxisTickSpacingSync.test.d.ts +2 -0
  13. package/Viewer/renderers/utils/useAxisTickSpacingSync.test.d.ts.map +1 -0
  14. package/Viewer/renderers/utils/useGridAndAxesSync.d.ts.map +1 -1
  15. package/Viewer/renderers/utils/useJSXGraphBoardSync.d.ts.map +1 -1
  16. package/{_error-Cx_ydOfr.js → _error-Ca8BLX8t.js} +2 -2
  17. package/{alert-DdpZwB6C.js → alert-DuY_6CR3.js} +3 -3
  18. package/{angle-CBpbjtbx.js → angle-C5T49Vfs.js} +6 -6
  19. package/{answer-CcGotD9H.js → answer-Do1gSSkp.js} +5 -5
  20. package/{asList-DZjfVjoO.js → asList-DhZoDwtC.js} +2 -2
  21. package/{blockQuote-D0U8djcr.js → blockQuote-CO8hdhtn.js} +3 -3
  22. package/{boolean-DkxqF1kd.js → boolean-CP5vglVX.js} +2 -2
  23. package/{booleanInput-Cq4cpLp_.js → booleanInput-D5YPYG_v.js} +6 -6
  24. package/{br-CFA8hbBl.js → br-DRISZ42Q.js} +2 -2
  25. package/{button-rfr0JuFI.js → button-FSXFT9cy.js} +4 -4
  26. package/{c-B9g2V0Yu.js → c-C2RTlcO9.js} +3 -3
  27. package/{cell-r-oJj708.js → cell-CIJqLPXL.js} +3 -3
  28. package/{choiceInput-8Sry2FbM.js → choiceInput-BojtViZr.js} +4 -4
  29. package/{circle-Dhv_lTmg.js → circle-CwaqaL1x.js} +6 -6
  30. package/{cobwebPolyline-DFLwgBtx.js → cobwebPolyline-BoapHkAJ.js} +4 -4
  31. package/{codeEditor-Ch4VHY4i.js → codeEditor-CQZQ_Sgl.js} +2 -2
  32. package/{composites-DraQjwPe.js → composites-BQzt_CzT.js} +1 -1
  33. package/{containerBlock-CPWCW_94.js → containerBlock-BVffhoVg.js} +4 -4
  34. package/{containerInline-_KQ0K-s6.js → containerInline-DhwbC1uc.js} +4 -4
  35. package/{curve-DGxIPSfZ.js → curve-DqAITSLl.js} +4 -4
  36. package/{doenetml-CUm6IUzm.js → doenetml-DfKVXzta.js} +5 -5
  37. package/doenetml-external-worker.js +2 -2
  38. package/doenetml-inline-worker.js +2 -2
  39. package/{ellipsis-C_aUokDB.js → ellipsis-BiZ8TBWX.js} +2 -2
  40. package/{em-Ba8DSfai.js → em-CQ_fuVKv.js} +3 -3
  41. package/{embed-CtouYDLF.js → embed-DxwByfQW.js} +2 -2
  42. package/{feedback-Cy_MrGug.js → feedback-BWiOiBVR.js} +4 -4
  43. package/{figure-DUjojzUU.js → figure-DpvuPyBU.js} +3 -3
  44. package/{fillPatterns-DBDTrIe_.js → fillPatterns-C08iiJmh.js} +1 -1
  45. package/{footnote-mz_cG4wG.js → footnote-ZWibHgkE.js} +3 -3
  46. package/{fractionInput-C4ARfsbW.js → fractionInput-jX820zm9.js} +4 -4
  47. package/{graph-DFgEgpwC.js → graph-C-TERXvy.js} +6 -6
  48. package/{hint-XT5zPZeF.js → hint-DQwYThlJ.js} +4 -4
  49. package/{hr-DyIqKEw5.js → hr-PWuCBmCz.js} +2 -2
  50. package/{image-DqvBmLUi.js → image-CVTHh9pV.js} +7 -7
  51. package/{index-DtwVk5f5.js → index-BRQr-ipf.js} +1 -1
  52. package/{index.es-Ddu2jiAV.js → index.es-sJCqa4Zq.js} +1 -1
  53. package/index.js +1 -1
  54. package/{label-CKtYuJBu.js → label-CGY8FwRu.js} +6 -6
  55. package/{labelWithLatex-GkEQHrr8.js → labelWithLatex-Dvb8ltM1.js} +1 -1
  56. package/{legend-KKLdXc18.js → legend-X13WivZ9.js} +4 -4
  57. package/{line-DuVRdRko.js → line-a4jiFgwR.js} +6 -6
  58. package/{lineFamilyDragHandlers-BoVYoosP.js → lineFamilyDragHandlers-B73ZzprP.js} +1 -1
  59. package/{lineSegment-DcADqk66.js → lineSegment-CpwqZvZk.js} +5 -5
  60. package/{list-1mlLdx9N.js → list-C-W1Iulr.js} +4 -4
  61. package/{lq-OSybTqNg.js → lq-MPRG_Yo5.js} +2 -2
  62. package/{lsq-dCd8Trrl.js → lsq-Daqx4Tl6.js} +2 -2
  63. package/{markupRenderer-Bcns5FNE.js → markupRenderer-TBdfwPFV.js} +1 -1
  64. package/{math-DfqgrdRb.js → math-Dm0ysPB2.js} +6 -6
  65. package/{mathInput-C3sbrFt8.js → mathInput-BqwdT8-r.js} +7 -7
  66. package/{matrixInput-BTKSnAiF.js → matrixInput-CSQLR4ND.js} +4 -4
  67. package/{mdash-CUAViCQ0.js → mdash-WMZ0mV1N.js} +2 -2
  68. package/{nbsp-BGYI5i1m.js → nbsp-3DH_QApw.js} +2 -2
  69. package/{ndash-Cqv9ehfy.js → ndash-B43BUrjI.js} +2 -2
  70. package/{number-jd94ZLX6.js → number-D_e9pu8f.js} +6 -6
  71. package/{orbitalDiagram-TBAo7Vi9.js → orbitalDiagram-CMKvEBPD.js} +2 -2
  72. package/{orbitalDiagramInput-DD7kYxTW.js → orbitalDiagramInput-BgAN0VY8.js} +2 -2
  73. package/{p-DBEJ3Qvy.js → p-DZOx2mxJ.js} +4 -4
  74. package/package.json +1 -1
  75. package/{paginatorControls--xVizPeB.js → paginatorControls-C3162vBQ.js} +2 -2
  76. package/{pegboard-CKu1TAy_.js → pegboard-DnhRDSXo.js} +4 -4
  77. package/{point-FO3RFHsW.js → point-B135KTU_.js} +6 -6
  78. package/{polygon-CQiUapif.js → polygon-BalEyYfw.js} +6 -6
  79. package/{polyline-CAbZ9ihf.js → polyline-DIWcbPeB.js} +5 -5
  80. package/{pre-C9hZ-QIl.js → pre-DOZp6Lj5.js} +3 -3
  81. package/{prefigure-BhvfsOYZ.js → prefigure-zvKU0-kA.js} +1 -1
  82. package/{pretzel-BYHIxSn7.js → pretzel-BzI1mLo1.js} +4 -4
  83. package/{q-CyuKQKgf.js → q-DUQQ2PBw.js} +3 -3
  84. package/{ray-drKUacYv.js → ray-CqD7d0Tt.js} +5 -5
  85. package/{ref-KJ53A7GJ.js → ref-AaQiek3d.js} +2 -2
  86. package/{regionBetweenCurveXAxis-BowSDY6Z.js → regionBetweenCurveXAxis-DHAtUwSA.js} +5 -5
  87. package/{regionBetweenCurves-UJFQG207.js → regionBetweenCurves-BoqvAVQZ.js} +5 -5
  88. package/{row-BlePzlsQ.js → row-CMp_0Qob.js} +2 -2
  89. package/{rq-UXz16vGj.js → rq-CVHDxjJi.js} +2 -2
  90. package/{rsq-BM-WEUWo.js → rsq-BBzsr7QW.js} +2 -2
  91. package/{section-DGIHLabq.js → section-DlAAVdfW.js} +5 -5
  92. package/{sha256-Bzrm4-tO-BkMpEDiR.js → sha256-Bzrm4-tO-EuFegTkb.js} +1 -1
  93. package/{sideBySide-D9v3iL1V.js → sideBySide-CrJ3xbEE.js} +2 -2
  94. package/{slider-1_-urUOh.js → slider-De0jRM7b.js} +3 -3
  95. package/{solution-CaGRbZT5.js → solution-BCdd20VE.js} +4 -4
  96. package/{spreadsheet-BBK2-loz.js → spreadsheet--zG29OnG.js} +2 -2
  97. package/{sq-DqUyf5zS.js → sq-IV2d3Zw7.js} +3 -3
  98. package/{subsetOfRealsInput-CXPTLOS6.js → subsetOfRealsInput-D9x0ueAK.js} +2 -2
  99. package/{summaryStatistics-8EGV_cyB.js → summaryStatistics-XOvVD1W8.js} +2 -2
  100. package/{table-30cJIqGS.js → table-BKLHL7WQ.js} +2 -2
  101. package/{tabular-CLq5Lmul.js → tabular-eMSfqXy6.js} +2 -2
  102. package/{tag-DwDrcAeC.js → tag-DsnPFaqa.js} +2 -2
  103. package/{text-DTZEKhwR.js → text-CUQqfQz8.js} +6 -6
  104. package/{textInput-BUG5LEjB.js → textInput-DfTseZjR.js} +6 -6
  105. package/{tooltip-provider-DuYKkU8V.js → tooltip-provider-BG8BmSJk.js} +1 -1
  106. package/{useAnchoredGraphDragHandler-DKfS6U5X.js → useAnchoredGraphDragHandler-ejfg06ek.js} +1 -1
  107. package/useDoenetRenderer-CDyY-0g2.js +114 -0
  108. package/{useSubmitActionWithDelay-DT1EkLC9.js → useSubmitActionWithDelay-BvBipxs5.js} +2 -2
  109. package/{vector-DhaKh7go.js → vector-Ccfea2hU.js} +6 -6
  110. package/{video-CUg5xl8P.js → video-DjQsMdGC.js} +4 -4
  111. package/useDoenetRenderer-DTALOTXR.js +0 -114
@@ -1,5 +1,5 @@
1
- import { u as useT, p as jsxRuntimeExports, L as Button } from "./doenetml-CUm6IUzm.js";
2
- import { T as TooltipProvider, a as TooltipAnchor, b as Tooltip } from "./tooltip-provider-DuYKkU8V.js";
1
+ import { u as useT, p as jsxRuntimeExports, L as Button } from "./doenetml-DfKVXzta.js";
2
+ import { T as TooltipProvider, a as TooltipAnchor, b as Tooltip } from "./tooltip-provider-BG8BmSJk.js";
3
3
  function AnswerResponseButton({
4
4
  answerId,
5
5
  answerComponentIdx,
@@ -1,4 +1,4 @@
1
- import { X as memo, Y as forwardRef, Z as createElement, $ as createHook, a0 as usePopoverContext, a1 as invariant, a2 as useStoreState, a3 as getBasePlacement, a4 as useId, a5 as useMergeRefs, p as jsxRuntimeExports, a6 as removeUndefinedValues, a7 as useSafeLayoutEffect, a8 as getWindow, a9 as usePopoverStore, z as DocContext, u as useT, aa as PopoverDisclosure, ab as MdInfoOutline, ac as Popover } from "./doenetml-CUm6IUzm.js";
1
+ import { X as memo, Y as forwardRef, Z as createElement, $ as createHook, a0 as usePopoverContext, a1 as invariant, a2 as useStoreState, a3 as getBasePlacement, a4 as useId, a5 as useMergeRefs, p as jsxRuntimeExports, a6 as removeUndefinedValues, a7 as useSafeLayoutEffect, a8 as getWindow, a9 as usePopoverStore, z as DocContext, u as useT, aa as PopoverDisclosure, ab as MdInfoOutline, ac as Popover } from "./doenetml-DfKVXzta.js";
2
2
  import { useMemo, useState, useRef, useContext } from "react";
3
3
  const POPOVER_ARROW_PATH = "M23 27.8C24.1 29 26.4 30 28 30H30H0H2C3.7 30 5.9 29 7 27.8L14 20.6C14.7 19.8 15.3 19.8 16 20.6L23 27.8Z";
4
4
  const TagName = "div";
@@ -1,6 +1,6 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
3
- import { D as DescriptionPopover, a as DescriptionAsDetails } from "./Description-BpRcV5tu.js";
3
+ import { D as DescriptionPopover, a as DescriptionAsDetails } from "./Description-Dz-pguUD.js";
4
4
  function GraphFrame({
5
5
  id,
6
6
  SVs,
@@ -1,5 +1,5 @@
1
- import { H as Context, I as cesc, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
2
- import { useEffect, useState, useRef } from "react";
1
+ import { H as Context, I as cesc, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
+ import { useRef, useEffect, useState } from "react";
3
3
  var jxg = {};
4
4
  try {
5
5
  if (typeof JXG === "object" && !JXG.extend) {
@@ -76549,15 +76549,45 @@ function attachLabelHoverHighlight({
76549
76549
  hoverTargetJXG.on("over", () => applyHover(true));
76550
76550
  hoverTargetJXG.on("out", () => applyHover(false));
76551
76551
  }
76552
+ const MANTISSA_TOLERANCE = 1e-12;
76553
+ function scaledMantissaIsOneOf(value, scale, targets) {
76554
+ if (!(value > 0) || !Number.isFinite(value)) {
76555
+ return false;
76556
+ }
76557
+ const mantissa = value / (10 ** Math.floor(Math.log10(value)) * scale);
76558
+ return targets.some(
76559
+ (target) => Math.abs(mantissa - target) < MANTISSA_TOLERANCE
76560
+ );
76561
+ }
76562
+ function preferredMinorTicks(tickInterval, scale) {
76563
+ return scaledMantissaIsOneOf(tickInterval, scale, [2]) ? 3 : 4;
76564
+ }
76565
+ function isReadableMinorStep(step, scale) {
76566
+ return scaledMantissaIsOneOf(step, scale, [1, 2, 2.5, 5]);
76567
+ }
76552
76568
  function setMinorTicks(axis) {
76553
76569
  const ticks = axis.defaultTicks;
76554
- const tickInterval = ticks.getDistanceMajorTicks();
76555
- const mag = 10 ** Math.floor(Math.log10(tickInterval)) * ticks.visProp.scale;
76556
- let minorTicks = 4;
76557
- if (Math.abs(tickInterval / mag - 2) < 1e-14) {
76558
- minorTicks = 3;
76570
+ const scale = ticks.visProp.scale;
76571
+ const candidates = [4, 3].map((minorTicks) => {
76572
+ ticks.visProp.minorticks = minorTicks;
76573
+ return { minorTicks, tickInterval: ticks.getDistanceMajorTicks() };
76574
+ });
76575
+ let chosen = candidates.find(
76576
+ (candidate) => preferredMinorTicks(candidate.tickInterval, scale) === candidate.minorTicks
76577
+ );
76578
+ if (!chosen) {
76579
+ const readable = candidates.filter(
76580
+ (candidate) => isReadableMinorStep(
76581
+ candidate.tickInterval / (candidate.minorTicks + 1),
76582
+ scale
76583
+ )
76584
+ );
76585
+ const pool = readable.length > 0 ? readable : candidates;
76586
+ chosen = pool.reduce(
76587
+ (best, candidate) => candidate.tickInterval > best.tickInterval ? candidate : best
76588
+ );
76559
76589
  }
76560
- ticks.visProp.minorticks = minorTicks;
76590
+ ticks.visProp.minorticks = chosen.minorTicks;
76561
76591
  ticks.fullUpdate();
76562
76592
  }
76563
76593
  function applyAxisTickHeights({
@@ -77183,6 +77213,51 @@ function removeJXGEventHandlers(obj, events = LINE_FAMILY_EVENTS) {
77183
77213
  obj.off(event);
77184
77214
  }
77185
77215
  }
77216
+ function tickSpacingSignature({
77217
+ board,
77218
+ xaxis,
77219
+ yaxis
77220
+ }) {
77221
+ return [
77222
+ xaxis,
77223
+ yaxis,
77224
+ board.canvasWidth,
77225
+ board.canvasHeight,
77226
+ // JSXGraph orders the bounding box [xMin, yMax, xMax, yMin].
77227
+ ...board.getBoundingBox()
77228
+ ];
77229
+ }
77230
+ function tickSpacingUnchanged(previous, next) {
77231
+ return previous !== null && previous.every((value, index) => Object.is(value, next[index]));
77232
+ }
77233
+ function useAxisTickSpacingSync({
77234
+ enabled,
77235
+ board,
77236
+ xaxisRef,
77237
+ yaxisRef
77238
+ }) {
77239
+ const appliedSignatureRef = useRef(null);
77240
+ useEffect(() => {
77241
+ if (!enabled || !board) {
77242
+ return;
77243
+ }
77244
+ const signature = tickSpacingSignature({
77245
+ board,
77246
+ xaxis: xaxisRef.current,
77247
+ yaxis: yaxisRef.current
77248
+ });
77249
+ if (tickSpacingUnchanged(appliedSignatureRef.current, signature)) {
77250
+ return;
77251
+ }
77252
+ appliedSignatureRef.current = signature;
77253
+ if (xaxisRef.current) {
77254
+ setMinorTicks(xaxisRef.current);
77255
+ }
77256
+ if (yaxisRef.current) {
77257
+ setMinorTicks(yaxisRef.current);
77258
+ }
77259
+ });
77260
+ }
77186
77261
  function useGridAndAxesSync({
77187
77262
  enabled,
77188
77263
  board,
@@ -77246,7 +77321,6 @@ function useGridAndAxesSync({
77246
77321
  xaxisRef.current.defaultTicks.setAttribute({
77247
77322
  drawLabels: SVs.displayXAxisTickLabels
77248
77323
  });
77249
- setMinorTicks(xaxisRef.current);
77250
77324
  if (xaxisRef.current.hasLabel && xaxisRef.current.label) {
77251
77325
  let position = "rt";
77252
77326
  let offset = [5, 10];
@@ -77287,7 +77361,6 @@ function useGridAndAxesSync({
77287
77361
  yaxisRef.current.defaultTicks.setAttribute({
77288
77362
  drawLabels: SVs.displayYAxisTickLabels
77289
77363
  });
77290
- setMinorTicks(yaxisRef.current);
77291
77364
  if (yaxisRef.current.hasLabel && yaxisRef.current.label) {
77292
77365
  let position = "rt";
77293
77366
  let offset = [-10, -5];
@@ -77399,6 +77472,12 @@ function useJSXGraphBoardSync({
77399
77472
  settingBoundingBoxRef,
77400
77473
  previousShowNavigationRef
77401
77474
  });
77475
+ useAxisTickSpacingSync({
77476
+ enabled,
77477
+ board,
77478
+ xaxisRef,
77479
+ yaxisRef
77480
+ });
77402
77481
  useEffect(() => {
77403
77482
  if (!board) {
77404
77483
  return;
@@ -1,4 +1,4 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  function NonInlineMediaWrapper({
3
3
  id,
4
4
  displayMode,
@@ -27,6 +27,25 @@ type LineLikeJXG = {
27
27
  };
28
28
  [key: string]: any;
29
29
  };
30
+ /**
31
+ * Pick the number of minor ticks for `axis` and apply it.
32
+ *
33
+ * The two quantities involved define each other. JSXGraph derives the
34
+ * major-tick interval from `minorticks` — it keeps at least `minTicksDistance`
35
+ * pixels between *minor* ticks, so the interval it settles on scales with the
36
+ * minor count — while the interval is what tells us how many minor ticks read
37
+ * well. At some board scales the two never agree: writing 3 yields an interval
38
+ * that asks for 4, and writing 4 yields one that asks for 3. This used to be
39
+ * re-run on every render of the graph, so an unresolved disagreement surfaced
40
+ * as tick spacing flickering between two values for as long as renders kept
41
+ * coming — throughout a point drag, say.
42
+ *
43
+ * So evaluate the candidates rather than iterating toward a fixed point that
44
+ * may not exist: take the count that agrees with the interval it produces, and
45
+ * when neither does, settle it in favor of the more readable minor ticks. The
46
+ * answer then depends only on the board's geometry, so repeating the call
47
+ * cannot move the ticks.
48
+ */
30
49
  export declare function setMinorTicks(axis: AxisJXG): void;
31
50
  export declare function applyAxisTickHeights({ grid, xaxisRef, yaxisRef, displayXAxisTicks, displayYAxisTicks, }: {
32
51
  grid: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"jsxgraph.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/jsxgraph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsxgraph.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/jsxgraph.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jsxgraph.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsxgraph.test.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/jsxgraph.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { RefObject } from 'react';
2
+ import { AxisJXG } from './jsxgraph';
3
+ import { JXGBoard } from '../jsxgraph-distrib/types';
4
+ interface UseAxisTickSpacingSyncParams {
5
+ enabled: boolean;
6
+ board: JXGBoard | null;
7
+ xaxisRef: RefObject<AxisJXG | null | undefined>;
8
+ yaxisRef: RefObject<AxisJXG | null | undefined>;
9
+ }
10
+ /**
11
+ * Everything the minor-tick count is derived from: the axis objects the ticks
12
+ * belong to, the pixels the board is drawn in, and the region it shows. While
13
+ * all of these hold still, so does the answer `setMinorTicks` gives.
14
+ */
15
+ export type TickSpacingSignature = readonly [
16
+ xaxis: AxisJXG | null | undefined,
17
+ yaxis: AxisJXG | null | undefined,
18
+ canvasWidth: number,
19
+ canvasHeight: number,
20
+ xMin: number,
21
+ yMax: number,
22
+ xMax: number,
23
+ yMin: number
24
+ ];
25
+ /**
26
+ * Record the state above for `board` and its axes.
27
+ *
28
+ * The axes themselves count because `setMinorTicks` writes to the axis it is
29
+ * handed, so a recorded signature only vouches for the axes it was applied to.
30
+ * Toggling `displayXAxis`/`displayYAxis` destroys and rebuilds them without
31
+ * moving the board — `createXAxis`/`createYAxis` set the ticks on what they
32
+ * build, and keying on identity is what keeps this hook from silently relying
33
+ * on that.
34
+ */
35
+ export declare function tickSpacingSignature({ board, xaxis, yaxis, }: {
36
+ board: JXGBoard;
37
+ xaxis: AxisJXG | null | undefined;
38
+ yaxis: AxisJXG | null | undefined;
39
+ }): TickSpacingSignature;
40
+ /**
41
+ * Whether two `tickSpacingSignature` results describe the same state, with a
42
+ * null `previous` meaning nothing has been applied yet.
43
+ */
44
+ export declare function tickSpacingUnchanged(previous: TickSpacingSignature | null, next: TickSpacingSignature): boolean;
45
+ /**
46
+ * Keep the minor-tick count on both axes matched to the board's current scale.
47
+ *
48
+ * Runs after the bounding box has been synchronized, so it sees the region the
49
+ * board actually ended up showing, and does nothing while the inputs to the
50
+ * tick spacing hold still. A point drag re-renders the graph every frame
51
+ * without moving any of them, and reworking the ticks on each of those frames
52
+ * buys nothing but a redraw of every tick on the board.
53
+ *
54
+ * That test is made inside the effect rather than through a dependency array,
55
+ * because both the axes and the bounding box are written by the effects that
56
+ * run before this one: read during render, they would still describe the
57
+ * previous frame.
58
+ */
59
+ export default function useAxisTickSpacingSync({ enabled, board, xaxisRef, yaxisRef, }: UseAxisTickSpacingSyncParams): void;
60
+ export {};
61
+ //# sourceMappingURL=useAxisTickSpacingSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAxisTickSpacingSync.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/useAxisTickSpacingSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,UAAU,4BAA4B;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACnD;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS;IACxC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;IACjC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;IACjC,WAAW,EAAE,MAAM;IACnB,YAAY,EAAE,MAAM;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACf,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,KAAK,EACL,KAAK,EACL,KAAK,GACR,EAAE;IACC,KAAK,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;CACrC,GAAG,oBAAoB,CASvB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,EACrC,IAAI,EAAE,oBAAoB,GAC3B,OAAO,CAKT;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC3C,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,GACX,EAAE,4BAA4B,QAyB9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useAxisTickSpacingSync.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAxisTickSpacingSync.test.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/useAxisTickSpacingSync.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"useGridAndAxesSync.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/useGridAndAxesSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAKH,KAAK,OAAO,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU,wBAAwB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACvC,OAAO,EACP,KAAK,EACL,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,GAC5B,EAAE,wBAAwB,QAuJ1B"}
1
+ {"version":3,"file":"useGridAndAxesSync.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/useGridAndAxesSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EAIH,KAAK,OAAO,EACf,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU,wBAAwB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACvC,OAAO,EACP,KAAK,EACL,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,GAC5B,EAAE,wBAAwB,QAqJ1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useJSXGraphBoardSync.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/useJSXGraphBoardSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU,0BAA0B;IAChC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,QAAQ,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,qBAAqB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,uBAAuB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EACzC,KAAK,EACL,EAAE,EACF,GAAG,EACH,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC5B,EAAE,0BAA0B,QAkC5B"}
1
+ {"version":3,"file":"useJSXGraphBoardSync.d.ts","sourceRoot":"","sources":["../../../../src/Viewer/renderers/utils/useJSXGraphBoardSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,UAAU,0BAA0B;IAChC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,QAAQ,CAAC;IACd,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,sBAAsB,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,QAAQ,EAAE,SAAS,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,qBAAqB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,uBAAuB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC5C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC9C,yBAAyB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;CACjD;AAED,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EACzC,KAAK,EACL,EAAE,EACF,GAAG,EACH,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,QAAQ,EACR,QAAQ,EACR,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,yBAAyB,GAC5B,EAAE,0BAA0B,QA2C5B"}
@@ -1,6 +1,6 @@
1
- import { u as useT, q as useUiLocale, t as useChromeLangDir, v as useDiagnosticFormatter, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { u as useT, q as useUiLocale, t as useChromeLangDir, v as useDiagnosticFormatter, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
4
  const _error = React__default.memo(function Error(props) {
5
5
  let { id, SVs, children } = useDoenetRenderer(props);
6
6
  const t = useT();
@@ -1,7 +1,7 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-DraQjwPe.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-BQzt_CzT.js";
5
5
  const alert = React__default.memo(function Alert(props) {
6
6
  let { id, SVs, children } = useDoenetRenderer(props);
7
7
  if (SVs.hidden) {
@@ -1,10 +1,10 @@
1
- import { z as DocContext, p as jsxRuntimeExports, A as textRendererStyle, B as DynamicMath } from "./doenetml-CUm6IUzm.js";
1
+ import { z as DocContext, p as jsxRuntimeExports, A as textRendererStyle, B as DynamicMath } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useContext, useRef, useEffect } from "react";
3
- import { j as jxg, s as syncLayer, a as syncWithLabelToggle, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be4O0jXl.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
5
- import { BoardContext, LINE_LAYER_OFFSET } from "./graph-DFgEgpwC.js";
6
- import { ChoiceInputInlineContext } from "./choiceInput-8Sry2FbM.js";
7
- import { g as getPatternFillAttributes } from "./fillPatterns-DBDTrIe_.js";
3
+ import { j as jxg, s as syncLayer, a as syncWithLabelToggle, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-CkbsvJad.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET } from "./graph-C-TERXvy.js";
6
+ import { ChoiceInputInlineContext } from "./choiceInput-BojtViZr.js";
7
+ import { g as getPatternFillAttributes } from "./fillPatterns-C08iiJmh.js";
8
8
  import { r as resolveFillColor, a as resolveLineColor, b as resolveCanvasColor } from "./styleColors-Cknqcr0q.js";
9
9
  const angle = React__default.memo(function Angle(props) {
10
10
  let { id, SVs } = useDoenetRenderer(props);
@@ -1,9 +1,9 @@
1
- import { F as useContentT, z as DocContext, p as jsxRuntimeExports, B as DynamicMath } from "./doenetml-CUm6IUzm.js";
1
+ import { F as useContentT, z as DocContext, p as jsxRuntimeExports, B as DynamicMath } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useContext } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { A as AnswerResponseButton } from "./AnswerResponseButton-Cph00AG0.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DT1EkLC9.js";
6
- import { D as DescriptionPopover } from "./Description-BpRcV5tu.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { A as AnswerResponseButton } from "./AnswerResponseButton-CCbBdVkg.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BvBipxs5.js";
6
+ import { D as DescriptionPopover } from "./Description-Dz-pguUD.js";
7
7
  const answer = React__default.memo(function Answer(props) {
8
8
  let {
9
9
  componentIdx,
@@ -1,6 +1,6 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
4
  const asList = React__default.memo(function AsList(props) {
5
5
  let { id, SVs, children } = useDoenetRenderer(props);
6
6
  if (SVs.hidden) {
@@ -1,7 +1,7 @@
1
- import { G as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { G as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-Bcns5FNE.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { r as renderMarkupBody } from "./markupRenderer-TBdfwPFV.js";
5
5
  const blockQuote = React__default.memo(function Container(props) {
6
6
  const { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
7
7
  const ref = useRef(null);
@@ -1,6 +1,6 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
4
  const boolean = React__default.memo(function Boolean(props) {
5
5
  let { id, SVs } = useDoenetRenderer(props, false);
6
6
  if (SVs.hidden) {
@@ -1,11 +1,11 @@
1
- import { F as useContentT, H as Context, p as jsxRuntimeExports, T as MathJax, U as ToggleButton } from "./doenetml-CUm6IUzm.js";
1
+ import { F as useContentT, H as Context, p as jsxRuntimeExports, T as MathJax, U as ToggleButton } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useState, useRef, useContext, useEffect } from "react";
3
- import { j as jxg } from "./JSXGraphRenderer-Be4O0jXl.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
5
- import { BoardContext } from "./graph-DFgEgpwC.js";
3
+ import { j as jxg } from "./JSXGraphRenderer-CkbsvJad.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
+ import { BoardContext } from "./graph-C-TERXvy.js";
6
6
  import { g as getPositionFromAnchorByCoordinate, P as POINTER_DRAG_THRESHOLD } from "./graph-W6vrFcBu.js";
7
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DT1EkLC9.js";
8
- import { D as DescriptionPopover } from "./Description-BpRcV5tu.js";
7
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BvBipxs5.js";
8
+ import { D as DescriptionPopover } from "./Description-Dz-pguUD.js";
9
9
  const booleanInput = React__default.memo(function BooleanInput(props) {
10
10
  let { id, SVs, children, actions, ignoreUpdate, callAction } = useDoenetRenderer(props);
11
11
  const tContent = useContentT();
@@ -1,6 +1,6 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
4
  const br = React__default.memo(function Br(props) {
5
5
  let { id, SVs } = useDoenetRenderer(props);
6
6
  if (SVs.hidden) {
@@ -1,8 +1,8 @@
1
- import { H as Context, I as cesc, p as jsxRuntimeExports, J as Button2 } from "./doenetml-CUm6IUzm.js";
1
+ import { H as Context, I as cesc, p as jsxRuntimeExports, J as Button2 } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useRef, useContext, useEffect } from "react";
3
- import { j as jxg } from "./JSXGraphRenderer-Be4O0jXl.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
5
- import { BoardContext } from "./graph-DFgEgpwC.js";
3
+ import { j as jxg } from "./JSXGraphRenderer-CkbsvJad.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
+ import { BoardContext } from "./graph-C-TERXvy.js";
6
6
  import { g as getPositionFromAnchorByCoordinate, P as POINTER_DRAG_THRESHOLD } from "./graph-W6vrFcBu.js";
7
7
  const button = React__default.memo(function ButtonComponent(props) {
8
8
  let { id, SVs, actions, callAction } = useDoenetRenderer(
@@ -1,7 +1,7 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-Bcns5FNE.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { r as renderMarkupBody } from "./markupRenderer-TBdfwPFV.js";
5
5
  const c = React__default.memo(function C(props) {
6
6
  const { id, SVs, children } = useDoenetRenderer(props);
7
7
  const body = renderMarkupBody({ SVs, children });
@@ -1,7 +1,7 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-DraQjwPe.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-BQzt_CzT.js";
5
5
  const cell = React__default.memo(function Cell(props) {
6
6
  let { id, SVs, children } = useDoenetRenderer(props);
7
7
  if (SVs.hidden) {
@@ -1,11 +1,11 @@
1
- import { aB as autoUpdate, u as useT, F as useContentT, z as DocContext, p as jsxRuntimeExports, aC as CANVAS_DARK_MODE_COLOR, T as MathJax } from "./doenetml-CUm6IUzm.js";
1
+ import { aB as autoUpdate, u as useT, F as useContentT, z as DocContext, p as jsxRuntimeExports, aC as CANVAS_DARK_MODE_COLOR, T as MathJax } from "./doenetml-DfKVXzta.js";
2
2
  import * as React from "react";
3
3
  import React__default, { useState, useCallback, forwardRef, useContext, useLayoutEffect, useRef, useMemo, createContext, Component, Fragment, useEffect } from "react";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
5
  import { a as _objectWithoutPropertiesLoose, _ as _setPrototypeOf, b as _extends } from "./setPrototypeOf-C-47lAIH.js";
6
6
  import { createPortal } from "react-dom";
7
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DT1EkLC9.js";
8
- import { D as DescriptionPopover } from "./Description-BpRcV5tu.js";
7
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BvBipxs5.js";
8
+ import { D as DescriptionPopover } from "./Description-Dz-pguUD.js";
9
9
  import { a as addValidationStateToShortDescription } from "./validationState-DI_lxk1a.js";
10
10
  import { a as getBlockMarginWithOptionalTopSuppression } from "./nonInlineMediaLayout-CkXHaqzo.js";
11
11
  function _typeof(o) {
@@ -1,17 +1,17 @@
1
- import { z as DocContext, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { z as DocContext, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { j as jxg, s as syncLayer, e as syncLineStrokeStyle, a as syncWithLabelToggle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight, r as removeJXGEventHandlers } from "./JSXGraphRenderer-Be4O0jXl.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
5
- import { BoardContext, POINT_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-DFgEgpwC.js";
3
+ import { j as jxg, s as syncLayer, e as syncLineStrokeStyle, a as syncWithLabelToggle, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight, r as removeJXGEventHandlers } from "./JSXGraphRenderer-CkbsvJad.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
+ import { BoardContext, POINT_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-C-TERXvy.js";
6
6
  import { c as characterizeOffGraphPoint, a as characterizeOffGraphCircleArc } from "./offGraphIndicators-CYoqQHuD.js";
7
7
  import { n as normalizePointStyle, a as normalizePointSize, b as adjustPointLabelPosition, c as getEffectiveBoundingBox, d as getGraphCornerWithBuffer, e as calculatePointLabelAnchor } from "./graph-W6vrFcBu.js";
8
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-BoVYoosP.js";
8
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-B73ZzprP.js";
9
9
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
10
10
  import { p as pointerEventToUserCoords } from "./dragThreshold-DuSSFrIU.js";
11
11
  import { a as resolveLineColor, r as resolveFillColor, c as resolveMarkerColor, b as resolveCanvasColor } from "./styleColors-Cknqcr0q.js";
12
12
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
13
13
  import { b as buildFilledShapeAttributes } from "./buildGraphicalAttributes-0RNcbd2S.js";
14
- import { g as getPatternFillAttributes } from "./fillPatterns-DBDTrIe_.js";
14
+ import { g as getPatternFillAttributes } from "./fillPatterns-C08iiJmh.js";
15
15
  import { u as useDraggableRefs, a as useJSXGraphCleanup } from "./useJSXGraphCleanup-CX91oVW8.js";
16
16
  const circle = React__default.memo(function Circle(props) {
17
17
  let { componentIdx, id, SVs, actions, callAction } = useDoenetRenderer(props);
@@ -1,8 +1,8 @@
1
- import { K as createFunctionFromDefinition, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { K as createFunctionFromDefinition, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { j as jxg, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be4O0jXl.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
5
- import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-DFgEgpwC.js";
3
+ import { j as jxg, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-CkbsvJad.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
+ import { BoardContext, LINE_LAYER_OFFSET, VERTEX_LAYER_OFFSET } from "./graph-C-TERXvy.js";
6
6
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
7
7
  const cobwebPolyline = React__default.memo(function CobwebPolyline(props) {
8
8
  let { componentIdx, id, SVs, actions, sourceOfUpdate, callAction } = useDoenetRenderer(props);
@@ -1,6 +1,6 @@
1
- import { p as jsxRuntimeExports, ad as EditorViewer } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports, ad as EditorViewer } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useState, useEffect, useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
4
  import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
5
5
  function resolveElements(elementOrSelector, scope, selectorCache) {
6
6
  if (elementOrSelector == null) {
@@ -1,4 +1,4 @@
1
- import { p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
3
  function addCommasForCompositeRanges({
4
4
  compositeReplacementActiveRange,
@@ -1,8 +1,8 @@
1
- import { F as useContentT, G as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { F as useContentT, G as useRecordVisibilityChanges, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-DraQjwPe.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DT1EkLC9.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-BQzt_CzT.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BvBipxs5.js";
6
6
  const containerBlock = React__default.memo(function Container(props) {
7
7
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
8
8
  const tContent = useContentT();
@@ -1,8 +1,8 @@
1
- import { F as useContentT, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { F as useContentT, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-DraQjwPe.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-DT1EkLC9.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-BQzt_CzT.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BvBipxs5.js";
6
6
  const containerInline = React__default.memo(function ContainerInline(props) {
7
7
  let { id, SVs, children, actions, callAction } = useDoenetRenderer(props);
8
8
  const tContent = useContentT();
@@ -1,8 +1,8 @@
1
- import { z as DocContext, K as createFunctionFromDefinition, p as jsxRuntimeExports } from "./doenetml-CUm6IUzm.js";
1
+ import { z as DocContext, K as createFunctionFromDefinition, p as jsxRuntimeExports } from "./doenetml-DfKVXzta.js";
2
2
  import React__default, { useContext, useRef } from "react";
3
- import { s as syncLayer, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, g as syncVisPropValues, j as jxg, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-Be4O0jXl.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DTALOTXR.js";
5
- import { BoardContext, VERTEX_LAYER_OFFSET, CONTROL_POINT_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-DFgEgpwC.js";
3
+ import { s as syncLayer, f as syncLabelStrokeColor, b as syncLabelMaskCssStyle, g as syncVisPropValues, j as jxg, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-CkbsvJad.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-CDyY-0g2.js";
5
+ import { BoardContext, VERTEX_LAYER_OFFSET, CONTROL_POINT_LAYER_OFFSET, LINE_LAYER_OFFSET } from "./graph-C-TERXvy.js";
6
6
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./useBoardPointerTracking-DV6a8Wvg.js";
7
7
  import { a as resolveLineColor, d as resolveHandleColor } from "./styleColors-Cknqcr0q.js";
8
8
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";