@khanacademy/perseus-core 26.0.3 → 26.1.0
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 +10 -4
- package/dist/es/index.js.map +1 -1
- package/dist/feature-flags.d.ts +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.item-splitting.js +1 -1
- package/dist/index.item-splitting.js.map +1 -1
- package/dist/index.js +14 -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/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,6 +282,7 @@ 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 */
|
|
@@ -293,6 +296,8 @@ export { generateRadioWidget } from "./utils/generators/radio-widget-generator";
|
|
|
293
296
|
export { generateRadioOptions, generateRadioChoice, generateSimpleRadioQuestion, generateSimpleRadioItem, } from "./utils/generators/radio-widget-generator";
|
|
294
297
|
/** @hidden */
|
|
295
298
|
export { generateVideoWidget } from "./utils/generators/video-widget-generator";
|
|
299
|
+
/** @hidden */
|
|
300
|
+
export { generateSorterWidget, generateSorterOptions, } from "./utils/generators/sorter-widget-generator";
|
|
296
301
|
export { getAnswersFromWidgets, injectWidgets, } from "./utils/extract-perseus-ai-data";
|
|
297
302
|
/** @hidden */
|
|
298
303
|
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
|
|