@khanacademy/perseus-core 0.0.0-PR3108-20251209184633 → 0.0.0-PR3109-20251209213318
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 +6 -2
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/generators/explanation-widget-generator.d.ts +3 -0
- package/dist/utils/get-default-figure-for-type.d.ts +9 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -95,6 +95,7 @@ export { default as videoLogic } from "./widgets/video";
|
|
|
95
95
|
export type { VideoDefaultWidgetOptions } from "./widgets/video";
|
|
96
96
|
export { applyDefaultsToWidgets, applyDefaultsToWidget, } from "./widgets/apply-defaults";
|
|
97
97
|
export { default as getDefaultAnswerArea } from "./utils/get-default-answer-area";
|
|
98
|
+
export { getDefaultFigureForType } from "./utils/get-default-figure-for-type";
|
|
98
99
|
export { default as splitPerseusItem, splitPerseusItemJSON, } from "./utils/split-perseus-item";
|
|
99
100
|
export { default as Registry } from "./utils/registry";
|
|
100
101
|
export type * from "./widgets/logic-export.types";
|
|
@@ -138,6 +139,7 @@ export { traverse } from "./traversal";
|
|
|
138
139
|
export { isItemAccessible, violatingWidgets } from "./accessibility";
|
|
139
140
|
export { isLabeledSVG, getRealImageUrl, getBaseUrl, getSvgUrl, getDataUrl, getImageSizeModern, } from "./utils/util.graphie";
|
|
140
141
|
export { generateDropdownOptions, generateDropdownWidget, } from "./utils/generators/dropdown-widget-generator";
|
|
142
|
+
export { generateExplanationOptions, generateExplanationWidget, } from "./utils/generators/explanation-widget-generator";
|
|
141
143
|
export { generateExpressionOptions, generateExpressionAnswerForm, generateExpressionWidget, } from "./utils/generators/expression-widget-generator";
|
|
142
144
|
export { generateFreeResponseOptions, generateFreeResponseWidget, } from "./utils/generators/free-response-widget-generator";
|
|
143
145
|
export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
|
package/dist/index.js
CHANGED
|
@@ -6,8 +6,8 @@ var _ = require('underscore');
|
|
|
6
6
|
require('tiny-invariant');
|
|
7
7
|
var KAS = require('@khanacademy/kas');
|
|
8
8
|
var perseusUtils = require('@khanacademy/perseus-utils');
|
|
9
|
-
var pureMarkdown = require('@khanacademy/pure-markdown');
|
|
10
9
|
var wonderStuffCore = require('@khanacademy/wonder-stuff-core');
|
|
10
|
+
var pureMarkdown = require('@khanacademy/pure-markdown');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
|
|
13
13
|
|
|
@@ -406,6 +406,8 @@ const defaultWidgetOptions={content:"",widgets:{},images:{}};const traverseChild
|
|
|
406
406
|
|
|
407
407
|
function getDefaultAnswerArea(){return ItemExtras.reduce((acc,curr)=>({...acc,[curr]:false}),{})}
|
|
408
408
|
|
|
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
|
+
|
|
409
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))}
|
|
410
412
|
|
|
411
413
|
const PerseusFeatureFlags=["new-radio-widget","image-widget-upgrade"];function isFeatureOn(props,flag){return props.apiOptions?.flags?.[flag]??false}
|
|
@@ -416,6 +418,8 @@ function violatingWidgets(itemData){const widgetTypes=[];traverse(itemData.quest
|
|
|
416
418
|
|
|
417
419
|
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}}
|
|
418
420
|
|
|
421
|
+
function generateExplanationOptions(options){return {...explanationWidgetLogic.defaultWidgetOptions,...options}}function generateExplanationWidget(explanationWidgetProperties){return {type:"explanation",graded:false,version:{major:0,minor:0},static:false,alignment:"default",options:generateExplanationOptions(),...explanationWidgetProperties}}
|
|
422
|
+
|
|
419
423
|
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}}
|
|
420
424
|
|
|
421
425
|
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}}
|
|
@@ -464,6 +468,8 @@ exports.expressionLogic = expressionWidgetLogic;
|
|
|
464
468
|
exports.freeResponseLogic = freeResponseWidgetLogic;
|
|
465
469
|
exports.generateDropdownOptions = generateDropdownOptions;
|
|
466
470
|
exports.generateDropdownWidget = generateDropdownWidget;
|
|
471
|
+
exports.generateExplanationOptions = generateExplanationOptions;
|
|
472
|
+
exports.generateExplanationWidget = generateExplanationWidget;
|
|
467
473
|
exports.generateExpressionAnswerForm = generateExpressionAnswerForm;
|
|
468
474
|
exports.generateExpressionOptions = generateExpressionOptions;
|
|
469
475
|
exports.generateExpressionWidget = generateExpressionWidget;
|
|
@@ -484,6 +490,7 @@ exports.getCategorizerPublicWidgetOptions = getCategorizerPublicWidgetOptions;
|
|
|
484
490
|
exports.getDataUrl = getDataUrl;
|
|
485
491
|
exports.getDecimalSeparator = getDecimalSeparator;
|
|
486
492
|
exports.getDefaultAnswerArea = getDefaultAnswerArea;
|
|
493
|
+
exports.getDefaultFigureForType = getDefaultFigureForType;
|
|
487
494
|
exports.getDivideSymbol = getDivideSymbol;
|
|
488
495
|
exports.getDivideSymbolForTex = getDivideSymbolForTex;
|
|
489
496
|
exports.getDropdownPublicWidgetOptions = getDropdownPublicWidgetOptions;
|