@khanacademy/perseus-core 0.0.0-PR3107-20251209021758 → 0.0.0-PR3107-20251210221600
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 +5 -3
- package/dist/es/index.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/utils/generators/radio-widget-generator.d.ts +14 -1
- 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";
|
|
@@ -144,6 +145,6 @@ export { generateExpressionOptions, generateExpressionAnswerForm, generateExpres
|
|
|
144
145
|
export { generateFreeResponseOptions, generateFreeResponseWidget, } from "./utils/generators/free-response-widget-generator";
|
|
145
146
|
export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
|
|
146
147
|
export { generateNumericInputOptions, generateNumericInputAnswer, generateNumericInputWidget, } from "./utils/generators/numeric-input-widget-generator";
|
|
147
|
-
export { generateRadioOptions, generateRadioWidget, } from "./utils/generators/radio-widget-generator";
|
|
148
|
+
export { generateRadioOptions, generateRadioWidget, generateRadioChoice, generateSimpleRadioQuestion, generateSimpleRadioItem, } from "./utils/generators/radio-widget-generator";
|
|
148
149
|
export { generateVideoWidget } from "./utils/generators/video-widget-generator";
|
|
149
150
|
export { getAnswersFromWidgets, injectWidgets, getPerseusAIData, } from "./utils/extract-perseus-ai-data";
|
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}
|
|
@@ -428,7 +430,7 @@ function generateImageOptions(options){const defaultImageOptions={backgroundImag
|
|
|
428
430
|
|
|
429
431
|
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}}
|
|
430
432
|
|
|
431
|
-
function generateRadioOptions(options){return {...radioWidgetLogic.defaultWidgetOptions,...options}}function generateRadioWidget(radioWidgetProperties){return {type:"radio",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateRadioOptions(),...radioWidgetProperties}}
|
|
433
|
+
function generateRadioOptions(options){return {...radioWidgetLogic.defaultWidgetOptions,...options}}function generateRadioWidget(radioWidgetProperties){return {type:"radio",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:generateRadioOptions(),...radioWidgetProperties}}function generateRadioChoice(text,options){return {content:text,id:`radio-choice-${Math.random()}`,correct:false,...options}}function generateSimpleRadioQuestion(options){return generateTestPerseusRenderer({content:"[[☃ radio 1]]",widgets:{"radio 1":generateRadioWidget({options:generateRadioOptions(options)})}})}function generateSimpleRadioItem(options){return generateTestPerseusItem({question:generateSimpleRadioQuestion(options)})}
|
|
432
434
|
|
|
433
435
|
function generateVideoWidget(videoWidgetProperties){return {type:"video",graded:true,version:{major:0,minor:0},static:false,alignment:"default",options:{location:""},...videoWidgetProperties}}
|
|
434
436
|
|
|
@@ -484,8 +486,11 @@ exports.generateImageWidget = generateImageWidget;
|
|
|
484
486
|
exports.generateNumericInputAnswer = generateNumericInputAnswer;
|
|
485
487
|
exports.generateNumericInputOptions = generateNumericInputOptions;
|
|
486
488
|
exports.generateNumericInputWidget = generateNumericInputWidget;
|
|
489
|
+
exports.generateRadioChoice = generateRadioChoice;
|
|
487
490
|
exports.generateRadioOptions = generateRadioOptions;
|
|
488
491
|
exports.generateRadioWidget = generateRadioWidget;
|
|
492
|
+
exports.generateSimpleRadioItem = generateSimpleRadioItem;
|
|
493
|
+
exports.generateSimpleRadioQuestion = generateSimpleRadioQuestion;
|
|
489
494
|
exports.generateTestPerseusItem = generateTestPerseusItem;
|
|
490
495
|
exports.generateTestPerseusRenderer = generateTestPerseusRenderer;
|
|
491
496
|
exports.generateVideoWidget = generateVideoWidget;
|
|
@@ -496,6 +501,7 @@ exports.getCategorizerPublicWidgetOptions = getCategorizerPublicWidgetOptions;
|
|
|
496
501
|
exports.getDataUrl = getDataUrl;
|
|
497
502
|
exports.getDecimalSeparator = getDecimalSeparator;
|
|
498
503
|
exports.getDefaultAnswerArea = getDefaultAnswerArea;
|
|
504
|
+
exports.getDefaultFigureForType = getDefaultFigureForType;
|
|
499
505
|
exports.getDivideSymbol = getDivideSymbol;
|
|
500
506
|
exports.getDivideSymbolForTex = getDivideSymbolForTex;
|
|
501
507
|
exports.getDropdownPublicWidgetOptions = getDropdownPublicWidgetOptions;
|