@khanacademy/perseus-core 0.0.0-PR3154-20251219001324 → 0.0.0-PR3155-20251219001616
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/data-schema.d.ts +0 -9
- package/dist/es/index.item-splitting.js +2 -2
- package/dist/es/index.item-splitting.js.map +1 -1
- package/dist/es/index.js +6 -14
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.item-splitting.js +2 -2
- package/dist/index.item-splitting.js.map +1 -1
- package/dist/index.js +5 -38
- package/dist/index.js.map +1 -1
- package/dist/parse-perseus-json/perseus-parsers/hint.d.ts +0 -1
- package/dist/widgets/interactive-graph/index.d.ts +1 -1
- package/package.json +1 -1
- package/dist/utils/generators/graded-group-set-widget-generator.d.ts +0 -2
- package/dist/utils/generators/graded-group-widget-generator.d.ts +0 -3
- package/dist/utils/generators/group-widget-generator.d.ts +0 -3
- package/dist/utils/generators/interactive-graph-widget-generator.d.ts +0 -21
package/dist/index.js
CHANGED
|
@@ -209,7 +209,7 @@ const parsePerseusRenderer=defaulted(object({content:defaulted(string,()=>""),wi
|
|
|
209
209
|
|
|
210
210
|
const parsePerseusArticle=union(parsePerseusRenderer).or(array(parsePerseusRenderer)).parser;
|
|
211
211
|
|
|
212
|
-
const parseHint=object({replace:defaulted(optional(boolean),()=>undefined),
|
|
212
|
+
const parseHint=object({replace:defaulted(optional(boolean),()=>undefined),content:string,widgets:defaulted(parseWidgetsMap,()=>({})),images:parseImages,metadata:any});
|
|
213
213
|
|
|
214
214
|
const parsePerseusAnswerArea=pipeParsers(defaulted(object({}),()=>({}))).then(convert(toAnswerArea)).parser;function toAnswerArea(raw){return {calculator:!!raw.calculator,financialCalculatorMonthlyPayment:!!raw.financialCalculatorMonthlyPayment,financialCalculatorTotalAmount:!!raw.financialCalculatorTotalAmount,financialCalculatorTimeToPayOff:!!raw.financialCalculatorTimeToPayOff,periodicTable:!!raw.periodicTable,periodicTableWithKey:!!raw.periodicTableWithKey}}
|
|
215
215
|
|
|
@@ -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.
|
|
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",
|
|
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}};
|
|
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
|
|
|
@@ -408,7 +408,7 @@ function getDefaultAnswerArea(){return ItemExtras.reduce((acc,curr)=>({...acc,[c
|
|
|
408
408
|
|
|
409
409
|
const DEFAULT_COLOR="grayH";function getDefaultFigureForType(type){switch(type){case "point":return {type:"point",coord:[0,0],color:DEFAULT_COLOR,filled:true,labels:[]};case "line":return {type:"line",kind:"line",points:[getDefaultFigureForType("point"),{...getDefaultFigureForType("point"),coord:[2,2]}],color:DEFAULT_COLOR,lineStyle:"solid",showPoint1:false,showPoint2:false,weight:"medium",labels:[]};case "vector":return {type:"vector",points:[[0,0],[2,2]],color:DEFAULT_COLOR,weight:"medium",labels:[]};case "ellipse":return {type:"ellipse",center:[0,0],radius:[1,1],angle:0,color:DEFAULT_COLOR,fillStyle:"none",strokeStyle:"solid",weight:"medium",labels:[]};case "polygon":return {type:"polygon",points:[[0,2],[-1,0],[1,0]],color:DEFAULT_COLOR,showVertices:false,fillStyle:"none",strokeStyle:"solid",weight:"medium",labels:[]};case "function":return {type:"function",color:DEFAULT_COLOR,strokeStyle:"solid",weight:"medium",equation:"x^2",domain:[-Infinity,Infinity],directionalAxis:"x",labels:[]};case "label":return {type:"label",coord:[0,0],text:"label",color:DEFAULT_COLOR,size:"medium"};default:throw new wonderStuffCore.UnreachableCaseError(type)}}
|
|
410
410
|
|
|
411
|
-
function splitPerseusItem(original){const item=deepClone(original);return {...item,question:splitPerseusRenderer(item.question),hints:
|
|
411
|
+
function splitPerseusItem(original){const item=deepClone(original);return {...item,question:splitPerseusRenderer(item.question),hints:[]}}function splitPerseusItemJSON(data){const parseResult=parseAndMigratePerseusItem(data);if(isFailure(parseResult)){throw new SyntaxError(parseResult.detail.message)}const item=parseResult.value;return JSON.stringify(splitPerseusItem(item))}
|
|
412
412
|
|
|
413
413
|
const PerseusFeatureFlags=["new-radio-widget","image-widget-upgrade"];function isFeatureOn(props,flag){return props.apiOptions?.flags?.[flag]??false}
|
|
414
414
|
|
|
@@ -426,15 +426,7 @@ 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
|
|
430
|
-
|
|
431
|
-
function generateGradedGroupSetWidget(gradedGroupSetWidgetProperties){return {type:"graded-group-set",graded:false,version:{major:0,minor:0},static:false,alignment:"default",options:{gradedGroups:[]},...gradedGroupSetWidgetProperties}}
|
|
432
|
-
|
|
433
|
-
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}}
|
|
434
|
-
|
|
435
|
-
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}}
|
|
436
|
-
|
|
437
|
-
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}}
|
|
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}}
|
|
438
430
|
|
|
439
431
|
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}}
|
|
440
432
|
|
|
@@ -489,33 +481,8 @@ exports.generateExpressionOptions = generateExpressionOptions;
|
|
|
489
481
|
exports.generateExpressionWidget = generateExpressionWidget;
|
|
490
482
|
exports.generateFreeResponseOptions = generateFreeResponseOptions;
|
|
491
483
|
exports.generateFreeResponseWidget = generateFreeResponseWidget;
|
|
492
|
-
exports.generateGradedGroupOptions = generateGradedGroupOptions;
|
|
493
|
-
exports.generateGradedGroupSetWidget = generateGradedGroupSetWidget;
|
|
494
|
-
exports.generateGradedGroupWidget = generateGradedGroupWidget;
|
|
495
|
-
exports.generateGroupOptions = generateGroupOptions;
|
|
496
|
-
exports.generateGroupWidget = generateGroupWidget;
|
|
497
|
-
exports.generateIGAngleGraph = generateIGAngleGraph;
|
|
498
|
-
exports.generateIGCircleGraph = generateIGCircleGraph;
|
|
499
|
-
exports.generateIGLinearGraph = generateIGLinearGraph;
|
|
500
|
-
exports.generateIGLinearSystemGraph = generateIGLinearSystemGraph;
|
|
501
|
-
exports.generateIGLockedEllipse = generateIGLockedEllipse;
|
|
502
|
-
exports.generateIGLockedFunction = generateIGLockedFunction;
|
|
503
|
-
exports.generateIGLockedLabel = generateIGLockedLabel;
|
|
504
|
-
exports.generateIGLockedLine = generateIGLockedLine;
|
|
505
|
-
exports.generateIGLockedPoint = generateIGLockedPoint;
|
|
506
|
-
exports.generateIGLockedPolygon = generateIGLockedPolygon;
|
|
507
|
-
exports.generateIGLockedVector = generateIGLockedVector;
|
|
508
|
-
exports.generateIGNoneGraph = generateIGNoneGraph;
|
|
509
|
-
exports.generateIGPointGraph = generateIGPointGraph;
|
|
510
|
-
exports.generateIGPolygonGraph = generateIGPolygonGraph;
|
|
511
|
-
exports.generateIGQuadraticGraph = generateIGQuadraticGraph;
|
|
512
|
-
exports.generateIGRayGraph = generateIGRayGraph;
|
|
513
|
-
exports.generateIGSegmentGraph = generateIGSegmentGraph;
|
|
514
|
-
exports.generateIGSinusoidGraph = generateIGSinusoidGraph;
|
|
515
484
|
exports.generateImageOptions = generateImageOptions;
|
|
516
485
|
exports.generateImageWidget = generateImageWidget;
|
|
517
|
-
exports.generateInteractiveGraphOptions = generateInteractiveGraphOptions;
|
|
518
|
-
exports.generateInteractiveGraphWidget = generateInteractiveGraphWidget;
|
|
519
486
|
exports.generateNumericInputAnswer = generateNumericInputAnswer;
|
|
520
487
|
exports.generateNumericInputOptions = generateNumericInputOptions;
|
|
521
488
|
exports.generateNumericInputWidget = generateNumericInputWidget;
|