@khanacademy/perseus-core 0.0.0-PR3089-20251204205538 → 0.0.0-PR3089-20251205152011
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
|
@@ -137,5 +137,6 @@ export { default as PerseusFeatureFlags, isFeatureOn } from "./feature-flags";
|
|
|
137
137
|
export { traverse } from "./traversal";
|
|
138
138
|
export { isItemAccessible, violatingWidgets } from "./accessibility";
|
|
139
139
|
export { isLabeledSVG, getRealImageUrl, getBaseUrl, getSvgUrl, getDataUrl, getImageSizeModern, } from "./utils/util.graphie";
|
|
140
|
+
export { generateFreeResponseOptions, generateFreeResponseWidget, } from "./utils/generators/free-response-widget-generator";
|
|
140
141
|
export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
|
|
141
142
|
export { generateVideoWidget } from "./utils/generators/video-widget-generator";
|
package/dist/index.js
CHANGED
|
@@ -413,6 +413,8 @@ 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
|
|
|
418
420
|
function generateVideoWidget(videoWidgetProperties){return {type:"video",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:{location:""},...videoWidgetProperties}}
|
|
@@ -443,6 +445,8 @@ exports.dropdownLogic = dropdownWidgetLogic;
|
|
|
443
445
|
exports.explanationLogic = explanationWidgetLogic;
|
|
444
446
|
exports.expressionLogic = expressionWidgetLogic;
|
|
445
447
|
exports.freeResponseLogic = freeResponseWidgetLogic;
|
|
448
|
+
exports.generateFreeResponseOptions = generateFreeResponseOptions;
|
|
449
|
+
exports.generateFreeResponseWidget = generateFreeResponseWidget;
|
|
446
450
|
exports.generateImageOptions = generateImageOptions;
|
|
447
451
|
exports.generateImageWidget = generateImageWidget;
|
|
448
452
|
exports.generateTestPerseusItem = generateTestPerseusItem;
|