@pie-lib/math-input 6.43.0-mui-update.0 → 6.45.0-mui-update.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 CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [6.45.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.44.0-mui-update.0...@pie-lib/math-input@6.45.0-mui-update.0) (2025-12-29)
7
+
8
+ **Note:** Version bump only for package @pie-lib/math-input
9
+
10
+
11
+
12
+
13
+
14
+ # [6.44.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.43.0-mui-update.0...@pie-lib/math-input@6.44.0-mui-update.0) (2025-12-29)
15
+
16
+ **Note:** Version bump only for package @pie-lib/math-input
17
+
18
+
19
+
20
+
21
+
6
22
  # [6.43.0-mui-update.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@6.42.0-mui-update.0...@pie-lib/math-input@6.43.0-mui-update.0) (2025-12-17)
7
23
 
8
24
  **Note:** Version bump only for package @pie-lib/math-input
@@ -20,7 +20,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
20
20
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
21
21
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
22
22
  var _styles = require("@mui/material/styles");
23
- var _classnames = _interopRequireDefault(require("classnames"));
24
23
  var _debug = _interopRequireDefault(require("debug"));
25
24
  var _lodash = _interopRequireDefault(require("lodash"));
26
25
  var _mathquill = _interopRequireDefault(require("@pie-framework/mathquill"));
@@ -253,8 +252,7 @@ var StyledButton = (0, _styles.styled)(_Button["default"])(function (_ref4) {
253
252
  });
254
253
  });
