@khanacademy/perseus-core 26.0.3 → 26.1.1

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.
@@ -9,7 +9,7 @@
9
9
  * export const PerseusFeatureFlags = [];
10
10
  * 4. Also update the testing/feature-flags-util.ts for testing purpose
11
11
  */
12
- declare const PerseusFeatureFlags: readonly ["new-radio-widget", "image-widget-upgrade-gif-controls", "image-widget-upgrade-scale", "interactive-graph-vector", "interactive-graph-not-scored"];
12
+ declare const PerseusFeatureFlags: readonly ["image-widget-upgrade-gif-controls", "image-widget-upgrade-scale", "input-number-to-numeric-input", "interactive-graph-vector", "interactive-graph-not-scored"];
13
13
  export default PerseusFeatureFlags;
14
14
  /**
15
15
  * Checks if a feature flag is enabled in the given props.
package/dist/index.d.ts CHANGED
@@ -173,6 +173,8 @@ export { default as videoLogic } from "./widgets/video";
173
173
  /** @hidden */
174
174
  export type { VideoDefaultWidgetOptions } from "./widgets/video";
175
175
  /** @hidden */
176
+ export { convertInputNumberOptionsToNumericInput } from "./widgets/input-number/to-numeric-input";
177
+ /** @hidden */
176
178
  export { applyDefaultsToWidgets, applyDefaultsToWidget, } from "./widgets/apply-defaults";
177
179
  /** @hidden */
178
180
  export { default as getDefaultAnswerArea } from "./utils/get-default-answer-area";
@@ -280,11 +282,14 @@ export { generateGradedGroupSetWidget } from "./utils/generators/graded-group-se
280
282
  export { generateGroupOptions, generateGroupWidget, } from "./utils/generators/group-widget-generator";
281
283
  /** @hidden */
282
284
  export { generateImageOptions, generateImageWidget, } from "./utils/generators/image-widget-generator";
285
+ export { generateInputNumberOptions, generateInputNumberWidget, } from "./utils/generators/input-number-widget-generator";
283
286
  /** @hidden */
284
287
  export { generateLabelImageOptions, generateLabelImageWidget, } from "./utils/generators/label-image-widget-generator";
285
288
  /** @hidden */
286
289
  export { generateMatcherOptions, generateMatcherWidget, } from "./utils/generators/matcher-widget-generator";
287
290
  export { generateInteractiveGraphOptions, generateIGAngleGraph, generateIGCircleGraph, generateIGLinearGraph, generateIGLinearSystemGraph, generateIGLogarithmGraph, generateIGNoneGraph, generateIGPointGraph, generateIGPolygonGraph, generateIGQuadraticGraph, generateIGRayGraph, generateIGSegmentGraph, generateIGSinusoidGraph, generateIGTangentGraph, generateIGVectorGraph, generateIGLockedPoint, generateIGLockedLine, generateIGLockedVector, generateIGLockedEllipse, generateIGLockedPolygon, generateIGLockedFunction, generateIGLockedLabel, generateIGExponentialGraph, generateIGAbsoluteValueGraph, generateInteractiveGraphWidget, generateInteractiveGraphQuestion, } from "./utils/generators/interactive-graph-widget-generator";
291
+ /** @hidden */
292
+ export { generateMatrixWidget, generateMatrixOptions, } from "./utils/generators/matrix-widget-generator";
288
293
  export { generateNumericInputWidget } from "./utils/generators/numeric-input-widget-generator";
289
294
  /** @hidden */
290
295
  export { generateNumericInputOptions, generateNumericInputAnswer, } from "./utils/generators/numeric-input-widget-generator";
@@ -293,6 +298,8 @@ export { generateRadioWidget } from "./utils/generators/radio-widget-generator";
293
298
  export { generateRadioOptions, generateRadioChoice, generateSimpleRadioQuestion, generateSimpleRadioItem, } from "./utils/generators/radio-widget-generator";
294
299
  /** @hidden */
295
300
  export { generateVideoWidget } from "./utils/generators/video-widget-generator";
301
+ /** @hidden */
302
+ export { generateSorterWidget, generateSorterOptions, } from "./utils/generators/sorter-widget-generator";
296
303
  export { getAnswersFromWidgets, injectWidgets, } from "./utils/extract-perseus-ai-data";
297
304
  /** @hidden */
298
305
  export { getPerseusAIData } from "./utils/extract-perseus-ai-data";
@@ -118,7 +118,7 @@ function emptyToZero(x){return x===""?0:x}const imageDimensionToNumber=pipeParse
118
118
 
