@khanacademy/perseus 18.0.1 → 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 (57) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/es/index.css +209 -128
  3. package/dist/es/index.js +1026 -3516
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/index.css +209 -128
  6. package/dist/index.d.ts +3 -3
  7. package/dist/index.js +917 -3409
  8. package/dist/index.js.map +1 -1
  9. package/dist/mixins/changeable.d.ts +1 -1
  10. package/dist/perseus-api.d.ts +1 -0
  11. package/dist/perseus-types.d.ts +2 -109
  12. package/dist/renderer.d.ts +2 -4
  13. package/dist/server-item-renderer.d.ts +1 -0
  14. package/dist/strings.js +0 -29
  15. package/dist/types.d.ts +4 -4
  16. package/dist/util/geometry.d.ts +2 -0
  17. package/dist/util/graphie.d.ts +107 -1
  18. package/dist/util/math.d.ts +2 -0
  19. package/dist/util/parse-perseus-json.d.ts +3 -3
  20. package/dist/widgets/expression.d.ts +8 -2
  21. package/dist/widgets/label-image.d.ts +2 -0
  22. package/dist/widgets.d.ts +1 -1
  23. package/package.json +3 -4
  24. package/src/__testdata__/renderer.testdata.ts +152 -0
  25. package/src/__tests__/renderer.test.tsx +17 -0
  26. package/src/__tests__/widgets.test.ts +0 -1
  27. package/src/components/math-input.tsx +4 -6
  28. package/src/extra-widgets.ts +0 -2
  29. package/src/index.ts +8 -4
  30. package/src/mixins/changeable.ts +1 -1
  31. package/src/perseus-types.ts +1 -154
  32. package/src/renderer.tsx +14 -8
  33. package/src/styles/perseus-renderer.less +0 -1
  34. package/src/types.ts +9 -5
  35. package/src/util/geometry.test.ts +75 -0
  36. package/src/util/geometry.ts +19 -0
  37. package/src/util/graphie.test.ts +1291 -0
  38. package/src/util/graphie.ts +832 -784
  39. package/src/util/interactive.ts +23 -51
  40. package/src/util/math.test.ts +11 -0
  41. package/src/util/math.ts +8 -0
  42. package/src/util/parse-perseus-json.test.ts +3 -3
  43. package/src/util/parse-perseus-json.ts +4 -4
  44. package/src/util/register-all-widgets-for-testing.ts +1 -3
  45. package/src/widgets/__tests__/__snapshots__/input-number.test.ts.snap +4 -2
  46. package/src/widgets/__tests__/__snapshots__/numeric-input.test.ts.snap +4 -2
  47. package/src/widgets/__tests__/expression-mobile.test.tsx +8 -5
  48. package/src/widgets/__tests__/renderQuestion.tsx +11 -3
  49. package/src/widgets/expression.tsx +1 -23
  50. package/src/widgets/label-image.tsx +0 -1
  51. package/src/widgets.ts +1 -9
  52. package/tsconfig-build.tsbuildinfo +1 -1
  53. package/dist/widgets/transformer.d.ts +0 -94
  54. package/src/styles/widgets/transformer.less +0 -29
  55. package/src/widgets/__stories__/transformer.stories.tsx +0 -14
  56. package/src/widgets/__testdata__/transformer.testdata.ts +0 -107
  57. package/src/widgets/transformer.tsx +0 -2936
package/CHANGELOG.md CHANGED
@@ -1,5 +1,41 @@
1
1
  # @khanacademy/perseus
2
2
 
