@khanacademy/perseus-core 0.0.0-PR3108-20251209171335 → 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/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;