@khanacademy/math-input 0.3.2 → 0.5.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.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/{build/math-input.css → dist/es/index.css} +0 -150
- package/dist/es/index.js +2 -0
- package/dist/es/index.js.map +1 -0
- package/dist/index.css +586 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/index.js.flow +2 -0
- package/dist/index.js.map +1 -0
- package/dist/strings.js +71 -0
- package/index.html +20 -0
- package/less/echo.less +56 -0
- package/less/main.less +5 -0
- package/less/overrides.less +129 -0
- package/less/popover.less +22 -0
- package/less/tabbar.less +6 -0
- package/package.json +38 -70
- package/src/actions/index.js +57 -0
- package/src/components/__tests__/gesture-state-machine_test.js +437 -0
- package/src/components/__tests__/node-manager_test.js +89 -0
- package/src/components/__tests__/two-page-keypad_test.js +42 -0
- package/src/components/app.js +73 -0
- package/src/components/common-style.js +47 -0
- package/src/components/compute-layout-parameters.js +157 -0
- package/src/components/corner-decal.js +56 -0
- package/src/components/echo-manager.js +160 -0
- package/src/components/empty-keypad-button.js +49 -0
- package/src/components/expression-keypad.js +323 -0
- package/src/components/fraction-keypad.js +176 -0
- package/src/components/gesture-manager.js +226 -0
- package/src/components/gesture-state-machine.js +283 -0
- package/src/components/icon.js +74 -0
- package/src/components/iconography/arrow.js +22 -0
- package/src/components/iconography/backspace.js +29 -0
- package/src/components/iconography/cdot.js +29 -0
- package/src/components/iconography/cos.js +30 -0
- package/src/components/iconography/cube-root.js +36 -0
- package/src/components/iconography/dismiss.js +25 -0
- package/src/components/iconography/divide.js +34 -0
- package/src/components/iconography/down.js +16 -0
- package/src/components/iconography/equal.js +33 -0
- package/src/components/iconography/exp-2.js +29 -0
- package/src/components/iconography/exp-3.js +29 -0
- package/src/components/iconography/exp.js +29 -0
- package/src/components/iconography/frac.js +44 -0
- package/src/components/iconography/geq.js +33 -0
- package/src/components/iconography/gt.js +33 -0
- package/src/components/iconography/index.js +45 -0
- package/src/components/iconography/jump-into-numerator.js +41 -0
- package/src/components/iconography/jump-out-base.js +30 -0
- package/src/components/iconography/jump-out-denominator.js +41 -0
- package/src/components/iconography/jump-out-exponent.js +30 -0
- package/src/components/iconography/jump-out-numerator.js +41 -0
- package/src/components/iconography/jump-out-parentheses.js +33 -0
- package/src/components/iconography/left-paren.js +33 -0
- package/src/components/iconography/left.js +16 -0
- package/src/components/iconography/leq.js +33 -0
- package/src/components/iconography/ln.js +29 -0
- package/src/components/iconography/log-n.js +29 -0
- package/src/components/iconography/log.js +29 -0
- package/src/components/iconography/lt.js +33 -0
- package/src/components/iconography/minus.js +32 -0
- package/src/components/iconography/neq.js +33 -0
- package/src/components/iconography/parens.js +33 -0
- package/src/components/iconography/percent.js +49 -0
- package/src/components/iconography/period.js +26 -0
- package/src/components/iconography/plus.js +32 -0
- package/src/components/iconography/radical.js +36 -0
- package/src/components/iconography/right-paren.js +33 -0
- package/src/components/iconography/right.js +16 -0
- package/src/components/iconography/sin.js +30 -0
- package/src/components/iconography/sqrt.js +32 -0
- package/src/components/iconography/tan.js +30 -0
- package/src/components/iconography/times.js +33 -0
- package/src/components/iconography/up.js +16 -0
- package/src/components/input/__tests__/context-tracking_test.js +177 -0
- package/src/components/input/__tests__/math-wrapper.jsx +33 -0
- package/src/components/input/__tests__/mathquill_test.js +747 -0
- package/src/components/input/cursor-contexts.js +29 -0
- package/src/components/input/cursor-handle.js +137 -0
- package/src/components/input/drag-listener.js +75 -0
- package/src/components/input/math-input.js +924 -0
- package/src/components/input/math-wrapper.js +959 -0
- package/src/components/input/scroll-into-view.js +72 -0
- package/src/components/keypad/button-assets.js +492 -0
- package/src/components/keypad/button.js +106 -0
- package/src/components/keypad/button.stories.js +27 -0
- package/src/components/keypad/index.js +64 -0
- package/src/components/keypad/keypad-page-items.js +106 -0
- package/src/components/keypad/keypad-pages.stories.js +32 -0
- package/src/components/keypad/keypad.stories.js +35 -0
- package/src/components/keypad/numeric-input-page.js +100 -0
- package/src/components/keypad/pre-algebra-page.js +98 -0
- package/src/components/keypad/trigonometry-page.js +90 -0
- package/src/components/keypad-button.js +366 -0
- package/src/components/keypad-container.js +303 -0
- package/src/components/keypad.js +154 -0
- package/src/components/many-keypad-button.js +44 -0
- package/src/components/math-icon.js +65 -0
- package/src/components/multi-symbol-grid.js +182 -0
- package/src/components/multi-symbol-popover.js +59 -0
- package/src/components/navigation-pad.js +139 -0
- package/src/components/node-manager.js +129 -0
- package/src/components/popover-manager.js +76 -0
- package/src/components/popover-state-machine.js +173 -0
- package/src/components/prop-types.js +82 -0
- package/src/components/provided-keypad.js +99 -0
- package/src/components/styles.js +38 -0
- package/src/components/svg-icon.js +25 -0
- package/src/components/tabbar/__tests__/tabbar_test.js +65 -0
- package/src/components/tabbar/icons.js +69 -0
- package/src/components/tabbar/item.js +138 -0
- package/src/components/tabbar/tabbar.js +61 -0
- package/src/components/tabbar/tabbar.stories.js +60 -0
- package/src/components/tabbar/types.js +3 -0
- package/src/components/text-icon.js +52 -0
- package/src/components/touchable-keypad-button.js +146 -0
- package/src/components/two-page-keypad.js +99 -0
- package/src/components/velocity-tracker.js +76 -0
- package/src/components/z-indexes.js +9 -0
- package/src/consts.js +74 -0
- package/src/data/key-configs.js +349 -0
- package/src/data/keys.js +72 -0
- package/src/demo.js +8 -0
- package/src/fake-react-native-web/index.js +12 -0
- package/src/fake-react-native-web/text.js +56 -0
- package/src/fake-react-native-web/view.js +91 -0
- package/src/index.js +13 -0
- package/src/native-app.js +84 -0
- package/src/store/index.js +505 -0
- package/src/utils.js +18 -0
- package/tools/svg-to-react/convert.py +111 -0
- package/tools/svg-to-react/icons/math-keypad-icon-0.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-1.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-2.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-3.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-4.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-5.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-6.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-7.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-8.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-9.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-addition.svg +34 -0
- package/tools/svg-to-react/icons/math-keypad-icon-cos.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-delete.svg +36 -0
- package/tools/svg-to-react/icons/math-keypad-icon-dismiss.svg +36 -0
- package/tools/svg-to-react/icons/math-keypad-icon-division.svg +36 -0
- package/tools/svg-to-react/icons/math-keypad-icon-equals-not.svg +50 -0
- package/tools/svg-to-react/icons/math-keypad-icon-equals.svg +48 -0
- package/tools/svg-to-react/icons/math-keypad-icon-exponent-2.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-exponent-3.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-exponent.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-fraction.svg +42 -0
- package/tools/svg-to-react/icons/math-keypad-icon-greater-than.svg +46 -0
- package/tools/svg-to-react/icons/math-keypad-icon-jump-out-base.svg +44 -0
- package/tools/svg-to-react/icons/math-keypad-icon-jump-out-denominator.svg +48 -0
- package/tools/svg-to-react/icons/math-keypad-icon-jump-out-exponent.svg +44 -0
- package/tools/svg-to-react/icons/math-keypad-icon-jump-out-parentheses.svg +44 -0
- package/tools/svg-to-react/icons/math-keypad-icon-less-than.svg +46 -0
- package/tools/svg-to-react/icons/math-keypad-icon-log-10.svg +36 -0
- package/tools/svg-to-react/icons/math-keypad-icon-log-e.svg +36 -0
- package/tools/svg-to-react/icons/math-keypad-icon-log.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-multiplication-cross.svg +40 -0
- package/tools/svg-to-react/icons/math-keypad-icon-multiplication-dot.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-percent.svg +42 -0
- package/tools/svg-to-react/icons/math-keypad-icon-radical-2.svg +36 -0
- package/tools/svg-to-react/icons/math-keypad-icon-radical-3.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-radical.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-radix-character.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-sin.svg +38 -0
- package/tools/svg-to-react/icons/math-keypad-icon-subtraction.svg +32 -0
- package/tools/svg-to-react/icons/math-keypad-icon-tan.svg +38 -0
- package/tools/svg-to-react/symbol_map.py +41 -0
- package/LICENSE.txt +0 -21
- package/build/math-input.js +0 -1
package/CHANGELOG.md
ADDED
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# math-input
|
|
2
2
|
|
|
3
|
-
Khan Academy's
|
|
3
|
+
Khan Academy's expression editor for the mobile web. Used in the [Perseus](https://github.com/khan/perseus) exercise framework to power math input and expression editing on small screens.
|
|
4
4
|
|
|
5
5
|
Built with [React](https://github.com/facebook/react), [Redux](https://github.com/reactjs/redux), [MathQuill](https://github.com/mathquill/mathquill), [Aphrodite](https://github.com/khan/aphrodite), and more.
|
|
6
6
|
|
|
@@ -9,38 +9,6 @@
|
|
|
9
9
|
* If the animation durations change, the corresponding values in
|
|
10
10
|
* echo-manager.js must change as well.
|
|
11
11
|
*/
|
|
12
|
-
.echo-slide-and-fade-enter {
|
|
13
|
-
opacity: 1 !important;
|
|
14
|
-
transform: translate3d(0, 0, 0) !important;
|
|
15
|
-
}
|
|
16
|
-
.echo-slide-and-fade-enter.echo-slide-and-fade-enter-active {
|
|
17
|
-
opacity: 0 !important;
|
|
18
|
-
transform: translate3d(0, -33%, 0) !important;
|
|
19
|
-
/**
|
|
20
|
-
* TODO(charlie): These times are intentionally different, which means
|
|
21
|
-
* that the animation really "ends" after 400ms
|
|
22
|
-
* cubic-bezier(1, 0, 0.9, 1) (since the opacity goes to 0), even though
|
|
23
|
-
* the transform doesn't complete. There's probably a way to achieve the
|
|
24
|
-
* same effect by manipulating the transform's Bezier curve and total
|
|
25
|
-
* displacement.
|
|
26
|
-
*/
|
|
27
|
-
transition: transform 800ms cubic-bezier(0, 1, 0.25, 1), opacity 400ms cubic-bezier(1, 0, 0.9, 1) !important;
|
|
28
|
-
}
|
|
29
|
-
.echo-fade-only-enter {
|
|
30
|
-
opacity: 1 !important;
|
|
31
|
-
}
|
|
32
|
-
.echo-fade-only-enter.echo-fade-only-enter-active {
|
|
33
|
-
opacity: 0 !important;
|
|
34
|
-
transition: opacity 300ms cubic-bezier(0.25, 0, 0.75, 1) !important;
|
|
35
|
-
}
|
|
36
|
-
.echo-long-fade-only-enter {
|
|
37
|
-
opacity: 1 !important;
|
|
38
|
-
}
|
|
39
|
-
.echo-long-fade-only-enter.echo-long-fade-only-enter-active {
|
|
40
|
-
opacity: 0 !important;
|
|
41
|
-
transition: opacity 400ms cubic-bezier(0.75, 0, 0.75, 1) !important;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
12
|
/*
|
|
45
13
|
* MathQuill v0.10.1 http://mathquill.com
|
|
46
14
|
* by Han, Jeanine, and Mary maintainers@mathquill.com
|
|
@@ -476,18 +444,6 @@
|
|
|
476
444
|
filter: progid:DXImageTransform.Microsoft.Chroma(color='white');
|
|
477
445
|
margin-top: -0.1em;
|
|
478
446
|
}
|
|
479
|
-
|
|
480
|
-
/**
|
|
481
|
-
* Styles for managing the popover animations.
|
|
482
|
-
*
|
|
483
|
-
* Ideally, we'd be generating these styles with Aphrodite (along with
|
|
484
|
-
* CSSTransitionGroup's support for custom classnames), but the generated
|
|
485
|
-
* styles have issues on mobile Safari.
|
|
486
|
-
* See: https://github.com/Khan/aphrodite/issues/68.
|
|
487
|
-
*
|
|
488
|
-
* If the animation durations change, the corresponding values in
|
|
489
|
-
* echo-manager.js must change as well.
|
|
490
|
-
*/
|
|
491
447
|
.echo-slide-and-fade-enter {
|
|
492
448
|
opacity: 1 !important;
|
|
493
449
|
transform: translate3d(0, 0, 0) !important;
|
|
@@ -628,109 +584,3 @@
|
|
|
628
584
|
.tabbar_item:focus {
|
|
629
585
|
background-color: green;
|
|
630
586
|
}
|
|
631
|
-
|
|
632
|
-
.keypad-input {
|
|
633
|
-
outline: none !important;
|
|
634
|
-
}
|
|
635
|
-
.keypad-input .mq-editable-field .mq-root-block {
|
|
636
|
-
overflow-x: scroll;
|
|
637
|
-
}
|
|
638
|
-
.keypad-input .mq-editable-field .mq-cursor:not(:only-child),
|
|
639
|
-
.keypad-input .mq-editable-field .mq-root-block.mq-hasCursor > .mq-cursor:only-child {
|
|
640
|
-
/* HACK(charlie): Magic numbers to properly size and position the vertical
|
|
641
|
-
cursor, which is visible whenever the cursor is not alone in its parent,
|
|
642
|
-
with the exception that it's also visible when the entire input is
|
|
643
|
-
empty. */
|
|
644
|
-
height: 20px !important;
|
|
645
|
-
width: 2px;
|
|
646
|
-
margin-top: -5px !important;
|
|
647
|
-
vertical-align: middle !important;
|
|
648
|
-
border-radius: 1px !important;
|
|
649
|
-
}
|
|
650
|
-
.keypad-input .mq-editable-field .mq-cursor {
|
|
651
|
-
border-left: 2px solid #1865f2 !important;
|
|
652
|
-
margin-left: -1px !important;
|
|
653
|
-
margin-right: -1px !important;
|
|
654
|
-
opacity: 1 !important;
|
|
655
|
-
transition: opacity 500ms ease-out !important;
|
|
656
|
-
visibility: visible !important;
|
|
657
|
-
}
|
|
658
|
-
.keypad-input .mq-editable-field .mq-cursor.mq-blink {
|
|
659
|
-
opacity: 0 !important;
|
|
660
|
-
transition: opacity 500ms ease-in !important;
|
|
661
|
-
visibility: visible !important;
|
|
662
|
-
}
|
|
663
|
-
.keypad-input .mq-editable-field .mq-non-leaf .mq-cursor:only-child {
|
|
664
|
-
border: 2px solid !important;
|
|
665
|
-
border-color: #1865f2 !important;
|
|
666
|
-
border-radius: 1px;
|
|
667
|
-
opacity: 1 !important;
|
|
668
|
-
padding: 0 4px 0 4px;
|
|
669
|
-
transition: border-color 500ms ease-out !important;
|
|
670
|
-
}
|
|
671
|
-
.keypad-input .mq-editable-field .mq-non-leaf .mq-cursor:only-child.mq-blink {
|
|
672
|
-
border-color: #1865f2 !important;
|
|
673
|
-
opacity: 1 !important;
|
|
674
|
-
transition: border-color 500ms ease-in !important;
|
|
675
|
-
}
|
|
676
|
-
.keypad-input .mq-empty {
|
|
677
|
-
background: transparent !important;
|
|
678
|
-
}
|
|
679
|
-
.keypad-input .mq-empty:not(.mq-root-block):after,
|
|
680
|
-
.keypad-input .mq-hasCursor:empty:not(.mq-root-block):after {
|
|
681
|
-
border: 2px solid rgba(33, 36, 44, 0.16);
|
|
682
|
-
border-radius: 1px;
|
|
683
|
-
color: transparent;
|
|
684
|
-
display: inline-block;
|
|
685
|
-
margin-left: -1px;
|
|
686
|
-
margin-right: -1px;
|
|
687
|
-
padding: 0 4px 0 4px;
|
|
688
|
-
visibility: visible !important;
|
|
689
|
-
}
|
|
690
|
-
.keypad-input .mq-selection .mq-empty:not(.mq-root-block):after {
|
|
691
|
-
border-color: white;
|
|
692
|
-
}
|
|
693
|
-
.keypad-input .mq-hasCursor:empty:not(.mq-root-block):after {
|
|
694
|
-
content: 'c';
|
|
695
|
-
}
|
|
696
|
-
.keypad-input .mq-math-mode .mq-selection .mq-non-leaf,
|
|
697
|
-
.keypad-input .mq-editable-field .mq-selection .mq-non-leaf {
|
|
698
|
-
background: #1865f2 !important;
|
|
699
|
-
border-color: white !important;
|
|
700
|
-
color: white !important;
|
|
701
|
-
}
|
|
702
|
-
.keypad-input .mq-math-mode .mq-selection .mq-scaled,
|
|
703
|
-
.keypad-input .mq-editable-field .mq-selection .mq-scaled {
|
|
704
|
-
background: transparent !important;
|
|
705
|
-
border-color: transparent !important;
|
|
706
|
-
color: white !important;
|
|
707
|
-
}
|
|
708
|
-
.keypad-input .mq-selection {
|
|
709
|
-
background: #1865f2 !important;
|
|
710
|
-
border-color: white !important;
|
|
711
|
-
color: white !important;
|
|
712
|
-
display: inline-block !important;
|
|
713
|
-
}
|
|
714
|
-
.keypad-container .katex {
|
|
715
|
-
color: inherit !important;
|
|
716
|
-
}
|
|
717
|
-
|
|
718
|
-
/**
|
|
719
|
-
* Styles for managing the popover animations.
|
|
720
|
-
*
|
|
721
|
-
* Ideally, we'd be generating these styles with Aphrodite (along with
|
|
722
|
-
* CSSTransitionGroup's support for custom classnames), but the generated
|
|
723
|
-
* styles have issues on mobile Safari.
|
|
724
|
-
* See: https://github.com/Khan/aphrodite/issues/68.
|
|
725
|
-
*
|
|
726
|
-
* If the animation durations change, the corresponding values in
|
|
727
|
-
* popover-manager.js must change as well.
|
|
728
|
-
*/
|
|
729
|
-
.popover-enter {
|
|
730
|
-
opacity: 0 !important;
|
|
731
|
-
}
|
|
732
|
-
.popover-enter.popover-enter-active {
|
|
733
|
-
opacity: 1 !important;
|
|
734
|
-
transition: opacity 200ms ease-out !important;
|
|
735
|
-
}
|
|
736
|
-
|
package/dist/es/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"@khanacademy/wonder-blocks-color";import*as t from"@khanacademy/wonder-blocks-i18n";import{StyleSheet as r,css as n}from"aphrodite";import o from"prop-types";import*as i from"react";import s from"react-dom";import a from"jquery";import l from"mathquill";import{connect as d,Provider as c}from"react-redux";import*as h from"redux";import p from"katex";import{TransitionGroup as u,CSSTransition as m}from"react-transition-group";import{View as E}from"@khanacademy/wonder-blocks-core";import g from"@khanacademy/wonder-blocks-clickable";import v from"performance-now";function f(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function y(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?f(Object(r),!0).forEach((function(t){T(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):f(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function T(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function C(){return C=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},C.apply(this,arguments)}function _(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var b={PLUS:"PLUS",MINUS:"MINUS",NEGATIVE:"NEGATIVE",TIMES:"TIMES",DIVIDE:"DIVIDE",DECIMAL:"DECIMAL",PERIOD:"PERIOD",PERCENT:"PERCENT",CDOT:"CDOT",EQUAL:"EQUAL",NEQ:"NEQ",GT:"GT",LT:"LT",GEQ:"GEQ",LEQ:"LEQ",FRAC_INCLUSIVE:"FRAC_INCLUSIVE",FRAC_EXCLUSIVE:"FRAC_EXCLUSIVE",FRAC:"FRAC",EXP:"EXP",EXP_2:"EXP_2",EXP_3:"EXP_3",SQRT:"SQRT",CUBE_ROOT:"CUBE_ROOT",RADICAL:"RADICAL",LEFT_PAREN:"LEFT_PAREN",RIGHT_PAREN:"RIGHT_PAREN",LN:"LN",LOG:"LOG",LOG_N:"LOG_N",SIN:"SIN",COS:"COS",TAN:"TAN",PI:"PI",THETA:"THETA",UP:"UP",RIGHT:"RIGHT",DOWN:"DOWN",LEFT:"LEFT",BACKSPACE:"BACKSPACE",DISMISS:"DISMISS",JUMP_OUT_PARENTHESES:"JUMP_OUT_PARENTHESES",JUMP_OUT_EXPONENT:"JUMP_OUT_EXPONENT",JUMP_OUT_BASE:"JUMP_OUT_BASE",JUMP_INTO_NUMERATOR:"JUMP_INTO_NUMERATOR",JUMP_OUT_NUMERATOR:"JUMP_OUT_NUMERATOR",JUMP_OUT_DENOMINATOR:"JUMP_OUT_DENOMINATOR",NOOP:"NOOP",FRAC_MULTI:"FRAC_MULTI",MANY:"MANY"};class R extends i.Component{render(){var{numberOfLines:e,style:t}=this.props,r=n(O.initial,...Array.isArray(t)?t:[t],1===e&&O.singleLineStyle);return i.createElement("span",{className:r,style:this.props.dynamicStyle},this.props.children)}}var O=r.create({initial:{color:"inherit",display:"inline",font:"inherit",margin:0,padding:0,textDecorationLine:"none",wordWrap:"break-word"},singleLineStyle:{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}});class M extends i.Component{render(){var e=n(M.styles.initial,...Array.isArray(this.props.style)?this.props.style:[this.props.style])+(this.props.extraClassName?" ".concat(this.props.extraClassName):"");return i.createElement("div",{className:e,style:this.props.dynamicStyle,onClick:this.props.onClick,onTouchCancel:this.props.onTouchCancel,onTouchEnd:this.props.onTouchEnd,onTouchMove:this.props.onTouchMove,onTouchStart:this.props.onTouchStart,"aria-label":this.props.ariaLabel,role:this.props.role},this.props.children)}}T(M,"styles",r.create({initial:{alignItems:"stretch",borderWidth:0,borderStyle:"solid",boxSizing:"border-box",display:"flex",flexBasis:"auto",flexDirection:"column",margin:0,padding:0,position:"relative",backgroundColor:"transparent",color:"inherit",font:"inherit",textAlign:"inherit",textDecorationLine:"none",listStyle:"none",maxWidth:"100%",minHeight:0,minWidth:0}}));var N=e.blue,P=e.offBlack;e.offBlack32;var k=e.offBlack16;e.offBlack8;var L,A=k,I={FRACTION:"FRACTION",EXPRESSION:"EXPRESSION"},S={EMPTY:"EMPTY",VALUE:"VALUE",OPERATOR:"OPERATOR",INPUT_NAVIGATION:"INPUT_NAVIGATION",KEYPAD_NAVIGATION:"KEYPAD_NAVIGATION",MANY:"MANY",ECHO:"ECHO"},w="LANDSCAPE",x="PORTRAIT",B="PHONE",F="TABLET",U={FULLSCREEN:"FULLSCREEN",COMPACT:"COMPACT"},z={LEFT:"LEFT",BOTTOM:"BOTTOM"},D={LEFT:["LEFT"],BOTTOM:["BOTTOM"],ALL:["LEFT","BOTTOM"],NONE:[]},H={MATH:"MATH",SVG:"SVG",TEXT:"TEXT"},q="COMMA",V="PERIOD",W={SLIDE_AND_FADE:"SLIDE_AND_FADE",FADE_ONLY:"FADE_ONLY",LONG_FADE_ONLY:"LONG_FADE_ONLY"};L="undefined"!=typeof window&&window.icu&&","===window.icu.getDecimalFormatSymbols().decimal_separator?q:V;var K={[b.PLUS]:{type:S.OPERATOR,ariaLabel:t._("Plus")},[b.MINUS]:{type:S.OPERATOR,ariaLabel:t._("Minus")},[b.NEGATIVE]:{type:S.VALUE,ariaLabel:t._("Negative")},[b.TIMES]:{type:S.OPERATOR,ariaLabel:t._("Multiply")},[b.DIVIDE]:{type:S.OPERATOR,ariaLabel:t._("Divide")},[b.DECIMAL]:{type:S.VALUE,ariaLabel:t._("Decimal"),icon:L===q?{type:H.TEXT,data:","}:{type:H.SVG,data:b.PERIOD}},[b.PERCENT]:{type:S.OPERATOR,ariaLabel:t._("Percent")},[b.CDOT]:{type:S.OPERATOR,ariaLabel:t._("Multiply")},[b.EQUAL]:{type:S.OPERATOR,ariaLabel:t._("Equals sign")},[b.NEQ]:{type:S.OPERATOR,ariaLabel:t._("Not-equals sign")},[b.GT]:{type:S.OPERATOR,ariaLabel:t._("Greater than sign")},[b.LT]:{type:S.OPERATOR,ariaLabel:t._("Less than sign")},[b.GEQ]:{type:S.OPERATOR,ariaLabel:t._("Greater than or equal to sign")},[b.LEQ]:{type:S.OPERATOR,ariaLabel:t._("Less than or equal to sign")},[b.FRAC_INCLUSIVE]:{type:S.OPERATOR,ariaLabel:t._("Fraction, with current expression in numerator")},[b.FRAC_EXCLUSIVE]:{type:S.OPERATOR,ariaLabel:t._("Fraction, excluding the current expression")},[b.FRAC]:{type:S.OPERATOR,ariaLabel:t._("Fraction, excluding the current expression")},[b.EXP]:{type:S.OPERATOR,ariaLabel:t._("Custom exponent")},[b.EXP_2]:{type:S.OPERATOR,ariaLabel:t._("Square")},[b.EXP_3]:{type:S.OPERATOR,ariaLabel:t._("Cube")},[b.SQRT]:{type:S.OPERATOR,ariaLabel:t._("Square root")},[b.CUBE_ROOT]:{type:S.OPERATOR,ariaLabel:t._("Cube root")},[b.RADICAL]:{type:S.OPERATOR,ariaLabel:t._("Radical with custom root")},[b.LEFT_PAREN]:{type:S.OPERATOR,ariaLabel:t._("Left parenthesis")},[b.RIGHT_PAREN]:{type:S.OPERATOR,ariaLabel:t._("Right parenthesis")},[b.LN]:{type:S.OPERATOR,ariaLabel:t._("Natural logarithm")},[b.LOG]:{type:S.OPERATOR,ariaLabel:t._("Logarithm with base 10")},[b.LOG_N]:{type:S.OPERATOR,ariaLabel:t._("Logarithm with custom base")},[b.SIN]:{type:S.OPERATOR,ariaLabel:t._("Sine")},[b.COS]:{type:S.OPERATOR,ariaLabel:t._("Cosine")},[b.TAN]:{type:S.OPERATOR,ariaLabel:t._("Tangent")},[b.PI]:{type:S.VALUE,ariaLabel:t._("Pi"),icon:{type:H.MATH,data:"\\pi"}},[b.THETA]:{type:S.VALUE,ariaLabel:t._("Theta"),icon:{type:H.MATH,data:"\\theta"}},[b.NOOP]:{type:S.EMPTY},[b.UP]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Up arrow")},[b.RIGHT]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Right arrow")},[b.DOWN]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Down arrow")},[b.LEFT]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Left arrow")},[b.JUMP_OUT_PARENTHESES]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Navigate right out of a set of parentheses")},[b.JUMP_OUT_EXPONENT]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Navigate right out of an exponent")},[b.JUMP_OUT_BASE]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Navigate right out of a base")},[b.JUMP_INTO_NUMERATOR]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Navigate right into the numerator of a fraction")},[b.JUMP_OUT_NUMERATOR]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Navigate right out of the numerator and into the denominator")},[b.JUMP_OUT_DENOMINATOR]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Navigate right out of the denominator of a fraction")},[b.BACKSPACE]:{type:S.INPUT_NAVIGATION,ariaLabel:t._("Delete")},[b.DISMISS]:{type:S.KEYPAD_NAVIGATION,ariaLabel:t._("Dismiss")}};K[b.FRAC_MULTI]={childKeyIds:[b.FRAC_INCLUSIVE,b.FRAC_EXCLUSIVE]},K[b.MANY]={type:S.MANY};for(var j of[0,1,2,3,4,5,6,7,8,9]){var Q="".concat(j);K["NUM_".concat(j)]={type:S.VALUE,ariaLabel:Q,icon:{type:H.TEXT,data:Q}}}for(var G of["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"]){var X=G.toLowerCase(),J=G.toUpperCase();for(var Y of[X,J])K[Y]={type:S.VALUE,ariaLabel:Y,icon:{type:H.MATH,data:Y}}}for(var Z of Object.keys(K))K[Z]=y({id:Z,icon:{type:H.SVG,data:Z}},K[Z]);var $=Object.freeze({__proto__:null,NONE:"NONE",IN_PARENS:"IN_PARENS",IN_SUPER_SCRIPT:"IN_SUPER_SCRIPT",IN_SUB_SCRIPT:"IN_SUB_SCRIPT",IN_NUMERATOR:"IN_NUMERATOR",IN_DENOMINATOR:"IN_DENOMINATOR",BEFORE_FRACTION:"BEFORE_FRACTION"}),ee=o.shape({type:o.oneOf(Object.keys(H)).isRequired,data:o.string.isRequired}),te=o.oneOf(Object.keys(K)),re=o.shape({ariaLabel:o.string,id:te.isRequired,type:o.oneOf(Object.keys(S)).isRequired,childKeyIds:o.arrayOf(te),icon:ee.isRequired}),ne=o.shape({keypadType:o.oneOf(Object.keys(I)).isRequired,extraKeys:o.arrayOf(te)}),oe=o.shape({activate:o.func.isRequired,dismiss:o.func.isRequired,configure:o.func.isRequired,setCursor:o.func.isRequired,setKeyHandler:o.func.isRequired,getDOMNode:o.func.isRequired}),ie=o.arrayOf(o.oneOf(Object.keys(z))),se=o.shape({height:o.number,width:o.number,top:o.number,right:o.number,bottom:o.number,left:o.number}),ae=o.shape({animationId:o.string.isRequired,animationType:o.oneOf(Object.keys(W)).isRequired,borders:ie,id:te.isRequired,initialBounds:se.isRequired}),le=o.oneOf(Object.keys($)),de=o.shape({parentId:te.isRequired,bounds:se.isRequired,childKeyIds:o.arrayOf(te).isRequired});o.oneOfType([o.arrayOf(o.node),o.node]);class ce extends i.Component{render(){var{x:e,y:t,animateIntoPosition:r}=this.props,n=r?{msTransitionDuration:"100ms",WebkitTransitionDuration:"100ms",transitionDuration:"100ms",msTransitionProperty:"transform",WebkitTransitionProperty:"transform",transitionProperty:"transform"}:{},o="translate(".concat(e,"px, ").concat(t,"px)"),s=y({position:"absolute",zIndex:4,left:-22,top:0,msTransform:o,WebkitTransform:o,transform:o,width:44,height:44,touchAction:"none"},n);return i.createElement("span",{style:s,onTouchStart:this.props.onTouchStart,onTouchMove:this.props.onTouchMove,onTouchEnd:this.props.onTouchEnd,onTouchCancel:this.props.onTouchCancel},i.createElement("svg",{fill:"none",width:44,height:45.98,viewBox:"0 0 ".concat(44," ").concat(45.98)},i.createElement("filter",{id:"math-input_cursor",colorInterpolationFilters:"sRGB",filterUnits:"userSpaceOnUse",height:45.98*.87,width:36.08,x:"4",y:"0"},i.createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),i.createElement("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"}),i.createElement("feOffset",{dy:"4"}),i.createElement("feGaussianBlur",{stdDeviation:"4"}),i.createElement("feColorMatrix",{type:"matrix",values:"0 0 0 0 0.129412 0 0 0 0 0.141176 0 0 0 0 0.172549 0 0 0 0.08 0"}),i.createElement("feBlend",{in2:"BackgroundImageFix",mode:"normal",result:"effect1_dropShadow"}),i.createElement("feBlend",{in:"SourceGraphic",in2:"effect1_dropShadow",mode:"normal",result:"shape"})),i.createElement("g",{filter:"url(#math-input_cursor)"},i.createElement("path",{d:"m22 4-7.07 7.0284c-1.3988 1.3901-2.3515 3.1615-2.7376 5.09-.3861 1.9284-.1883 3.9274.5685 5.7441s2.0385 3.3694 3.6831 4.4619c1.6445 1.0925 3.5781 1.6756 5.556 1.6756s3.9115-.5831 5.556-1.6756c1.6446-1.0925 2.9263-2.6452 3.6831-4.4619s.9546-3.8157.5685-5.7441c-.3861-1.9285-1.3388-3.6999-2.7376-5.09z",fill:"#1865f2"})),i.createElement("path",{d:"m14.9301 10.4841 7.0699-7.06989 7.0699 7.06989.0001.0001c1.3988 1.3984 2.3515 3.1802 2.7376 5.1201s.1883 3.9507-.5685 5.7782c-.7568 1.8274-2.0385 3.3894-3.6831 4.4883-1.6445 1.099-3.5781 1.6855-5.556 1.6855s-3.9115-.5865-5.556-1.6855c-1.6446-1.0989-2.9263-2.6609-3.6831-4.4883-.7568-1.8275-.9546-3.8383-.5685-5.7782s1.3388-3.7217 2.7376-5.1201z",stroke:"#fff",strokeWidth:"2"})))}}T(ce,"propTypes",{animateIntoPosition:o.bool,onTouchCancel:o.func.isRequired,onTouchEnd:o.func.isRequired,onTouchMove:o.func.isRequired,onTouchStart:o.func.isRequired,visible:o.bool.isRequired,x:o.number.isRequired,y:o.number.isRequired}),T(ce,"defaultProps",{animateIntoPosition:!1,visible:!1,x:0,y:0});class he{constructor(e,t){this._scrollListener=()=>{e()};for(var r={},n=0;n<t.changedTouches.length;n++){var o=t.changedTouches[n];r[o.identifier]=[o.clientX,o.clientY]}this._moveListener=t=>{for(var n=0;n<t.changedTouches.length;n++){var o=t.changedTouches[n],i=r[o.identifier];if(i){var s=[o.clientX,o.clientY],a=s[0]-i[0],l=s[1]-i[1];a*a+l*l>64&&e()}}},this._endAndCancelListener=e=>{for(var t=0;t<e.changedTouches.length;t++)delete r[e.changedTouches[t].identifier]}}attach(){window.addEventListener("scroll",this._scrollListener),window.addEventListener("touchmove",this._moveListener),window.addEventListener("touchend",this._endAndCancelListener),window.addEventListener("touchcancel",this._endAndCancelListener)}detach(){window.removeEventListener("scroll",this._scrollListener),window.removeEventListener("touchmove",this._moveListener),window.removeEventListener("touchend",this._endAndCancelListener),window.removeEventListener("touchcancel",this._endAndCancelListener)}}var pe="write",ue="cmd",me={[b.PLUS]:{str:"+",fn:pe},[b.MINUS]:{str:"-",fn:pe},[b.NEGATIVE]:{str:"-",fn:pe},[b.TIMES]:{str:"\\times",fn:pe},[b.DIVIDE]:{str:"\\div",fn:pe},[b.DECIMAL]:{str:L===q?",":".",fn:pe},[b.EQUAL]:{str:"=",fn:pe},[b.NEQ]:{str:"\\neq",fn:pe},[b.CDOT]:{str:"\\cdot",fn:pe},[b.PERCENT]:{str:"%",fn:pe},[b.LEFT_PAREN]:{str:"(",fn:ue},[b.RIGHT_PAREN]:{str:")",fn:ue},[b.SQRT]:{str:"sqrt",fn:ue},[b.PI]:{str:"pi",fn:ue},[b.THETA]:{str:"theta",fn:ue},[b.RADICAL]:{str:"nthroot",fn:ue},[b.LT]:{str:"<",fn:pe},[b.LEQ]:{str:"\\leq",fn:pe},[b.GT]:{str:">",fn:pe},[b.GEQ]:{str:"\\geq",fn:pe},[b.UP]:{str:"Up",fn:"keystroke"},[b.DOWN]:{str:"Down",fn:"keystroke"},[b.FRAC_INCLUSIVE]:{str:"/",fn:ue}},Ee={[b.LOG]:"log",[b.LN]:"ln",[b.SIN]:"sin",[b.COS]:"cos",[b.TAN]:"tan"},ge=["+","-","\\cdot","\\times","\\div"],ve=["=","\\neq","<","\\leq",">","\\geq"],fe=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],ye=["0","1","2","3","4","5","6","7","8","9","\\theta","\\pi",...fe.map((e=>e.toLowerCase())),...fe.map((e=>e.toUpperCase()))],Te={IN_PARENS:b.JUMP_OUT_PARENTHESES,IN_SUPER_SCRIPT:b.JUMP_OUT_EXPONENT,IN_SUB_SCRIPT:b.JUMP_OUT_BASE,BEFORE_FRACTION:b.JUMP_INTO_NUMERATOR,IN_NUMERATOR:b.JUMP_OUT_NUMERATOR,IN_DENOMINATOR:b.JUMP_OUT_DENOMINATOR};class Ce{constructor(e){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.MQ=l.getInterface(2),this.mathField=this.MQ.MathField(e,{substituteTextarea:function(){return document.createElement("span")}}),this.callbacks=t}focus(){var e=this.mathField.__controller;e.cursor.show(),e.blurred=!1}blur(){var e=this.mathField.__controller;e.cursor.hide(),e.blurred=!0}_writeNormalFunction(e){this.mathField.write("\\".concat(e,"\\left(\\right)")),this.mathField.keystroke("Left")}pressKey(e){var t=this.mathField.__controller.cursor;if(e in me){var{str:r,fn:n}=me[e];r&&n&&this.mathField[n](r)}else if(Object.keys(Ee).includes(e))this._writeNormalFunction(Ee[e]);else if(e===b.FRAC_EXCLUSIVE){var o=0===t[this.MQ.L];this.mathField.cmd("\\frac"),o&&this.mathField.keystroke("Left")}else e===b.FRAC?(t[this.MQ.L],this.mathField.cmd("\\frac")):e===b.LOG_N?(this.mathField.write("log_{ }\\left(\\right)"),this.mathField.keystroke("Left"),this.mathField.keystroke("Left"),this.mathField.keystroke("Left")):e===b.CUBE_ROOT?(this.mathField.write("\\sqrt[3]{}"),this.mathField.keystroke("Left")):e===b.EXP||e===b.EXP_2||e===b.EXP_3?this._handleExponent(t,e):e===b.JUMP_OUT_PARENTHESES||e===b.JUMP_OUT_EXPONENT||e===b.JUMP_OUT_BASE||e===b.JUMP_INTO_NUMERATOR||e===b.JUMP_OUT_NUMERATOR||e===b.JUMP_OUT_DENOMINATOR?this._handleJumpOut(t,e):e===b.BACKSPACE?this._handleBackspace(t):e===b.LEFT?this._handleLeftArrow(t):e===b.RIGHT||e===b.JUMP_OUT?this._handleRightArrow(t):/^[a-zA-Z]$/.test(e)?this.mathField.write(e):/^NUM_\d/.test(e)&&this.mathField.write(e[4]);return t.selection||t.show(),this.callbacks.onSelectionChanged&&this.callbacks.onSelectionChanged(t.selection),{context:this.contextForCursor(t)}}setCursorPosition(e,t,r){var n=r||document.elementFromPoint(e,t);if(n){var o=this.getCursor();if(n.hasAttribute("mq-root-block"))o.insAtRightEnd(this.mathField.__controller.root);else{var i=this.mathField.__controller,s=e-document.body.scrollLeft,l=t-document.body.scrollTop;i.seek(a(n),s,l).cursor.startSelection();var d=this._maybeFindCommand(o[this.MQ.L]);d&&d.endNode&&(o.insLeftOf(d.endNode),this.mathField.keystroke("Right"))}this.callbacks.onCursorMove&&this.callbacks.onCursorMove({context:this.contextForCursor(o)})}}getCursor(){return this.mathField.__controller.cursor}getSelection(){return this.getCursor().selection}getContent(){return this.mathField.latex()}setContent(e){this.mathField.latex(e)}isEmpty(){var e=this.getCursor();return 1===e.parent.id&&0===e[1]&&0===e[-1]}_handleBackspaceInNthRoot(e){var t=0===e[this.MQ.L],r=this._isInsideEmptyNode(e.parent.parent.blocks[0].ends);t?(this._selectNode(e.parent.parent,e),r&&this.mathField.keystroke("Backspace")):this.mathField.keystroke("Backspace")}_handleJumpOut(e,t){var r=this.contextForCursor(e);if(Te[r]===t)switch(r){case"IN_PARENS":case"IN_DENOMINATOR":case"IN_SUPER_SCRIPT":e.insRightOf(e.parent.parent);break;case"BEFORE_FRACTION":for(var n,o=e;0!==o[this.MQ.R];)this._isFraction(o[this.MQ.R])&&(n=o[this.MQ.R]),o=o[this.MQ.R];e.insLeftOf(n),this.mathField.keystroke("Right");break;case"IN_NUMERATOR":for(var i=e.parent.parent.blocks[1];e.parent!==i;)this.mathField.keystroke("Right");break;case"IN_SUB_SCRIPT":e.insRightOf(e.parent.parent),this._isParens(e[this.MQ.R])&&this.mathField.keystroke("Right");break;default:throw new Error("Attempted to 'Jump Out' from node, but found no "+"appropriate cursor context: ".concat(r))}}_handleBackspace(e){if(e.selection)this.mathField.keystroke("Backspace");else{var t=e.parent,r=t.parent,n=e[this.MQ.L];this._isFraction(n)||this._isSquareRoot(n)||this._isNthRoot(n)?this._selectNode(n,e):this._isNthRootIndex(t)?this._handleBackspaceInRootIndex(e):"\\left("===n.ctrlSeq?this._handleBackspaceOutsideParens(e):"\\left("===r.ctrlSeq?this._handleBackspaceInsideParens(e):this._isInsideLogIndex(e)?this._handleBackspaceInLogIndex(e):"\\ge "===n.ctrlSeq||"\\le "===n.ctrlSeq?this._handleBackspaceAfterLigaturedSymbol(e):this._isNthRoot(r)&&0===n?this._handleBackspaceInNthRoot(e):this.mathField.keystroke("Backspace")}}_handleLeftArrow(e){if(0===e[this.MQ.L]){var t=e.parent.parent;if("\\left("===t.ctrlSeq){var r=this._maybeFindCommandBeforeParens(t);if(r)return void e.insLeftOf(r.startNode)}}this.mathField.keystroke("Left")}_handleRightArrow(e){var t=this._maybeFindCommand(e[this.MQ.R]);t?(e.insLeftOf(t.endNode),this.mathField.keystroke("Right")):this.mathField.keystroke("Right")}_handleExponent(e,t){var r=[...ge,...ve],n=e[this.MQ.L],o=0===n||r.includes(n.ctrlSeq.trim());switch(o&&this.mathField.write("\\left(\\right)"),t){case b.EXP:this.mathField.cmd("^");break;case b.EXP_2:case b.EXP_3:this.mathField.write("^".concat(t===b.EXP_2?2:3)),o&&(this.mathField.keystroke("Left"),this.mathField.keystroke("Left"),this.mathField.keystroke("Left"),this.mathField.keystroke("Left"));break;default:throw new Error("Invalid exponent key: ".concat(t))}}_maybeFindCommand(e){if(!e)return null;for(var t,r,n=/^[a-z]$/,o=/^\\[a-z]$/,i="",s=e;0!==s;){var a=s.ctrlSeq.trim();if(!n.test(a)){if(o.test(a)){i=a+i,t=s;break}break}i=a+i,s=s[this.MQ.L]}if(t){for(s=e[this.MQ.R];0!==s;){var l=s.ctrlSeq.trim();if(n.test(l))i+=l;else if("\\left("===l){r=s;break}s=s[this.MQ.R]}return["\\log","\\ln","\\cos","\\sin","\\tan"].includes(i)?{name:i,startNode:t,endNode:r}:null}return null}_maybeFindCommandBeforeParens(e){return this._maybeFindCommand(e[this.MQ.L])}_selectNode(e,t){t.insLeftOf(e),t.startSelection(),t.insRightOf(e),t.select(),t.endSelection()}_isFraction(e){return e.jQ&&e.jQ.hasClass("mq-fraction")}_isNumerator(e){return e.jQ&&e.jQ.hasClass("mq-numerator")}_isDenominator(e){return e.jQ&&e.jQ.hasClass("mq-denominator")}_isSubScript(e){return e.jQ&&(e.jQ.hasClass("mq-sub-only")||e.jQ.hasClass("mq-sub"))}_isSuperScript(e){return e.jQ&&(e.jQ.hasClass("mq-sup-only")||e.jQ.hasClass("mq-sup"))}_isParens(e){return e&&"\\left("===e.ctrlSeq}_isLeaf(e){return e&&e.ctrlSeq&&ye.includes(e.ctrlSeq.trim())}_isSquareRoot(e){return e.blocks&&e.blocks[0].jQ&&e.blocks[0].jQ.hasClass("mq-sqrt-stem")}_isNthRoot(e){return e.blocks&&e.blocks[0].jQ&&e.blocks[0].jQ.hasClass("mq-nthroot")}_isNthRootIndex(e){return e.jQ&&e.jQ.hasClass("mq-nthroot")}_isInsideLogIndex(e){var t=e.parent.parent;if(t&&t.jQ.hasClass("mq-supsub")){var r=this._maybeFindCommandBeforeParens(t);if(r&&"\\log"===r.name)return!0}return!1}_isInsideEmptyNode(e){return 0===e[this.MQ.L]&&0===e[this.MQ.R]}_handleBackspaceInRootIndex(e){if(this._isInsideEmptyNode(e)){var t=e.parent.parent,r=t.latex(),n=t[this.MQ.L];this._selectNode(t,e),""===t.blocks[1].jQ.text()?this.mathField.keystroke("Backspace"):(this.mathField.keystroke("Backspace"),this.mathField.write(r.replace(/^\\sqrt\[\]/,"\\sqrt")),0===n?this.mathField.moveToDirEnd(this.MQ.L):e.insRightOf(n))}else 0!==e[this.MQ.L]&&this.mathField.keystroke("Backspace")}_handleBackspaceInLogIndex(e){if(this._isInsideEmptyNode(e)){var t=e.parent.parent,r=this._maybeFindCommandBeforeParens(t);e.insLeftOf(r.startNode),e.startSelection(),0!==t[this.MQ.R]?e.insRightOf(t[this.MQ.R]):e.insRightOf(t),e.select(),e.endSelection(),""===t[this.MQ.R].contentjQ.text()&&this.mathField.keystroke("Backspace")}else this.mathField.keystroke("Backspace")}_handleBackspaceOutsideParens(e){var t=e[this.MQ.L],r=e[this.MQ.R],n=this._maybeFindCommandBeforeParens(t);n&&n.startNode?(e.insLeftOf(n.startNode),e.startSelection(),0===r?e.insAtRightEnd(e.parent):e.insLeftOf(r),e.select(),e.endSelection()):(e.startSelection(),e.insLeftOf(t),e.select(),e.endSelection())}_handleBackspaceInsideParens(e){if(0===e[this.MQ.L]){var t=e.parent.parent;if(t[this.MQ.L].sub&&t[this.MQ.L].sub.jQ.text())e.insAtRightEnd(t[this.MQ.L].sub);else{var r=this._isInsideEmptyNode(e),n=this._maybeFindCommandBeforeParens(t);e.insLeftOf(n&&n.startNode||t),e.startSelection(),e.insRightOf(t),e.select(),e.endSelection(),r&&this.mathField.keystroke("Backspace")}}else this.mathField.keystroke("Backspace")}_handleBackspaceAfterLigaturedSymbol(e){this.mathField.keystroke("Backspace"),this.mathField.keystroke("Backspace")}contextForCursor(e){for(var t=e;0!==t[this.MQ.R];){if(this._isFraction(t[this.MQ.R]))return"BEFORE_FRACTION";if(!this._isLeaf(t[this.MQ.R]))break;t=t[this.MQ.R]}return this._isParens(e.parent&&e.parent.parent)?"IN_PARENS":this._isNumerator(e.parent)?"IN_NUMERATOR":this._isDenominator(e.parent)?"IN_DENOMINATOR":this._isSubScript(e.parent)?"IN_SUB_SCRIPT":this._isSuperScript(e.parent)?"IN_SUPER_SCRIPT":"NONE"}_isAtTopLevel(e){return!e.parent.parent}}var _e=(e,t)=>{var r=e.getBoundingClientRect(),n=r.bottom,o=r.top,i="scrollingElement"in document?document.scrollingElement:-1!==navigator.userAgent.indexOf("WebKit")?document.body:document.documentElement;if(t){var s=window.innerHeight-(t.clientHeight+60);if(n>s){var a=Math.min(n-s+16,o);return void(i.scrollTop+=a)}}o<16&&(i.scrollTop-=r.height+16)};class be extends i.Component{constructor(){super(...arguments),T(this,"state",{focused:!1,handle:{animateIntoPosition:!1,visible:!1,x:0,y:0}}),T(this,"_clearKeypadBoundsCache",(e=>{this._keypadBounds=null})),T(this,"_cacheKeypadBounds",(e=>{this._keypadBounds=e.getBoundingClientRect()})),T(this,"_updateInputPadding",(()=>{this._container=s.findDOMNode(this),this._root=this._container.querySelector(".mq-root-block");var e=this.getInputInnerPadding();this._root.style.padding="".concat(e.paddingTop,"px ").concat(e.paddingRight,"px")+" ".concat(e.paddingBottom,"px ").concat(e.paddingLeft,"px"),this._root.style.fontSize="".concat(Re,"pt")})),T(this,"_getKeypadBounds",(()=>{if(!this._keypadBounds){var e=this.props.keypadElement.getDOMNode();this._cacheKeypadBounds(e)}return this._keypadBounds})),T(this,"_updateCursorHandle",(e=>{var t=this._container.getBoundingClientRect(),r=this._container.querySelector(".mq-cursor").getBoundingClientRect(),n=r.width,o=this.getInputInnerPadding(),i=t.right-n-o.paddingRight,s=t.left+n+o.paddingLeft,a=r.left;r.left>i?a=i:r.left<s&&(a=s),this.setState({handle:{visible:!0,animateIntoPosition:e,x:a+n/2-t.left,y:r.bottom+2-t.top}})})),T(this,"_hideCursorHandle",(()=>{this.setState({handle:{visible:!1,x:0,y:0}})})),T(this,"_handleScroll",(()=>{!1!==this.state.handle.animateIntoPosition&&this._hideCursorHandle()})),T(this,"blur",(()=>{this.mathField.blur(),this.props.onBlur&&this.props.onBlur(),this.setState({focused:!1,handle:{visible:!1}})})),T(this,"focus",(()=>{this.props.keypadElement.setKeyHandler((e=>{var t=this.mathField.pressKey(e),r=()=>{this.setState({handle:{visible:!1}})},n=this.mathField.getContent();return this.props.value!==n?this.props.onChange(n,r):r(),t})),this.mathField.focus(),this.props.onFocus&&this.props.onFocus(),this.setState({focused:!0},(()=>{setTimeout((()=>{if(this._isMounted){var e=this.props.keypadElement&&this.props.keypadElement.getDOMNode();_e(this._container,e)}}))}))})),T(this,"_findHitNode",((e,t,r,n,o)=>{for(;r>=e.top&&r<=e.bottom;){var i=[[t-n,r+=o],[t,r],[t+n,r]].map((e=>document.elementFromPoint(...e))).filter((e=>e&&this._root.contains(e)&&(!e.classList.contains("mq-root-block")&&!e.classList.contains("mq-non-leaf")||e.classList.contains("mq-empty")||e.classList.contains("mq-hasCursor")))),s=null,a=[],l=[],d=0,c={},h={};for(var p of i){var u=p.getAttribute("mathquill-command-id");null!=u?(a.push(p),c[u]=(c[u]||0)+1,h[u]=p):l.push(p)}for(var[m,E]of Object.entries(c))E>d&&(d=E,s=h[m]);if(null==s&&l.length>0&&(s=l[0]),null!==s)return this.mathField.setCursorPosition(t,r,s),!0}return!1})),T(this,"_insertCursorAtClosestNode",((e,t)=>{var r=this.mathField.getCursor();if(this._root.hasChildNodes()){var n;t>this._containerBounds.bottom?t=this._containerBounds.bottom-10:t<this._containerBounds.top&&(t=this._containerBounds.top+10),e>this._containerBounds.right?e=this._containerBounds.right-15:e<this._containerBounds.left&&(e=this._containerBounds.left+15),n=-8;if(!this._findHitNode(this._containerBounds,e,t,5,n)&&(t=this._containerBounds.top,n=8,!this._findHitNode(this._containerBounds,e,t,5,n))){var o=this._root.firstChild.getBoundingClientRect(),i=this._root.lastChild.getBoundingClientRect(),s=o.left,a=i.right;Math.abs(e-a)<Math.abs(e-s)?r.insAtRightEnd(this.mathField.mathField.__controller.root):r.insAtLeftEnd(this.mathField.mathField.__controller.root),this.props.keypadElement&&this.props.keypadElement.setCursor({context:this.mathField.contextForCursor(r)})}}else r.insAtLeftEnd(this.mathField.mathField.__controller.root)})),T(this,"handleTouchStart",(e=>{if(e.stopPropagation(),this._hideCursorHandle(),""!==this.mathField.getContent()){this._containerBounds=this._container.getBoundingClientRect();var t=e.changedTouches[0];this._insertCursorAtClosestNode(t.clientX,t.clientY)}this.state.focused||this.focus()})),T(this,"handleTouchMove",(e=>{if(e.stopPropagation(),""!==this.mathField.getContent()&&this.state.focused){var t=e.changedTouches[0];this._insertCursorAtClosestNode(t.clientX,t.clientY)}})),T(this,"handleTouchEnd",(e=>{e.stopPropagation(),""!==this.mathField.getContent()&&this.state.focused&&this._updateCursorHandle()})),T(this,"onCursorHandleTouchStart",(e=>{e.stopPropagation(),e.preventDefault(),this._containerBounds=this._container.getBoundingClientRect()})),T(this,"_constrainToBound",((e,t,r,n)=>e<t?t+(e-t)*n:e>r?r+(e-r)*n:e)),T(this,"onCursorHandleTouchMove",(e=>{e.stopPropagation();var t=e.changedTouches[0].clientX,r=e.changedTouches[0].clientY,n=t-this._containerBounds.left,o=r-22.99-this._containerBounds.top;this.setState({handle:{animateIntoPosition:!1,visible:!0,x:this._constrainToBound(n,0,this._containerBounds.width,.8),y:this._constrainToBound(o,0,this._containerBounds.height,.8)}});var i=r-22;this._insertCursorAtClosestNode(t,i)})),T(this,"onCursorHandleTouchEnd",(e=>{e.stopPropagation(),this._updateCursorHandle(!0)})),T(this,"onCursorHandleTouchCancel",(e=>{e.stopPropagation(),this._updateCursorHandle(!0)})),T(this,"domKeyToMathQuillKey",(e=>{var t={"+":b.PLUS,"-":b.MINUS,"*":b.TIMES,"/":b.DIVIDE,".":b.DECIMAL,"%":b.PERCENT,"=":b.EQUAL,">":b.GT,"<":b.LT,"^":b.EXP};return["0","1","2","3","4","5","6","7","8","9"].includes(e)?"NUM_".concat(e):"Backspace"===e?b.BACKSPACE:e in t?t[e]:null})),T(this,"handleKeyUp",(e=>{var t=this.domKeyToMathQuillKey(e.key);if(t){this.mathField.pressKey(t);var r=this.mathField.getContent();this.props.value!==r&&(this.mathField.setContent(this.props.value),this.props.onChange(r,!1),this._hideCursorHandle())}})),T(this,"getBorderWidthPx",(()=>this.state.focused?2:1)),T(this,"getInputInnerPadding",(()=>{var e=Oe-this.getBorderWidthPx();return{paddingTop:e-1,paddingRight:e,paddingBottom:e-3,paddingLeft:e}}))}componentDidMount(){this._isMounted=!0,this.mathField=new Ce(this._mathContainer,{},{onCursorMove:e=>{this.props.keypadElement&&this.props.keypadElement.setCursor(e)}}),this.mathField.mathField.__controller.container.unbind("mousedown.mathquill"),this.mathField.setContent(this.props.value),this._updateInputPadding(),this._container=s.findDOMNode(this),this._root=this._container.querySelector(".mq-root-block"),this._root.addEventListener("scroll",this._handleScroll),this.touchStartInitialScroll=null,this.recordTouchStartOutside=e=>{if(this.state.focused&&!this._container.contains(e.target)){var t=!1;if(this.props.keypadElement&&this.props.keypadElement.getDOMNode())for(var r=this._getKeypadBounds(),n=0;n<e.changedTouches.length;n++){var[o,i]=[e.changedTouches[n].clientX,e.changedTouches[n].clientY];if(r.left<=o&&r.right>=o&&r.top<=i&&r.bottom>=i||r.bottom<i){t=!0;break}}t||(this.didTouchOutside=!0,this.dragListener&&this.dragListener.detach(),this.dragListener=new he((()=>{this.didScroll=!0,this.dragListener.detach()}),e),this.dragListener.attach())}},this.blurOnTouchEndOutside=e=>{this.state.focused&&this.didTouchOutside&&!this.didScroll&&this.blur(),this.didTouchOutside=!1,this.didScroll=!1,this.dragListener&&(this.dragListener.detach(),this.removeListeners=null)},window.addEventListener("touchstart",this.recordTouchStartOutside),window.addEventListener("touchend",this.blurOnTouchEndOutside),window.addEventListener("touchcancel",this.blurOnTouchEndOutside),window.addEventListener("resize",this._clearKeypadBoundsCache),window.addEventListener("orientationchange",this._clearKeypadBoundsCache)}UNSAFE_componentWillReceiveProps(e){this.props.keypadElement!==e.keypadElement&&this._clearKeypadBoundsCache()}componentDidUpdate(e,t){this.mathField.getContent()!==this.props.value&&this.mathField.setContent(this.props.value),t.focused!==this.state.focused&&this._updateInputPadding()}componentWillUnmount(){this._isMounted=!1,window.removeEventListener("touchstart",this.recordTouchStartOutside),window.removeEventListener("touchend",this.blurOnTouchEndOutside),window.removeEventListener("touchcancel",this.blurOnTouchEndOutside),window.removeEventListener("resize",this._clearKeypadBoundsCache()),window.removeEventListener("orientationchange",this._clearKeypadBoundsCache())}render(){var{focused:e,handle:r}=this.state,{style:n}=this.props,o=y(y(y({},Pe.innerContainer),{},{borderWidth:this.getBorderWidthPx()},e?{borderColor:N}:{}),n),a=t._("Math input box")+" "+t._("Tap with one or two fingers to open keyboard");return i.createElement(M,{style:Ne.input,onTouchStart:this.handleTouchStart,onTouchMove:this.handleTouchMove,onTouchEnd:this.handleTouchEnd,onClick:e=>e.stopPropagation(),role:"textbox",ariaLabel:a},i.createElement("div",{className:"keypad-input",tabIndex:"0",ref:e=>{this.inputRef=e},onKeyUp:this.handleKeyUp},i.createElement("div",{ref:e=>{this._mathContainer=s.findDOMNode(e)},style:o})),e&&r.visible&&i.createElement(ce,C({},r,{onTouchStart:this.onCursorHandleTouchStart,onTouchMove:this.onCursorHandleTouchMove,onTouchEnd:this.onCursorHandleTouchEnd,onTouchCancel:this.onCursorHandleTouchCancel})))}}T(be,"propTypes",{keypadElement:oe,onBlur:o.func,onChange:o.func.isRequired,onFocus:o.func,style:o.any,value:o.string}),T(be,"defaultProps",{style:{},value:""});var Re=18,Oe=12,Me=20+2*Oe,Ne=r.create({input:{position:"relative",display:"inline-block",verticalAlign:"middle",maxWidth:128}}),Pe={innerContainer:{backgroundColor:"white",minHeight:Me,minWidth:64,maxWidth:128,boxSizing:"border-box",position:"relative",borderStyle:"solid",borderColor:e.offBlack50,borderRadius:4,color:P}},ke={longPressWaitTimeMs:50,swipeThresholdPx:20,holdIntervalMs:250};class Le{constructor(e,t,r,n){this.handlers=e,this.options=y(y({},ke),t),this.swipeDisabledNodeIds=r||[],this.multiPressableKeys=n||[],this.touchState={},this.swipeState=null}_maybeCancelLongPressForTouch(e){var{longPressTimeoutId:t}=this.touchState[e];t&&(clearTimeout(t),this.touchState[e]=y(y({},this.touchState[e]),{},{longPressTimeoutId:null}))}_maybeCancelPressAndHoldForTouch(e){var{pressAndHoldIntervalId:t}=this.touchState[e];t&&(clearInterval(t),this.touchState[e]=y(y({},this.touchState[e]),{},{pressAndHoldIntervalId:null}))}_cleanupTouchEvent(e){this._maybeCancelLongPressForTouch(e),this._maybeCancelPressAndHoldForTouch(e),delete this.touchState[e]}_onFocus(e,t){this._maybeCancelLongPressForTouch(t),this._maybeCancelPressAndHoldForTouch(t),this.touchState[t]=y(y({},this.touchState[t]),{},{activeNodeId:e}),this.handlers.onFocus(e),e&&(this.multiPressableKeys.includes(e)?(this.handlers.onTrigger(e),this.touchState[t]=y(y({},this.touchState[t]),{},{pressAndHoldIntervalId:setInterval((()=>{this.handlers.onTrigger(e)}),this.options.holdIntervalMs)})):this.touchState[t]=y(y({},this.touchState[t]),{},{longPressTimeoutId:setTimeout((()=>{this.handlers.onLongPress(e),this.touchState[t]=y(y({},this.touchState[t]),{},{longPressTimeoutId:null})}),this.options.longPressWaitTimeMs)}))}_onSwipeStart(){for(var e of Object.keys(this.touchState))this._maybeCancelLongPressForTouch(e),this._maybeCancelPressAndHoldForTouch(e);this.touchState={},this.handlers.onBlur()}onTouchStart(e,t,r){if(!this.swipeState&&!this.touchState[t]){var n=e();this.touchState[t]={swipeLocked:this.swipeDisabledNodeIds.includes(n),startX:r},this._onFocus(n,t)}}onTouchMove(e,t,r,n){if(this.swipeState)this.swipeState.touchId===t&&this.handlers.onSwipeChange(r-this.swipeState.startX);else if(this.touchState[t]){var{activeNodeId:o,startX:i,swipeLocked:s}=this.touchState[t],a=r-i;if(n&&!s&&Math.abs(a)>this.options.swipeThresholdPx)this._onSwipeStart(),this.swipeState={touchId:t,startX:i},this.handlers.onSwipeChange(r-this.swipeState.startX);else{var l=e();l!==o&&this._onFocus(l,t)}}}onTouchEnd(e,t,r){if(this.swipeState)this.swipeState.touchId===t&&(this.handlers.onSwipeEnd(r-this.swipeState.startX),this.swipeState=null);else if(this.touchState[t]){var{activeNodeId:n,pressAndHoldIntervalId:o}=this.touchState[t];this._cleanupTouchEvent(t),!!o?this.handlers.onBlur():this.handlers.onTouchEnd(n)}}onTouchCancel(e){this.swipeState?this.swipeState.touchId===e&&(this.handlers.onSwipeEnd(0),this.swipeState=null):this.touchState[e]&&(this._cleanupTouchEvent(e),this.handlers.onBlur())}}class Ae{constructor(){this._nodesById={},this._bordersById={},this._orderedIds=[],this._cachedBoundingBoxesById={},window.addEventListener("resize",(()=>{this._cachedBoundingBoxesById={}}))}registerDOMNode(e,t,r,n){this._nodesById[e]=t,this._bordersById[e]=n;var o=[...r||[],e,...this._orderedIds],i=[],s={};for(var a of o)s[a]||(i.push(a),s[a]=!0);this._orderedIds=i}unregisterDOMNode(e){delete this._nodesById[e]}idForCoords(e,t){for(var r of this._orderedIds){var n=this._nodesById[r];if(n){var o=n.getBoundingClientRect();if(o.left<=e&&o.right>e&&o.top<=t&&o.bottom>t)return this._cachedBoundingBoxesById[r]=o,r}}}layoutPropsForId(e){if(!this._cachedBoundingBoxesById[e]){var t=this._nodesById[e];this._cachedBoundingBoxesById[e]=t?t.getBoundingClientRect():new DOMRect}return{initialBounds:this._cachedBoundingBoxesById[e],borders:this._bordersById[e]}}}class Ie{constructor(e){this.handlers=e,this.activePopover=null,this.popovers={}}registerPopover(e,t){this.popovers[e]=t}unregisterPopover(e){delete this.popovers[e]}isPopoverVisible(){return null!=this.activePopover}onBlur(){this.activePopover=null,this.handlers.onActiveNodesChanged({popover:null,focus:null})}onFocus(e){this.activePopover?this._isNodeInsidePopover(this.activePopover,e)?this.handlers.onActiveNodesChanged({popover:{parentId:this.activePopover,childIds:this.popovers[this.activePopover]},focus:e}):this.handlers.onActiveNodesChanged({popover:{parentId:this.activePopover,childIds:this.popovers[this.activePopover]},focus:null}):(this.activePopover=null,this.handlers.onActiveNodesChanged({popover:null,focus:e}))}onLongPress(e){!this.activePopover&&this.popovers[e]&&(this.activePopover=e,this.handlers.onActiveNodesChanged({popover:{parentId:this.activePopover,childIds:this.popovers[this.activePopover]},focus:this._defaultNodeForPopover(this.activePopover)}))}onTrigger(e){this.handlers.onClick(e,e,!1)}onTouchEnd(e){var t=!!this.activePopover;if(t){if(this._isNodeInsidePopover(this.activePopover,e))this.handlers.onClick(e,e,t);else if(this.activePopover===e){var r=this._defaultNodeForPopover(e);this.handlers.onClick(r,r,t)}}else if(this.popovers[e]){var n=this._defaultNodeForPopover(e),o=e;this.handlers.onClick(n,o,t)}else null!=e&&this.onTrigger(e);this.onBlur()}_isNodeInsidePopover(e,t){return this.popovers[e].includes(t)}_defaultNodeForPopover(e){return this.popovers[e][0]}}var Se=["popover"],we=e=>[e.changedTouches[0].clientX,e.changedTouches[0].clientY];class xe{constructor(e,t,r,n){var{swipeEnabled:o}=e;this.swipeEnabled=o,this.trackEvents=!1,this.nodeManager=new Ae,this.popoverStateMachine=new Ie({onActiveNodesChanged:e=>{var{popover:r}=e,n=_(e,Se);t.onActiveNodesChanged(y({popover:r&&{parentId:r.parentId,bounds:this.nodeManager.layoutPropsForId(r.parentId).initialBounds,childKeyIds:r.childIds}},n))},onClick:(e,r,n)=>{t.onClick(e,this.nodeManager.layoutPropsForId(r),n)}}),this.gestureStateMachine=new Le({onFocus:e=>{this.popoverStateMachine.onFocus(e)},onLongPress:e=>{this.popoverStateMachine.onLongPress(e)},onTouchEnd:e=>{this.popoverStateMachine.onTouchEnd(e)},onBlur:()=>{this.popoverStateMachine.onBlur()},onSwipeChange:t.onSwipeChange,onSwipeEnd:t.onSwipeEnd,onTrigger:e=>{this.popoverStateMachine.onTrigger(e)}},{},r,n)}onTouchStart(e,t){if(this.trackEvents){for(var[r]=we(e),n=0;n<e.changedTouches.length;n++)this.gestureStateMachine.onTouchStart((()=>t),e.changedTouches[n].identifier,r);e.preventDefault()}}onTouchMove(e){if(this.trackEvents)for(var t=this.popoverStateMachine.isPopoverVisible(),r=this.swipeEnabled&&!t,[n,o]=we(e),i=0;i<e.changedTouches.length;i++)this.gestureStateMachine.onTouchMove((()=>this.nodeManager.idForCoords(n,o)),e.changedTouches[i].identifier,n,r)}onTouchEnd(e){if(this.trackEvents)for(var[t,r]=we(e),n=0;n<e.changedTouches.length;n++)this.gestureStateMachine.onTouchEnd((()=>this.nodeManager.idForCoords(t,r)),e.changedTouches[n].identifier,t)}onTouchCancel(e){if(this.trackEvents)for(var t=0;t<e.changedTouches.length;t++)this.gestureStateMachine.onTouchCancel(e.changedTouches[t].identifier)}registerDOMNode(e,t,r,n){this.nodeManager.registerDOMNode(e,t,r,n),this.popoverStateMachine.registerPopover(e,r)}unregisterDOMNode(e){this.nodeManager.unregisterDOMNode(e),this.popoverStateMachine.unregisterPopover(e)}enableEventTracking(){this.trackEvents=!0}disableEventTracking(){this.trackEvents=!1}}class Be extends i.Component{render(){var{style:e}=this.props,t=[Ue.container,...Array.isArray(e)?e:[e]];return i.createElement(M,{style:t},i.createElement("svg",{width:Fe,height:Fe,viewBox:"4 4 8 8"},i.createElement("path",{fill:P,opacity:"0.3",d:"M5.29289322,5.70710678 L10.2928932,10.7071068 C10.9228581,11.3370716 12,10.8909049 12,10 L12,5 C12,4.44771525 11.5522847,4 11,4 L6,4 C5.10909515,4 4.66292836,5.07714192 5.29289322,5.70710678 Z"})))}}T(Be,"propTypes",{style:o.any});var Fe=7,Ue=r.create({container:{position:"absolute",top:0,right:0,width:Fe,height:Fe}}),ze=r.create({row:{flexDirection:"row"},column:{flexDirection:"column"},oneColumn:{flexGrow:1},fullWidth:{width:"100%"},stretch:{alignItems:"stretch"},centered:{justifyContent:"center",alignItems:"center"},centeredText:{textAlign:"center"},roundedTopLeft:{borderTopLeftRadius:4},roundedTopRight:{borderTopRightRadius:4}}),{row:De,centered:He}=ze;class qe extends i.Component{constructor(){super(...arguments),T(this,"_renderMath",(()=>{var{math:e}=this.props;p.render(e,s.findDOMNode(this))}))}componentDidMount(){this._renderMath()}componentDidUpdate(e){e.math!==this.props.math&&this._renderMath()}render(){var{style:e}=this.props,t=[De,He,Ve.size,Ve.base,...Array.isArray(e)?e:[e]];return i.createElement(M,{style:t})}}T(qe,"propTypes",{math:o.string.isRequired,style:o.any});var Ve=r.create({size:{height:48,width:48},base:{fontSize:25}});class We extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M13 12h24v24H13z"}),i.createElement("path",{d:"M18.182 29.168c1.386 0 2.226-.602 2.674-1.232l-1.162-1.078a1.707 1.707 0 0 1-1.428.728c-1.078 0-1.834-.798-1.834-1.974s.756-1.96 1.834-1.96c.616 0 1.106.252 1.428.728l1.162-1.092c-.448-.616-1.288-1.218-2.674-1.218-2.086 0-3.584 1.47-3.584 3.542 0 2.086 1.498 3.556 3.584 3.556zm6.972 0c2.24 0 3.584-1.624 3.584-3.556 0-1.918-1.344-3.542-3.584-3.542-2.226 0-3.57 1.624-3.57 3.542 0 1.932 1.344 3.556 3.57 3.556zm0-1.582c-1.106 0-1.722-.91-1.722-1.974 0-1.05.616-1.96 1.722-1.96 1.106 0 1.736.91 1.736 1.96 0 1.064-.63 1.974-1.736 1.974zm7.336 1.582c1.876 0 2.926-.938 2.926-2.17 0-2.73-4.004-1.89-4.004-2.898 0-.378.42-.672 1.064-.672.826 0 1.596.35 2.002.784l.714-1.218c-.672-.532-1.582-.924-2.73-.924-1.778 0-2.772.994-2.772 2.128 0 2.66 4.018 1.75 4.018 2.87 0 .42-.364.728-1.134.728-.84 0-1.848-.462-2.338-.924l-.77 1.246c.714.658 1.848 1.05 3.024 1.05z",fill:this.props.color})))}}T(We,"propTypes",{color:o.string.isRequired});class Ke extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M16.776 29v-9.338h-1.778V29h1.778zm4.9.168c2.24 0 3.584-1.624 3.584-3.556 0-1.918-1.344-3.542-3.584-3.542-2.226 0-3.57 1.624-3.57 3.542 0 1.932 1.344 3.556 3.57 3.556zm0-1.582c-1.106 0-1.722-.91-1.722-1.974 0-1.05.616-1.96 1.722-1.96 1.106 0 1.736.91 1.736 1.96 0 1.064-.63 1.974-1.736 1.974zm7.672 4.158c1.666 0 3.654-.63 3.654-3.206v-6.3H31.21v.868c-.546-.686-1.274-1.036-2.086-1.036-1.708 0-2.982 1.232-2.982 3.444 0 2.254 1.288 3.444 2.982 3.444.826 0 1.554-.392 2.086-1.064v.686c0 1.33-1.008 1.708-1.862 1.708-.854 0-1.568-.238-2.114-.84l-.798 1.288c.854.742 1.75 1.008 2.912 1.008zm.336-4.368c-1.008 0-1.708-.7-1.708-1.862 0-1.162.7-1.862 1.708-1.862.588 0 1.232.322 1.526.77v2.184c-.294.434-.938.77-1.526.77z",fill:this.props.color})))}}T(Ke,"propTypes",{color:o.string.isRequired});class je extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M16 21h17M16 27h17",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(je,"propTypes",{color:o.string.isRequired});class Qe extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M14 29l4 6 9-14h7"})))}}T(Qe,"propTypes",{color:o.string.isRequired});class Ge extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M28 16.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM30 18h4v4h-4v-4zM14 21c0-.552.456-1 1.002-1h9.996A1 1 0 0 1 26 21v14c0 .552-.456 1-1.002 1h-9.996A1 1 0 0 1 14 35V21zm2 1h8v12h-8V22z",fill:this.props.color})))}}T(Ge,"propTypes",{color:o.string.isRequired});class Xe extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M19 33l10-18M16 21h17M16 27h17",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(Xe,"propTypes",{color:o.string.isRequired});class Je extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M16 33h16M16 30l16-6-16-6",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(Je,"propTypes",{color:o.string.isRequired});class Ye extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M20.836 29v-9.338h-1.778V29h1.778zm8.106 0v-4.774c0-1.316-.714-2.156-2.198-2.156-1.106 0-1.932.532-2.366 1.05v-.882H22.6V29h1.778v-4.55c.294-.406.84-.798 1.54-.798.756 0 1.246.322 1.246 1.26V29h1.778z",fill:this.props.color})))}}T(Ye,"propTypes",{color:o.string.isRequired});class Ze extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M18.655 29.168c1.876 0 2.926-.938 2.926-2.17 0-2.73-4.004-1.89-4.004-2.898 0-.378.42-.672 1.064-.672.826 0 1.596.35 2.002.784l.714-1.218c-.672-.532-1.582-.924-2.73-.924-1.778 0-2.772.994-2.772 2.128 0 2.66 4.018 1.75 4.018 2.87 0 .42-.364.728-1.134.728-.84 0-1.848-.462-2.338-.924l-.77 1.246c.714.658 1.848 1.05 3.024 1.05zm5.124-7.658c.588 0 1.064-.476 1.064-1.064 0-.588-.476-1.05-1.064-1.05a1.06 1.06 0 0 0-1.064 1.05c0 .588.49 1.064 1.064 1.064zm.896 7.49v-6.762h-1.778V29h1.778zm8.106 0v-4.774c0-1.316-.714-2.156-2.198-2.156-1.106 0-1.932.532-2.366 1.05v-.882h-1.778V29h1.778v-4.55c.294-.406.84-.798 1.54-.798.756 0 1.246.322 1.246 1.26V29h1.778z",fill:this.props.color})))}}T(Ze,"propTypes",{color:o.string.isRequired});class $e extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M32 30l-16-6 16-6"})))}}T($e,"propTypes",{color:o.string.isRequired});class et extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M17.91 23.12c1.66 0 2.76-.81 2.76-1.98 0-.96-.86-1.51-1.57-1.58.79-.13 1.46-.72 1.46-1.5 0-1.1-.95-1.83-2.65-1.83-1.23 0-2.11.45-2.67 1.08l.83 1.08c.47-.42 1.05-.64 1.66-.64.64 0 1.12.19 1.12.61 0 .35-.39.52-1.08.52-.25 0-.77 0-.9-.01v1.53c.1-.01.61-.01.9-.01.91 0 1.19.18 1.19.56 0 .37-.38.65-1.12.65-.58 0-1.34-.23-1.82-.7l-.87 1.17c.52.6 1.48 1.05 2.76 1.05z",fill:this.props.color}),i.createElement("path",{stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M14 29l4 6 9-14h7"})))}}T(et,"propTypes",{color:o.string.isRequired});class tt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M19 24h10M24 29V19",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(tt,"propTypes",{color:o.string.isRequired});class rt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M16.93 29.168c.742 0 1.218-.196 1.484-.434l-.378-1.344c-.098.098-.35.196-.616.196-.392 0-.616-.322-.616-.742v-3.052h1.372v-1.554h-1.372V20.39h-1.792v1.848h-1.12v1.554h1.12v3.528c0 1.204.672 1.848 1.918 1.848zM25.232 29v-4.368c0-1.946-1.414-2.562-2.954-2.562-1.064 0-2.128.336-2.954 1.064l.672 1.19c.574-.532 1.246-.798 1.974-.798.896 0 1.484.448 1.484 1.134v.91c-.448-.532-1.246-.826-2.142-.826-1.078 0-2.352.602-2.352 2.184 0 1.512 1.274 2.24 2.352 2.24.882 0 1.68-.322 2.142-.868v.7h1.778zm-3.206-1.036c-.7 0-1.274-.364-1.274-.994 0-.658.574-1.022 1.274-1.022.574 0 1.134.196 1.428.588v.84c-.294.392-.854.588-1.428.588zM33.338 29v-4.774c0-1.316-.714-2.156-2.198-2.156-1.106 0-1.932.532-2.366 1.05v-.882h-1.778V29h1.778v-4.55c.294-.406.84-.798 1.54-.798.756 0 1.246.322 1.246 1.26V29h1.778z",fill:this.props.color})))}}T(rt,"propTypes",{color:o.string.isRequired});var nt=e=>i.createElement("g",C({fill:"none",fillRule:"evenodd"},e),i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{stroke:"#888D93",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M22 18l-6 6 6 6M16 24h16"}));class ot extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M26 14c-4 6-4 14 0 20",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(ot,"propTypes",{color:o.string.isRequired});class it extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M23 14c4 6 4 14 0 20",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(it,"propTypes",{color:o.string.isRequired});class st extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M16 30l16-6-16-6"})))}}T(st,"propTypes",{color:o.string.isRequired});class at extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M19 24h10",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("circle",{fill:this.props.color,cx:"24",cy:"19.5",r:"1.5"}),i.createElement("circle",{fill:this.props.color,cx:"24",cy:"28.5",r:"1.5"})))}}T(at,"propTypes",{color:o.string.isRequired});class lt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("circle",{fill:this.props.color,cx:"24",cy:"30",r:"2"})))}}T(lt,"propTypes",{color:o.string.isRequired});class dt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("g",{transform:"translate(12 12)"},i.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),i.createElement("path",{d:"M16 4L8 20",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("circle",{stroke:this.props.color,strokeWidth:"2",cx:"7",cy:"7",r:"3"}),i.createElement("circle",{stroke:this.props.color,strokeWidth:"2",cx:"17",cy:"17",r:"3"}))))}}T(dt,"propTypes",{color:o.string.isRequired});class ct extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M20 20l8 8M28 20l-8 8",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(ct,"propTypes",{color:o.string.isRequired});class ht extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M14 21c0-.552.456-1 1.002-1h9.996A1 1 0 0 1 26 21v14c0 .552-.456 1-1.002 1h-9.996A1 1 0 0 1 14 35V21zm2 1h8v12h-8V22zM30.92 23.12c1.66 0 2.76-.81 2.76-1.98 0-.96-.86-1.51-1.57-1.58.79-.13 1.46-.72 1.46-1.5 0-1.1-.95-1.83-2.65-1.83-1.23 0-2.11.45-2.67 1.08l.83 1.08c.47-.42 1.05-.64 1.66-.64.64 0 1.12.19 1.12.61 0 .35-.39.52-1.08.52-.25 0-.77 0-.9-.01v1.53c.1-.01.61-.01.9-.01.91 0 1.19.18 1.19.56 0 .37-.38.65-1.12.65-.58 0-1.34-.23-1.82-.7l-.87 1.17c.52.6 1.48 1.05 2.76 1.05z",fill:this.props.color})))}}T(ht,"propTypes",{color:o.string.isRequired});class pt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M14 21c0-.552.456-1 1.002-1h9.996A1 1 0 0 1 26 21v14c0 .552-.456 1-1.002 1h-9.996A1 1 0 0 1 14 35V21zm2 1h8v12h-8V22zM33.67 23v-1.5h-2.44c1.66-1.16 2.39-2.03 2.39-3.05 0-1.34-1.13-2.22-2.7-2.22-.93 0-1.99.33-2.7 1.11l.95 1.14c.48-.45 1.04-.73 1.78-.73.49 0 .92.24.92.7 0 .66-.54 1.12-3.43 3.21V23h5.23z",fill:this.props.color})))}}T(pt,"propTypes",{color:o.string.isRequired});class ut extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("g",{transform:"translate(12 12)"},i.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),i.createElement("circle",{fill:this.props.color,cx:"12",cy:"12",r:"3"}))))}}T(ut,"propTypes",{color:o.string.isRequired});class mt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M30 28.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM32 30h4v4h-4v-4zM12.776 29v-9.338h-1.778V29h1.778zm4.9.168c2.24 0 3.584-1.624 3.584-3.556 0-1.918-1.344-3.542-3.584-3.542-2.226 0-3.57 1.624-3.57 3.542 0 1.932 1.344 3.556 3.57 3.556zm0-1.582c-1.106 0-1.722-.91-1.722-1.974 0-1.05.616-1.96 1.722-1.96 1.106 0 1.736.91 1.736 1.96 0 1.064-.63 1.974-1.736 1.974zm7.672 4.158c1.666 0 3.654-.63 3.654-3.206v-6.3H27.21v.868c-.546-.686-1.274-1.036-2.086-1.036-1.708 0-2.982 1.232-2.982 3.444 0 2.254 1.288 3.444 2.982 3.444.826 0 1.554-.392 2.086-1.064v.686c0 1.33-1.008 1.708-1.862 1.708-.854 0-1.568-.238-2.114-.84l-.798 1.288c.854.742 1.75 1.008 2.912 1.008zm.336-4.368c-1.008 0-1.708-.7-1.708-1.862 0-1.162.7-1.862 1.708-1.862.588 0 1.232.322 1.526.77v2.184c-.294.434-.938.77-1.526.77z",fill:this.props.color})))}}T(mt,"propTypes",{color:o.string.isRequired});class Et extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M16 33h16M32 30l-16-6 16-6",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(Et,"propTypes",{color:o.string.isRequired});class gt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M19 24h10",stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})))}}T(gt,"propTypes",{color:o.string.isRequired});class vt extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M13 16.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM15 18h4v4h-4v-4z",fill:this.props.color}),i.createElement("path",{stroke:this.props.color,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M14 29l4 6 9-14h7"})))}}T(vt,"propTypes",{color:o.string.isRequired});class ft extends i.Component{render(){return i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("g",{transform:"translate(12 12)"},i.createElement("path",{fill:"none",d:"M0 0h24v24H0z"}),i.createElement("path",{d:"M8 16.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997H8.997c-.55 0-.997-.453-.997-.997v-6.006zM10 18h4v4h-4v-4z",fill:this.props.color}),i.createElement("rect",{fill:this.props.color,x:"2",y:"11",width:"20",height:"2",rx:"1"}),i.createElement("path",{d:"M8 .997C8 .447 8.453 0 8.997 0h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997H8.997C8.447 8 8 7.547 8 7.003V.997zM10 2h4v4h-4V2z",fill:this.props.color}))))}}T(ft,"propTypes",{color:o.string.isRequired});var yt=Object.freeze({__proto__:null,COS:We,LOG:Ke,EQUAL:je,BACKSPACE:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M13 24l6 6h14V18H19l-6 6zm-1.414-1.414l6-6A2 2 0 0 1 19 16h14a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H19a2 2 0 0 1-1.414-.586l-6-6a2 2 0 0 1 0-2.828z",fill:"#888D93"}),i.createElement("path",{d:"M23 21l6 6M29 21l-6 6",stroke:"#888D93",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}))),SQRT:Qe,EXP:Ge,NEQ:Xe,GEQ:Je,LN:Ye,DISMISS:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M18 21l6 6 6-6",strokeLinecap:"round",strokeWidth:"2",stroke:"#71B307",strokeLinejoin:"round"}))),SIN:Ze,LT:$e,CUBE_ROOT:et,PLUS:tt,TAN:rt,LEFT:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement(nt,null)),UP:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement(nt,{transform:"rotate(90 24 24)"})),DOWN:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement(nt,{transform:"rotate(270 24 24)"})),LEFT_PAREN:ot,RIGHT_PAREN:it,GT:st,DIVIDE:at,PERIOD:lt,PERCENT:dt,TIMES:ct,EXP_3:ht,EXP_2:pt,RIGHT:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement(nt,{transform:"rotate(180 24 24)"})),CDOT:ut,LOG_N:mt,LEQ:Et,MINUS:gt,NEGATIVE:gt,RADICAL:vt,FRAC:ft,JUMP_OUT_PARENTHESES:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M24 18c3 3 3 9 0 12M18 18c-3 3-3 9 0 12",stroke:"#888D93",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{stroke:"#78C008",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M32 27l3-3-3-3M22 24h12"}))),JUMP_OUT_EXPONENT:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M35 19v16M23 19l8 8M31 23v4h-4",stroke:"#78C008",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{d:"M12 12.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM14 14h4v4h-4v-4z",fill:"#888D93"}))),JUMP_OUT_BASE:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M12 28.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM14 30h4v4h-4v-4z",fill:"#888D93"}),i.createElement("path",{d:"M35 13v16M23 29l8-8M27 21h4v4",stroke:"#78C008",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}))),JUMP_INTO_NUMERATOR:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M13 16v16M17 22l6-6M23 20v-4h-4",stroke:"#78C008",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{d:"M26 27.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM28 29h4v4h-4v-4z",fill:"#888D93"}),i.createElement("path",{d:"M35 24H25",stroke:"#888D93",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{d:"M26 13.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM28 15h4v4h-4v-4z",fill:"#78C008"}))),JUMP_OUT_NUMERATOR:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{fill:"none",d:"M0 0h48v48H0z"}),i.createElement("path",{fill:"none",d:"M12 12h24v24H12z"}),i.createElement("path",{stroke:"#78C008",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",d:"M33 29l-3 3-3-3M30 18v14"}),i.createElement("path",{d:"M16 27.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM18 29h4v4h-4v-4z",fill:"#78C008"}),i.createElement("path",{d:"M25 24H15",stroke:"#888D93",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{d:"M16 13.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM18 15h4v4h-4v-4z",fill:"#888D93"}))),JUMP_OUT_DENOMINATOR:()=>i.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48"},i.createElement("g",{fill:"none",fillRule:"evenodd"},i.createElement("path",{d:"M0 0h48v48H0z"}),i.createElement("path",{d:"M12 12h24v24H12z"}),i.createElement("path",{d:"M35 16v16m-4-4v-4h-4m-2 6l6-6",stroke:"#78C008",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{d:"M14 27.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM16 29h4v4h-4v-4z",fill:"#888D93"}),i.createElement("path",{d:"M23 24H13",stroke:"#888D93",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),i.createElement("path",{d:"M14 13.997c0-.55.453-.997.997-.997h6.006c.55 0 .997.453.997.997v6.006c0 .55-.453.997-.997.997h-6.006c-.55 0-.997-.453-.997-.997v-6.006zM16 15h4v4h-4v-4z",fill:"#888D93"})))});class Tt extends i.Component{render(){var{color:e,name:t}=this.props,r=yt[t];return i.createElement(r,{color:e})}}T(Tt,"propTypes",{color:o.string.isRequired,name:o.string.isRequired});var{row:Ct,centered:_t}=ze;class bt extends i.Component{render(){var{character:e,style:t}=this.props,r=[Ct,_t,Rt.size,Rt.base,...Array.isArray(t)?t:[t]];return i.createElement(M,{style:r},i.createElement(R,null,e))}}T(bt,"propTypes",{character:o.string.isRequired,style:o.any});var Rt=r.create({size:{height:48,width:48},base:{fontFamily:"Proxima Nova",fontSize:25}}),Ot=P;class Mt extends i.PureComponent{render(){var{focused:e,icon:t,style:r}=this.props,n=[e?Nt.focused:Nt.unfocused,...Array.isArray(r)?r:[r]];switch(t.type){case H.MATH:return i.createElement(qe,{math:t.data,style:n});case H.SVG:return i.createElement(Tt,{name:t.data,color:e?"#FFF":Ot});case H.TEXT:return i.createElement(bt,{character:t.data,style:n})}throw new Error("No icon or symbol provided")}}T(Mt,"propTypes",{focused:o.bool,icon:ee.isRequired,style:o.any});var Nt=r.create({unfocused:{color:Ot},focused:{color:"#FFF"}}),{row:Pt,column:kt,centered:Lt,fullWidth:At}=ze;class It extends i.Component{render(){var{focused:e,icons:t}=this.props;if(t.forEach((e=>{if(e.type!==H.MATH)throw new Error("Received invalid icon: type=".concat(e.type,", ")+"data=".concat(e.data))})),1===t.length)return i.createElement(Mt,{icon:t[0],focused:e});var r=St.base,n=[St.base,St.secondary];if(2===t.length)return i.createElement(M,{style:[Pt,St.size]},i.createElement(M,{style:[kt,Lt,At,St.middleLeft]},i.createElement(Mt,{style:r,icon:t[0],focused:e})),i.createElement(M,{style:[kt,Lt,At,St.middleRight]},i.createElement(Mt,{style:n,icon:t[1],focused:e})));if(t.length>=3)return i.createElement(M,{style:[kt,St.size]},i.createElement(M,{style:Pt},i.createElement(M,{style:[Lt,At,St.topLeft]},i.createElement(Mt,{style:r,icon:t[0],focused:e})),i.createElement(M,{style:[Lt,At,St.topRight]},i.createElement(Mt,{style:n,icon:t[1],focused:e}))),i.createElement(M,{style:Pt},i.createElement(M,{style:[Lt,At,St.bottomLeft]},i.createElement(Mt,{style:n,icon:t[2],focused:e})),i.createElement(M,{style:[Lt,At,St.bottomRight]},t[3]&&i.createElement(Mt,{style:n,icon:t[3],focused:e}))));throw new Error("Invalid number of icons:",t.length)}}T(It,"propTypes",{focused:o.bool,icons:o.arrayOf(ee).isRequired});var St=r.create({size:{height:48,width:48},bottomLeft:{marginBottom:2,marginLeft:4},topLeft:{marginTop:2,marginLeft:4},topRight:{marginTop:2,marginRight:4},bottomRight:{marginBottom:2,marginRight:4},middleLeft:{marginLeft:4},middleRight:{marginRight:4},base:{fontSize:18},secondary:{opacity:.3}});class wt extends i.PureComponent{constructor(){super(...arguments),T(this,"_preInjectStyles",(()=>{for(var e of Object.keys(S))for(var t of(n(M.styles.initial,...this._getFocusStyle(e)),Object.values(D)))n(M.styles.initial,...this._getButtonStyle(e,t))})),T(this,"_getFocusStyle",(e=>{var t;return t=e===S.INPUT_NAVIGATION||e===S.KEYPAD_NAVIGATION?xt.light:xt.bright,[xt.focusBox,t]})),T(this,"_getButtonStyle",((e,t,r)=>{var n;switch(e){case S.EMPTY:n=xt.empty;break;case S.MANY:case S.VALUE:n=xt.value;break;case S.OPERATOR:n=xt.operator;break;case S.INPUT_NAVIGATION:case S.KEYPAD_NAVIGATION:n=xt.control;break;case S.ECHO:n=null}var o=[];return-1!==t.indexOf(z.LEFT)&&o.push(xt.leftBorder),-1!==t.indexOf(z.BOTTOM)&&o.push(xt.bottomBorder),[xt.buttonBase,n,...o,e===S.ECHO&&xt.echo,this.buttonSizeStyle,...Array.isArray(r)?r:[r]]}))}UNSAFE_componentWillMount(){this.buttonSizeStyle=Bt(this.props.heightPx,this.props.widthPx)}componentDidMount(){this._preInjectStyles()}UNSAFE_componentWillUpdate(e,t){e.heightPx===this.props.heightPx&&e.widthPx===this.props.widthPx||(this.buttonSizeStyle=Bt(e.heightPx,e.widthPx),this._preInjectStyles())}render(){var{ariaLabel:e,borders:t,childKeys:r,disabled:n,focused:o,icon:s,onTouchCancel:a,onTouchEnd:l,onTouchMove:d,onTouchStart:c,popoverEnabled:h,style:p,type:u}=this.props,m=!n&&o||h||u===S.ECHO,E=this._getButtonStyle(u,t,p),g=this._getFocusStyle(u),v=[xt.iconWrapper,n&&xt.disabled],f={onTouchCancel:a,onTouchEnd:l,onTouchMove:d,onTouchStart:c},y=m&&i.createElement(M,{style:g}),T=!m&&!n&&r&&r.length>0&&i.createElement(Be,{style:xt.decalInset});if(u===S.EMPTY)return i.createElement(M,C({style:E},f));if(u===S.MANY){var _={role:"button",ariaLabel:r[0].ariaLabel},b=r.map((e=>e.icon));return i.createElement(M,C({style:E},f,_),y,i.createElement(M,{style:v},i.createElement(It,{icons:b,focused:m})),T)}var R={role:"button",ariaLabel:e};return i.createElement(M,C({style:E},f,R),y,i.createElement(M,{style:v},i.createElement(Mt,{icon:s,focused:m})),T)}}T(wt,"propTypes",{ariaLabel:o.string,borders:ie,childKeys:o.arrayOf(re),disabled:o.bool,focused:o.bool,heightPx:o.number.isRequired,icon:ee,onTouchCancel:o.func,onTouchEnd:o.func,onTouchMove:o.func,onTouchStart:o.func,popoverEnabled:o.bool,style:o.any,type:o.oneOf(Object.keys(S)).isRequired,widthPx:o.number.isRequired}),T(wt,"defaultProps",{borders:D.ALL,childKeys:[],disabled:!1,focused:!1,popoverEnabled:!1});var xt=r.create({buttonBase:{"-webkit-box-flex":"1",flex:1,cursor:"pointer",userSelect:"none",justifyContent:"center",alignItems:"center",borderColor:A,borderStyle:"solid",boxSizing:"border-box"},decalInset:{top:4,right:4},echo:{borderColor:"transparent"},value:{backgroundColor:"#FFF"},operator:{backgroundColor:"#FAFAFA"},control:{backgroundColor:"#F6F7F7"},empty:{backgroundColor:"#F0F1F2",cursor:"default"},bright:{backgroundColor:N},light:{backgroundColor:"rgba(33, 36, 44, 0.1)"},iconWrapper:{zIndex:1},focusBox:{position:"absolute",zIndex:0,left:4,right:4,bottom:4,top:4,borderRadius:1},disabled:{opacity:.3},leftBorder:{borderLeftWidth:1},bottomBorder:{borderBottomWidth:1}}),Bt=(e,t)=>r.create({buttonSize:{height:e,width:t,maxWidth:t}}).buttonSize,Ft=d((e=>e.layout.buttonDimensions),null,null,{forwardRef:!0})(wt),Ut=["gestureManager"];class zt extends i.Component{render(){var e=this.props,{gestureManager:t}=e,r=_(e,Ut);return i.createElement(Ft,C({onTouchStart:e=>t.onTouchStart(e),onTouchEnd:e=>t.onTouchEnd(e),onTouchMove:e=>t.onTouchMove(e),onTouchCancel:e=>t.onTouchCancel(e)},K.NOOP,r))}}T(zt,"propTypes",{gestureManager:o.instanceOf(xe)});var Dt=d((e=>{var{gestures:t}=e;return{gestureManager:t.gestureManager}}),null,null,{forwardRef:!0})(zt),Ht=["borders","childKeyIds","disabled","gestureManager","id","style"],qt=["keyConfig"];class Vt extends i.Component{shouldComponentUpdate(e){return e.id!==this.props.id||e.gestureManager!==this.props.gestureManager||e.focused!==this.props.focused||e.disabled!==this.props.disabled||e.popoverEnabled!==this.props.popoverEnabled||e.type!==this.props.type||!!e.style}componentWillUnmount(){var{gestureManager:e,id:t}=this.props;e.unregisterDOMNode(t)}render(){var e=this.props,{borders:t,childKeyIds:r,disabled:n,gestureManager:o,id:a,style:l}=e,d=_(e,Ht),c=n?{onTouchStart:e=>e.preventDefault()}:{onTouchStart:e=>o.onTouchStart(e,a),onTouchEnd:e=>o.onTouchEnd(e),onTouchMove:e=>o.onTouchMove(e),onTouchCancel:e=>o.onTouchCancel(e)},h=[...Array.isArray(l)?l:[l],Wt.preventScrolls];return i.createElement(Ft,C({ref:e=>o.registerDOMNode(a,s.findDOMNode(e),r,t),borders:t,disabled:n,style:h},c,d))}}T(Vt,"propTypes",{borders:ie,childKeyIds:o.arrayOf(te),disabled:o.bool,focused:o.bool,gestureManager:o.instanceOf(xe),id:te.isRequired,popoverEnabled:o.bool,style:o.any,type:o.oneOf(Object.keys(S)).isRequired});var Wt=r.create({preventScrolls:{touchAction:"none"}}),Kt=d(((e,t)=>{var{gestures:r}=e,{keyConfig:n}=t,o=_(t,qt),{id:i,childKeyIds:s,type:a}=n,l=s&&s.map((e=>K[e])),d=a!==S.MANY&&l&&l.length>0;return y(y({},o),{},{childKeyIds:s,gestureManager:r.gestureManager,id:i,focused:r.focus===i,popoverEnabled:r.popover&&r.popover.parentId===i,childKeys:l},(e=>{var{ariaLabel:t,icon:r,type:n}=e;return{ariaLabel:t,icon:r,type:n}})(d?l[0]:n))}),null,null,{forwardRef:!0})(Vt),jt=["keys"];class Qt extends i.Component{render(){var e=this.props,{keys:t}=e,r=_(e,jt);if(0===t.length)return i.createElement(Dt,r);if(1===t.length){var n=K[t[0]];return i.createElement(Kt,C({keyConfig:n},r))}var o={id:b.MANY,type:S.MANY,childKeyIds:t};return i.createElement(Kt,C({keyConfig:o},r))}}T(Qt,"propTypes",{keys:o.arrayOf(te).isRequired});class Gt extends i.Component{componentDidMount(){var{animationDurationMs:e,onAnimationFinish:t}=this.props;setTimeout((()=>t()),e)}render(){var{borders:e,id:t,initialBounds:r}=this.props,{icon:n}=K[t],o=y({zIndex:2,position:"absolute",pointerEvents:"none"},r);return i.createElement("div",{style:o},i.createElement(Ft,{name:t,icon:n,type:S.ECHO,borders:e}))}}T(Gt,"propTypes",{animationDurationMs:o.number.isRequired,borders:ie,id:te.isRequired,initialBounds:se.isRequired,onAnimationFinish:o.func.isRequired});class Xt extends i.Component{constructor(){super(...arguments),T(this,"_animationConfigForType",(e=>{var t,r;switch(e){case W.SLIDE_AND_FADE:t=400,r="echo-slide-and-fade";break;case W.FADE_ONLY:t=300,r="echo-fade-only";break;case W.LONG_FADE_ONLY:t=400,r="echo-long-fade-only";break;default:throw new Error("Invalid echo animation type:",e)}return{animationDurationMs:t,animationTransitionName:r}}))}render(){var{echoes:e,onAnimationFinish:t}=this.props;return i.createElement("span",null,Object.keys(W).map((r=>{var{animationDurationMs:n,animationTransitionName:o}=this._animationConfigForType(r),s=e.filter((e=>e.animationType===r));return i.createElement(u,{key:r},s.map((e=>{var{animationId:r}=e;return i.createElement(m,{classNames:o,enter:!0,exit:!1,timeout:{enter:n},key:r},i.createElement(Gt,C({animationDurationMs:n,onAnimationFinish:()=>t(r)},e)))})))})))}}T(Xt,"propTypes",{echoes:o.arrayOf(ae),onAnimationFinish:o.func.isRequired});class Jt extends i.Component{render(){var{keys:e}=this.props;return i.createElement(M,{style:Yt.container},e.map((e=>i.createElement(Kt,{key:e.id,keyConfig:e,borders:D.NONE}))))}}T(Jt,"propTypes",{keys:o.arrayOf(re)});var Yt=r.create({container:{flexDirection:"column-reverse",position:"relative",width:"100%",borderRadius:2,boxShadow:"0 2px 6px rgba(0, 0, 0, 0.3)",zIndex:1},popoverButton:{backgroundColor:"#FFF",borderWidth:0}});class Zt extends i.Component{render(){var{bounds:e,childKeys:t}=this.props,r=y({position:"absolute"},e);return i.createElement("div",{style:r},i.createElement(Jt,{keys:t}))}}T(Zt,"propTypes",{bounds:se.isRequired,childKeys:o.arrayOf(re).isRequired});class $t extends i.Component{render(){var{popover:e}=this.props;return e?i.createElement(m,{in:!0,classNames:"popover",enter:!0,exit:!1,timeout:{enter:200}},i.createElement(Zt,{key:e.childKeyIds[0],bounds:e.bounds,childKeys:e.childKeyIds.map((e=>K[e]))})):null}}T($t,"propTypes",{popover:de});var er=["initialBounds"];class tr extends i.Component{constructor(){super(...arguments),T(this,"_computeContainer",(()=>{var e=s.findDOMNode(this);this._container=e.getBoundingClientRect()})),T(this,"_updateSizeAndPosition",(()=>{this._container=null})),T(this,"_onResize",(()=>{null==this._resizeTimeout&&(this._resizeTimeout=setTimeout((()=>{this._resizeTimeout=null,this._isMounted&&this._updateSizeAndPosition()}),66))}))}componentDidMount(){this._isMounted=!0,window.addEventListener("resize",this._onResize),this._updateSizeAndPosition()}UNSAFE_componentWillReceiveProps(e){this._container||!e.popover&&!e.echoes.length||this._computeContainer()}componentWillUnmount(){this._isMounted=!1,window.removeEventListener("resize",this._onResize)}render(){var{children:e,echoes:t,removeEcho:r,popover:n,style:o}=this.props,s=t.map((e=>{var{initialBounds:t}=e;return y(y({},_(e,er)),{},{initialBounds:{top:t.top-this._container.top,right:t.right-this._container.left,bottom:t.bottom-this._container.top,left:t.left-this._container.left,width:t.width,height:t.height}})})),a=n&&y(y({},n),{},{bounds:{bottom:this._container.height-(n.bounds.bottom-this._container.top),left:n.bounds.left-this._container.left,width:n.bounds.width}});return i.createElement(M,{style:o},e,i.createElement(Xt,{echoes:s,onAnimationFinish:r}),i.createElement($t,{popover:a}))}}T(tr,"propTypes",{children:o.oneOfType([o.arrayOf(o.node),o.node]),removeEcho:o.func.isRequired,style:o.any,active:o.bool,echoes:o.arrayOf(ae).isRequired,popover:de});var rr=d((e=>y(y({},e.echoes),{},{active:e.keypad.active,popover:e.gestures.popover})),(e=>({removeEcho:t=>{e((e=>({type:"RemoveEcho",animationId:e}))(t))}})),null,{forwardRef:!0})(tr);function nr(e){var{tintColor:t,type:r}=e;if("Geometry"===r)return i.createElement("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.57584 7.09442C7.92723 6.92984 8.3421 6.98339 8.64018 7.23179L26.6402 22.2318C26.9636 22.5013 27.0836 22.9446 26.9403 23.3404C26.7969 23.7363 26.421 24 26 24H8C7.44772 24 7 23.5523 7 23V8.00001C7 7.61199 7.22446 7.259 7.57584 7.09442ZM9 10.1351V17H13C13.5523 17 14 17.4477 14 18V22H23.238L9 10.1351ZM12 22V19H9V22H12Z",fill:t}));if("Operators"===r)return i.createElement("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M29 6H30V7H29V6ZM27 6C27 4.89543 27.8954 4 29 4H30C31.1046 4 32 4.89543 32 6V7C32 8.10457 31.1046 9 30 9H29C27.8954 9 27 8.10457 27 7V6ZM11.1318 6.50386C11.3098 6.19229 11.6411 6 12 6H14C14.5523 6 15 6.44772 15 7C15 7.55228 14.5523 8 14 8H12.5803L8.86824 14.4961C8.68527 14.8163 8.34091 15.0098 7.97225 14.9996C7.6036 14.9894 7.2705 14.7771 7.10557 14.4472L5.10557 10.4472C4.85858 9.95324 5.05881 9.35256 5.55279 9.10557C6.04676 8.85858 6.64744 9.05881 6.89443 9.55279L8.0588 11.8815L11.1318 6.50386ZM7.70676 16.2925C8.09748 16.6829 8.09779 17.316 7.70745 17.7068C7.28543 18.1292 6.84383 18.7303 6.51157 19.3658C6.17039 20.0184 6 20.601 6 21C6 21.3789 6.17235 21.9897 6.51638 22.6649C6.85315 23.3259 7.28488 23.9121 7.66786 24.2557C8.07892 24.6246 8.11314 25.2568 7.74429 25.6679C7.37544 26.0789 6.7432 26.1131 6.33214 25.7443C5.7161 25.1915 5.14783 24.3844 4.73434 23.5728C4.32813 22.7755 3.99999 21.8345 4 21C4.00001 20.1391 4.3301 19.2217 4.73917 18.4392C5.15715 17.6397 5.71554 16.8708 6.29255 16.2932C6.68288 15.9025 7.31605 15.9022 7.70676 16.2925ZM11.2932 16.2925C11.684 15.9022 12.3171 15.9025 12.7075 16.2932C13.2845 16.8708 13.8428 17.6397 14.2608 18.4392C14.6699 19.2217 15 20.1391 15 21C15 21.8345 14.6719 22.7755 14.2657 23.5728C13.8522 24.3844 13.2839 25.1915 12.6679 25.7443C12.2568 26.1131 11.6246 26.0789 11.2557 25.6679C10.8869 25.2568 10.9211 24.6246 11.3321 24.2557C11.7151 23.9121 12.1469 23.3259 12.4836 22.6649C12.8276 21.9897 13 21.3789 13 21C13 20.601 12.8296 20.0184 12.4884 19.3658C12.1562 18.7303 11.7146 18.1292 11.2925 17.7068C10.9022 17.316 10.9025 16.6829 11.2932 16.2925ZM27.9363 17.6489C28.1302 18.166 27.8682 18.7424 27.3511 18.9363L21.848 21L27.3511 23.0637C27.8682 23.2576 28.1302 23.834 27.9363 24.3511C27.7424 24.8682 27.166 25.1302 26.6489 24.9363L18.6489 21.9363C18.2586 21.79 18 21.4168 18 21C18 20.5832 18.2586 20.21 18.6489 20.0637L26.6489 17.0637C27.166 16.8698 27.7424 17.1318 27.9363 17.6489ZM21 8V13H24V8H21ZM20 6C19.4477 6 19 6.44772 19 7V14C19 14.5523 19.4477 15 20 15H25C25.5523 15 26 14.5523 26 14V7C26 6.44772 25.5523 6 25 6H20Z",fill:t}));if("Numbers"===r)return i.createElement("svg",{width:"32",height:"32",viewBox:"0 0 32 32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},i.createElement("path",{d:"M10.4123 19.5794V21.0004H4.71434V19.5794H6.73034V14.0214C6.73034 13.9001 6.73267 13.7764 6.73734 13.6504C6.742 13.5244 6.749 13.3961 6.75834 13.2654L5.42834 14.3714C5.335 14.4414 5.244 14.4858 5.15534 14.5044C5.06667 14.5231 4.98267 14.5254 4.90334 14.5114C4.824 14.4928 4.754 14.4648 4.69334 14.4274C4.63267 14.3854 4.586 14.3434 4.55334 14.3014L3.94434 13.4824L7.06634 10.8364H8.65534V19.5794H10.4123ZM18.7924 19.2294C19.0024 19.2294 19.1658 19.2878 19.2824 19.4044C19.4038 19.5211 19.4644 19.6751 19.4644 19.8664V21.0004H12.4224V20.3704C12.4224 20.2491 12.4481 20.1184 12.4994 19.9784C12.5508 19.8338 12.6371 19.7031 12.7584 19.5864L15.7684 16.5694C16.0251 16.3128 16.2514 16.0678 16.4474 15.8344C16.6434 15.5964 16.8068 15.3654 16.9374 15.1414C17.0681 14.9128 17.1661 14.6818 17.2314 14.4484C17.2968 14.2151 17.3294 13.9701 17.3294 13.7134C17.3294 13.2608 17.2128 12.9178 16.9794 12.6844C16.7461 12.4464 16.4171 12.3274 15.9924 12.3274C15.8058 12.3274 15.6331 12.3554 15.4744 12.4114C15.3204 12.4628 15.1804 12.5351 15.0544 12.6284C14.9331 12.7218 14.8281 12.8314 14.7394 12.9574C14.6508 13.0834 14.5854 13.2211 14.5434 13.3704C14.4594 13.6038 14.3451 13.7601 14.2004 13.8394C14.0604 13.9141 13.8598 13.9304 13.5984 13.8884L12.5764 13.7064C12.6511 13.2118 12.7911 12.7778 12.9964 12.4044C13.2018 12.0311 13.4584 11.7208 13.7664 11.4734C14.0744 11.2261 14.4268 11.0418 14.8234 10.9204C15.2201 10.7944 15.6471 10.7314 16.1044 10.7314C16.5851 10.7314 17.0214 10.8038 17.4134 10.9484C17.8101 11.0884 18.1484 11.2868 18.4284 11.5434C18.7084 11.7954 18.9254 12.1011 19.0794 12.4604C19.2334 12.8198 19.3104 13.2164 19.3104 13.6504C19.3104 14.0238 19.2568 14.3691 19.1494 14.6864C19.0421 15.0038 18.8951 15.3071 18.7084 15.5964C18.5264 15.8811 18.3141 16.1588 18.0714 16.4294C17.8288 16.7001 17.5721 16.9731 17.3014 17.2484L15.1454 19.4534C15.3834 19.3834 15.6191 19.3298 15.8524 19.2924C16.0858 19.2504 16.3051 19.2294 16.5104 19.2294H18.7924ZM21.4535 13.7064C21.5282 13.2118 21.6682 12.7778 21.8735 12.4044C22.0789 12.0311 22.3355 11.7208 22.6435 11.4734C22.9515 11.2261 23.3015 11.0418 23.6935 10.9204C24.0902 10.7944 24.5172 10.7314 24.9745 10.7314C25.4599 10.7314 25.8939 10.8014 26.2765 10.9414C26.6639 11.0768 26.9905 11.2634 27.2565 11.5014C27.5225 11.7394 27.7255 12.0171 27.8655 12.3344C28.0102 12.6518 28.0825 12.9924 28.0825 13.3564C28.0825 13.6784 28.0475 13.9631 27.9775 14.2104C27.9122 14.4531 27.8119 14.6654 27.6765 14.8474C27.5459 15.0294 27.3825 15.1834 27.1865 15.3094C26.9952 15.4354 26.7735 15.5404 26.5215 15.6244C27.6882 16.0071 28.2715 16.7841 28.2715 17.9554C28.2715 18.4734 28.1759 18.9308 27.9845 19.3274C27.7932 19.7194 27.5365 20.0484 27.2145 20.3144C26.8925 20.5804 26.5169 20.7811 26.0875 20.9164C25.6629 21.0471 25.2172 21.1124 24.7505 21.1124C24.2559 21.1124 23.8195 21.0564 23.4415 20.9444C23.0635 20.8324 22.7299 20.6644 22.4405 20.4404C22.1559 20.2164 21.9109 19.9364 21.7055 19.6004C21.5002 19.2598 21.3205 18.8631 21.1665 18.4104L22.0205 18.0604C22.2445 17.9671 22.4522 17.9414 22.6435 17.9834C22.8395 18.0254 22.9795 18.1281 23.0635 18.2914C23.1569 18.4688 23.2549 18.6321 23.3575 18.7814C23.4649 18.9308 23.5839 19.0614 23.7145 19.1734C23.8452 19.2808 23.9922 19.3648 24.1555 19.4254C24.3235 19.4861 24.5149 19.5164 24.7295 19.5164C25.0002 19.5164 25.2359 19.4721 25.4365 19.3834C25.6372 19.2948 25.8052 19.1804 25.9405 19.0404C26.0759 18.8958 26.1762 18.7348 26.2415 18.5574C26.3115 18.3754 26.3465 18.1958 26.3465 18.0184C26.3465 17.7851 26.3255 17.5751 26.2835 17.3884C26.2415 17.1971 26.1435 17.0361 25.9895 16.9054C25.8402 16.7701 25.6162 16.6674 25.3175 16.5974C25.0235 16.5228 24.6222 16.4854 24.1135 16.4854V15.1274C24.5382 15.1274 24.8859 15.0924 25.1565 15.0224C25.4272 14.9524 25.6395 14.8544 25.7935 14.7284C25.9475 14.6024 26.0525 14.4508 26.1085 14.2734C26.1692 14.0961 26.1995 13.9024 26.1995 13.6924C26.1995 13.2491 26.0829 12.9108 25.8495 12.6774C25.6209 12.4441 25.2942 12.3274 24.8695 12.3274C24.6829 12.3274 24.5102 12.3554 24.3515 12.4114C24.1975 12.4628 24.0575 12.5351 23.9315 12.6284C23.8102 12.7218 23.7052 12.8314 23.6165 12.9574C23.5279 13.0834 23.4625 13.2211 23.4205 13.3704C23.3319 13.6038 23.2175 13.7601 23.0775 13.8394C22.9375 13.9141 22.7345 13.9304 22.4685 13.8884L21.4535 13.7064Z",fill:t}));throw new Error("Invalid icon type")}var or=r.create({base:{display:"flex",width:44,height:38,boxSizing:"border-box",borderRadius:3,border:"1px solid transparent",marginRight:1,marginLeft:1},hovered:{background:"linear-gradient(0deg, rgba(24, 101, 242, 0.32), rgba(24, 101, 242, 0.32)), ".concat(e.white),border:"1px solid #1865F2"},pressed:{background:"#1B50B3"},focused:{outline:"none",border:"2px solid ".concat(e.blue)},innerBox:{boxSizing:"border-box",border:"1px solid transparent",borderRadius:2,display:"flex",flex:1,justifyContent:"center",alignItems:"center"},innerBoxPressed:{border:"1px solid ".concat(e.white)},activeIndicator:{position:"absolute",boxSizing:"border-box",bottom:3,width:36,height:3,marginLeft:3}});class ir extends i.Component{render(){var{onClick:t,itemType:r,itemState:n}=this.props;return i.createElement(g,{onClick:t,disabled:"disabled"===n},(t=>{var{hovered:o,focused:s,pressed:a}=t,l=function(t,r,n,o){return"disabled"===t?e.offBlack64:o?e.white:"active"===t||r?e.blue:e.offBlack64}(n,o,0,a);return i.createElement(E,{style:[or.base,"disabled"!==n&&o&&or.hovered,s&&or.focused,a&&or.pressed]},i.createElement(E,{style:[or.innerBox,a&&or.innerBoxPressed]},i.createElement(nr,{type:r,tintColor:l})),"active"===n&&i.createElement(E,{style:[or.activeIndicator,{backgroundColor:l}]}))}))}}var sr=r.create({tabbar:{display:"flex",flexDirection:"row",background:e.offWhite,paddingTop:2,paddingBottom:2,borderTop:"1px solid ".concat(e.offBlack50),borderBottom:"1px solid ".concat(e.offBlack50)}});class ar extends i.Component{constructor(){super(...arguments),T(this,"state",{selectedItem:0})}render(){var{items:e,onSelect:t}=this.props;return i.createElement(E,{style:sr.tabbar},e.map(((e,r)=>i.createElement(ir,{key:"tabbar-item-".concat(r),itemState:r===this.state.selectedItem?"active":"inactive",itemType:e,onClick:()=>{this.setState({selectedItem:r}),t(e)}}))))}}var{column:lr,row:dr,fullWidth:cr}=ze;class hr extends i.Component{constructor(){super(...arguments),T(this,"state",{selectedPage:"Numbers"})}render(){var{leftPage:e,paginationEnabled:t,rightPage:r}=this.props,{selectedPage:n}=this.state;return t?i.createElement(rr,{style:[lr,pr.keypad]},i.createElement(ar,{items:["Numbers","Operators"],onSelect:e=>{this.setState({selectedPage:e})}}),i.createElement(M,{style:pr.borderTop},"Numbers"===n&&r,"Operators"===n&&e)):i.createElement(rr,{style:pr.keypad},i.createElement(M,{style:dr},i.createElement(M,{style:cr},e),i.createElement(M,{style:[pr.borderLeft,cr]},r)))}}T(hr,"propTypes",{currentPage:o.oneOf([0,1]).isRequired,leftPage:o.node.isRequired,paginationEnabled:o.bool.isRequired,rightPage:o.node.isRequired});var pr=r.create({keypad:{backgroundColor:k},borderTop:{borderTop:"".concat(1,"px ").concat("solid"," ")+"".concat(A)},borderLeft:{borderLeft:"".concat(1,"px ").concat("solid"," ")+"".concat(A),boxSizing:"content-box"}}),ur=d((e=>({paginationEnabled:e.layout.paginationEnabled})),null,null,{forwardRef:!0})(hr),{row:mr,column:Er,oneColumn:gr,fullWidth:vr,roundedTopLeft:fr,roundedTopRight:yr}=ze;class Tr extends i.Component{render(){var e,{currentPage:t,cursorContext:r,dynamicJumpOut:n,extraKeys:o,roundTopLeft:s,roundTopRight:a}=this.props;if(n)switch(r){case"IN_PARENS":e=K.JUMP_OUT_PARENTHESES;break;case"IN_SUPER_SCRIPT":e=K.JUMP_OUT_EXPONENT;break;case"IN_SUB_SCRIPT":e=K.JUMP_OUT_BASE;break;case"BEFORE_FRACTION":e=K.JUMP_INTO_NUMERATOR;break;case"IN_NUMERATOR":e=K.JUMP_OUT_NUMERATOR;break;case"IN_DENOMINATOR":e=K.JUMP_OUT_DENOMINATOR;break;default:e=K.DISMISS}else e=K.DISMISS;var l=[mr,vr,Cr.rightPage,a&&yr],d=i.createElement(M,{style:l},i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.NUM_7,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_4,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_1,borders:D.BOTTOM}),i.createElement(Qt,{keys:o,borders:D.NONE})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.NUM_8,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_5,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_2,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_0,borders:D.LEFT})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.NUM_9,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_6,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_3,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.DECIMAL,borders:D.LEFT})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.DIVIDE,borders:D.LEFT}),i.createElement(Kt,{keyConfig:K.TIMES,borders:D.LEFT}),i.createElement(Kt,{keyConfig:K.MINUS,borders:D.LEFT}),i.createElement(Kt,{keyConfig:K.PLUS,borders:D.LEFT})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.FRAC,style:a&&yr}),i.createElement(Kt,{keyConfig:K.CDOT}),i.createElement(Kt,{keyConfig:K.BACKSPACE,borders:D.LEFT}),i.createElement(Kt,{keyConfig:e,borders:D.LEFT}))),c=[mr,vr,Cr.leftPage,s&&fr],h=i.createElement(M,{style:c},i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.EXP_2,borders:D.NONE,style:s&&fr}),i.createElement(Kt,{keyConfig:K.SQRT,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.LOG,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.SIN,borders:D.NONE})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.EXP_3,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.CUBE_ROOT,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.LN,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.COS,borders:D.NONE})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.EXP,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.RADICAL,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.LOG_N,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.TAN,borders:D.NONE})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.GEQ,borders:D.LEFT}),i.createElement(Kt,{keyConfig:K.EQUAL,borders:D.LEFT}),i.createElement(Kt,{keyConfig:K.LEQ}),i.createElement(Kt,{keyConfig:K.LEFT_PAREN,borders:D.LEFT})),i.createElement(M,{style:[Er,gr]},i.createElement(Kt,{keyConfig:K.GT,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NEQ,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.LT,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.RIGHT_PAREN,borders:D.NONE})));return i.createElement(ur,{currentPage:t,rightPage:d,leftPage:h})}}T(Tr,"propTypes",{currentPage:o.number.isRequired,cursorContext:le.isRequired,dynamicJumpOut:o.bool,extraKeys:o.arrayOf(te),roundTopLeft:o.bool,roundTopRight:o.bool}),T(Tr,"rows",4),T(Tr,"columns",5),T(Tr,"maxVisibleRows",4),T(Tr,"numPages",2);var Cr=r.create({rightPage:{backgroundColor:"#FFF"},leftPage:{backgroundColor:"#F6F7F7"}}),_r=d((e=>({currentPage:e.pager.currentPage,cursorContext:e.input.cursor.context,dynamicJumpOut:!e.layout.navigationPadEnabled})),null,null,{forwardRef:!0})(Tr),{row:br,roundedTopLeft:Rr,roundedTopRight:Or}=ze;class Mr extends i.Component{render(){var e,{cursorContext:t,dynamicJumpOut:r,roundTopLeft:n,roundTopRight:o}=this.props;if(r)switch(t){case"IN_PARENS":e=K.JUMP_OUT_PARENTHESES;break;case"IN_SUPER_SCRIPT":e=K.JUMP_OUT_EXPONENT;break;case"IN_SUB_SCRIPT":e=K.JUMP_OUT_BASE;break;case"BEFORE_FRACTION":e=K.JUMP_INTO_NUMERATOR;break;case"IN_NUMERATOR":e=K.JUMP_OUT_NUMERATOR;break;case"IN_DENOMINATOR":e=K.JUMP_OUT_DENOMINATOR;break;default:e=K.DISMISS}else e=K.DISMISS;return i.createElement(rr,null,i.createElement(M,{style:br},i.createElement(Kt,{keyConfig:K.NUM_7,borders:D.NONE,style:n&&Rr}),i.createElement(Kt,{keyConfig:K.NUM_8,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_9,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.FRAC,disabled:"IN_NUMERATOR"===t||"IN_DENOMINATOR"===t,style:o&&Or})),i.createElement(M,{style:br},i.createElement(Kt,{keyConfig:K.NUM_4,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_5,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_6,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.PERCENT})),i.createElement(M,{style:br},i.createElement(Kt,{keyConfig:K.NUM_1,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.NUM_2,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_3,borders:D.BOTTOM}),i.createElement(Kt,{keyConfig:K.BACKSPACE,borders:D.LEFT})),i.createElement(M,{style:br},i.createElement(Kt,{keyConfig:K.NEGATIVE,borders:D.NONE}),i.createElement(Kt,{keyConfig:K.NUM_0,borders:D.LEFT}),i.createElement(Kt,{keyConfig:K.DECIMAL,borders:D.LEFT}),i.createElement(Kt,{keyConfig:e,borders:D.LEFT})))}}T(Mr,"propTypes",{cursorContext:le.isRequired,dynamicJumpOut:o.bool,roundTopLeft:o.bool,roundTopRight:o.bool}),T(Mr,"rows",4),T(Mr,"columns",4),T(Mr,"maxVisibleRows",5),T(Mr,"numPages",1);var Nr=d((e=>({cursorContext:e.input.cursor.context,dynamicJumpOut:!e.layout.navigationPadEnabled})),null,null,{forwardRef:!0})(Mr);class Pr{constructor(e){this.options=y({velocityTimeout:100},e),this._events=[]}push(e){this._events.push({x:e,t:v()})}getVelocity(){var e=this._getEvents();if(e.length<2)return 0;var t=e[e.length-1],r=e[0],n=t.t-r.t;return(t.x-r.x)/n}_getEvents(){var e=v()-this.options.velocityTimeout,t=this._events.filter((t=>t.t>e));return this._events=[],t}}var kr={[I.FRACTION]:Nr,[I.EXPRESSION]:_r},Lr=()=>{var e={keyHandler:null,cursor:{context:"NONE"}},t=I.EXPRESSION,r={extraKeys:["x","y",b.THETA,b.PI],keypadType:t,active:!1},n=e=>e-1,o={animateToPosition:!1,currentPage:n(kr[t].numPages),dx:0,numPages:kr[t].numPages,pageWidthPx:0,velocityTracker:new Pr},i=e=>new xe({swipeEnabled:e},{onSwipeChange:e=>{u.dispatch({type:"OnSwipeChange",dx:e})},onSwipeEnd:e=>{u.dispatch({type:"OnSwipeEnd",dx:e})},onActiveNodesChanged:e=>{u.dispatch({type:"SetActiveNodes",activeNodes:e})},onClick:(e,t,r)=>{u.dispatch(y(y({type:"PressKey",key:e},t),{},{inPopover:r}))}},[],[b.BACKSPACE,b.UP,b.RIGHT,b.DOWN,b.LEFT]),s={popover:null,focus:null,gestureManager:i(kr[t].numPages>1)},a=0,l={echoes:[]},d={gridDimensions:{numRows:kr[t].rows,numColumns:kr[t].columns,numMaxVisibleRows:kr[t].maxVisibleRows,numPages:kr[t].numPages},buttonDimensions:{widthPx:48,heightPx:48},pageDimensions:{pageWidthPx:0,pageHeightPx:0},layoutMode:U.FULLSCREEN,paginationEnabled:!1,navigationPadEnabled:!1},c=(e,t)=>{var{pageWidthPx:r,pageHeightPx:n}=e,o=r>n?w:x,i=Math.min(r,n)>600?F:B,s=i===F,a=i===B&&o===x;return y(y({},((e,t,r,n)=>{var o,{numColumns:i,numMaxVisibleRows:s,numPages:a}=e,{pageWidthPx:l,pageHeightPx:d}=t,{deviceOrientation:c,deviceType:h}=r,{navigationPadEnabled:p,paginationEnabled:u,toolbarEnabled:m}=n,E=u?i:i*a;if(h===B){var g=c===w,v=(g?d:l/.7339449541284404)-(32+(g?88:64)+(m?60:0)+(u?16:0));o={widthPx:a>1?l/(u?i:i*a):g?64:l/i,heightPx:Math.max(Math.min(v/s,64),48)}}else{if(h!==F)throw new Error("Invalid device type: "+h);o={widthPx:64,heightPx:64}}var f=(p?1:0)+(u?0:a-1);return{buttonDimensions:o,layoutMode:E*o.widthPx+(p?192:0)+1*f>=l?U.FULLSCREEN:U.COMPACT}})(t,e,{deviceOrientation:o,deviceType:i},{navigationPadEnabled:s,paginationEnabled:a,toolbarEnabled:!0})),{},{navigationPadEnabled:s,paginationEnabled:a})},p=h.combineReducers({input:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:e,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case"SetKeyHandler":return y(y({},t),{},{keyHandler:r.keyHandler});case"PressKey":var n=K[r.key];return n.type!==S.KEYPAD_NAVIGATION?y(y({},t),{},{cursor:t.keyHandler(n.id)}):t;case"SetCursor":return y(y({},t),{},{cursor:r.cursor});default:return t}},keypad:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r,n=arguments.length>1?arguments[1]:void 0;switch(n.type){case"DismissKeypad":return y(y({},t),{},{active:!1});case"ActivateKeypad":return y(y({},t),{},{active:!0});case"ConfigureKeypad":return y(y({},t),{},{extraKeys:[]},n.configuration);case"PressKey":var o=K[n.key];return o.id===b.DISMISS?e(t,{type:"DismissKeypad"}):t;default:return t}},pager:function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o,r=arguments.length>1?arguments[1]:void 0;switch(r.type){case"ConfigureKeypad":var{keypadType:i}=r.configuration,{numPages:s}=kr[i];return y(y({},t),{},{numPages:s,animateToPosition:!1,currentPage:n(s),dx:0});case"SetPageSize":return y(y({},t),{},{pageWidthPx:r.pageWidthPx});case"PressKey":var a=K[r.key];return a.type===S.VALUE||a.type===S.OPERATOR?e(t,{type:"ResetKeypadPage"}):t;case"ResetKeypadPage":return y(y({},t),{},{animateToPosition:!0,currentPage:n(t.numPages),dx:0});case"PageKeypadRight":var l=Math.min(t.currentPage+1,t.numPages-1);return y(y({},t),{},{animateToPosition:!0,currentPage:l,dx:0});case"PageKeypadLeft":var d=Math.max(t.currentPage-1,0);return y(y({},t),{},{animateToPosition:!0,currentPage:d,dx:0});case"OnSwipeChange":return t.velocityTracker.push(r.dx),y(y({},t),{},{animateToPosition:!1,dx:r.dx});case"OnSwipeEnd":var{pageWidthPx:c,velocityTracker:h}=t,{dx:p}=r,u=h.getVelocity(),m=.1,E=10,g=p<-c/2||u<-m&&p<-E,v=p>c/2||u>m&&p>E;return g?e(t,{type:"PageKeypadRight"}):v?e(t,{type:"PageKeypadLeft"}):y(y({},t),{},{animateToPosition:!0,dx:0});default:return t}},gestures:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"DismissKeypad":return e.gestureManager.disableEventTracking(),e;case"ActivateKeypad":return e.gestureManager.enableEventTracking(),e;case"SetActiveNodes":return y(y({},e),t.activeNodes);case"ConfigureKeypad":var{keypadType:r}=t.configuration,{numPages:n}=kr[r],o=n>1;return{popover:null,focus:null,gestureManager:i(o)};default:return e}},echoes:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"PressKey":var r=K[t.key];return r.type===S.VALUE||r.type===S.OPERATOR?y(y({},e),{},{echoes:[...e.echoes,{animationId:""+a++,animationType:t.inPopover?W.LONG_FADE_ONLY:W.FADE_ONLY,borders:t.borders,id:r.id,initialBounds:t.initialBounds}]}):e;case"RemoveEcho":var n=e.echoes.filter((e=>e.animationId!==t.animationId));return y(y({},e),{},{echoes:n});default:return e}},layout:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:d,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"ConfigureKeypad":var{keypadType:r}=t.configuration,n={numRows:kr[r].rows,numColumns:kr[r].columns,numMaxVisibleRows:kr[r].maxVisibleRows,numPages:kr[r].numPages};return y(y(y({},e),c(e.pageDimensions,n)),{},{gridDimensions:n});case"SetPageSize":var{pageWidthPx:o,pageHeightPx:i}=t,s={pageWidthPx:o,pageHeightPx:i};return y(y(y({},e),c(s,e.gridDimensions)),{},{pageDimensions:s});default:return e}}}),u=h.createStore(p);return u},{row:Ar,column:Ir,centered:Sr,stretch:wr,roundedTopLeft:xr}=ze;class Br extends i.Component{render(){var{roundTopLeft:e,style:t}=this.props,r=[Ir,Sr,Fr.container,e&&xr,...Array.isArray(t)?t:[t]];return i.createElement(M,{style:r},i.createElement(M,{style:[Ar,Sr]},i.createElement(Kt,{keyConfig:K.UP,borders:D.NONE,style:[Fr.navigationKey,Fr.topArrow]})),i.createElement(M,{style:[Ar,Sr,wr]},i.createElement(Kt,{keyConfig:K.LEFT,borders:D.NONE,style:[Fr.navigationKey,Fr.leftArrow]}),i.createElement(M,{style:Fr.horizontalSpacer}),i.createElement(Kt,{keyConfig:K.RIGHT,borders:D.NONE,style:[Fr.navigationKey,Fr.rightArrow]})),i.createElement(M,{style:[Ar,Sr]},i.createElement(Kt,{keyConfig:K.DOWN,borders:D.NONE,style:[Fr.navigationKey,Fr.bottomArrow]})))}}T(Br,"propTypes",{roundTopLeft:o.bool,style:o.any});var Fr=r.create({container:{backgroundColor:"#F6F7F7",width:192},navigationKey:{borderColor:k,backgroundColor:"#FFF",width:48,height:48,boxSizing:"content-box"},topArrow:{borderTopWidth:1,borderLeftWidth:1,borderRightWidth:1,borderTopLeftRadius:4,borderTopRightRadius:4},rightArrow:{borderTopWidth:1,borderRightWidth:1,borderBottomWidth:1,borderTopRightRadius:4,borderBottomRightRadius:4},bottomArrow:{borderBottomWidth:1,borderLeftWidth:1,borderRightWidth:1,borderBottomLeftRadius:4,borderBottomRightRadius:4},leftArrow:{borderTopWidth:1,borderBottomWidth:1,borderLeftWidth:1,borderTopLeftRadius:4,borderBottomLeftRadius:4},horizontalSpacer:{background:"#FFF",width:48}}),{row:Ur,centered:zr,fullWidth:Dr}=ze;class Hr extends i.Component{constructor(){super(...arguments),T(this,"state",{hasBeenActivated:!1,viewportWidth:"100vw"}),T(this,"_throttleResizeHandler",(()=>{null==this._resizeTimeout&&(this._resizeTimeout=setTimeout((()=>{this._resizeTimeout=null,this._onResize()}),66))})),T(this,"_onResize",(()=>{this.setState({viewportWidth:window.innerWidth}),this.props.onPageSizeChange(window.innerWidth,window.innerHeight)})),T(this,"renderKeypad",(()=>{var{extraKeys:e,keypadType:t,layoutMode:r,navigationPadEnabled:n}=this.props,o={extraKeys:e,roundTopLeft:r===U.COMPACT&&!n,roundTopRight:r===U.COMPACT};switch(t){case I.FRACTION:return i.createElement(Nr,o);case I.EXPRESSION:return i.createElement(_r,o);default:throw new Error("Invalid keypad type: "+t)}}))}UNSAFE_componentWillMount(){this.props.active&&this.setState({hasBeenActivated:this.props.active})}componentDidMount(){this._onResize(),window.addEventListener("resize",this._throttleResizeHandler),window.addEventListener("orientationchange",this._throttleResizeHandler)}UNSAFE_componentWillReceiveProps(e){!this.state.hasBeenActivated&&e.active&&this.setState({hasBeenActivated:!0})}componentDidUpdate(e){e.active&&!this.props.active&&this.props.onDismiss&&this.props.onDismiss()}componentWillUnmount(){window.removeEventListener("resize",this._throttleResizeHandler),window.removeEventListener("orientationchange",this._throttleResizeHandler)}render(){var{active:e,layoutMode:t,navigationPadEnabled:r,onElementMounted:n,style:o}=this.props,{hasBeenActivated:s}=this.state,a=y(y({},e?Vr.active:Vr.hidden),e||s?{}:Vr.invisible),l=[Ur,zr,Dr,qr.keypadContainer,...Array.isArray(o)?o:[o]],d=[Ur,qr.keypadBorder,t===U.FULLSCREEN?qr.fullscreen:qr.compact];return i.createElement(M,{style:l,dynamicStyle:a,extraClassName:"keypad-container"},i.createElement(M,{style:d,ref:e=>{!this.hasMounted&&e&&(this.hasMounted=!0,n(e))}},r&&i.createElement(Br,{roundTopLeft:t===U.COMPACT,style:qr.navigationPadContainer}),i.createElement(M,{style:qr.keypadLayout},this.renderKeypad())))}}T(Hr,"propTypes",{active:o.bool,extraKeys:o.arrayOf(te),keypadType:o.oneOf(Object.keys(I)).isRequired,layoutMode:o.oneOf(Object.keys(U)).isRequired,navigationPadEnabled:o.bool.isRequired,onDismiss:o.func,onElementMounted:o.func,onPageSizeChange:o.func.isRequired,style:o.any});var qr=r.create({keypadContainer:{bottom:0,left:0,right:0,position:"fixed",transition:"".concat(300,"ms ease-out"),transitionProperty:"transform",zIndex:1060},keypadBorder:{boxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.1)",borderColor:"rgba(0, 0, 0, 0.2)",borderStyle:"solid"},fullscreen:{borderTopWidth:1},compact:{borderTopRightRadius:4,borderTopLeftRadius:4,borderTopWidth:1,borderRightWidth:1,borderLeftWidth:1},navigationPadContainer:{borderRight:"".concat(1,"px ").concat("solid"," ")+"".concat(A),boxSizing:"content-box"},keypadLayout:{flexGrow:1,flexBasis:"0%"}}),Vr={invisible:{visibility:"hidden"},hidden:{msTransform:"translate3d(0, 100%, 0)",WebkitTransform:"translate3d(0, 100%, 0)",transform:"translate3d(0, 100%, 0)"},active:{msTransform:"translate3d(0, 0, 0)",WebkitTransform:"translate3d(0, 0, 0)",transform:"translate3d(0, 0, 0)"}},Wr=d((e=>y(y({},e.keypad),{},{layoutMode:e.layout.layoutMode,navigationPadEnabled:e.layout.navigationPadEnabled})),(e=>({onPageSizeChange:(t,r)=>{e(((e,t)=>({type:"SetPageSize",pageWidthPx:e,pageHeightPx:t}))(t,r))}})),null,{forwardRef:!0})(Hr),Kr=["onElementMounted"];class jr extends i.Component{constructor(){super(...arguments),T(this,"mounted",void 0),T(this,"store",void 0),T(this,"activate",(()=>{this.store.dispatch({type:"ActivateKeypad"})})),T(this,"dismiss",(()=>{this.store.dispatch({type:"DismissKeypad"})})),T(this,"configure",((e,t)=>{this.store.dispatch((e=>({type:"ConfigureKeypad",configuration:e}))(e)),setTimeout((()=>t&&t()))})),T(this,"setCursor",(e=>{this.store.dispatch((e=>({type:"SetCursor",cursor:e}))(e))})),T(this,"setKeyHandler",(e=>{this.store.dispatch((e=>({type:"SetKeyHandler",keyHandler:e}))(e))})),T(this,"getDOMNode",(()=>s.findDOMNode(this)))}UNSAFE_componentWillMount(){this.store=Lr()}componentDidMount(){this.mounted=!0}componentWillUnmount(){this.mounted=!1}render(){var e=this.props,{onElementMounted:t}=e,r=_(e,Kr);return i.createElement(c,{store:this.store},i.createElement(Wr,C({onElementMounted:e=>{var r=y(y({},e),{},{activate:this.activate,dismiss:this.dismiss,configure:this.configure,setCursor:this.setCursor,setKeyHandler:this.setKeyHandler,getDOMNode:this.getDOMNode});t&&t(r)}},r)))}}export{jr as Keypad,be as KeypadInput,I as KeypadTypes,ne as keypadConfigurationPropType,oe as keypadElementPropType};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|