3
+ ## 19.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#895](https://github.com/Khan/perseus/pull/895) [`15b4bc02`](https://github.com/Khan/perseus/commit/15b4bc02d65fd1900e01ce7dd35863c1be579d73) Thanks [@jeremywiebe](https://github.com/jeremywiebe)! - Export utility Range and Size types from package
8
+
9
+ * [#942](https://github.com/Khan/perseus/pull/942) [`319e330e`](https://github.com/Khan/perseus/commit/319e330ed77d2145266a9b231693ac65320032a2) Thanks [@SonicScrewdriver](https://github.com/SonicScrewdriver)! - Creation of a new callback that can return the WidgetsStartProps
10
+
11
+ - [#937](https://github.com/Khan/perseus/pull/937) [`ef898f77`](https://github.com/Khan/perseus/commit/ef898f77f45f3494f5012d2db52a3461aad93c69) Thanks [@nishasy](https://github.com/nishasy)! - bumped mathquill version + minor type updates
12
+
13
+ ### Patch Changes
14
+
15
+ - [#935](https://github.com/Khan/perseus/pull/935) [`0b737502`](https://github.com/Khan/perseus/commit/0b7375023826ef5ee46eb5ae00136b2356e10be4) Thanks [@benchristel](https://github.com/benchristel)! - Internal: Refactor graphie.ts
16
+
17
+ * [#945](https://github.com/Khan/perseus/pull/945) [`3bfd44e3`](https://github.com/Khan/perseus/commit/3bfd44e37643cdd13392fbaabb9fb4370378d2b3) Thanks [@benchristel](https://github.com/benchristel)! - Internal: Refactor graphie.ts
18
+
19
+ - [#949](https://github.com/Khan/perseus/pull/949) [`59ce1e09`](https://github.com/Khan/perseus/commit/59ce1e0990cecd1123d7b9a671b032fcd03ce1b1) Thanks [@benchristel](https://github.com/benchristel)! - Internal: use built-in JS functions instead of underscore
20
+
21
+ * [#946](https://github.com/Khan/perseus/pull/946) [`f16e4184`](https://github.com/Khan/perseus/commit/f16e4184a24dcdaafc0cb4ebde5651f5bb135df9) Thanks [@benchristel](https://github.com/benchristel)! - Internal: improve type coverage in graphie.ts and interactive.ts
22
+
23
+ - [#951](https://github.com/Khan/perseus/pull/951) [`247f8b1b`](https://github.com/Khan/perseus/commit/247f8b1be0647c39a5cabd9ce72a216d750a707b) Thanks [@handeyeco](https://github.com/handeyeco)! - Rename helper that's not in-use yet.
24
+
25
+ * [#943](https://github.com/Khan/perseus/pull/943) [`62e04cfa`](https://github.com/Khan/perseus/commit/62e04cfa3139c6417442cbb96f8012d098a7c279) Thanks [@benchristel](https://github.com/benchristel)! - Internal: Add tests for Graphie drawing tools
26
+
27
+ - [#944](https://github.com/Khan/perseus/pull/944) [`583becef`](https://github.com/Khan/perseus/commit/583becefbf690e96df709bcb7f8150cf686deadf) Thanks [@benchristel](https://github.com/benchristel)! - Internal: Remove unused code from Graphie drawing tools
28
+
29
+ - Updated dependencies [[`ef898f77`](https://github.com/Khan/perseus/commit/ef898f77f45f3494f5012d2db52a3461aad93c69), [`59ce1e09`](https://github.com/Khan/perseus/commit/59ce1e0990cecd1123d7b9a671b032fcd03ce1b1)]:
30
+ - @khanacademy/math-input@17.0.0
31
+ - @khanacademy/kmath@0.1.9
32
+
33
+ ## 19.0.0
34
+
35
+ ### Major Changes
36
+
37
+ - [#915](https://github.com/Khan/perseus/pull/915) [`98bf2106`](https://github.com/Khan/perseus/commit/98bf2106e0ae56f37f3c0c2d0a5563802e4db62d) Thanks [@nixterrimus](https://github.com/nixterrimus)! - Remove Transformer widget and replace with a standin widget
38
+
3
39
  ## 18.0.1
4
40
 
5
41
  ### Patch Changes
package/dist/es/index.css CHANGED
@@ -3341,30 +3341,6 @@ body.sat-section .perseus-widget-passage {
3341
3341
  body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown td {
3342
3342
  padding: 5px;
3343
3343
  }
3344
- .perseus-widget-transformer .highlighted-tool-button {
3345
- text-shadow: 1px 1px rgba(0, 0, 0, 0.25);
3346
- }
3347
- .perseus-widget-transformer > .graphie-container {
3348
- margin-bottom: 10px;
3349
- position: relative;
3350
- overflow: hidden;
3351
- }
3352
- .perseus-widget-transformer > .graphie-container > img,
3353
- .perseus-widget-transformer > .graphie-container > .unresponsive-svg-image {
3354
- position: absolute;
3355
- bottom: 0;
3356
- left: 0;
3357
- }
3358
- .perseus-widget-transformer .transformer-undo-button {
3359
- float: right;
3360
- }
3361
- .perseus-widget-transformer .perseus-transformation-list {
3362
- margin-top: 10px;
3363
- margin-bottom: 10px;
3364
- }
3365
- .perseus-widget-transformer .perseus-transformation-list input {
3366
- width: 40px;
3367
- }
3368
3344
  .old-unit-input input,
3369
3345
  .unit-editor-canonical {
3370
3346
  border: 1px solid #a4a4a4;
@@ -3646,26 +3622,46 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3646
3622
  color: white !important;
3647
3623
  display: inline-block !important;
3648
3624
  }
3649
- /*
3650
- * MathQuill v0.10.1 http://mathquill.com
3651
- * by Han, Jeanine, and Mary maintainers@mathquill.com
3625
+ /**
3626
+ * @license
3627
+ * MathQuill v0.10.1, by Han, Jeanine, and Mary
3628
+ * http://mathquill.com | maintainers@mathquill.com
3652
3629
  *
3653
3630
  * This Source Code Form is subject to the terms of the
3654
3631
  * Mozilla Public License, v. 2.0. If a copy of the MPL
3655
3632
  * was not distributed with this file, You can obtain
3656
3633
  * one at http://mozilla.org/MPL/2.0/.
3657
3634
  */
3635
+
3636
+ .mq-aria-alert {
3637
+ position: absolute;
3638
+ left: -1000px;
3639
+ top: -1000px;
3640
+ width: 0px;
3641
+ height: 0px;
3642
+ text-align: left;
3643
+ overflow: hidden;
3644
+ }
3645
+ .mq-mathspeak {
3646
+ position: absolute;
3647
+ left: -1000px;
3648
+ top: -1000px;
3649
+ width: 0px;
3650
+ height: 0px;
3651
+ text-align: left;
3652
+ overflow: hidden;
3653
+ }
3658
3654
  @font-face {
3659
3655
  font-family: Symbola;
3660
3656
  src: url(/fonts/Symbola.eot);
3661
- src: local("Symbola Regular"), local("Symbola"), url(/fonts/Symbola.woff2) format("woff2"), url(/fonts/Symbola.woff) format("woff"), url(/fonts/Symbola.ttf) format("truetype"), url(/fonts/Symbola.otf) format("opentype"), url(/fonts/Symbola.svg#Symbola) format("svg");
3657
+ src: local('Symbola Regular'), local('Symbola'), url(/fonts/Symbola.woff2) format('woff2'), url(/fonts/Symbola.woff) format('woff'), url(/fonts/Symbola.ttf) format('truetype'), url(/fonts/Symbola.otf) format('opentype'), url(/fonts/Symbola.svg#Symbola) format('svg');
3662
3658
  }
3663
3659
  .mq-editable-field {
3664
3660
  display: -moz-inline-box;
3665
3661
  display: inline-block;
3666
3662
  }
3667
3663
  .mq-editable-field .mq-cursor {
3668
- border-left: 1px solid black;
3664
+ border-left: 1px solid currentColor;
3669
3665
  margin-left: -1px;
3670
3666
  position: relative;
3671
3667
  z-index: 1;
@@ -3685,15 +3681,14 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3685
3681
  -webkit-box-shadow: #8bd 0 0 1px 2px, inset #6ae 0 0 2px 0;
3686
3682
  -moz-box-shadow: #8bd 0 0 1px 2px, inset #6ae 0 0 2px 0;
3687
3683
  box-shadow: #8bd 0 0 1px 2px, inset #6ae 0 0 2px 0;
3688
- border-color: #709AC0;
3689
- border-radius: 1px;
3684
+ border-color: #709ac0;
3690
3685
  }
3691
3686
  .mq-math-mode .mq-editable-field {
3692
3687
  margin: 1px;
3693
3688
  }
3694
3689
  .mq-editable-field .mq-latex-command-input {
3695
3690
  color: inherit;
3696
- font-family: "Courier New", monospace;
3691
+ font-family: 'Courier New', monospace;
3697
3692
  border: 1px solid gray;
3698
3693
  padding-right: 1px;
3699
3694
  margin-right: 1px;
@@ -3736,6 +3731,46 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3736
3731
  overflow: hidden;
3737
3732
  vertical-align: middle;
3738
3733
  }
3734
+ .mq-root-block .mq-digit,
3735
+ .mq-math-mode .mq-root-block .mq-digit {
3736
+ margin-left: 0.009em;
3737
+ margin-right: 0.009em;
3738
+ }
3739
+ .mq-root-block .mq-group-start,
3740
+ .mq-math-mode .mq-root-block .mq-group-start {
3741
+ margin-left: 0.11em;
3742
+ margin-right: -0.01em;
3743
+ }
3744
+ .mq-root-block .mq-group-other,
3745
+ .mq-math-mode .mq-root-block .mq-group-other {
3746
+ margin-left: -0.01em;
3747
+ margin-right: -0.01em;
3748
+ }
3749
+ .mq-root-block .mq-group-leading-1,
3750
+ .mq-math-mode .mq-root-block .mq-group-leading-1,
3751
+ .mq-root-block .mq-group-leading-2,
3752
+ .mq-math-mode .mq-root-block .mq-group-leading-2 {
3753
+ margin-left: 0;
3754
+ margin-right: -0.01em;
3755
+ }
3756
+ .mq-root-block .mq-group-leading-3,
3757
+ .mq-math-mode .mq-root-block .mq-group-leading-3 {
3758
+ margin-left: 0.036em;
3759
+ margin-right: -0.01em;
3760
+ }
3761
+ .mq-root-block.mq-suppress-grouping .mq-group-start,
3762
+ .mq-math-mode .mq-root-block.mq-suppress-grouping .mq-group-start,
3763
+ .mq-root-block.mq-suppress-grouping .mq-group-other,
3764
+ .mq-math-mode .mq-root-block.mq-suppress-grouping .mq-group-other,
3765
+ .mq-root-block.mq-suppress-grouping .mq-group-leading-1,
3766
+ .mq-math-mode .mq-root-block.mq-suppress-grouping .mq-group-leading-1,
3767
+ .mq-root-block.mq-suppress-grouping .mq-group-leading-2,
3768
+ .mq-math-mode .mq-root-block.mq-suppress-grouping .mq-group-leading-2,
3769
+ .mq-root-block.mq-suppress-grouping .mq-group-leading-3,
3770
+ .mq-math-mode .mq-root-block.mq-suppress-grouping .mq-group-leading-3 {
3771
+ margin-left: 0.009em;
3772
+ margin-right: 0.009em;
3773
+ }
3739
3774
  .mq-math-mode {
3740
3775
  font-variant: normal;
3741
3776
  font-weight: normal;
@@ -3753,8 +3788,16 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3753
3788
  .mq-math-mode var,
3754
3789
  .mq-math-mode .mq-text-mode,
3755
3790
  .mq-math-mode .mq-nonSymbola {
3756
- font-family: "Times New Roman", Symbola, serif;
3757
- line-height: .9;
3791
+ font-family: 'Times New Roman', Symbola, serif;
3792
+ line-height: 0.9;
3793
+ }
3794
+ .mq-math-mode svg {
3795
+ fill: currentColor;
3796
+ position: absolute;
3797
+ top: 0;
3798
+ left: 0;
3799
+ width: 100%;
3800
+ height: 100%;
3758
3801
  }
3759
3802
  .mq-math-mode * {
3760
3803
  font-size: inherit;
@@ -3768,25 +3811,29 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3768
3811
  box-sizing: border-box;
3769
3812
  }
3770
3813
  .mq-math-mode .mq-empty {
3771
- background: #ccc;
3814
+ background: rgba(0, 0, 0, 0.2);
3772
3815
  }
3773
3816
  .mq-math-mode .mq-empty.mq-root-block {
3774
3817
  background: transparent;
3775
3818
  }
3819
+ .mq-math-mode .mq-empty.mq-quiet-delimiter {
3820
+ background: transparent;
3821
+ }
3776
3822
  .mq-math-mode.mq-empty {
3777
3823
  background: transparent;
3778
3824
  }
3779
3825
  .mq-math-mode .mq-text-mode {
3780
3826
  display: inline-block;
3827
+ white-space: pre;
3781
3828
  }
3782
3829
  .mq-math-mode .mq-text-mode.mq-hasCursor {
3783
- box-shadow: inset darkgray 0 .1em .2em;
3784
- padding: 0 .1em;
3830
+ box-shadow: inset darkgray 0 0.1em 0.2em;
3831
+ padding: 0 0.1em;
3785
3832
  margin: 0 -0.1em;
3786
3833
  min-width: 1ex;
3787
3834
  }
3788
3835
  .mq-math-mode .mq-font {
3789
- font: 1em "Times New Roman", Symbola, serif;
3836
+ font: 1em 'Times New Roman', Symbola, serif;
3790
3837
  }
3791
3838
  .mq-math-mode .mq-font * {
3792
3839
  font-family: inherit;
@@ -3811,6 +3858,26 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3811
3858
  .mq-math-mode big {
3812
3859
  font-size: 200%;
3813
3860
  }
3861
+ .mq-math-mode .mq-int > big {
3862
+ display: inline-block;
3863
+ -webkit-transform: scaleX(0.7);
3864
+ -moz-transform: scaleX(0.7);
3865
+ -ms-transform: scaleX(0.7);
3866
+ -o-transform: scaleX(0.7);
3867
+ transform: scaleX(0.7);
3868
+ vertical-align: -0.16em;
3869
+ }
3870
+ .mq-math-mode .mq-int > .mq-supsub {
3871
+ font-size: 80%;
3872
+ vertical-align: -1.1em;
3873
+ padding-right: 0.2em;
3874
+ }
3875
+ .mq-math-mode .mq-int > .mq-supsub > .mq-sup > .mq-sup-inner {
3876
+ vertical-align: 1.3em;
3877
+ }
3878
+ .mq-math-mode .mq-int > .mq-supsub > .mq-sub {
3879
+ margin-left: -0.35em;
3880
+ }
3814
3881
  .mq-math-mode .mq-roman {
3815
3882
  font-style: normal;
3816
3883
  }
@@ -3821,11 +3888,11 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3821
3888
  font-family: monospace, Symbola, serif;
3822
3889
  }
3823
3890
  .mq-math-mode .mq-overline {
3824
- border-top: 1px solid black;
3891
+ border-top: 1px solid;
3825
3892
  margin-top: 1px;
3826
3893
  }
3827
3894
  .mq-math-mode .mq-underline {
3828
- border-bottom: 1px solid black;
3895
+ border-bottom: 1px solid;
3829
3896
  margin-bottom: 1px;
3830
3897
  }
3831
3898
  .mq-math-mode .mq-binary-operator {
@@ -3838,14 +3905,10 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3838
3905
  font-size: 90%;
3839
3906
  vertical-align: -0.5em;
3840
3907
  }
3841
- .mq-math-mode .mq-supsub.mq-limit {
3842
- font-size: 80%;
3843
- vertical-align: -0.4em;
3844
- }
3845
3908
  .mq-math-mode .mq-supsub.mq-sup-only {
3846
- vertical-align: .5em;
3909
+ vertical-align: 0.5em;
3847
3910
  }
3848
- .mq-math-mode .mq-supsub.mq-sup-only .mq-sup {
3911
+ .mq-math-mode .mq-supsub.mq-sup-only > .mq-sup {
3849
3912
  display: inline-block;
3850
3913
  vertical-align: text-bottom;
3851
3914
  }
@@ -3856,11 +3919,8 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3856
3919
  display: block;
3857
3920
  float: left;
3858
3921
  }
3859
- .mq-math-mode .mq-supsub.mq-limit .mq-sub {
3860
- margin-left: -0.25em;
3861
- }
3862
3922
  .mq-math-mode .mq-supsub .mq-binary-operator {
3863
- padding: 0 .1em;
3923
+ padding: 0 0.1em;
3864
3924
  }
3865
3925
  .mq-math-mode .mq-supsub .mq-fraction {
3866
3926
  font-size: 70%;
@@ -3869,24 +3929,30 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3869
3929
  font-size: 80%;
3870
3930
  vertical-align: 0.8em;
3871
3931
  margin-right: -0.6em;
3872
- margin-left: .2em;
3873
- min-width: .5em;
3932
+ margin-left: 0.2em;
3933
+ min-width: 0.5em;
3874
3934
  }
3875
- .mq-math-mode .mq-paren {
3876
- padding: 0 .1em;
3877
- vertical-align: top;
3878
- -webkit-transform-origin: center .06em;
3879
- -moz-transform-origin: center .06em;
3880
- -ms-transform-origin: center .06em;
3881
- -o-transform-origin: center .06em;
3882
- transform-origin: center .06em;
3935
+ .mq-math-mode .mq-ghost svg {
3936
+ opacity: 0.2;
3937
+ }
3938
+ .mq-math-mode .mq-bracket-middle {
3939
+ margin-top: 0.1em;
3940
+ margin-bottom: 0.1em;
3941
+ }
3942
+ .mq-math-mode .mq-bracket-l,
3943
+ .mq-math-mode .mq-bracket-r {
3944
+ position: absolute;
3945
+ top: 0;
3946
+ bottom: 2px;
3947
+ }
3948
+ .mq-math-mode .mq-bracket-l {
3949
+ left: 0;
3883
3950
  }
3884
- .mq-math-mode .mq-paren.mq-ghost {
3885
- color: silver;
3951
+ .mq-math-mode .mq-bracket-r {
3952
+ right: 0;
3886
3953
  }
3887
- .mq-math-mode .mq-paren + span {
3888
- margin-top: .1em;
3889
- margin-bottom: .1em;
3954
+ .mq-math-mode .mq-bracket-container {
3955
+ position: relative;
3890
3956
  }
3891
3957
  .mq-math-mode .mq-array {
3892
3958
  vertical-align: middle;
@@ -3896,22 +3962,22 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3896
3962
  display: block;
3897
3963
  }
3898
3964
  .mq-math-mode .mq-operator-name {
3899
- font-family: Symbola, "Times New Roman", serif;
3900
- line-height: .9;
3965
+ font-family: Symbola, 'Times New Roman', serif;
3966
+ line-height: 0.9;
3901
3967
  font-style: normal;
3902
3968
  }
3903
3969
  .mq-math-mode var.mq-operator-name.mq-first {
3904
- padding-left: .2em;
3970
+ padding-left: 0.2em;
3905
3971
  }
3906
3972
  .mq-math-mode var.mq-operator-name.mq-last,
3907
3973
  .mq-math-mode .mq-supsub.mq-after-operator-name {
3908
- padding-right: .2em;
3974
+ padding-right: 0.2em;
3909
3975
  }
3910
3976
  .mq-math-mode .mq-fraction {
3911
3977
  font-size: 90%;
3912
3978
  text-align: center;
3913
3979
  vertical-align: -0.4em;
3914
- padding: 0 .2em;
3980
+ padding: 0 0.2em;
3915
3981
  }
3916
3982
  .mq-math-mode .mq-fraction,
3917
3983
  .mq-math-mode .mq-large-operator,
@@ -3925,7 +3991,8 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3925
3991
  display: inline-block;
3926
3992
  }
3927
3993
  .mq-math-mode .mq-numerator,
3928
- .mq-math-mode .mq-denominator {
3994
+ .mq-math-mode .mq-denominator,
3995
+ .mq-math-mode .mq-dot-recurring {
3929
3996
  display: block;
3930
3997
  }
3931
3998
  .mq-math-mode .mq-numerator {
@@ -3937,38 +4004,53 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3937
4004
  width: 100%;
3938
4005
  padding: 0.1em;
3939
4006
  }
4007
+ .mq-math-mode .mq-dot-recurring {
4008
+ text-align: center;
4009
+ height: 0.3em;
4010
+ }
3940
4011
  .mq-math-mode .mq-sqrt-prefix {
3941
- padding-top: 0;
4012
+ position: absolute;
4013
+ top: 1px;
4014
+ bottom: 0.15em;
4015
+ width: 0.95em;
4016
+ }
4017
+ .mq-math-mode .mq-sqrt-container {
3942
4018
  position: relative;
3943
- top: 0.1em;
3944
- vertical-align: top;
3945
- -webkit-transform-origin: top;
3946
- -moz-transform-origin: top;
3947
- -ms-transform-origin: top;
3948
- -o-transform-origin: top;
3949
- transform-origin: top;
3950
4019
  }
3951
4020
  .mq-math-mode .mq-sqrt-stem {
3952
4021
  border-top: 1px solid;
3953
4022
  margin-top: 1px;
3954
- padding-left: .15em;
3955
- padding-right: .2em;
3956
- margin-right: .1em;
4023
+ margin-left: 0.9em;
4024
+ padding-left: 0.15em;
4025
+ padding-right: 0.2em;
4026
+ margin-right: 0.1em;
3957
4027
  padding-top: 1px;
3958
4028
  }
3959
- .mq-math-mode .mq-vector-prefix {
4029
+ .mq-math-mode .mq-diacritic-above {
3960
4030
  display: block;
3961
4031
  text-align: center;
3962
- line-height: .25em;
3963
- margin-bottom: -0.1em;
3964
- font-size: 0.75em;
4032
+ line-height: 0.4em;
3965
4033
  }
3966
- .mq-math-mode .mq-vector-stem {
4034
+ .mq-math-mode .mq-diacritic-stem {
4035
+ display: block;
4036
+ text-align: center;
4037
+ }
4038
+ .mq-math-mode .mq-hat-prefix {
4039
+ display: block;
4040
+ text-align: center;
4041
+ line-height: 0.95em;
4042
+ margin-bottom: -0.7em;
4043
+ transform: scaleX(1.5);
4044
+ -moz-transform: scaleX(1.5);
4045
+ -o-transform: scaleX(1.5);
4046
+ -webkit-transform: scaleX(1.5);
4047
+ }
4048
+ .mq-math-mode .mq-hat-stem {
3967
4049
  display: block;
3968
4050
  }
3969
4051
  .mq-math-mode .mq-large-operator {
3970
4052
  vertical-align: -0.2em;
3971
- padding: .2em;
4053
+ padding: 0.2em;
3972
4054
  text-align: center;
3973
4055
  }
3974
4056
  .mq-math-mode .mq-large-operator .mq-from,
@@ -3988,29 +4070,51 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
3988
4070
  .mq-math-mode,
3989
4071
  .mq-math-mode .mq-editable-field {
3990
4072
  cursor: text;
3991
- font-family: Symbola, "Times New Roman", serif;
4073
+ font-family: Symbola, 'Times New Roman', serif;
4074
+ }
4075
+ .mq-math-mode .mq-overarc {
4076
+ border-top: 1px solid black;
4077
+ -webkit-border-top-right-radius: 50% 0.3em;
4078
+ -moz-border-radius-topright: 50% 0.3em;
4079
+ border-top-right-radius: 50% 0.3em;
4080
+ -webkit-border-top-left-radius: 50% 0.3em;
4081
+ -moz-border-radius-topleft: 50% 0.3em;
4082
+ border-top-left-radius: 50% 0.3em;
4083
+ margin-top: 1px;
4084
+ padding-top: 0.15em;
3992
4085
  }
3993
4086
  .mq-math-mode .mq-overarrow {
4087
+ min-width: 0.5em;
3994
4088
  border-top: 1px solid black;
3995
4089
  margin-top: 1px;
3996
4090
  padding-top: 0.2em;
3997
- }
3998
- .mq-math-mode .mq-overarrow:before {
3999
- display: block;
4091
+ text-align: center;
4000
4092
  position: relative;
4001
- top: -0.34em;
4093
+ }
4094
+ .mq-math-mode .mq-overarrow:after {
4095
+ position: absolute;
4096
+ right: -0.1em;
4097
+ top: -0.48em;
4002
4098
  font-size: 0.5em;
4003
- line-height: 0em;
4004
4099
  content: '\27A4';
4005
- text-align: right;
4006
4100
  }
4007
- .mq-math-mode .mq-overarrow.mq-arrow-left:before {
4101
+ .mq-math-mode .mq-overarrow.mq-arrow-left:after {
4102
+ content: '';
4103
+ display: none;
4104
+ }
4105
+ .mq-math-mode .mq-overarrow.mq-arrow-left:before,
4106
+ .mq-math-mode .mq-overarrow.mq-arrow-leftright:before {
4107
+ position: absolute;
4108
+ top: -0.48em;
4109
+ left: -0.1em;
4110
+ font-size: 0.5em;
4111
+ content: '\27A4';
4008
4112
  -moz-transform: scaleX(-1);
4009
4113
  -o-transform: scaleX(-1);
4010
4114
  -webkit-transform: scaleX(-1);
4011
4115
  transform: scaleX(-1);
4012
4116
  filter: FlipH;
4013
- -ms-filter: "FlipH";
4117
+ -ms-filter: 'FlipH';
4014
4118
  }
4015
4119
  .mq-math-mode .mq-selection,
4016
4120
  .mq-editable-field .mq-selection,
@@ -4018,34 +4122,21 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
4018
4122
  .mq-editable-field .mq-selection .mq-non-leaf,
4019
4123
  .mq-math-mode .mq-selection .mq-scaled,
4020
4124
  .mq-editable-field .mq-selection .mq-scaled {
4021
- background: #B4D5FE !important;
4022
- background: Highlight !important;
4023
- color: HighlightText;
4024
- border-color: HighlightText;
4025
- }
4026
- .mq-math-mode .mq-selection .mq-matrixed,
4027
- .mq-editable-field .mq-selection .mq-matrixed {
4028
- background: #39F !important;
4029
- }
4030
- .mq-math-mode .mq-selection .mq-matrixed-container,
4031
- .mq-editable-field .mq-selection .mq-matrixed-container {
4032
- filter: progid:DXImageTransform.Microsoft.Chroma(color='#3399FF') !important;
4125
+ background: #b4d5fe !important;
4033
4126
  }
4034
4127
  .mq-math-mode .mq-selection.mq-blur,
4035
4128
  .mq-editable-field .mq-selection.mq-blur,
4036
4129
  .mq-math-mode .mq-selection.mq-blur .mq-non-leaf,
4037
4130
  .mq-editable-field .mq-selection.mq-blur .mq-non-leaf,
4038
4131
  .mq-math-mode .mq-selection.mq-blur .mq-scaled,
4039
- .mq-editable-field .mq-selection.mq-blur .mq-scaled,
4040
- .mq-math-mode .mq-selection.mq-blur .mq-matrixed,
4041
- .mq-editable-field .mq-selection.mq-blur .mq-matrixed {
4042
- background: #D4D4D4 !important;
4132
+ .mq-editable-field .mq-selection.mq-blur .mq-scaled {
4133
+ background: #d4d4d4 !important;
4043
4134
  color: black;
4044
4135
  border-color: black;
4045
4136
  }
4046
- .mq-math-mode .mq-selection.mq-blur .mq-matrixed-container,
4047
- .mq-editable-field .mq-selection.mq-blur .mq-matrixed-container {
4048
- filter: progid:DXImageTransform.Microsoft.Chroma(color='#D4D4D4') !important;
4137
+ html body .mq-math-mode .mq-selection .mq-nthroot-container *,
4138
+ html body .mq-editable-field .mq-selection .mq-nthroot-container * {
4139
+ background: transparent !important;
4049
4140
  }
4050
4141
  .mq-editable-field .mq-textarea,
4051
4142
  .mq-math-mode .mq-textarea {
@@ -4055,9 +4146,7 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
4055
4146
  user-select: text;
4056
4147
  }
4057
4148
  .mq-editable-field .mq-textarea *,
4058
- .mq-math-mode .mq-textarea *,
4059
- .mq-editable-field .mq-selectable,
4060
- .mq-math-mode .mq-selectable {
4149
+ .mq-math-mode .mq-textarea * {
4061
4150
  -webkit-user-select: text;
4062
4151
  -moz-user-select: text;
4063
4152
  user-select: text;
@@ -4071,14 +4160,6 @@ body.mobile .framework-perseus table.perseus-widget-table-of-values.non-markdown
4071
4160
  resize: none;
4072
4161
  width: 1px;
4073
4162
  height: 1px;
4074
- }
4075
- .mq-math-mode .mq-matrixed {
4076
- background: white;
4077
- display: -moz-inline-box;
4078
- display: inline-block;
4079
- }
4080
- .mq-math-mode .mq-matrixed-container {
4081
- filter: progid:DXImageTransform.Microsoft.Chroma(color='white');
4082
- margin-top: -0.1em;
4163
+ box-sizing: content-box;
4083
4164
  }
4084
4165