@khanacademy/perseus-core 0.0.0-PR3141-20251216140733 → 0.0.0-PR3146-20251217231412

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.
package/dist/index.d.ts CHANGED
@@ -143,7 +143,10 @@ export { generateDropdownOptions, generateDropdownWidget, } from "./utils/genera
143
143
  export { generateExplanationOptions, generateExplanationWidget, } from "./utils/generators/explanation-widget-generator";
144
144
  export { generateExpressionOptions, generateExpressionAnswerForm, generateExpressionWidget, } from "./utils/generators/expression-widget-generator";
145
145
  export { generateFreeResponseOptions, generateFreeResponseWidget, } from "./utils/generators/free-response-widget-generator";
146
+ export { generateGradedGroupOptions, generateGradedGroupWidget, } from "./utils/generators/graded-group-widget-generator";
147
+ export { generateGroupOptions, generateGroupWidget, } from "./utils/generators/group-widget-generator";
146
148
  export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
149
+ export { generateInteractiveGraphOptions, generateIGAngleGraph, generateIGCircleGraph, generateIGLinearGraph, generateIGLinearSystemGraph, generateIGNoneGraph, generateIGPointGraph, generateIGPolygonGraph, generateIGQuadraticGraph, generateIGRayGraph, generateIGSegmentGraph, generateIGSinusoidGraph, generateIGLockedPoint, generateIGLockedLine, generateIGLockedVector, generateIGLockedEllipse, generateIGLockedPolygon, generateIGLockedFunction, generateIGLockedLabel, generateInteractiveGraphWidget, } from "./utils/generators/interactive-graph-widget-generator";
147
150
  export { generateNumericInputOptions, generateNumericInputAnswer, generateNumericInputWidget, } from "./utils/generators/numeric-input-widget-generator";
148
151
  export { generateRadioOptions, generateRadioWidget, generateRadioChoice, generateSimpleRadioQuestion, generateSimpleRadioItem, } from "./utils/generators/radio-widget-generator";
149
152
  export { generateVideoWidget } from "./utils/generators/video-widget-generator";
