@khanacademy/perseus 16.0.0 → 17.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 (57) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/dist/article-renderer.d.ts +1 -2
  3. package/dist/components.d.ts +0 -1
  4. package/dist/dependencies.d.ts +1 -0
  5. package/dist/es/index.css +20 -90
  6. package/dist/es/index.js +457 -1028
  7. package/dist/es/index.js.map +1 -1
  8. package/dist/index.css +20 -90
  9. package/dist/index.d.ts +0 -1
  10. package/dist/index.js +456 -1031
  11. package/dist/index.js.map +1 -1
  12. package/dist/perseus-types.d.ts +1 -0
  13. package/dist/server-item-renderer.d.ts +42 -15
  14. package/dist/strings.js +1 -23
  15. package/dist/widgets/label-image/answer-pill.d.ts +10 -0
  16. package/dist/widgets/label-image/hide-answers-toggle.d.ts +6 -0
  17. package/dist/widgets/label-image/marker.d.ts +6 -9
  18. package/dist/widgets/label-image/types.d.ts +1 -0
  19. package/dist/widgets/label-image.d.ts +101 -12
  20. package/package.json +30 -22
  21. package/src/__stories__/server-item-renderer.stories.tsx +20 -1
  22. package/src/__testdata__/server-item-renderer.testdata.ts +173 -0
  23. package/src/__tests__/__snapshots__/renderer.test.tsx.snap +3 -3
  24. package/src/__tests__/server-item-renderer.test.tsx +38 -1
  25. package/src/article-renderer.tsx +13 -15
  26. package/src/components.ts +0 -1
  27. package/src/dependencies.ts +4 -0
  28. package/src/index.ts +0 -1
  29. package/src/perseus-types.ts +2 -0
  30. package/src/server-item-renderer.tsx +26 -14
  31. package/src/styles/khan-exercise.css +0 -24
  32. package/src/styles/widgets/label-image.less +32 -0
  33. package/src/widgets/__stories__/label-image.stories.tsx +73 -3
  34. package/src/widgets/__testdata__/label-image.testdata.ts +118 -1
  35. package/src/widgets/__tests__/__snapshots__/dropdown.test.ts.snap +2 -2
  36. package/src/widgets/label-image/__stories__/answer-pill.stories.tsx +62 -0
  37. package/src/widgets/label-image/__tests__/answer-pill.test.tsx +83 -0
  38. package/src/widgets/label-image/__tests__/hide-answers-toggle.test.tsx +39 -0
  39. package/src/widgets/label-image/answer-choices.tsx +7 -1
  40. package/src/widgets/label-image/answer-pill.tsx +89 -0
  41. package/src/widgets/label-image/hide-answers-toggle.tsx +40 -0
  42. package/src/widgets/label-image/marker.tsx +116 -174
  43. package/src/widgets/label-image/types.ts +1 -0
  44. package/src/widgets/label-image.test.ts +142 -52
  45. package/src/widgets/label-image.tsx +212 -135
  46. package/tsconfig-build.tsbuildinfo +1 -1
  47. package/dist/components/tex-buttons.d.ts +0 -25
  48. package/dist/item-renderer.d.ts +0 -125
  49. package/dist/mixins/provide-keypad.d.ts +0 -39
  50. package/src/__stories__/item-renderer.stories.tsx +0 -30
  51. package/src/__testdata__/item-renderer.testdata.ts +0 -299
  52. package/src/__tests__/__snapshots__/item-renderer.test.tsx.snap +0 -224
  53. package/src/__tests__/item-renderer.test.tsx +0 -930
  54. package/src/components/__stories__/text-buttons.stories.tsx +0 -54
  55. package/src/components/tex-buttons.tsx +0 -334
  56. package/src/item-renderer.tsx +0 -529
  57. package/src/mixins/provide-keypad.tsx +0 -137
package/dist/index.css CHANGED
@@ -675,30 +675,6 @@ div.timeline-total {
675
675
  width: 100px;
676
676
  }
677
677
 
678
- #previous-step {
679
- margin: 5px;
680
- cursor: pointer;
681
- float: left;
682
- width: 100px;
683
- }
684
-
685
- #next-step {
686
- margin: 5px;
687
- cursor: pointer;
688
- float: right;
689
- width: 80px;
690
- }
691
-
692
- #previous-step span {
693
- background: url(/images/previous-step.png) no-repeat 0 50% transparent;
694
- padding: 4px 0 4px 25px;
695
- }
696
-
697
- #next-step span {
698
- background: url(/images/next-step.png) no-repeat 100% 50% transparent;
699
- padding: 4px 25px 4px 0;
700
- }
701
-
702
678
  #next-problem {
703
679
  margin: 5px;
704
680
  cursor: pointer;
@@ -2819,6 +2795,26 @@ body.mobile .categorizer-container td.category input[type="radio"] + span:active
2819
2795
  .framework-perseus .perseus-label-image-widget-instructions div.paragraph {
2820
2796
  margin: 0;
2821
2797
  }
