@khanacademy/perseus-core 19.0.2 → 19.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.
Files changed (33) hide show
  1. package/dist/data-schema.d.ts +1 -6
  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 +4 -4
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/feature-flags.d.ts +13 -3
  7. package/dist/index.d.ts +1 -1
  8. package/dist/index.item-splitting.js +1 -1
  9. package/dist/index.item-splitting.js.map +1 -1
  10. package/dist/index.js +4 -3
  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/regression-tests/user-input-data/categorizer.d.ts +6 -0
  14. package/dist/parse-perseus-json/regression-tests/user-input-data/cs-program.d.ts +15 -0
  15. package/dist/parse-perseus-json/regression-tests/user-input-data/dropdown.d.ts +6 -0
  16. package/dist/parse-perseus-json/regression-tests/user-input-data/expression.d.ts +4 -0
  17. package/dist/parse-perseus-json/regression-tests/user-input-data/free-response.d.ts +6 -0
  18. package/dist/parse-perseus-json/regression-tests/user-input-data/grapher.d.ts +33 -0
  19. package/dist/parse-perseus-json/regression-tests/user-input-data/group.d.ts +8 -0
  20. package/dist/parse-perseus-json/regression-tests/user-input-data/iframe.d.ts +14 -0
  21. package/dist/parse-perseus-json/regression-tests/user-input-data/input-number.d.ts +6 -0
  22. package/dist/parse-perseus-json/regression-tests/user-input-data/interactive-graph.d.ts +99 -0
  23. package/dist/parse-perseus-json/regression-tests/user-input-data/label-image.d.ts +12 -0
  24. package/dist/parse-perseus-json/regression-tests/user-input-data/matcher.d.ts +7 -0
  25. package/dist/parse-perseus-json/regression-tests/user-input-data/matrix.d.ts +6 -0
  26. package/dist/parse-perseus-json/regression-tests/user-input-data/number-line.d.ts +8 -0
  27. package/dist/parse-perseus-json/regression-tests/user-input-data/numeric-input.d.ts +6 -0
  28. package/dist/parse-perseus-json/regression-tests/user-input-data/orderer.d.ts +6 -0
  29. package/dist/parse-perseus-json/regression-tests/user-input-data/plotter.d.ts +4 -0
  30. package/dist/parse-perseus-json/regression-tests/user-input-data/radio.d.ts +6 -0
  31. package/dist/parse-perseus-json/regression-tests/user-input-data/sorter.d.ts +7 -0
  32. package/dist/parse-perseus-json/regression-tests/user-input-data/table.d.ts +4 -0
  33. package/package.json +2 -2
@@ -329,12 +329,6 @@ export type PerseusCategorizerWidgetOptions = {
329
329
  static: boolean;
330
330
  values: number[];
331
331
  highlightLint?: boolean;
332
- linterContext?: PerseusLinterContext;
333
- };
334
- export type PerseusLinterContext = {
335
- contentType: string;
336
- paths: string[];
337
- stack: string[];
338
332
  };
339
333
  export type PerseusDefinitionWidgetOptions = {
340
334
  togglePrompt: string;
@@ -454,6 +448,7 @@ export type PerseusImageWidgetOptions = {
454
448
  title?: string;
455
449
  caption?: string;
456
450
  alt?: string;
451
+ longDescription?: string;
457
452
  backgroundImage: PerseusImageBackground;
458
453
  static?: boolean;
459
454
  /** @deprecated - labels were removed from the image widget in 2017 */
@@ -96,7 +96,7 @@ const stringToNumber=(rawValue,ctx)=>{if(typeof rawValue==="number"){return ctx.
96
96
 
97
97
  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});
98
98
 
99
- const pairOfNumbers$2=pair(number,number);const parseImageWidget=parseWidget(constant("image"),object({title:optional(string),caption:optional(string),alt:optional(string),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)}));
99
+ const pairOfNumbers$2=pair(number,number);const parseImageWidget=parseWidget(constant("image"),object({title:optional(string),caption:optional(string),alt:optional(string),longDescription:optional(string),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)}));
100
100
 
101
101
  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)}));
102
102