@khanacademy/perseus-core 19.3.0 → 19.4.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 (86) 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 +2 -2
  5. package/dist/es/index.js.map +1 -1
  6. package/dist/index.item-splitting.js +1 -1
  7. package/dist/index.item-splitting.js.map +1 -1
  8. package/dist/index.js +2 -2
  9. package/dist/index.js.map +1 -1
  10. package/dist/parse-perseus-json/perseus-parsers/image-widget.d.ts +1 -0
  11. package/dist/parse-perseus-json/regression-tests/article-data/image-with-id-0.d.ts +201 -0
  12. package/dist/parse-perseus-json/regression-tests/item-data/categorizer-missing-randomizeItems.d.ts +36 -0
  13. package/dist/parse-perseus-json/regression-tests/item-data/categorizer-missing-static.d.ts +37 -0
  14. package/dist/parse-perseus-json/regression-tests/item-data/categorizer-with-null-value.d.ts +44 -0
  15. package/dist/parse-perseus-json/regression-tests/item-data/cs-program-missing-static.d.ts +71 -0
  16. package/dist/parse-perseus-json/regression-tests/item-data/cs-program-with-null-width.d.ts +21 -0
  17. package/dist/parse-perseus-json/regression-tests/item-data/definition-missing-static.d.ts +55 -0
  18. package/dist/parse-perseus-json/regression-tests/item-data/dropdown-missing-placeholder.d.ts +38 -0
  19. package/dist/parse-perseus-json/regression-tests/item-data/dropdown-missing-version.d.ts +34 -0
  20. package/dist/parse-perseus-json/regression-tests/item-data/explanation-missing-widgets-map.d.ts +69 -0
  21. package/dist/parse-perseus-json/regression-tests/item-data/expression-answerForm-missing-form.d.ts +41 -0
  22. package/dist/parse-perseus-json/regression-tests/item-data/expression-missing-buttonSets.d.ts +35 -0
  23. package/dist/parse-perseus-json/regression-tests/item-data/expression-option-missing-value.d.ts +44 -0
  24. package/dist/parse-perseus-json/regression-tests/item-data/expression-with-null-answer-key.d.ts +124 -0
  25. package/dist/parse-perseus-json/regression-tests/item-data/expression-with-scientific-notation.d.ts +115 -0
  26. package/dist/parse-perseus-json/regression-tests/item-data/graded-group-with-false-hint.d.ts +133 -0
  27. package/dist/parse-perseus-json/regression-tests/item-data/grapher-with-empty-coords.d.ts +111 -0
  28. package/dist/parse-perseus-json/regression-tests/item-data/grapher-with-null-coords.d.ts +59 -0
  29. package/dist/parse-perseus-json/regression-tests/item-data/hint-missing-images.d.ts +175 -0
  30. package/dist/parse-perseus-json/regression-tests/item-data/hint-with-null-replace.d.ts +72 -0
  31. package/dist/parse-perseus-json/regression-tests/item-data/iframe-missing-allowFullScreen.d.ts +63 -0
  32. package/dist/parse-perseus-json/regression-tests/item-data/iframe-missing-settings.d.ts +18 -0
  33. package/dist/parse-perseus-json/regression-tests/item-data/iframe-missing-static.d.ts +46 -0
  34. package/dist/parse-perseus-json/regression-tests/item-data/image-with-null-dimensions.d.ts +181 -0
  35. package/dist/parse-perseus-json/regression-tests/item-data/input-number-with-boolean-value.d.ts +84 -0
  36. package/dist/parse-perseus-json/regression-tests/item-data/interaction-element-missing-constraints.d.ts +115 -0
  37. package/dist/parse-perseus-json/regression-tests/item-data/interaction-element-missing-key.d.ts +353 -0
  38. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-backgroundImage-with-empty-string-coordinates.d.ts +77 -0
  39. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-locked-figures-missing-weights.d.ts +213 -0
  40. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-locked-function-with-null-domain-element.d.ts +62 -0
  41. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-locked-line-missing-showPoint1.d.ts +294 -0
  42. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-missing-graph.d.ts +167 -0
  43. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-missing-gridStep.d.ts +121 -0
  44. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-missing-labels.d.ts +49 -0
  45. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-polygon-with-exact-match.d.ts +96 -0
  46. package/dist/parse-perseus-json/regression-tests/item-data/interactive-graph-with-string-backgroundImage-left.d.ts +86 -0
  47. package/dist/parse-perseus-json/regression-tests/item-data/item-with-null-itemDataVersion.d.ts +100 -0
  48. package/dist/parse-perseus-json/regression-tests/item-data/label-image-missing-static.d.ts +110 -0
  49. package/dist/parse-perseus-json/regression-tests/item-data/lights-puzzle.d.ts +27 -0
  50. package/dist/parse-perseus-json/regression-tests/item-data/matcher-with-null-options.d.ts +14 -0
  51. package/dist/parse-perseus-json/regression-tests/item-data/matrix-missing-version.d.ts +24 -0
  52. package/dist/parse-perseus-json/regression-tests/item-data/matrix-with-nulls-in-answer.d.ts +39 -0
  53. package/dist/parse-perseus-json/regression-tests/item-data/matrix-with-string-answer-element.d.ts +69 -0
  54. package/dist/parse-perseus-json/regression-tests/item-data/measurer-missing-image.d.ts +49 -0
  55. package/dist/parse-perseus-json/regression-tests/item-data/measurer-missing-static.d.ts +41 -0
  56. package/dist/parse-perseus-json/regression-tests/item-data/number-line-missing-snapDivisions.d.ts +133 -0
  57. package/dist/parse-perseus-json/regression-tests/item-data/number-line-missing-static.d.ts +46 -0
  58. package/dist/parse-perseus-json/regression-tests/item-data/number-line-with-empty-strings-in-label-range.d.ts +92 -0
  59. package/dist/parse-perseus-json/regression-tests/item-data/number-line-with-null-correctX.d.ts +68 -0
  60. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-answer-with-null-value.d.ts +44 -0
  61. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-answer-with-simplify-true.d.ts +40 -0
  62. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-answer-without-value.d.ts +89 -0
  63. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-missing-coefficient.d.ts +43 -0
  64. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-missing-labelText.d.ts +210 -0
  65. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-with-null-answerForms.d.ts +228 -0
  66. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-with-simplify-accepted.d.ts +108 -0
  67. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-with-simplify-false.d.ts +52 -0
  68. package/dist/parse-perseus-json/regression-tests/item-data/numeric-input-with-simplify-true-string.d.ts +75 -0
  69. package/dist/parse-perseus-json/regression-tests/item-data/orderer-option-missing-images.d.ts +539 -0
  70. package/dist/parse-perseus-json/regression-tests/item-data/orderer-option-missing-widgets.d.ts +80 -0
  71. package/dist/parse-perseus-json/regression-tests/item-data/orderer-with-invalid-height.d.ts +33 -0
  72. package/dist/parse-perseus-json/regression-tests/item-data/orderer-with-undefined-options.d.ts +135 -0
  73. package/dist/parse-perseus-json/regression-tests/item-data/passage-missing-footnotes-and-title.d.ts +47 -0
  74. package/dist/parse-perseus-json/regression-tests/item-data/passage-ref-missing-summaryText.d.ts +147 -0
  75. package/dist/parse-perseus-json/regression-tests/item-data/plotter-missing-scaleY-and-snapsPerLine.d.ts +64 -0
  76. package/dist/parse-perseus-json/regression-tests/item-data/plotter-with-undefined-plotDimensions.d.ts +76 -0
  77. package/dist/parse-perseus-json/regression-tests/item-data/question-missing-content.d.ts +8 -0
  78. package/dist/parse-perseus-json/regression-tests/item-data/radio-choice-ids-set-to-empty-string.d.ts +49 -0
  79. package/dist/parse-perseus-json/regression-tests/item-data/radio-choice-missing-content.d.ts +147 -0
  80. package/dist/parse-perseus-json/regression-tests/item-data/radio-missing-noneOfTheAbove.d.ts +43 -0
  81. package/dist/parse-perseus-json/regression-tests/item-data/radio-with-extra-fields-from-go-schema.d.ts +169 -0
  82. package/dist/parse-perseus-json/regression-tests/item-data/radio-with-null-options.d.ts +78 -0
  83. package/dist/parse-perseus-json/regression-tests/item-data/radio-with-null-widgets.d.ts +115 -0
  84. package/dist/parse-perseus-json/regression-tests/item-data/simulator-widget.d.ts +51 -0
  85. package/dist/parse-perseus-json/regression-tests/item-data/transformer-widget.d.ts +99 -0
  86. package/package.json +1 -1
@@ -449,6 +449,7 @@ export type PerseusImageWidgetOptions = {
449
449
  caption?: string;
450
450
  alt?: string;
451
451
  longDescription?: string;
452
+ decorative?: boolean;
452
453
  backgroundImage: PerseusImageBackground;
453
454
  static?: boolean;
454
455
  /** @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),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)}));
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),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)}));
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