@doenet/doenetml 0.7.27-dev.765 → 0.7.27-dev.768

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 (115) hide show
  1. package/{AnswerResponseButton-C7VkpwBB.js → AnswerResponseButton-BGhQVZ8w.js} +2 -2
  2. package/{ClickTarget-6Rowvo-I.js → ClickTarget-B_XSWivV.js} +1 -1
  3. package/{Description-CVJCJ1e3.js → Description-BVTOgafW.js} +1 -1
  4. package/{EditorViewer-CmJLlYZW.js → EditorViewer-BKiCHjMV.js} +5 -5
  5. package/{GraphFrame-YziTbDEl.js → GraphFrame-BHsOAC3Y.js} +2 -2
  6. package/{JSXGraphRenderer-DfmPbuQ_.js → JSXGraphRenderer-B0Exuxq-.js} +1 -1
  7. package/{NonInlineMediaWrapper-Cdx2ghpt.js → NonInlineMediaWrapper-BF_JKp3T.js} +1 -1
  8. package/Viewer/renderers/circle.d.ts.map +1 -1
  9. package/{_error-B1ac0EqL.js → _error-C25njwwM.js} +2 -2
  10. package/{alert-BP61j96b.js → alert-Dn0jwi4o.js} +3 -3
  11. package/{angle-Dl2JBHmq.js → angle-DgcfV2lA.js} +6 -6
  12. package/{answer-D_pdUwZt.js → answer-DUJAM-AM.js} +6 -6
  13. package/{asList-CNTFThQ0.js → asList-BId5Pp_Z.js} +2 -2
  14. package/{blockQuote-Cf7sEw0_.js → blockQuote-DD3v3DeG.js} +3 -3
  15. package/{boolean-DUaRSFN9.js → boolean-C0i2y_EB.js} +2 -2
  16. package/{booleanInput-BYkqrqjx.js → booleanInput-CuZom7IB.js} +7 -7
  17. package/{br-DxlXOHuw.js → br-ClEYZNr8.js} +2 -2
  18. package/{button-DME3qjHb.js → button-BM6B-PWd.js} +5 -5
  19. package/{c-Do1v5YJ8.js → c-B2nhMfm5.js} +3 -3
  20. package/{cell-DVU_OmwU.js → cell-DHtB-qSx.js} +3 -3
  21. package/{chart-CqjkWJ62.js → chart-CjhDQ63a.js} +4 -4
  22. package/{choiceInput-Bw1Emqpr.js → choiceInput-DCA8VR5U.js} +7 -7
  23. package/{circle-NdiCU0Bq.js → circle-DlsWDeE_.js} +89 -178
  24. package/{cobwebPolyline-CC-mej64.js → cobwebPolyline-Dd2e9lpN.js} +4 -4
  25. package/{codeEditor-MK2MHPtl.js → codeEditor-BLmq--Dh.js} +2 -2
  26. package/{composites-Cx0wNF92.js → composites-BlNjYwV0.js} +1 -1
  27. package/{containerBlock-BdpVu-cB.js → containerBlock-rA3jzu5d.js} +4 -4
  28. package/{containerInline-aXy-JZ4D.js → containerInline-eiYBVZhn.js} +4 -4
  29. package/{curve-TNPTpcdV.js → curve-BZbgV7Ik.js} +4 -4
  30. package/{delete-CV0N3kI5.js → delete-BqvMxMkX.js} +3 -3
  31. package/{doenetml-LIgc-PTu.js → doenetml-Bn3GaeE6.js} +3 -3
  32. package/doenetml-external-worker.js +2 -2
  33. package/doenetml-inline-worker.js +3 -3
  34. package/doenetml-worker/index.esm.js +1 -1
  35. package/doenetml-worker/index.js +1 -1
  36. package/{ellipsis-B3tHHbY2.js → ellipsis-CY2s2rlV.js} +2 -2
  37. package/{em-D-7CVOlt.js → em-CrjpV-2m.js} +3 -3
  38. package/{embed-C2kYLs69.js → embed-CtxnMWDV.js} +2 -2
  39. package/{feedback-BPtAMhIx.js → feedback-DCZ08kcW.js} +4 -4
  40. package/{figure-Ddw9ovjO.js → figure-CoE9i1Og.js} +3 -3
  41. package/{fillPatterns-ik-Mye3W.js → fillPatterns-BsfwziOU.js} +1 -1
  42. package/{footnote-NtuIQIp5.js → footnote-BKf3fhKU.js} +3 -3
  43. package/{fractionInput-BwP-e5pQ.js → fractionInput-B_8a6sP3.js} +5 -5
  44. package/{graph-CPr5lJk-.js → graph-DVc1gP-A.js} +5 -5
  45. package/{hint-Cp6_VLMI.js → hint-DUAhBVzg.js} +5 -5
  46. package/{hovercard-store-txOOQUEX.js → hovercard-store-1lbE7a6G.js} +1 -1
  47. package/{hr-DhvzJuK0.js → hr-DekfCbNC.js} +2 -2
  48. package/{image-C_QrdAVf.js → image-Cco8Rucw.js} +8 -8
  49. package/{index-_hGmI8hX.js → index-HiATZrmp.js} +1 -1
  50. package/{index.es-seWzED-y.js → index.es-AXWdzDQh.js} +1 -1
  51. package/index.js +1 -1
  52. package/{inputLabel-o9DSU9gq.js → inputLabel-C1hmH0Vm.js} +3 -3
  53. package/{insert-Dpc53E4v.js → insert-CJzX79Xo.js} +3 -3
  54. package/{label-_xUMDJ1Z.js → label-8sz2IOm4.js} +9 -9
  55. package/{legend-BUJ5KoPx.js → legend-Cpk0hopp.js} +4 -4
  56. package/{line-Dsb2AuZ3.js → line-C88SKbTp.js} +6 -6
  57. package/{lineFamilyDragHandlers-CSWOYuaO.js → lineFamilyDragHandlers-uwYNoAxP.js} +1 -1
  58. package/{lineSegment-Dnlgbs_D.js → lineSegment-COH0M78s.js} +5 -5
  59. package/{list-BsO9kC4X.js → list-DXq81F1h.js} +4 -4
  60. package/{lq-JOlBFcx8.js → lq-CVMnBckz.js} +2 -2
  61. package/{lsq-VFyfwv0M.js → lsq-B0t8wTco.js} +2 -2
  62. package/{markupRenderer-B6J01HLY.js → markupRenderer-icutj8J7.js} +1 -1
  63. package/{math-tszOvOnM.js → math-DxGL63UC.js} +8 -8
  64. package/{mathInput-Byd5Z28H.js → mathInput-CM8G0GBW.js} +9 -9
  65. package/{mathInputSlots-ggR1C1rY.js → mathInputSlots-UBtj7Ff1.js} +1 -1
  66. package/{matrixInput-BJ747gsN.js → matrixInput-DmeD-fcp.js} +5 -5
  67. package/{mdash-fSFnk7yo.js → mdash-nk7aI1x4.js} +2 -2
  68. package/{nbsp-CXsyOKyT.js → nbsp-tqbvII7_.js} +2 -2
  69. package/{ndash-DXbuUHtU.js → ndash-BeAAvXWq.js} +2 -2
  70. package/{number-CVfGwUwS.js → number-DIhdf4yd.js} +8 -8
  71. package/{orbitalDiagram-AkjrSArj.js → orbitalDiagram-Bc6gz518.js} +2 -2
  72. package/{orbitalDiagramInput-ChgB3YWt.js → orbitalDiagramInput-QS0-mhzL.js} +2 -2
  73. package/{p-qHY2PzBE.js → p-JAZKnecE.js} +4 -4
  74. package/package.json +1 -1
  75. package/{paginatorControls-BDWrCfVw.js → paginatorControls-URdFE2pi.js} +2 -2
  76. package/{pegboard-DwVqWNxO.js → pegboard-BqvzHLt_.js} +3 -3
  77. package/{point-CcR1jG6r.js → point-NKsTKRY_.js} +8 -27
  78. package/{polygon-McTIcCgD.js → polygon-BSsP-JVf.js} +6 -6
  79. package/{polyline-DOKBag00.js → polyline-Dg9UPfai.js} +5 -5
  80. package/{pre-BgHwL6YM.js → pre--HfdrSpJ.js} +3 -3
  81. package/{prefigure-MGwinPuK.js → prefigure-BSEwUjBV.js} +1 -1
  82. package/{pretzel-Cv_CdOcy.js → pretzel-CtdXQPB0.js} +4 -4
  83. package/{q-uO_nkIUW.js → q-BFVSwPb-.js} +3 -3
  84. package/{ray-DNY3f_-x.js → ray-C8kxrg0p.js} +5 -5
  85. package/{ref-Cbu2yBsm.js → ref-DQpBHWzX.js} +3 -3
  86. package/{regionBetweenCurveXAxis-CtnapiPv.js → regionBetweenCurveXAxis-CUYzK8fj.js} +5 -5
  87. package/{regionBetweenCurves-LE74KLga.js → regionBetweenCurves-vmjhmngC.js} +5 -5
  88. package/{row-BKHvDl51.js → row-AxUugWWx.js} +2 -2
  89. package/{rq-DsZHmfPt.js → rq-GCMJETEi.js} +2 -2
  90. package/{rsq-0i2jDZ9U.js → rsq-Crs0m5MW.js} +2 -2
  91. package/{section-BJfN1-WL.js → section-DC2qd5Pa.js} +6 -6
  92. package/{sha256-8sXzDnE0-BLp9xbaM.js → sha256-8sXzDnE0-Mgf7yBqT.js} +1 -1
  93. package/{sideBySide-C1C2Zc_g.js → sideBySide-CrCXBe8_.js} +2 -2
  94. package/{slider-Dx_Le2HM.js → slider-DSAD8pnG.js} +4 -4
  95. package/{slopeField-Dg7D5mDH.js → slopeField-DcMv3kgt.js} +2 -2
  96. package/{solution-PqypkITn.js → solution-1F0ReNqO.js} +4 -4
  97. package/{spreadsheet-DoPaI1dJ.js → spreadsheet-BYlMIFRQ.js} +2 -2
  98. package/{sq-CgM5aT2x.js → sq-C9sycfMH.js} +3 -3
  99. package/{subsetOfRealsInput-CQqt7jsI.js → subsetOfRealsInput-BEIM34qf.js} +2 -2
  100. package/{summaryStatistics-CIRFW7_T.js → summaryStatistics-r_d82MTB.js} +2 -2
  101. package/{table-Clo8TU6J.js → table-Bub9C2Nh.js} +2 -2
  102. package/{tabular-8Q_bFhkD.js → tabular-CCmNW7qB.js} +2 -2
  103. package/{tag-B-ORlAF3.js → tag-qSXzFZg7.js} +2 -2
  104. package/{text-DtEtGJ3d.js → text-G9W9RcdX.js} +8 -8
  105. package/{textInput-CdCqqlCE.js → textInput-T3oi-45W.js} +8 -8
  106. package/{tooltip-provider-DeW8H_EB.js → tooltip-provider-C3KAxtoj.js} +2 -2
  107. package/{useAnchoredGraphDragHandler-xGFsboV7.js → useAnchoredGraphDragHandler-CG-JdUfX.js} +1 -1
  108. package/useDoenetRenderer-C0wr-z3_.js +114 -0
  109. package/{useFieldCurve-7YblcQxz.js → useFieldCurve-D2H4wOdr.js} +2 -2
  110. package/{offGraphIndicators-KYJwMZUg.js → useRerenderOnBoundingBoxChange-DbvvItwW.js} +22 -1
  111. package/{useSubmitActionWithDelay-BwjIPpOQ.js → useSubmitActionWithDelay-C32eqD1x.js} +2 -2
  112. package/{vector-CNZMF0Vw.js → vector-BM3AAAlP.js} +6 -6
  113. package/{vectorField-DB324Ggf.js → vectorField-CcaZxnkB.js} +2 -2
  114. package/{video-B813nagj.js → video-CxK7BLDI.js} +4 -4
  115. package/useDoenetRenderer-DmFTd_Ja.js +0 -114