119
119
  const pairOfNumbers$2=pair(number,number);const parseImageWidget=parseWidget(constant("image"),object({title:optional(string),caption:optional(string),alt:optional(string),longDescription:optional(string),decorative:optional(boolean),backgroundImage:parsePerseusImageBackground,scale:optional(number),static:optional(boolean),labels:optional(array(object({content:string,alignment:string,coordinates:array(number)}))),range:optional(pair(pairOfNumbers$2,pairOfNumbers$2)),box:optional(pairOfNumbers$2)}));
120
120
 
121
- const booleanToString=(rawValue,ctx)=>{if(typeof rawValue==="boolean"){return ctx.success(String(rawValue))}return ctx.failure("boolean",rawValue)};const parseInputNumberWidget=parseWidget(constant("input-number"),object({answerType:optional(enumeration("number","decimal","integer","rational","improper","mixed","percent","pi")),inexact:optional(boolean),maxError:optional(union(number).or(string).parser),rightAlign:optional(boolean),simplify:enumeration("required","optional","enforced"),size:enumeration("normal","small"),value:defaulted(union(number).or(string).or(booleanToString).parser,()=>0),customKeypad:optional(boolean)}));
121
+ const booleanToString=(rawValue,ctx)=>{if(typeof rawValue==="boolean"){return ctx.success(String(rawValue))}return ctx.failure("boolean",rawValue)};const parseInputNumberWidget=parseWidget(constant("input-number"),object({answerType:optional(enumeration("number","decimal","integer","rational","improper","mixed","percent","pi")),inexact:optional(boolean),maxError:optional(union(number).or(string).parser),rightAlign:optional(boolean),simplify:enumeration("required","optional","enforced"),size:enumeration("normal","small"),value:defaulted(union(number).or(string).or(booleanToString).parser,()=>0)}));
122
122
 
123
123
  const pairOfNumbers$1=pair(number,number);const stringOrEmpty=defaulted(string,()=>"");const parseKey=pipeParsers(optional(string)).then(convert(String)).parser;const parseFunctionElement=object({type:constant("function"),key:parseKey,options:object({value:string,funcName:string,rangeMin:string,rangeMax:string,color:string,strokeDasharray:string,strokeWidth:number})});const parseLabelElement=object({type:constant("label"),key:parseKey,options:object({label:string,color:string,coordX:string,coordY:string})});const parseLineElement=object({type:constant("line"),key:parseKey,options:object({color:string,startX:string,startY:string,endX:string,endY:string,strokeDasharray:string,strokeWidth:number,arrows:string})});const parseMovableLineElement=object({type:constant("movable-line"),key:parseKey,options:object({startX:string,startY:string,startSubscript:number,endX:string,endY:string,endSubscript:number,constraint:string,snap:number,constraintFn:string,constraintXMin:string,constraintXMax:string,constraintYMin:string,constraintYMax:string})});const parseMovablePointElement=object({type:constant("movable-point"),key:parseKey,options:object({startX:string,startY:string,varSubscript:number,constraint:string,snap:number,constraintFn:string,constraintXMin:stringOrEmpty,constraintXMax:stringOrEmpty,constraintYMin:stringOrEmpty,constraintYMax:stringOrEmpty})});const parseParametricElement=object({type:constant("parametric"),key:parseKey,options:object({x:string,y:string,rangeMin:string,rangeMax:string,color:string,strokeDasharray:string,strokeWidth:number})});const parsePointElement=object({type:constant("point"),key:parseKey,options:object({color:string,coordX:string,coordY:string})});const parseRectangleElement=object({type:constant("rectangle"),key:parseKey,options:object({color:string,coordX:string,coordY:string,width:string,height:string})});const parseInteractionWidget=parseWidget(constant("interaction"),object({static:defaulted(boolean,()=>false),graph:object({editableSettings:optional(array(enumeration("canvas","graph"))),box:pairOfNumbers$1,labels:array(string),range:pair(pairOfNumbers$1,pairOfNumbers$1),gridStep:pairOfNumbers$1,markings:enumeration("graph","grid","none","axes"),snapStep:optional(pairOfNumbers$1),valid:optional(union(boolean).or(string).parser),backgroundImage:optional(parsePerseusImageBackground),showProtractor:optional(boolean),showRuler:optional(boolean),rulerLabel:optional(string),rulerTicks:optional(number),tickStep:pairOfNumbers$1}),elements:array(discriminatedUnionOn("type").withBranch("function",parseFunctionElement).withBranch("label",parseLabelElement).withBranch("line",parseLineElement).withBranch("movable-line",parseMovableLineElement).withBranch("movable-point",parseMovablePointElement).withBranch("parametric",parseParametricElement).withBranch("point",parsePointElement).withBranch("rectangle",parseRectangleElement).parser)}));
124
124