@khanacademy/perseus-core 25.0.0 → 26.0.0
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
|
@@ -261,8 +261,6 @@ export { isFeatureOn } from "./feature-flags";
|
|
|
261
261
|
export { traverse } from "./traversal";
|
|
262
262
|
export { isItemAccessible } from "./accessibility";
|
|
263
263
|
/** @hidden */
|
|
264
|
-
export { violatingWidgets } from "./accessibility";
|
|
265
|
-
/** @hidden */
|
|
266
264
|
export { isLabeledSVG, getRealImageUrl, getBaseUrl, getSvgUrl, getDataUrl, getImageSizeModern, } from "./utils/util.graphie";
|
|
267
265
|
/** @hidden */
|
|
268
266
|
export { generateDefinitionOptions, generateDefinitionWidget, } from "./utils/generators/definition-widget-generator";
|
|
@@ -283,7 +281,8 @@ export { generateGroupOptions, generateGroupWidget, } from "./utils/generators/g
|
|
|
283
281
|
/** @hidden */
|
|
284
282
|
export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
|
|
285
283
|
/** @hidden */
|
|
286
|
-
export {
|
|
284
|
+
export { generateLabelImageOptions, generateLabelImageWidget, } from "./utils/generators/label-image-widget-generator";
|
|
285
|
+
export { generateInteractiveGraphOptions, generateIGAngleGraph, generateIGCircleGraph, generateIGLinearGraph, generateIGLinearSystemGraph, generateIGLogarithmGraph, generateIGNoneGraph, generateIGPointGraph, generateIGPolygonGraph, generateIGQuadraticGraph, generateIGRayGraph, generateIGSegmentGraph, generateIGSinusoidGraph, generateIGTangentGraph, generateIGVectorGraph, generateIGLockedPoint, generateIGLockedLine, generateIGLockedVector, generateIGLockedEllipse, generateIGLockedPolygon, generateIGLockedFunction, generateIGLockedLabel, generateIGExponentialGraph, generateIGAbsoluteValueGraph, generateInteractiveGraphWidget, generateInteractiveGraphQuestion, } from "./utils/generators/interactive-graph-widget-generator";
|
|
287
286
|
export { generateNumericInputWidget } from "./utils/generators/numeric-input-widget-generator";
|
|
288
287
|
/** @hidden */
|
|
289
288
|
export { generateNumericInputOptions, generateNumericInputAnswer, } from "./utils/generators/numeric-input-widget-generator";
|
package/dist/index.js
CHANGED
|
@@ -255,7 +255,7 @@ const parseUserInputMap=(rawValue,ctx)=>{if(!isPlainObject(rawValue)){return ctx
|
|
|
255
255
|
|
|
256
256
|
function parseAndMigratePerseusItem(data){const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parsePerseusItem);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}function parseAndMigratePerseusArticle(data){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 parseAndMigratePerseusRenderer(data){const object=typeof data==="string"?JSON.parse(data):data;const result=parse(object,parsePerseusRenderer);if(isFailure(result)){return failure({message:result.detail,invalidObject:object})}return result}
|
|
257
257
|
|
|
258
|
-
const libName="@khanacademy/perseus-core";const libVersion="
|
|
258
|
+
const libName="@khanacademy/perseus-core";const libVersion="26.0.0";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
|
|
259
259
|
|
|
260
260
|
const Errors=Object.freeze({Unknown:"Unknown",Internal:"Internal",InvalidInput:"InvalidInput",NotAllowed:"NotAllowed",TransientService:"TransientService",Service:"Service"});
|
|
261
261
|
|
|
@@ -402,7 +402,7 @@ const PerseusFeatureFlags=["new-radio-widget","image-widget-upgrade-gif-controls
|
|
|
402
402
|
|
|
403
403
|
const noop=function(){};const deepCallbackFor=function(contentCallback,widgetCallback,optionsCallback){const deepCallback=function(widgetInfo,widgetId){const newWidgetInfo=traverseChildWidgets$1(widgetInfo,rendererOptions=>{return traverseRenderer(rendererOptions,contentCallback,deepCallback,optionsCallback)});const userWidgetInfo=widgetCallback(newWidgetInfo,widgetId);if(userWidgetInfo!==undefined){return userWidgetInfo}return newWidgetInfo};return deepCallback};const traverseRenderer=function(rendererOptions,contentCallback,deepWidgetCallback,optionsCallback){let newContent=rendererOptions.content;if(rendererOptions.content!=null){const modifiedContent=contentCallback(rendererOptions.content);if(modifiedContent!==undefined){newContent=modifiedContent;}}const newWidgets=mapObject(rendererOptions.widgets||{},function(widgetInfo,widgetId){if(widgetInfo==null||widgetInfo.type==null){return widgetInfo}return deepWidgetCallback(widgetInfo,widgetId)});const newOptions=___default.default.extend({},rendererOptions,{content:newContent,widgets:newWidgets});const userOptions=optionsCallback(newOptions);if(userOptions!==undefined){return userOptions}return newOptions};const traverse=function(rendererOptions,contentCallback,widgetCallback,optionsCallback){contentCallback=contentCallback||noop;widgetCallback=widgetCallback||noop;optionsCallback=optionsCallback||noop;return traverseRenderer(rendererOptions,contentCallback,deepCallbackFor(contentCallback,widgetCallback,optionsCallback),optionsCallback)};
|
|
404
404
|
|
|
405
|
-
function
|
|
405
|
+
function isItemAccessible(itemData){const ast=pureMarkdown.parse(itemData.question.content);const widgetIdsInUse=getWidgetIdsFromContent(itemData.question.content);let hasInaccessibleImage=false;pureMarkdown.traverseContent(ast,node=>{if(node.type==="image"&&(node.alt==null||node.alt==="")){hasInaccessibleImage=true;}});if(hasInaccessibleImage){return false}const itemDataWithOnlyActiveWidgets={...itemData,question:{...itemData.question,widgets:Object.fromEntries(Object.entries(itemData.question.widgets).filter(([id])=>widgetIdsInUse.includes(id)))},hints:itemData.hints.map(hint=>{const hintWidgetIdsInUse=getWidgetIdsFromContent(hint.content);return {...hint,widgets:Object.fromEntries(Object.entries(hint.widgets).filter(([id])=>hintWidgetIdsInUse.includes(id)))}})};let hasInaccessibleWidget=false;const checkAccessibility=info=>{if(info.type&&!isAccessible(info.type,info.options)){hasInaccessibleWidget=true;}};traverse(itemDataWithOnlyActiveWidgets.question,null,checkAccessibility);for(const hint of itemDataWithOnlyActiveWidgets.hints){traverse(hint,null,checkAccessibility);}return !hasInaccessibleWidget}
|
|
406
406
|
|
|
407
407
|
function generateDefinitionOptions(options){return {...definitionWidgetLogic.defaultWidgetOptions,...options}}function generateDefinitionWidget(definitionWidgetProperties){return {type:"definition",graded:false,version:{major:0,minor:0},static:false,alignment:"default",options:generateDefinitionOptions(),...definitionWidgetProperties}}
|
|
408
408
|
|
|
@@ -422,7 +422,9 @@ function generateGroupOptions(options){return {...groupWidgetLogic.defaultWidget
|
|
|
422
422
|
|
|
423
423
|
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}}
|
|
424
424
|
|
|
425
|
-
function
|
|
425
|
+
function generateLabelImageOptions(options){return {...labelImageWidgetLogic.defaultWidgetOptions,...options}}function generateLabelImageWidget(labelImageWidgetProperties){return {type:"label-image",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateLabelImageOptions(),...labelImageWidgetProperties}}
|
|
426
|
+
|
|
427
|
+
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 generateIGLogarithmGraph(options){return {type:"logarithm",...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 generateIGTangentGraph(options){return {type:"tangent",...options}}function generateIGVectorGraph(options){return {type:"vector",...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}}function generateIGExponentialGraph(options){return {type:"exponential",...options}}function generateIGAbsoluteValueGraph(options){return {type:"absolute-value",...options}}function generateInteractiveGraphQuestion(options){const{content,isStatic,...widgetOptions}=options??{};if(widgetOptions.correct&&!widgetOptions.graph){const{coords:_,coord:__,center:___,radius:____,asymptote:_____,match:______,...graphConfig}=widgetOptions.correct;widgetOptions.graph=graphConfig;}const optionsWithDefaults={gridStep:[1,1],snapStep:[.5,.5],...widgetOptions};return generateTestPerseusRenderer({content:content??"[[☃ interactive-graph 1]]",widgets:{"interactive-graph 1":generateInteractiveGraphWidget({static:isStatic??false,options:generateInteractiveGraphOptions(optionsWithDefaults)})}})}
|
|
426
428
|
|
|
427
429
|
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}}
|
|
428
430
|
|
|
@@ -480,8 +482,10 @@ exports.generateGradedGroupSetWidget = generateGradedGroupSetWidget;
|
|
|
480
482
|
exports.generateGradedGroupWidget = generateGradedGroupWidget;
|
|
481
483
|
exports.generateGroupOptions = generateGroupOptions;
|
|
482
484
|
exports.generateGroupWidget = generateGroupWidget;
|
|
485
|
+
exports.generateIGAbsoluteValueGraph = generateIGAbsoluteValueGraph;
|
|
483
486
|
exports.generateIGAngleGraph = generateIGAngleGraph;
|
|
484
487
|
exports.generateIGCircleGraph = generateIGCircleGraph;
|
|
488
|
+
exports.generateIGExponentialGraph = generateIGExponentialGraph;
|
|
485
489
|
exports.generateIGLinearGraph = generateIGLinearGraph;
|
|
486
490
|
exports.generateIGLinearSystemGraph = generateIGLinearSystemGraph;
|
|
487
491
|
exports.generateIGLockedEllipse = generateIGLockedEllipse;
|
|
@@ -504,7 +508,10 @@ exports.generateIGVectorGraph = generateIGVectorGraph;
|
|
|
504
508
|
exports.generateImageOptions = generateImageOptions;
|
|
505
509
|
exports.generateImageWidget = generateImageWidget;
|
|
506
510
|
exports.generateInteractiveGraphOptions = generateInteractiveGraphOptions;
|
|
511
|
+
exports.generateInteractiveGraphQuestion = generateInteractiveGraphQuestion;
|
|
507
512
|
exports.generateInteractiveGraphWidget = generateInteractiveGraphWidget;
|
|
513
|
+
exports.generateLabelImageOptions = generateLabelImageOptions;
|
|
514
|
+
exports.generateLabelImageWidget = generateLabelImageWidget;
|
|
508
515
|
exports.generateNumericInputAnswer = generateNumericInputAnswer;
|
|
509
516
|
exports.generateNumericInputOptions = generateNumericInputOptions;
|
|
510
517
|
exports.generateNumericInputWidget = generateNumericInputWidget;
|
|
@@ -603,5 +610,4 @@ exports.tableLogic = tableWidgetLogic;
|
|
|
603
610
|
exports.traverse = traverse;
|
|
604
611
|
exports.usesNumCorrect = usesNumCorrect;
|
|
605
612
|
exports.videoLogic = videoWidgetLogic;
|
|
606
|
-
exports.violatingWidgets = violatingWidgets;
|
|
607
613
|
//# sourceMappingURL=index.js.map
|