@khanacademy/perseus-core 23.1.0 → 23.2.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.
Files changed (37) hide show
  1. package/dist/data-schema.d.ts +1 -0
  2. package/dist/es/index.item-splitting.js +1 -1
  3. package/dist/es/index.item-splitting.js.map +1 -1
  4. package/dist/es/index.js +5 -5
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/feature-flags.d.ts +1 -1
  7. package/dist/index.d.ts +19 -19
  8. package/dist/index.item-splitting.js +1 -1
  9. package/dist/index.item-splitting.js.map +1 -1
  10. package/dist/index.js +5 -5
  11. package/dist/index.js.map +1 -1
  12. package/dist/parse-perseus-json/perseus-parsers/image-widget.d.ts +1 -0
  13. package/dist/parse-perseus-json/perseus-parsers/interactive-graph-widget.d.ts +0 -1
  14. package/dist/parse-perseus-json/perseus-parsers/widget-id-components.d.ts +0 -15
  15. package/dist/widgets/categorizer/categorizer-util.d.ts +1 -2
  16. package/dist/widgets/cs-program/cs-program-util.d.ts +1 -1
  17. package/dist/widgets/dropdown/dropdown-util.d.ts +1 -2
  18. package/dist/widgets/expression/expression-util.d.ts +1 -2
  19. package/dist/widgets/free-response/free-response-util.d.ts +2 -2
  20. package/dist/widgets/grapher/grapher-util.d.ts +1 -1
  21. package/dist/widgets/group/group-util.d.ts +2 -2
  22. package/dist/widgets/iframe/iframe-util.d.ts +1 -1
  23. package/dist/widgets/image/index.d.ts +1 -1
  24. package/dist/widgets/input-number/input-number-util.d.ts +2 -2
  25. package/dist/widgets/interactive-graph/interactive-graph-util.d.ts +1 -1
  26. package/dist/widgets/label-image/label-image-util.d.ts +1 -1
  27. package/dist/widgets/logic-export.types.d.ts +20 -20
  28. package/dist/widgets/matcher/matcher-util.d.ts +1 -2
  29. package/dist/widgets/matrix/matrix-util.d.ts +1 -1
  30. package/dist/widgets/number-line/number-line-util.d.ts +1 -1
  31. package/dist/widgets/numeric-input/numeric-input-util.d.ts +2 -2
  32. package/dist/widgets/orderer/orderer-util.d.ts +1 -2
  33. package/dist/widgets/plotter/plotter-util.d.ts +1 -2
  34. package/dist/widgets/radio/radio-util.d.ts +2 -2
  35. package/dist/widgets/sorter/sorter-util.d.ts +1 -2
  36. package/dist/widgets/table/table-util.d.ts +1 -1
  37. package/package.json +2 -2
@@ -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-alignment", "image-widget-upgrade-gif-controls"];
12
+ declare const PerseusFeatureFlags: readonly ["new-radio-widget", "image-widget-upgrade-alignment", "image-widget-upgrade-gif-controls", "image-widget-upgrade-scale"];
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
@@ -94,38 +94,38 @@ export { default as splitPerseusItem, splitPerseusItemJSON, } from "./utils/spli
94
94
  export { default as Registry } from "./utils/registry";
95
95
  export type * from "./widgets/logic-export.types";
96
96
  export * as CoreWidgetRegistry from "./widgets/core-widget-registry";
97
- export { default as getOrdererPublicWidgetOptions } from "./widgets/orderer/orderer-util";
97
+ export { getOrdererPublicWidgetOptions } from "./widgets/orderer/orderer-util";
98
98
  export type { OrdererPublicWidgetOptions } from "./widgets/orderer/orderer-util";
99
- export { default as getCategorizerPublicWidgetOptions } from "./widgets/categorizer/categorizer-util";
99
+ export { getCategorizerPublicWidgetOptions } from "./widgets/categorizer/categorizer-util";
100
100
  export type { CategorizerPublicWidgetOptions } from "./widgets/categorizer/categorizer-util";
101
- export { default as getCSProgramPublicWidgetOptions } from "./widgets/cs-program/cs-program-util";
102
- export { default as getExpressionPublicWidgetOptions } from "./widgets/expression/expression-util";
103
- export { default as getFreeResponsePublicWidgetOptions } from "./widgets/free-response/free-response-util";
101
+ export { getCSProgramPublicWidgetOptions } from "./widgets/cs-program/cs-program-util";
102
+ export { getExpressionPublicWidgetOptions } from "./widgets/expression/expression-util";
103
+ export { getFreeResponsePublicWidgetOptions } from "./widgets/free-response/free-response-util";
104
104
  export type { ExpressionPublicWidgetOptions } from "./widgets/expression/expression-util";
105
- export { default as getGrapherPublicWidgetOptions } from "./widgets/grapher/grapher-util";
105
+ export { getGrapherPublicWidgetOptions } from "./widgets/grapher/grapher-util";
106
106
  export type { GrapherPublicWidgetOptions } from "./widgets/grapher/grapher-util";