@@ -1,5 +1,5 @@
1
- import { u as useT, q as jsxRuntimeExports, L as Button } from "./doenetml-LIgc-PTu.js";
2
- import { T as TooltipProvider, a as TooltipAnchor, b as Tooltip } from "./tooltip-provider-DeW8H_EB.js";
1
+ import { u as useT, q as jsxRuntimeExports, L as Button } from "./doenetml-Bn3GaeE6.js";
2
+ import { T as TooltipProvider, a as TooltipAnchor, b as Tooltip } from "./tooltip-provider-C3KAxtoj.js";
3
3
  function AnswerResponseButton({
4
4
  answerId,
5
5
  answerComponentIdx,
@@ -1,4 +1,4 @@
1
- import { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import { useContext, useRef, useState, useLayoutEffect, createContext } from "react";
3
3
  import { u as useMathJaxOutOfTabOrder } from "./useMathJaxOutOfTabOrder-C0wsYqBF.js";
4
4
  const NoClickTargetContext = createContext(false);
@@ -1,4 +1,4 @@
1
- import { a3 as memo, a4 as forwardRef, a5 as createElement, a6 as createHook, a7 as usePopoverContext, a8 as invariant, a9 as useStoreState, aa as getBasePlacement, ab as useId, ac as useMergeRefs, q as jsxRuntimeExports, ad as removeUndefinedValues, ae as useSafeLayoutEffect, af as getWindow, ag as usePopoverStore, E as DocContext, u as useT, ah as PopoverDisclosure, ai as MdInfoOutline, aj as Popover } from "./doenetml-LIgc-PTu.js";
1
+ import { a3 as memo, a4 as forwardRef, a5 as createElement, a6 as createHook, a7 as usePopoverContext, a8 as invariant, a9 as useStoreState, aa as getBasePlacement, ab as useId, ac as useMergeRefs, q as jsxRuntimeExports, ad as removeUndefinedValues, ae as useSafeLayoutEffect, af as getWindow, ag as usePopoverStore, E as DocContext, u as useT, ah as PopoverDisclosure, ai as MdInfoOutline, aj as Popover } from "./doenetml-Bn3GaeE6.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,9 +1,9 @@
1
- import { al as createStoreContext, aX as CompositeScopedContextProvider, aY as CompositeContextProvider, a3 as memo, a4 as forwardRef, a5 as createElement, a6 as createHook, a8 as invariant, ab as useId, aG as disabledFromProps, as as useEvent, a9 as useStoreState, q as jsxRuntimeExports, aZ as CompositeItem, a_ as useCompositeItem, an as useWrapElement, a$ as useComposite, b0 as useDisclosureStore, ae as useSafeLayoutEffect, b1 as getFirstTabbableIn, ac as useMergeRefs, aH as useFocusable, b2 as useDisclosureContent, b3 as useCollectionItem, b4 as mergeStore, b5 as omit, b6 as createCompositeStore, au as defaultValue, at as createStore, b7 as setup, aq as sync, b8 as batch, ar as chain, b9 as createCollectionStore, ba as useComboboxContext, bb as useSelectContext, av as useStore, bc as useUpdateEffect, bd as useCompositeStoreProps, aw as useStoreProps, aa as getBasePlacement, be as isHidden, bf as useCompositeTypeahead, am as createDialogComponent, bg as fireEvent, aF as hasFocusWithin, ao as isFalsyBooleanCallback, bh as Role, bi as getPopupRole, bj as getPopupItemRole, bk as usePopoverDisclosure, bl as disabledFromElement, aB as useBooleanEvent, bm as isDownloading, bn as isOpeningInNewTab, bo as useCompositeHover, bp as getDocument, bq as pick, br as throwOnConflictingProps, bs as applyState, bt as useComboboxProviderContext, bu as GenIcon, u as useT, Y as MathJax, bv as isMacPlatform, bw as BsXOctagonFill, bx as BsExclamationTriangleFill, by as BsInfoCircleFill, bz as classNames, bA as toXml, bB as referenceWouldAbsorb, bC as nodesToXml, bD as escape, bE as name, bF as quote, bG as lezerToDast, bH as unified, bI as replaceNode, bJ as visit, bK as SKIP, G as DynamicMath, bL as BsCodeSlash, bM as BsXOctagon, bN as BsExclamationTriangle, bO as BsInfoCircle, bP as BsChatSquareTextFill, bQ as BsChatSquareText, bR as BsThreeDotsVertical, bS as UiButton, bT as VariantSelect, bU as setVariantIndex, bV as getAugmentedNamespace, bW as isAccessibilityRecord, bX as nanoid, t as useUiLocale, bY as useLocaleCatalogs, bZ as useChromeTranslator, w as useDiagnosticFormatter, o as doenetGlobalConfig, b_ as DocViewer, b$ as setVariantsFromCallback, c0 as I18nProvider, c1 as ResizablePanelPair, c2 as nanInfinityReviver, c3 as isSaveShortcutKeydown, $ as hasNavigationModifier, c4 as ResizableCollapsiblePanelPair } from "./doenetml-LIgc-PTu.js";
1
+ import { al as createStoreContext, aX as CompositeScopedContextProvider, aY as CompositeContextProvider, a3 as memo, a4 as forwardRef, a5 as createElement, a6 as createHook, a8 as invariant, ab as useId, aG as disabledFromProps, as as useEvent, a9 as useStoreState, q as jsxRuntimeExports, aZ as CompositeItem, a_ as useCompositeItem, an as useWrapElement, a$ as useComposite, b0 as useDisclosureStore, ae as useSafeLayoutEffect, b1 as getFirstTabbableIn, ac as useMergeRefs, aH as useFocusable, b2 as useDisclosureContent, b3 as useCollectionItem, b4 as mergeStore, b5 as omit, b6 as createCompositeStore, au as defaultValue, at as createStore, b7 as setup, aq as sync, b8 as batch, ar as chain, b9 as createCollectionStore, ba as useComboboxContext, bb as useSelectContext, av as useStore, bc as useUpdateEffect, bd as useCompositeStoreProps, aw as useStoreProps, aa as getBasePlacement, be as isHidden, bf as useCompositeTypeahead, am as createDialogComponent, bg as fireEvent, aF as hasFocusWithin, ao as isFalsyBooleanCallback, bh as Role, bi as getPopupRole, bj as getPopupItemRole, bk as usePopoverDisclosure, bl as disabledFromElement, aB as useBooleanEvent, bm as isDownloading, bn as isOpeningInNewTab, bo as useCompositeHover, bp as getDocument, bq as pick, br as throwOnConflictingProps, bs as applyState, bt as useComboboxProviderContext, bu as GenIcon, u as useT, Y as MathJax, bv as isMacPlatform, bw as BsXOctagonFill, bx as BsExclamationTriangleFill, by as BsInfoCircleFill, bz as classNames, bA as toXml, bB as referenceWouldAbsorb, bC as nodesToXml, bD as escape, bE as name, bF as quote, bG as lezerToDast, bH as unified, bI as replaceNode, bJ as visit, bK as SKIP, G as DynamicMath, bL as BsCodeSlash, bM as BsXOctagon, bN as BsExclamationTriangle, bO as BsInfoCircle, bP as BsChatSquareTextFill, bQ as BsChatSquareText, bR as BsThreeDotsVertical, bS as UiButton, bT as VariantSelect, bU as setVariantIndex, bV as getAugmentedNamespace, bW as isAccessibilityRecord, bX as nanoid, t as useUiLocale, bY as useLocaleCatalogs, bZ as useChromeTranslator, w as useDiagnosticFormatter, o as doenetGlobalConfig, b_ as DocViewer, b$ as setVariantsFromCallback, c0 as I18nProvider, c1 as ResizablePanelPair, c2 as nanInfinityReviver, c3 as isSaveShortcutKeydown, $ as hasNavigationModifier, c4 as ResizableCollapsiblePanelPair } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useCallback, useRef, useEffect, useState, useMemo, createContext, createRef, useContext, useImperativeHandle } from "react";
3
3
  import { flushSync } from "react-dom";
4
4
  import { i as isMathDefaultValue, a as isComponentSizeValue, f as formatComponentSize, d as doenetSchema, k as keymap, C as CodeMirror, E as EditorView } from "./index-Cyq39OFr.js";
5
5
  import me$1 from "math-expressions";
6
- import { H as HovercardScopedContextProvider, a as HovercardContextProvider, u as useHovercard, b as useHovercardAnchor, c as createHovercardStore, d as useHovercardStoreProps } from "./hovercard-store-txOOQUEX.js";
6
+ import { H as HovercardScopedContextProvider, a as HovercardContextProvider, u as useHovercard, b as useHovercardAnchor, c as createHovercardStore, d as useHovercardStoreProps } from "./hovercard-store-1lbE7a6G.js";
7
7
  const ctx = createStoreContext([CompositeContextProvider], [CompositeScopedContextProvider]);
8
8
  const useTabScopedContext = ctx.useScopedContext;
9
9
  const useTabProviderContext = ctx.useProviderContext;
@@ -11018,12 +11018,12 @@ function EditorFooter({
11018
11018
  className: "doenetml-version",
11019
11019
  title: t(
11020
11020
  "editor-version-title",
11021
- { version: "0.7.27-dev.765" },
11022
- `DoenetML version ${"0.7.27-dev.765"}`
11021
+ { version: "0.7.27-dev.768" },
11022
+ `DoenetML version ${"0.7.27-dev.768"}`
11023
11023
  ),
11024
11024
  children: [
11025
11025
  "v",
11026
- "0.7.27-dev.765"
11026
+ "0.7.27-dev.768"
11027
11027
  ]
11028
11028
  }
11029
11029
  ),
@@ -1,6 +1,6 @@
1
- import { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
3
- import { D as DescriptionPopover, a as DescriptionAsDetails } from "./Description-CVJCJ1e3.js";
3
+ import { D as DescriptionPopover, a as DescriptionAsDetails } from "./Description-BVTOgafW.js";
4
4
  function GraphFrame({
5
5
  id,
6
6
  SVs,
@@ -1,4 +1,4 @@
1
- import { T as cesc, q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { T as cesc, q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import { useRef, useEffect, useState } from "react";
3
3
  import me from "math-expressions";
4
4
  import { u as useMathJaxOutOfTabOrder } from "./useMathJaxOutOfTabOrder-C0wsYqBF.js";
@@ -1,4 +1,4 @@
1
- import { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  function NonInlineMediaWrapper({
3
3
  id,
4
4
  displayMode,
@@ -1 +1 @@
1
- {"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../src/Viewer/renderers/circle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAA0B,EACtB,sBAAsB,EACzB,MAAM,sBAAsB,CAAC;;AA0D9B,wBAs1BG"}
1
+ {"version":3,"file":"circle.d.ts","sourceRoot":"","sources":["../../../src/Viewer/renderers/circle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AAElD,OAA0B,EACtB,sBAAsB,EACzB,MAAM,sBAAsB,CAAC;;AA2D9B,wBA8oBG"}
@@ -1,6 +1,6 @@
1
- import { u as useT, t as useUiLocale, v as useChromeLangDir, w as useDiagnosticFormatter, q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { u as useT, t as useUiLocale, v as useChromeLangDir, w as useDiagnosticFormatter, q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.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 { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-Cx0wNF92.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-BlNjYwV0.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 { E as DocContext, q as jsxRuntimeExports, F as textRendererStyle, G as DynamicMath } from "./doenetml-LIgc-PTu.js";
1
+ import { E as DocContext, q as jsxRuntimeExports, F as textRendererStyle, G as DynamicMath } from "./doenetml-Bn3GaeE6.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-DfmPbuQ_.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
5
- import { B as BoardContext, L as LINE_LAYER_OFFSET } from "./graph-CPr5lJk-.js";
6
- import { ChoiceInputInlineContext } from "./choiceInput-Bw1Emqpr.js";
7
- import { g as getPatternFillAttributes } from "./fillPatterns-ik-Mye3W.js";
3
+ import { j as jxg, s as syncLayer, a as syncWithLabelToggle, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-B0Exuxq-.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
5
+ import { B as BoardContext, L as LINE_LAYER_OFFSET } from "./graph-DVc1gP-A.js";
6
+ import { ChoiceInputInlineContext } from "./choiceInput-DCA8VR5U.js";
7
+ import { g as getPatternFillAttributes } from "./fillPatterns-BsfwziOU.js";
8
8
  import { r as resolveFillColor, a as resolveLineColor, b as resolveCanvasColor } from "./styleColors-BrCvjxze.js";
9
9
  const angle = React__default.memo(function Angle(props) {
10
10
  let { id, SVs } = useDoenetRenderer(props);
@@ -1,10 +1,10 @@
1
- import { I as useContentT, E as DocContext, q as jsxRuntimeExports, G as DynamicMath } from "./doenetml-LIgc-PTu.js";
1
+ import { I as useContentT, E as DocContext, q as jsxRuntimeExports, G as DynamicMath } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useContext } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
4
- import { A as AnswerResponseButton } from "./AnswerResponseButton-C7VkpwBB.js";
5
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent, w as wantsFullCheckWorkButton } from "./useSubmitActionWithDelay-BwjIPpOQ.js";
6
- import { D as DescriptionPopover } from "./Description-CVJCJ1e3.js";
7
- import { u as useRenderedLabel, A as AnswerLabelContext } from "./inputLabel-o9DSU9gq.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
+ import { A as AnswerResponseButton } from "./AnswerResponseButton-BGhQVZ8w.js";
5
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent, w as wantsFullCheckWorkButton } from "./useSubmitActionWithDelay-C32eqD1x.js";
6
+ import { D as DescriptionPopover } from "./Description-BVTOgafW.js";
7
+ import { u as useRenderedLabel, A as AnswerLabelContext } from "./inputLabel-C1hmH0Vm.js";
8
8
  const answer = React__default.memo(function Answer(props) {
9
9
  let {
10
10
  componentIdx,
@@ -1,6 +1,6 @@
1
- import { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.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 { J as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { J as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-B6J01HLY.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
+ import { r as renderMarkupBody } from "./markupRenderer-icutj8J7.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 { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.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,13 +1,13 @@
1
- import { I as useContentT, M as toNumberOrNaN, q as jsxRuntimeExports, Y as MathJax, Z as ToggleButton } from "./doenetml-LIgc-PTu.js";
1
+ import { I as useContentT, M as toNumberOrNaN, q as jsxRuntimeExports, Y as MathJax, Z as ToggleButton } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useState, useRef, useContext, useEffect } from "react";
3
- import { j as jxg } from "./JSXGraphRenderer-DfmPbuQ_.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
5
- import { B as BoardContext } from "./graph-CPr5lJk-.js";
3
+ import { j as jxg } from "./JSXGraphRenderer-B0Exuxq-.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
5
+ import { B as BoardContext } from "./graph-DVc1gP-A.js";
6
6
  import me from "math-expressions";
7
7
  import { e as getPositionFromAnchorByCoordinate, P as POINTER_DRAG_THRESHOLD } from "./graph-CfMpl1HY.js";
8
- import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BwjIPpOQ.js";
9
- import { D as DescriptionPopover } from "./Description-CVJCJ1e3.js";
10
- import { u as useRenderedLabel } from "./inputLabel-o9DSU9gq.js";
8
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-C32eqD1x.js";
9
+ import { D as DescriptionPopover } from "./Description-BVTOgafW.js";
10
+ import { u as useRenderedLabel } from "./inputLabel-C1hmH0Vm.js";
11
11
  const booleanInput = React__default.memo(function BooleanInput(props) {
12
12
  let { id, SVs, children, actions, ignoreUpdate, callAction } = useDoenetRenderer(props);
13
13
  const renderedLabel = useRenderedLabel({
@@ -1,6 +1,6 @@
1
- import { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
4
  const br = React__default.memo(function Br(props) {
5
5
  let { id, SVs } = useDoenetRenderer(props);
6
6
  if (SVs.hidden) {
@@ -1,9 +1,9 @@
1
- import { M as toNumberOrNaN, T as cesc, q as jsxRuntimeExports, P as Button2 } from "./doenetml-LIgc-PTu.js";
1
+ import { M as toNumberOrNaN, T as cesc, q as jsxRuntimeExports, P as Button2 } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useRef, useContext, useEffect } from "react";
3
- import { j as jxg } from "./JSXGraphRenderer-DfmPbuQ_.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
5
- import { B as BoardContext } from "./graph-CPr5lJk-.js";
6
- import { u as useRenderedLabel } from "./inputLabel-o9DSU9gq.js";
3
+ import { j as jxg } from "./JSXGraphRenderer-B0Exuxq-.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
5
+ import { B as BoardContext } from "./graph-DVc1gP-A.js";
6
+ import { u as useRenderedLabel } from "./inputLabel-C1hmH0Vm.js";
7
7
  import me from "math-expressions";
8
8
  import { e as getPositionFromAnchorByCoordinate, P as POINTER_DRAG_THRESHOLD } from "./graph-CfMpl1HY.js";
9
9
  const button = React__default.memo(function ButtonComponent(props) {
@@ -1,7 +1,7 @@
1
- import { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
4
- import { r as renderMarkupBody } from "./markupRenderer-B6J01HLY.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
+ import { r as renderMarkupBody } from "./markupRenderer-icutj8J7.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 { q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
4
- import { a as addCommasForCompositeRanges } from "./composites-Cx0wNF92.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
+ import { a as addCommasForCompositeRanges } from "./composites-BlNjYwV0.js";
5
5
  import { c as cellInlinePadding } from "./tabularCellPadding-BFCU20f_.js";
6
6
  const cell = React__default.memo(function Cell(props) {
7
7
  let { id, SVs, children } = useDoenetRenderer(props);
@@ -1,8 +1,8 @@
1
- import { J as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { J as useRecordVisibilityChanges, q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
4
- import GraphFrame from "./GraphFrame-YziTbDEl.js";
5
- import Prefigure from "./prefigure-MGwinPuK.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
+ import GraphFrame from "./GraphFrame-BHsOAC3Y.js";
5
+ import Prefigure from "./prefigure-BSEwUjBV.js";
6
6
  const chart = React__default.memo(function Chart(props) {
7
7
  const { id, SVs, actions, callAction } = useDoenetRenderer(props);
8
8
  const containerRef = useRef(null);
@@ -1,17 +1,17 @@
1
- import { aV as autoUpdate, u as useT, I as useContentT, E as DocContext, q as jsxRuntimeExports, aW as CANVAS_DARK_MODE_COLOR, Y as MathJax } from "./doenetml-LIgc-PTu.js";
1
+ import { aV as autoUpdate, u as useT, I as useContentT, E as DocContext, q as jsxRuntimeExports, aW as CANVAS_DARK_MODE_COLOR, Y as MathJax } from "./doenetml-Bn3GaeE6.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-DmFTd_Ja.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.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, w as wantsFullCheckWorkButton, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-BwjIPpOQ.js";
8
- import { D as DescriptionPopover } from "./Description-CVJCJ1e3.js";
9
- import { u as useRenderedLabel } from "./inputLabel-o9DSU9gq.js";
7
+ import { c as calculateValidationState, u as useSubmitActionWithDelay, w as wantsFullCheckWorkButton, a as createCheckWorkComponent } from "./useSubmitActionWithDelay-C32eqD1x.js";
8
+ import { D as DescriptionPopover } from "./Description-BVTOgafW.js";
9
+ import { u as useRenderedLabel } from "./inputLabel-C1hmH0Vm.js";
10
10
  import { a as addValidationStateToShortDescription } from "./validationState-DI_lxk1a.js";
11
11
  import { a as getBlockMarginWithOptionalTopSuppression } from "./nonInlineMediaLayout-CkXHaqzo.js";
12
- import { b as useInMathSlot, c as useMathSlotEditing } from "./mathInputSlots-ggR1C1rY.js";
12
+ import { b as useInMathSlot, c as useMathSlotEditing } from "./mathInputSlots-UBtj7Ff1.js";
13
13
  import { u as useMathJaxOutOfTabOrder } from "./useMathJaxOutOfTabOrder-C0wsYqBF.js";
14
- import { N as NoClickTargetContext } from "./ClickTarget-6Rowvo-I.js";
14
+ import { N as NoClickTargetContext } from "./ClickTarget-B_XSWivV.js";
15
15
  function _typeof(o) {
16
16
  "@babel/helpers - typeof";
17
17
  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
@@ -1,17 +1,17 @@
1
- import { E as DocContext, q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { E as DocContext, q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.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-DfmPbuQ_.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
5
- import { B as BoardContext, P as POINT_LAYER_OFFSET, L as LINE_LAYER_OFFSET } from "./graph-CPr5lJk-.js";
6
- import { c as characterizeOffGraphPoint, a as characterizeOffGraphCircleArc } from "./offGraphIndicators-KYJwMZUg.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-B0Exuxq-.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
5
+ import { B as BoardContext, P as POINT_LAYER_OFFSET, L as LINE_LAYER_OFFSET } from "./graph-DVc1gP-A.js";
6
+ import { u as useRerenderOnBoundingBoxChange, c as characterizeOffGraphPoint, a as characterizeOffGraphCircleArc } from "./useRerenderOnBoundingBoxChange-DbvvItwW.js";
7
7
  import { n as normalizePointStyle, a as normalizePointSize, b as adjustPointLabelPosition, c as calculatePointLabelAnchor, g as getEffectiveBoundingBox, d as getGraphCornerWithBuffer } from "./graph-CfMpl1HY.js";
8
- import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-CSWOYuaO.js";
8
+ import { u as useSourceNavigation, a as attachLineFamilyDragHandlers } from "./lineFamilyDragHandlers-uwYNoAxP.js";
9
9
  import { u as usePointerDragState, a as useBoardPointerTracking } from "./gestureId-CKrHulGi.js";
10
10
  import { p as pointerEventToUserCoords } from "./dragThreshold-Di28Kyev.js";
11
11
  import { a as resolveLineColor, r as resolveFillColor, c as resolveMarkerColor, b as resolveCanvasColor } from "./styleColors-BrCvjxze.js";
12
12
  import { s as styleToDash } from "./styleToDash-DWb71gbd.js";
13
13
  import { b as buildFilledShapeAttributes } from "./buildGraphicalAttributes-B_soifR-.js";
14
- import { g as getPatternFillAttributes } from "./fillPatterns-ik-Mye3W.js";
14
+ import { g as getPatternFillAttributes } from "./fillPatterns-BsfwziOU.js";
15
15
  import { u as useDraggableRefs } from "./useDraggableRefs-QaTfkVuD.js";
16
16
  import { u as useJSXGraphCleanup } from "./useJSXGraphCleanup-BNk4sn6x.js";
17
17
  const circle = React__default.memo(function Circle(props) {
@@ -44,6 +44,22 @@ const circle = React__default.memo(function Circle(props) {
44
44
  const { darkMode } = useContext(DocContext) || {};
45
45
  const sourceNavigation = useSourceNavigation(id);
46
46
  useBoardPointerTracking(board, dragState);
47
+ useRerenderOnBoundingBoxChange(board, () => {
48
+ if (!board) {
49
+ return false;
50
+ }
51
+ const placement = placeCircleOffGraphIndicator(
52
+ SVs.numericalCenter,
53
+ SVs.numericalRadius,
54
+ board,
55
+ SVs.hideOffGraphIndicator
56
+ );
57
+ return placement.displayOffGraphIndicator !== displayOffGraphIndicator.current || placement.offGraphIndicatorOrientation.some(
58
+ (v, i) => v !== offGraphIndicatorOrientation.current?.[i]
59
+ ) || placement.offGraphIndicatorCoords.some(
60
+ (v, i) => !Object.is(v, offGraphIndicatorCoords.current?.[i])
61
+ );
62
+ });
47
63
  useJSXGraphCleanup({
48
64
  objectRef: circleJXG,
49
65
  destroy: () => deleteCircleJXG()
@@ -330,177 +346,15 @@ const circle = React__default.memo(function Circle(props) {
330
346
  }
331
347
  if (board) {
332
348
  lastCenterFromCore.current = [...SVs.numericalCenter];
333
- displayOffGraphIndicator.current = false;
334
- offGraphIndicatorOrientation.current = [0, 0];
335
- offGraphIndicatorCoords.current = [0, 0];
336
- if (!SVs.hideOffGraphIndicator) {
337
- let centerOffResults = characterizeOffGraphPoint(
338
- lastCenterFromCore.current,
339
- board
340
- );
341
- if (centerOffResults.needIndicator) {
342
- if (!offGraphIndicatorCoords.current) {
343
- return;
344
- }
345
- let centerSides = centerOffResults.indicatorSides;
346
- let { flippedX, flippedY } = getEffectiveBoundingBox(board);
347
- let xSign = flippedX ? -1 : 1;
348
- let ySign = flippedY ? -1 : 1;
349
- if (centerSides[0] === 1) {
350
- if (centerSides[1] === 1) {
351
- let lowerLeftPoint = [...lastCenterFromCore.current];
352
- lowerLeftPoint[0] -= SVs.numericalRadius * xSign;
353
- lowerLeftPoint[1] -= SVs.numericalRadius * ySign;
354
- let lowerLeftOffResults = characterizeOffGraphPoint(
355
- lowerLeftPoint,
356
- board
357
- );
358
- if (lowerLeftOffResults.needIndicator) {
359
- displayOffGraphIndicator.current = true;
360
- offGraphIndicatorOrientation.current = [1, 1];
361
- offGraphIndicatorCoords.current = getGraphCornerWithBuffer(board, [1, 1]);
362
- } else {
363
- let arcResults = characterizeOffGraphCircleArc({
364
- center: SVs.numericalCenter,
365
- radius: SVs.numericalRadius,
366
- directionToCheck: [1, 1],
367
- board
368
- });
369
- if (arcResults.needIndicator) {
370
- displayOffGraphIndicator.current = true;
371
- offGraphIndicatorOrientation.current = arcResults.indicatorSides;
372
- offGraphIndicatorCoords.current = arcResults.indicatorCoords;
373
- }
374
- }
375
- } else if (centerSides[1] === -1) {
376
- let upperLeftPoint = [...lastCenterFromCore.current];
377
- upperLeftPoint[0] -= SVs.numericalRadius * xSign;
378
- upperLeftPoint[1] += SVs.numericalRadius * ySign;
379
- let upperLeftOffResults = characterizeOffGraphPoint(
380
- upperLeftPoint,
381
- board
382
- );
383
- if (upperLeftOffResults.needIndicator) {
384
- displayOffGraphIndicator.current = true;
385
- offGraphIndicatorOrientation.current = [1, -1];
386
- offGraphIndicatorCoords.current = getGraphCornerWithBuffer(board, [1, -1]);
387
- } else {
388
- let arcResults = characterizeOffGraphCircleArc({
389
- center: SVs.numericalCenter,
390
- radius: SVs.numericalRadius,
391
- directionToCheck: [1, -1],
392
- board
393
- });
394
- if (arcResults.needIndicator) {
395
- displayOffGraphIndicator.current = true;
396
- offGraphIndicatorOrientation.current = arcResults.indicatorSides;
397
- offGraphIndicatorCoords.current = arcResults.indicatorCoords;
398
- }
399
- }
400
- } else {
401
- let leftPoint = [...lastCenterFromCore.current];
402
- leftPoint[0] -= SVs.numericalRadius * xSign;
403
- let leftOffResults = characterizeOffGraphPoint(
404
- leftPoint,
405
- board
406
- );
407
- if (leftOffResults.needIndicator) {
408
- displayOffGraphIndicator.current = true;
409
- offGraphIndicatorOrientation.current = leftOffResults.indicatorSides;
410
- offGraphIndicatorCoords.current = leftOffResults.indicatorCoords;
411
- }
412
- }
413
- } else if (centerSides[0] === -1) {
414
- if (centerSides[1] === 1) {
415
- let lowerRightPoint = [...lastCenterFromCore.current];
416
- lowerRightPoint[0] += SVs.numericalRadius * xSign;
417
- lowerRightPoint[1] -= SVs.numericalRadius * ySign;
418
- let lowerRightOffResults = characterizeOffGraphPoint(
419
- lowerRightPoint,
420
- board
421
- );
422
- if (lowerRightOffResults.needIndicator) {
423
- displayOffGraphIndicator.current = true;
424
- offGraphIndicatorOrientation.current = [-1, 1];
425
- offGraphIndicatorCoords.current = getGraphCornerWithBuffer(board, [-1, 1]);
426
- } else {
427
- let arcResults = characterizeOffGraphCircleArc({
428
- center: SVs.numericalCenter,
429
- radius: SVs.numericalRadius,
430
- directionToCheck: [-1, 1],
431
- board
432
- });
433
- if (arcResults.needIndicator) {
434
- displayOffGraphIndicator.current = true;
435
- offGraphIndicatorOrientation.current = arcResults.indicatorSides;
436
- offGraphIndicatorCoords.current = arcResults.indicatorCoords;
437
- }
438
- }
439
- } else if (centerSides[1] === -1) {
440
- let upperRightPoint = [...lastCenterFromCore.current];
441
- upperRightPoint[0] += SVs.numericalRadius * xSign;
442
- upperRightPoint[1] += SVs.numericalRadius * ySign;
443
- let upperRightOffResults = characterizeOffGraphPoint(
444
- upperRightPoint,
445
- board
446
- );
447
- if (upperRightOffResults.needIndicator) {
448
- displayOffGraphIndicator.current = true;
449
- offGraphIndicatorOrientation.current = [-1, -1];
450
- offGraphIndicatorCoords.current = getGraphCornerWithBuffer(board, [-1, -1]);
451
- } else {
452
- let arcResults = characterizeOffGraphCircleArc({
453
- center: SVs.numericalCenter,
454
- radius: SVs.numericalRadius,
455
- directionToCheck: [-1, -1],
456
- board
457
- });
458
- if (arcResults.needIndicator) {
459
- displayOffGraphIndicator.current = true;
460
- offGraphIndicatorOrientation.current = arcResults.indicatorSides;
461
- offGraphIndicatorCoords.current = arcResults.indicatorCoords;
462
- }
463
- }
464
- } else {
465
- let rightPoint = [...lastCenterFromCore.current];
466
- rightPoint[0] += SVs.numericalRadius * xSign;
467
- let rightOffResults = characterizeOffGraphPoint(
468
- rightPoint,
469
- board
470
- );
471
- if (rightOffResults.needIndicator) {
472
- displayOffGraphIndicator.current = true;
473
- offGraphIndicatorOrientation.current = rightOffResults.indicatorSides;
474
- offGraphIndicatorCoords.current = rightOffResults.indicatorCoords;
475
- }
476
- }
477
- } else if (centerSides[1] === 1) {
478
- let bottomPoint = [...lastCenterFromCore.current];
479
- bottomPoint[1] -= SVs.numericalRadius * xSign;
480
- let bottomOffResults = characterizeOffGraphPoint(
481
- bottomPoint,
482
- board
483
- );
484
- if (bottomOffResults.needIndicator) {
485
- displayOffGraphIndicator.current = true;
486
- offGraphIndicatorOrientation.current = bottomOffResults.indicatorSides;
487
- offGraphIndicatorCoords.current = bottomOffResults.indicatorCoords;
488
- }
489
- } else {
490
- let topPoint = [...lastCenterFromCore.current];
491
- topPoint[1] += SVs.numericalRadius * xSign;
492
- let topOffResults = characterizeOffGraphPoint(
493
- topPoint,
494
- board
495
- );
496
- if (topOffResults.needIndicator) {
497
- displayOffGraphIndicator.current = true;
498
- offGraphIndicatorOrientation.current = topOffResults.indicatorSides;
499
- offGraphIndicatorCoords.current = topOffResults.indicatorCoords;
500
- }
501
- }
502
- }
503
- }
349
+ const placement = placeCircleOffGraphIndicator(
350
+ SVs.numericalCenter,
351
+ SVs.numericalRadius,
352
+ board,
353
+ SVs.hideOffGraphIndicator
354
+ );
355
+ displayOffGraphIndicator.current = placement.displayOffGraphIndicator;
356
+ offGraphIndicatorOrientation.current = placement.offGraphIndicatorOrientation;
357
+ offGraphIndicatorCoords.current = placement.offGraphIndicatorCoords;
504
358
  if (!circleJXG.current) {
505
359
  createCircleJXG();
506
360
  } else if (!(Number.isFinite(SVs.numericalCenter[0]) && Number.isFinite(SVs.numericalCenter[1]) && SVs.numericalRadius > 0)) {
@@ -659,6 +513,63 @@ const circle = React__default.memo(function Circle(props) {
659
513
  }
660
514
  return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { id });
661
515
  });
516
+ function placeCircleOffGraphIndicator(center, radius, board, hideOffGraphIndicator) {
517
+ const noIndicator = {
518
+ displayOffGraphIndicator: false,
519
+ offGraphIndicatorOrientation: [0, 0],
520
+ offGraphIndicatorCoords: [0, 0]
521
+ };
522
+ if (hideOffGraphIndicator) {
523
+ return noIndicator;
524
+ }
525
+ const centerOffResults = characterizeOffGraphPoint(center, board);
526
+ if (!centerOffResults.needIndicator) {
527
+ return noIndicator;
528
+ }
529
+ const centerSides = centerOffResults.indicatorSides;
530
+ const { flippedX, flippedY } = getEffectiveBoundingBox(board);
531
+ const xSign = flippedX ? -1 : 1;
532
+ const ySign = flippedY ? -1 : 1;
533
+ const nearestPoint = [
534
+ center[0] - centerSides[0] * xSign * radius,
535
+ center[1] - centerSides[1] * ySign * radius
536
+ ];
537
+ const nearestOffResults = characterizeOffGraphPoint(nearestPoint, board);
538
+ if (centerSides[0] === 0 || centerSides[1] === 0) {
539
+ if (!nearestOffResults.needIndicator) {
540
+ return noIndicator;
541
+ }
542
+ return {
543
+ displayOffGraphIndicator: true,
544
+ offGraphIndicatorOrientation: nearestOffResults.indicatorSides,
545
+ offGraphIndicatorCoords: nearestOffResults.indicatorCoords
546
+ };
547
+ }
548
+ if (nearestOffResults.needIndicator) {
549
+ return {
550
+ displayOffGraphIndicator: true,
551
+ offGraphIndicatorOrientation: centerSides,
552
+ offGraphIndicatorCoords: getGraphCornerWithBuffer(
553
+ board,
554
+ centerSides
555
+ )
556
+ };
557
+ }
558
+ const arcResults = characterizeOffGraphCircleArc({
559
+ center,
560
+ radius,
561
+ directionToCheck: centerSides,
562
+ board
563
+ });
564
+ if (!arcResults.needIndicator) {
565
+ return noIndicator;
566
+ }
567
+ return {
568
+ displayOffGraphIndicator: true,
569
+ offGraphIndicatorOrientation: arcResults.indicatorSides,
570
+ offGraphIndicatorCoords: arcResults.indicatorCoords
571
+ };
572
+ }
662
573
  export {
663
574
  circle as default
664
575
  };
@@ -1,8 +1,8 @@
1
- import { K as createFunctionFromDefinition, q as jsxRuntimeExports } from "./doenetml-LIgc-PTu.js";
1
+ import { K as createFunctionFromDefinition, q as jsxRuntimeExports } from "./doenetml-Bn3GaeE6.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-DfmPbuQ_.js";
4
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
5
- import { B as BoardContext, L as LINE_LAYER_OFFSET, V as VERTEX_LAYER_OFFSET } from "./graph-CPr5lJk-.js";
3
+ import { j as jxg, b as syncLabelMaskCssStyle, c as computeLabelMaskCssStyle, d as attachLabelHoverHighlight } from "./JSXGraphRenderer-B0Exuxq-.js";
4
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
5
+ import { B as BoardContext, L as LINE_LAYER_OFFSET, V as VERTEX_LAYER_OFFSET } from "./graph-DVc1gP-A.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 { E as DocContext, q as jsxRuntimeExports, ak as EditorViewerLazy } from "./doenetml-LIgc-PTu.js";
1
+ import { E as DocContext, q as jsxRuntimeExports, ak as EditorViewerLazy } from "./doenetml-Bn3GaeE6.js";
2
2
  import React__default, { useState, useEffect, useContext, useRef } from "react";
3
- import { u as useDoenetRenderer } from "./useDoenetRenderer-DmFTd_Ja.js";
3
+ import { u as useDoenetRenderer } from "./useDoenetRenderer-C0wr-z3_.js";
4
4
  import { s as sizeToCSS } from "./css-BJLDLYRJ.js";
5
5
  function resolveElements(elementOrSelector, scope, selectorCache) {
6
6
  if (elementOrSelector == null) {