255
254
  var StyledLatexButtonWrapper = (0, _styles.styled)(_Button["default"])(function (_ref5) {
256
- var theme = _ref5.theme,
257
- category = _ref5.category;
255
+ var category = _ref5.category;
258
256
  return {
259
257
  minWidth: 'auto',
260
258
  borderRadius: 0,
@@ -269,8 +267,7 @@ var StyledLatexButtonWrapper = (0, _styles.styled)(_Button["default"])(function
269
267
  };
270
268
  });
271
269
  var StyledIconButton = (0, _styles.styled)(_IconButton["default"])(function (_ref6) {
272
- var theme = _ref6.theme,
273
- category = _ref6.category;
270
+ var category = _ref6.category;
274
271
  return {
275
272
  minWidth: 'auto',
276
273
  backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.5) :
@@ -382,7 +379,7 @@ var KeyPad = exports.KeyPad = /*#__PURE__*/function (_React$Component) {
382
379
  }, createCustomLayout(layoutForKeyPad));
383
380
  return /*#__PURE__*/_react["default"].createElement(KeyPadContainer, {
384
381
  ref: this.keypadRef,
385
- className: (0, _classnames["default"])(className, mode),
382
+ className: [className, mode].filter(Boolean).join(' '),
386
383
  style: style,
387
384
  onFocus: onFocus
388
385
  }, allKeys.map(function (k, index) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_IconButton","_styles","_classnames","_debug","_lodash","_mathquill","mq","_interopRequireWildcard","_keys","_constants","_commonMqStyles","_keysLayout","_colors","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledLatexButton","styled","Button","_ref","_objectDestructuringEmpty2","textTransform","padding","margin","fontSize","LatexButtonContent","Static","_ref2","theme","latex","baseStyles","pointerEvents","color","text","transform","marginBottom","backgroundColor","concat","alpha","pink","borderTop","width","marginTop","fontFamily","top","lineHeight","left","right","minHeight","border","display","paddingTop","fontStyle","position","LatexButton","props","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","Fragment","className","onClick","ariaLabel","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPadContainer","_ref3","commonMqKeyboardStyles","gridRowGap","gridColumnGap","StyledButton","_ref4","category","isDelete","isComma","isDot","minWidth","lighten","indigo","borderRadius","StyledLatexButtonWrapper","_ref5","StyledIconButton","IconButton","_ref6","height","KeyPad","exports","_React$Component","_this","_classCallCheck2","setKeypadInteraction","key","onPress","base","extras","transposed","_toConsumableArray2","sortKeys","_","flatten","noDecimal","write","label","keypadRef","React","createRef","_inherits2","_createClass2","value","componentDidMount","_this$keypadRef","keyPadElement","current","mainContainer","closest","editableHtmlConstants","MAIN_CONTAINER_CLASS","currentToolbar","controlledKeypadMode","mainContainerPosition","getBoundingClientRect","currentToolbarPosition","difference","totalHeight","style","addEventListener","handleKeypadInteraction","componentWillUnmount","_this$keypadRef2","removeEventListener","render","_this2","_this$props","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","Math","floor","ref","classNames","map","k","index","buttonClick","bind","common","disabled","keyIsNotAllowed","command","actions","extraProps","_extends2","undefined","name","Icon","icon","tabIndex","size","Component","PropTypes","string","bool","array","object","func","isRequired","oneOfType","number","_default"],"sources":["../../src/keypad/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport IconButton from '@mui/material/IconButton';\nimport { lighten, alpha, styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport _ from 'lodash';\nimport MathQuill from '@pie-framework/mathquill';\nimport * as mq from '../mq';\n\nimport { baseSet } from '../keys';\nimport editableHtmlConstants from '../../../editable-html/src/constants';\nimport { commonMqKeyboardStyles } from '../mq/common-mq-styles';\nimport { sortKeys } from './keys-layout';\nimport { green, indigo, pink } from '@mui/material/colors';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst StyledLatexButton = styled(Button)(({}) => ({\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important',\n}));\n\nconst LatexButtonContent = styled(mq.Static)(({ theme, latex }) => {\n const baseStyles = {\n pointerEvents: 'none',\n textTransform: 'none !important',\n color: color.text(),\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important',\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important',\n },\n '& .mq-empty': {\n backgroundColor: `${alpha(pink[300], 0.4)} !important`,\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black',\n },\n '& .mq-non-leaf.mq-overline': {\n borderTop: 'none !important',\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n '&.mq-arrow-both': {\n top: '0px !important',\n '& *': {\n lineHeight: '1 !important',\n borderTop: 'none !important',\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%) !important',\n top: '-0.31em !important',\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em',\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.26em',\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.26em',\n },\n '&.mq-empty': {\n minHeight: '1.4em',\n },\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%) !important',\n top: '-0.26em !important',\n },\n '& .mq-overarrow-inner': {\n border: 'none !important',\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n },\n '& .mq-root-block': {\n padding: '5px !important',\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px',\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px',\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px',\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important',\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85,\n },\n '& .mq-overarc': {\n borderTop: '2px solid black !important',\n '& .mq-overline': {\n borderTop: 'none !important',\n },\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important',\n },\n },\n };\n\n // Add specific styles based on latex content\n if (latex === '\\\\parallel') {\n return {\n ...baseStyles,\n fontStyle: 'italic !important',\n };\n }\n\n if (latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n return {\n ...baseStyles,\n '& .mq-overarrow.mq-arrow-both': {\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important',\n },\n '&:after': {\n position: 'absolute !important',\n top: '0px !important',\n },\n },\n };\n }\n\n return baseStyles;\n});\n\nconst LatexButton = (props) => {\n try {\n const MQ = MathQuill.getInterface(2);\n const span = document.createElement('span');\n span.innerHTML = '';\n const mathField = MQ.StaticMath(span);\n\n mathField.parseLatex(props.latex);\n mathField.latex(props.latex);\n } catch (e) {\n // received latex has errors - do not create button\n return <></>;\n }\n\n return (\n <StyledLatexButton\n className={props.className}\n onClick={props.onClick}\n aria-label={props.ariaLabel}\n >\n <LatexButtonContent latex={props.latex} />\n </StyledLatexButton>\n );\n};\n\nconst createCustomLayout = (layoutObj) => {\n if (layoutObj) {\n return {\n gridTemplateColumns: `repeat(${layoutObj.columns}, minmax(min-content, 150px))`,\n gridTemplateRows: `repeat(${layoutObj.rows}, minmax(40px, 60px))`,\n gridAutoFlow: 'initial',\n };\n }\n\n return {};\n};\n\nconst KeyPadContainer = styled('div')(({}) => ({\n ...commonMqKeyboardStyles,\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column',\n '&.character': {\n textTransform: 'initial !important',\n gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',\n },\n '&.language': {\n gridTemplateRows: 'repeat(4, minmax(40px, 50px)) !important',\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n },\n}));\n\nconst StyledButton = styled(Button)(({ theme, category, isDelete, isComma, isDot }) => ({\n minWidth: 'auto',\n fontSize: isComma || isDot ? '200% !important' : '140% !important',\n lineHeight: isComma || isDot ? '100%' : 'normal',\n color: color.text(),\n\n backgroundColor:\n category === 'operators' ? lighten(pink[300], 0.5) :\n // this code with green seems to not be applied to current implementation, so I commented it out, but left it here just in case\n // category === 'comparison' ? lighten(green[500], 0.5) :\n lighten(indigo[300], 0.5),\n '&:hover': {\n backgroundColor:\n category === 'operators' ? lighten(pink[300], 0.7) :\n // category === 'comparison' ? lighten(green[500], 0.7) :\n lighten(indigo[300], 0.7),\n },\n borderRadius: 0,\n ...(isDelete && {\n '& > span': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n }),\n}));\n\nconst StyledLatexButtonWrapper = styled(Button)(({ theme, category }) => ({\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor:\n category === 'operators' ? lighten(pink[300], 0.5) :\n // category === 'comparison' ? lighten(green[500], 0.5) :\n lighten(indigo[300], 0.5),\n '&:hover': {\n backgroundColor:\n category === 'operators' ? lighten(pink[300], 0.7) :\n // category === 'comparison' ? lighten(green[500], 0.7) :\n lighten(indigo[300], 0.7),\n },\n}));\n\nconst StyledIconButton = styled(IconButton)(({ theme, category }) => ({\n minWidth: 'auto',\n backgroundColor:\n category === 'operators' ? lighten(pink[300], 0.5) :\n // category === 'comparison' ? lighten(green[500], 0.5) :\n lighten(indigo[300], 0.5),\n '&:hover': {\n backgroundColor:\n category === 'operators' ? lighten(pink[300], 0.7) :\n // category === 'comparison' ? lighten(green[500], 0.7) :\n lighten(indigo[300], 0.7),\n },\n borderRadius: 0,\n '& .icon': {\n height: '30px',\n },\n}));\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n controlledKeypadMode: PropTypes.bool,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n layoutForKeyPad: PropTypes.object,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n setKeypadInteraction: PropTypes.func,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false,\n };\n\n constructor(props) {\n super(props);\n this.keypadRef = React.createRef();\n }\n\n componentDidMount() {\n const keyPadElement = this.keypadRef?.current;\n const mainContainer = keyPadElement?.closest(`.${editableHtmlConstants.MAIN_CONTAINER_CLASS}`);\n const currentToolbar = keyPadElement?.closest('.pie-toolbar');\n\n // need only for math keyboard so we need also controlledKeypadMode\n if (this.props.controlledKeypadMode && mainContainer && currentToolbar) {\n const mainContainerPosition = mainContainer.getBoundingClientRect();\n const currentToolbarPosition = currentToolbar.getBoundingClientRect();\n const difference =\n mainContainerPosition.top +\n mainContainerPosition.height -\n (currentToolbarPosition.top + currentToolbarPosition.height);\n if (difference < 0) {\n const totalHeight = mainContainerPosition.height + mainContainerPosition.top - difference;\n // increase the height of the main container if keyboard needs it\n if (mainContainer) {\n mainContainer.style.height = `${totalHeight}px`;\n }\n }\n }\n\n if (keyPadElement) {\n keyPadElement.addEventListener('touchstart', this.handleKeypadInteraction, true);\n keyPadElement.addEventListener('mousedown', this.handleKeypadInteraction, true);\n }\n }\n\n componentWillUnmount() {\n const keyPadElement = this.keypadRef?.current;\n // need only for math keyboard\n if (this.props.controlledKeypadMode && keyPadElement) {\n const mainContainer = keyPadElement.closest(`.${editableHtmlConstants.MAIN_CONTAINER_CLASS}`);\n\n if (mainContainer) {\n mainContainer.style.height = 'unset';\n }\n }\n\n if (keyPadElement) {\n keyPadElement.removeEventListener('touchstart', this.handleKeypadInteraction, true);\n keyPadElement.removeEventListener('mousedown', this.handleKeypadInteraction, true);\n }\n }\n\n handleKeypadInteraction = () => {\n // Check if the setKeypadInteraction prop is available, which is used for both\n // the language keypad and the special characters keypad\n if (this.props.setKeypadInteraction) {\n this.props.setKeypadInteraction(true);\n }\n };\n\n buttonClick = (key) => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = (key) => {\n const { noDecimal } = this.props;\n\n if (((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) && noDecimal) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { className, baseSet, additionalKeys, layoutForKeyPad, onFocus, mode } = this.props;\n\n const noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];\n\n const keysWithoutBaseSet = noBaseSet.includes(mode);\n const allKeys = keysWithoutBaseSet\n ? this.flowKeys([], additionalKeys || [])\n : this.flowKeys(baseSet, additionalKeys || []);\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) + shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad),\n };\n\n return (\n <KeyPadContainer\n ref={this.keypadRef}\n className={classNames(className, mode)}\n style={style}\n onFocus={onFocus}\n >\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`,\n ...(k.actions || {}),\n ...(k.extraProps || {}),\n };\n\n if (k.latex) {\n return (\n <StyledLatexButtonWrapper\n {...common}\n category={!keysWithoutBaseSet ? k.category : undefined}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n >\n <LatexButtonContent latex={k.latex} />\n </StyledLatexButtonWrapper>\n );\n }\n\n if (k.label) {\n return (\n <StyledButton\n {...common}\n category={!keysWithoutBaseSet ? k.category : undefined}\n isDelete={k.label === '⌫'}\n isComma={k.label === ','}\n isDot={k.label === '.'}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n >\n {k.label}\n </StyledButton>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <StyledIconButton\n tabIndex={'-1'}\n {...common}\n category={!keysWithoutBaseSet ? k.category : undefined}\n size=\"large\"\n >\n <Icon className=\"icon\" />\n </StyledIconButton>\n );\n }\n })}\n </KeyPadContainer>\n );\n }\n}\n\nexport default KeyPad;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,WAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,EAAA,GAAAC,uBAAA,CAAAV,OAAA;AAEA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,UAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AACA,IAAAgB,SAAA,GAAAhB,OAAA;AAA2C,SAAAU,wBAAAO,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAT,uBAAA,YAAAA,wBAAAO,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,WAAAnB,CAAA,EAAAK,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAArB,CAAA,EAAAsB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAApB,CAAA,EAAAyB,WAAA,IAAApB,CAAA,CAAAqB,KAAA,CAAA1B,CAAA,EAAAD,CAAA;AAAA,SAAAuB,0BAAA,cAAAtB,CAAA,IAAA2B,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAd,IAAA,CAAAQ,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAA3B,CAAA,aAAAsB,yBAAA,YAAAA,0BAAA,aAAAtB,CAAA;AAAA,SAAA8B,QAAA/B,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAgB,MAAA,CAAAe,IAAA,CAAAhC,CAAA,OAAAiB,MAAA,CAAAgB,qBAAA,QAAA3B,CAAA,GAAAW,MAAA,CAAAgB,qBAAA,CAAAjC,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAA4B,MAAA,WAAA/B,CAAA,WAAAc,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAG,CAAA,EAAAgC,UAAA,OAAAlC,CAAA,CAAAmC,IAAA,CAAAT,KAAA,CAAA1B,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAoC,cAAArC,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAmC,SAAA,CAAAC,MAAA,EAAApC,CAAA,UAAAF,CAAA,WAAAqC,SAAA,CAAAnC,CAAA,IAAAmC,SAAA,CAAAnC,CAAA,QAAAA,CAAA,OAAA4B,OAAA,CAAAd,MAAA,CAAAhB,CAAA,OAAAuC,OAAA,WAAArC,CAAA,QAAAsC,gBAAA,aAAAzC,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAc,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAA3C,CAAA,EAAAiB,MAAA,CAAAyB,yBAAA,CAAAzC,CAAA,KAAA8B,OAAA,CAAAd,MAAA,CAAAhB,CAAA,GAAAuC,OAAA,WAAArC,CAAA,IAAAc,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAc,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAE3C,IAAM4C,GAAG,GAAG,IAAAC,iBAAK,EAAC,4BAA4B,CAAC;AAE/C,IAAMC,iBAAiB,GAAG,IAAAC,cAAM,EAACC,kBAAM,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAAC,0BAAA,aAAAD,IAAA;EAAA,OAAS;IAChDE,aAAa,EAAE,MAAM;IACrBC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE,CAAC;IACTC,QAAQ,EAAE;EACZ,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,kBAAkB,GAAG,IAAAR,cAAM,EAACvD,EAAE,CAACgE,MAAM,CAAC,CAAC,UAAAC,KAAA,EAAsB;EAAA,IAAnBC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK;EAC1D,IAAMC,UAAU,GAAG;IACjBC,aAAa,EAAE,MAAM;IACrBV,aAAa,EAAE,iBAAiB;IAChCW,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC,CAAC;IACnB,6BAA6B,EAAE;MAC7BC,SAAS,EAAE;IACb,CAAC;IACD,wBAAwB,EAAE;MACxBC,YAAY,EAAE;IAChB,CAAC;IACD,aAAa,EAAE;MACbC,eAAe,KAAAC,MAAA,CAAK,IAAAC,aAAK,EAACC,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAC3C,CAAC;IACD,mCAAmC,EAAE;MACnCC,SAAS,EAAE;IACb,CAAC;IACD,4BAA4B,EAAE;MAC5BA,SAAS,EAAE;IACb,CAAC;IACD,iBAAiB,EAAE;MACjBC,KAAK,EAAE,MAAM;MACbC,SAAS,EAAE,cAAc;MACzBF,SAAS,EAAE,iBAAiB;MAC5BG,UAAU,EAAE,iDAAiD;MAC7D,iBAAiB,EAAE;QACjBC,GAAG,EAAE,gBAAgB;QACrB,KAAK,EAAE;UACLC,UAAU,EAAE,cAAc;UAC1BL,SAAS,EAAE;QACb,CAAC;QACD,UAAU,EAAE;UACVhB,QAAQ,EAAE,KAAK;UACfsB,IAAI,EAAE,uBAAuB;UAC7BF,GAAG,EAAE;QACP,CAAC;QACD,SAAS,EAAE;UACTpB,QAAQ,EAAE,gBAAgB;UAC1BuB,KAAK,EAAE,uBAAuB;UAC9BH,GAAG,EAAE;QACP,CAAC;QACD,mBAAmB,EAAE;UACnBpB,QAAQ,EAAE,KAAK;UACfsB,IAAI,EAAE,YAAY;UAClBF,GAAG,EAAE;QACP,CAAC;QACD,kBAAkB,EAAE;UAClBpB,QAAQ,EAAE,KAAK;UACfuB,KAAK,EAAE,YAAY;UACnBH,GAAG,EAAE;QACP,CAAC;QACD,YAAY,EAAE;UACZI,SAAS,EAAE;QACb;MACF,CAAC;MACD,yBAAyB,EAAE;QACzBxB,QAAQ,EAAE,KAAK;QACfuB,KAAK,EAAE,uBAAuB;QAC9BH,GAAG,EAAE;MACP,CAAC;MACD,uBAAuB,EAAE;QACvBK,MAAM,EAAE;MACV,CAAC;MACD,iDAAiD,EAAE;QACjDC,OAAO,EAAE;MACX;IACF,CAAC;IACD,kBAAkB,EAAE;MAClB5B,OAAO,EAAE;IACX,CAAC;IACD,8CAA8C,EAAE;MAC9CyB,KAAK,EAAE,MAAM;MACbvB,QAAQ,EAAE,gBAAgB;MAC1BoB,GAAG,EAAE;IACP,CAAC;IACD,gDAAgD,EAAE;MAChDG,KAAK,EAAE,MAAM;MACbvB,QAAQ,EAAE,gBAAgB;MAC1BoB,GAAG,EAAE;IACP,CAAC;IACD,+CAA+C,EAAE;MAC/CE,IAAI,EAAE,MAAM;MACZtB,QAAQ,EAAE,gBAAgB;MAC1BoB,GAAG,EAAE;IACP,CAAC;IACD,qBAAqB,EAAE;MACrBJ,SAAS,EAAE,sBAAsB;MACjCW,UAAU,EAAE;IACd,CAAC;IACD,qBAAqB,EAAE;MACrBN,UAAU,EAAE;IACd,CAAC;IACD,eAAe,EAAE;MACfL,SAAS,EAAE,4BAA4B;MACvC,gBAAgB,EAAE;QAChBA,SAAS,EAAE;MACb,CAAC;MACD,sBAAsB,EAAE;QACtBA,SAAS,EAAE,iBAAiB;QAC5BW,UAAU,EAAE;MACd;IACF;EACF,CAAC;;EAED;EACA,IAAItB,KAAK,KAAK,YAAY,EAAE;IAC1B,OAAAtB,aAAA,CAAAA,aAAA,KACKuB,UAAU;MACbsB,SAAS,EAAE;IAAmB;EAElC;EAEA,IAAIvB,KAAK,KAAK,oCAAoC,EAAE;IAClD,OAAAtB,aAAA,CAAAA,aAAA,KACKuB,UAAU;MACb,+BAA+B,EAAE;QAC/B,sBAAsB,EAAE;UACtBU,SAAS,EAAE,iBAAiB;UAC5BW,UAAU,EAAE;QACd,CAAC;QACD,SAAS,EAAE;UACTE,QAAQ,EAAE,qBAAqB;UAC/BT,GAAG,EAAE;QACP;MACF;IAAC;EAEL;EAEA,OAAOd,UAAU;AACnB,CAAC,CAAC;AAEF,IAAMwB,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAK,EAAK;EAC7B,IAAI;IACF,IAAMC,EAAE,GAAGC,qBAAS,CAACC,YAAY,CAAC,CAAC,CAAC;IACpC,IAAMC,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;IAC3CF,IAAI,CAACG,SAAS,GAAG,EAAE;IACnB,IAAMC,SAAS,GAAGP,EAAE,CAACQ,UAAU,CAACL,IAAI,CAAC;IAErCI,SAAS,CAACE,UAAU,CAACV,KAAK,CAAC1B,KAAK,CAAC;IACjCkC,SAAS,CAAClC,KAAK,CAAC0B,KAAK,CAAC1B,KAAK,CAAC;EAC9B,CAAC,CAAC,OAAO3D,CAAC,EAAE;IACV;IACA,oBAAOnB,MAAA,YAAA8G,aAAA,CAAA9G,MAAA,YAAAmH,QAAA,MAAI,CAAC;EACd;EAEA,oBACEnH,MAAA,YAAA8G,aAAA,CAAC7C,iBAAiB;IAChBmD,SAAS,EAAEZ,KAAK,CAACY,SAAU;IAC3BC,OAAO,EAAEb,KAAK,CAACa,OAAQ;IACvB,cAAYb,KAAK,CAACc;EAAU,gBAE5BtH,MAAA,YAAA8G,aAAA,CAACpC,kBAAkB;IAACI,KAAK,EAAE0B,KAAK,CAAC1B;EAAM,CAAE,CACxB,CAAC;AAExB,CAAC;AAED,IAAMyC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,SAAS,EAAK;EACxC,IAAIA,SAAS,EAAE;IACb,OAAO;MACLC,mBAAmB,YAAAnC,MAAA,CAAYkC,SAAS,CAACE,OAAO,kCAA+B;MAC/EC,gBAAgB,YAAArC,MAAA,CAAYkC,SAAS,CAACI,IAAI,0BAAuB;MACjEC,YAAY,EAAE;IAChB,CAAC;EACH;EAEA,OAAO,CAAC,CAAC;AACX,CAAC;AAED,IAAMC,eAAe,GAAG,IAAA5D,cAAM,EAAC,KAAK,CAAC,CAAC,UAAA6D,KAAA;EAAA,IAAA1D,0BAAA,aAAA0D,KAAA;EAAA,OAAAvE,aAAA,CAAAA,aAAA,KACjCwE,sCAAsB;IACzBtC,KAAK,EAAE,MAAM;IACbS,OAAO,EAAE,MAAM;IACfwB,gBAAgB,EAAE,+BAA+B;IACjDM,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE,KAAK;IACpBL,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE;MACbvD,aAAa,EAAE,oBAAoB;MACnCqD,gBAAgB,EAAE;IACpB,CAAC;IACD,YAAY,EAAE;MACZA,gBAAgB,EAAE,0CAA0C;MAC5D,KAAK,EAAE;QACL/B,UAAU,EAAE;MACd;IACF;EAAC;AAAA,CACD,CAAC;AAEH,IAAMuC,YAAY,GAAG,IAAAjE,cAAM,EAACC,kBAAM,CAAC,CAAC,UAAAiE,KAAA;EAAA,IAAGvD,KAAK,GAAAuD,KAAA,CAALvD,KAAK;IAAEwD,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IAAEC,OAAO,GAAAH,KAAA,CAAPG,OAAO;IAAEC,KAAK,GAAAJ,KAAA,CAALI,KAAK;EAAA,OAAAhF,aAAA;IAC9EiF,QAAQ,EAAE,MAAM;IAChBhE,QAAQ,EAAE8D,OAAO,IAAIC,KAAK,GAAG,iBAAiB,GAAG,iBAAiB;IAClE1C,UAAU,EAAEyC,OAAO,IAAIC,KAAK,GAAG,MAAM,GAAG,QAAQ;IAChDvD,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC,CAAC;IAEnBG,eAAe,EACbgD,QAAQ,KAAK,WAAW,GAAG,IAAAK,eAAO,EAAClD,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAChD;IACA;IACE,IAAAkD,eAAO,EAACC,cAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAC/B,SAAS,EAAE;MACTtD,eAAe,EACbgD,QAAQ,KAAK,WAAW,GAAG,IAAAK,eAAO,EAAClD,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;MAChD;MACE,IAAAkD,eAAO,EAACC,cAAM,CAAC,GAAG,CAAC,EAAE,GAAG;IAChC,CAAC;IACDC,YAAY,EAAE;EAAC,GACXN,QAAQ,IAAI;IACd,UAAU,EAAE;MACV1C,UAAU,EAAE;IACd;EACF,CAAC;AAAA,CACD,CAAC;AAEH,IAAMiD,wBAAwB,GAAG,IAAA3E,cAAM,EAACC,kBAAM,CAAC,CAAC,UAAA2E,KAAA;EAAA,IAAGjE,KAAK,GAAAiE,KAAA,CAALjE,KAAK;IAAEwD,QAAQ,GAAAS,KAAA,CAART,QAAQ;EAAA,OAAQ;IACxEI,QAAQ,EAAE,MAAM;IAChBG,YAAY,EAAE,CAAC;IACfvD,eAAe,EACbgD,QAAQ,KAAK,WAAW,GAAG,IAAAK,eAAO,EAAClD,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAChD;IACE,IAAAkD,eAAO,EAACC,cAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAC/B,SAAS,EAAE;MACTtD,eAAe,EACbgD,QAAQ,KAAK,WAAW,GAAG,IAAAK,eAAO,EAAClD,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;MAChD;MACE,IAAAkD,eAAO,EAACC,cAAM,CAAC,GAAG,CAAC,EAAE,GAAG;IAChC;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMI,gBAAgB,GAAG,IAAA7E,cAAM,EAAC8E,sBAAU,CAAC,CAAC,UAAAC,KAAA;EAAA,IAAGpE,KAAK,GAAAoE,KAAA,CAALpE,KAAK;IAAEwD,QAAQ,GAAAY,KAAA,CAARZ,QAAQ;EAAA,OAAQ;IACpEI,QAAQ,EAAE,MAAM;IAChBpD,eAAe,EACbgD,QAAQ,KAAK,WAAW,GAAG,IAAAK,eAAO,EAAClD,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAChD;IACE,IAAAkD,eAAO,EAACC,cAAM,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;IAC/B,SAAS,EAAE;MACTtD,eAAe,EACbgD,QAAQ,KAAK,WAAW,GAAG,IAAAK,eAAO,EAAClD,YAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;MAChD;MACE,IAAAkD,eAAO,EAACC,cAAM,CAAC,GAAG,CAAC,EAAE,GAAG;IAChC,CAAC;IACDC,YAAY,EAAE,CAAC;IACf,SAAS,EAAE;MACTM,MAAM,EAAE;IACV;EACF,CAAC;AAAA,CAAC,CAAC;AAAC,IAESC,MAAM,GAAAC,OAAA,CAAAD,MAAA,0BAAAE,gBAAA;EAkBjB,SAAAF,OAAY3C,KAAK,EAAE;IAAA,IAAA8C,KAAA;IAAA,IAAAC,gBAAA,mBAAAJ,MAAA;IACjBG,KAAA,GAAA/G,UAAA,OAAA4G,MAAA,GAAM3C,KAAK;IAAE,IAAA5C,gBAAA,aAAA0F,KAAA,6BAiDW,YAAM;MAC9B;MACA;MACA,IAAIA,KAAA,CAAK9C,KAAK,CAACgD,oBAAoB,EAAE;QACnCF,KAAA,CAAK9C,KAAK,CAACgD,oBAAoB,CAAC,IAAI,CAAC;MACvC;IACF,CAAC;IAAA,IAAA5F,gBAAA,aAAA0F,KAAA,iBAEa,UAACG,GAAG,EAAK;MACrB1F,GAAG,CAAC,eAAe,EAAE0F,GAAG,CAAC;MACzB,IAAQC,OAAO,GAAKJ,KAAA,CAAK9C,KAAK,CAAtBkD,OAAO;MAEfA,OAAO,CAACD,GAAG,CAAC;IACd,CAAC;IAAA,IAAA7F,gBAAA,aAAA0F,KAAA,cAEU,UAACK,IAAI,EAAEC,MAAM,EAAK;MAC3B,IAAMC,UAAU,MAAAvE,MAAA,KAAAwE,mBAAA,aAAO,IAAAC,oBAAQ,EAACJ,IAAI,CAAC,OAAAG,mBAAA,aAAK,IAAAC,oBAAQ,EAACH,MAAM,CAAC,EAAC;MAC3D,OAAOI,kBAAC,CAACC,OAAO,CAACJ,UAAU,CAAC;IAC9B,CAAC;IAAA,IAAAjG,gBAAA,aAAA0F,KAAA,qBAEiB,UAACG,GAAG,EAAK;MACzB,IAAQS,SAAS,GAAKZ,KAAA,CAAK9C,KAAK,CAAxB0D,SAAS;MAEjB,IAAI,CAAET,GAAG,CAACU,KAAK,KAAK,GAAG,IAAIV,GAAG,CAACW,KAAK,KAAK,GAAG,IAAMX,GAAG,CAACU,KAAK,KAAK,GAAG,IAAIV,GAAG,CAACW,KAAK,KAAK,GAAI,KAAKF,SAAS,EAAE;QACvG,OAAO,IAAI;MACb;MAEA,OAAO,KAAK;IACd,CAAC;IA5ECZ,KAAA,CAAKe,SAAS,gBAAGC,iBAAK,CAACC,SAAS,CAAC,CAAC;IAAC,OAAAjB,KAAA;EACrC;EAAC,IAAAkB,UAAA,aAAArB,MAAA,EAAAE,gBAAA;EAAA,WAAAoB,aAAA,aAAAtB,MAAA;IAAAM,GAAA;IAAAiB,KAAA,EAED,SAAAC,iBAAiBA,CAAA,EAAG;MAAA,IAAAC,eAAA;MAClB,IAAMC,aAAa,IAAAD,eAAA,GAAG,IAAI,CAACP,SAAS,cAAAO,eAAA,uBAAdA,eAAA,CAAgBE,OAAO;MAC7C,IAAMC,aAAa,GAAGF,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,OAAO,KAAA1F,MAAA,CAAK2F,qBAAqB,CAACC,oBAAoB,CAAE,CAAC;MAC9F,IAAMC,cAAc,GAAGN,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEG,OAAO,CAAC,cAAc,CAAC;;MAE7D;MACA,IAAI,IAAI,CAACxE,KAAK,CAAC4E,oBAAoB,IAAIL,aAAa,IAAII,cAAc,EAAE;QACtE,IAAME,qBAAqB,GAAGN,aAAa,CAACO,qBAAqB,CAAC,CAAC;QACnE,IAAMC,sBAAsB,GAAGJ,cAAc,CAACG,qBAAqB,CAAC,CAAC;QACrE,IAAME,UAAU,GACdH,qBAAqB,CAACxF,GAAG,GACzBwF,qBAAqB,CAACnC,MAAM,IAC3BqC,sBAAsB,CAAC1F,GAAG,GAAG0F,sBAAsB,CAACrC,MAAM,CAAC;QAC9D,IAAIsC,UAAU,GAAG,CAAC,EAAE;UAClB,IAAMC,WAAW,GAAGJ,qBAAqB,CAACnC,MAAM,GAAGmC,qBAAqB,CAACxF,GAAG,GAAG2F,UAAU;UACzF;UACA,IAAIT,aAAa,EAAE;YACjBA,aAAa,CAACW,KAAK,CAACxC,MAAM,MAAA5D,MAAA,CAAMmG,WAAW,OAAI;UACjD;QACF;MACF;MAEA,IAAIZ,aAAa,EAAE;QACjBA,aAAa,CAACc,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAACC,uBAAuB,EAAE,IAAI,CAAC;QAChFf,aAAa,CAACc,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAACC,uBAAuB,EAAE,IAAI,CAAC;MACjF;IACF;EAAC;IAAAnC,GAAA;IAAAiB,KAAA,EAED,SAAAmB,oBAAoBA,CAAA,EAAG;MAAA,IAAAC,gBAAA;MACrB,IAAMjB,aAAa,IAAAiB,gBAAA,GAAG,IAAI,CAACzB,SAAS,cAAAyB,gBAAA,uBAAdA,gBAAA,CAAgBhB,OAAO;MAC7C;MACA,IAAI,IAAI,CAACtE,KAAK,CAAC4E,oBAAoB,IAAIP,aAAa,EAAE;QACpD,IAAME,aAAa,GAAGF,aAAa,CAACG,OAAO,KAAA1F,MAAA,CAAK2F,qBAAqB,CAACC,oBAAoB,CAAE,CAAC;QAE7F,IAAIH,aAAa,EAAE;UACjBA,aAAa,CAACW,KAAK,CAACxC,MAAM,GAAG,OAAO;QACtC;MACF;MAEA,IAAI2B,aAAa,EAAE;QACjBA,aAAa,CAACkB,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAACH,uBAAuB,EAAE,IAAI,CAAC;QACnFf,aAAa,CAACkB,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAACH,uBAAuB,EAAE,IAAI,CAAC;MACpF;IACF;EAAC;IAAAnC,GAAA;IAAAiB,KAAA,EAgCD,SAAAsB,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,WAAA,GAA+E,IAAI,CAAC1F,KAAK;QAAjFY,SAAS,GAAA8E,WAAA,CAAT9E,SAAS;QAAE+E,OAAO,GAAAD,WAAA,CAAPC,OAAO;QAAEC,cAAc,GAAAF,WAAA,CAAdE,cAAc;QAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;QAAEC,OAAO,GAAAJ,WAAA,CAAPI,OAAO;QAAEC,IAAI,GAAAL,WAAA,CAAJK,IAAI;MAE1E,IAAMC,SAAS,GAAG,CAAC,uBAAuB,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,CAAC;MAE9G,IAAMC,kBAAkB,GAAGD,SAAS,CAACE,QAAQ,CAACH,IAAI,CAAC;MACnD,IAAMI,OAAO,GAAGF,kBAAkB,GAC9B,IAAI,CAACG,QAAQ,CAAC,EAAE,EAAER,cAAc,IAAI,EAAE,CAAC,GACvC,IAAI,CAACQ,QAAQ,CAACT,OAAO,EAAEC,cAAc,IAAI,EAAE,CAAC;MAEhD,IAAMS,KAAK,GAAGF,OAAO,CAACjJ,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;MACxC,IAAMgI,KAAK,GAAAlI,aAAA;QACTiE,mBAAmB,YAAAnC,MAAA,CAAYwH,IAAI,CAACC,KAAK,CAACJ,OAAO,CAACjJ,MAAM,GAAG,CAAC,CAAC,GAAGmJ,KAAK;MAA+B,GACjGtF,kBAAkB,CAAC8E,eAAe,CAAC,CACvC;MAED,oBACErM,MAAA,YAAA8G,aAAA,CAACgB,eAAe;QACdkF,GAAG,EAAE,IAAI,CAAC3C,SAAU;QACpBjD,SAAS,EAAE,IAAA6F,sBAAU,EAAC7F,SAAS,EAAEmF,IAAI,CAAE;QACvCb,KAAK,EAAEA,KAAM;QACbY,OAAO,EAAEA;MAAQ,GAEhBK,OAAO,CAACO,GAAG,CAAC,UAACC,CAAC,EAAEC,KAAK,EAAK;QACzB,IAAM/F,OAAO,GAAG4E,MAAI,CAACoB,WAAW,CAACC,IAAI,CAACrB,MAAI,EAAEkB,CAAC,CAAC;QAE9C,IAAI,CAACA,CAAC,EAAE;UACN,oBAAOnN,MAAA,YAAA8G,aAAA;YAAM2C,GAAG,WAAAnE,MAAA,CAAW8H,KAAK;UAAG,CAAE,CAAC;QACxC;QAEA,IAAMG,MAAM,GAAA/J,aAAA,CAAAA,aAAA;UACV6D,OAAO,EAAPA,OAAO;UACPmG,QAAQ,EAAEvB,MAAI,CAACwB,eAAe,CAACN,CAAC,CAAC;UACjC1D,GAAG,KAAAnE,MAAA,CAAK6H,CAAC,CAAC/C,KAAK,IAAI+C,CAAC,CAACrI,KAAK,IAAIqI,CAAC,CAACO,OAAO,OAAApI,MAAA,CAAI8H,KAAK;QAAE,GAC9CD,CAAC,CAACQ,OAAO,IAAI,CAAC,CAAC,GACfR,CAAC,CAACS,UAAU,IAAI,CAAC,CAAC,CACvB;QAED,IAAIT,CAAC,CAACrI,KAAK,EAAE;UACX,oBACE9E,MAAA,YAAA8G,aAAA,CAAC+B,wBAAwB,MAAAgF,SAAA,iBACnBN,MAAM;YACVlF,QAAQ,EAAE,CAACoE,kBAAkB,GAAGU,CAAC,CAAC9E,QAAQ,GAAGyF,SAAU;YACvD,cAAYX,CAAC,CAAC7F,SAAS,GAAG6F,CAAC,CAAC7F,SAAS,GAAG6F,CAAC,CAACY,IAAI,IAAIZ,CAAC,CAAC/C;UAAM,iBAE1DpK,MAAA,YAAA8G,aAAA,CAACpC,kBAAkB;YAACI,KAAK,EAAEqI,CAAC,CAACrI;UAAM,CAAE,CACb,CAAC;QAE/B;QAEA,IAAIqI,CAAC,CAAC/C,KAAK,EAAE;UACX,oBACEpK,MAAA,YAAA8G,aAAA,CAACqB,YAAY,MAAA0F,SAAA,iBACPN,MAAM;YACVlF,QAAQ,EAAE,CAACoE,kBAAkB,GAAGU,CAAC,CAAC9E,QAAQ,GAAGyF,SAAU;YACvDxF,QAAQ,EAAE6E,CAAC,CAAC/C,KAAK,KAAK,GAAI;YAC1B7B,OAAO,EAAE4E,CAAC,CAAC/C,KAAK,KAAK,GAAI;YACzB5B,KAAK,EAAE2E,CAAC,CAAC/C,KAAK,KAAK,GAAI;YACvB,cAAY+C,CAAC,CAAC7F,SAAS,GAAG6F,CAAC,CAAC7F,SAAS,GAAG6F,CAAC,CAACY,IAAI,IAAIZ,CAAC,CAAC/C;UAAM,IAEzD+C,CAAC,CAAC/C,KACS,CAAC;QAEnB,CAAC,MAAM;UACL,IAAM4D,IAAI,GAAGb,CAAC,CAACc,IAAI,GAAGd,CAAC,CAACc,IAAI,GAAG,KAAK;UAEpC,oBACEjO,MAAA,YAAA8G,aAAA,CAACiC,gBAAgB,MAAA8E,SAAA;YACfK,QAAQ,EAAE;UAAK,GACXX,MAAM;YACVlF,QAAQ,EAAE,CAACoE,kBAAkB,GAAGU,CAAC,CAAC9E,QAAQ,GAAGyF,SAAU;YACvDK,IAAI,EAAC;UAAO,iBAEZnO,MAAA,YAAA8G,aAAA,CAACkH,IAAI;YAAC5G,SAAS,EAAC;UAAM,CAAE,CACR,CAAC;QAEvB;MACF,CAAC,CACc,CAAC;IAEtB;EAAC;AAAA,EAlLyBkD,iBAAK,CAAC8D,SAAS;AAAA,IAAAxK,gBAAA,aAA9BuF,MAAM,eACE;EACjB/B,SAAS,EAAEiH,qBAAS,CAACC,MAAM;EAC3BlD,oBAAoB,EAAEiD,qBAAS,CAACE,IAAI;EACpCpC,OAAO,EAAEkC,qBAAS,CAACG,KAAK;EACxBpC,cAAc,EAAEiC,qBAAS,CAACG,KAAK;EAC/BnC,eAAe,EAAEgC,qBAAS,CAACI,MAAM;EACjC/E,OAAO,EAAE2E,qBAAS,CAACK,IAAI,CAACC,UAAU;EAClCrC,OAAO,EAAE+B,qBAAS,CAACK,IAAI;EACvBxE,SAAS,EAAEmE,qBAAS,CAACE,IAAI;EACzB/E,oBAAoB,EAAE6E,qBAAS,CAACK,IAAI;EACpCnC,IAAI,EAAE8B,qBAAS,CAACO,SAAS,CAAC,CAACP,qBAAS,CAACC,MAAM,EAAED,qBAAS,CAACQ,MAAM,CAAC;AAChE,CAAC;AAAA,IAAAjL,gBAAA,aAZUuF,MAAM,kBAaK;EACpBgD,OAAO,EAAEA,aAAO;EAChBjC,SAAS,EAAE;AACb,CAAC;AAAA,IAAA4E,QAAA,GAAA1F,OAAA,cAqKYD,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_IconButton","_styles","_debug","_lodash","_mathquill","mq","_interopRequireWildcard","_keys","_constants","_commonMqStyles","_keysLayout","_colors","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","StyledLatexButton","styled","Button","_ref","_objectDestructuringEmpty2","textTransform","padding","margin","fontSize","LatexButtonContent","Static","_ref2","theme","latex","baseStyles","pointerEvents","color","text","transform","marginBottom","backgroundColor","concat","alpha","pink","borderTop","width","marginTop","fontFamily","top","lineHeight","left","right","minHeight","border","display","paddingTop","fontStyle","position","LatexButton","props","MQ","MathQuill","getInterface","span","document","createElement","innerHTML","mathField","StaticMath","parseLatex","Fragment","className","onClick","ariaLabel","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPadContainer","_ref3","commonMqKeyboardStyles","gridRowGap","gridColumnGap","StyledButton","_ref4","category","isDelete","isComma","isDot","minWidth","lighten","indigo","borderRadius","StyledLatexButtonWrapper","_ref5","StyledIconButton","IconButton","_ref6","height","KeyPad","exports","_React$Component","_this","_classCallCheck2","setKeypadInteraction","key","onPress","base","extras","transposed","_toConsumableArray2","sortKeys","_","flatten","noDecimal","write","label","keypadRef","React","createRef","_inherits2","_createClass2","value","componentDidMount","_this$keypadRef","keyPadElement","current","mainContainer","closest","editableHtmlConstants","MAIN_CONTAINER_CLASS","currentToolbar","controlledKeypadMode","mainContainerPosition","getBoundingClientRect","currentToolbarPosition","difference","totalHeight","style","addEventListener","handleKeypadInteraction","componentWillUnmount","_this$keypadRef2","removeEventListener","render","_this2","_this$props","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","Math","floor","ref","join","map","k","index","buttonClick","bind","common","disabled","keyIsNotAllowed","command","actions","extraProps","_extends2","undefined","name","Icon","icon","tabIndex","size","Component","PropTypes","string","bool","array","object","func","isRequired","oneOfType","number","_default"],"sources":["../../src/keypad/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@mui/material/Button';\nimport IconButton from '@mui/material/IconButton';\nimport { lighten, alpha, styled } from '@mui/material/styles';\nimport debug from 'debug';\nimport _ from 'lodash';\nimport MathQuill from '@pie-framework/mathquill';\nimport * as mq from '../mq';\n\nimport { baseSet } from '../keys';\nimport editableHtmlConstants from '../../../editable-html/src/constants';\nimport { commonMqKeyboardStyles } from '../mq/common-mq-styles';\nimport { sortKeys } from './keys-layout';\nimport { green, indigo, pink } from '@mui/material/colors';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst StyledLatexButton = styled(Button)(({}) => ({\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important',\n}));\n\nconst LatexButtonContent = styled(mq.Static)(({ theme, latex }) => {\n const baseStyles = {\n pointerEvents: 'none',\n textTransform: 'none !important',\n color: color.text(),\n '& .mq-scaled.mq-sqrt-prefix': {\n transform: 'scale(1, 0.9) !important',\n },\n '& .mq-sup-only .mq-sup': {\n marginBottom: '0.9px !important',\n },\n '& .mq-empty': {\n backgroundColor: `${alpha(pink[300], 0.4)} !important`,\n },\n '& .mq-overline .mq-overline-inner': {\n borderTop: '2px solid black',\n },\n '& .mq-non-leaf.mq-overline': {\n borderTop: 'none !important',\n },\n '& .mq-overarrow': {\n width: '30px',\n marginTop: '0 !important',\n borderTop: '2px solid black',\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n '&.mq-arrow-both': {\n top: '0px !important',\n '& *': {\n lineHeight: '1 !important',\n borderTop: 'none !important',\n },\n '&:before': {\n fontSize: '80%',\n left: 'calc(-13%) !important',\n top: '-0.31em !important',\n },\n '&:after': {\n fontSize: '80% !important',\n right: 'calc(-13%) !important',\n top: '-1.5em',\n },\n '&.mq-empty:before': {\n fontSize: '80%',\n left: 'calc(-13%)',\n top: '-0.26em',\n },\n '&.mq-empty:after': {\n fontSize: '80%',\n right: 'calc(-13%)',\n top: '-0.26em',\n },\n '&.mq-empty': {\n minHeight: '1.4em',\n },\n },\n '&.mq-arrow-right:before': {\n fontSize: '80%',\n right: 'calc(-13%) !important',\n top: '-0.26em !important',\n },\n '& .mq-overarrow-inner': {\n border: 'none !important',\n },\n '& .mq-overarrow-inner .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n },\n '& .mq-root-block': {\n padding: '5px !important',\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:after': {\n right: '-6px',\n fontSize: '80% !important',\n top: '-3px',\n },\n '& .mq-overarrow.mq-arrow-right.mq-empty:before': {\n right: '-5px',\n fontSize: '80% !important',\n top: '-3px',\n },\n '& .mq-overarrow.mq-arrow-both.mq-empty:before': {\n left: '-6px',\n fontSize: '80% !important',\n top: '-3px',\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important',\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85,\n },\n '& .mq-overarc': {\n borderTop: '2px solid black !important',\n '& .mq-overline': {\n borderTop: 'none !important',\n },\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important',\n },\n },\n };\n\n // Add specific styles based on latex content\n if (latex === '\\\\parallel') {\n return {\n ...baseStyles,\n fontStyle: 'italic !important',\n };\n }\n\n if (latex === '\\\\overleftrightarrow{\\\\overline{}}') {\n return {\n ...baseStyles,\n '& .mq-overarrow.mq-arrow-both': {\n '& .mq-overline-inner': {\n borderTop: 'none !important',\n paddingTop: '0 !important',\n },\n '&:after': {\n position: 'absolute !important',\n top: '0px !important',\n },\n },\n };\n }\n\n return baseStyles;\n});\n\nconst LatexButton = (props) => {\n try {\n const MQ = MathQuill.getInterface(2);\n const span = document.createElement('span');\n span.innerHTML = '';\n const mathField = MQ.StaticMath(span);\n\n mathField.parseLatex(props.latex);\n mathField.latex(props.latex);\n } catch (e) {\n // received latex has errors - do not create button\n return <></>;\n }\n\n return (\n <StyledLatexButton className={props.className} onClick={props.onClick} aria-label={props.ariaLabel}>\n <LatexButtonContent latex={props.latex} />\n </StyledLatexButton>\n );\n};\n\nconst createCustomLayout = (layoutObj) => {\n if (layoutObj) {\n return {\n gridTemplateColumns: `repeat(${layoutObj.columns}, minmax(min-content, 150px))`,\n gridTemplateRows: `repeat(${layoutObj.rows}, minmax(40px, 60px))`,\n gridAutoFlow: 'initial',\n };\n }\n\n return {};\n};\n\nconst KeyPadContainer = styled('div')(({}) => ({\n ...commonMqKeyboardStyles,\n width: '100%',\n display: 'grid',\n gridTemplateRows: 'repeat(5, minmax(40px, 60px))',\n gridRowGap: '0px',\n gridColumnGap: '0px',\n gridAutoFlow: 'column',\n '&.character': {\n textTransform: 'initial !important',\n gridTemplateRows: 'repeat(5, minmax(40px, 50px)) !important',\n },\n '&.language': {\n gridTemplateRows: 'repeat(4, minmax(40px, 50px)) !important',\n '& *': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n },\n}));\n\nconst StyledButton = styled(Button)(({ theme, category, isDelete, isComma, isDot }) => ({\n minWidth: 'auto',\n fontSize: isComma || isDot ? '200% !important' : '140% !important',\n lineHeight: isComma || isDot ? '100%' : 'normal',\n color: color.text(),\n\n backgroundColor:\n category === 'operators'\n ? lighten(pink[300], 0.5)\n : // this code with green seems to not be applied to current implementation, so I commented it out, but left it here just in case\n // category === 'comparison' ? lighten(green[500], 0.5) :\n lighten(indigo[300], 0.5),\n '&:hover': {\n backgroundColor:\n category === 'operators'\n ? lighten(pink[300], 0.7)\n : // category === 'comparison' ? lighten(green[500], 0.7) :\n lighten(indigo[300], 0.7),\n },\n borderRadius: 0,\n ...(isDelete && {\n '& > span': {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n },\n }),\n}));\n\nconst StyledLatexButtonWrapper = styled(Button)(({ category }) => ({\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor:\n category === 'operators'\n ? lighten(pink[300], 0.5)\n : // category === 'comparison' ? lighten(green[500], 0.5) :\n lighten(indigo[300], 0.5),\n '&:hover': {\n backgroundColor:\n category === 'operators'\n ? lighten(pink[300], 0.7)\n : // category === 'comparison' ? lighten(green[500], 0.7) :\n lighten(indigo[300], 0.7),\n },\n}));\n\nconst StyledIconButton = styled(IconButton)(({ category }) => ({\n minWidth: 'auto',\n backgroundColor:\n category === 'operators'\n ? lighten(pink[300], 0.5)\n : // category === 'comparison' ? lighten(green[500], 0.5) :\n lighten(indigo[300], 0.5),\n '&:hover': {\n backgroundColor:\n category === 'operators'\n ? lighten(pink[300], 0.7)\n : // category === 'comparison' ? lighten(green[500], 0.7) :\n lighten(indigo[300], 0.7),\n },\n borderRadius: 0,\n '& .icon': {\n height: '30px',\n },\n}));\n\nexport class KeyPad extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n controlledKeypadMode: PropTypes.bool,\n baseSet: PropTypes.array,\n additionalKeys: PropTypes.array,\n layoutForKeyPad: PropTypes.object,\n onPress: PropTypes.func.isRequired,\n onFocus: PropTypes.func,\n noDecimal: PropTypes.bool,\n setKeypadInteraction: PropTypes.func,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n };\n static defaultProps = {\n baseSet: baseSet,\n noDecimal: false,\n };\n\n constructor(props) {\n super(props);\n this.keypadRef = React.createRef();\n }\n\n componentDidMount() {\n const keyPadElement = this.keypadRef?.current;\n const mainContainer = keyPadElement?.closest(`.${editableHtmlConstants.MAIN_CONTAINER_CLASS}`);\n const currentToolbar = keyPadElement?.closest('.pie-toolbar');\n\n // need only for math keyboard so we need also controlledKeypadMode\n if (this.props.controlledKeypadMode && mainContainer && currentToolbar) {\n const mainContainerPosition = mainContainer.getBoundingClientRect();\n const currentToolbarPosition = currentToolbar.getBoundingClientRect();\n const difference =\n mainContainerPosition.top +\n mainContainerPosition.height -\n (currentToolbarPosition.top + currentToolbarPosition.height);\n if (difference < 0) {\n const totalHeight = mainContainerPosition.height + mainContainerPosition.top - difference;\n // increase the height of the main container if keyboard needs it\n if (mainContainer) {\n mainContainer.style.height = `${totalHeight}px`;\n }\n }\n }\n\n if (keyPadElement) {\n keyPadElement.addEventListener('touchstart', this.handleKeypadInteraction, true);\n keyPadElement.addEventListener('mousedown', this.handleKeypadInteraction, true);\n }\n }\n\n componentWillUnmount() {\n const keyPadElement = this.keypadRef?.current;\n // need only for math keyboard\n if (this.props.controlledKeypadMode && keyPadElement) {\n const mainContainer = keyPadElement.closest(`.${editableHtmlConstants.MAIN_CONTAINER_CLASS}`);\n\n if (mainContainer) {\n mainContainer.style.height = 'unset';\n }\n }\n\n if (keyPadElement) {\n keyPadElement.removeEventListener('touchstart', this.handleKeypadInteraction, true);\n keyPadElement.removeEventListener('mousedown', this.handleKeypadInteraction, true);\n }\n }\n\n handleKeypadInteraction = () => {\n // Check if the setKeypadInteraction prop is available, which is used for both\n // the language keypad and the special characters keypad\n if (this.props.setKeypadInteraction) {\n this.props.setKeypadInteraction(true);\n }\n };\n\n buttonClick = (key) => {\n log('[buttonClick]', key);\n const { onPress } = this.props;\n\n onPress(key);\n };\n\n flowKeys = (base, extras) => {\n const transposed = [...sortKeys(base), ...sortKeys(extras)];\n return _.flatten(transposed);\n };\n\n keyIsNotAllowed = (key) => {\n const { noDecimal } = this.props;\n\n if (((key.write === '.' && key.label === '.') || (key.write === ',' && key.label === ',')) && noDecimal) {\n return true;\n }\n\n return false;\n };\n\n render() {\n const { className, baseSet, additionalKeys, layoutForKeyPad, onFocus, mode } = this.props;\n\n const noBaseSet = ['non-negative-integers', 'integers', 'decimals', 'fractions', 'item-authoring', 'language'];\n\n const keysWithoutBaseSet = noBaseSet.includes(mode);\n const allKeys = keysWithoutBaseSet\n ? this.flowKeys([], additionalKeys || [])\n : this.flowKeys(baseSet, additionalKeys || []);\n\n const shift = allKeys.length % 5 ? 1 : 0;\n const style = {\n gridTemplateColumns: `repeat(${Math.floor(allKeys.length / 5) + shift}, minmax(min-content, 150px))`,\n ...createCustomLayout(layoutForKeyPad),\n };\n\n return (\n <KeyPadContainer\n ref={this.keypadRef}\n className={[className, mode].filter(Boolean).join(' ')}\n style={style}\n onFocus={onFocus}\n >\n {allKeys.map((k, index) => {\n const onClick = this.buttonClick.bind(this, k);\n\n if (!k) {\n return <span key={`empty-${index}`} />;\n }\n\n const common = {\n onClick,\n disabled: this.keyIsNotAllowed(k),\n key: `${k.label || k.latex || k.command}-${index}`,\n ...(k.actions || {}),\n ...(k.extraProps || {}),\n };\n\n if (k.latex) {\n return (\n <StyledLatexButtonWrapper\n {...common}\n category={!keysWithoutBaseSet ? k.category : undefined}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n >\n <LatexButtonContent latex={k.latex} />\n </StyledLatexButtonWrapper>\n );\n }\n\n if (k.label) {\n return (\n <StyledButton\n {...common}\n category={!keysWithoutBaseSet ? k.category : undefined}\n isDelete={k.label === '⌫'}\n isComma={k.label === ','}\n isDot={k.label === '.'}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n >\n {k.label}\n </StyledButton>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <StyledIconButton\n tabIndex={'-1'}\n {...common}\n category={!keysWithoutBaseSet ? k.category : undefined}\n size=\"large\"\n >\n <Icon className=\"icon\" />\n </StyledIconButton>\n );\n }\n })}\n </KeyPadContainer>\n );\n }\n}\n\nexport default KeyPad;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "6.43.0-mui-update.0",
6
+ "version": "6.45.0-mui-update.0",
7
7
  "main": "lib/index.js",
8
8
  "module": "src/index.jsx",
9
9
  "dependencies": {
@@ -12,11 +12,9 @@
12
12
  "@mui/icons-material": "^7.3.4",
13
13
  "@mui/material": "^7.3.4",
14
14
  "@pie-framework/mathquill": "^1.1.3",
15
- "classnames": "^2.2.6",
16
15
  "debug": "^4.1.1",
17
16
  "lodash": "^4.17.11",
18
- "prop-types": "^15.7.2",
19
- "react-portal": "^4.2.0"
17
+ "prop-types": "^15.7.2"
20
18
  },
21
19
  "peerDependencies": {
22
20
  "react": "^18.2.0"
@@ -26,5 +24,5 @@
26
24
  "react-dom": "^18.2.0"
27
25
  },
28
26
  "scripts": {},
29
- "gitHead": "ba9b27bd2b3ece25d9f66f5ce4a51e4a280f930b"
27
+ "gitHead": "1e3f5fd7812b0a334d3b2719026a01c3102398c9"
30
28
  }
@@ -3,7 +3,6 @@ import PropTypes from 'prop-types';
3
3
  import Button from '@mui/material/Button';
4
4
  import IconButton from '@mui/material/IconButton';
5
5
  import { lighten, alpha, styled } from '@mui/material/styles';
6
- import classNames from 'classnames';
7
6
  import debug from 'debug';
8
7
  import _ from 'lodash';
9
8
  import MathQuill from '@pie-framework/mathquill';
@@ -171,11 +170,7 @@ const LatexButton = (props) => {
171
170
  }
172
171
 
173
172
  return (
174
- <StyledLatexButton
175
- className={props.className}
176
- onClick={props.onClick}
177
- aria-label={props.ariaLabel}
178
- >
173
+ <StyledLatexButton className={props.className} onClick={props.onClick} aria-label={props.ariaLabel}>
179
174
  <LatexButtonContent latex={props.latex} />
180
175
  </StyledLatexButton>
181
176
  );
@@ -220,14 +215,16 @@ const StyledButton = styled(Button)(({ theme, category, isDelete, isComma, isDot
220
215
  color: color.text(),
221
216
 
222
217
  backgroundColor:
223
- category === 'operators' ? lighten(pink[300], 0.5) :
224
- // this code with green seems to not be applied to current implementation, so I commented it out, but left it here just in case
225
- // category === 'comparison' ? lighten(green[500], 0.5) :
218
+ category === 'operators'
219
+ ? lighten(pink[300], 0.5)
220
+ : // this code with green seems to not be applied to current implementation, so I commented it out, but left it here just in case
221
+ // category === 'comparison' ? lighten(green[500], 0.5) :
226
222
  lighten(indigo[300], 0.5),
227
223
  '&:hover': {
228
224
  backgroundColor:
229
- category === 'operators' ? lighten(pink[300], 0.7) :
230
- // category === 'comparison' ? lighten(green[500], 0.7) :
225
+ category === 'operators'
226
+ ? lighten(pink[300], 0.7)
227
+ : // category === 'comparison' ? lighten(green[500], 0.7) :
231
228
  lighten(indigo[300], 0.7),
232
229
  },
233
230
  borderRadius: 0,
@@ -238,31 +235,35 @@ const StyledButton = styled(Button)(({ theme, category, isDelete, isComma, isDot
238
235
  }),
239
236
  }));
240
237
 
241
- const StyledLatexButtonWrapper = styled(Button)(({ theme, category }) => ({
238
+ const StyledLatexButtonWrapper = styled(Button)(({ category }) => ({
242
239
  minWidth: 'auto',
243
240
  borderRadius: 0,
244
241
  backgroundColor:
245
- category === 'operators' ? lighten(pink[300], 0.5) :
246
- // category === 'comparison' ? lighten(green[500], 0.5) :
242
+ category === 'operators'
243
+ ? lighten(pink[300], 0.5)
244
+ : // category === 'comparison' ? lighten(green[500], 0.5) :
247
245
  lighten(indigo[300], 0.5),
248
246
  '&:hover': {
249
247
  backgroundColor:
250
- category === 'operators' ? lighten(pink[300], 0.7) :
251
- // category === 'comparison' ? lighten(green[500], 0.7) :
248
+ category === 'operators'
249
+ ? lighten(pink[300], 0.7)
250
+ : // category === 'comparison' ? lighten(green[500], 0.7) :
252
251
  lighten(indigo[300], 0.7),
253
252
  },
254
253
  }));
255
254
 
256
- const StyledIconButton = styled(IconButton)(({ theme, category }) => ({
255
+ const StyledIconButton = styled(IconButton)(({ category }) => ({
257
256
  minWidth: 'auto',
258
257
  backgroundColor:
259
- category === 'operators' ? lighten(pink[300], 0.5) :
260
- // category === 'comparison' ? lighten(green[500], 0.5) :
258
+ category === 'operators'
259
+ ? lighten(pink[300], 0.5)
260
+ : // category === 'comparison' ? lighten(green[500], 0.5) :
261
261
  lighten(indigo[300], 0.5),
262
262
  '&:hover': {
263
263
  backgroundColor:
264
- category === 'operators' ? lighten(pink[300], 0.7) :
265
- // category === 'comparison' ? lighten(green[500], 0.7) :
264
+ category === 'operators'
265
+ ? lighten(pink[300], 0.7)
266
+ : // category === 'comparison' ? lighten(green[500], 0.7) :
266
267
  lighten(indigo[300], 0.7),
267
268
  },
268
269
  borderRadius: 0,
@@ -388,7 +389,7 @@ export class KeyPad extends React.Component {
388
389
  return (
389
390
  <KeyPadContainer
390
391
  ref={this.keypadRef}
391
- className={classNames(className, mode)}
392
+ className={[className, mode].filter(Boolean).join(' ')}
392
393
  style={style}
393
394
  onFocus={onFocus}
394
395
  >