107
- export { default as getGroupPublicWidgetOptions } from "./widgets/group/group-util";
108
- export { default as getInteractiveGraphPublicWidgetOptions, type InteractiveGraphPublicWidgetOptions, } from "./widgets/interactive-graph/interactive-graph-util";
109
- export { default as getLabelImagePublicWidgetOptions } from "./widgets/label-image/label-image-util";
110
- export { default as getSorterPublicWidgetOptions, shuffleSorter, } from "./widgets/sorter/sorter-util";
107
+ export { getGroupPublicWidgetOptions } from "./widgets/group/group-util";
108
+ export { getInteractiveGraphPublicWidgetOptions, type InteractiveGraphPublicWidgetOptions, } from "./widgets/interactive-graph/interactive-graph-util";
109
+ export { getLabelImagePublicWidgetOptions } from "./widgets/label-image/label-image-util";
110
+ export { getSorterPublicWidgetOptions, shuffleSorter, } from "./widgets/sorter/sorter-util";
111
111
  export type { SorterPublicWidgetOptions } from "./widgets/sorter/sorter-util";
112
112
  export type { LabelImagePublicWidgetOptions } from "./widgets/label-image/label-image-util";
113
113
  export type { LabelImageMarkerPublicData } from "./widgets/label-image/label-image-util";
114
- export { default as getDropdownPublicWidgetOptions } from "./widgets/dropdown/dropdown-util";
114
+ export { getDropdownPublicWidgetOptions } from "./widgets/dropdown/dropdown-util";
115
115
  export type { DropdownPublicWidgetOptions } from "./widgets/dropdown/dropdown-util";
116
- export { default as getNumericInputPublicWidgetOptions } from "./widgets/numeric-input/numeric-input-util";
117
- export { default as getNumberLinePublicWidgetOptions } from "./widgets/number-line/number-line-util";
116
+ export { getNumericInputPublicWidgetOptions } from "./widgets/numeric-input/numeric-input-util";
117
+ export { getNumberLinePublicWidgetOptions } from "./widgets/number-line/number-line-util";
118
118
  export type { NumberLinePublicWidgetOptions } from "./widgets/number-line/number-line-util";
119
- export { default as getRadioPublicWidgetOptions } from "./widgets/radio/radio-util";
119
+ export { getRadioPublicWidgetOptions } from "./widgets/radio/radio-util";
120
120
  export type { RadioPublicWidgetOptions } from "./widgets/radio/radio-util";
121
121
  export { deriveNumCorrect } from "./widgets/radio/derive-num-correct";
122
- export { default as getTablePublicWidgetOptions } from "./widgets/table/table-util";
123
- export { default as getIFramePublicWidgetOptions } from "./widgets/iframe/iframe-util";
124
- export { default as getMatrixPublicWidgetOptions } from "./widgets/matrix/matrix-util";
122
+ export { getTablePublicWidgetOptions } from "./widgets/table/table-util";
123
+ export { getIFramePublicWidgetOptions } from "./widgets/iframe/iframe-util";
124
+ export { getMatrixPublicWidgetOptions } from "./widgets/matrix/matrix-util";
125
125
  export type { MatrixPublicWidgetOptions } from "./widgets/matrix/matrix-util";
126
- export { default as getPlotterPublicWidgetOptions } from "./widgets/plotter/plotter-util";
126
+ export { getPlotterPublicWidgetOptions } from "./widgets/plotter/plotter-util";
127
127
  export type { PlotterPublicWidgetOptions } from "./widgets/plotter/plotter-util";
128
- export { default as getMatcherPublicWidgetOptions, shuffleMatcher, } from "./widgets/matcher/matcher-util";
128
+ export { getMatcherPublicWidgetOptions, shuffleMatcher, } from "./widgets/matcher/matcher-util";
129
129
  export type { MatcherPublicWidgetOptions } from "./widgets/matcher/matcher-util";
130
130
  export { shuffle, seededRNG, random } from "./utils/random-util";
131
131
  export { default as PerseusFeatureFlags, isFeatureOn } from "./feature-flags";
@@ -116,7 +116,7 @@ const stringToNumber=(rawValue,ctx)=>{if(typeof rawValue==="number"){return ctx.
116
116
 
117
117
  function emptyToZero(x){return x===""?0:x}const imageDimensionToNumber=pipeParsers(union(number).or(string).parser).then(convert(emptyToZero)).then(stringToNumber).parser;const dimensionOrUndefined=defaulted(optional(imageDimensionToNumber),()=>undefined);const parsePerseusImageBackground=object({url:optional(nullable(string)),width:dimensionOrUndefined,height:dimensionOrUndefined,top:dimensionOrUndefined,left:dimensionOrUndefined,bottom:dimensionOrUndefined,scale:dimensionOrUndefined});
118
118
 
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,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)}));
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
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)}));
122
122