package/dist/index.js CHANGED
@@ -259,7 +259,7 @@ const parseUserInputMap=(rawValue,ctx)=>{if(!isPlainObject(rawValue)){return ctx
259
259
 
260
260
  function parsePerseusItem(json){if(isRealJSONParse(JSON.parse)){return JSON.parse(json)}throw new Error("Something went wrong.")}function parseAndMigratePerseusItem(data){throwErrorIfCheatingDetected();const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parsePerseusItem$1);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function parseAndMigratePerseusArticle(data){throwErrorIfCheatingDetected();const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parsePerseusArticle);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function parseAndMigrateUserInputMap(data){const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parseUserInputMap);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function throwErrorIfCheatingDetected(){if(!isRealJSONParse(JSON.parse)){throw new Error("Something went wrong.")}}
261
261
 
262
- const libName="@khanacademy/perseus-core";const libVersion="21.0.1";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
262
+ const libName="@khanacademy/perseus-core";const libVersion="21.0.2";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
263
263
 
264
264
  const Errors=Object.freeze({Unknown:"Unknown",Internal:"Internal",InvalidInput:"InvalidInput",NotAllowed:"NotAllowed",TransientService:"TransientService",Service:"Service"});
265
265
 
@@ -319,7 +319,7 @@ const svgLabelsRegex=/^web\+graphie:/;const svgLocalLabelsRegex=/^file\+graphie:
319
319
 
320
320
  function getInteractiveGraphPublicWidgetOptions(options){const{correct:_,...publicOptions}=options;return publicOptions}
321
321
 
322
- const defaultWidgetOptions$i={labels:["$x$","$y$"],labelLocation:"onAxis",range:[[-10,10],[-10,10]],step:[1,1],backgroundImage:{url:null},markings:"graph",showTooltips:false,showProtractor:false,graph:{type:"linear"},correct:{type:"linear",coords:null}};const interactiveGraphWidgetLogic={name:"interactive-graph",defaultWidgetOptions: defaultWidgetOptions$i,getPublicWidgetOptions:getInteractiveGraphPublicWidgetOptions,accessible:widgetOptions=>{const interactiveGraphOptions=widgetOptions;if(interactiveGraphOptions.showProtractor){return false}if(interactiveGraphOptions.backgroundImage?.url&&isLabeledSVG(interactiveGraphOptions.backgroundImage?.url)){return false}return true}};
322
+ const defaultWidgetOptions$i={labels:["$x$","$y$"],labelLocation:"onAxis",lockedFigures:[],range:[[-10,10],[-10,10]],step:[1,1],backgroundImage:{url:null},markings:"graph",showAxisArrows:{xMin:true,xMax:true,yMin:true,yMax:true},showTooltips:false,showProtractor:false,graph:{type:"linear"},correct:{type:"linear",coords:null}};const interactiveGraphWidgetLogic={name:"interactive-graph",defaultWidgetOptions: defaultWidgetOptions$i,getPublicWidgetOptions:getInteractiveGraphPublicWidgetOptions,accessible:widgetOptions=>{const interactiveGraphOptions=widgetOptions;if(interactiveGraphOptions.showProtractor){return false}if(interactiveGraphOptions.backgroundImage?.url&&isLabeledSVG(interactiveGraphOptions.backgroundImage?.url)){return false}return true}};
323
323
 
324
324
  function getLabelImagePublicWidgetOptions(options){return {...options,markers:options.markers.map(getLabelImageMarkerPublicData)}}function getLabelImageMarkerPublicData(marker){const{answers:_,...publicData}=marker;return publicData}function isLabelImageAccessible(options){const labelImageOptions=options;if(labelImageOptions.imageUrl!==""&&labelImageOptions.imageAlt===""){return false}for(const marker of labelImageOptions.markers){if(marker.label===""){return false}}return true}
325
325
 
@@ -426,7 +426,13 @@ function generateExpressionOptions(options){return {...expressionWidgetLogic.def
426
426
 
427
427
  function generateFreeResponseOptions(options){return {...freeResponseWidgetLogic.defaultWidgetOptions,...options}}function generateFreeResponseWidget(freeResponseWidgetProperties){return {type:"free-response",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateFreeResponseOptions(),...freeResponseWidgetProperties}}
428
428
 
429
- function generateImageOptions(options){const defaultImageOptions={backgroundImage:{}};return {...defaultImageOptions,...options}}function generateImageWidget(imageWidgetProperties){return {type:"image",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateImageOptions({}),...imageWidgetProperties}}
429
+ function generateGradedGroupOptions(options){return {...gradedGroupWidgetLogic.defaultWidgetOptions,...options}}function generateGradedGroupWidget(gradedGroupWidgetProperties){return {type:"graded-group",graded:false,version:{major:0,minor:0},static:false,alignment:"default",options:generateGradedGroupOptions(),...gradedGroupWidgetProperties}}
430
+
431
+ function generateGroupOptions(options){return {...groupWidgetLogic.defaultWidgetOptions,...options}}function generateGroupWidget(groupWidgetProperties){return {type:"group",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateGroupOptions(),...groupWidgetProperties}}
432
+
433
+ function generateImageOptions(options){const defaultImageOptions={backgroundImage:{}};return {...defaultImageOptions,...options}}function generateImageWidget(imageWidgetProperties){return {type:"image",graded:false,version:{major:0,minor:0},static:false,alignment:"default",options:generateImageOptions({}),...imageWidgetProperties}}
434
+
435
+ function generateInteractiveGraphWidget(interactiveGraphWidgetProperties){return {type:"interactive-graph",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateInteractiveGraphOptions(),...interactiveGraphWidgetProperties}}function generateInteractiveGraphOptions(options){return {...interactiveGraphWidgetLogic.defaultWidgetOptions,...options}}function generateIGAngleGraph(options){return {type:"angle",...options}}function generateIGCircleGraph(options){return {type:"circle",...options}}function generateIGLinearGraph(options){return {type:"linear",...options}}function generateIGLinearSystemGraph(options){return {type:"linear-system",...options}}function generateIGNoneGraph(){return {type:"none"}}function generateIGPointGraph(options){return {type:"point",...options}}function generateIGPolygonGraph(options){return {type:"polygon",...options}}function generateIGQuadraticGraph(options){return {type:"quadratic",...options}}function generateIGRayGraph(options){return {type:"ray",...options}}function generateIGSegmentGraph(options){return {type:"segment",...options}}function generateIGSinusoidGraph(options){return {type:"sinusoid",...options}}function generateIGLockedPoint(options){return {...getDefaultFigureForType("point"),...options}}function generateIGLockedLine(options){return {...getDefaultFigureForType("line"),...options}}function generateIGLockedVector(options){return {...getDefaultFigureForType("vector"),...options}}function generateIGLockedEllipse(options){return {...getDefaultFigureForType("ellipse"),...options}}function generateIGLockedPolygon(options){return {...getDefaultFigureForType("polygon"),...options}}function generateIGLockedFunction(options){return {...getDefaultFigureForType("function"),...options}}function generateIGLockedLabel(options){return {...getDefaultFigureForType("label"),...options}}
430
436
 
431
437
  function generateNumericInputOptions(options){return {...numericInputWidgetLogic.defaultWidgetOptions,static:false,...options}}function generateNumericInputAnswer(answerOptions){return {...numericInputWidgetLogic.defaultWidgetOptions.answers[0],...answerOptions}}function generateNumericInputWidget(numericInputWidgetProperties){return {type:"numeric-input",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateNumericInputOptions(),...numericInputWidgetProperties}}
432
438
 
@@ -481,8 +487,32 @@ exports.generateExpressionOptions = generateExpressionOptions;
481
487
  exports.generateExpressionWidget = generateExpressionWidget;
482
488
  exports.generateFreeResponseOptions = generateFreeResponseOptions;
483
489
  exports.generateFreeResponseWidget = generateFreeResponseWidget;
490
+ exports.generateGradedGroupOptions = generateGradedGroupOptions;
491
+ exports.generateGradedGroupWidget = generateGradedGroupWidget;
492
+ exports.generateGroupOptions = generateGroupOptions;
493
+ exports.generateGroupWidget = generateGroupWidget;
494
+ exports.generateIGAngleGraph = generateIGAngleGraph;
495
+ exports.generateIGCircleGraph = generateIGCircleGraph;
496
+ exports.generateIGLinearGraph = generateIGLinearGraph;
497
+ exports.generateIGLinearSystemGraph = generateIGLinearSystemGraph;
498
+ exports.generateIGLockedEllipse = generateIGLockedEllipse;
499
+ exports.generateIGLockedFunction = generateIGLockedFunction;
500
+ exports.generateIGLockedLabel = generateIGLockedLabel;
501
+ exports.generateIGLockedLine = generateIGLockedLine;
502
+ exports.generateIGLockedPoint = generateIGLockedPoint;
503
+ exports.generateIGLockedPolygon = generateIGLockedPolygon;
504
+ exports.generateIGLockedVector = generateIGLockedVector;
505
+ exports.generateIGNoneGraph = generateIGNoneGraph;
506
+ exports.generateIGPointGraph = generateIGPointGraph;
507
+ exports.generateIGPolygonGraph = generateIGPolygonGraph;
508
+ exports.generateIGQuadraticGraph = generateIGQuadraticGraph;
509
+ exports.generateIGRayGraph = generateIGRayGraph;
510
+ exports.generateIGSegmentGraph = generateIGSegmentGraph;
511
+ exports.generateIGSinusoidGraph = generateIGSinusoidGraph;
484
512
  exports.generateImageOptions = generateImageOptions;
485
513
  exports.generateImageWidget = generateImageWidget;
514
+ exports.generateInteractiveGraphOptions = generateInteractiveGraphOptions;
515
+ exports.generateInteractiveGraphWidget = generateInteractiveGraphWidget;
486
516
  exports.generateNumericInputAnswer = generateNumericInputAnswer;
487
517
  exports.generateNumericInputOptions = generateNumericInputOptions;
488
518
  exports.generateNumericInputWidget = generateNumericInputWidget;