@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.
- package/dist/data-schema.d.ts +2 -2
- package/dist/es/index.item-splitting.js +1 -1
- package/dist/es/index.item-splitting.js.map +1 -1
- package/dist/es/index.js +12 -4
- package/dist/es/index.js.map +1 -1
- package/dist/feature-flags.d.ts +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.item-splitting.js +1 -1
- package/dist/index.item-splitting.js.map +1 -1
- package/dist/index.js +18 -3
- package/dist/index.js.map +1 -1
- package/dist/parse-perseus-json/perseus-parsers/input-number-widget.d.ts +0 -1
- package/dist/utils/generators/input-number-widget-generator.d.ts +3 -0
- package/dist/utils/generators/matrix-widget-generator.d.ts +3 -0
- package/dist/utils/generators/sorter-widget-generator.d.ts +3 -0
- package/dist/widgets/input-number/input-number-util.d.ts +1 -1
- package/dist/widgets/input-number/to-numeric-input.d.ts +2 -0
- package/package.json +1 -1
package/dist/feature-flags.d.ts
CHANGED
|
@@ -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 ["
|
|
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)
|
|
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
|
|