@khanacademy/perseus-core 0.0.0-PR3050-20251202192053 → 0.0.0-PR3055-20251205230836

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.js CHANGED
@@ -258,7 +258,7 @@ const parseUserInputMap=(rawValue,ctx)=>{if(!isPlainObject(rawValue)){return ctx
258
258
 
259
259
  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.")}}
260
260
 
261
- const libName="@khanacademy/perseus-core";const libVersion="20.2.1";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
261
+ const libName="@khanacademy/perseus-core";const libVersion="20.3.0";perseusUtils.addLibraryVersionToPerseusDebug(libName,libVersion);
262
262
 
263
263
  const Errors=Object.freeze({Unknown:"Unknown",Internal:"Internal",InvalidInput:"InvalidInput",NotAllowed:"NotAllowed",TransientService:"TransientService",Service:"Service"});
264
264
 
@@ -413,8 +413,12 @@ const noop=function(){};const deepCallbackFor=function(contentCallback,widgetCal
413
413
 
414
414
  function violatingWidgets(itemData){const widgetTypes=[];traverse(itemData.question,null,function(info){if(info.type&&!isAccessible(info.type,info.options)){widgetTypes.push(info.type);}});return [...new Set(widgetTypes)]}function isItemAccessible(itemData){const ast=pureMarkdown.parse(itemData.question.content);const widgetIdsInUse=new Set;let hasInaccessibleImage=false;pureMarkdown.traverseContent(ast,node=>{if(node.type==="image"&&(node.alt==null||node.alt==="")){hasInaccessibleImage=true;return}if(node.type==="widget"){widgetIdsInUse.add(node.id);}});if(hasInaccessibleImage){return false}const itemDataWithOnlyActiveWidgets={...itemData,question:{...itemData.question,widgets:Object.fromEntries(Object.entries(itemData.question.widgets).filter(([id])=>widgetIdsInUse.has(id)))}};return violatingWidgets(itemDataWithOnlyActiveWidgets).length===0}
415
415
 
416
+ 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}}
417
+
416
418
  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}}
417
419
 
420
+ function generateVideoWidget(videoWidgetProperties){return {type:"video",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:{location:""},...videoWidgetProperties}}
421
+
418
422
  registerCoreWidgets();
419
423
 
420
424
  exports.CoreWidgetRegistry = coreWidgetRegistry;
@@ -441,10 +445,13 @@ exports.dropdownLogic = dropdownWidgetLogic;
441
445
  exports.explanationLogic = explanationWidgetLogic;
442
446
  exports.expressionLogic = expressionWidgetLogic;
443
447
  exports.freeResponseLogic = freeResponseWidgetLogic;
448
+ exports.generateFreeResponseOptions = generateFreeResponseOptions;
449
+ exports.generateFreeResponseWidget = generateFreeResponseWidget;
444
450
  exports.generateImageOptions = generateImageOptions;
445
451
  exports.generateImageWidget = generateImageWidget;
446
452
  exports.generateTestPerseusItem = generateTestPerseusItem;
447
453
  exports.generateTestPerseusRenderer = generateTestPerseusRenderer;
454
+ exports.generateVideoWidget = generateVideoWidget;
448
455
  exports.getBaseUrl = getBaseUrl;
449
456
  exports.getCSProgramPublicWidgetOptions = getCSProgramPublicWidgetOptions;
450
457
  exports.getCategorizerPublicWidgetOptions = getCategorizerPublicWidgetOptions;