2798
+ .framework-perseus button[id*="perseus-label-image-widget-answer-pill"] div.paragraph,
2799
+ .framework-perseus div[id*="perseus-label-image-widget-answer-pill"] div.paragraph {
2800
+ all: revert;
2801
+ }
2802
+ .framework-perseus button[id*="perseus-label-image-widget-answer-pill"] div.perseus-block-math-inner,
2803
+ .framework-perseus div[id*="perseus-label-image-widget-answer-pill"] div.perseus-block-math-inner {
2804
+ margin: -5px 0 !important;
2805
+ }
2806
+ @media (max-width: 767px) {
2807
+ [id*="perseus-label-image-widget-answer-pill"] div.paragraph {
2808
+ all: revert;
2809
+ }
2810
+ [id*="perseus-label-image-widget-answer-pill"] > div.perseus-renderer-responsive {
2811
+ all: revert;
2812
+ }
2813
+ .framework-perseus.perseus-mobile [id*="perseus-label-image-widget-answer-pill"] .perseus-renderer > .paragraph,
2814
+ .framework-perseus.perseus-mobile [id*="perseus-label-image-widget-answer-pill"] .perseus-renderer > .paragraph .paragraph {
2815
+ all: revert;
2816
+ }
2817
+ }
2822
2818
  .framework-perseus:not(.perseus-article).perseus-mobile .perseus-label-image-widget-instructions {
2823
2819
  color: initial;
2824
2820
  }
@@ -3584,48 +3580,6 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3584
3580
  font-size: 18px;
3585
3581
  }
3586
3582
  }
3587
- /**
3588
- * Styles for managing the popover animations.
3589
- *
3590
- * Ideally, we'd be generating these styles with Aphrodite (along with
3591
- * CSSTransitionGroup's support for custom classnames), but the generated
3592
- * styles have issues on mobile Safari.
3593
- * See: https://github.com/Khan/aphrodite/issues/68.
3594
- *
3595
- * If the animation durations change, the corresponding values in
3596
- * echo-manager.js must change as well.
3597
- */
3598
- .echo-slide-and-fade-enter {
3599
- opacity: 1 !important;
3600
- transform: translate3d(0, 0, 0) !important;
3601
- }
3602
- .echo-slide-and-fade-enter.echo-slide-and-fade-enter-active {
3603
- opacity: 0 !important;
3604
- transform: translate3d(0, -33%, 0) !important;
3605
- /**
3606
- * TODO(charlie): These times are intentionally different, which means
3607
- * that the animation really "ends" after 400ms
3608
- * cubic-bezier(1, 0, 0.9, 1) (since the opacity goes to 0), even though
3609
- * the transform doesn't complete. There's probably a way to achieve the
3610
- * same effect by manipulating the transform's Bezier curve and total
3611
- * displacement.
3612
- */
3613
- transition: transform 800ms cubic-bezier(0, 1, 0.25, 1), opacity 400ms cubic-bezier(1, 0, 0.9, 1) !important;
3614
- }
3615
- .echo-fade-only-enter {
3616
- opacity: 1 !important;
3617
- }
3618
- .echo-fade-only-enter.echo-fade-only-enter-active {
3619
- opacity: 0 !important;
3620
- transition: opacity 300ms cubic-bezier(0.25, 0, 0.75, 1) !important;
3621
- }
3622
- .echo-long-fade-only-enter {
3623
- opacity: 1 !important;
3624
- }
3625
- .echo-long-fade-only-enter.echo-long-fade-only-enter-active {
3626
- opacity: 0 !important;
3627
- transition: opacity 400ms cubic-bezier(0.75, 0, 0.75, 1) !important;
3628
- }
3629
3583
  .keypad-input {
3630
3584
  outline: none !important;
3631
3585
  }
@@ -3706,24 +3660,6 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3706
3660
  color: white !important;
3707
3661
  display: inline-block !important;
3708
3662
  }
3709
- /**
3710
- * Styles for managing the popover animations.
3711
- *
3712
- * Ideally, we'd be generating these styles with Aphrodite (along with
3713
- * CSSTransitionGroup's support for custom classnames), but the generated
3714
- * styles have issues on mobile Safari.
3715
- * See: https://github.com/Khan/aphrodite/issues/68.
3716
- *
3717
- * If the animation durations change, the corresponding values in
3718
- * popover-manager.js must change as well.
3719
- */
3720
- .popover-enter {
3721
- opacity: 0 !important;
3722
- }
3723
- .popover-enter.popover-enter-active {
3724
- opacity: 1 !important;
3725
- transition: opacity 200ms ease-out !important;
3726
- }
3727
3663
  /*
3728
3664
  * MathQuill v0.10.1 http://mathquill.com
3729
3665
  * by Han, Jeanine, and Mary maintainers@mathquill.com
@@ -4160,9 +4096,3 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
4160
4096
  margin-top: -0.1em;
4161
4097
  }
4162
4098
 
4163
- .tabbar_item {
4164
- background-color: red;
4165
- }
4166
- .tabbar_item:focus {
4167
- background-color: green;
4168
- }
package/dist/index.d.ts CHANGED
@@ -10,7 +10,6 @@ export { default as itemVersion } from "./item-version";
10
10
  * Renderers
11
11
  */
12
12
  export { default as ArticleRenderer } from "./article-renderer";
13
- export { default as ItemRenderer } from "./item-renderer";
14
13
  export { default as ServerItemRenderer } from "./server-item-renderer";
15
14
  export { default as HintsRenderer } from "./hints-renderer";
16
15
  export { default as HintRenderer } from "./hint-renderer";