@pie-element/graphing-solution-set 7.0.1-next.20261004162038 → 7.0.1-next.20261004165705

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.
@@ -251,6 +251,8 @@ var b = class e extends CustomEvent {
251
251
  } else if (t.length !== 2) return !1;
252
252
  else return !t[1].building;
253
253
  }, ae = (e) => e ? (e || []).filter(({ type: e, ...t }) => x[e] ? x[e](t) : !1) : [], I = /* @__PURE__ */ e(d(), 1), L = ({ bgFill: e, fgFill: t }) => /* @__PURE__ */ y("svg", {
254
+ "aria-hidden": "true",
255
+ focusable: "false",
254
256
  preserveAspectRatio: "xMinYMin meet",
255
257
  version: "1.1",
256
258
  viewBox: "-283 359 34 35",
@@ -277,6 +279,8 @@ L.propTypes = {
277
279
  fgFill: I.default.string.isRequired
278
280
  };
279
281
  var R = ({ bgFill: e, fgFill: t, borderFill: n }) => /* @__PURE__ */ y("svg", {
282
+ "aria-hidden": "true",
283
+ focusable: "false",
280
284
  preserveAspectRatio: "xMinYMin meet",
281
285
  version: "1.1",
282
286
  viewBox: "-129.5 127 34 35",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../shared/player-events/dist/index.js","../../../src/delivery/utils.ts","../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../src/delivery/main.tsx","../../../src/delivery/index.ts"],"sourcesContent":["//#region src/session-notifier.ts\nvar e = \"commitPendingSession\", t = /* @__PURE__ */ new WeakMap();\nfunction n(e, n) {\n\tlet r = t.get(e);\n\tr || (r = /* @__PURE__ */ new Set(), t.set(e, r)), r.add(n);\n}\nfunction r(t) {\n\treturn Object.getOwnPropertyDescriptor(t, e) !== void 0;\n}\nfunction i(t) {\n\tif (r(t)) return;\n\tlet n = t[e];\n\tObject.defineProperty(t, e, {\n\t\tvalue: () => {\n\t\t\tif (typeof n == \"function\") try {\n\t\t\t\tn.call(t);\n\t\t\t} catch {}\n\t\t\to(t);\n\t\t},\n\t\tconfigurable: !0,\n\t\tenumerable: !1,\n\t\twritable: !0\n\t});\n}\nfunction a(e, t, r = {}) {\n\tlet a = r.delayMs, o = typeof a == \"function\" ? a : () => a ?? 0, s = r.maxWaitMs, c = null, l = null, u = !1, d = () => {\n\t\tc !== null && (clearTimeout(c), c = null), l !== null && (clearTimeout(l), l = null);\n\t}, f = () => {\n\t\td(), u && (u = !1, t());\n\t}, p = {\n\t\tnotify() {\n\t\t\tu = !0, c !== null && clearTimeout(c), c = setTimeout(f, Math.max(0, o())), s !== void 0 && l === null && (l = setTimeout(f, Math.max(0, s)));\n\t\t},\n\t\tflush() {\n\t\t\tif (!u) {\n\t\t\t\td();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tf();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\"[session-notifier] a committed session-changed dispatch threw\", e);\n\t\t\t}\n\t\t}\n\t};\n\treturn n(e, p), i(e), p;\n}\nfunction o(e) {\n\tlet n = t.get(e);\n\tif (n) for (let e of [...n]) e.flush();\n}\n//#endregion\n//#region src/index.ts\nvar s = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, c = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { s as ModelSetEvent, e as SESSION_COMMIT_METHOD, c as SessionChangedEvent, a as createSessionNotifier, o as flushSessionNotifiers };\n","// @ts-nocheck\n\n/*\n * Check if a line is complete\n * @param {Object} item - mark object\n * */\nconst completeFromTo = (item) => item && completeMark.point(item.from) && completeMark.point(item.to);\n\n/*\n * Check if a point is correct and complete\n * @param {Object} point - point object\n * */\nconst completePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y);\n\n/*\n * Complete mark object for line and point\n * */\nconst completeMark = {\n line: completeFromTo,\n point: completePoint,\n};\n\n//////////////////////////////////////////////////////////////////////////////////\n// BELOW FUNCTIONS ARE USED IN configure/src/utils as well\n//////////////////////////////////////////////////////////////////////////////////\n\n/*\n * Function to calculate the distance between two points\n * @param {Object} a - point a\n * @param {Object} b - point b\n * */\nconst distance = (a, b) => {\n return Number(Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2).toFixed(3));\n};\n\n/*\n * Function to check if a point lies on edges of a polygon\n * @param {Object} point - point object\n * @param {Array} polygon - polygon points array\n * */\nconst pointInPolygon = (point, polygon) => {\n let c = point;\n let inside = false;\n let clonePolygon = [...polygon];\n clonePolygon.push(polygon[0]);\n for (let i = 0; i < clonePolygon.length - 1; i++) {\n let a = clonePolygon[i];\n let b = clonePolygon[i + 1];\n // check if point is on the edge\n if (distance(a, c) + distance(c, b) === distance(a, b)) {\n inside = true;\n break;\n }\n }\n return inside;\n};\n\n/*\n * Function to get the intersection point of two lines\n * @param {Number} x1 - x coordinate of point 1 of line 1\n * @param {Number} y1 - y coordinate of point 1 of line 1\n * @param {Number} x2 - x coordinate of point 2 of line 1\n * @param {Number} y2 - y coordinate of point 2 of line 1\n * @param {Number} x3 - x coordinate of point 1 of line 2\n * @param {Number} y3 - y coordinate of point 1 of line 2\n * @param {Number} x4 - x coordinate of point 2 of line 2\n * @param {Number} y4 - y coordinate of point 2 of line 2\n * */\nconst lineIntersect = (x1, y1, x2, y2, x3, y3, x4, y4) => {\n let ua,\n denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n if (denominator === 0) {\n return null;\n }\n ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denominator;\n return {\n x: Number((x1 + ua * (x2 - x1)).toFixed(3)),\n y: Number((y1 + ua * (y2 - y1)).toFixed(3)),\n };\n};\n\n/*\n * Check if a point is inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointInsideGraph = (point, domain, range) => {\n return point.x > domain.min && point.x < domain.max && point.y > range.min && point.y < range.max;\n};\n\n/*\n * Check if a point is on or inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointOnOrInsideGraph = (point, domain, range) => {\n return point.x >= domain.min && point.x <= domain.max && point.y >= range.min && point.y <= range.max;\n};\n\n/*\n * Find the intersection point of a mark with the graph\n * @param {Object} mark - mark object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findIntersectionPointForMark = (mark, domain, range) => {\n let intersectionPoint = [];\n let tempData = [\n [domain.max, range.max, domain.max, range.min],\n [domain.min, range.max, domain.min, range.min],\n [domain.min, range.max, domain.max, range.max],\n [domain.min, range.min, domain.max, range.min],\n ];\n for (let i = 0; i < tempData.length; i++) {\n let intersection = lineIntersect(\n mark.from.x,\n mark.from.y,\n mark.to.x,\n mark.to.y,\n tempData[i][0],\n tempData[i][1],\n tempData[i][2],\n tempData[i][3],\n );\n if (intersection && isPointOnOrInsideGraph(intersection, domain, range)) {\n intersectionPoint.push(intersection);\n }\n }\n return intersectionPoint;\n};\n\n/*\n * Sort points in clockwise direction for a polygon\n * @param {Array} points - points array\n * */\nconst sortPointsClockWise = (points) => {\n // Find min max to get center and Sort from top to bottom\n points.sort((a, b) => a.y - b.y);\n // Get center y\n const cy = (points[0].y + points[points.length - 1].y) / 2;\n // Sort from right to left\n points.sort((a, b) => b.x - a.x);\n // Get center x\n const cx = (points[0].x + points[points.length - 1].x) / 2;\n // Center point\n const center = { x: cx, y: cy };\n // As the points are sorted from right to left the first point is the rightmost Starting angle used to reference other angles\n let startAng;\n points.forEach((point) => {\n let ang = Math.atan2(point.y - center.y, point.x - center.x);\n if (!startAng) {\n startAng = ang;\n } else {\n if (ang < startAng) {\n // ensure that all points are clockwise of the start point\n ang += Math.PI * 2;\n }\n }\n point.angle = ang; // add the angle to the point\n });\n // first sort clockwise\n points.sort((a, b) => a.angle - b.angle);\n // then reverse the order\n const ccwPoints = points.reverse();\n // move the last point back to the start\n ccwPoints.unshift(ccwPoints.pop());\n return ccwPoints.map(({ angle, ...attr }) => attr);\n};\n\n/*\n * Function to calculate the dot product of two vectors\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst dotProduct = (v1, v2) => {\n return v1.x * v2.x + v1.y * v2.y;\n};\n\n/*\n * Function to calculate the magnitude of a vector\n * @param {Object} v - point object\n * */\nconst magnitude = (v) => {\n return Math.sqrt(v.x * v.x + v.y * v.y);\n};\n\n/*\n * Function to calculate the angle between two vectors in radians\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst angleBetweenVectors = (v1, v2) => {\n const dot = dotProduct(v1, v2);\n const magV1 = magnitude(v1);\n const magV2 = magnitude(v2);\n // Ensure the dot product is within the domain of the acos function\n return Math.acos(dot / (magV1 * magV2));\n};\n\n/*\n * Function to check if a point lies between the angle formed by two lines\n * @param {Object} commonPoint - common point of the two lines\n * @param {Object} point1 - point 1 of cone\n * @param {Object} point2 - point 2 of cone\n * @param {Object} testPoint - point to be tested\n * */\nconst pointInAngle = (commonPoint, point1, point2, testPoint) => {\n const vector1 = { x: point1.x - commonPoint.x, y: point1.y - commonPoint.y };\n const vector2 = { x: point2.x - commonPoint.x, y: point2.y - commonPoint.y };\n const testVector = { x: testPoint.x - commonPoint.x, y: testPoint.y - commonPoint.y };\n const angle1 = angleBetweenVectors(vector1, testVector);\n const angle2 = angleBetweenVectors(vector2, testVector);\n const angleSum = angle1 + angle2;\n // Check if the sum of angles is approximately equal to the angle between the two lines\n // You may need to adjust the tolerance (e.g., 0.0001) based on your specific requirements\n const tolerance = 0.0001;\n return Math.abs(angleSum - angleBetweenVectors(vector1, vector2)) < tolerance;\n};\n\n/*\n * Function to remove duplicate points from an array\n * @param {Array} array - array of points\n * */\nconst removeDuplicatesFromArray = (array) => {\n return array.filter((obj, index) => {\n return index === array.findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n};\n\n/*\n * Function to remove duplicate points and filter sections\n * @param {Array} sections - array of sections\n * */\nconst removeDuplicateAndFilterSections = (sections) => {\n //removing duplicate points.\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sections[i].filter((obj, index) => {\n return index === sections[i].findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n }\n //removing arrays with two points\n sections = sections.filter((section) => section.length > 2);\n //sorting the points in clockwise direction\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sortPointsClockWise(sections[i]);\n }\n return sections;\n};\n\n/*\n * Function to find sections in solution set for one line\n * @param {Array} intersectionPoint - intersection point\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForOneLine = (intersectionPoint, domain, range) => {\n let sections = [];\n sections.push([].concat(intersectionPoint));\n sections.push([].concat(intersectionPoint));\n if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.max }, { x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.max }, { x: domain.max, y: range.min }, { x: domain.min, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max }, { x: domain.min, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.max, y: range.min });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].x === domain.max) ||\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].x === domain.min)\n ) {\n sections[0].push({ x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].y === range.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[0].y === range.max && intersectionPoint[1].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max });\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set for two lines\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForTwoLines = (gssLineData, answers, domain, range) => {\n let mark1 = answers[0];\n let mark2 = answers[1];\n let cornerPoints = [\n { x: domain.min, y: range.min },\n { x: domain.min, y: range.max },\n { x: domain.max, y: range.min },\n { x: domain.max, y: range.max },\n ];\n let intersectPoint = lineIntersect(\n mark1.from.x,\n mark1.from.y,\n mark1.to.x,\n mark1.to.y,\n mark2.from.x,\n mark2.from.y,\n mark2.to.x,\n mark2.to.y,\n );\n let sections = [];\n let intersectionPoint1 = findIntersectionPointForMark(mark1, domain, range);\n intersectionPoint1 = removeDuplicatesFromArray(intersectionPoint1);\n let intersectionPoint2 = findIntersectionPointForMark(mark2, domain, range);\n intersectionPoint2 = removeDuplicatesFromArray(intersectionPoint2);\n if (intersectPoint && isPointInsideGraph(intersectPoint, domain, range)) {\n for (let i = 0; i < intersectionPoint1.length; i++) {\n for (let j = 0; j < intersectionPoint2.length; j++) {\n let bucket = [];\n let newCornerPoints = [];\n bucket.push(intersectPoint);\n bucket.push(intersectionPoint1[i]);\n bucket.push(intersectionPoint2[j]);\n for (let k = 0; k < cornerPoints.length; k++) {\n if (pointInAngle(intersectPoint, intersectionPoint1[i], intersectionPoint2[j], cornerPoints[k])) {\n bucket.push(cornerPoints[k]);\n } else {\n newCornerPoints.push(cornerPoints[k]);\n }\n }\n cornerPoints = newCornerPoints;\n sections.push(bucket);\n }\n }\n } else {\n let sections1 = findSectionsInSolutionSetForOneLine(intersectionPoint1, domain, range);\n let sections2 = findSectionsInSolutionSetForOneLine(intersectionPoint2, domain, range);\n for (let i = 0; i < sections1.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint2[0], sections1[i]) && pointInPolygon(intersectionPoint2[1], sections1[i]))\n ) {\n sections.push(sections1[i]);\n }\n }\n for (let i = 0; i < sections2.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint1[0], sections2[i]) && pointInPolygon(intersectionPoint1[1], sections2[i]))\n ) {\n sections.push(sections2[i]);\n }\n }\n for (let i = 0; i < sections.length; i++) {\n cornerPoints = cornerPoints.filter(function (o1) {\n return !sections[i].some(function (o2) {\n return o1.x === o2.x && o1.y === o2.y;\n });\n });\n }\n let sections3 = cornerPoints.concat(intersectionPoint1, intersectionPoint2);\n sections.push(sections3);\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nexport const findSectionsInSolutionSet = (gssLineData, answers, domain, range) => {\n if (gssLineData.numberOfLines === 1) {\n const intersectionPoint = findIntersectionPointForMark(answers[0], domain, range);\n gssLineData.sections = findSectionsInSolutionSetForOneLine(intersectionPoint, domain, range);\n } else {\n gssLineData.sections = findSectionsInSolutionSetForTwoLines(gssLineData, answers, domain, range);\n }\n return gssLineData;\n};\n\n/*\n * Function to check if a point is inside a polygon\n * @param {Object} point - point to be checked\n * @param {Array} polygon - polygon points array\n * */\nexport const pointInsidePolygon = (point, polygon) => {\n const num_vertices = polygon.length;\n const x = point.x;\n const y = point.y;\n let inside = false;\n let p1 = polygon[0];\n let p2;\n for (let i = 1; i <= num_vertices; i++) {\n p2 = polygon[i % num_vertices];\n if (y > Math.min(p1.y, p2.y)) {\n if (y <= Math.max(p1.y, p2.y)) {\n if (x <= Math.max(p1.x, p2.x)) {\n const x_intersection = ((y - p1.y) * (p2.x - p1.x)) / (p2.y - p1.y) + p1.x;\n if (p1.x === p2.x || x <= x_intersection) {\n inside = !inside;\n }\n }\n }\n }\n p1 = p2;\n }\n return inside;\n};\n\n/*\n * Function to check if lines are added in the graph\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answer - answer array\n * */\nexport const checkIfLinesAreAdded = (gssLineData, answer) => {\n if (answer.length === 0) {\n return false;\n }\n if (gssLineData.numberOfLines === 1) {\n if (answer.length === 1) {\n return !answer[0].building;\n }\n } else {\n if (answer.length !== 2) {\n return false;\n } else {\n return !answer[1].building;\n }\n }\n};\n\n/*\n * Function to remove invalid answers\n * @param {Array} answers - answers array\n * */\nexport const removeInvalidAnswers = (answers) =>\n answers\n ? (answers || []).filter(({ type, ...answer }) => (completeMark[type] ? completeMark[type](answer) : false))\n : [];\n","import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer } from '@pie-lib/graphing-solution-set';\nimport { color, Collapsible as CollapsibleImport, hasText, hasMedia, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils.js';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nconst MainContainer: any = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst TeacherInstructions: any = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Graph: any = styled(GraphContainer)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n state = {\n showingCorrect: false,\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the AlertDialog\n * @param {boolean} open - open state of the dialog\n * @param {function} callback - callback function to be called after setting the state\n * */\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n /*\n * Function to toggle the correct answer\n * @param {boolean} showingCorrect - state of the correct answer\n * */\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n /*\n * Reset the graph to original state\n * */\n onResetClick: any = () => {\n const { model, session, setGssData } = this.props;\n let { gssData } = model;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `This will remove all the elements added on the graph and reset graph to original state. Are you sure you want to continue?`,\n onConfirm: () => {\n // Reset the graph to original state\n session.answer = [];\n gssData.selectedTool = 'lineA';\n gssData.lineA.lineType = 'Solid';\n if (gssData.lineB) gssData.lineB.lineType = 'Solid';\n // Set the gssData and session\n setGssData(gssData, session);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to handle the event of solution set selected\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected: any = (point) => {\n const { model, session, setGssData } = this.props;\n const { gssData, disabled } = model;\n if (disabled) {\n return;\n }\n for (const section of gssData.sections) {\n if (pointInsidePolygon(point, section)) {\n let polygon = {\n points: section,\n building: false,\n type: 'polygon',\n closed: true,\n isSolution: true,\n };\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n session.answer.push(polygon);\n break;\n }\n }\n setGssData(gssData, session);\n };\n\n /*\n * Function to handle the event of change in GSS Line Data\n * @param {object} gssData - GSS Line Data\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData: any = (gssData, oldSelectedTool) => {\n const { model, session } = this.props;\n const { domain, range, disabled } = model;\n if (disabled) {\n return;\n }\n if (gssData.selectedTool === 'solutionSet') {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssData, lines)) {\n gssData.selectedTool = oldSelectedTool;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please define the line(s) and then select a solution set for the item.',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n gssData = findSectionsInSolutionSet(gssData, lines, domain, range);\n }\n this.handleGssDataChange(gssData, session);\n } else {\n let polygons = session.answer.filter((mark) => mark.type === 'polygon');\n if (oldSelectedTool === 'solutionSet' && polygons.length > 0) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing a line after adding a solution set will clear your selected solution set. Click \\'Clear Solution Set\\' to change the line. Otherwise, click \\'Cancel\\'.',\n onConfirm: () => {\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssData.selectedTool = oldSelectedTool;\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssDataChange(gssData, session);\n }\n }\n };\n\n /*\n * Function to handle the event of change in GSS Data\n * @param {object} gssData - GSS Data\n * @param {object} session - session data\n * */\n handleGssDataChange: any = (gssData, session) => {\n const { setGssData } = this.props;\n if (session.answer && session.answer.length > 0 && session.answer[0] && gssData.lineA) {\n session.answer[0].fill = gssData.lineA.lineType;\n }\n if (session.answer && session.answer.length > 1 && session.answer[1] && gssData.lineB) {\n session.answer[1].fill = gssData.lineB.lineType;\n }\n if (\n (gssData.selectedTool === 'lineB' && session.answer.length === 0) ||\n (gssData.selectedTool === 'lineB' && session.answer[0].building)\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line A to the graph before adding Line B',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineA';\n }\n if (gssData.selectedTool === 'lineA' && session.answer.length > 1 && session.answer[1].building) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line B to the graph before switching to Line A',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineB';\n }\n setGssData(gssData, session);\n };\n\n /*\n * Render the component\n * */\n render() {\n const { model, onAnswersChange, session } = this.props;\n const { showingCorrect, dialog } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n size,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n language,\n gssLineData,\n gssData,\n } = model || {};\n const marks = answersCorrected || answer || [];\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n return (\n <MainContainer extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <TeacherInstructions\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n {showingCorrect && showToggle ? (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n ) : (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n )}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n onConfirmText={dialog.onConfirmText ? dialog.onConfirmText : 'OK'}\n />\n </MainContainer>\n );\n }\n}\n\nexport default Main;\n","// @ts-nocheck\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils.js';\nimport Main from './main.js';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers: any = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData: any = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../shared/player-events/dist/index.js","../../../src/delivery/utils.ts","../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../src/delivery/main.tsx","../../../src/delivery/index.ts"],"sourcesContent":["//#region src/session-notifier.ts\nvar e = \"commitPendingSession\", t = /* @__PURE__ */ new WeakMap();\nfunction n(e, n) {\n\tlet r = t.get(e);\n\tr || (r = /* @__PURE__ */ new Set(), t.set(e, r)), r.add(n);\n}\nfunction r(t) {\n\treturn Object.getOwnPropertyDescriptor(t, e) !== void 0;\n}\nfunction i(t) {\n\tif (r(t)) return;\n\tlet n = t[e];\n\tObject.defineProperty(t, e, {\n\t\tvalue: () => {\n\t\t\tif (typeof n == \"function\") try {\n\t\t\t\tn.call(t);\n\t\t\t} catch {}\n\t\t\to(t);\n\t\t},\n\t\tconfigurable: !0,\n\t\tenumerable: !1,\n\t\twritable: !0\n\t});\n}\nfunction a(e, t, r = {}) {\n\tlet a = r.delayMs, o = typeof a == \"function\" ? a : () => a ?? 0, s = r.maxWaitMs, c = null, l = null, u = !1, d = () => {\n\t\tc !== null && (clearTimeout(c), c = null), l !== null && (clearTimeout(l), l = null);\n\t}, f = () => {\n\t\td(), u && (u = !1, t());\n\t}, p = {\n\t\tnotify() {\n\t\t\tu = !0, c !== null && clearTimeout(c), c = setTimeout(f, Math.max(0, o())), s !== void 0 && l === null && (l = setTimeout(f, Math.max(0, s)));\n\t\t},\n\t\tflush() {\n\t\t\tif (!u) {\n\t\t\t\td();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tf();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\"[session-notifier] a committed session-changed dispatch threw\", e);\n\t\t\t}\n\t\t}\n\t};\n\treturn n(e, p), i(e), p;\n}\nfunction o(e) {\n\tlet n = t.get(e);\n\tif (n) for (let e of [...n]) e.flush();\n}\n//#endregion\n//#region src/index.ts\nvar s = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, c = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { s as ModelSetEvent, e as SESSION_COMMIT_METHOD, c as SessionChangedEvent, a as createSessionNotifier, o as flushSessionNotifiers };\n","// @ts-nocheck\n\n/*\n * Check if a line is complete\n * @param {Object} item - mark object\n * */\nconst completeFromTo = (item) => item && completeMark.point(item.from) && completeMark.point(item.to);\n\n/*\n * Check if a point is correct and complete\n * @param {Object} point - point object\n * */\nconst completePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y);\n\n/*\n * Complete mark object for line and point\n * */\nconst completeMark = {\n line: completeFromTo,\n point: completePoint,\n};\n\n//////////////////////////////////////////////////////////////////////////////////\n// BELOW FUNCTIONS ARE USED IN configure/src/utils as well\n//////////////////////////////////////////////////////////////////////////////////\n\n/*\n * Function to calculate the distance between two points\n * @param {Object} a - point a\n * @param {Object} b - point b\n * */\nconst distance = (a, b) => {\n return Number(Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2).toFixed(3));\n};\n\n/*\n * Function to check if a point lies on edges of a polygon\n * @param {Object} point - point object\n * @param {Array} polygon - polygon points array\n * */\nconst pointInPolygon = (point, polygon) => {\n let c = point;\n let inside = false;\n let clonePolygon = [...polygon];\n clonePolygon.push(polygon[0]);\n for (let i = 0; i < clonePolygon.length - 1; i++) {\n let a = clonePolygon[i];\n let b = clonePolygon[i + 1];\n // check if point is on the edge\n if (distance(a, c) + distance(c, b) === distance(a, b)) {\n inside = true;\n break;\n }\n }\n return inside;\n};\n\n/*\n * Function to get the intersection point of two lines\n * @param {Number} x1 - x coordinate of point 1 of line 1\n * @param {Number} y1 - y coordinate of point 1 of line 1\n * @param {Number} x2 - x coordinate of point 2 of line 1\n * @param {Number} y2 - y coordinate of point 2 of line 1\n * @param {Number} x3 - x coordinate of point 1 of line 2\n * @param {Number} y3 - y coordinate of point 1 of line 2\n * @param {Number} x4 - x coordinate of point 2 of line 2\n * @param {Number} y4 - y coordinate of point 2 of line 2\n * */\nconst lineIntersect = (x1, y1, x2, y2, x3, y3, x4, y4) => {\n let ua,\n denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n if (denominator === 0) {\n return null;\n }\n ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denominator;\n return {\n x: Number((x1 + ua * (x2 - x1)).toFixed(3)),\n y: Number((y1 + ua * (y2 - y1)).toFixed(3)),\n };\n};\n\n/*\n * Check if a point is inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointInsideGraph = (point, domain, range) => {\n return point.x > domain.min && point.x < domain.max && point.y > range.min && point.y < range.max;\n};\n\n/*\n * Check if a point is on or inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointOnOrInsideGraph = (point, domain, range) => {\n return point.x >= domain.min && point.x <= domain.max && point.y >= range.min && point.y <= range.max;\n};\n\n/*\n * Find the intersection point of a mark with the graph\n * @param {Object} mark - mark object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findIntersectionPointForMark = (mark, domain, range) => {\n let intersectionPoint = [];\n let tempData = [\n [domain.max, range.max, domain.max, range.min],\n [domain.min, range.max, domain.min, range.min],\n [domain.min, range.max, domain.max, range.max],\n [domain.min, range.min, domain.max, range.min],\n ];\n for (let i = 0; i < tempData.length; i++) {\n let intersection = lineIntersect(\n mark.from.x,\n mark.from.y,\n mark.to.x,\n mark.to.y,\n tempData[i][0],\n tempData[i][1],\n tempData[i][2],\n tempData[i][3],\n );\n if (intersection && isPointOnOrInsideGraph(intersection, domain, range)) {\n intersectionPoint.push(intersection);\n }\n }\n return intersectionPoint;\n};\n\n/*\n * Sort points in clockwise direction for a polygon\n * @param {Array} points - points array\n * */\nconst sortPointsClockWise = (points) => {\n // Find min max to get center and Sort from top to bottom\n points.sort((a, b) => a.y - b.y);\n // Get center y\n const cy = (points[0].y + points[points.length - 1].y) / 2;\n // Sort from right to left\n points.sort((a, b) => b.x - a.x);\n // Get center x\n const cx = (points[0].x + points[points.length - 1].x) / 2;\n // Center point\n const center = { x: cx, y: cy };\n // As the points are sorted from right to left the first point is the rightmost Starting angle used to reference other angles\n let startAng;\n points.forEach((point) => {\n let ang = Math.atan2(point.y - center.y, point.x - center.x);\n if (!startAng) {\n startAng = ang;\n } else {\n if (ang < startAng) {\n // ensure that all points are clockwise of the start point\n ang += Math.PI * 2;\n }\n }\n point.angle = ang; // add the angle to the point\n });\n // first sort clockwise\n points.sort((a, b) => a.angle - b.angle);\n // then reverse the order\n const ccwPoints = points.reverse();\n // move the last point back to the start\n ccwPoints.unshift(ccwPoints.pop());\n return ccwPoints.map(({ angle, ...attr }) => attr);\n};\n\n/*\n * Function to calculate the dot product of two vectors\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst dotProduct = (v1, v2) => {\n return v1.x * v2.x + v1.y * v2.y;\n};\n\n/*\n * Function to calculate the magnitude of a vector\n * @param {Object} v - point object\n * */\nconst magnitude = (v) => {\n return Math.sqrt(v.x * v.x + v.y * v.y);\n};\n\n/*\n * Function to calculate the angle between two vectors in radians\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst angleBetweenVectors = (v1, v2) => {\n const dot = dotProduct(v1, v2);\n const magV1 = magnitude(v1);\n const magV2 = magnitude(v2);\n // Ensure the dot product is within the domain of the acos function\n return Math.acos(dot / (magV1 * magV2));\n};\n\n/*\n * Function to check if a point lies between the angle formed by two lines\n * @param {Object} commonPoint - common point of the two lines\n * @param {Object} point1 - point 1 of cone\n * @param {Object} point2 - point 2 of cone\n * @param {Object} testPoint - point to be tested\n * */\nconst pointInAngle = (commonPoint, point1, point2, testPoint) => {\n const vector1 = { x: point1.x - commonPoint.x, y: point1.y - commonPoint.y };\n const vector2 = { x: point2.x - commonPoint.x, y: point2.y - commonPoint.y };\n const testVector = { x: testPoint.x - commonPoint.x, y: testPoint.y - commonPoint.y };\n const angle1 = angleBetweenVectors(vector1, testVector);\n const angle2 = angleBetweenVectors(vector2, testVector);\n const angleSum = angle1 + angle2;\n // Check if the sum of angles is approximately equal to the angle between the two lines\n // You may need to adjust the tolerance (e.g., 0.0001) based on your specific requirements\n const tolerance = 0.0001;\n return Math.abs(angleSum - angleBetweenVectors(vector1, vector2)) < tolerance;\n};\n\n/*\n * Function to remove duplicate points from an array\n * @param {Array} array - array of points\n * */\nconst removeDuplicatesFromArray = (array) => {\n return array.filter((obj, index) => {\n return index === array.findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n};\n\n/*\n * Function to remove duplicate points and filter sections\n * @param {Array} sections - array of sections\n * */\nconst removeDuplicateAndFilterSections = (sections) => {\n //removing duplicate points.\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sections[i].filter((obj, index) => {\n return index === sections[i].findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n }\n //removing arrays with two points\n sections = sections.filter((section) => section.length > 2);\n //sorting the points in clockwise direction\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sortPointsClockWise(sections[i]);\n }\n return sections;\n};\n\n/*\n * Function to find sections in solution set for one line\n * @param {Array} intersectionPoint - intersection point\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForOneLine = (intersectionPoint, domain, range) => {\n let sections = [];\n sections.push([].concat(intersectionPoint));\n sections.push([].concat(intersectionPoint));\n if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.max }, { x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.max }, { x: domain.max, y: range.min }, { x: domain.min, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max }, { x: domain.min, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.max, y: range.min });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].x === domain.max) ||\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].x === domain.min)\n ) {\n sections[0].push({ x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].y === range.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[0].y === range.max && intersectionPoint[1].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max });\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set for two lines\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForTwoLines = (gssLineData, answers, domain, range) => {\n let mark1 = answers[0];\n let mark2 = answers[1];\n let cornerPoints = [\n { x: domain.min, y: range.min },\n { x: domain.min, y: range.max },\n { x: domain.max, y: range.min },\n { x: domain.max, y: range.max },\n ];\n let intersectPoint = lineIntersect(\n mark1.from.x,\n mark1.from.y,\n mark1.to.x,\n mark1.to.y,\n mark2.from.x,\n mark2.from.y,\n mark2.to.x,\n mark2.to.y,\n );\n let sections = [];\n let intersectionPoint1 = findIntersectionPointForMark(mark1, domain, range);\n intersectionPoint1 = removeDuplicatesFromArray(intersectionPoint1);\n let intersectionPoint2 = findIntersectionPointForMark(mark2, domain, range);\n intersectionPoint2 = removeDuplicatesFromArray(intersectionPoint2);\n if (intersectPoint && isPointInsideGraph(intersectPoint, domain, range)) {\n for (let i = 0; i < intersectionPoint1.length; i++) {\n for (let j = 0; j < intersectionPoint2.length; j++) {\n let bucket = [];\n let newCornerPoints = [];\n bucket.push(intersectPoint);\n bucket.push(intersectionPoint1[i]);\n bucket.push(intersectionPoint2[j]);\n for (let k = 0; k < cornerPoints.length; k++) {\n if (pointInAngle(intersectPoint, intersectionPoint1[i], intersectionPoint2[j], cornerPoints[k])) {\n bucket.push(cornerPoints[k]);\n } else {\n newCornerPoints.push(cornerPoints[k]);\n }\n }\n cornerPoints = newCornerPoints;\n sections.push(bucket);\n }\n }\n } else {\n let sections1 = findSectionsInSolutionSetForOneLine(intersectionPoint1, domain, range);\n let sections2 = findSectionsInSolutionSetForOneLine(intersectionPoint2, domain, range);\n for (let i = 0; i < sections1.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint2[0], sections1[i]) && pointInPolygon(intersectionPoint2[1], sections1[i]))\n ) {\n sections.push(sections1[i]);\n }\n }\n for (let i = 0; i < sections2.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint1[0], sections2[i]) && pointInPolygon(intersectionPoint1[1], sections2[i]))\n ) {\n sections.push(sections2[i]);\n }\n }\n for (let i = 0; i < sections.length; i++) {\n cornerPoints = cornerPoints.filter(function (o1) {\n return !sections[i].some(function (o2) {\n return o1.x === o2.x && o1.y === o2.y;\n });\n });\n }\n let sections3 = cornerPoints.concat(intersectionPoint1, intersectionPoint2);\n sections.push(sections3);\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nexport const findSectionsInSolutionSet = (gssLineData, answers, domain, range) => {\n if (gssLineData.numberOfLines === 1) {\n const intersectionPoint = findIntersectionPointForMark(answers[0], domain, range);\n gssLineData.sections = findSectionsInSolutionSetForOneLine(intersectionPoint, domain, range);\n } else {\n gssLineData.sections = findSectionsInSolutionSetForTwoLines(gssLineData, answers, domain, range);\n }\n return gssLineData;\n};\n\n/*\n * Function to check if a point is inside a polygon\n * @param {Object} point - point to be checked\n * @param {Array} polygon - polygon points array\n * */\nexport const pointInsidePolygon = (point, polygon) => {\n const num_vertices = polygon.length;\n const x = point.x;\n const y = point.y;\n let inside = false;\n let p1 = polygon[0];\n let p2;\n for (let i = 1; i <= num_vertices; i++) {\n p2 = polygon[i % num_vertices];\n if (y > Math.min(p1.y, p2.y)) {\n if (y <= Math.max(p1.y, p2.y)) {\n if (x <= Math.max(p1.x, p2.x)) {\n const x_intersection = ((y - p1.y) * (p2.x - p1.x)) / (p2.y - p1.y) + p1.x;\n if (p1.x === p2.x || x <= x_intersection) {\n inside = !inside;\n }\n }\n }\n }\n p1 = p2;\n }\n return inside;\n};\n\n/*\n * Function to check if lines are added in the graph\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answer - answer array\n * */\nexport const checkIfLinesAreAdded = (gssLineData, answer) => {\n if (answer.length === 0) {\n return false;\n }\n if (gssLineData.numberOfLines === 1) {\n if (answer.length === 1) {\n return !answer[0].building;\n }\n } else {\n if (answer.length !== 2) {\n return false;\n } else {\n return !answer[1].building;\n }\n }\n};\n\n/*\n * Function to remove invalid answers\n * @param {Array} answers - answers array\n * */\nexport const removeInvalidAnswers = (answers) =>\n answers\n ? (answers || []).filter(({ type, ...answer }) => (completeMark[type] ? completeMark[type](answer) : false))\n : [];\n","import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer } from '@pie-lib/graphing-solution-set';\nimport { color, Collapsible as CollapsibleImport, hasText, hasMedia, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils.js';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nconst MainContainer: any = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst TeacherInstructions: any = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Graph: any = styled(GraphContainer)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n state = {\n showingCorrect: false,\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the AlertDialog\n * @param {boolean} open - open state of the dialog\n * @param {function} callback - callback function to be called after setting the state\n * */\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n /*\n * Function to toggle the correct answer\n * @param {boolean} showingCorrect - state of the correct answer\n * */\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n /*\n * Reset the graph to original state\n * */\n onResetClick: any = () => {\n const { model, session, setGssData } = this.props;\n let { gssData } = model;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `This will remove all the elements added on the graph and reset graph to original state. Are you sure you want to continue?`,\n onConfirm: () => {\n // Reset the graph to original state\n session.answer = [];\n gssData.selectedTool = 'lineA';\n gssData.lineA.lineType = 'Solid';\n if (gssData.lineB) gssData.lineB.lineType = 'Solid';\n // Set the gssData and session\n setGssData(gssData, session);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to handle the event of solution set selected\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected: any = (point) => {\n const { model, session, setGssData } = this.props;\n const { gssData, disabled } = model;\n if (disabled) {\n return;\n }\n for (const section of gssData.sections) {\n if (pointInsidePolygon(point, section)) {\n let polygon = {\n points: section,\n building: false,\n type: 'polygon',\n closed: true,\n isSolution: true,\n };\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n session.answer.push(polygon);\n break;\n }\n }\n setGssData(gssData, session);\n };\n\n /*\n * Function to handle the event of change in GSS Line Data\n * @param {object} gssData - GSS Line Data\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData: any = (gssData, oldSelectedTool) => {\n const { model, session } = this.props;\n const { domain, range, disabled } = model;\n if (disabled) {\n return;\n }\n if (gssData.selectedTool === 'solutionSet') {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssData, lines)) {\n gssData.selectedTool = oldSelectedTool;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please define the line(s) and then select a solution set for the item.',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n gssData = findSectionsInSolutionSet(gssData, lines, domain, range);\n }\n this.handleGssDataChange(gssData, session);\n } else {\n let polygons = session.answer.filter((mark) => mark.type === 'polygon');\n if (oldSelectedTool === 'solutionSet' && polygons.length > 0) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing a line after adding a solution set will clear your selected solution set. Click \\'Clear Solution Set\\' to change the line. Otherwise, click \\'Cancel\\'.',\n onConfirm: () => {\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssData.selectedTool = oldSelectedTool;\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssDataChange(gssData, session);\n }\n }\n };\n\n /*\n * Function to handle the event of change in GSS Data\n * @param {object} gssData - GSS Data\n * @param {object} session - session data\n * */\n handleGssDataChange: any = (gssData, session) => {\n const { setGssData } = this.props;\n if (session.answer && session.answer.length > 0 && session.answer[0] && gssData.lineA) {\n session.answer[0].fill = gssData.lineA.lineType;\n }\n if (session.answer && session.answer.length > 1 && session.answer[1] && gssData.lineB) {\n session.answer[1].fill = gssData.lineB.lineType;\n }\n if (\n (gssData.selectedTool === 'lineB' && session.answer.length === 0) ||\n (gssData.selectedTool === 'lineB' && session.answer[0].building)\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line A to the graph before adding Line B',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineA';\n }\n if (gssData.selectedTool === 'lineA' && session.answer.length > 1 && session.answer[1].building) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line B to the graph before switching to Line A',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineB';\n }\n setGssData(gssData, session);\n };\n\n /*\n * Render the component\n * */\n render() {\n const { model, onAnswersChange, session } = this.props;\n const { showingCorrect, dialog } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n size,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n language,\n gssLineData,\n gssData,\n } = model || {};\n const marks = answersCorrected || answer || [];\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n return (\n <MainContainer extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <TeacherInstructions\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n {showingCorrect && showToggle ? (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n ) : (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n )}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n onConfirmText={dialog.onConfirmText ? dialog.onConfirmText : 'OK'}\n />\n </MainContainer>\n );\n }\n}\n\nexport default Main;\n","// @ts-nocheck\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils.js';\nimport Main from './main.js';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers: any = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData: any = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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"}
@@ -251,6 +251,8 @@ var b = class e extends CustomEvent {
251
251
  } else if (t.length !== 2) return !1;
252
252
  else return !t[1].building;
253
253
  }, ae = (e) => e ? (e || []).filter(({ type: e, ...t }) => x[e] ? x[e](t) : !1) : [], I = /* @__PURE__ */ e(d(), 1), L = ({ bgFill: e, fgFill: t }) => /* @__PURE__ */ y("svg", {
254
+ "aria-hidden": "true",
255
+ focusable: "false",
254
256
  preserveAspectRatio: "xMinYMin meet",
255
257
  version: "1.1",
256
258
  viewBox: "-283 359 34 35",
@@ -277,6 +279,8 @@ L.propTypes = {
277
279
  fgFill: I.default.string.isRequired
278
280
  };
279
281
  var R = ({ bgFill: e, fgFill: t, borderFill: n }) => /* @__PURE__ */ y("svg", {
282
+ "aria-hidden": "true",
283
+ focusable: "false",
280
284
  preserveAspectRatio: "xMinYMin meet",
281
285
  version: "1.1",
282
286
  viewBox: "-129.5 127 34 35",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../../shared/player-events/dist/index.js","../../../../src/delivery/utils.ts","../../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../../src/delivery/main.tsx","../../../../src/delivery/index.ts"],"sourcesContent":["//#region src/session-notifier.ts\nvar e = \"commitPendingSession\", t = /* @__PURE__ */ new WeakMap();\nfunction n(e, n) {\n\tlet r = t.get(e);\n\tr || (r = /* @__PURE__ */ new Set(), t.set(e, r)), r.add(n);\n}\nfunction r(t) {\n\treturn Object.getOwnPropertyDescriptor(t, e) !== void 0;\n}\nfunction i(t) {\n\tif (r(t)) return;\n\tlet n = t[e];\n\tObject.defineProperty(t, e, {\n\t\tvalue: () => {\n\t\t\tif (typeof n == \"function\") try {\n\t\t\t\tn.call(t);\n\t\t\t} catch {}\n\t\t\to(t);\n\t\t},\n\t\tconfigurable: !0,\n\t\tenumerable: !1,\n\t\twritable: !0\n\t});\n}\nfunction a(e, t, r = {}) {\n\tlet a = r.delayMs, o = typeof a == \"function\" ? a : () => a ?? 0, s = r.maxWaitMs, c = null, l = null, u = !1, d = () => {\n\t\tc !== null && (clearTimeout(c), c = null), l !== null && (clearTimeout(l), l = null);\n\t}, f = () => {\n\t\td(), u && (u = !1, t());\n\t}, p = {\n\t\tnotify() {\n\t\t\tu = !0, c !== null && clearTimeout(c), c = setTimeout(f, Math.max(0, o())), s !== void 0 && l === null && (l = setTimeout(f, Math.max(0, s)));\n\t\t},\n\t\tflush() {\n\t\t\tif (!u) {\n\t\t\t\td();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tf();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\"[session-notifier] a committed session-changed dispatch threw\", e);\n\t\t\t}\n\t\t}\n\t};\n\treturn n(e, p), i(e), p;\n}\nfunction o(e) {\n\tlet n = t.get(e);\n\tif (n) for (let e of [...n]) e.flush();\n}\n//#endregion\n//#region src/index.ts\nvar s = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, c = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { s as ModelSetEvent, e as SESSION_COMMIT_METHOD, c as SessionChangedEvent, a as createSessionNotifier, o as flushSessionNotifiers };\n","// @ts-nocheck\n\n/*\n * Check if a line is complete\n * @param {Object} item - mark object\n * */\nconst completeFromTo = (item) => item && completeMark.point(item.from) && completeMark.point(item.to);\n\n/*\n * Check if a point is correct and complete\n * @param {Object} point - point object\n * */\nconst completePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y);\n\n/*\n * Complete mark object for line and point\n * */\nconst completeMark = {\n line: completeFromTo,\n point: completePoint,\n};\n\n//////////////////////////////////////////////////////////////////////////////////\n// BELOW FUNCTIONS ARE USED IN configure/src/utils as well\n//////////////////////////////////////////////////////////////////////////////////\n\n/*\n * Function to calculate the distance between two points\n * @param {Object} a - point a\n * @param {Object} b - point b\n * */\nconst distance = (a, b) => {\n return Number(Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2).toFixed(3));\n};\n\n/*\n * Function to check if a point lies on edges of a polygon\n * @param {Object} point - point object\n * @param {Array} polygon - polygon points array\n * */\nconst pointInPolygon = (point, polygon) => {\n let c = point;\n let inside = false;\n let clonePolygon = [...polygon];\n clonePolygon.push(polygon[0]);\n for (let i = 0; i < clonePolygon.length - 1; i++) {\n let a = clonePolygon[i];\n let b = clonePolygon[i + 1];\n // check if point is on the edge\n if (distance(a, c) + distance(c, b) === distance(a, b)) {\n inside = true;\n break;\n }\n }\n return inside;\n};\n\n/*\n * Function to get the intersection point of two lines\n * @param {Number} x1 - x coordinate of point 1 of line 1\n * @param {Number} y1 - y coordinate of point 1 of line 1\n * @param {Number} x2 - x coordinate of point 2 of line 1\n * @param {Number} y2 - y coordinate of point 2 of line 1\n * @param {Number} x3 - x coordinate of point 1 of line 2\n * @param {Number} y3 - y coordinate of point 1 of line 2\n * @param {Number} x4 - x coordinate of point 2 of line 2\n * @param {Number} y4 - y coordinate of point 2 of line 2\n * */\nconst lineIntersect = (x1, y1, x2, y2, x3, y3, x4, y4) => {\n let ua,\n denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n if (denominator === 0) {\n return null;\n }\n ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denominator;\n return {\n x: Number((x1 + ua * (x2 - x1)).toFixed(3)),\n y: Number((y1 + ua * (y2 - y1)).toFixed(3)),\n };\n};\n\n/*\n * Check if a point is inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointInsideGraph = (point, domain, range) => {\n return point.x > domain.min && point.x < domain.max && point.y > range.min && point.y < range.max;\n};\n\n/*\n * Check if a point is on or inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointOnOrInsideGraph = (point, domain, range) => {\n return point.x >= domain.min && point.x <= domain.max && point.y >= range.min && point.y <= range.max;\n};\n\n/*\n * Find the intersection point of a mark with the graph\n * @param {Object} mark - mark object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findIntersectionPointForMark = (mark, domain, range) => {\n let intersectionPoint = [];\n let tempData = [\n [domain.max, range.max, domain.max, range.min],\n [domain.min, range.max, domain.min, range.min],\n [domain.min, range.max, domain.max, range.max],\n [domain.min, range.min, domain.max, range.min],\n ];\n for (let i = 0; i < tempData.length; i++) {\n let intersection = lineIntersect(\n mark.from.x,\n mark.from.y,\n mark.to.x,\n mark.to.y,\n tempData[i][0],\n tempData[i][1],\n tempData[i][2],\n tempData[i][3],\n );\n if (intersection && isPointOnOrInsideGraph(intersection, domain, range)) {\n intersectionPoint.push(intersection);\n }\n }\n return intersectionPoint;\n};\n\n/*\n * Sort points in clockwise direction for a polygon\n * @param {Array} points - points array\n * */\nconst sortPointsClockWise = (points) => {\n // Find min max to get center and Sort from top to bottom\n points.sort((a, b) => a.y - b.y);\n // Get center y\n const cy = (points[0].y + points[points.length - 1].y) / 2;\n // Sort from right to left\n points.sort((a, b) => b.x - a.x);\n // Get center x\n const cx = (points[0].x + points[points.length - 1].x) / 2;\n // Center point\n const center = { x: cx, y: cy };\n // As the points are sorted from right to left the first point is the rightmost Starting angle used to reference other angles\n let startAng;\n points.forEach((point) => {\n let ang = Math.atan2(point.y - center.y, point.x - center.x);\n if (!startAng) {\n startAng = ang;\n } else {\n if (ang < startAng) {\n // ensure that all points are clockwise of the start point\n ang += Math.PI * 2;\n }\n }\n point.angle = ang; // add the angle to the point\n });\n // first sort clockwise\n points.sort((a, b) => a.angle - b.angle);\n // then reverse the order\n const ccwPoints = points.reverse();\n // move the last point back to the start\n ccwPoints.unshift(ccwPoints.pop());\n return ccwPoints.map(({ angle, ...attr }) => attr);\n};\n\n/*\n * Function to calculate the dot product of two vectors\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst dotProduct = (v1, v2) => {\n return v1.x * v2.x + v1.y * v2.y;\n};\n\n/*\n * Function to calculate the magnitude of a vector\n * @param {Object} v - point object\n * */\nconst magnitude = (v) => {\n return Math.sqrt(v.x * v.x + v.y * v.y);\n};\n\n/*\n * Function to calculate the angle between two vectors in radians\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst angleBetweenVectors = (v1, v2) => {\n const dot = dotProduct(v1, v2);\n const magV1 = magnitude(v1);\n const magV2 = magnitude(v2);\n // Ensure the dot product is within the domain of the acos function\n return Math.acos(dot / (magV1 * magV2));\n};\n\n/*\n * Function to check if a point lies between the angle formed by two lines\n * @param {Object} commonPoint - common point of the two lines\n * @param {Object} point1 - point 1 of cone\n * @param {Object} point2 - point 2 of cone\n * @param {Object} testPoint - point to be tested\n * */\nconst pointInAngle = (commonPoint, point1, point2, testPoint) => {\n const vector1 = { x: point1.x - commonPoint.x, y: point1.y - commonPoint.y };\n const vector2 = { x: point2.x - commonPoint.x, y: point2.y - commonPoint.y };\n const testVector = { x: testPoint.x - commonPoint.x, y: testPoint.y - commonPoint.y };\n const angle1 = angleBetweenVectors(vector1, testVector);\n const angle2 = angleBetweenVectors(vector2, testVector);\n const angleSum = angle1 + angle2;\n // Check if the sum of angles is approximately equal to the angle between the two lines\n // You may need to adjust the tolerance (e.g., 0.0001) based on your specific requirements\n const tolerance = 0.0001;\n return Math.abs(angleSum - angleBetweenVectors(vector1, vector2)) < tolerance;\n};\n\n/*\n * Function to remove duplicate points from an array\n * @param {Array} array - array of points\n * */\nconst removeDuplicatesFromArray = (array) => {\n return array.filter((obj, index) => {\n return index === array.findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n};\n\n/*\n * Function to remove duplicate points and filter sections\n * @param {Array} sections - array of sections\n * */\nconst removeDuplicateAndFilterSections = (sections) => {\n //removing duplicate points.\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sections[i].filter((obj, index) => {\n return index === sections[i].findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n }\n //removing arrays with two points\n sections = sections.filter((section) => section.length > 2);\n //sorting the points in clockwise direction\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sortPointsClockWise(sections[i]);\n }\n return sections;\n};\n\n/*\n * Function to find sections in solution set for one line\n * @param {Array} intersectionPoint - intersection point\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForOneLine = (intersectionPoint, domain, range) => {\n let sections = [];\n sections.push([].concat(intersectionPoint));\n sections.push([].concat(intersectionPoint));\n if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.max }, { x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.max }, { x: domain.max, y: range.min }, { x: domain.min, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max }, { x: domain.min, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.max, y: range.min });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].x === domain.max) ||\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].x === domain.min)\n ) {\n sections[0].push({ x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].y === range.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[0].y === range.max && intersectionPoint[1].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max });\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set for two lines\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForTwoLines = (gssLineData, answers, domain, range) => {\n let mark1 = answers[0];\n let mark2 = answers[1];\n let cornerPoints = [\n { x: domain.min, y: range.min },\n { x: domain.min, y: range.max },\n { x: domain.max, y: range.min },\n { x: domain.max, y: range.max },\n ];\n let intersectPoint = lineIntersect(\n mark1.from.x,\n mark1.from.y,\n mark1.to.x,\n mark1.to.y,\n mark2.from.x,\n mark2.from.y,\n mark2.to.x,\n mark2.to.y,\n );\n let sections = [];\n let intersectionPoint1 = findIntersectionPointForMark(mark1, domain, range);\n intersectionPoint1 = removeDuplicatesFromArray(intersectionPoint1);\n let intersectionPoint2 = findIntersectionPointForMark(mark2, domain, range);\n intersectionPoint2 = removeDuplicatesFromArray(intersectionPoint2);\n if (intersectPoint && isPointInsideGraph(intersectPoint, domain, range)) {\n for (let i = 0; i < intersectionPoint1.length; i++) {\n for (let j = 0; j < intersectionPoint2.length; j++) {\n let bucket = [];\n let newCornerPoints = [];\n bucket.push(intersectPoint);\n bucket.push(intersectionPoint1[i]);\n bucket.push(intersectionPoint2[j]);\n for (let k = 0; k < cornerPoints.length; k++) {\n if (pointInAngle(intersectPoint, intersectionPoint1[i], intersectionPoint2[j], cornerPoints[k])) {\n bucket.push(cornerPoints[k]);\n } else {\n newCornerPoints.push(cornerPoints[k]);\n }\n }\n cornerPoints = newCornerPoints;\n sections.push(bucket);\n }\n }\n } else {\n let sections1 = findSectionsInSolutionSetForOneLine(intersectionPoint1, domain, range);\n let sections2 = findSectionsInSolutionSetForOneLine(intersectionPoint2, domain, range);\n for (let i = 0; i < sections1.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint2[0], sections1[i]) && pointInPolygon(intersectionPoint2[1], sections1[i]))\n ) {\n sections.push(sections1[i]);\n }\n }\n for (let i = 0; i < sections2.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint1[0], sections2[i]) && pointInPolygon(intersectionPoint1[1], sections2[i]))\n ) {\n sections.push(sections2[i]);\n }\n }\n for (let i = 0; i < sections.length; i++) {\n cornerPoints = cornerPoints.filter(function (o1) {\n return !sections[i].some(function (o2) {\n return o1.x === o2.x && o1.y === o2.y;\n });\n });\n }\n let sections3 = cornerPoints.concat(intersectionPoint1, intersectionPoint2);\n sections.push(sections3);\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nexport const findSectionsInSolutionSet = (gssLineData, answers, domain, range) => {\n if (gssLineData.numberOfLines === 1) {\n const intersectionPoint = findIntersectionPointForMark(answers[0], domain, range);\n gssLineData.sections = findSectionsInSolutionSetForOneLine(intersectionPoint, domain, range);\n } else {\n gssLineData.sections = findSectionsInSolutionSetForTwoLines(gssLineData, answers, domain, range);\n }\n return gssLineData;\n};\n\n/*\n * Function to check if a point is inside a polygon\n * @param {Object} point - point to be checked\n * @param {Array} polygon - polygon points array\n * */\nexport const pointInsidePolygon = (point, polygon) => {\n const num_vertices = polygon.length;\n const x = point.x;\n const y = point.y;\n let inside = false;\n let p1 = polygon[0];\n let p2;\n for (let i = 1; i <= num_vertices; i++) {\n p2 = polygon[i % num_vertices];\n if (y > Math.min(p1.y, p2.y)) {\n if (y <= Math.max(p1.y, p2.y)) {\n if (x <= Math.max(p1.x, p2.x)) {\n const x_intersection = ((y - p1.y) * (p2.x - p1.x)) / (p2.y - p1.y) + p1.x;\n if (p1.x === p2.x || x <= x_intersection) {\n inside = !inside;\n }\n }\n }\n }\n p1 = p2;\n }\n return inside;\n};\n\n/*\n * Function to check if lines are added in the graph\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answer - answer array\n * */\nexport const checkIfLinesAreAdded = (gssLineData, answer) => {\n if (answer.length === 0) {\n return false;\n }\n if (gssLineData.numberOfLines === 1) {\n if (answer.length === 1) {\n return !answer[0].building;\n }\n } else {\n if (answer.length !== 2) {\n return false;\n } else {\n return !answer[1].building;\n }\n }\n};\n\n/*\n * Function to remove invalid answers\n * @param {Array} answers - answers array\n * */\nexport const removeInvalidAnswers = (answers) =>\n answers\n ? (answers || []).filter(({ type, ...answer }) => (completeMark[type] ? completeMark[type](answer) : false))\n : [];\n","import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer } from '@pie-lib/graphing-solution-set';\nimport { color, Collapsible as CollapsibleImport, hasText, hasMedia, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils.js';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nconst MainContainer: any = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst TeacherInstructions: any = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Graph: any = styled(GraphContainer)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n state = {\n showingCorrect: false,\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the AlertDialog\n * @param {boolean} open - open state of the dialog\n * @param {function} callback - callback function to be called after setting the state\n * */\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n /*\n * Function to toggle the correct answer\n * @param {boolean} showingCorrect - state of the correct answer\n * */\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n /*\n * Reset the graph to original state\n * */\n onResetClick: any = () => {\n const { model, session, setGssData } = this.props;\n let { gssData } = model;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `This will remove all the elements added on the graph and reset graph to original state. Are you sure you want to continue?`,\n onConfirm: () => {\n // Reset the graph to original state\n session.answer = [];\n gssData.selectedTool = 'lineA';\n gssData.lineA.lineType = 'Solid';\n if (gssData.lineB) gssData.lineB.lineType = 'Solid';\n // Set the gssData and session\n setGssData(gssData, session);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to handle the event of solution set selected\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected: any = (point) => {\n const { model, session, setGssData } = this.props;\n const { gssData, disabled } = model;\n if (disabled) {\n return;\n }\n for (const section of gssData.sections) {\n if (pointInsidePolygon(point, section)) {\n let polygon = {\n points: section,\n building: false,\n type: 'polygon',\n closed: true,\n isSolution: true,\n };\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n session.answer.push(polygon);\n break;\n }\n }\n setGssData(gssData, session);\n };\n\n /*\n * Function to handle the event of change in GSS Line Data\n * @param {object} gssData - GSS Line Data\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData: any = (gssData, oldSelectedTool) => {\n const { model, session } = this.props;\n const { domain, range, disabled } = model;\n if (disabled) {\n return;\n }\n if (gssData.selectedTool === 'solutionSet') {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssData, lines)) {\n gssData.selectedTool = oldSelectedTool;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please define the line(s) and then select a solution set for the item.',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n gssData = findSectionsInSolutionSet(gssData, lines, domain, range);\n }\n this.handleGssDataChange(gssData, session);\n } else {\n let polygons = session.answer.filter((mark) => mark.type === 'polygon');\n if (oldSelectedTool === 'solutionSet' && polygons.length > 0) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing a line after adding a solution set will clear your selected solution set. Click \\'Clear Solution Set\\' to change the line. Otherwise, click \\'Cancel\\'.',\n onConfirm: () => {\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssData.selectedTool = oldSelectedTool;\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssDataChange(gssData, session);\n }\n }\n };\n\n /*\n * Function to handle the event of change in GSS Data\n * @param {object} gssData - GSS Data\n * @param {object} session - session data\n * */\n handleGssDataChange: any = (gssData, session) => {\n const { setGssData } = this.props;\n if (session.answer && session.answer.length > 0 && session.answer[0] && gssData.lineA) {\n session.answer[0].fill = gssData.lineA.lineType;\n }\n if (session.answer && session.answer.length > 1 && session.answer[1] && gssData.lineB) {\n session.answer[1].fill = gssData.lineB.lineType;\n }\n if (\n (gssData.selectedTool === 'lineB' && session.answer.length === 0) ||\n (gssData.selectedTool === 'lineB' && session.answer[0].building)\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line A to the graph before adding Line B',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineA';\n }\n if (gssData.selectedTool === 'lineA' && session.answer.length > 1 && session.answer[1].building) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line B to the graph before switching to Line A',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineB';\n }\n setGssData(gssData, session);\n };\n\n /*\n * Render the component\n * */\n render() {\n const { model, onAnswersChange, session } = this.props;\n const { showingCorrect, dialog } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n size,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n language,\n gssLineData,\n gssData,\n } = model || {};\n const marks = answersCorrected || answer || [];\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n return (\n <MainContainer extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <TeacherInstructions\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n {showingCorrect && showToggle ? (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n ) : (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n )}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n onConfirmText={dialog.onConfirmText ? dialog.onConfirmText : 'OK'}\n />\n </MainContainer>\n );\n }\n}\n\nexport default Main;\n","// @ts-nocheck\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils.js';\nimport Main from './main.js';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers: any = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData: any = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../shared/player-events/dist/index.js","../../../../src/delivery/utils.ts","../../../../../../lib-react/icons/dist/correct-response-icon.js","../../../../../../lib-react/correct-answer-toggle/dist/expander.js","../../../../../../lib-react/correct-answer-toggle/dist/index.js","../../../../src/delivery/main.tsx","../../../../src/delivery/index.ts"],"sourcesContent":["//#region src/session-notifier.ts\nvar e = \"commitPendingSession\", t = /* @__PURE__ */ new WeakMap();\nfunction n(e, n) {\n\tlet r = t.get(e);\n\tr || (r = /* @__PURE__ */ new Set(), t.set(e, r)), r.add(n);\n}\nfunction r(t) {\n\treturn Object.getOwnPropertyDescriptor(t, e) !== void 0;\n}\nfunction i(t) {\n\tif (r(t)) return;\n\tlet n = t[e];\n\tObject.defineProperty(t, e, {\n\t\tvalue: () => {\n\t\t\tif (typeof n == \"function\") try {\n\t\t\t\tn.call(t);\n\t\t\t} catch {}\n\t\t\to(t);\n\t\t},\n\t\tconfigurable: !0,\n\t\tenumerable: !1,\n\t\twritable: !0\n\t});\n}\nfunction a(e, t, r = {}) {\n\tlet a = r.delayMs, o = typeof a == \"function\" ? a : () => a ?? 0, s = r.maxWaitMs, c = null, l = null, u = !1, d = () => {\n\t\tc !== null && (clearTimeout(c), c = null), l !== null && (clearTimeout(l), l = null);\n\t}, f = () => {\n\t\td(), u && (u = !1, t());\n\t}, p = {\n\t\tnotify() {\n\t\t\tu = !0, c !== null && clearTimeout(c), c = setTimeout(f, Math.max(0, o())), s !== void 0 && l === null && (l = setTimeout(f, Math.max(0, s)));\n\t\t},\n\t\tflush() {\n\t\t\tif (!u) {\n\t\t\t\td();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tf();\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(\"[session-notifier] a committed session-changed dispatch threw\", e);\n\t\t\t}\n\t\t}\n\t};\n\treturn n(e, p), i(e), p;\n}\nfunction o(e) {\n\tlet n = t.get(e);\n\tif (n) for (let e of [...n]) e.flush();\n}\n//#endregion\n//#region src/index.ts\nvar s = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"model-set\";\n\t}\n\tconstructor(t, n, r) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t,\n\t\t\t\thasModel: r\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n}, c = class e extends CustomEvent {\n\tstatic {\n\t\tthis.TYPE = \"session-changed\";\n\t}\n\tconstructor(t, n) {\n\t\tsuper(e.TYPE, {\n\t\t\tbubbles: !0,\n\t\t\tcomposed: !0,\n\t\t\tdetail: {\n\t\t\t\tcomplete: n,\n\t\t\t\tcomponent: t\n\t\t\t}\n\t\t}), this.component = t, this.complete = n;\n\t}\n};\n//#endregion\nexport { s as ModelSetEvent, e as SESSION_COMMIT_METHOD, c as SessionChangedEvent, a as createSessionNotifier, o as flushSessionNotifiers };\n","// @ts-nocheck\n\n/*\n * Check if a line is complete\n * @param {Object} item - mark object\n * */\nconst completeFromTo = (item) => item && completeMark.point(item.from) && completeMark.point(item.to);\n\n/*\n * Check if a point is correct and complete\n * @param {Object} point - point object\n * */\nconst completePoint = (point) => point && Number.isFinite(point.x) && Number.isFinite(point.y);\n\n/*\n * Complete mark object for line and point\n * */\nconst completeMark = {\n line: completeFromTo,\n point: completePoint,\n};\n\n//////////////////////////////////////////////////////////////////////////////////\n// BELOW FUNCTIONS ARE USED IN configure/src/utils as well\n//////////////////////////////////////////////////////////////////////////////////\n\n/*\n * Function to calculate the distance between two points\n * @param {Object} a - point a\n * @param {Object} b - point b\n * */\nconst distance = (a, b) => {\n return Number(Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2).toFixed(3));\n};\n\n/*\n * Function to check if a point lies on edges of a polygon\n * @param {Object} point - point object\n * @param {Array} polygon - polygon points array\n * */\nconst pointInPolygon = (point, polygon) => {\n let c = point;\n let inside = false;\n let clonePolygon = [...polygon];\n clonePolygon.push(polygon[0]);\n for (let i = 0; i < clonePolygon.length - 1; i++) {\n let a = clonePolygon[i];\n let b = clonePolygon[i + 1];\n // check if point is on the edge\n if (distance(a, c) + distance(c, b) === distance(a, b)) {\n inside = true;\n break;\n }\n }\n return inside;\n};\n\n/*\n * Function to get the intersection point of two lines\n * @param {Number} x1 - x coordinate of point 1 of line 1\n * @param {Number} y1 - y coordinate of point 1 of line 1\n * @param {Number} x2 - x coordinate of point 2 of line 1\n * @param {Number} y2 - y coordinate of point 2 of line 1\n * @param {Number} x3 - x coordinate of point 1 of line 2\n * @param {Number} y3 - y coordinate of point 1 of line 2\n * @param {Number} x4 - x coordinate of point 2 of line 2\n * @param {Number} y4 - y coordinate of point 2 of line 2\n * */\nconst lineIntersect = (x1, y1, x2, y2, x3, y3, x4, y4) => {\n let ua,\n denominator = (y4 - y3) * (x2 - x1) - (x4 - x3) * (y2 - y1);\n if (denominator === 0) {\n return null;\n }\n ua = ((x4 - x3) * (y1 - y3) - (y4 - y3) * (x1 - x3)) / denominator;\n return {\n x: Number((x1 + ua * (x2 - x1)).toFixed(3)),\n y: Number((y1 + ua * (y2 - y1)).toFixed(3)),\n };\n};\n\n/*\n * Check if a point is inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointInsideGraph = (point, domain, range) => {\n return point.x > domain.min && point.x < domain.max && point.y > range.min && point.y < range.max;\n};\n\n/*\n * Check if a point is on or inside the graph\n * @param {Object} point - point object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst isPointOnOrInsideGraph = (point, domain, range) => {\n return point.x >= domain.min && point.x <= domain.max && point.y >= range.min && point.y <= range.max;\n};\n\n/*\n * Find the intersection point of a mark with the graph\n * @param {Object} mark - mark object\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findIntersectionPointForMark = (mark, domain, range) => {\n let intersectionPoint = [];\n let tempData = [\n [domain.max, range.max, domain.max, range.min],\n [domain.min, range.max, domain.min, range.min],\n [domain.min, range.max, domain.max, range.max],\n [domain.min, range.min, domain.max, range.min],\n ];\n for (let i = 0; i < tempData.length; i++) {\n let intersection = lineIntersect(\n mark.from.x,\n mark.from.y,\n mark.to.x,\n mark.to.y,\n tempData[i][0],\n tempData[i][1],\n tempData[i][2],\n tempData[i][3],\n );\n if (intersection && isPointOnOrInsideGraph(intersection, domain, range)) {\n intersectionPoint.push(intersection);\n }\n }\n return intersectionPoint;\n};\n\n/*\n * Sort points in clockwise direction for a polygon\n * @param {Array} points - points array\n * */\nconst sortPointsClockWise = (points) => {\n // Find min max to get center and Sort from top to bottom\n points.sort((a, b) => a.y - b.y);\n // Get center y\n const cy = (points[0].y + points[points.length - 1].y) / 2;\n // Sort from right to left\n points.sort((a, b) => b.x - a.x);\n // Get center x\n const cx = (points[0].x + points[points.length - 1].x) / 2;\n // Center point\n const center = { x: cx, y: cy };\n // As the points are sorted from right to left the first point is the rightmost Starting angle used to reference other angles\n let startAng;\n points.forEach((point) => {\n let ang = Math.atan2(point.y - center.y, point.x - center.x);\n if (!startAng) {\n startAng = ang;\n } else {\n if (ang < startAng) {\n // ensure that all points are clockwise of the start point\n ang += Math.PI * 2;\n }\n }\n point.angle = ang; // add the angle to the point\n });\n // first sort clockwise\n points.sort((a, b) => a.angle - b.angle);\n // then reverse the order\n const ccwPoints = points.reverse();\n // move the last point back to the start\n ccwPoints.unshift(ccwPoints.pop());\n return ccwPoints.map(({ angle, ...attr }) => attr);\n};\n\n/*\n * Function to calculate the dot product of two vectors\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst dotProduct = (v1, v2) => {\n return v1.x * v2.x + v1.y * v2.y;\n};\n\n/*\n * Function to calculate the magnitude of a vector\n * @param {Object} v - point object\n * */\nconst magnitude = (v) => {\n return Math.sqrt(v.x * v.x + v.y * v.y);\n};\n\n/*\n * Function to calculate the angle between two vectors in radians\n * @param {Object} v1 - point 1\n * @param {Object} v2 - point 2\n * */\nconst angleBetweenVectors = (v1, v2) => {\n const dot = dotProduct(v1, v2);\n const magV1 = magnitude(v1);\n const magV2 = magnitude(v2);\n // Ensure the dot product is within the domain of the acos function\n return Math.acos(dot / (magV1 * magV2));\n};\n\n/*\n * Function to check if a point lies between the angle formed by two lines\n * @param {Object} commonPoint - common point of the two lines\n * @param {Object} point1 - point 1 of cone\n * @param {Object} point2 - point 2 of cone\n * @param {Object} testPoint - point to be tested\n * */\nconst pointInAngle = (commonPoint, point1, point2, testPoint) => {\n const vector1 = { x: point1.x - commonPoint.x, y: point1.y - commonPoint.y };\n const vector2 = { x: point2.x - commonPoint.x, y: point2.y - commonPoint.y };\n const testVector = { x: testPoint.x - commonPoint.x, y: testPoint.y - commonPoint.y };\n const angle1 = angleBetweenVectors(vector1, testVector);\n const angle2 = angleBetweenVectors(vector2, testVector);\n const angleSum = angle1 + angle2;\n // Check if the sum of angles is approximately equal to the angle between the two lines\n // You may need to adjust the tolerance (e.g., 0.0001) based on your specific requirements\n const tolerance = 0.0001;\n return Math.abs(angleSum - angleBetweenVectors(vector1, vector2)) < tolerance;\n};\n\n/*\n * Function to remove duplicate points from an array\n * @param {Array} array - array of points\n * */\nconst removeDuplicatesFromArray = (array) => {\n return array.filter((obj, index) => {\n return index === array.findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n};\n\n/*\n * Function to remove duplicate points and filter sections\n * @param {Array} sections - array of sections\n * */\nconst removeDuplicateAndFilterSections = (sections) => {\n //removing duplicate points.\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sections[i].filter((obj, index) => {\n return index === sections[i].findIndex((o) => obj.x === o.x && obj.y === o.y);\n });\n }\n //removing arrays with two points\n sections = sections.filter((section) => section.length > 2);\n //sorting the points in clockwise direction\n for (let i = 0; i < sections.length; i++) {\n sections[i] = sortPointsClockWise(sections[i]);\n }\n return sections;\n};\n\n/*\n * Function to find sections in solution set for one line\n * @param {Array} intersectionPoint - intersection point\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForOneLine = (intersectionPoint, domain, range) => {\n let sections = [];\n sections.push([].concat(intersectionPoint));\n sections.push([].concat(intersectionPoint));\n if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.max }, { x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.max)\n ) {\n sections[0].push({ x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.max }, { x: domain.max, y: range.min }, { x: domain.min, y: range.min });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.min && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max }, { x: domain.min, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].y === range.min) ||\n (intersectionPoint[1].x === domain.max && intersectionPoint[0].y === range.min)\n ) {\n sections[0].push({ x: domain.max, y: range.min });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n } else if (\n (intersectionPoint[0].x === domain.min && intersectionPoint[1].x === domain.max) ||\n (intersectionPoint[0].x === domain.max && intersectionPoint[1].x === domain.min)\n ) {\n sections[0].push({ x: domain.min, y: range.max }, { x: domain.max, y: range.max });\n sections[1].push({ x: domain.min, y: range.min }, { x: domain.max, y: range.min });\n } else if (\n (intersectionPoint[0].y === range.min && intersectionPoint[1].y === range.max) ||\n (intersectionPoint[0].y === range.max && intersectionPoint[1].y === range.min)\n ) {\n sections[0].push({ x: domain.min, y: range.min }, { x: domain.min, y: range.max });\n sections[1].push({ x: domain.max, y: range.min }, { x: domain.max, y: range.max });\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set for two lines\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nconst findSectionsInSolutionSetForTwoLines = (gssLineData, answers, domain, range) => {\n let mark1 = answers[0];\n let mark2 = answers[1];\n let cornerPoints = [\n { x: domain.min, y: range.min },\n { x: domain.min, y: range.max },\n { x: domain.max, y: range.min },\n { x: domain.max, y: range.max },\n ];\n let intersectPoint = lineIntersect(\n mark1.from.x,\n mark1.from.y,\n mark1.to.x,\n mark1.to.y,\n mark2.from.x,\n mark2.from.y,\n mark2.to.x,\n mark2.to.y,\n );\n let sections = [];\n let intersectionPoint1 = findIntersectionPointForMark(mark1, domain, range);\n intersectionPoint1 = removeDuplicatesFromArray(intersectionPoint1);\n let intersectionPoint2 = findIntersectionPointForMark(mark2, domain, range);\n intersectionPoint2 = removeDuplicatesFromArray(intersectionPoint2);\n if (intersectPoint && isPointInsideGraph(intersectPoint, domain, range)) {\n for (let i = 0; i < intersectionPoint1.length; i++) {\n for (let j = 0; j < intersectionPoint2.length; j++) {\n let bucket = [];\n let newCornerPoints = [];\n bucket.push(intersectPoint);\n bucket.push(intersectionPoint1[i]);\n bucket.push(intersectionPoint2[j]);\n for (let k = 0; k < cornerPoints.length; k++) {\n if (pointInAngle(intersectPoint, intersectionPoint1[i], intersectionPoint2[j], cornerPoints[k])) {\n bucket.push(cornerPoints[k]);\n } else {\n newCornerPoints.push(cornerPoints[k]);\n }\n }\n cornerPoints = newCornerPoints;\n sections.push(bucket);\n }\n }\n } else {\n let sections1 = findSectionsInSolutionSetForOneLine(intersectionPoint1, domain, range);\n let sections2 = findSectionsInSolutionSetForOneLine(intersectionPoint2, domain, range);\n for (let i = 0; i < sections1.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint2[0], sections1[i]) && pointInPolygon(intersectionPoint2[1], sections1[i]))\n ) {\n sections.push(sections1[i]);\n }\n }\n for (let i = 0; i < sections2.length; i++) {\n if (\n !(pointInPolygon(intersectionPoint1[0], sections2[i]) && pointInPolygon(intersectionPoint1[1], sections2[i]))\n ) {\n sections.push(sections2[i]);\n }\n }\n for (let i = 0; i < sections.length; i++) {\n cornerPoints = cornerPoints.filter(function (o1) {\n return !sections[i].some(function (o2) {\n return o1.x === o2.x && o1.y === o2.y;\n });\n });\n }\n let sections3 = cornerPoints.concat(intersectionPoint1, intersectionPoint2);\n sections.push(sections3);\n }\n return removeDuplicateAndFilterSections(sections);\n};\n\n/*\n * Function to find sections in solution set\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answers - answers array\n * @param {Object} domain - domain object\n * @param {Object} range - range object\n * */\nexport const findSectionsInSolutionSet = (gssLineData, answers, domain, range) => {\n if (gssLineData.numberOfLines === 1) {\n const intersectionPoint = findIntersectionPointForMark(answers[0], domain, range);\n gssLineData.sections = findSectionsInSolutionSetForOneLine(intersectionPoint, domain, range);\n } else {\n gssLineData.sections = findSectionsInSolutionSetForTwoLines(gssLineData, answers, domain, range);\n }\n return gssLineData;\n};\n\n/*\n * Function to check if a point is inside a polygon\n * @param {Object} point - point to be checked\n * @param {Array} polygon - polygon points array\n * */\nexport const pointInsidePolygon = (point, polygon) => {\n const num_vertices = polygon.length;\n const x = point.x;\n const y = point.y;\n let inside = false;\n let p1 = polygon[0];\n let p2;\n for (let i = 1; i <= num_vertices; i++) {\n p2 = polygon[i % num_vertices];\n if (y > Math.min(p1.y, p2.y)) {\n if (y <= Math.max(p1.y, p2.y)) {\n if (x <= Math.max(p1.x, p2.x)) {\n const x_intersection = ((y - p1.y) * (p2.x - p1.x)) / (p2.y - p1.y) + p1.x;\n if (p1.x === p2.x || x <= x_intersection) {\n inside = !inside;\n }\n }\n }\n }\n p1 = p2;\n }\n return inside;\n};\n\n/*\n * Function to check if lines are added in the graph\n * @param {Object} gssLineData - graphing solution set line data\n * @param {Array} answer - answer array\n * */\nexport const checkIfLinesAreAdded = (gssLineData, answer) => {\n if (answer.length === 0) {\n return false;\n }\n if (gssLineData.numberOfLines === 1) {\n if (answer.length === 1) {\n return !answer[0].building;\n }\n } else {\n if (answer.length !== 2) {\n return false;\n } else {\n return !answer[1].building;\n }\n }\n};\n\n/*\n * Function to remove invalid answers\n * @param {Array} answers - answers array\n * */\nexport const removeInvalidAnswers = (answers) =>\n answers\n ? (answers || []).filter(({ type, ...answer }) => (completeMark[type] ? completeMark[type](answer) : false))\n : [];\n","import \"react\";\nimport e from \"prop-types\";\nimport { jsx as t, jsxs as n } from \"react/jsx-runtime\";\nimport { styled as r } from \"@mui/material/styles\";\n//#region src/correct-response-icon.tsx\nvar i = ({ bgFill: e, fgFill: r }) => /* @__PURE__ */ n(\"svg\", {\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-283 359 34 35\",\n\tstyle: { enableBackground: \"new -283 359 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-266\",\n\t\t\tcy: \"375.9\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z\\n M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\ni.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired\n};\nvar a = ({ bgFill: e, fgFill: r, borderFill: i }) => /* @__PURE__ */ n(\"svg\", {\n\t\"aria-hidden\": \"true\",\n\tfocusable: \"false\",\n\tpreserveAspectRatio: \"xMinYMin meet\",\n\tversion: \"1.1\",\n\tviewBox: \"-129.5 127 34 35\",\n\tstyle: { enableBackground: \"new -129.5 127 34 35\" },\n\tchildren: [\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#D0CAC5\",\n\t\t\t\tstroke: \"#E6E3E0\",\n\t\t\t\tstrokeWidth: .75,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5\\n C-97.4,153.5-104.3,160.4-112.9,160.4z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\tstyle: {\n\t\t\t\tfill: \"#B3ABA4\",\n\t\t\t\tstroke: \"#CDC7C2\",\n\t\t\t\tstrokeWidth: .5,\n\t\t\t\tstrokeMiterlimit: 10\n\t\t\t},\n\t\t\td: \"M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z\"\n\t\t}),\n\t\t/* @__PURE__ */ t(\"circle\", {\n\t\t\tcx: \"-114.2\",\n\t\t\tcy: \"143.5\",\n\t\t\tr: \"14\",\n\t\t\tfill: e\n\t\t}),\n\t\t/* @__PURE__ */ t(\"path\", {\n\t\t\td: \"M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z\\n M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z\",\n\t\t\tfill: i\n\t\t}),\n\t\t/* @__PURE__ */ t(\"polygon\", {\n\t\t\tpoints: \"-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2\",\n\t\t\tfill: r\n\t\t})\n\t]\n});\na.propTypes = {\n\tbgFill: e.string.isRequired,\n\tfgFill: e.string.isRequired,\n\tborderFill: e.string.isRequired\n};\nvar o = r(\"div\")(({ size: e }) => ({\n\twidth: e || \"25px\",\n\theight: e || \"25px\"\n})), s = ({ open: e, size: n }) => /* @__PURE__ */ t(o, {\n\tsize: n,\n\tchildren: e ? /* @__PURE__ */ t(i, {\n\t\tbgFill: \"#bce2ff\",\n\t\tfgFill: \"#1a9cff\"\n\t}) : /* @__PURE__ */ t(a, {\n\t\tbgFill: \"white\",\n\t\tfgFill: \"#1a9cff\",\n\t\tborderFill: \"#bce2ff\"\n\t})\n});\ns.propTypes = {\n\topen: e.bool,\n\tsize: e.string\n}, s.defaultProps = { open: !1 };\n//#endregion\nexport { s as default };\n","import { styled as e } from \"@mui/material/styles\";\nimport { CSSTransition as t } from \"react-transition-group\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { useRef as r } from \"react\";\nimport i from \"prop-types\";\n//#region src/expander.tsx\nvar a = \"height ease-in 300ms, opacity ease-in 300ms\", o = e(\"div\")(() => ({\n\tposition: \"relative\",\n\theight: 0,\n\toverflow: \"hidden\",\n\tdisplay: \"flex\",\n\tvisibility: \"hidden\",\n\twidth: 0,\n\t\"&.enter\": {\n\t\ttransition: a,\n\t\topacity: 1,\n\t\theight: \"auto\",\n\t\twidth: \"auto\",\n\t\tvisibility: \"visible\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.enter-done\": {\n\t\theight: \"auto\",\n\t\tvisibility: \"visible\",\n\t\twidth: \"auto\",\n\t\tminHeight: \"25px\"\n\t},\n\t\"&.exit\": {\n\t\ttransition: a,\n\t\topacity: 0,\n\t\theight: 0,\n\t\tvisibility: \"visible\",\n\t\twidth: 0\n\t},\n\t\"&.exit-done\": {\n\t\topacity: 0,\n\t\tvisibility: \"hidden\",\n\t\theight: 0,\n\t\twidth: 0\n\t}\n})), s = (e) => {\n\tlet { show: i, children: a, className: s } = e, c = r(null);\n\treturn /* @__PURE__ */ n(t, {\n\t\tnodeRef: c,\n\t\tin: i,\n\t\tappear: !0,\n\t\tmountOnEnter: !1,\n\t\ttimeout: 300,\n\t\tclassNames: {\n\t\t\tenter: \"enter\",\n\t\t\tenterDone: \"enter-done\",\n\t\t\texit: \"exit\",\n\t\t\texitDone: \"exit-done\"\n\t\t},\n\t\tchildren: /* @__PURE__ */ n(o, {\n\t\t\tref: c,\n\t\t\tclassName: s,\n\t\t\tchildren: a\n\t\t})\n\t});\n};\ns.propTypes = {\n\tshow: i.bool.isRequired,\n\tclassName: i.string,\n\tchildren: i.oneOfType([i.arrayOf(i.node), i.node]).isRequired\n};\n//#endregion\nexport { s as default };\n","import e from \"./expander.js\";\nimport { styled as t } from \"@mui/material/styles\";\nimport { CSSTransition as n } from \"react-transition-group\";\nimport { CorrectResponse as r } from \"@pie-lib/icons\";\nimport * as i from \"@pie-lib/render-ui\";\nimport { Readable as a, color as o } from \"@pie-lib/render-ui\";\nimport { jsx as s, jsxs as c } from \"react/jsx-runtime\";\nimport l from \"react\";\nimport u from \"prop-types\";\nimport d from \"@pie-lib/translator\";\n//#region src/index.tsx\nfunction f(e) {\n\treturn typeof e == \"function\" || typeof e == \"object\" && !!e && typeof e.$$typeof == \"symbol\";\n}\nfunction p(e, t) {\n\treturn !e || f(e) ? e : f(e.default) ? e.default : t && f(e[t]) ? e[t] : t && f(e[t]?.default) ? e[t].default : e;\n}\nvar m = p(a, \"Readable\") || p(_.Readable, \"Readable\"), h = i, g = h.default, _ = g && typeof g == \"object\" ? g : h, { translator: v } = d, y = {\n\tWebkitTouchCallout: \"none\",\n\tWebkitUserSelect: \"none\",\n\tKhtmlUserSelect: \"none\",\n\tMozUserSelect: \"none\",\n\tmsUserSelect: \"none\",\n\tuserSelect: \"none\"\n}, b = t(\"div\")(() => ({\n\twidth: \"100%\",\n\tcursor: \"pointer\"\n})), x = t(\"div\")(() => ({\n\tmargin: \"0 auto\",\n\ttextAlign: \"center\",\n\tdisplay: \"flex\"\n})), S = t(\"div\")(() => ({\n\twidth: \"fit-content\",\n\tminWidth: \"140px\",\n\talignSelf: \"center\",\n\tverticalAlign: \"middle\",\n\tcolor: `var(--correct-answer-toggle-label-color, ${o.text()})`,\n\tfontWeight: \"normal\",\n\t...y\n})), C = t(\"div\")(() => ({\n\tposition: \"absolute\",\n\twidth: \"25px\",\n\t\"&.enter\": { opacity: \"0\" },\n\t\"&.enter-active\": {\n\t\topacity: \"1\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t},\n\t\"&.exit\": { opacity: \"1\" },\n\t\"&.exit-active\": {\n\t\topacity: \"0\",\n\t\ttransition: \"opacity 0.3s ease-in\"\n\t}\n})), w = t(\"div\")(() => ({\n\twidth: \"25px\",\n\tmarginRight: \"5px\",\n\tdisplay: \"flex\",\n\talignItems: \"center\"\n})), T = class t extends l.Component {\n\tstatic propTypes = {\n\t\tonToggle: u.func,\n\t\ttoggled: u.bool,\n\t\tshow: u.bool,\n\t\thideMessage: u.string,\n\t\tshowMessage: u.string,\n\t\tclassName: u.string,\n\t\tlanguage: u.string\n\t};\n\tstatic defaultProps = {\n\t\tshowMessage: \"Show correct answer\",\n\t\thideMessage: \"Hide correct answer\",\n\t\tshow: !1,\n\t\ttoggled: !1\n\t};\n\tconstructor(e) {\n\t\tsuper(e), this.state = { show: e.show }, this.openIconRef = l.createRef(), this.closedIconRef = l.createRef(), t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t};\n\t}\n\tonClick() {\n\t\tthis.props.onToggle(!this.props.toggled);\n\t}\n\tonTouch(e) {\n\t\te.preventDefault(), this.props.onToggle(!this.props.toggled);\n\t}\n\tUNSAFE_componentWillReceiveProps(e) {\n\t\tthis.setState({ show: e.show }), e.language !== this.props?.language && (t.defaultProps = {\n\t\t\t...t.defaultProps,\n\t\t\tshowMessage: v.t(\"common:showCorrectAnswer\", { lng: e.language }),\n\t\t\thideMessage: v.t(\"common:hideCorrectAnswer\", { lng: e.language })\n\t\t});\n\t}\n\trender() {\n\t\tlet { className: t, toggled: i, hideMessage: a, showMessage: o } = this.props;\n\t\treturn /* @__PURE__ */ s(b, {\n\t\t\tclassName: t,\n\t\t\tchildren: /* @__PURE__ */ s(e, {\n\t\t\t\tshow: this.state.show,\n\t\t\t\tchildren: /* @__PURE__ */ c(x, {\n\t\t\t\t\tonClick: this.onClick.bind(this),\n\t\t\t\t\tonTouchEnd: this.onTouch.bind(this),\n\t\t\t\t\tchildren: [/* @__PURE__ */ c(w, { children: [/* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.openIconRef,\n\t\t\t\t\t\ttimeout: 400,\n\t\t\t\t\t\tin: i,\n\t\t\t\t\t\texit: !i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.openIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-open\")\n\t\t\t\t\t\t})\n\t\t\t\t\t}), /* @__PURE__ */ s(n, {\n\t\t\t\t\t\tnodeRef: this.closedIconRef,\n\t\t\t\t\t\ttimeout: 5e3,\n\t\t\t\t\t\tin: !i,\n\t\t\t\t\t\texit: i,\n\t\t\t\t\t\tclassNames: {\n\t\t\t\t\t\t\tenter: \"enter\",\n\t\t\t\t\t\t\tenterActive: \"enter-active\",\n\t\t\t\t\t\t\texit: \"exit\",\n\t\t\t\t\t\t\texitActive: \"exit-active\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(C, {\n\t\t\t\t\t\t\tref: this.closedIconRef,\n\t\t\t\t\t\t\tchildren: /* @__PURE__ */ s(r, { open: i }, \"correct-closed\")\n\t\t\t\t\t\t})\n\t\t\t\t\t})] }), /* @__PURE__ */ s(m, {\n\t\t\t\t\t\tfalse: !0,\n\t\t\t\t\t\tchildren: /* @__PURE__ */ s(S, {\n\t\t\t\t\t\t\t\"aria-hidden\": !this.state.show,\n\t\t\t\t\t\t\tchildren: i ? a : o\n\t\t\t\t\t\t})\n\t\t\t\t\t})]\n\t\t\t\t})\n\t\t\t})\n\t\t});\n\t}\n};\n//#endregion\nexport { T as CorrectAnswerToggle, T as default };\n","// @ts-nocheck\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { GraphContainer } from '@pie-lib/graphing-solution-set';\nimport { color, Collapsible as CollapsibleImport, hasText, hasMedia, PreviewPrompt as PreviewPromptImport, UiLayout as UiLayoutImport } from '@pie-lib/render-ui';\n\nfunction isRenderableReactInteropType(value: any) {\n return (\n typeof value === 'function' ||\n (typeof value === 'object' && value !== null && typeof value.$$typeof === 'symbol')\n );\n}\n\nfunction unwrapReactInteropSymbol(maybeSymbol: any, namedExport?: string) {\n if (!maybeSymbol) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol)) return maybeSymbol;\n if (isRenderableReactInteropType(maybeSymbol.default)) return maybeSymbol.default;\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport])) {\n return maybeSymbol[namedExport];\n }\n if (namedExport && isRenderableReactInteropType(maybeSymbol[namedExport]?.default)) {\n return maybeSymbol[namedExport].default;\n }\n return maybeSymbol;\n}\nconst UiLayout = unwrapReactInteropSymbol(UiLayoutImport, 'UiLayout') || unwrapReactInteropSymbol(renderUi.UiLayout, 'UiLayout');\nconst PreviewPrompt = unwrapReactInteropSymbol(PreviewPromptImport, 'PreviewPrompt') || unwrapReactInteropSymbol(renderUi.PreviewPrompt, 'PreviewPrompt');\nconst Collapsible = unwrapReactInteropSymbol(CollapsibleImport, 'Collapsible') || unwrapReactInteropSymbol(renderUi.Collapsible, 'Collapsible');\nimport * as RenderUiNamespace from '@pie-lib/render-ui';\nconst renderUiNamespaceAny = RenderUiNamespace as any;\nconst renderUiDefaultMaybe = renderUiNamespaceAny['default'];\nconst renderUi =\n renderUiDefaultMaybe && typeof renderUiDefaultMaybe === 'object'\n ? renderUiDefaultMaybe\n : renderUiNamespaceAny;\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { findSectionsInSolutionSet, pointInsidePolygon, checkIfLinesAreAdded } from './utils.js';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nconst MainContainer: any = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst TeacherInstructions: any = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Graph: any = styled(GraphContainer)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n session: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n };\n\n state = {\n showingCorrect: false,\n dialog: {\n open: false,\n },\n };\n\n /*\n * Function to handle the AlertDialog\n * @param {boolean} open - open state of the dialog\n * @param {function} callback - callback function to be called after setting the state\n * */\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n /*\n * Function to toggle the correct answer\n * @param {boolean} showingCorrect - state of the correct answer\n * */\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n /*\n * Reset the graph to original state\n * */\n onResetClick: any = () => {\n const { model, session, setGssData } = this.props;\n let { gssData } = model;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `This will remove all the elements added on the graph and reset graph to original state. Are you sure you want to continue?`,\n onConfirm: () => {\n // Reset the graph to original state\n session.answer = [];\n gssData.selectedTool = 'lineA';\n gssData.lineA.lineType = 'Solid';\n if (gssData.lineB) gssData.lineB.lineType = 'Solid';\n // Set the gssData and session\n setGssData(gssData, session);\n this.handleAlertDialog(false);\n },\n onClose: () => this.handleAlertDialog(false),\n },\n });\n };\n\n /*\n * Function to handle the event of solution set selected\n * @param {object} point - point selected on the graph\n * */\n onSolutionSetSelected: any = (point) => {\n const { model, session, setGssData } = this.props;\n const { gssData, disabled } = model;\n if (disabled) {\n return;\n }\n for (const section of gssData.sections) {\n if (pointInsidePolygon(point, section)) {\n let polygon = {\n points: section,\n building: false,\n type: 'polygon',\n closed: true,\n isSolution: true,\n };\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n session.answer.push(polygon);\n break;\n }\n }\n setGssData(gssData, session);\n };\n\n /*\n * Function to handle the event of change in GSS Line Data\n * @param {object} gssData - GSS Line Data\n * @param {string} oldSelectedTool - old selected tool\n * */\n onChangeGssLineData: any = (gssData, oldSelectedTool) => {\n const { model, session } = this.props;\n const { domain, range, disabled } = model;\n if (disabled) {\n return;\n }\n if (gssData.selectedTool === 'solutionSet') {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n if (!checkIfLinesAreAdded(gssData, lines)) {\n gssData.selectedTool = oldSelectedTool;\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please define the line(s) and then select a solution set for the item.',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n } else {\n let lines = session.answer.filter((mark) => mark.type !== 'polygon');\n gssData = findSectionsInSolutionSet(gssData, lines, domain, range);\n }\n this.handleGssDataChange(gssData, session);\n } else {\n let polygons = session.answer.filter((mark) => mark.type === 'polygon');\n if (oldSelectedTool === 'solutionSet' && polygons.length > 0) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Changing a line after adding a solution set will clear your selected solution set. Click \\'Clear Solution Set\\' to change the line. Otherwise, click \\'Cancel\\'.',\n onConfirm: () => {\n session.answer = session.answer.filter((mark) => mark.type !== 'polygon');\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n onConfirmText: 'CLEAR SOLUTION SET',\n onClose: () => {\n gssData.selectedTool = oldSelectedTool;\n this.handleGssDataChange(gssData, session);\n this.handleAlertDialog(false);\n },\n },\n });\n } else {\n this.handleGssDataChange(gssData, session);\n }\n }\n };\n\n /*\n * Function to handle the event of change in GSS Data\n * @param {object} gssData - GSS Data\n * @param {object} session - session data\n * */\n handleGssDataChange: any = (gssData, session) => {\n const { setGssData } = this.props;\n if (session.answer && session.answer.length > 0 && session.answer[0] && gssData.lineA) {\n session.answer[0].fill = gssData.lineA.lineType;\n }\n if (session.answer && session.answer.length > 1 && session.answer[1] && gssData.lineB) {\n session.answer[1].fill = gssData.lineB.lineType;\n }\n if (\n (gssData.selectedTool === 'lineB' && session.answer.length === 0) ||\n (gssData.selectedTool === 'lineB' && session.answer[0].building)\n ) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line A to the graph before adding Line B',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineA';\n }\n if (gssData.selectedTool === 'lineA' && session.answer.length > 1 && session.answer[1].building) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'Please add Line B to the graph before switching to Line A',\n onConfirm: () => this.handleAlertDialog(false),\n },\n });\n gssData.selectedTool = 'lineB';\n }\n setGssData(gssData, session);\n };\n\n /*\n * Render the component\n * */\n render() {\n const { model, onAnswersChange, session } = this.props;\n const { showingCorrect, dialog } = this.state;\n const { answer } = session || {};\n const {\n answersCorrected,\n arrows,\n coordinatesOnHover,\n correctResponse,\n defaultTool,\n disabled,\n domain,\n extraCSSRules,\n labels,\n labelsEnabled,\n prompt,\n range,\n rationale,\n size,\n showToggle,\n title,\n titleEnabled,\n teacherInstructions,\n language,\n gssLineData,\n gssData,\n } = model || {};\n const marks = answersCorrected || answer || [];\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n return (\n <MainContainer extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <TeacherInstructions\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </TeacherInstructions>\n )}\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n {showingCorrect && showToggle ? (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n disabled={true}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={correctResponse.map((i) => ({ ...i, correctness: 'correct' }))}\n onChangeMarks={onAnswersChange}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssLineData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n ) : (\n <Graph\n axesSettings={{ includeArrows: arrows }}\n coordinatesOnHover={coordinatesOnHover}\n defaultTool={defaultTool}\n disabled={disabled}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n labels={labels}\n marks={marks}\n onChangeMarks={onAnswersChange}\n onCustomReset={this.onResetClick}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={size}\n title={title}\n language={language}\n gssLineData={gssData}\n onChangeGssLineData={this.onChangeGssLineData}\n onSolutionSetSelected={this.onSolutionSetSelected}\n toolbarTools={['line', 'polygon']}\n />\n )}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n onConfirmText={dialog.onConfirmText ? dialog.onConfirmText : 'OK'}\n />\n </MainContainer>\n );\n }\n}\n\nexport default Main;\n","// @ts-nocheck\n\nimport React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent } from '@pie-element/shared-player-events';\nimport { renderMath } from '@pie-element/shared-math-rendering-mathjax';\nimport { findSectionsInSolutionSet, removeInvalidAnswers } from './utils.js';\nimport Main from './main.js';\n\nexport { Main as Component };\n\nexport default class Graphing extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n /*\n * Function to set model\n * @param {object} m - Model object\n * */\n set model(m) {\n this._model = m;\n this._render();\n }\n\n /*\n * Function to set session\n * @param {object} s - Session object\n * */\n set session(s) {\n this._session = s;\n if (!this._session.answer) {\n this._session.answer = [];\n }\n const { answer } = this._session || {};\n const { gssLineData, domain, range } = this._model;\n let section = answer && answer.filter((mark) => mark.type === 'polygon').length > 0;\n if (gssLineData.numberOfLines === 1) {\n this._model.gssData = {\n numberOfLines: 1,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n };\n } else {\n this._model.gssData = {\n numberOfLines: 2,\n selectedTool: section ? 'solutionSet' : 'lineA',\n sections: [],\n lineA: {\n lineType: answer && answer.length > 0 ? answer[0].fill : 'Solid',\n },\n lineB: {\n lineType: answer && answer.length > 1 ? answer[1].fill : 'Solid',\n },\n };\n }\n if (section) {\n this._model.gssData = findSectionsInSolutionSet(this._model.gssData, answer, domain, range);\n }\n this._render();\n }\n\n /*\n * Function to get session\n * */\n get session() {\n return this._session;\n }\n\n connectedCallback() {\n this._render();\n }\n\n /*\n * Is complete function\n * @param {object} answer - Answer object\n * */\n isComplete = (answer) => Array.isArray(answer) && answer.length > 0;\n\n /*\n * Callback function to change answers\n * @param {object} answer - Answer object\n * @param {boolean} isUndoOperation - Boolean value to check if undo operation is performed\n * */\n changeAnswers: any = (answer, isUndoOperation) => {\n // avoid removeInvalidObjects when undo or redo operations are executed\n // in order to preserve the logic of undo and redo\n const { gssData } = this._model;\n if (gssData.selectedTool === 'lineA' && answer.length > 0) {\n answer[0].fill = gssData['lineA'].lineType;\n }\n if (gssData.selectedTool === 'lineB' && answer.length > 1) {\n answer[1].fill = gssData['lineB'].lineType;\n }\n if (answer.length === 0) {\n gssData.selectedTool = 'lineA';\n this._model.gssData = gssData;\n }\n if (!isUndoOperation) {\n this._session.answer = removeInvalidAnswers(answer);\n } else {\n this._session.answer = answer;\n }\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Function to set gssData object and session object\n * @param {object} gssData - GSS Data object\n * @param {object} session - Session object\n * */\n setGssData: any = (gssData, session) => {\n this._model.gssData = gssData;\n this._session = session;\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete(this._session.answer)));\n this._render();\n };\n\n /*\n * Render function\n * */\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onAnswersChange: this.changeAnswers,\n setGssData: this.setGssData,\n });\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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"}
@@ -41,8 +41,8 @@ theme.transitions = createTransitions(theme.transitions || {});
41
41
 
42
42
  export default theme;`}function yc(e){return typeof e==`number`?`${(e*100).toFixed(0)}%`:`calc((${e}) * 100%)`}var bc=e=>{if(!Number.isNaN(+e))return+e;let t=e.match(/\d*\.?\d+/g);if(!t)return 0;let n=0;for(let e=0;e<t.length;e+=1)n+=+t[e];return n};function xc(e){Object.assign(e,{alpha(t,n){let r=this||e;return r.colorSpace?`oklch(from ${t} l c h / ${typeof n==`string`?`calc(${n})`:n})`:r.vars?`rgba(${t.replace(/var\(--([^,\s)]+)(?:,[^)]+)?\)+/g,`var(--$1Channel)`)} / ${typeof n==`string`?`calc(${n})`:n})`:No(t,bc(n))},lighten(t,n){let r=this||e;return r.colorSpace?`color-mix(in ${r.colorSpace}, ${t}, #fff ${yc(n)})`:Lo(t,n)},darken(t,n){let r=this||e;return r.colorSpace?`color-mix(in ${r.colorSpace}, ${t}, #000 ${yc(n)})`:Fo(t,n)}})}function Sc(e={},...t){let{breakpoints:n,mixins:r={},spacing:i,palette:a={},transitions:o={},typography:s={},shape:c,colorSpace:l,...u}=e;if(e.vars&&e.generateThemeVars===void 0)throw Error(on(20));let d=$s({...a,colorSpace:l}),f=qa(e),p=ji(f,{mixins:tc(f.breakpoints,r),palette:d,shadows:uc.slice(),typography:ac(d,s),transitions:hc(o),zIndex:{...gc}});return p=ji(p,u),p=t.reduce((e,t)=>ji(e,t),p),p.unstable_sxConfig={...Va,...u?.unstable_sxConfig},p.unstable_sx=function(e){return Ga({sx:e,theme:this})},p.toRuntimeSource=vc,xc(p),p}function Cc(e){let t;return t=e<1?5.11916*e**2:4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}var wc=[...Array(25)].map((e,t)=>{if(t===0)return`none`;let n=Cc(t);return`linear-gradient(rgba(255 255 255 / ${n}), rgba(255 255 255 / ${n}))`});function Tc(e){return{inputPlaceholder:e===`dark`?.5:.42,inputUnderline:e===`dark`?.7:.42,switchTrackDisabled:e===`dark`?.2:.12,switchTrack:e===`dark`?.3:.38}}function Ec(e){return e===`dark`?wc:[]}function R(e){let{palette:t={mode:`light`},opacity:n,overlays:r,colorSpace:i,...a}=e,o=$s({...t,colorSpace:i});return{palette:o,opacity:{...Tc(o.mode),...n},overlays:r||Ec(o.mode),...a}}function Dc(e){return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|modularCssLayers|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]===`palette`&&!!e[1]?.match(/(mode|contrastThreshold|tonalOffset)/)}var Oc=e=>[...[...Array(25)].map((t,n)=>`--${e?`${e}-`:``}overlays-${n}`),`--${e?`${e}-`:``}palette-AppBar-darkBg`,`--${e?`${e}-`:``}palette-AppBar-darkColor`],kc=e=>(t,n)=>{let r=e.rootSelector||`:root`,i=e.colorSchemeSelector,a=i;if(i===`class`&&(a=`.%s`),i===`data`&&(a=`[data-%s]`),i?.startsWith(`data-`)&&!i.includes(`%s`)&&(a=`[${i}="%s"]`),e.defaultColorScheme===t){if(t===`dark`){let i={};return Oc(e.cssVarPrefix).forEach(e=>{i[e]=n[e],delete n[e]}),a===`media`?{[r]:n,"@media (prefers-color-scheme: dark)":{[r]:i}}:a?{[a.replace(`%s`,t)]:i,[`${r}, ${a.replace(`%s`,t)}`]:n}:{[r]:{...n,...i}}}if(a&&a!==`media`)return`${r}, ${a.replace(`%s`,String(t))}`}else if(t){if(a===`media`)return{[`@media (prefers-color-scheme: ${String(t)})`]:{[r]:n}};if(a)return a.replace(`%s`,String(t))}return r};function Ac(e,t){t.forEach(t=>{e[t]||(e[t]={})})}function z(e,t,n){!e[t]&&n&&(e[t]=n)}function jc(e){return typeof e!=`string`||!e.startsWith(`hsl`)?e:Ao(e)}function Mc(e,t){`${t}Channel`in e||(e[`${t}Channel`]=Oo(jc(e[t]),`MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().
43
43
  To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function Nc(e){return typeof e==`number`?`${e}px`:typeof e==`string`||typeof e==`function`||Array.isArray(e)?e:`8px`}var Pc=e=>{try{return e()}catch{}},Fc=(e=`mui`)=>Cs(e);function Ic(e,t,n,r,i){if(!n)return;n=n===!0?{}:n;let a=i===`dark`?`dark`:`light`;if(!r){t[i]=R({...n,palette:{mode:a,...n?.palette},colorSpace:e});return}let{palette:o,...s}=Sc({...r,palette:{mode:a,...n?.palette},colorSpace:e});return t[i]={...n,palette:o,opacity:{...Tc(a),...n?.opacity},overlays:n?.overlays||Ec(a)},s}function Lc(e={},...t){let{colorSchemes:n={light:!0},defaultColorScheme:r,disableCssColorScheme:i=!1,cssVarPrefix:a=`mui`,nativeColor:o=!1,shouldSkipGeneratingVar:s=Dc,colorSchemeSelector:c=n.light&&n.dark?`media`:void 0,rootSelector:l=`:root`,...u}=e,d=Object.keys(n)[0],f=r||(n.light&&d!==`light`?`light`:d),p=Fc(a),{[f]:m,light:h,dark:g,..._}=n,v={..._},y=m;if((f===`dark`&&!(`dark`in n)||f===`light`&&!(`light`in n))&&(y=!0),!y)throw Error(on(21,f));let b;o&&(b=`oklch`);let x=Ic(b,v,y,u,f);h&&!v.light&&Ic(b,v,h,void 0,`light`),g&&!v.dark&&Ic(b,v,g,void 0,`dark`);let S={defaultColorScheme:f,...x,cssVarPrefix:a,colorSchemeSelector:c,rootSelector:l,getCssVar:p,colorSchemes:v,font:{...ec(x.typography),...x.font},spacing:Nc(u.spacing)};Object.keys(S.colorSchemes).forEach(e=>{let t=S.colorSchemes[e].palette,n=e=>{let n=e.split(`-`),r=n[1],i=n[2];return p(e,t[r][i])};t.mode===`light`&&(z(t.common,`background`,`#fff`),z(t.common,`onBackground`,`#000`)),t.mode===`dark`&&(z(t.common,`background`,`#000`),z(t.common,`onBackground`,`#fff`));function r(e,t,n){if(b){let r;return e===Po&&(r=`transparent ${((1-n)*100).toFixed(0)}%`),e===Io&&(r=`#000 ${(n*100).toFixed(0)}%`),e===Ro&&(r=`#fff ${(n*100).toFixed(0)}%`),`color-mix(in ${b}, ${t}, ${r})`}return e(t,n)}if(Ac(t,[`Alert`,`AppBar`,`Avatar`,`Button`,`Chip`,`FilledInput`,`LinearProgress`,`Skeleton`,`Slider`,`SnackbarContent`,`SpeedDialAction`,`StepConnector`,`StepContent`,`Switch`,`TableCell`,`Tooltip`]),t.mode===`light`){z(t.Alert,`errorColor`,r(Io,o?p(`palette-error-light`):t.error.light,.6)),z(t.Alert,`infoColor`,r(Io,o?p(`palette-info-light`):t.info.light,.6)),z(t.Alert,`successColor`,r(Io,o?p(`palette-success-light`):t.success.light,.6)),z(t.Alert,`warningColor`,r(Io,o?p(`palette-warning-light`):t.warning.light,.6)),z(t.Alert,`errorFilledBg`,n(`palette-error-main`)),z(t.Alert,`infoFilledBg`,n(`palette-info-main`)),z(t.Alert,`successFilledBg`,n(`palette-success-main`)),z(t.Alert,`warningFilledBg`,n(`palette-warning-main`)),z(t.Alert,`errorFilledColor`,Pc(()=>t.getContrastText(t.error.main))),z(t.Alert,`infoFilledColor`,Pc(()=>t.getContrastText(t.info.main))),z(t.Alert,`successFilledColor`,Pc(()=>t.getContrastText(t.success.main))),z(t.Alert,`warningFilledColor`,Pc(()=>t.getContrastText(t.warning.main))),z(t.Alert,`errorStandardBg`,r(Ro,o?p(`palette-error-light`):t.error.light,.9)),z(t.Alert,`infoStandardBg`,r(Ro,o?p(`palette-info-light`):t.info.light,.9)),z(t.Alert,`successStandardBg`,r(Ro,o?p(`palette-success-light`):t.success.light,.9)),z(t.Alert,`warningStandardBg`,r(Ro,o?p(`palette-warning-light`):t.warning.light,.9)),z(t.Alert,`errorIconColor`,n(`palette-error-main`)),z(t.Alert,`infoIconColor`,n(`palette-info-main`)),z(t.Alert,`successIconColor`,n(`palette-success-main`)),z(t.Alert,`warningIconColor`,n(`palette-warning-main`)),z(t.AppBar,`defaultBg`,n(`palette-grey-100`)),z(t.Avatar,`defaultBg`,n(`palette-grey-400`)),z(t.Button,`inheritContainedBg`,n(`palette-grey-300`)),z(t.Button,`inheritContainedHoverBg`,n(`palette-grey-A100`)),z(t.Chip,`defaultBorder`,n(`palette-grey-400`)),z(t.Chip,`defaultAvatarColor`,n(`palette-grey-700`)),z(t.Chip,`defaultIconColor`,n(`palette-grey-700`)),z(t.FilledInput,`bg`,`rgba(0, 0, 0, 0.06)`),z(t.FilledInput,`hoverBg`,`rgba(0, 0, 0, 0.09)`),z(t.FilledInput,`disabledBg`,`rgba(0, 0, 0, 0.12)`),z(t.LinearProgress,`primaryBg`,r(Ro,o?p(`palette-primary-main`):t.primary.main,.62)),z(t.LinearProgress,`secondaryBg`,r(Ro,o?p(`palette-secondary-main`):t.secondary.main,.62)),z(t.LinearProgress,`errorBg`,r(Ro,o?p(`palette-error-main`):t.error.main,.62)),z(t.LinearProgress,`infoBg`,r(Ro,o?p(`palette-info-main`):t.info.main,.62)),z(t.LinearProgress,`successBg`,r(Ro,o?p(`palette-success-main`):t.success.main,.62)),z(t.LinearProgress,`warningBg`,r(Ro,o?p(`palette-warning-light`):t.warning.main,.62)),z(t.Skeleton,`bg`,b?r(Po,o?p(`palette-text-primary`):t.text.primary,.11):`rgba(${n(`palette-text-primaryChannel`)} / 0.11)`),z(t.Slider,`primaryTrack`,r(Ro,o?p(`palette-primary-main`):t.primary.main,.62)),z(t.Slider,`secondaryTrack`,r(Ro,o?p(`palette-secondary-main`):t.secondary.main,.62)),z(t.Slider,`errorTrack`,r(Ro,o?p(`palette-error-main`):t.error.main,.62)),z(t.Slider,`infoTrack`,r(Ro,o?p(`palette-info-main`):t.info.main,.62)),z(t.Slider,`successTrack`,r(Ro,o?p(`palette-success-main`):t.success.main,.62)),z(t.Slider,`warningTrack`,r(Ro,o?p(`palette-warning-main`):t.warning.main,.62));let e=b?r(Io,o?p(`palette-background-default`):t.background.default,.6825):Bo(t.background.default,.8);z(t.SnackbarContent,`bg`,e),z(t.SnackbarContent,`color`,Pc(()=>b?Us.text.primary:t.getContrastText(e))),z(t.SpeedDialAction,`fabHoverBg`,Bo(t.background.paper,.15)),z(t.StepConnector,`border`,n(`palette-grey-400`)),z(t.StepContent,`border`,n(`palette-grey-400`)),z(t.Switch,`defaultColor`,n(`palette-common-white`)),z(t.Switch,`defaultDisabledColor`,n(`palette-grey-100`)),z(t.Switch,`primaryDisabledColor`,r(Ro,o?p(`palette-primary-main`):t.primary.main,.62)),z(t.Switch,`secondaryDisabledColor`,r(Ro,o?p(`palette-secondary-main`):t.secondary.main,.62)),z(t.Switch,`errorDisabledColor`,r(Ro,o?p(`palette-error-main`):t.error.main,.62)),z(t.Switch,`infoDisabledColor`,r(Ro,o?p(`palette-info-main`):t.info.main,.62)),z(t.Switch,`successDisabledColor`,r(Ro,o?p(`palette-success-main`):t.success.main,.62)),z(t.Switch,`warningDisabledColor`,r(Ro,o?p(`palette-warning-main`):t.warning.main,.62)),z(t.TableCell,`border`,r(Ro,Po(o?p(`palette-divider`):t.divider,1),.88)),z(t.Tooltip,`bg`,r(Po,o?p(`palette-grey-700`):t.grey[700],.92))}if(t.mode===`dark`){z(t.Alert,`errorColor`,r(Ro,o?p(`palette-error-light`):t.error.light,.6)),z(t.Alert,`infoColor`,r(Ro,o?p(`palette-info-light`):t.info.light,.6)),z(t.Alert,`successColor`,r(Ro,o?p(`palette-success-light`):t.success.light,.6)),z(t.Alert,`warningColor`,r(Ro,o?p(`palette-warning-light`):t.warning.light,.6)),z(t.Alert,`errorFilledBg`,n(`palette-error-dark`)),z(t.Alert,`infoFilledBg`,n(`palette-info-dark`)),z(t.Alert,`successFilledBg`,n(`palette-success-dark`)),z(t.Alert,`warningFilledBg`,n(`palette-warning-dark`)),z(t.Alert,`errorFilledColor`,Pc(()=>t.getContrastText(t.error.dark))),z(t.Alert,`infoFilledColor`,Pc(()=>t.getContrastText(t.info.dark))),z(t.Alert,`successFilledColor`,Pc(()=>t.getContrastText(t.success.dark))),z(t.Alert,`warningFilledColor`,Pc(()=>t.getContrastText(t.warning.dark))),z(t.Alert,`errorStandardBg`,r(Io,o?p(`palette-error-light`):t.error.light,.9)),z(t.Alert,`infoStandardBg`,r(Io,o?p(`palette-info-light`):t.info.light,.9)),z(t.Alert,`successStandardBg`,r(Io,o?p(`palette-success-light`):t.success.light,.9)),z(t.Alert,`warningStandardBg`,r(Io,o?p(`palette-warning-light`):t.warning.light,.9)),z(t.Alert,`errorIconColor`,n(`palette-error-main`)),z(t.Alert,`infoIconColor`,n(`palette-info-main`)),z(t.Alert,`successIconColor`,n(`palette-success-main`)),z(t.Alert,`warningIconColor`,n(`palette-warning-main`)),z(t.AppBar,`defaultBg`,n(`palette-grey-900`)),z(t.AppBar,`darkBg`,n(`palette-background-paper`)),z(t.AppBar,`darkColor`,n(`palette-text-primary`)),z(t.Avatar,`defaultBg`,n(`palette-grey-600`)),z(t.Button,`inheritContainedBg`,n(`palette-grey-800`)),z(t.Button,`inheritContainedHoverBg`,n(`palette-grey-700`)),z(t.Chip,`defaultBorder`,n(`palette-grey-700`)),z(t.Chip,`defaultAvatarColor`,n(`palette-grey-300`)),z(t.Chip,`defaultIconColor`,n(`palette-grey-300`)),z(t.FilledInput,`bg`,`rgba(255, 255, 255, 0.09)`),z(t.FilledInput,`hoverBg`,`rgba(255, 255, 255, 0.13)`),z(t.FilledInput,`disabledBg`,`rgba(255, 255, 255, 0.12)`),z(t.LinearProgress,`primaryBg`,r(Io,o?p(`palette-primary-main`):t.primary.main,.5)),z(t.LinearProgress,`secondaryBg`,r(Io,o?p(`palette-secondary-main`):t.secondary.main,.5)),z(t.LinearProgress,`errorBg`,r(Io,o?p(`palette-error-main`):t.error.main,.5)),z(t.LinearProgress,`infoBg`,r(Io,o?p(`palette-info-main`):t.info.main,.5)),z(t.LinearProgress,`successBg`,r(Io,o?p(`palette-success-main`):t.success.main,.5)),z(t.LinearProgress,`warningBg`,r(Io,o?p(`palette-warning-main`):t.warning.main,.5)),z(t.Skeleton,`bg`,b?r(Po,o?p(`palette-text-primary`):t.text.primary,.13):`rgba(${n(`palette-text-primaryChannel`)} / 0.13)`),z(t.Slider,`primaryTrack`,r(Io,o?p(`palette-primary-main`):t.primary.main,.5)),z(t.Slider,`secondaryTrack`,r(Io,o?p(`palette-secondary-main`):t.secondary.main,.5)),z(t.Slider,`errorTrack`,r(Io,o?p(`palette-error-main`):t.error.main,.5)),z(t.Slider,`infoTrack`,r(Io,o?p(`palette-info-main`):t.info.main,.5)),z(t.Slider,`successTrack`,r(Io,o?p(`palette-success-main`):t.success.main,.5)),z(t.Slider,`warningTrack`,r(Io,o?p(`palette-warning-light`):t.warning.main,.5));let e=b?r(Ro,o?p(`palette-background-default`):t.background.default,.985):Bo(t.background.default,.98);z(t.SnackbarContent,`bg`,e),z(t.SnackbarContent,`color`,Pc(()=>b?Vs.text.primary:t.getContrastText(e))),z(t.SpeedDialAction,`fabHoverBg`,Bo(t.background.paper,.15)),z(t.StepConnector,`border`,n(`palette-grey-600`)),z(t.StepContent,`border`,n(`palette-grey-600`)),z(t.Switch,`defaultColor`,n(`palette-grey-300`)),z(t.Switch,`defaultDisabledColor`,n(`palette-grey-600`)),z(t.Switch,`primaryDisabledColor`,r(Io,o?p(`palette-primary-main`):t.primary.main,.55)),z(t.Switch,`secondaryDisabledColor`,r(Io,o?p(`palette-secondary-main`):t.secondary.main,.55)),z(t.Switch,`errorDisabledColor`,r(Io,o?p(`palette-error-main`):t.error.main,.55)),z(t.Switch,`infoDisabledColor`,r(Io,o?p(`palette-info-main`):t.info.main,.55)),z(t.Switch,`successDisabledColor`,r(Io,o?p(`palette-success-main`):t.success.main,.55)),z(t.Switch,`warningDisabledColor`,r(Io,o?p(`palette-warning-light`):t.warning.main,.55)),z(t.TableCell,`border`,r(Io,Po(o?p(`palette-divider`):t.divider,1),.68)),z(t.Tooltip,`bg`,r(Po,o?p(`palette-grey-700`):t.grey[700],.92))}o||(Mc(t.background,`default`),Mc(t.background,`paper`),Mc(t.common,`background`),Mc(t.common,`onBackground`),Mc(t,`divider`)),Object.keys(t).forEach(e=>{let n=t[e];e!==`tonalOffset`&&!o&&n&&typeof n==`object`&&(n.main&&z(t[e],`mainChannel`,Oo(jc(n.main))),n.light&&z(t[e],`lightChannel`,Oo(jc(n.light))),n.dark&&z(t[e],`darkChannel`,Oo(jc(n.dark))),n.contrastText&&z(t[e],`contrastTextChannel`,Oo(jc(n.contrastText))),e===`text`&&(Mc(t[e],`primary`),Mc(t[e],`secondary`)),e===`action`&&(n.active&&Mc(t[e],`active`),n.selected&&Mc(t[e],`selected`)))})}),S=t.reduce((e,t)=>ji(e,t),S);let C={prefix:a,disableCssColorScheme:i,shouldSkipGeneratingVar:s,getSelector:kc(S),enableContrastVars:o},{vars:w,generateThemeVars:T,generateStyleSheets:E}=Os(S,C);return S.vars=w,Object.entries(S.colorSchemes[S.defaultColorScheme]).forEach(([e,t])=>{S[e]=t}),S.generateThemeVars=T,S.generateStyleSheets=E,S.generateSpacing=function(){return pa(u.spacing,aa(this))},S.getColorSchemeSelector=ks(c),S.spacing=S.generateSpacing(),S.shouldSkipGeneratingVar=s,S.unstable_sxConfig={...Va,...u?.unstable_sxConfig},S.unstable_sx=function(e){return Ga({sx:e,theme:this})},S.toRuntimeSource=vc,S}function Rc(e,t,n){e.colorSchemes&&n&&(e.colorSchemes[t]={...n!==!0&&n,palette:$s({...n===!0?{}:n.palette,mode:t})})}function zc(e={},...t){let{palette:n,cssVariables:r=!1,colorSchemes:i=n?void 0:{light:!0},defaultColorScheme:a=n?.mode,...o}=e,s=a||`light`,c=i?.[s],l={...i,...n?{[s]:{...typeof c!=`boolean`&&c,palette:n}}:void 0};if(r===!1){if(!(`colorSchemes`in e))return Sc(e,...t);let r=n;`palette`in e||l[s]&&(l[s]===!0?s===`dark`&&(r={mode:`dark`}):r=l[s].palette);let i=Sc({...e,palette:r},...t);return i.defaultColorScheme=s,i.colorSchemes=l,i.palette.mode===`light`&&(i.colorSchemes.light={...l.light!==!0&&l.light,palette:i.palette},Rc(i,`dark`,l.dark)),i.palette.mode===`dark`&&(i.colorSchemes.dark={...l.dark!==!0&&l.dark,palette:i.palette},Rc(i,`light`,l.light)),i}return!n&&!(`light`in l)&&s===`light`&&(l.light=!0),Lc({...o,colorSchemes:l,defaultColorScheme:s,...typeof r!=`boolean`&&r},...t)}var Bc=zc();function Vc(){let e=Za(Bc);return e.$$material||e}function Hc(e){return e!==`ownerState`&&e!==`theme`&&e!==`sx`&&e!==`as`}var Uc=e=>Hc(e)&&e!==`classes`,B=_o({themeId:sn,defaultTheme:Bc,rootShouldForwardProp:Uc});function Wc({theme:e,...t}){let n=`$$material`in e?e[sn]:void 0;return(0,I.jsx)(ss,{...t,themeId:n?sn:void 0,theme:n||e})}var Gc={attribute:`data-mui-color-scheme`,colorSchemeStorageKey:`mui-color-scheme`,defaultLightColorScheme:`light`,defaultDarkColorScheme:`dark`,modeStorageKey:`mui-mode`},{CssVarsProvider:Kc,useColorScheme:qc,getInitColorSchemeScript:Jc}=Ss({themeId:sn,theme:()=>zc({cssVariables:!0}),colorSchemeStorageKey:Gc.colorSchemeStorageKey,modeStorageKey:Gc.modeStorageKey,defaultColorScheme:{light:Gc.defaultLightColorScheme,dark:Gc.defaultDarkColorScheme},resolveTheme:e=>{let t={...e,typography:ac(e.palette,e.typography)};return t.unstable_sx=function(e){return Ga({sx:e,theme:this})},t}}),Yc=Kc;function Xc({theme:e,...t}){let n=F.useMemo(()=>{if(typeof e==`function`)return e;let t=`$$material`in e?e[sn]:e;return`colorSchemes`in t?null:`vars`in t?e:{...e,vars:null}},[e]);return n?(0,I.jsx)(Wc,{theme:n,...t}):(0,I.jsx)(Yc,{theme:e,...t})}var Zc=Object.prototype;function Qc(e){return typeof e==`object`&&!!e}function $c(e){return Array.isArray(e)?e:typeof e==`number`?[e]:e.replace(/\[(\d+)\]/g,`.$1`).split(`.`).filter(Boolean)}function el(e,t=1){if(!e?.length||t<1)return[];let n=[];for(let r=0;r<e.length;r+=t)n.push(e.slice(r,r+t));return n}function tl(e){if(!Qc(e))return e;if(e instanceof Date)return new Date(e.getTime());if(Array.isArray(e))return e.map(e=>tl(e));let t={};for(let[n,r]of Object.entries(e))t[n]=tl(r);return t}function nl(e){return(e??[]).filter(Boolean)}function rl(e,t=0,n={}){let r,i,a,o,s,c=n.leading===!0,l=n.trailing!==!1,u=()=>{if(!a)return s;let t=a,n=o;return a=void 0,o=void 0,s=e.apply(n,t),s},d=()=>{r&&clearTimeout(r),i&&clearTimeout(i),r=void 0,i=void 0,a=void 0,o=void 0},f=function(...e){let d=c&&!r;return a=e,o=this,d&&u(),r&&clearTimeout(r),r=setTimeout(()=>{r=void 0,i&&=(clearTimeout(i),void 0),l?u():(a=void 0,o=void 0)},t),n.maxWait!==void 0&&!i&&(i=setTimeout(()=>{r&&clearTimeout(r),r=void 0,i=void 0,l||!c?u():(a=void 0,o=void 0)},n.maxWait)),s};return f.cancel=d,f.flush=()=>(r&&=(clearTimeout(r),void 0),i&&=(clearTimeout(i),void 0),u()),f}function il(e){let t=[];for(let n of e??[])Array.isArray(n)?t.push(...n):t.push(n);return t}function al(e,t,n){if(!Array.isArray(t)&&e!=null&&Object.prototype.hasOwnProperty.call(Object(e),t)){let r=e[t];return r===void 0?n:r}let r=e;for(let e of $c(t)){if(r==null)return n;r=r[e]}return r===void 0?n:r}function ol(e){return e?.[0]}function sl(e){return e==null?!0:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:!Qc(e)||Object.keys(e).length===0}function cl(e,t,n){let r=n?.(e,t);if(r!==void 0)return!!r;if(Object.is(e,t))return!0;if(!Qc(e)||!Qc(t))return!1;if(e instanceof Date||t instanceof Date)return e instanceof Date&&t instanceof Date&&e.getTime()===t.getTime();if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((e,r)=>cl(e,t[r],n));let i=Object.keys(e),a=Object.keys(t);return i.length===a.length&&i.every(r=>Zc.hasOwnProperty.call(t,r)&&cl(e[r],t[r],n))}function ll(e,t){return cl(e,t)}function ul(e){return typeof e==`function`}function dl(e){return typeof e==`string`||e instanceof String}function fl(e,t){let n={...e??{}};for(let e of Array.isArray(t)?t:[t])delete n[e];return n}function pl(e,t,n=1){let r=t??e,i=t===void 0?0:e;if(n===0)return[];let a=[],o=n>0;for(let e=i;o?e<r:e>r;e+=n)a.push(e);return a}function ml(e){return(e??[]).slice(1)}function hl(e,t){let n=t??(e=>e);return Array.from({length:Math.max(0,e)},(e,t)=>n(t))}function gl(e){return e!=null&&e.length?Array.from(new Set(Array.from(e))):[]}function _l(...e){let t=Math.max(0,...e.map(e=>e.length));return Array.from({length:t},(t,n)=>e.map(e=>e[n]))}var vl={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function yl(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),vl.hasOwnProperty(t)?{space:vl[t],local:e}:e}function bl(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function xl(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Sl(e){var t=yl(e);return(t.local?xl:bl)(t)}function Cl(){}function wl(e){return e==null?Cl:function(){return this.querySelector(e)}}function Tl(e){typeof e!=`function`&&(e=wl(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new ld(r,this._parents)}function El(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Dl(){return[]}function Ol(e){return e==null?Dl:function(){return this.querySelectorAll(e)}}function kl(e){return function(){return El(e.apply(this,arguments))}}function Al(e){e=typeof e==`function`?kl(e):Ol(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new ld(r,i)}function jl(e){return function(){return this.matches(e)}}function Ml(e){return function(t){return t.matches(e)}}var Nl=Array.prototype.find;function Pl(e){return function(){return Nl.call(this.children,e)}}function Fl(){return this.firstElementChild}function Il(e){return this.select(e==null?Fl:Pl(typeof e==`function`?e:Ml(e)))}var Ll=Array.prototype.filter;function Rl(){return Array.from(this.children)}function zl(e){return function(){return Ll.call(this.children,e)}}function Bl(e){return this.selectAll(e==null?Rl:zl(typeof e==`function`?e:Ml(e)))}function Vl(e){typeof e!=`function`&&(e=jl(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new ld(r,this._parents)}function Hl(e){return Array(e.length)}function Ul(){return new ld(this._enter||this._groups.map(Hl),this._parents)}function Wl(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Wl.prototype={constructor:Wl,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Gl(e){return function(){return e}}function Kl(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new Wl(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function ql(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new Wl(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Jl(e){return e.__data__}function Yl(e,t){if(!arguments.length)return Array.from(this,Jl);var n=t?ql:Kl,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Gl(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=Xl(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new ld(o,r),o._enter=s,o._exit=c,o}function Xl(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Zl(){return new ld(this._exit||this._groups.map(Hl),this._parents)}function Ql(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function $l(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new ld(s,this._parents)}function eu(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function tu(e){e||=nu;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new ld(i,this._parents).order()}function nu(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function ru(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function iu(){return Array.from(this)}function au(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function ou(){let e=0;for(let t of this)++e;return e}function su(){return!this.node()}function cu(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function lu(e){return function(){this.removeAttribute(e)}}function uu(e){return function(){this.removeAttributeNS(e.space,e.local)}}function du(e,t){return function(){this.setAttribute(e,t)}}function fu(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function pu(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function mu(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function hu(e,t){var n=yl(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?uu:lu:typeof t==`function`?n.local?mu:pu:n.local?fu:du)(n,t))}function gu(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function _u(e){return function(){this.style.removeProperty(e)}}function vu(e,t,n){return function(){this.style.setProperty(e,t,n)}}function yu(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function bu(e,t,n){return arguments.length>1?this.each((t==null?_u:typeof t==`function`?yu:vu)(e,t,n??``)):xu(this.node(),e)}function xu(e,t){return e.style.getPropertyValue(t)||gu(e).getComputedStyle(e,null).getPropertyValue(t)}function Su(e){return function(){delete this[e]}}function Cu(e,t){return function(){this[e]=t}}function wu(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Tu(e,t){return arguments.length>1?this.each((t==null?Su:typeof t==`function`?wu:Cu)(e,t)):this.node()[e]}function Eu(e){return e.trim().split(/^|\s+/)}function Du(e){return e.classList||new Ou(e)}function Ou(e){this._node=e,this._names=Eu(e.getAttribute(`class`)||``)}Ou.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function ku(e,t){for(var n=Du(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Au(e,t){for(var n=Du(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function ju(e){return function(){ku(this,e)}}function Mu(e){return function(){Au(this,e)}}function Nu(e,t){return function(){(t.apply(this,arguments)?ku:Au)(this,e)}}function Pu(e,t){var n=Eu(e+``);if(arguments.length<2){for(var r=Du(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Nu:t?ju:Mu)(n,t))}function Fu(){this.textContent=``}function Iu(e){return function(){this.textContent=e}}function Lu(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Ru(e){return arguments.length?this.each(e==null?Fu:(typeof e==`function`?Lu:Iu)(e)):this.node().textContent}function zu(){this.innerHTML=``}function eee(e){return function(){this.innerHTML=e}}function tee(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function nee(e){return arguments.length?this.each(e==null?zu:(typeof e==`function`?tee:eee)(e)):this.node().innerHTML}function Bu(){this.nextSibling&&this.parentNode.appendChild(this)}function Vu(){return this.each(Bu)}function Hu(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Uu(){return this.each(Hu)}function Wu(e){var t=typeof e==`function`?e:Sl(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function ree(){return null}function Gu(e,t){var n=typeof e==`function`?e:Sl(e),r=t==null?ree:typeof t==`function`?t:wl(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Ku(){var e=this.parentNode;e&&e.removeChild(this)}function qu(){return this.each(Ku)}function Ju(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Yu(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Xu(e){return this.select(e?Yu:Ju)}function Zu(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function Qu(e){return function(t){e.call(this,t,this.__data__)}}function $u(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function ed(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function td(e,t,n){return function(){var r=this.__on,i,a=Qu(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function nd(e,t,n){var r=$u(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?td:ed,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function rd(e,t,n){var r=gu(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function id(e,t){return function(){return rd(this,e,t)}}function ad(e,t){return function(){return rd(this,e,t.apply(this,arguments))}}function od(e,t){return this.each((typeof t==`function`?ad:id)(e,t))}function*sd(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var cd=[null];function ld(e,t){this._groups=e,this._parents=t}function ud(){return new ld([[document.documentElement]],cd)}function dd(){return this}ld.prototype=ud.prototype={constructor:ld,select:Tl,selectAll:Al,selectChild:Il,selectChildren:Bl,filter:Vl,data:Yl,enter:Ul,exit:Zl,join:Ql,merge:$l,selection:dd,order:eu,sort:tu,call:ru,nodes:iu,node:au,size:ou,empty:su,each:cu,attr:hu,style:bu,property:Tu,classed:Pu,text:Ru,html:nee,raise:Vu,lower:Uu,append:Wu,insert:Gu,remove:qu,clone:Xu,datum:Zu,on:nd,dispatch:od,[Symbol.iterator]:sd};function fd(e){return typeof e==`string`?new ld([[document.querySelector(e)]],[document.documentElement]):new ld([[e]],cd)}function pd(e){let t;for(;t=e.sourceEvent;)e=t;return e}function md(e,t){if(e=pd(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var hd=e=>typeof e==`string`?e:typeof e==`number`?`${e}px`:`30px`,gd=({size:e,children:t})=>(e=hd(e),(0,I.jsx)(`div`,{style:{height:e,width:e,display:`inline-block`,position:`relative`},children:t}));gd.propTypes={size:P.number,children:P.oneOfType([P.arrayOf(P.node),P.node]).isRequired};var _d=({size:e,children:t,sx:n})=>(0,I.jsx)(gd,{size:e,children:(0,I.jsx)(`svg`,{preserveAspectRatio:`xMinYMin meet`,viewBox:`0 0 44 40`,style:{enableBackground:`new 0 0 44 40`,...n},children:t})});_d.propTypes={size:P.oneOfType([P.string,P.number]),children:P.oneOfType([P.arrayOf(P.node),P.node]).isRequired,sx:P.object};var vd=({fill:e})=>(0,I.jsx)(`polygon`,{points:`17.4,26.9 10.1,20.6 12.8,17.5 16.3,20.5 22.3,9.7 25.9,11.7`,fill:e});vd.propTypes={fill:P.string.isRequired};var yd=({fill:e})=>(0,I.jsx)(`polygon`,{transform:`translate(2, 0)`,points:`34.1,28.6 34.1,2.2 2,2.2 2,34.3 40.1,34.3`,fill:e});yd.propTypes={fill:P.string.isRequired};var bd=({fill:e})=>(0,I.jsx)(`path`,{transform:`translate(1, 0)`,d:`M31.2,29.1v-0.3c2.2-2.8,3.6-6.3,3.6-10.1c0-8.9-7.2-16.1-16.1-16.1c-8.8,0.1-16,7.3-16,16.2 s7.2,16.1,16.1,16.1h18.5L31.2,29.1z`,fill:e});bd.propTypes={fill:P.string.isRequired};var xd=({fill:e})=>(0,I.jsx)(`circle`,{transform:`translate(-3,0)`,cx:`23`,cy:`20.4`,r:`16`,fill:e});xd.propTypes={fill:P.string.isRequired};var Sd=({fill:e})=>(0,I.jsx)(`rect`,{x:`3.6`,y:`4.1`,width:`32`,height:`32`,fill:e});Sd.propTypes={fill:P.string.isRequired};var Cd=(e,t)=>{class n extends F.Component{static propTypes={iconSet:P.oneOf([`emoji`,`check`]),shape:P.oneOf([`round`,`square`]),category:P.oneOf([`feedback`,void 0]),open:P.bool,size:P.oneOfType([P.number,P.string]),fg:P.string,bg:P.string};static defaultProps={iconSet:`check`,shape:`round`,category:void 0,open:!1,size:30,fg:`#4aaf46`,bg:`#f8ffe2`};render(){let{iconSet:n,shape:r,category:i,open:a,size:o,fg:s,bg:c}=this.props,l=n===`check`?(0,I.jsx)(e,{fill:s}):(0,I.jsx)(t,{fill:s}),u=n===`check`?(0,I.jsx)(e,{fill:c}):(0,I.jsx)(t,{fill:c});return a?(0,I.jsx)(_d,{size:o,children:u}):(0,I.jsxs)(_d,{size:o,children:[i===`feedback`?r===`round`?(0,I.jsx)(bd,{fill:c}):(0,I.jsx)(yd,{fill:c}):r===`round`?(0,I.jsx)(xd,{fill:c}):(0,I.jsx)(Sd,{fill:c}),l]})}}return n},wd=({fill:e})=>(0,I.jsxs)(`g`,{transform:`translate(1, 0)`,children:[(0,I.jsx)(`path`,{d:`M24.7,22.1c-1.5,1.7-3.6,2.7-5.8,2.7s-4.5-1.1-5.8-2.7l-2.8,1.6c2,2.7,5.2,4.2,8.7,4.2
44
- c3.4,0,6.6-1.6,8.7-4.2L24.7,22.1z`,fill:e}),(0,I.jsx)(`rect`,{x:`21.1`,y:`13.1`,width:`3.7`,height:`4.7`,fill:e}),(0,I.jsx)(`rect`,{x:`12.7`,y:`13.1`,width:`3.7`,height:`4.7`,fill:e})]});wd.propTypes={fill:P.string.isRequired};var Td=({fill:e,x:t=0,y:n=0})=>(0,I.jsx)(`polygon`,{transform:`translate(${t}, ${n})`,points:`19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4`,fill:e});Td.propTypes={fill:P.string.isRequired,x:P.number,y:P.number};var Ed=Cd(Td,wd);Ed.propTypes={iconSet:P.oneOf([`emoji`,`check`]),shape:P.oneOf([`round`,`square`]),category:P.oneOf([`feedback`,void 0]),open:P.bool,fg:P.string,bg:P.string,size:P.oneOfType([P.string,P.number])},Ed.defaultProps={iconSet:`check`,shape:`round`,category:void 0,open:!1,fg:`#4aaf46`,bg:`#f8ffe2`,size:30};var Dd=({bgFill:e,fgFill:t})=>(0,I.jsxs)(`svg`,{preserveAspectRatio:`xMinYMin meet`,version:`1.1`,viewBox:`-283 359 34 35`,style:{enableBackground:`new -283 359 34 35`},children:[(0,I.jsx)(`circle`,{cx:`-266`,cy:`375.9`,r:`14`,fill:e}),(0,I.jsx)(`path`,{d:`M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z
45
- M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z`,fill:e}),(0,I.jsx)(`polygon`,{points:`-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6`,fill:t})]});Dd.propTypes={bgFill:P.string.isRequired,fgFill:P.string.isRequired};var Od=({bgFill:e,fgFill:t,borderFill:n})=>(0,I.jsxs)(`svg`,{preserveAspectRatio:`xMinYMin meet`,version:`1.1`,viewBox:`-129.5 127 34 35`,style:{enableBackground:`new -129.5 127 34 35`},children:[(0,I.jsx)(`path`,{style:{fill:`#D0CAC5`,stroke:`#E6E3E0`,strokeWidth:.75,strokeMiterlimit:10},d:`M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5
44
+ c3.4,0,6.6-1.6,8.7-4.2L24.7,22.1z`,fill:e}),(0,I.jsx)(`rect`,{x:`21.1`,y:`13.1`,width:`3.7`,height:`4.7`,fill:e}),(0,I.jsx)(`rect`,{x:`12.7`,y:`13.1`,width:`3.7`,height:`4.7`,fill:e})]});wd.propTypes={fill:P.string.isRequired};var Td=({fill:e,x:t=0,y:n=0})=>(0,I.jsx)(`polygon`,{transform:`translate(${t}, ${n})`,points:`19.1,28.6 11.8,22.3 14.4,19.2 17.9,22.1 23.9,11.4 27.5,13.4`,fill:e});Td.propTypes={fill:P.string.isRequired,x:P.number,y:P.number};var Ed=Cd(Td,wd);Ed.propTypes={iconSet:P.oneOf([`emoji`,`check`]),shape:P.oneOf([`round`,`square`]),category:P.oneOf([`feedback`,void 0]),open:P.bool,fg:P.string,bg:P.string,size:P.oneOfType([P.string,P.number])},Ed.defaultProps={iconSet:`check`,shape:`round`,category:void 0,open:!1,fg:`#4aaf46`,bg:`#f8ffe2`,size:30};var Dd=({bgFill:e,fgFill:t})=>(0,I.jsxs)(`svg`,{"aria-hidden":`true`,focusable:`false`,preserveAspectRatio:`xMinYMin meet`,version:`1.1`,viewBox:`-283 359 34 35`,style:{enableBackground:`new -283 359 34 35`},children:[(0,I.jsx)(`circle`,{cx:`-266`,cy:`375.9`,r:`14`,fill:e}),(0,I.jsx)(`path`,{d:`M-280.5,375.9c0-8,6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5s-6.5,14.5-14.5,14.5S-280.5,383.9-280.5,375.9z
45
+ M-279.5,375.9c0,7.4,6.1,13.5,13.5,13.5c7.4,0,13.5-6.1,13.5-13.5s-6.1-13.5-13.5-13.5C-273.4,362.4-279.5,368.5-279.5,375.9z`,fill:e}),(0,I.jsx)(`polygon`,{points:`-265.4,383.1 -258.6,377.2 -261.2,374.2 -264.3,376.9 -268.9,368.7 -272.4,370.6`,fill:t})]});Dd.propTypes={bgFill:P.string.isRequired,fgFill:P.string.isRequired};var Od=({bgFill:e,fgFill:t,borderFill:n})=>(0,I.jsxs)(`svg`,{"aria-hidden":`true`,focusable:`false`,preserveAspectRatio:`xMinYMin meet`,version:`1.1`,viewBox:`-129.5 127 34 35`,style:{enableBackground:`new -129.5 127 34 35`},children:[(0,I.jsx)(`path`,{style:{fill:`#D0CAC5`,stroke:`#E6E3E0`,strokeWidth:.75,strokeMiterlimit:10},d:`M-112.9,160.4c-8.5,0-15.5-6.9-15.5-15.5c0-8.5,6.9-15.5,15.5-15.5s15.5,6.9,15.5,15.5
46
46
  C-97.4,153.5-104.3,160.4-112.9,160.4z`}),(0,I.jsx)(`path`,{style:{fill:`#B3ABA4`,stroke:`#CDC7C2`,strokeWidth:.5,strokeMiterlimit:10},d:`M-113.2,159c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-105.2,159-113.2,159z`}),(0,I.jsx)(`circle`,{cx:`-114.2`,cy:`143.5`,r:`14`,fill:e}),(0,I.jsx)(`path`,{d:`M-114.2,158c-8,0-14.5-6.5-14.5-14.5s6.5-14.5,14.5-14.5s14.5,6.5,14.5,14.5S-106.2,158-114.2,158z
47
47
  M-114.2,130c-7.4,0-13.5,6.1-13.5,13.5s6.1,13.5,13.5,13.5s13.5-6.1,13.5-13.5S-106.8,130-114.2,130z`,fill:n}),(0,I.jsx)(`polygon`,{points:`-114.8,150.7 -121.6,144.8 -119,141.8 -115.9,144.5 -111.3,136.3 -107.8,138.2`,fill:t})]});Od.propTypes={bgFill:P.string.isRequired,fgFill:P.string.isRequired,borderFill:P.string.isRequired};var kd=B(`div`)(({size:e})=>({width:e||`25px`,height:e||`25px`})),Ad=({open:e,size:t})=>(0,I.jsx)(kd,{size:t,children:e?(0,I.jsx)(Dd,{bgFill:`#bce2ff`,fgFill:`#1a9cff`}):(0,I.jsx)(Od,{bgFill:`white`,fgFill:`#1a9cff`,borderFill:`#bce2ff`})});Ad.propTypes={open:P.bool,size:P.string},Ad.defaultProps={open:!1};var jd=({fill:e})=>(0,I.jsxs)(`g`,{transform:`translate(0.5, 0.5)`,children:[(0,I.jsx)(`rect`,{x:`11`,y:`17.3`,transform:`matrix(0.7071 -0.7071 0.7071 0.7071 -7.852 19.2507)`,width:`16.6`,height:`3.7`,fill:e}),(0,I.jsx)(`rect`,{x:`17.4`,y:`10.7`,transform:`matrix(0.7071 -0.7071 0.7071 0.7071 -7.8175 19.209)`,width:`3.7`,height:`16.6`,fill:e})]});jd.propTypes={fill:P.string.isRequired};var Md=({fill:e})=>(0,I.jsxs)(`g`,{transform:`translate(1,0)`,children:[(0,I.jsx)(`rect`,{x:`21`,y:`12.9`,width:`3.7`,height:`4.7`,fill:e}),(0,I.jsx)(`rect`,{x:`12.7`,y:`12.9`,width:`3.7`,height:`4.7`,fill:e}),(0,I.jsx)(`rect`,{x:`12.2`,y:`22.5`,width:`13`,height:`3.3`,fill:e})]});Md.propTypes={fill:P.string.isRequired};var Nd=Cd(jd,Md);Nd.propTypes={iconSet:P.oneOf([`emoji`,`check`]),shape:P.oneOf([`round`,`square`]),category:P.oneOf([`feedback`,void 0]),open:P.bool,fg:P.string,bg:P.string,size:P.oneOfType([P.string,P.number])},Nd.defaultProps={iconSet:`check`,shape:`round`,category:void 0,open:!1,fg:`#fcb733`,bg:`#fbf2e3`,size:30};var Pd=({fill:e})=>(0,I.jsxs)(`g`,{children:[(0,I.jsx)(`rect`,{x:`19.3`,y:`10.3`,width:`4.5`,height:`12.7`,fill:e}),(0,I.jsx)(`rect`,{x:`19.3`,y:`26.2`,width:`4.5`,height:`4.5`,fill:e})]});Pd.propTypes={fill:P.string.isRequired};var Fd=({fill:e})=>(0,I.jsx)(`polygon`,{points:`14.8,4.5 5.6,13.8 5.6,27 14.8,36.5 28.1,36.5 37.6,27 37.6,13.8 28.1,4.5`,fill:e});Fd.propTypes={fill:P.string.isRequired};var Id=({fill:e})=>(0,I.jsxs)(`g`,{children:[(0,I.jsx)(`rect`,{x:`23.8`,y:`15`,width:`3.5`,height:`4.4`,fill:e}),(0,I.jsx)(`rect`,{x:`16`,y:`15`,width:`3.5`,height:`4.4`,fill:e}),(0,I.jsx)(`path`,{d:`M24.2,27.1h-5.1c-0.8,0-1.5-0.7-1.5-1.5v0c0-0.8,0.7-1.5,1.5-1.5h5.1c0.8,0,1.5,0.7,1.5,1.5v0
48
48
  C25.7,26.4,25,27.1,24.2,27.1z`,fill:e})]});Id.propTypes={fill:P.string.isRequired};var Ld=class extends F.Component{constructor(e){super(e);let{fg:t=`#464146`,bg:n=`white`}=this.props;this.icons={check:(0,I.jsxs)(_d,{children:[(0,I.jsx)(Fd,{fill:n}),(0,I.jsx)(Pd,{fill:t})]}),emoji:(0,I.jsxs)(_d,{children:[(0,I.jsx)(Fd,{fill:n}),(0,I.jsx)(Id,{fill:t})]}),feedback:{check:(0,I.jsxs)(_d,{children:[(0,I.jsx)(Fd,{fill:n}),(0,I.jsx)(Id,{fill:t})]}),emoji:(0,I.jsxs)(_d,{children:[(0,I.jsx)(Fd,{fill:n}),(0,I.jsx)(Id,{fill:t})]}),square:{check:(0,I.jsxs)(_d,{children:[(0,I.jsx)(Fd,{fill:n}),(0,I.jsx)(Pd,{fill:t})]}),emoji:(0,I.jsxs)(_d,{children:[(0,I.jsx)(Fd,{fill:n}),(0,I.jsx)(Id,{fill:t})]}),open:{check:(0,I.jsx)(_d,{children:(0,I.jsx)(Pd,{fill:n})}),emoji:(0,I.jsx)(_d,{children:(0,I.jsx)(Id,{fill:n})})}}}}}render(){let{iconSet:e,category:t,shape:n,open:r}=this.props;return t===void 0?this.icons[e]:n===void 0?this.icons.feedback[e]:r===!0?this.icons.feedback.square.open[e]:this.icons.feedback.square[e]}};Ld.propTypes={iconSet:P.oneOf([`emoji`,`check`,void 0]),shape:P.oneOf([`square`,void 0]),category:P.oneOf([`feedback`,void 0]),open:P.bool,fg:P.string,bg:P.string},Ld.defaultProps={iconSet:`check`,shape:void 0,category:void 0,open:!1,fg:`#464146`,bg:`white`};var Rd=({fill:e})=>(0,I.jsxs)(`g`,{transform:`translate(0, 0)`,children:[(0,I.jsx)(`polygon`,{points:`27.5,13.4 23.9,11.4 15.9,25.8 19.1,28.6`,fill:e}),(0,I.jsx)(`polygon`,{points:`16.2,20.6 14.4,19.2 11.8,22.3 14.1,24.3`,fill:e})]});Rd.propTypes={fill:P.string.isRequired};var zd=({fill:e})=>(0,I.jsxs)(`g`,{transform:`translate(2, 0)`,children:[(0,I.jsx)(`rect`,{x:`20.6`,y:`11.8`,width:`4`,height:`5`,fill:e}),(0,I.jsx)(`rect`,{x:`11.5`,y:`11.8`,width:`4`,height:`5`,fill:e}),(0,I.jsx)(`rect`,{x:`10.9`,y:`22.9`,transform:`matrix(0.9794 -0.2019 0.2019 0.9794 -4.6237 4.1559)`,width:`14.3`,height:`3.7`,fill:e})]});zd.propTypes={fill:P.string.isRequired};var Bd=Cd(Rd,zd);Bd.propTypes={iconSet:P.oneOf([`emoji`,`check`]),shape:P.oneOf([`round`,`square`]),category:P.oneOf([`feedback`,void 0]),open:P.bool,fg:P.string,bg:P.string,size:P.oneOfType([P.string,P.number])},Bd.defaultProps={iconSet:`check`,shape:`round`,category:void 0,open:!1,fg:`#4aaf46`,bg:`#c1e1ac`,size:30};function Vd(e){return typeof e==`string`}function Hd(e){return(0,I.jsx)($a,{...e,defaultTheme:Bc,themeId:sn})}function Ud(e){return function(t){return(0,I.jsx)(Hd,{styles:typeof e==`function`?n=>e({theme:n,...t}):e})}}function Wd(){return to}function Gd(e){return Qo(e)}function Kd(e,t=166){let n;function r(...r){clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}return r.clear=()=>{clearTimeout(n)},r}var qd=Kd;function Jd(e){return e&&e.ownerDocument||document}var Yd=Jd;function Xd(e){return Jd(e).defaultView||window}var Zd=Xd,Qd={};function $d(e,t){let n=F.useRef(Qd);return n.current===Qd&&(n.current=e(t)),n}var ef=[];function tf(e){F.useEffect(e,ef)}var nf=class e{static create(){return new e}currentId=null;start(e,t){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,t()},e)}clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)};disposeEffect=()=>this.clear};function rf(){let e=$d(nf.create).current;return tf(e.disposeEffect),e}function af(e){return e?.ref||null}function of(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function sf(e,t){return sf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},sf(e,t)}function cf(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,sf(e,t)}function lf(e,t){return e.classList?!!t&&e.classList.contains(t):(` `+(e.className.baseVal||e.className)+` `).indexOf(` `+t+` `)!==-1}function uf(e,t){e.classList?e.classList.add(t):lf(e,t)||(typeof e.className==`string`?e.className=e.className+` `+t:e.setAttribute(`class`,(e.className&&e.className.baseVal||``)+` `+t))}function df(e,t){return e.replace(RegExp(`(^|\\s)`+t+`(?:\\s|$)`,`g`),`$1`).replace(/\s+/g,` `).replace(/^\s*|\s*$/g,``)}function ff(e,t){e.classList?e.classList.remove(t):typeof e.className==`string`?e.className=df(e.className,t):e.setAttribute(`class`,df(e.className&&e.className.baseVal||``,t))}var pf={disabled:!1},mf=F.createContext(null),hf=function(e){return e.scrollTop},gf=l(h()),_f=`unmounted`,vf=`exited`,yf=`entering`,bf=`entered`,xf=`exiting`,Sf=function(e){cf(t,e);function t(t,n){var r=e.call(this,t,n)||this,i=n,a=i&&!i.isMounting?t.enter:t.appear,o;return r.appearStatus=null,t.in?a?(o=vf,r.appearStatus=yf):o=bf:o=t.unmountOnExit||t.mountOnEnter?_f:vf,r.state={status:o},r.nextCallback=null,r}t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===`unmounted`?{status:vf}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==`entering`&&n!==`entered`&&(t=yf):(n===`entering`||n===`entered`)&&(t=xf)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e=this.props.timeout,t=n=r=e,n,r;return e!=null&&typeof e!=`number`&&(t=e.exit,n=e.enter,r=e.appear===void 0?n:e.appear),{exit:t,enter:n,appear:r}},n.updateStatus=function(e,t){if(e===void 0&&(e=!1),t!==null)if(this.cancelNextCallback(),t===`entering`){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:gf.findDOMNode(this);n&&hf(n)}this.performEnter(e)}else this.performExit();else this.props.unmountOnExit&&this.state.status===`exited`&&this.setState({status:_f})},n.performEnter=function(e){var t=this,n=this.props.enter,r=this.context?this.context.isMounting:e,i=this.props.nodeRef?[r]:[gf.findDOMNode(this),r],a=i[0],o=i[1],s=this.getTimeouts(),c=r?s.appear:s.enter;if(!e&&!n||pf.disabled){this.safeSetState({status:bf},function(){t.props.onEntered(a)});return}this.props.onEnter(a,o),this.safeSetState({status:yf},function(){t.props.onEntering(a,o),t.onTransitionEnd(c,function(){t.safeSetState({status:bf},function(){t.props.onEntered(a,o)})})})},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),r=this.props.nodeRef?void 0:gf.findDOMNode(this);if(!t||pf.disabled){this.safeSetState({status:vf},function(){e.props.onExited(r)});return}this.props.onExit(r),this.safeSetState({status:xf},function(){e.props.onExiting(r),e.onTransitionEnd(n.exit,function(){e.safeSetState({status:vf},function(){e.props.onExited(r)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:gf.findDOMNode(this),r=e==null&&!this.props.addEndListener;if(!n||r){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],a=i[0],o=i[1];this.props.addEndListener(a,o)}e!=null&&setTimeout(this.nextCallback,e)},n.render=function(){var e=this.state.status;if(e===`unmounted`)return null;var t=this.props,n=t.children;t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef;var r=of(t,[`children`,`in`,`mountOnEnter`,`unmountOnExit`,`appear`,`enter`,`exit`,`timeout`,`addEndListener`,`onEnter`,`onEntering`,`onEntered`,`onExit`,`onExiting`,`onExited`,`nodeRef`]);return F.createElement(mf.Provider,{value:null},typeof n==`function`?n(e,r):F.cloneElement(F.Children.only(n),r))},t}(F.Component);Sf.contextType=mf,Sf.propTypes={};function Cf(){}Sf.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Cf,onEntering:Cf,onEntered:Cf,onExit:Cf,onExiting:Cf,onExited:Cf},Sf.UNMOUNTED=_f,Sf.EXITED=vf,Sf.ENTERING=yf,Sf.ENTERED=bf,Sf.EXITING=xf;var wf=function(e,t){return e&&t&&t.split(` `).forEach(function(t){return uf(e,t)})},Tf=function(e,t){return e&&t&&t.split(` `).forEach(function(t){return ff(e,t)})},Ef=function(e){cf(t,e);function t(){for(var t,n=arguments.length,r=Array(n),i=0;i<n;i++)r[i]=arguments[i];return t=e.call.apply(e,[this].concat(r))||this,t.appliedClasses={appear:{},enter:{},exit:{}},t.onEnter=function(e,n){var r=t.resolveArguments(e,n),i=r[0],a=r[1];t.removeClasses(i,`exit`),t.addClass(i,a?`appear`:`enter`,`base`),t.props.onEnter&&t.props.onEnter(e,n)},t.onEntering=function(e,n){var r=t.resolveArguments(e,n),i=r[0],a=r[1]?`appear`:`enter`;t.addClass(i,a,`active`),t.props.onEntering&&t.props.onEntering(e,n)},t.onEntered=function(e,n){var r=t.resolveArguments(e,n),i=r[0],a=r[1]?`appear`:`enter`;t.removeClasses(i,a),t.addClass(i,a,`done`),t.props.onEntered&&t.props.onEntered(e,n)},t.onExit=function(e){var n=t.resolveArguments(e)[0];t.removeClasses(n,`appear`),t.removeClasses(n,`enter`),t.addClass(n,`exit`,`base`),t.props.onExit&&t.props.onExit(e)},t.onExiting=function(e){var n=t.resolveArguments(e)[0];t.addClass(n,`exit`,`active`),t.props.onExiting&&t.props.onExiting(e)},t.onExited=function(e){var n=t.resolveArguments(e)[0];t.removeClasses(n,`exit`),t.addClass(n,`exit`,`done`),t.props.onExited&&t.props.onExited(e)},t.resolveArguments=function(e,n){return t.props.nodeRef?[t.props.nodeRef.current,e]:[e,n]},t.getClassNames=function(e){var n=t.props.classNames,r=typeof n==`string`,i=r&&n?n+`-`:``,a=r?``+i+e:n[e];return{baseClassName:a,activeClassName:r?a+`-active`:n[e+`Active`],doneClassName:r?a+`-done`:n[e+`Done`]}},t}var n=t.prototype;return n.addClass=function(e,t,n){var r=this.getClassNames(t)[n+`ClassName`],i=this.getClassNames(`enter`).doneClassName;t===`appear`&&n===`done`&&i&&(r+=` `+i),n===`active`&&e&&hf(e),r&&(this.appliedClasses[t][n]=r,wf(e,r))},n.removeClasses=function(e,t){var n=this.appliedClasses[t],r=n.base,i=n.active,a=n.done;this.appliedClasses[t]={},r&&Tf(e,r),i&&Tf(e,i),a&&Tf(e,a)},n.render=function(){var e=this.props;e.classNames;var t=of(e,[`classNames`]);return F.createElement(Sf,cn({},t,{onEnter:this.onEnter,onEntered:this.onEntered,onEntering:this.onEntering,onExit:this.onExit,onExiting:this.onExiting,onExited:this.onExited}))},t}(F.Component);Ef.defaultProps={classNames:``},Ef.propTypes={};function Df(e){if(e===void 0)throw ReferenceError(`this hasn't been initialised - super() hasn't been called`);return e}function Of(e,t){var n=function(e){return t&&(0,F.isValidElement)(e)?t(e):e},r=Object.create(null);return e&&F.Children.map(e,function(e){return e}).forEach(function(e){r[e.key]=n(e)}),r}function kf(e,t){e||={},t||={};function n(n){return n in t?t[n]:e[n]}var r=Object.create(null),i=[];for(var a in e)a in t?i.length&&(r[a]=i,i=[]):i.push(a);var o,s={};for(var c in t){if(r[c])for(o=0;o<r[c].length;o++){var l=r[c][o];s[r[c][o]]=n(l)}s[c]=n(c)}for(o=0;o<i.length;o++)s[i[o]]=n(i[o]);return s}function Af(e,t,n){return n[t]==null?e.props[t]:n[t]}function jf(e,t){return Of(e.children,function(n){return(0,F.cloneElement)(n,{onExited:t.bind(null,n),in:!0,appear:Af(n,`appear`,e),enter:Af(n,`enter`,e),exit:Af(n,`exit`,e)})})}function Mf(e,t,n){var r=Of(e.children),i=kf(t,r);return Object.keys(i).forEach(function(a){var o=i[a];if((0,F.isValidElement)(o)){var s=a in t,c=a in r,l=t[a],u=(0,F.isValidElement)(l)&&!l.props.in;c&&(!s||u)?i[a]=(0,F.cloneElement)(o,{onExited:n.bind(null,o),in:!0,exit:Af(o,`exit`,e),enter:Af(o,`enter`,e)}):!c&&s&&!u?i[a]=(0,F.cloneElement)(o,{in:!1}):c&&s&&(0,F.isValidElement)(l)&&(i[a]=(0,F.cloneElement)(o,{onExited:n.bind(null,o),in:l.props.in,exit:Af(o,`exit`,e),enter:Af(o,`enter`,e)}))}}),i}var Nf=Object.values||function(e){return Object.keys(e).map(function(t){return e[t]})},Pf={component:`div`,childFactory:function(e){return e}},Ff=function(e){cf(t,e);function t(t,n){var r=e.call(this,t,n)||this;return r.state={contextValue:{isMounting:!0},handleExited:r.handleExited.bind(Df(r)),firstRender:!0},r}var n=t.prototype;return n.componentDidMount=function(){this.mounted=!0,this.setState({contextValue:{isMounting:!1}})},n.componentWillUnmount=function(){this.mounted=!1},t.getDerivedStateFromProps=function(e,t){var n=t.children,r=t.handleExited;return{children:t.firstRender?jf(e,r):Mf(e,n,r),firstRender:!1}},n.handleExited=function(e,t){var n=Of(this.props.children);e.key in n||(e.props.onExited&&e.props.onExited(t),this.mounted&&this.setState(function(t){var n=cn({},t.children);return delete n[e.key],{children:n}}))},n.render=function(){var e=this.props,t=e.component,n=e.childFactory,r=of(e,[`component`,`childFactory`]),i=this.state.contextValue,a=Nf(this.state.children).map(n);return delete r.appear,delete r.enter,delete r.exit,t===null?F.createElement(mf.Provider,{value:i},a):F.createElement(mf.Provider,{value:i},F.createElement(t,r,a))},t}(F.Component);Ff.propTypes={},Ff.defaultProps=Pf;var If=e=>e.scrollTop;function Lf(e,t){return n=>{if(t){let r=e.current;n===void 0?t(r):t(r,n)}}}function Rf(e,t,n,r,i,a){let o=e===`exited`&&!t?r:n[e]||n.exited;return i||a?{...o,...i,...a}:o}function zf(e,t){let{timeout:n,easing:r,style:i={}}=e;return{duration:i.transitionDuration??(typeof n==`number`?n:n[t.mode]||0),easing:i.transitionTimingFunction??(typeof r==`object`?r[t.mode]:r),delay:i.transitionDelay}}function Bf(...e){let t=F.useRef(void 0),n=F.useCallback(t=>{let n=e.map(e=>{if(e==null)return null;if(typeof e==`function`){let n=e,r=n(t);return typeof r==`function`?r:()=>{n(null)}}return e.current=t,()=>{e.current=null}});return()=>{n.forEach(e=>e?.())}},e);return F.useMemo(()=>e.every(e=>e==null)?null:e=>{t.current&&=(t.current(),void 0),e!=null&&(t.current=n(e))},e)}var Vf=Bf;function Hf(e){return`scale(${e}, ${e**2})`}var Uf={entering:{opacity:1,transform:Hf(1)},entered:{opacity:1,transform:`none`},exiting:{opacity:0,transform:Hf(.75)},exited:{opacity:0,transform:Hf(.75)}},Wf={opacity:0,transform:Hf(.75),visibility:`hidden`},Gf=F.forwardRef(function(e,t){let{addEndListener:n,appear:r=!0,children:i,easing:a,in:o,onEnter:s,onEntered:c,onEntering:l,onExit:u,onExited:d,onExiting:f,style:p,timeout:m=`auto`,...h}=e,g=rf(),_=F.useRef(),v=Vc(),y=F.useRef(null),b=Vf(y,af(i),t),x=Lf(y,l),S=Lf(y,(e,t)=>{If(e);let{duration:n,delay:r,easing:i}=zf({style:p,timeout:m,easing:a},{mode:`enter`}),o;m===`auto`?(o=v.transitions.getAutoHeightDuration(e.clientHeight),_.current=o):o=n,e.style.transition=[v.transitions.create(`opacity`,{duration:o,delay:r}),v.transitions.create(`transform`,{duration:o*.666,delay:r,easing:i})].join(`,`),s&&s(e,t)}),C=Lf(y,c),w=Lf(y,f),T=Lf(y,e=>{let{duration:t,delay:n,easing:r}=zf({style:p,timeout:m,easing:a},{mode:`exit`}),i;m===`auto`?(i=v.transitions.getAutoHeightDuration(e.clientHeight),_.current=i):i=t,e.style.transition=[v.transitions.create(`opacity`,{duration:i,delay:n}),v.transitions.create(`transform`,{duration:i*.666,delay:n||i*.333,easing:r})].join(`,`),e.style.opacity=0,e.style.transform=Hf(.75),u&&u(e)}),E=Lf(y,e=>{e.style.transition=``,d&&d(e)});return(0,I.jsx)(Sf,{appear:r,in:o,nodeRef:y,onEnter:S,onEntered:C,onEntering:x,onExit:T,onExited:E,onExiting:w,addEndListener:e=>{m===`auto`&&g.start(_.current||0,e),n&&n(y.current,e)},timeout:m===`auto`?null:m,...h,children:(e,{ownerState:t,...n})=>{let r=Rf(e,o,Uf,Wf,p,i.props.style);return F.cloneElement(i,{style:r,ref:b,...n})}})});Gf&&(Gf.muiSupportAuto=!0);function Kf(e=window){let t=e.document.documentElement.clientWidth;return e.innerWidth-t}function qf(e){let t=Jd(e);return t.body===e?Xd(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function Jf(e,t){t?e.setAttribute(`aria-hidden`,`true`):e.removeAttribute(`aria-hidden`)}function Yf(e){return parseFloat(Xd(e).getComputedStyle(e).paddingRight)||0}function Xf(e){let t=[`TEMPLATE`,`SCRIPT`,`STYLE`,`LINK`,`MAP`,`META`,`NOSCRIPT`,`PICTURE`,`COL`,`COLGROUP`,`PARAM`,`SLOT`,`SOURCE`,`TRACK`].includes(e.tagName),n=e.tagName===`INPUT`&&e.getAttribute(`type`)===`hidden`;return t||n}function Zf(e,t,n,r,i){let a=[t,n,...r];[].forEach.call(e.children,e=>{let t=!a.includes(e),n=!Xf(e);t&&n&&Jf(e,i)})}function Qf(e,t){let n=-1;return e.some((e,r)=>t(e)?(n=r,!0):!1),n}function $f(e,t){let n=[],r=e.container;if(!t.disableScrollLock){if(qf(r)){let e=Kf(Xd(r));n.push({value:r.style.paddingRight,property:`padding-right`,el:r}),r.style.paddingRight=`${Yf(r)+e}px`;let t=Jd(r).querySelectorAll(`.mui-fixed`);[].forEach.call(t,t=>{n.push({value:t.style.paddingRight,property:`padding-right`,el:t}),t.style.paddingRight=`${Yf(t)+e}px`})}let e;if(r.parentNode instanceof DocumentFragment)e=Jd(r).body;else{let t=r.parentElement,n=Xd(r);e=t?.nodeName===`HTML`&&n.getComputedStyle(t).overflowY===`scroll`?t:r}n.push({value:e.style.overflow,property:`overflow`,el:e},{value:e.style.overflowX,property:`overflow-x`,el:e},{value:e.style.overflowY,property:`overflow-y`,el:e}),e.style.overflow=`hidden`}return()=>{n.forEach(({value:e,el:t,property:n})=>{e?t.style.setProperty(n,e):t.style.removeProperty(n)})}}function ep(e){let t=[];return[].forEach.call(e.children,e=>{e.getAttribute(`aria-hidden`)===`true`&&t.push(e)}),t}var tp=class{constructor(){this.modals=[],this.containers=[]}add(e,t){let n=this.modals.indexOf(e);if(n!==-1)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&Jf(e.modalRef,!1);let r=ep(t);Zf(t,e.mount,e.modalRef,r,!0);let i=Qf(this.containers,e=>e.container===t);return i===-1?(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblings:r}),n):(this.containers[i].modals.push(e),n)}mount(e,t){let n=Qf(this.containers,t=>t.modals.includes(e)),r=this.containers[n];r.restore||=$f(r,t)}remove(e,t=!0){let n=this.modals.indexOf(e);if(n===-1)return n;let r=Qf(this.containers,t=>t.modals.includes(e)),i=this.containers[r];if(i.modals.splice(i.modals.indexOf(e),1),this.modals.splice(n,1),i.modals.length===0)i.restore&&i.restore(),e.modalRef&&Jf(e.modalRef,t),Zf(i.container,e.mount,e.modalRef,i.hiddenSiblings,!1),this.containers.splice(r,1);else{let e=i.modals[i.modals.length-1];e.modalRef&&Jf(e.modalRef,!1)}return n}isTopModal(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}};function np(e,t){if(!e||!t)return!1;if(e.contains(t))return!0;let n=t.getRootNode?.();if(n&&n instanceof ShadowRoot){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode??n.host??null}}return!1}var rp=np;function ip(e){let t=e.activeElement;for(;t?.shadowRoot?.activeElement!=null;)t=t.shadowRoot.activeElement;return t}var ap=ip,op=`data-mui-focusable`;function sp(e){return e?e.hasAttribute(`data-mui-focusable`)?e:e.querySelector(`[${op}]`):null}var cp=[`input`,`select`,`textarea`,`a[href]`,`button`,`[tabindex]`,`audio[controls]`,`video[controls]`,`[contenteditable]:not([contenteditable="false"])`].join(`,`);function lp(e){let t=parseInt(e.getAttribute(`tabindex`)||``,10);return Number.isNaN(t)?e.contentEditable===`true`||(e.nodeName===`AUDIO`||e.nodeName===`VIDEO`||e.nodeName===`DETAILS`)&&e.getAttribute(`tabindex`)===null?0:e.tabIndex:t}function up(e){if(e.tagName!==`INPUT`||e.type!==`radio`||!e.name)return!1;let t=t=>e.ownerDocument.querySelector(`input[type="radio"]${t}`),n=t(`[name="${e.name}"]:checked`);return n||=t(`[name="${e.name}"]`),n!==e}function iee(e){return!(e.disabled||e.tagName===`INPUT`&&e.type===`hidden`||up(e))}function aee(e){let t=[],n=[];return Array.from(e.querySelectorAll(cp)).forEach((e,r)=>{let i=lp(e);i===-1||!iee(e)||(i===0?t.push(e):n.push({documentOrder:r,tabIndex:i,node:e}))}),n.sort((e,t)=>e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex).map(e=>e.node).concat(t)}function oee(){return!0}function dp(e){let{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:i=!1,getTabbable:a=aee,isEnabled:o=oee,open:s}=e,c=F.useRef(!1),l=F.useRef(null),u=F.useRef(null),d=F.useRef(null),f=F.useRef(null),p=F.useRef(!1),m=F.useRef(null),h=Bf(af(t),m),g=F.useRef(null);F.useEffect(()=>{!s||!m.current||(p.current=!n)},[n,s]),F.useEffect(()=>{if(c.current=!1,!s||!m.current)return;let e=ap(Jd(m.current)),t=sp(m.current)??m.current;return rp(m.current,e)||(t.hasAttribute(`tabIndex`)||t.setAttribute(`tabIndex`,`-1`),p.current&&t.focus()),()=>{i||(d.current&&d.current.focus&&(c.current=!0,d.current.focus()),d.current=null)}},[s]),F.useEffect(()=>{if(!s||!m.current)return;let e=Jd(m.current),t=t=>{g.current=t,!(r||!o()||t.key!==`Tab`)&&ap(e)===m.current&&t.shiftKey&&(c.current=!0,u.current&&u.current.focus())},n=()=>{let t=m.current;if(t===null)return;let n=ap(e);if(!e.hasFocus()||!o()||c.current){c.current=!1;return}if(rp(t,n)||r&&n!==l.current&&n!==u.current)return;if(n!==f.current)f.current=null;else if(f.current!==null)return;if(!p.current)return;let i=[];if((n===l.current||n===u.current)&&(i=a(m.current)),i.length>0){let e=!!(g.current?.shiftKey&&g.current?.key===`Tab`),t=i[0],n=i[i.length-1];typeof t!=`string`&&typeof n!=`string`&&(e?n.focus():t.focus())}else t.focus()};e.addEventListener(`focusin`,n),e.addEventListener(`keydown`,t,!0);let i=setInterval(()=>{let t=ap(e);t&&t.tagName===`BODY`&&n()},50);return()=>{clearInterval(i),e.removeEventListener(`focusin`,n),e.removeEventListener(`keydown`,t,!0)}},[n,r,i,o,s,a]);let _=e=>{d.current===null&&(d.current=e.relatedTarget),p.current=!0,f.current=e.target;let n=t.props.onFocus;n&&n(e)},v=e=>{d.current===null&&(d.current=e.relatedTarget),p.current=!0};return(0,I.jsxs)(F.Fragment,{children:[(0,I.jsx)(`div`,{tabIndex:s?0:-1,onFocus:v,ref:l,"data-testid":`sentinelStart`}),F.cloneElement(t,{ref:h,onFocus:_}),(0,I.jsx)(`div`,{tabIndex:s?0:-1,onFocus:v,ref:u,"data-testid":`sentinelEnd`})]})}function fp(e,t){typeof e==`function`?e(t):e&&(e.current=t)}function pp(e){return typeof e==`function`?e():e}var mp=F.forwardRef(function(e,t){let{children:n,container:r,disablePortal:i=!1}=e,[a,o]=F.useState(null),s=Bf(F.isValidElement(n)?af(n):null,t);if(So(()=>{i||o(pp(r)||document.body)},[r,i]),So(()=>{if(a&&!i)return fp(t,a),()=>{fp(t,null)}},[t,a,i]),i){if(F.isValidElement(n)){let e={ref:s};return F.cloneElement(n,e)}return n}return a&&gf.createPortal(n,a)}),hp=ls;function gp(e,t,n){return e===void 0||Vd(e)?t:{...t,ownerState:{...t.ownerState,...n}}}function _p(e,t,n){return typeof e==`function`?e(t,n):e}function vp(e,t=[]){if(e===void 0)return{};let n={};return Object.keys(e).filter(n=>n.match(/^on[A-Z]/)&&typeof e[n]==`function`&&!t.includes(n)).forEach(t=>{n[t]=e[t]}),n}function yp(e){if(e===void 0)return{};let t={};return Object.keys(e).filter(t=>!(t.match(/^on[A-Z]/)&&typeof e[t]==`function`)).forEach(n=>{t[n]=e[n]}),t}function bp(e){let{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:i,className:a}=e;if(!t){let e=L(n?.className,a,i?.className,r?.className),t={...n?.style,...i?.style,...r?.style},o={...n,...i,...r};return e.length>0&&(o.className=e),Object.keys(t).length>0&&(o.style=t),{props:o,internalRef:void 0}}let o=vp({...i,...r}),s=yp(r),c=yp(i),l=t(o),u=L(l?.className,n?.className,a,i?.className,r?.className),d={...l?.style,...n?.style,...i?.style,...r?.style},f={...l,...n,...c,...s};return u.length>0&&(f.className=u),Object.keys(d).length>0&&(f.style=d),{props:f,internalRef:l.ref}}function xp(e,t){let{className:n,elementType:r,ownerState:i,externalForwardedProps:a,internalForwardedProps:o,shouldForwardComponentProp:s=!1,...c}=t,{component:l,slots:u={[e]:void 0},slotProps:d={[e]:void 0},...f}=a,p=u[e]||r,m=_p(d[e],i),{props:{component:h,...g},internalRef:_}=bp({className:n,...c,externalForwardedProps:e===`root`?f:void 0,externalSlotProps:m}),v=Bf(_,m?.ref,t.ref),y=e===`root`?h||l:h;return[p,gp(p,{...e===`root`&&!l&&!u[e]&&o,...e!==`root`&&!u[e]&&o,...g,...y&&!s&&{as:y},...y&&s&&{component:y},ref:v},i)]}var Sp={entering:{opacity:1},entered:{opacity:1},exiting:{opacity:0},exited:{opacity:0}},Cp={opacity:0,visibility:`hidden`},wp=F.forwardRef(function(e,t){let n=Vc(),r={enter:n.transitions.duration.enteringScreen,exit:n.transitions.duration.leavingScreen},{addEndListener:i,appear:a=!0,children:o,easing:s,in:c,onEnter:l,onEntered:u,onEntering:d,onExit:f,onExited:p,onExiting:m,style:h,timeout:g=r,..._}=e,v=F.useRef(null),y=Vf(v,af(o),t),b=Lf(v,d),x=Lf(v,(e,t)=>{If(e);let r=zf({style:h,timeout:g,easing:s},{mode:`enter`});e.style.transition=n.transitions.create(`opacity`,r),l&&l(e,t)}),S=Lf(v,u),C=Lf(v,m),w=Lf(v,e=>{let t=zf({style:h,timeout:g,easing:s},{mode:`exit`});e.style.transition=n.transitions.create(`opacity`,t),f&&f(e)}),T=Lf(v,e=>{e.style.transition=``,p&&p(e)});return(0,I.jsx)(Sf,{appear:a,in:c,nodeRef:v,onEnter:x,onEntered:S,onEntering:b,onExit:w,onExited:T,onExiting:C,addEndListener:e=>{i&&i(v.current,e)},timeout:g,..._,children:(e,{ownerState:t,...n})=>{let r=Rf(e,c,Sp,Cp,h,o.props.style);return F.cloneElement(o,{style:r,ref:y,...n})}})});function Tp(e){return oo(`MuiBackdrop`,e)}so(`MuiBackdrop`,[`root`,`invisible`]);var Ep=e=>{let{classes:t,invisible:n}=e;return As({root:[`root`,n&&`invisible`]},Tp,t)},Dp=B(`div`,{name:`MuiBackdrop`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})({position:`fixed`,display:`flex`,alignItems:`center`,justifyContent:`center`,right:0,bottom:0,top:0,left:0,backgroundColor:`rgba(0, 0, 0, 0.5)`,WebkitTapHighlightColor:`transparent`,variants:[{props:{invisible:!0},style:{backgroundColor:`transparent`}}]}),Op=F.forwardRef(function(e,t){let n=Gd({props:e,name:`MuiBackdrop`}),{children:r,className:i,component:a=`div`,invisible:o=!1,open:s,components:c={},componentsProps:l={},slotProps:u={},slots:d={},TransitionComponent:f,transitionDuration:p,...m}=n,h={...n,component:a,invisible:o},g=Ep(h),_={component:a,slots:{transition:f,root:c.Root,...d},slotProps:{...l,...u}},[v,y]=xp(`root`,{elementType:Dp,externalForwardedProps:_,className:L(g.root,i),ownerState:h}),[b,x]=xp(`transition`,{elementType:wp,externalForwardedProps:_,ownerState:h});return(0,I.jsx)(b,{in:s,timeout:p,...m,...x,children:(0,I.jsx)(v,{"aria-hidden":!0,...y,ref:t,children:r})})});function kp(e){let t=F.useRef(e);return So(()=>{t.current=e}),F.useRef((...e)=>(0,t.current)(...e)).current}function Ap(...e){return e.reduce((e,t)=>t==null?e:function(...n){e.apply(this,n),t.apply(this,n)},()=>{})}function jp(e){return typeof e==`function`?e():e}function Mp(e){return e?e.props.hasOwnProperty(`in`):!1}var Np=()=>{},Pp=new tp;function Fp(e){let{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,closeAfterTransition:i=!1,onTransitionEnter:a,onTransitionExited:o,children:s,onClose:c,open:l,rootRef:u}=e,d=F.useRef({}),f=F.useRef(null),p=F.useRef(null),m=Bf(p,u),[h,g]=F.useState(!l),_=Mp(s),v=!0;(e[`aria-hidden`]===`false`||e[`aria-hidden`]===!1)&&(v=!1);let y=()=>Jd(f.current),b=()=>(d.current.modalRef=p.current,d.current.mount=f.current,d.current),x=()=>{Pp.mount(b(),{disableScrollLock:r}),p.current&&(p.current.scrollTop=0)},S=kp(()=>{let e=jp(t)||y().body;Pp.add(b(),e),p.current&&x()}),C=()=>Pp.isTopModal(b()),w=kp(e=>{f.current=e,e&&(l&&C()?x():p.current&&Jf(p.current,v))}),T=F.useCallback(()=>{Pp.remove(b(),v)},[v]);F.useEffect(()=>()=>{T()},[T]),F.useEffect(()=>{l?S():(!_||!i)&&T()},[l,T,_,i,S]);let E=e=>t=>{e.onKeyDown?.(t),!(t.key!==`Escape`||t.which===229||!C())&&(n||(t.stopPropagation(),c&&c(t,`escapeKeyDown`)))},D=e=>t=>{e.onClick?.(t),t.target===t.currentTarget&&c&&c(t,`backdropClick`)};return{getRootProps:(t={})=>{let n=vp(e);delete n.onTransitionEnter,delete n.onTransitionExited;let r={...n,...t};return{role:`presentation`,...r,onKeyDown:E(r),ref:m}},getBackdropProps:(e={})=>{let t=e;return{"aria-hidden":!0,...t,onClick:D(t),open:l}},getTransitionProps:()=>({onEnter:Ap(()=>{g(!1),a&&a()},s?.props.onEnter??Np),onExited:Ap(()=>{g(!0),o&&o(),i&&T()},s?.props.onExited??Np)}),rootRef:m,portalRef:w,isTopModal:C,exited:h,hasTransition:_}}function Ip(e){return oo(`MuiModal`,e)}so(`MuiModal`,[`root`,`hidden`,`backdrop`]);var Lp=e=>{let{open:t,exited:n,classes:r}=e;return As({root:[`root`,!t&&n&&`hidden`],backdrop:[`backdrop`]},Ip,r)},Rp=B(`div`,{name:`MuiModal`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(hp(({theme:e})=>({position:`fixed`,zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:e})=>!e.open&&e.exited,style:{visibility:`hidden`}}]}))),zp=B(Op,{name:`MuiModal`,slot:`Backdrop`})({zIndex:-1}),Bp=F.forwardRef(function(e,t){let n=Gd({name:`MuiModal`,props:e}),{BackdropComponent:r=zp,BackdropProps:i,classes:a,className:o,closeAfterTransition:s=!1,children:c,container:l,component:u,components:d={},componentsProps:f={},disableAutoFocus:p=!1,disableEnforceFocus:m=!1,disableEscapeKeyDown:h=!1,disablePortal:g=!1,disableRestoreFocus:_=!1,disableScrollLock:v=!1,hideBackdrop:y=!1,keepMounted:b=!1,onClose:x,onTransitionEnter:S,onTransitionExited:C,open:w,slotProps:T={},slots:E={},theme:D,...O}=n,k={...n,closeAfterTransition:s,disableAutoFocus:p,disableEnforceFocus:m,disableEscapeKeyDown:h,disablePortal:g,disableRestoreFocus:_,disableScrollLock:v,hideBackdrop:y,keepMounted:b},{getRootProps:A,getBackdropProps:j,getTransitionProps:M,portalRef:ee,isTopModal:N,exited:te,hasTransition:ne}=Fp({...k,rootRef:t}),re={...k,exited:te},ie=Lp(re),ae={};if(c.props.tabIndex===void 0&&(ae.tabIndex=`-1`),ne){let{onEnter:e,onExited:t}=M();ae.onEnter=e,ae.onExited=t}let oe={slots:{root:d.Root,backdrop:d.Backdrop,...E},slotProps:{...f,...T}},[se,ce]=xp(`root`,{ref:t,elementType:Rp,externalForwardedProps:{...oe,...O,component:u},getSlotProps:A,ownerState:re,className:L(o,ie?.root,!re.open&&re.exited&&ie?.hidden)}),[le,ue]=xp(`backdrop`,{ref:i?.ref,elementType:r,externalForwardedProps:oe,shouldForwardComponentProp:!0,additionalProps:i,getSlotProps:e=>j({...e,onClick:t=>{e?.onClick&&e.onClick(t)}}),className:L(i?.className,ie?.backdrop),ownerState:re});return!b&&!w&&(!ne||te)?null:(0,I.jsx)(mp,{ref:ee,container:l,disablePortal:g,children:(0,I.jsxs)(se,{...ce,children:[!y&&r?(0,I.jsx)(le,{...ue}):null,(0,I.jsx)(dp,{disableEnforceFocus:m,disableAutoFocus:p,disableRestoreFocus:_,isEnabled:N,open:w,children:F.cloneElement(c,ae)})]})})});function Vp(e){return oo(`MuiPaper`,e)}so(`MuiPaper`,`root.rounded.outlined.elevation.elevation0.elevation1.elevation2.elevation3.elevation4.elevation5.elevation6.elevation7.elevation8.elevation9.elevation10.elevation11.elevation12.elevation13.elevation14.elevation15.elevation16.elevation17.elevation18.elevation19.elevation20.elevation21.elevation22.elevation23.elevation24`.split(`.`));var Hp=e=>{let{square:t,elevation:n,variant:r,classes:i}=e;return As({root:[`root`,r,!t&&`rounded`,r===`elevation`&&`elevation${n}`]},Vp,i)},Up=B(`div`,{name:`MuiPaper`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant===`elevation`&&t[`elevation${n.elevation}`]]}})(hp(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create(`box-shadow`),variants:[{props:({ownerState:e})=>!e.square,style:{borderRadius:e.shape.borderRadius}},{props:{variant:`outlined`},style:{border:`1px solid ${(e.vars||e).palette.divider}`}},{props:{variant:`elevation`},style:{boxShadow:`var(--Paper-shadow)`,backgroundImage:`var(--Paper-overlay)`}}]}))),Wp=F.forwardRef(function(e,t){let n=Gd({props:e,name:`MuiPaper`}),r=Vc(),{className:i,component:a=`div`,elevation:o=1,square:s=!1,variant:c=`elevation`,...l}=n,u={...n,component:a,elevation:o,square:s,variant:c},d=Hp(u);return(0,I.jsx)(Up,{as:a,ownerState:u,className:L(d.root,i),ref:t,...l,style:{...c===`elevation`&&{"--Paper-shadow":(r.vars||r).shadows[o],...r.vars&&{"--Paper-overlay":r.vars.overlays?.[o]},...!r.vars&&r.palette.mode===`dark`&&{"--Paper-overlay":`linear-gradient(${No(`#fff`,Cc(o))}, ${No(`#fff`,Cc(o))})`}},...l.style}})});function Gp(e){return oo(`MuiPopover`,e)}so(`MuiPopover`,[`root`,`paper`]);var V=Ki,Kp=Ap;function qp(e){return oo(`MuiSvgIcon`,e)}so(`MuiSvgIcon`,[`root`,`colorPrimary`,`colorSecondary`,`colorAction`,`colorError`,`colorDisabled`,`fontSizeInherit`,`fontSizeSmall`,`fontSizeMedium`,`fontSizeLarge`]);var Jp=e=>{let{color:t,fontSize:n,classes:r}=e;return As({root:[`root`,t!==`inherit`&&`color${V(t)}`,`fontSize${V(n)}`]},qp,r)},Yp=B(`svg`,{name:`MuiSvgIcon`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,n.color!==`inherit`&&t[`color${V(n.color)}`],t[`fontSize${V(n.fontSize)}`]]}})(hp(({theme:e})=>({userSelect:`none`,width:`1em`,height:`1em`,display:`inline-block`,flexShrink:0,transition:e.transitions?.create?.(`fill`,{duration:(e.vars??e).transitions?.duration?.shorter}),variants:[{props:e=>!e.hasSvgAsChild,style:{fill:`currentColor`}},{props:{fontSize:`inherit`},style:{fontSize:`inherit`}},{props:{fontSize:`small`},style:{fontSize:e.typography?.pxToRem?.(20)||`1.25rem`}},{props:{fontSize:`medium`},style:{fontSize:e.typography?.pxToRem?.(24)||`1.5rem`}},{props:{fontSize:`large`},style:{fontSize:e.typography?.pxToRem?.(35)||`2.1875rem`}},...Object.entries((e.vars??e).palette).filter(([,e])=>e&&e.main).map(([t])=>({props:{color:t},style:{color:(e.vars??e).palette?.[t]?.main}})),{props:{color:`action`},style:{color:(e.vars??e).palette?.action?.active}},{props:{color:`disabled`},style:{color:(e.vars??e).palette?.action?.disabled}},{props:{color:`inherit`},style:{color:void 0}}]}))),Xp=F.forwardRef(function(e,t){let n=Gd({props:e,name:`MuiSvgIcon`}),{children:r,className:i,color:a=`inherit`,component:o=`svg`,fontSize:s=`medium`,htmlColor:c,inheritViewBox:l=!1,titleAccess:u,viewBox:d=`0 0 24 24`,...f}=n,p=F.isValidElement(r)&&r.type===`svg`,m={...n,color:a,component:o,fontSize:s,instanceFontSize:e.fontSize,inheritViewBox:l,viewBox:d,hasSvgAsChild:p},h={};l||(h.viewBox=d);let g=Jp(m);return(0,I.jsxs)(Yp,{as:o,className:L(g.root,i),focusable:`false`,color:c,"aria-hidden":!u||void 0,role:u?`img`:void 0,ref:t,...h,...f,...p&&r.props,ownerState:m,children:[p?r.props.children:r,u?(0,I.jsx)(`title`,{children:u}):null]})});Xp.muiName=`SvgIcon`;function Zp(e,t){function n(t,n){return(0,I.jsx)(Xp,{"data-testid":void 0,ref:n,...t,children:e})}return n.muiName=Xp.muiName,F.memo(F.forwardRef(n))}var Qp=js,$p=So,em=ns;function tm(e){let{controlled:t,default:n,name:r,state:i=`value`}=e,{current:a}=F.useRef(t!==void 0),[o,s]=F.useState(n);return[a?t:o,F.useCallback(e=>{a||s(e)},[])]}var nm=tm,rm=kp;function im(e,t){let n=e.charCodeAt(2);return e[0]===`o`&&e[1]===`n`&&n>=65&&n<=90&&typeof t==`function`}function am(e,t){if(!e)return t;function n(e,t){let n={};return Object.keys(t).forEach(r=>{im(r,t[r])&&typeof e[r]==`function`&&(n[r]=(...n)=>{e[r](...n),t[r](...n)})}),n}if(typeof e==`function`||typeof t==`function`)return r=>{let i=typeof t==`function`?t(r):t,a=typeof e==`function`?e({...r,...i}):e,o=L(r?.className,i?.className,a?.className),s=n(a,i);return{...i,...a,...s,...!!o&&{className:o},...i?.style&&a?.style&&{style:{...i.style,...a.style}},...i?.sx&&a?.sx&&{sx:[...Array.isArray(i.sx)?i.sx:[i.sx],...Array.isArray(a.sx)?a.sx:[a.sx]]}}};let r=t,i=n(e,r),a=L(r?.className,e?.className);return{...t,...e,...i,...!!a&&{className:a},...r?.style&&e?.style&&{style:{...r.style,...e.style}},...r?.sx&&e?.sx&&{sx:[...Array.isArray(r.sx)?r.sx:[r.sx],...Array.isArray(e.sx)?e.sx:[e.sx]]}}}function om(e,t){let n=0;return typeof t==`number`?n=t:t===`center`?n=e.height/2:t===`bottom`&&(n=e.height),n}function sm(e,t){let n=0;return typeof t==`number`?n=t:t===`center`?n=e.width/2:t===`right`&&(n=e.width),n}function cm(e){return[e.horizontal,e.vertical].map(e=>typeof e==`number`?`${e}px`:e).join(` `)}function lm(e){return typeof e==`function`?e():e}var um=e=>{let{classes:t}=e;return As({root:[`root`],paper:[`paper`]},Gp,t)},dm=B(Bp,{name:`MuiPopover`,slot:`Root`})({}),fm=B(Wp,{name:`MuiPopover`,slot:`Paper`})({position:`absolute`,overflowY:`auto`,overflowX:`hidden`,minWidth:16,minHeight:16,maxWidth:`calc(100% - 32px)`,maxHeight:`calc(100% - 32px)`,outline:0}),pm=F.forwardRef(function(e,t){let n=Gd({props:e,name:`MuiPopover`}),{action:r,anchorEl:i,anchorOrigin:a={vertical:`top`,horizontal:`left`},anchorPosition:o,anchorReference:s=`anchorEl`,children:c,className:l,container:u,elevation:d=8,marginThreshold:f=16,open:p,PaperProps:m={},slots:h={},slotProps:g={},transformOrigin:_={vertical:`top`,horizontal:`left`},TransitionComponent:v,transitionDuration:y=`auto`,TransitionProps:b={},disableScrollLock:x=!1,...S}=n,C=F.useRef(),w={...n,anchorOrigin:a,anchorReference:s,elevation:d,marginThreshold:f,transformOrigin:_,TransitionComponent:v,transitionDuration:y,TransitionProps:b},T=um(w),E=F.useCallback(()=>{if(s===`anchorPosition`)return o;let e=lm(i),t=(e&&e.nodeType===1?e:Yd(C.current).body).getBoundingClientRect();return{top:t.top+om(t,a.vertical),left:t.left+sm(t,a.horizontal)}},[i,a.horizontal,a.vertical,o,s]),D=F.useCallback(e=>({vertical:om(e,_.vertical),horizontal:sm(e,_.horizontal)}),[_.horizontal,_.vertical]),O=F.useCallback(e=>{let t={width:e.offsetWidth,height:e.offsetHeight},n=D(t);if(s===`none`)return{top:null,left:null,transformOrigin:cm(n)};let r=E(),a=r.top-n.vertical,o=r.left-n.horizontal,c=a+t.height,l=o+t.width,u=Zd(lm(i)),d=u.innerHeight-f,p=u.innerWidth-f;if(f!==null&&a<f){let e=a-f;a-=e,n.vertical+=e}else if(f!==null&&c>d){let e=c-d;a-=e,n.vertical+=e}if(f!==null&&o<f){let e=o-f;o-=e,n.horizontal+=e}else if(l>p){let e=l-p;o-=e,n.horizontal+=e}return{top:`${Math.round(a)}px`,left:`${Math.round(o)}px`,transformOrigin:cm(n)}},[i,s,E,D,f]),[k,A]=F.useState(p),j=F.useCallback(()=>{let e=C.current;if(!e)return;let t=O(e);t.top!==null&&e.style.setProperty(`top`,t.top),t.left!==null&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin,A(!0)},[O]);F.useEffect(()=>(x&&window.addEventListener(`scroll`,j),()=>window.removeEventListener(`scroll`,j)),[i,x,j]);let M=()=>{j()},ee=()=>{A(!1)};F.useEffect(()=>{p&&j()}),F.useImperativeHandle(r,()=>p?{updatePosition:()=>{j()}}:null,[p,j]),F.useEffect(()=>{if(!p)return;let e=qd(()=>{j()}),t=Zd(lm(i));return t.addEventListener(`resize`,e),()=>{e.clear(),t.removeEventListener(`resize`,e)}},[i,p,j]);let N=y,te={slots:{transition:v,...h},slotProps:{transition:b,paper:m,...g}},[ne,re]=xp(`transition`,{elementType:Gf,externalForwardedProps:te,ownerState:w,getSlotProps:e=>({...e,onEntering:(t,n)=>{e.onEntering?.(t,n),M()},onExited:t=>{e.onExited?.(t),ee()}}),additionalProps:{appear:!0,in:p}});y===`auto`&&!ne.muiSupportAuto&&(N=void 0);let ie=u||(i?Yd(lm(i)).body:void 0),[ae,{slots:oe,slotProps:se,...ce}]=xp(`root`,{ref:t,elementType:dm,externalForwardedProps:{...te,...S},shouldForwardComponentProp:!0,additionalProps:{slots:{backdrop:h.backdrop},slotProps:{backdrop:am(typeof g.backdrop==`function`?g.backdrop(w):g.backdrop,{invisible:!0})},container:ie,open:p},ownerState:w,className:L(T.root,l)}),[le,ue]=xp(`paper`,{ref:C,className:T.paper,elementType:fm,externalForwardedProps:te,shouldForwardComponentProp:!0,additionalProps:{elevation:d,style:k?void 0:{opacity:0}},ownerState:w});return(0,I.jsx)(ae,{...ce,...!Vd(ae)&&{slots:oe,slotProps:se,disableScrollLock:x},children:(0,I.jsx)(ne,{...re,timeout:N,children:(0,I.jsx)(le,{...ue,children:c})})})}),mm={50:`#fce4ec`,100:`#f8bbd0`,200:`#f48fb1`,300:`#f06292`,400:`#ec407a`,500:`#e91e63`,600:`#d81b60`,700:`#c2185b`,800:`#ad1457`,900:`#880e4f`,A100:`#ff80ab`,A200:`#ff4081`,A400:`#f50057`,A700:`#c51162`},hm={50:`#e8eaf6`,100:`#c5cae9`,200:`#9fa8da`,300:`#7986cb`,400:`#5c6bc0`,500:`#3f51b5`,600:`#3949ab`,700:`#303f9f`,800:`#283593`,900:`#1a237e`,A100:`#8c9eff`,A200:`#536dfe`,A400:`#3d5afe`,A700:`#304ffe`},gm=s({background:()=>Vm,backgroundDark:()=>Hm,black:()=>th,blueGrey100:()=>lh,blueGrey300:()=>uh,blueGrey600:()=>dh,blueGrey900:()=>fh,border:()=>Jm,borderDark:()=>Xm,borderGray:()=>Zm,borderLight:()=>Ym,buttonBorder:()=>yh,buttonFocusOutline:()=>ch,buttonHoverBg:()=>bh,correct:()=>Cm,correctSecondary:()=>wm,correctTertiary:()=>Tm,correctWithIcon:()=>Em,defaults:()=>H,disabled:()=>bm,disabledSecondary:()=>xm,disabledText:()=>Sm,dropdownBackground:()=>Wm,fadedPrimary:()=>Im,focusChecked:()=>ih,focusCheckedBorder:()=>ah,focusUnchecked:()=>oh,focusUncheckedBorder:()=>sh,incorrect:()=>Dm,incorrectSecondary:()=>km,incorrectWithIcon:()=>Om,keyBoardFocusIndicator:()=>vh,keypadButton:()=>ph,keypadButtonHover:()=>gh,keypadButtonOperator:()=>mh,keypadButtonOperatorHover:()=>_h,keypadEmptyPlaceholder:()=>hh,missing:()=>Am,missingWithIcon:()=>jm,primary:()=>Mm,primaryDark:()=>Pm,primaryLight:()=>Nm,primaryText:()=>Fm,secondary:()=>Lm,secondaryBackground:()=>Um,secondaryDark:()=>zm,secondaryLight:()=>Rm,secondaryText:()=>Bm,surface:()=>Gm,tableGrid:()=>Qm,tableGridLight:()=>$m,tableStripe:()=>eh,tertiary:()=>Km,tertiaryLight:()=>qm,text:()=>ym,transparent:()=>rh,v:()=>_m,visualElementsColors:()=>xh,white:()=>nh}),H={TEXT:`black`,DISABLED:`grey`,DISABLED_SECONDARY:`#ABABAB`,DISABLED_TEXT:`#545454`,CORRECT:zs[500],CORRECT_SECONDARY:zs[50],CORRECT_TERTIARY:`#0EA449`,CORRECT_WITH_ICON:`#087D38`,INCORRECT:Is[500],INCORRECT_SECONDARY:Fs[50],INCORRECT_WITH_ICON:`#BF0D00`,MISSING:Fs[700],MISSING_WITH_ICON:`#6A78A1`,PRIMARY:hm[500],PRIMARY_LIGHT:hm[200],PRIMARY_DARK:hm[800],SECONDARY:mm.A400,SECONDARY_LIGHT:mm[200],SECONDARY_DARK:mm[900],TERTIARY:`#146EB3`,TERTIARY_LIGHT:`#D0E2F0`,BACKGROUND:`rgba(255,255,255,0)`,BACKGROUND_DARK:`#ECEDF1`,DROPDOWN_BACKGROUND:`#E0E1E6`,SECONDARY_BACKGROUND:`rgba(241,241,241,1)`,SURFACE:`#E0E1E6`,BORDER:`#9A9A9A`,BORDER_LIGHT:`#D1D1D1`,BORDER_DARK:`#646464`,BORDER_GRAY:`#7E8494`,TABLE_GRID:`black`,TABLE_GRID_LIGHT:`#dfe2e5`,TABLE_STRIPE:`#f6f8fa`,BLACK:`#000000`,WHITE:`#ffffff`,TRANSPARENT:`transparent`,FOCUS_CHECKED:`#BBDEFB`,FOCUS_CHECKED_BORDER:`#1565C0`,FOCUS_UNCHECKED:`#E0E0E0`,FOCUS_UNCHECKED_BORDER:`#757575`,BUTTON_FOCUS_OUTLINE:`#3B82F6`,BLUE_GREY100:`#F3F5F7`,BLUE_GREY300:`#81848F`,BLUE_GREY600:`#7E8494`,BLUE_GREY900:`#152452`,FADED_PRIMARY:`#DCDAFB`,KEYPAD_BUTTON:`rgb(188, 194, 229)`,KEYPAD_BUTTON_OPERATOR:`rgb(255, 159, 192)`,KEYPAD_EMPTY_PLACEHOLDER:`rgba(245, 0, 87, 0.4)`,KEYPAD_BUTTON_HOVER:`rgb(214, 218, 239)`,KEYPAD_BUTTON_OPERATOR_HOVER:`rgb(255, 197, 217)`,KEY_BOARD_FOCUS_INDICATOR:`#2B87FF`,BUTTON_BORDER:`rgba(0, 0, 0, 0.23)`,BUTTON_HOVER_BG:`rgba(0, 0, 0, 0.08)`};Object.freeze(H);var _m=e=>(...t)=>{let n=t.pop();return t.reduceRight((t,n)=>`var(--${e}-${n}, ${t})`,n)},vm=_m(`pie`),ym=()=>vm(`text`,H.TEXT),bm=()=>vm(`disabled`,H.DISABLED),xm=()=>vm(`disabled-secondary`,H.DISABLED_SECONDARY),Sm=()=>vm(`disabled-text`,`text`,H.DISABLED_TEXT),Cm=()=>vm(`correct`,H.CORRECT),wm=()=>vm(`correct-secondary`,H.CORRECT_SECONDARY),Tm=()=>vm(`correct-tertiary`,H.CORRECT_TERTIARY),Em=()=>vm(`correct-icon`,H.CORRECT_WITH_ICON),Dm=()=>vm(`incorrect`,H.INCORRECT),Om=()=>vm(`incorrect-icon`,H.INCORRECT_WITH_ICON),km=()=>vm(`incorrect-secondary`,H.INCORRECT_SECONDARY),Am=()=>vm(`missing`,H.MISSING),jm=()=>vm(`missing-icon`,H.MISSING_WITH_ICON),Mm=()=>vm(`primary`,H.PRIMARY),Nm=()=>vm(`primary-light`,H.PRIMARY_LIGHT),Pm=()=>vm(`primary-dark`,H.PRIMARY_DARK),Fm=()=>vm(`primary-text`,`text`,H.TEXT),Im=()=>vm(`faded-primary`,H.FADED_PRIMARY),Lm=()=>vm(`secondary`,H.SECONDARY),Rm=()=>vm(`secondary-light`,H.SECONDARY_LIGHT),zm=()=>vm(`secondary-dark`,H.SECONDARY_DARK),Bm=()=>vm(`secondary-text`,`text`,H.TEXT),Vm=()=>vm(`background`,H.BACKGROUND),Hm=()=>vm(`background-dark`,H.BACKGROUND_DARK),Um=()=>vm(`secondary-background`,H.SECONDARY_BACKGROUND),Wm=()=>vm(`dropdown-background`,H.DROPDOWN_BACKGROUND),Gm=()=>vm(`surface`,H.SURFACE),Km=()=>vm(`tertiary`,H.TERTIARY),qm=()=>vm(`tertiary-light`,H.TERTIARY_LIGHT),Jm=()=>vm(`border`,H.BORDER),Ym=()=>vm(`border-light`,H.BORDER_LIGHT),Xm=()=>vm(`border-dark`,H.BORDER_DARK),Zm=()=>vm(`border-gray`,H.BORDER_GRAY),Qm=()=>vm(`table-grid`,`text`,H.TABLE_GRID),$m=()=>vm(`table-grid-light`,`border-light`,H.TABLE_GRID_LIGHT),eh=()=>vm(`table-stripe`,`background-dark`,H.TABLE_STRIPE),th=()=>vm(`black`,H.BLACK),nh=()=>vm(`white`,H.WHITE),rh=()=>H.TRANSPARENT,ih=()=>vm(`focus-checked`,H.FOCUS_CHECKED),ah=()=>vm(`focus-checked-border`,H.FOCUS_CHECKED_BORDER),oh=()=>vm(`focus-unchecked`,H.FOCUS_UNCHECKED),sh=()=>vm(`focus-unchecked-border`,H.FOCUS_UNCHECKED_BORDER),ch=()=>vm(`button-focus-outline`,H.BUTTON_FOCUS_OUTLINE),lh=()=>vm(`blue-grey-100`,H.BLUE_GREY100),uh=()=>vm(`blue-grey-300`,H.BLUE_GREY300),dh=()=>vm(`blue-grey-600`,H.BLUE_GREY600),fh=()=>vm(`blue-grey-900`,H.BLUE_GREY900),ph=()=>vm(`keypad-button`,H.KEYPAD_BUTTON),mh=()=>vm(`keypad-button-operator`,H.KEYPAD_BUTTON_OPERATOR),hh=()=>vm(`keypad-empty-placeholder`,H.KEYPAD_EMPTY_PLACEHOLDER),gh=()=>vm(`keypad-button-hover`,H.KEYPAD_BUTTON_HOVER),_h=()=>vm(`keypad-button-operator-hover`,H.KEYPAD_BUTTON_OPERATOR_HOVER),vh=()=>vm(`keyboard-focus-indicator`,H.KEY_BOARD_FOCUS_INDICATOR),yh=()=>vm(`button-border`,H.BUTTON_BORDER),bh=()=>vm(`button-hover-bg`,H.BUTTON_HOVER_BG),xh={AXIS_LINE_COLOR:`#5A53C9`,ROLLOVER_FILL_BAR_COLOR:`#050F2D`,GRIDLINES_COLOR:`#8E88EA`,PLOT_FILL_COLOR:`#1463B3`,SHAPES_FILL_COLOR:`#7986cb`},Sh=B(`div`)({transformOrigin:`0% 0px 0px`,width:`100%`,display:`block`,overflow:`hidden`,"&.incorrect":{color:`#946202`}}),Ch=B(`div`)({WebkitFontSmoothing:`antialiased`,backgroundColor:`var(--feedback-bg-color, ${bm()})`,borderRadius:`4px`,lineHeight:`25px`,margin:`0px`,padding:`10px`,verticalAlign:`middle`,color:`var(--feedback-color, white)`,"&.correct":{backgroundColor:`var(--feedback-correct-bg-color, ${Cm()})`},"&.incorrect":{backgroundColor:`var(--feedback-incorrect-bg-color, ${Dm()})`}}),wh=B(`div`)({"&.feedback-enter":{height:`1px`},"&.feedback-enter-active":{height:`45px`,transition:`height 500ms`},"&.feedback-exit":{height:`45px`},"&.feedback-exit-active":{height:`1px`,transition:`height 200ms`}}),Th=class extends F.Component{static propTypes={correctness:P.string,feedback:P.string};nodeRef=F.createRef();renderFeedback(){let{correctness:e,feedback:t}=this.props;return!e||!t?null:(0,I.jsx)(Ef,{nodeRef:this.nodeRef,timeout:{enter:500,exit:200},classNames:`feedback`,children:(0,I.jsx)(wh,{ref:this.nodeRef,children:(0,I.jsx)(Sh,{children:(0,I.jsx)(Ch,{className:e,dangerouslySetInnerHTML:{__html:t}})})})},`hasFeedback`)}render(){return(0,I.jsx)(`div`,{children:(0,I.jsx)(Ff,{children:this.renderFeedback()})})}},Eh=()=>{};function Dh(){let e=function(){};return e.enabled=!1,e.log=Eh,e.extend=()=>e,e.destroy=Eh,e}Dh.log=Eh,Dh.enable=Eh,Dh.disable=()=>``,Dh.enabled=()=>!1;var Oh=s({Correct:()=>Ph,Incorrect:()=>Fh,NothingSubmitted:()=>Lh,PartiallyCorrect:()=>Ih}),kh=Dh(`pie-libs:render-ui:response-indicators`),Ah=B(`div`)(({hasFeedback:e})=>({cursor:e?`pointer`:`default`})),jh=B(pm)({cursor:`pointer`}),Mh=B(`div`)({padding:`0`,borderRadius:`4px`}),Nh=(e,t)=>{class n extends F.Component{constructor(e){super(e),this.state={}}handlePopoverOpen=e=>{kh(`[handlePopoverOpen]`,e.target),this.setState({anchorEl:e.target})};handlePopoverClose=()=>{this.setState({anchorEl:null})};render(){let{feedback:n}=this.props,{anchorEl:r}=this.state;return(0,I.jsxs)(Ah,{hasFeedback:!!n,children:[(0,I.jsx)(`span`,{ref:e=>this.icon=e,onClick:this.handlePopoverOpen,children:(0,I.jsx)(e,{})}),n&&(0,I.jsx)(jh,{PaperComponent:Mh,open:!!r,anchorEl:r,anchorOrigin:{vertical:`bottom`,horizontal:`left`},transformOrigin:{vertical:`top`,horizontal:`left`},onClose:this.handlePopoverClose,children:(0,I.jsx)(Th,{feedback:n,correctness:t})})]})}}return n.propTypes={feedback:P.string},n},Ph=Nh(Ed,`correct`),Fh=Nh(Nd,`incorrect`),Ih=Nh(Bd,`partially-correct`),Lh=Nh(Ld,`nothing-submitted`);function Rh(e){return oo(`MuiCollapse`,e)}so(`MuiCollapse`,[`root`,`horizontal`,`vertical`,`entered`,`hidden`,`wrapper`,`wrapperInner`]);var zh=e=>{let{orientation:t,classes:n}=e;return As({root:[`root`,t],entered:[`entered`],hidden:[`hidden`],wrapper:[`wrapper`,t],wrapperInner:[`wrapperInner`,t]},Rh,n)},Bh=B(`div`,{name:`MuiCollapse`,slot:`Root`,overridesResolver:(e,t)=>{let{ownerState:n}=e;return[t.root,t[n.orientation],n.state===`entered`&&t.entered,n.state===`exited`&&!n.in&&n.collapsedSize===`0px`&&t.hidden]}})(hp(({theme:e})=>({height:0,overflow:`hidden`,transition:e.transitions.create(`height`),variants:[{props:{orientation:`horizontal`},style:{height:`auto`,width:0,transition:e.transitions.create(`width`)}},{props:{state:`entered`},style:{height:`auto`,overflow:`visible`}},{props:{state:`entered`,orientation:`horizontal`},style:{width:`auto`}},{props:({ownerState:e})=>e.state===`exited`&&!e.in&&e.collapsedSize===`0px`,style:{visibility:`hidden`}}]}))),Vh=B(`div`,{name:`MuiCollapse`,slot:`Wrapper`})({display:`flex`,width:`100%`,variants:[{props:{orientation:`horizontal`},style:{width:`auto`,height:`100%`}}]}),Hh=B(`div`,{name:`MuiCollapse`,slot:`WrapperInner`})({width:`100%`,variants:[{props:{orientation:`horizontal`},style:{width:`auto`,height:`100%`}}]}),Uh=F.forwardRef(function(e,t){let n=Gd({props:e,name:`MuiCollapse`}),{addEndListener:r,children:i,className:a,collapsedSize:o=`0px`,component:s,easing:c,in:l,onEnter:u,onEntered:d,onEntering:f,onExit:p,onExited:m,onExiting:h,orientation:g=`vertical`,slots:_={},slotProps:v={},style:y,timeout:b=fc.standard,TransitionComponent:x=Sf,...S}=n,C={...n,orientation:g,collapsedSize:o},w=zh(C),T=Vc(),E=rf(),D=F.useRef(null),O=F.useRef(),k=typeof o==`number`?`${o}px`:o,A=g===`horizontal`,j=A?`width`:`height`,M=F.useRef(null),ee=Vf(t,M),N=()=>D.current?D.current[A?`clientWidth`:`clientHeight`]:0,te=Lf(M,(e,t)=>{D.current&&A&&(D.current.style.position=`absolute`),e.style[j]=k,u&&u(e,t)}),ne=Lf(M,(e,t)=>{let n=N();D.current&&A&&(D.current.style.position=``);let{duration:r,easing:i}=zf({style:y,timeout:b,easing:c},{mode:`enter`});if(b===`auto`){let t=T.transitions.getAutoHeightDuration(n);e.style.transitionDuration=`${t}ms`,O.current=t}else e.style.transitionDuration=typeof r==`string`?r:`${r}ms`;e.style[j]=`${n}px`,e.style.transitionTimingFunction=i,f&&f(e,t)}),re=Lf(M,(e,t)=>{e.style[j]=`auto`,d&&d(e,t)}),ie=Lf(M,e=>{e.style[j]=`${N()}px`,p&&p(e)}),ae=Lf(M,m),oe=Lf(M,e=>{let t=N(),{duration:n,easing:r}=zf({style:y,timeout:b,easing:c},{mode:`exit`});if(b===`auto`){let n=T.transitions.getAutoHeightDuration(t);e.style.transitionDuration=`${n}ms`,O.current=n}else e.style.transitionDuration=typeof n==`string`?n:`${n}ms`;e.style[j]=k,e.style.transitionTimingFunction=r,h&&h(e)}),se=e=>{b===`auto`&&E.start(O.current||0,e),r&&r(M.current,e)},ce={slots:_,slotProps:v,component:s},[le,ue]=xp(`root`,{ref:ee,className:L(w.root,a),elementType:Bh,externalForwardedProps:ce,ownerState:C,additionalProps:{style:{[A?`minWidth`:`minHeight`]:k,...y}}}),[de,fe]=xp(`wrapper`,{ref:D,className:w.wrapper,elementType:Vh,externalForwardedProps:ce,ownerState:C}),[pe,me]=xp(`wrapperInner`,{className:w.wrapperInner,elementType:Hh,externalForwardedProps:ce,ownerState:C});return(0,I.jsx)(x,{in:l,onEnter:te,onEntered:re,onEntering:ne,onExit:ie,onExited:ae,onExiting:oe,addEndListener:se,nodeRef:M,timeout:b===`auto`?null:b,...S,children:(e,{ownerState:t,...n})=>{let r={...C,state:e};return(0,I.jsx)(le,{...ue,className:L(ue.className,{entered:w.entered,exited:!l&&k===`0px`&&w.hidden}[e]),ownerState:r,...n,children:(0,I.jsx)(de,{...fe,ownerState:r,children:(0,I.jsx)(pe,{...me,ownerState:r,children:i})})})}})});Uh&&(Uh.muiSupportAuto=!0);var Wh=e=>`${e}-${Math.random().toString(36).slice(2,10)}`,Gh=e=>F.useState(()=>Wh(e))[0],Kh=B(`button`)({display:`inline-block`,minHeight:`24px`,padding:0,border:0,background:`transparent`,font:`inherit`,textAlign:`inherit`,color:Km(),cursor:`pointer`}),qh=B(`span`)({borderBottom:`1px dotted currentColor`}),Jh=B(Uh)(({theme:e})=>({paddingTop:e.spacing(2)})),Yh=class extends F.Component{static propTypes={className:P.string,children:P.object,labels:P.shape({visible:P.string,hidden:P.string})};static defaultProps={labels:{}};state={expanded:!1};panelId=Wh(`pie-collapsible`);toggleExpanded=()=>{this.setState(e=>({expanded:!e.expanded}))};componentDidMount(){Pt(this.root)}componentDidUpdate(){Pt(this.root)}render(){let{labels:e,children:t,className:n}=this.props,{expanded:r}=this.state,i=r?e.visible||`Hide`:e.hidden||`Show`;return(0,I.jsxs)(`div`,{className:n,ref:e=>this.root=e,children:[(0,I.jsx)(`div`,{children:(0,I.jsx)(Kh,{type:`button`,"aria-expanded":r,"aria-controls":this.panelId,onClick:this.toggleExpanded,children:(0,I.jsx)(qh,{children:i})})}),(0,I.jsx)(`div`,{id:this.panelId,children:(0,I.jsx)(Jh,{in:r,timeout:{enter:225,exit:195},unmountOnExit:!0,children:t})})]})}};function Xh(e){try{return e.matches(`:focus-visible`)}catch{}return!1}var Zh=class e{static create(){return new e}static use(){let t=$d(e.create).current,[n,r]=F.useState(!1);return t.shouldMount=n,t.setShouldMount=r,F.useEffect(t.mountEffect,[n]),t}constructor(){this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}mount(){return this.mounted||(this.mounted=$h(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}mountEffect=()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())};start(...e){this.mount().then(()=>this.ref.current?.start(...e))}stop(...e){this.mount().then(()=>this.ref.current?.stop(...e))}pulsate(...e){this.mount().then(()=>this.ref.current?.pulsate(...e))}};function Qh(){return Zh.use()}function $h(){let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n}function eg(e){let{className:t,classes:n,pulsate:r=!1,rippleX:i,rippleY:a,rippleSize:o,in:s,onExited:c,timeout:l}=e,[u,d]=F.useState(!1),f=L(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),p={width:o,height:o,top:-(o/2)+a,left:-(o/2)+i},m=L(n.child,u&&n.childLeaving,r&&n.childPulsate);return!s&&!u&&d(!0),F.useEffect(()=>{if(!s&&c!=null){let e=setTimeout(c,l);return()=>{clearTimeout(e)}}},[c,s,l]),(0,I.jsx)(`span`,{className:f,style:p,children:(0,I.jsx)(`span`,{className:m})})}var tg=so(`MuiTouchRipple`,[`root`,`ripple`,`rippleVisible`,`ripplePulsate`,`child`,`childLeaving`,`childPulsate`]),ng=550,rg=ii`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-element/graphing-solution-set",
3
- "version": "7.0.1-next.20261004162038",
3
+ "version": "7.0.1-next.20261004165705",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,13 +11,13 @@
11
11
  "@emotion/react": "^11.14.0",
12
12
  "@mui/icons-material": "^7.3.4",
13
13
  "@mui/material": "^7.3.4",
14
- "@pie-lib/config-ui": "14.0.1-next.20261004162038",
15
- "@pie-lib/correct-answer-toggle": "5.0.1-next.20261004162038",
16
- "@pie-lib/graphing-solution-set": "5.0.1-next.20261004162038",
17
- "@pie-lib/render-ui": "8.0.1-next.20261004162038",
14
+ "@pie-lib/config-ui": "14.0.1-next.20261004165705",
15
+ "@pie-lib/correct-answer-toggle": "5.0.1-next.20261004165705",
16
+ "@pie-lib/graphing-solution-set": "5.0.1-next.20261004165705",
17
+ "@pie-lib/render-ui": "8.0.1-next.20261004165705",
18
18
  "debug": "^4.1.1",
19
19
  "prop-types": "^15.8.1",
20
- "@pie-lib/editable-html-tip-tap": "3.0.1-next.20261004162038",
20
+ "@pie-lib/editable-html-tip-tap": "3.0.1-next.20261004165705",
21
21
  "@pie-element/shared-lodash": "0.1.2-next.20261002215153",
22
22
  "@pie-element/shared-configure-events": "0.1.2-next.20261002215153",
23
23
  "@pie-element/shared-math-rendering-mathjax": "0.1.2-next.20261003161149",