@pie-lib/math-input 7.2.0-next.8 → 7.2.0-next.9

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,13 @@
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
+ # [7.2.0-next.9](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@7.2.0-next.8...@pie-lib/math-input@7.2.0-next.9) (2026-03-18)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **math-toolbar:** update math keypad colors and styles for improved UI consistency PD-5530 ([713c283](https://github.com/pie-framework/pie-lib/commit/713c283a11e1cff6568da7010e98e0b84df164ab))
11
+ - remove default mui uppercase button style PD-5649 ([4f35483](https://github.com/pie-framework/pie-lib/commit/4f354832a7656ff640ca7d6a2b9baab2fd000b53))
12
+
6
13
  # [7.2.0-next.8](https://github.com/pie-framework/pie-lib/compare/@pie-lib/math-input@7.2.0-next.7...@pie-lib/math-input@7.2.0-next.8) (2026-03-11)
7
14
 
8
15
  ### Bug Fixes
@@ -19,7 +19,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
19
19
  var _Button = _interopRequireDefault(require("@mui/material/Button"));
20
20
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
21
21
  var _styles = require("@mui/material/styles");
22
- var _colors = require("@mui/material/colors");
23
22
  var _debug = _interopRequireDefault(require("debug"));
24
23
  var _lodashEs = require("lodash-es");
25
24
  var _renderUi = require("@pie-lib/render-ui");
@@ -46,7 +45,7 @@ var LatexButtonContent = (0, _styles.styled)(mq.Static)(function (_ref) {
46
45
  marginBottom: '0.9px !important'
47
46
  },
48
47
  '& .mq-empty': {
49
- backgroundColor: "".concat((0, _styles.alpha)(_colors.pink[300], 0.4), " !important")
48
+ backgroundColor: "".concat(_renderUi.color.keypadEmptyPlaceholder(), " !important")
50
49
  },
51
50
  '& .mq-overline .mq-overline-inner': {
52
51
  borderTop: '2px solid black'
@@ -203,17 +202,13 @@ var StyledButton = (0, _styles.styled)(_Button["default"])(function (_ref2) {
203
202
  isDot = _ref2.isDot;
204
203
  return _objectSpread({
205
204
  minWidth: 'auto',
205
+ textTransform: 'none',
206
206
  fontSize: isComma || isDot ? '200% !important' : '140% !important',
207
207
  lineHeight: isComma || isDot ? '100%' : 'normal',
208
208
  color: _renderUi.color.text(),
209
- backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.5) :
210
- // this code with green seems to not be applied to current implementation, so I commented it out, but left it here just in case
211
- // category === 'comparison' ? lighten(green[500], 0.5) :
212
- (0, _styles.lighten)(_colors.indigo[300], 0.5),
209
+ backgroundColor: category === 'operators' ? _renderUi.color.keypadButtonOperator() : _renderUi.color.keypadButton(),
213
210
  '&:hover': {
214
- backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.7) :
215
- // category === 'comparison' ? lighten(green[500], 0.7) :
216
- (0, _styles.lighten)(_colors.indigo[300], 0.7)
211
+ backgroundColor: category === 'operators' ? _renderUi.color.keypadButtonOperator() : _renderUi.color.keypadButton()
217
212
  },
218
213
  borderRadius: 0
219
214
  }, isDelete && {
@@ -229,13 +224,9 @@ var StyledLatexButtonWrapper = (0, _styles.styled)(_Button["default"])(function
229
224
  fontSize: '110% !important',
230
225
  minWidth: 'auto',
231
226
  borderRadius: 0,
232
- backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.5) :
233
- // category === 'comparison' ? lighten(green[500], 0.5) :
234
- (0, _styles.lighten)(_colors.indigo[300], 0.5),
227
+ backgroundColor: category === 'operators' ? _renderUi.color.keypadButtonOperator() : _renderUi.color.keypadButton(),
235
228
  '&:hover': {
236
- backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.7) :
237
- // category === 'comparison' ? lighten(green[500], 0.7) :
238
- (0, _styles.lighten)(_colors.indigo[300], 0.7)
229
+ backgroundColor: category === 'operators' ? _renderUi.color.keypadButtonOperator() : _renderUi.color.keypadButton()
239
230
  }
240
231
  };
241
232
  });
@@ -243,13 +234,9 @@ var StyledIconButton = (0, _styles.styled)(_IconButton["default"])(function (_re
243
234
  var category = _ref4.category;
244
235
  return {
245
236
  minWidth: 'auto',
246
- backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.5) :
247
- // category === 'comparison' ? lighten(green[500], 0.5) :
248
- (0, _styles.lighten)(_colors.indigo[300], 0.5),
237
+ backgroundColor: category === 'operators' ? _renderUi.color.keypadButtonOperator() : _renderUi.color.keypadButton(),
249
238
  '&:hover': {
250
- backgroundColor: category === 'operators' ? (0, _styles.lighten)(_colors.pink[300], 0.7) :
251
- // category === 'comparison' ? lighten(green[500], 0.7) :
252
- (0, _styles.lighten)(_colors.indigo[300], 0.7)
239
+ backgroundColor: category === 'operators' ? _renderUi.color.keypadButtonOperator() : _renderUi.color.keypadButton()
253
240
  },
254
241
  borderRadius: 0,
255
242
  '& .icon': {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_IconButton","_styles","_colors","_debug","_lodashEs","_renderUi","mq","_interopRequireWildcard","_keys","_commonMqStyles","_keysLayout","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","LatexButtonContent","styled","Static","_ref","latex","baseStyles","pointerEvents","textTransform","color","text","transform","marginBottom","backgroundColor","concat","alpha","pink","borderTop","width","marginTop","fontFamily","top","lineHeight","fontSize","left","right","minHeight","border","display","padding","paddingTop","fontStyle","position","propTypes","PropTypes","string","isRequired","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPadContainer","commonMqKeyboardStyles","gridRowGap","gridColumnGap","StyledButton","Button","_ref2","category","isDelete","isComma","isDot","minWidth","lighten","indigo","borderRadius","StyledLatexButtonWrapper","_ref3","margin","StyledIconButton","IconButton","_ref4","height","KeyPad","exports","_React$Component","props","_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","currentToolbar","controlledKeypadMode","mainContainerPosition","getBoundingClientRect","currentToolbarPosition","difference","totalHeight","style","addEventListener","handleKeypadInteraction","componentWillUnmount","_this$keypadRef2","removeEventListener","render","_this2","_this$props","className","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","Math","floor","createElement","ref","join","map","k","index","onClick","buttonClick","bind","common","disabled","keyIsNotAllowed","command","actions","extraProps","_extends2","undefined","ariaLabel","name","Icon","icon","tabIndex","size","Component","bool","array","object","func","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 { alpha, lighten, styled } from '@mui/material/styles';\nimport { indigo, pink } from '@mui/material/colors';\nimport debug from 'debug';\nimport { flatten } from 'lodash-es';\nimport { color } from '@pie-lib/render-ui';\n\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport { commonMqKeyboardStyles } from '../mq/common-mq-styles';\nimport { sortKeys } from './keys-layout';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButtonContent = styled(mq.Static)(({ 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\nLatexButtonContent.propTypes = {\n latex: PropTypes.string.isRequired,\n};\n\n// LatexButton component removed - LatexButtonContent is used directly instead\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)(({ 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 fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n }),\n}));\n\nconst StyledLatexButtonWrapper = styled(Button)(({ category }) => ({\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important',\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('.main-container');\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('.main-container');\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 key={common.key}\n onClick={common.onClick}\n disabled={common.disabled}\n category={!keysWithoutBaseSet ? k.category : undefined}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n {...(k.actions || {})}\n {...(k.extraProps || {})}\n >\n <LatexButtonContent latex={k.latex} />\n </StyledLatexButtonWrapper>\n );\n }\n\n if (k.label) {\n return (\n <StyledButton\n key={common.key}\n onClick={common.onClick}\n disabled={common.disabled}\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 {...(k.actions || {})}\n {...(k.extraProps || {})}\n >\n {k.label}\n </StyledButton>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <StyledIconButton\n key={common.key}\n tabIndex={'-1'}\n onClick={common.onClick}\n disabled={common.disabled}\n category={!keysWithoutBaseSet ? k.category : undefined}\n size=\"large\"\n {...(k.actions || {})}\n {...(k.extraProps || {})}\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":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_propTypes","_Button","_IconButton","_styles","_debug","_lodashEs","_renderUi","mq","_interopRequireWildcard","_keys","_commonMqStyles","_keysLayout","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","LatexButtonContent","styled","Static","_ref","latex","baseStyles","pointerEvents","textTransform","color","text","transform","marginBottom","backgroundColor","concat","keypadEmptyPlaceholder","borderTop","width","marginTop","fontFamily","top","lineHeight","fontSize","left","right","minHeight","border","display","padding","paddingTop","fontStyle","position","propTypes","PropTypes","string","isRequired","createCustomLayout","layoutObj","gridTemplateColumns","columns","gridTemplateRows","rows","gridAutoFlow","KeyPadContainer","commonMqKeyboardStyles","gridRowGap","gridColumnGap","StyledButton","Button","_ref2","category","isDelete","isComma","isDot","minWidth","keypadButtonOperator","keypadButton","borderRadius","StyledLatexButtonWrapper","_ref3","margin","StyledIconButton","IconButton","_ref4","height","KeyPad","exports","_React$Component","props","_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","currentToolbar","controlledKeypadMode","mainContainerPosition","getBoundingClientRect","currentToolbarPosition","difference","totalHeight","style","addEventListener","handleKeypadInteraction","componentWillUnmount","_this$keypadRef2","removeEventListener","render","_this2","_this$props","className","baseSet","additionalKeys","layoutForKeyPad","onFocus","mode","noBaseSet","keysWithoutBaseSet","includes","allKeys","flowKeys","shift","Math","floor","createElement","ref","join","map","k","index","onClick","buttonClick","bind","common","disabled","keyIsNotAllowed","command","actions","extraProps","_extends2","undefined","ariaLabel","name","Icon","icon","tabIndex","size","Component","bool","array","object","func","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 { styled } from '@mui/material/styles';\nimport debug from 'debug';\nimport { flatten } from 'lodash-es';\nimport { color } from '@pie-lib/render-ui';\n\nimport * as mq from '../mq';\nimport { baseSet } from '../keys';\nimport { commonMqKeyboardStyles } from '../mq/common-mq-styles';\nimport { sortKeys } from './keys-layout';\n\nconst log = debug('pie-lib:math-inline:keypad');\n\nconst LatexButtonContent = styled(mq.Static)(({ 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: `${color.keypadEmptyPlaceholder()} !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\nLatexButtonContent.propTypes = {\n latex: PropTypes.string.isRequired,\n};\n\n// LatexButton component removed - LatexButtonContent is used directly instead\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)(({ category, isDelete, isComma, isDot }) => ({\n minWidth: 'auto',\n textTransform: 'none',\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 ? color.keypadButtonOperator()\n : color.keypadButton(),\n '&:hover': {\n backgroundColor:\n category === 'operators'\n ? color.keypadButtonOperator()\n : color.keypadButton(),\n },\n borderRadius: 0,\n ...(isDelete && {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n }),\n}));\n\nconst StyledLatexButtonWrapper = styled(Button)(({ category }) => ({\n textTransform: 'none',\n padding: 0,\n margin: 0,\n fontSize: '110% !important',\n minWidth: 'auto',\n borderRadius: 0,\n backgroundColor:\n category === 'operators'\n ? color.keypadButtonOperator()\n : color.keypadButton(),\n '&:hover': {\n backgroundColor:\n category === 'operators'\n ? color.keypadButtonOperator()\n : color.keypadButton(),\n },\n}));\n\nconst StyledIconButton = styled(IconButton)(({ category }) => ({\n minWidth: 'auto',\n backgroundColor:\n category === 'operators'\n ? color.keypadButtonOperator()\n : color.keypadButton(),\n '&:hover': {\n backgroundColor:\n category === 'operators'\n ? color.keypadButtonOperator()\n : color.keypadButton(),\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('.main-container');\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('.main-container');\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 key={common.key}\n onClick={common.onClick}\n disabled={common.disabled}\n category={!keysWithoutBaseSet ? k.category : undefined}\n aria-label={k.ariaLabel ? k.ariaLabel : k.name || k.label}\n {...(k.actions || {})}\n {...(k.extraProps || {})}\n >\n <LatexButtonContent latex={k.latex} />\n </StyledLatexButtonWrapper>\n );\n }\n\n if (k.label) {\n return (\n <StyledButton\n key={common.key}\n onClick={common.onClick}\n disabled={common.disabled}\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 {...(k.actions || {})}\n {...(k.extraProps || {})}\n >\n {k.label}\n </StyledButton>\n );\n } else {\n const Icon = k.icon ? k.icon : 'div';\n\n return (\n <StyledIconButton\n key={common.key}\n tabIndex={'-1'}\n onClick={common.onClick}\n disabled={common.disabled}\n category={!keysWithoutBaseSet ? k.category : undefined}\n size=\"large\"\n {...(k.actions || {})}\n {...(k.extraProps || {})}\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": "7.2.0-next.8",
6
+ "version": "7.2.0-next.9",
7
7
  "main": "lib/index.js",
8
8
  "module": "src/index.jsx",
9
9
  "repository": "pie-framework/pie-lib",
@@ -25,5 +25,5 @@
25
25
  "react-dom": "^18.2.0"
26
26
  },
27
27
  "scripts": {},
28
- "gitHead": "0f3d64f90c9c0d9291b4a8075690260220a9d32f"
28
+ "gitHead": "2e7523e9d0895728783bb65dbed8c0bfe282c0f5"
29
29
  }
@@ -2,8 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import Button from '@mui/material/Button';
4
4
  import IconButton from '@mui/material/IconButton';
5
- import { alpha, lighten, styled } from '@mui/material/styles';
6
- import { indigo, pink } from '@mui/material/colors';
5
+ import { styled } from '@mui/material/styles';
7
6
  import debug from 'debug';
8
7
  import { flatten } from 'lodash-es';
9
8
  import { color } from '@pie-lib/render-ui';
@@ -27,7 +26,7 @@ const LatexButtonContent = styled(mq.Static)(({ latex }) => {
27
26
  marginBottom: '0.9px !important',
28
27
  },
29
28
  '& .mq-empty': {
30
- backgroundColor: `${alpha(pink[300], 0.4)} !important`,
29
+ backgroundColor: `${color.keypadEmptyPlaceholder()} !important`,
31
30
  },
32
31
  '& .mq-overline .mq-overline-inner': {
33
32
  borderTop: '2px solid black',
@@ -186,22 +185,20 @@ const KeyPadContainer = styled('div')(() => ({
186
185
 
187
186
  const StyledButton = styled(Button)(({ category, isDelete, isComma, isDot }) => ({
188
187
  minWidth: 'auto',
188
+ textTransform: 'none',
189
189
  fontSize: isComma || isDot ? '200% !important' : '140% !important',
190
190
  lineHeight: isComma || isDot ? '100%' : 'normal',
191
191
  color: color.text(),
192
192
 
193
193
  backgroundColor:
194
194
  category === 'operators'
195
- ? lighten(pink[300], 0.5)
196
- : // this code with green seems to not be applied to current implementation, so I commented it out, but left it here just in case
197
- // category === 'comparison' ? lighten(green[500], 0.5) :
198
- lighten(indigo[300], 0.5),
195
+ ? color.keypadButtonOperator()
196
+ : color.keypadButton(),
199
197
  '&:hover': {
200
198
  backgroundColor:
201
199
  category === 'operators'
202
- ? lighten(pink[300], 0.7)
203
- : // category === 'comparison' ? lighten(green[500], 0.7) :
204
- lighten(indigo[300], 0.7),
200
+ ? color.keypadButtonOperator()
201
+ : color.keypadButton(),
205
202
  },
206
203
  borderRadius: 0,
207
204
  ...(isDelete && {
@@ -218,15 +215,13 @@ const StyledLatexButtonWrapper = styled(Button)(({ category }) => ({
218
215
  borderRadius: 0,
219
216
  backgroundColor:
220
217
  category === 'operators'
221
- ? lighten(pink[300], 0.5)
222
- : // category === 'comparison' ? lighten(green[500], 0.5) :
223
- lighten(indigo[300], 0.5),
218
+ ? color.keypadButtonOperator()
219
+ : color.keypadButton(),
224
220
  '&:hover': {
225
221
  backgroundColor:
226
222
  category === 'operators'
227
- ? lighten(pink[300], 0.7)
228
- : // category === 'comparison' ? lighten(green[500], 0.7) :
229
- lighten(indigo[300], 0.7),
223
+ ? color.keypadButtonOperator()
224
+ : color.keypadButton(),
230
225
  },
231
226
  }));
232
227
 
@@ -234,15 +229,13 @@ const StyledIconButton = styled(IconButton)(({ category }) => ({
234
229
  minWidth: 'auto',
235
230
  backgroundColor:
236
231
  category === 'operators'
237
- ? lighten(pink[300], 0.5)
238
- : // category === 'comparison' ? lighten(green[500], 0.5) :
239
- lighten(indigo[300], 0.5),
232
+ ? color.keypadButtonOperator()
233
+ : color.keypadButton(),
240
234
  '&:hover': {
241
235
  backgroundColor:
242
236
  category === 'operators'
243
- ? lighten(pink[300], 0.7)
244
- : // category === 'comparison' ? lighten(green[500], 0.7) :
245
- lighten(indigo[300], 0.7),
237
+ ? color.keypadButtonOperator()
238
+ : color.keypadButton(),
246
239
  },
247
240
  borderRadius: 0,
248
241
  '& .icon': {