@khanacademy/perseus-core 0.0.0-PR3094-20251205185251 → 0.0.0-PR3096-20251205233811
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/es/index.js +7 -1
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/generators/dropdown-widget-generator.d.ts +3 -0
- package/dist/utils/generators/expression-widget-generator.d.ts +4 -0
- package/dist/utils/generators/numeric-input-widget-generator.d.ts +4 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -137,6 +137,9 @@ 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 { generateDropdownOptions, generateDropdownWidget, } from "./utils/generators/dropdown-widget-generator";
|
|
141
|
+
export { generateExpressionOptions, generateExpressionAnswerForm, generateExpressionWidget, } from "./utils/generators/expression-widget-generator";
|
|
140
142
|
export { generateFreeResponseOptions, generateFreeResponseWidget, } from "./utils/generators/free-response-widget-generator";
|
|
141
143
|
export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
|
|
144
|
+
export { generateNumericInputOptions, generateNumericInputAnswer, generateNumericInputWidget, } from "./utils/generators/numeric-input-widget-generator";
|
|
142
145
|
export { generateVideoWidget } from "./utils/generators/video-widget-generator";
|
package/dist/index.js
CHANGED
|
@@ -413,10 +413,16 @@ 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 generateDropdownOptions(options){return {...dropdownWidgetLogic.defaultWidgetOptions,...options}}function generateDropdownWidget(dropdownWidgetProperties){return {type:"dropdown",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateDropdownOptions(),...dropdownWidgetProperties}}
|
|
417
|
+
|
|
418
|
+
function generateExpressionOptions(options){return {...expressionWidgetLogic.defaultWidgetOptions,...options}}function generateExpressionAnswerForm(answerFormOptions){return {value:"",form:false,simplify:false,considered:"wrong",...answerFormOptions}}function generateExpressionWidget(expressionWidgetProperties){return {type:"expression",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateExpressionOptions(),...expressionWidgetProperties}}
|
|
419
|
+
|
|
416
420
|
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
421
|
|
|
418
422
|
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}}
|
|
419
423
|
|
|
424
|
+
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}}
|
|
425
|
+
|
|
420
426
|
function generateVideoWidget(videoWidgetProperties){return {type:"video",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:{location:""},...videoWidgetProperties}}
|
|
421
427
|
|
|
422
428
|
registerCoreWidgets();
|
|
@@ -445,10 +451,18 @@ exports.dropdownLogic = dropdownWidgetLogic;
|
|
|
445
451
|
exports.explanationLogic = explanationWidgetLogic;
|
|
446
452
|
exports.expressionLogic = expressionWidgetLogic;
|
|
447
453
|
exports.freeResponseLogic = freeResponseWidgetLogic;
|
|
454
|
+
exports.generateDropdownOptions = generateDropdownOptions;
|
|
455
|
+
exports.generateDropdownWidget = generateDropdownWidget;
|
|
456
|
+
exports.generateExpressionAnswerForm = generateExpressionAnswerForm;
|
|
457
|
+
exports.generateExpressionOptions = generateExpressionOptions;
|
|
458
|
+
exports.generateExpressionWidget = generateExpressionWidget;
|
|
448
459
|
exports.generateFreeResponseOptions = generateFreeResponseOptions;
|
|
449
460
|
exports.generateFreeResponseWidget = generateFreeResponseWidget;
|
|
450
461
|
exports.generateImageOptions = generateImageOptions;
|
|
451
462
|
exports.generateImageWidget = generateImageWidget;
|
|
463
|
+
exports.generateNumericInputAnswer = generateNumericInputAnswer;
|
|
464
|
+
exports.generateNumericInputOptions = generateNumericInputOptions;
|
|
465
|
+
exports.generateNumericInputWidget = generateNumericInputWidget;
|
|
452
466
|
exports.generateTestPerseusItem = generateTestPerseusItem;
|
|
453
467
|
exports.generateTestPerseusRenderer = generateTestPerseusRenderer;
|
|
454
468
|
exports.generateVideoWidget = generateVideoWidget;
|