@lowentry/mui 1.2.1 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/DatePicker/index.js.map +1 -1
  2. package/Dialog/index.js.map +1 -1
  3. package/InitiallyInvisible/index.js +2 -0
  4. package/InitiallyInvisible/index.js.map +1 -0
  5. package/LoadingSpinner/index.js +1 -1
  6. package/{LoadingSpinner-8d84b138.js → LoadingSpinner-9881bf40.js} +1 -1
  7. package/LoadingSpinner-9881bf40.js.map +1 -0
  8. package/LoadingSpinnerWidget/index.js +1 -1
  9. package/MenuButton/index.js.map +1 -1
  10. package/MuiRoot/index.js.map +1 -1
  11. package/NumericTextField/index.js.map +1 -1
  12. package/RemovableNumericTextField/index.js.map +1 -1
  13. package/RemovableTextField/index.js.map +1 -1
  14. package/Submittable/index.js.map +1 -1
  15. package/TextField/index.js.map +1 -1
  16. package/index.js +1 -1
  17. package/package.json +1 -1
  18. package/src/components/InitiallyInvisible.jsx +20 -0
  19. package/src/index.js +12 -11
  20. package/LoadingSpinner-8d84b138.js.map +0 -1
  21. /package/src/{widgets → components}/DatePicker.jsx +0 -0
  22. /package/src/{widgets → components}/DatePicker.less +0 -0
  23. /package/src/{widgets → components}/Dialog.jsx +0 -0
  24. /package/src/{widgets → components}/LoadingSpinner/LoadingSpinner.jsx +0 -0
  25. /package/src/{widgets → components}/LoadingSpinner/LoadingSpinner.less +0 -0
  26. /package/src/{widgets → components}/LoadingSpinner.jsx +0 -0
  27. /package/src/{widgets → components}/LoadingSpinnerWidget.jsx +0 -0
  28. /package/src/{widgets → components}/MenuButton.jsx +0 -0
  29. /package/src/{widgets → components}/MuiRoot.jsx +0 -0
  30. /package/src/{widgets → components}/MuiRoot.less +0 -0
  31. /package/src/{widgets → components}/NumericTextField.jsx +0 -0
  32. /package/src/{widgets → components}/RemovableNumericTextField.jsx +0 -0
  33. /package/src/{widgets → components}/RemovableTextField.jsx +0 -0
  34. /package/src/{widgets → components}/Submittable.jsx +0 -0
  35. /package/src/{widgets → components}/TextField.jsx +0 -0
  36. /package/src/{widgets → components}/TextField.less +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/DatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {IS_ARRAY} from '@lowentry/utils';\nimport Dayjs from 'dayjs';\nimport {Button, Stack, TextField} from '@mui/material';\nimport {DatePicker as MuiDatePicker} from '@mui/x-date-pickers';\nimport ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';\nimport './DatePicker.less';\n\n\nconst DatePickerTextField = LeRed.memo(({dateFormat, value, className, ...props}) =>\n{\n\tconst onClick = LeRed.useCallback(() =>\n\t{\n\t\tif(props?.ownerState?.open)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tlet propsLoop = props?.InputProps?.endAdornment?.props;\n\t\twhile(propsLoop)\n\t\t{\n\t\t\tif(propsLoop.onClick)\n\t\t\t{\n\t\t\t\treturn propsLoop.onClick;\n\t\t\t}\n\t\t\tif(propsLoop?.children)\n\t\t\t{\n\t\t\t\tpropsLoop = propsLoop.children;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif(IS_ARRAY(propsLoop))\n\t\t\t{\n\t\t\t\tlet continueLoop = false;\n\t\t\t\tfor(const propsLoopItem of propsLoop)\n\t\t\t\t{\n\t\t\t\t\tif(propsLoopItem?.props)\n\t\t\t\t\t{\n\t\t\t\t\t\tpropsLoop = propsLoopItem.props;\n\t\t\t\t\t\tcontinueLoop = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(continueLoop)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tpropsLoop = propsLoop?.props;\n\t\t}\n\t\treturn null;\n\t}, [props?.ownerState?.open, props?.InputProps?.endAdornment?.props]);\n\t\n\t\n\tconst onSelect = LeRed.useCallback((event) =>\n\t{\n\t\tevent.target.selectionStart = event.target.selectionEnd;\n\t\tevent.preventDefault();\n\t}, []);\n\t\n\t\n\treturn (<>\n\t\t<Button variant=\"outlined\" onClick={onClick}>\n\t\t\t<TextField {...props} className={'lowentry-mui--date-picker--textfield ' + (className ?? '')} variant=\"outlined\" value={Dayjs(value).format(dateFormat)} InputProps={{...(props.InputProps ?? {}), readOnly:true, endAdornment:null, onSelect:onSelect, onSelectCapture:onSelect, onMouseDown:onSelect, onTouchStart:onSelect, onTouchMove:onSelect}}/>\n\t\t</Button>\n\t</>);\n});\n\n\nconst DatePicker = LeRed.memo(({value, dateFormat, onChange, className, children, ...props}) =>\n{\n\tif(!dateFormat)\n\t{\n\t\tdateFormat = 'ddd, D MMM YYYY';\n\t}\n\t\n\tconst [datepickerOpen, openDatepicker, closeDatepicker] = LeRed.useHistoryState(false);\n\t\n\t\n\tconst onChanged = LeRed.useCallback((...args) =>\n\t{\n\t\tif(onChange)\n\t\t{\n\t\t\tonChange(...args);\n\t\t}\n\t}, [onChange]);\n\t\n\t\n\treturn (<>\n\t\t<Stack className={'lowentry-mui--date-picker ' + (className ?? '')} direction=\"row\" justifyContent=\"space-between\" spacing={1} {...props}>\n\t\t\t<Button className=\"lowentry-mui--date-picker--arrow-button\" variant=\"text\" color=\"primary\" onClick={() => onChanged(Dayjs(value).subtract(1, 'day'))}><ArrowBackIosNewIcon/></Button>\n\t\t\t<MuiDatePicker\n\t\t\t\topen={datepickerOpen}\n\t\t\t\tonOpen={openDatepicker}\n\t\t\t\tonClose={closeDatepicker}\n\t\t\t\tshowDaysOutsideCurrentMonth={true}\n\t\t\t\tviews={['day']}\n\t\t\t\tformat=\"YYYY-MM-DD\"\n\t\t\t\tlabel=\"\"\n\t\t\t\tisRequired={true}\n\t\t\t\tvalue={value}\n\t\t\t\tonChange={onChanged}\n\t\t\t\tslots={{\n\t\t\t\t\ttextField:DatePickerTextField,\n\t\t\t\t\ttoolbar: (props) => null,\n\t\t\t\t}}\n\t\t\t\tslotProps={{\n\t\t\t\t\ttextField:{dateFormat},\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<Button className=\"lowentry-mui--date-picker--arrow-button\" variant=\"text\" color=\"primary\" onClick={() => onChanged(Dayjs(value).add(1, 'day'))}><ArrowForwardIosIcon/></Button>\n\t\t</Stack>\n\t</>);\n});\nexport default DatePicker;\n"],"names":["DatePickerTextField","LeRed","memo","_ref","_props$ownerState2","_props$InputProps2","_props$InputProps3","dateFormat","value","className","props","_objectWithoutProperties","_excluded","onClick","useCallback","_props$ownerState","_props$InputProps","ownerState","open","propsLoop","InputProps","endAdornment","_propsLoop","_propsLoop2","children","IS_ARRAY","_step","continueLoop","_iterator","_createForOfIteratorHelper","s","n","done","propsLoopItem","err","e","f","onSelect","event","target","selectionStart","selectionEnd","preventDefault","React","createElement","Fragment","Button","variant","TextField","_extends","Dayjs","format","_objectSpread","readOnly","onSelectCapture","onMouseDown","onTouchStart","onTouchMove","DatePicker","_ref2","onChange","_excluded2","_LeRed$useHistoryStat","useHistoryState","_LeRed$useHistoryStat2","_slicedToArray","datepickerOpen","openDatepicker","closeDatepicker","onChanged","apply","arguments","Stack","direction","justifyContent","spacing","color","subtract","ArrowBackIosNewIcon","MuiDatePicker","onOpen","onClose","showDaysOutsideCurrentMonth","views","label","isRequired","slots","textField","toolbar","slotProps","add","ArrowForwardIosIcon"],"mappings":"s7FAWA,IAAMA,EAAsBC,EAAKA,MAACC,MAAK,SAAAC,GACvC,IAAAC,EAAAC,EAAAC,EADyCC,EAAUJ,EAAVI,WAAYC,EAAKL,EAALK,MAAOC,EAASN,EAATM,UAAcC,EAAKC,EAAA,QAAAR,EAAAS,GAExEC,EAAUZ,QAAMa,aAAY,WAClC,IAAAC,EAAAC,EACC,GAAGN,iBAAKK,EAALL,EAAOO,kBAAU,IAAAF,GAAjBA,EAAmBG,KAErB,OAAO,KAGR,IADA,IAAIC,EAAYT,SAAiB,QAAZM,EAALN,EAAOU,kBAAUJ,IAAAA,WAAAA,EAAjBA,EAAmBK,oBAAY,IAAAL,OAAA,EAA/BA,EAAiCN,MAC3CS,GACN,CAAA,IAAAG,EAAAC,EACC,GAAGJ,EAAUN,QAEZ,OAAOM,EAAUN,QAElB,GAAY,QAAZS,EAAGH,SAAAG,IAASA,GAATA,EAAWE,SAEbL,EAAYA,EAAUK,aAFvB,CAKA,GAAGC,EAAAA,SAASN,GACZ,CACC,IACoCO,EADhCC,GAAe,EAAMC,EAAAC,EACEV,GAAS,IAApC,IAAAS,EAAAE,MAAAJ,EAAAE,EAAAG,KAAAC,MACA,CAAA,IADUC,EAAaP,EAAAlB,MAEnByB,SAAAA,EAAevB,QAEjBS,EAAYc,EAAcvB,MAC1BiB,GAAe,EAEjB,CAAC,CAAA,MAAAO,GAAAN,EAAAO,EAAAD,EAAA,CAAA,QAAAN,EAAAQ,GAAA,CACD,GAAGT,EAEF,QAEF,CACAR,UAASI,EAAGJ,SAAS,IAAAI,OAAA,EAATA,EAAWb,KAjBvB,CAkBD,CACA,OAAO,IACR,GAAG,CAACA,SAAiB,QAAZN,EAALM,EAAOO,kBAAPb,IAAiBA,OAAjBA,EAAAA,EAAmBc,KAAMR,SAAiBL,QAAZA,EAALK,EAAOU,sBAAUf,WAAAA,EAAjBA,EAAmBgB,oBAAY,IAAAhB,OAAA,EAA/BA,EAAiCK,QAGxD2B,EAAWpC,EAAAA,MAAMa,aAAY,SAACwB,GAEnCA,EAAMC,OAAOC,eAAiBF,EAAMC,OAAOE,aAC3CH,EAAMI,gBACN,GAAE,IAGH,OAAQC,EAAA,QAAAC,cAAAD,UAAAE,SAAA,KACPF,EAAA,QAAAC,cAACE,SAAM,CAACC,QAAQ,WAAWlC,QAASA,GACnC8B,EAAAA,QAAAC,cAACI,EAAAA,UAASC,EAAAA,WAAKvC,EAAK,CAAED,UAAW,yCAA2CA,QAAAA,EAAa,IAAKsC,QAAQ,WAAWvC,MAAO0C,EAAAA,QAAM1C,GAAO2C,OAAO5C,GAAaa,WAAUgC,EAAAA,EAAA,CAAA,UAAA9C,EAAOI,EAAMU,kBAAU,IAAAd,EAAAA,EAAI,CAAE,GAAA,CAAA,EAAA,CAAG+C,UAAS,EAAMhC,aAAa,KAAMgB,SAASA,EAAUiB,gBAAgBjB,EAAUkB,YAAYlB,EAAUmB,aAAanB,EAAUoB,YAAYpB,QAG9U,IAGMqB,EAAazD,EAAKA,MAACC,MAAK,SAAAyD,GAC9B,IADgCnD,EAAKmD,EAALnD,MAAOD,EAAUoD,EAAVpD,WAAYqD,EAAQD,EAARC,SAAUnD,EAASkD,EAATlD,UAAmBkD,EAARnC,SAAad,IAAAA,EAAKC,EAAAA,QAAAgD,EAAAE,GAErFtD,IAEHA,EAAa,mBAGd,IAAAuD,EAA0D7D,EAAAA,MAAM8D,iBAAgB,GAAMC,EAAAC,EAAAA,QAAAH,EAAA,GAA/EI,EAAcF,EAAA,GAAEG,EAAcH,EAAA,GAAEI,EAAeJ,EAAA,GAGhDK,EAAYpE,QAAMa,aAAY,WAEhC8C,GAEFA,EAAQU,WAAAC,EAAAA,UAEV,GAAG,CAACX,IAGJ,OAAQjB,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAAC4B,EAAKA,MAAAvB,UAAA,CAACxC,UAAW,8BAAgCA,QAAAA,EAAa,IAAKgE,UAAU,MAAMC,eAAe,gBAAgBC,QAAS,GAAOjE,GAClIiC,UAAAC,cAACE,EAAAA,OAAM,CAACrC,UAAU,0CAA0CsC,QAAQ,OAAO6B,MAAM,UAAU/D,QAAS,WAAA,OAAMwD,EAAUnB,EAAAA,QAAM1C,GAAOqE,SAAS,EAAG,OAAO,GAAElC,EAAA,QAAAC,cAACkC,UAAmB,OAC1KnC,EAAA,QAAAC,cAACmC,aAAa,CACb7D,KAAMgD,EACNc,OAAQb,EACRc,QAASb,EACTc,6BAA6B,EAC7BC,MAAO,CAAC,OACRhC,OAAO,aACPiC,MAAM,GACNC,YAAY,EACZ7E,MAAOA,EACPoD,SAAUS,EACViB,MAAO,CACNC,UAAUvF,EACVwF,QAAU,SAAC9E,GAAK,OAAK,IAAI,GAE1B+E,UAAW,CACVF,UAAU,CAAChF,WAAAA,MAGboC,EAAAA,QAAAC,cAACE,SAAM,CAACrC,UAAU,0CAA0CsC,QAAQ,OAAO6B,MAAM,UAAU/D,QAAS,WAAA,OAAMwD,EAAUnB,EAAAA,QAAM1C,GAAOkF,IAAI,EAAG,OAAO,GAAE/C,EAAAA,QAAAC,cAAC+C,EAAAA,QAAoB,QAGzK"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/DatePicker.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {IS_ARRAY} from '@lowentry/utils';\nimport Dayjs from 'dayjs';\nimport {Button, Stack, TextField} from '@mui/material';\nimport {DatePicker as MuiDatePicker} from '@mui/x-date-pickers';\nimport ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew';\nimport ArrowForwardIosIcon from '@mui/icons-material/ArrowForwardIos';\nimport './DatePicker.less';\n\n\nconst DatePickerTextField = LeRed.memo(({dateFormat, value, className, ...props}) =>\n{\n\tconst onClick = LeRed.useCallback(() =>\n\t{\n\t\tif(props?.ownerState?.open)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\tlet propsLoop = props?.InputProps?.endAdornment?.props;\n\t\twhile(propsLoop)\n\t\t{\n\t\t\tif(propsLoop.onClick)\n\t\t\t{\n\t\t\t\treturn propsLoop.onClick;\n\t\t\t}\n\t\t\tif(propsLoop?.children)\n\t\t\t{\n\t\t\t\tpropsLoop = propsLoop.children;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif(IS_ARRAY(propsLoop))\n\t\t\t{\n\t\t\t\tlet continueLoop = false;\n\t\t\t\tfor(const propsLoopItem of propsLoop)\n\t\t\t\t{\n\t\t\t\t\tif(propsLoopItem?.props)\n\t\t\t\t\t{\n\t\t\t\t\t\tpropsLoop = propsLoopItem.props;\n\t\t\t\t\t\tcontinueLoop = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(continueLoop)\n\t\t\t\t{\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\tpropsLoop = propsLoop?.props;\n\t\t}\n\t\treturn null;\n\t}, [props?.ownerState?.open, props?.InputProps?.endAdornment?.props]);\n\t\n\t\n\tconst onSelect = LeRed.useCallback((event) =>\n\t{\n\t\tevent.target.selectionStart = event.target.selectionEnd;\n\t\tevent.preventDefault();\n\t}, []);\n\t\n\t\n\treturn (<>\n\t\t<Button variant=\"outlined\" onClick={onClick}>\n\t\t\t<TextField {...props} className={'lowentry-mui--date-picker--textfield ' + (className ?? '')} variant=\"outlined\" value={Dayjs(value).format(dateFormat)} InputProps={{...(props.InputProps ?? {}), readOnly:true, endAdornment:null, onSelect:onSelect, onSelectCapture:onSelect, onMouseDown:onSelect, onTouchStart:onSelect, onTouchMove:onSelect}}/>\n\t\t</Button>\n\t</>);\n});\n\n\nconst DatePicker = LeRed.memo(({value, dateFormat, onChange, className, children, ...props}) =>\n{\n\tif(!dateFormat)\n\t{\n\t\tdateFormat = 'ddd, D MMM YYYY';\n\t}\n\t\n\tconst [datepickerOpen, openDatepicker, closeDatepicker] = LeRed.useHistoryState(false);\n\t\n\t\n\tconst onChanged = LeRed.useCallback((...args) =>\n\t{\n\t\tif(onChange)\n\t\t{\n\t\t\tonChange(...args);\n\t\t}\n\t}, [onChange]);\n\t\n\t\n\treturn (<>\n\t\t<Stack className={'lowentry-mui--date-picker ' + (className ?? '')} direction=\"row\" justifyContent=\"space-between\" spacing={1} {...props}>\n\t\t\t<Button className=\"lowentry-mui--date-picker--arrow-button\" variant=\"text\" color=\"primary\" onClick={() => onChanged(Dayjs(value).subtract(1, 'day'))}><ArrowBackIosNewIcon/></Button>\n\t\t\t<MuiDatePicker\n\t\t\t\topen={datepickerOpen}\n\t\t\t\tonOpen={openDatepicker}\n\t\t\t\tonClose={closeDatepicker}\n\t\t\t\tshowDaysOutsideCurrentMonth={true}\n\t\t\t\tviews={['day']}\n\t\t\t\tformat=\"YYYY-MM-DD\"\n\t\t\t\tlabel=\"\"\n\t\t\t\tisRequired={true}\n\t\t\t\tvalue={value}\n\t\t\t\tonChange={onChanged}\n\t\t\t\tslots={{\n\t\t\t\t\ttextField:DatePickerTextField,\n\t\t\t\t\ttoolbar: (props) => null,\n\t\t\t\t}}\n\t\t\t\tslotProps={{\n\t\t\t\t\ttextField:{dateFormat},\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<Button className=\"lowentry-mui--date-picker--arrow-button\" variant=\"text\" color=\"primary\" onClick={() => onChanged(Dayjs(value).add(1, 'day'))}><ArrowForwardIosIcon/></Button>\n\t\t</Stack>\n\t</>);\n});\nexport default DatePicker;\n"],"names":["DatePickerTextField","LeRed","memo","_ref","_props$ownerState2","_props$InputProps2","_props$InputProps3","dateFormat","value","className","props","_objectWithoutProperties","_excluded","onClick","useCallback","_props$ownerState","_props$InputProps","ownerState","open","propsLoop","InputProps","endAdornment","_propsLoop","_propsLoop2","children","IS_ARRAY","_step","continueLoop","_iterator","_createForOfIteratorHelper","s","n","done","propsLoopItem","err","e","f","onSelect","event","target","selectionStart","selectionEnd","preventDefault","React","createElement","Fragment","Button","variant","TextField","_extends","Dayjs","format","_objectSpread","readOnly","onSelectCapture","onMouseDown","onTouchStart","onTouchMove","DatePicker","_ref2","onChange","_excluded2","_LeRed$useHistoryStat","useHistoryState","_LeRed$useHistoryStat2","_slicedToArray","datepickerOpen","openDatepicker","closeDatepicker","onChanged","apply","arguments","Stack","direction","justifyContent","spacing","color","subtract","ArrowBackIosNewIcon","MuiDatePicker","onOpen","onClose","showDaysOutsideCurrentMonth","views","label","isRequired","slots","textField","toolbar","slotProps","add","ArrowForwardIosIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/Dialog.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {STRING} from '@lowentry/utils';\nimport {Dialog as MuiDialog} from '@mui/material';\n\n\nconst Dialog = LeRed.memo(({onClose, children, ...props}) =>\n{\n\tconst onClosed = LeRed.useCallback((event, reason) =>\n\t{\n\t\tif(!STRING(reason).toLowerCase().includes('escape'))\n\t\t{\n\t\t\t// prevent closing when clicking on the backdrop, only allow escape-key closing\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif(onClose)\n\t\t{\n\t\t\tonClose(event, reason);\n\t\t}\n\t}, [onClose]);\n\t\n\t\n\treturn (<>\n\t\t<MuiDialog onClose={onClosed} {...props}>\n\t\t\t{children}\n\t\t</MuiDialog>\n\t</>);\n});\nexport default Dialog;\n"],"names":["Dialog","LeRed","memo","_ref","onClose","children","props","_objectWithoutProperties","_excluded","onClosed","useCallback","event","reason","STRING","toLowerCase","includes","React","createElement","Fragment","MuiDialog","_extends"],"mappings":"wZAMMA,EAASC,EAAKA,MAACC,MAAK,SAAAC,GAC1B,IAD4BC,EAAOD,EAAPC,QAASC,EAAQF,EAARE,SAAaC,EAAKC,EAAA,QAAAJ,EAAAK,GAEhDC,EAAWR,EAAKA,MAACS,aAAY,SAACC,EAAOC,GAEtCC,EAAMA,OAACD,GAAQE,cAAcC,SAAS,WAMvCX,GAEFA,EAAQO,EAAOC,EAEjB,GAAG,CAACR,IAGJ,OAAQY,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAASnB,OAAAoB,UAAA,CAAChB,QAASK,GAAcH,GAChCD,GAGJ"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/Dialog.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {STRING} from '@lowentry/utils';\nimport {Dialog as MuiDialog} from '@mui/material';\n\n\nconst Dialog = LeRed.memo(({onClose, children, ...props}) =>\n{\n\tconst onClosed = LeRed.useCallback((event, reason) =>\n\t{\n\t\tif(!STRING(reason).toLowerCase().includes('escape'))\n\t\t{\n\t\t\t// prevent closing when clicking on the backdrop, only allow escape-key closing\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif(onClose)\n\t\t{\n\t\t\tonClose(event, reason);\n\t\t}\n\t}, [onClose]);\n\t\n\t\n\treturn (<>\n\t\t<MuiDialog onClose={onClosed} {...props}>\n\t\t\t{children}\n\t\t</MuiDialog>\n\t</>);\n});\nexport default Dialog;\n"],"names":["Dialog","LeRed","memo","_ref","onClose","children","props","_objectWithoutProperties","_excluded","onClosed","useCallback","event","reason","STRING","toLowerCase","includes","React","createElement","Fragment","MuiDialog","_extends"],"mappings":"wZAMMA,EAASC,EAAKA,MAACC,MAAK,SAAAC,GAC1B,IAD4BC,EAAOD,EAAPC,QAASC,EAAQF,EAARE,SAAaC,EAAKC,EAAA,QAAAJ,EAAAK,GAEhDC,EAAWR,EAAKA,MAACS,aAAY,SAACC,EAAOC,GAEtCC,EAAMA,OAACD,GAAQE,cAAcC,SAAS,WAMvCX,GAEFA,EAAQO,EAAOC,EAEjB,GAAG,CAACR,IAGJ,OAAQY,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAASnB,OAAAoB,UAAA,CAAChB,QAASK,GAAcH,GAChCD,GAGJ"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/extends"),t=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),n=require("@babel/runtime/helpers/objectWithoutProperties"),i=require("react"),o=require("@lowentry/react-redux"),u=require("@lowentry/utils");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=a(e),l=a(t),s=a(r),f=a(n),p=a(i),y=["frames","transition","style","children","opacityKey"];function b(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 d(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach((function(t){l.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var O=o.LeRed.memo((function(e){var t=e.frames,r=e.transition,n=e.style,i=e.children,a=e.opacityKey,l=f.default(e,y),b=o.LeRed.useState(0),O=s.default(b,2),m=O[0],h=O[1];return o.LeRed.useEffect((function(){return h(0),u.LeUtils.setAnimationFrameTimeout((function(){return h(1)}),Math.max(a?2:0,u.INT_LAX(t))).remove}),[a]),p.default.createElement("div",c.default({style:d({width:"100%",height:"100%",opacity:m,transition:m>0&&r?"opacity "+r:"none"},null!=n?n:{})},l),i)}));exports.default=O;
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/components/InitiallyInvisible.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeUtils, INT_LAX} from '@lowentry/utils';\n\n\nconst InitiallyInvisible = LeRed.memo(({frames, transition, style, children, opacityKey, ...other}) =>\n{\n\tconst [opacity, setOpacity] = LeRed.useState(0);\n\t\n\t\n\tLeRed.useEffect(() =>\n\t{\n\t\tsetOpacity(0);\n\t\treturn LeUtils.setAnimationFrameTimeout(() => setOpacity(1), Math.max((opacityKey ? 2 : 0), INT_LAX(frames))).remove;\n\t}, [opacityKey]);\n\t\n\t\n\treturn (<div style={{width:'100%', height:'100%', opacity, transition:(((opacity > 0) && transition) ? ('opacity ' + transition) : 'none'), ...(style ?? {})}} {...other}>{children}</div>);\n});\nexport default InitiallyInvisible;\n"],"names":["InitiallyInvisible","LeRed","memo","_ref","frames","transition","style","children","opacityKey","other","_objectWithoutProperties","_excluded","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","opacity","setOpacity","useEffect","LeUtils","setAnimationFrameTimeout","Math","max","INT_LAX","remove","React","createElement","_extends","_objectSpread","width","height"],"mappings":"wlCAKMA,IAAAA,EAAqBC,EAAKA,MAACC,MAAK,SAAAC,GACtC,IADwCC,EAAMD,EAANC,OAAQC,EAAUF,EAAVE,WAAYC,EAAKH,EAALG,MAAOC,EAAQJ,EAARI,SAAUC,EAAUL,EAAVK,WAAeC,EAAKC,EAAA,QAAAP,EAAAQ,GAEhGC,EAA8BX,EAAAA,MAAMY,SAAS,GAAEC,EAAAC,EAAAA,QAAAH,EAAA,GAAxCI,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAU1B,OAPAb,EAAKA,MAACiB,WAAU,WAGf,OADAD,EAAW,GACJE,EAAAA,QAAQC,0BAAyB,WAAA,OAAMH,EAAW,EAAE,GAAEI,KAAKC,IAAKd,EAAa,EAAI,EAAIe,EAAAA,QAAQnB,KAAUoB,MAC/G,GAAG,CAAChB,IAGIiB,UAAAC,cAAA,MAAAC,UAAA,CAAKrB,MAAKsB,EAAA,CAAGC,MAAM,OAAQC,OAAO,OAAQd,QAAAA,EAASX,WAAcW,EAAU,GAAMX,EAAe,WAAaA,EAAc,QAAaC,QAAAA,EAAS,KAAUG,GAAQF,EAC5K"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../LoadingSpinner-8d84b138.js");require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@lowentry/react-redux"),require("@mui/material"),require("../style-inject.es-dcee06b6.js"),exports.default=e.LoadingSpinner;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../LoadingSpinner-9881bf40.js");require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@lowentry/react-redux"),require("@mui/material"),require("../style-inject.es-dcee06b6.js"),exports.default=e.LoadingSpinner;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  "use strict";var e=require("@babel/runtime/helpers/extends"),r=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/objectWithoutProperties"),n=require("react"),i=require("@lowentry/react-redux"),o=require("@mui/material"),l=require("./style-inject.es-dcee06b6.js");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=u(e),c=u(r),s=u(t),p=u(n);l.styleInject(".lowentry-mui--loading-spinner{color:hsla(0,0%,100%,.04)}.lowentry-mui--loading-spinner.lowentry-mui--loading-spinner--transparent{background:transparent}");var d=["type","className","sx","children"];function f(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function y(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?f(Object(t),!0).forEach((function(r){c.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):f(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var m={},g=i.LeRed.memo((function(e){var r=e.type;return i.LeRed.useEffect((function(){return function(e){var r=e.type;m[r]=(m[r]||0)+1,1===m[r]&&i.LeRed.trigger("lowentry-mui--loading-spinner--"+r)}({type:r}),function(){return function(e){var r=e.type;m[r]=(m[r]||1)-1,0===m[r]&&i.LeRed.trigger("lowentry-mui--loading-spinner--"+r)}({type:r})}}),[]),null})),b=i.LeRed.memo((function(e){var r=e.type,t=e.className,n=e.sx;e.children;var l=s.default(e,d);return i.LeRed.useTriggerable("lowentry-mui--loading-spinner--"+r),p.default.createElement(p.default.Fragment,null,p.default.createElement(o.Backdrop,a.default({className:"lowentry-mui--loading-spinner lowentry-mui--loading-spinner--"+r+" "+(null!=t?t:""),sx:y({zIndex:function(e){return e.zIndex.drawer+1}},null!=n?n:{}),open:(m[r]||0)>0},l),p.default.createElement(o.CircularProgress,{color:"inherit",size:"min(120px,30vw)"})))}));exports.LoadingSpinner=g,exports.LoadingSpinnerWidget=b;
2
- //# sourceMappingURL=LoadingSpinner-8d84b138.js.map
2
+ //# sourceMappingURL=LoadingSpinner-9881bf40.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingSpinner-9881bf40.js","sources":["src/components/LoadingSpinner/LoadingSpinner.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {Backdrop, CircularProgress} from '@mui/material';\nimport './LoadingSpinner.less';\n\n\nlet loadingSpinnerCount = {};\nlet loadingSpinnerCountNonTransparent = 0;\n\nconst LoadingSpinnerGrab = ({type}) =>\n{\n\tloadingSpinnerCount[type] = (loadingSpinnerCount[type] || 0) + 1;\n\tif(loadingSpinnerCount[type] === 1)\n\t{\n\t\tLeRed.trigger('lowentry-mui--loading-spinner--' + type);\n\t}\n};\n\nconst LoadingSpinnerRelease = ({type}) =>\n{\n\tloadingSpinnerCount[type] = (loadingSpinnerCount[type] || 1) - 1;\n\tif(loadingSpinnerCount[type] === 0)\n\t{\n\t\tLeRed.trigger('lowentry-mui--loading-spinner--' + type);\n\t}\n};\n\n\nexport const LoadingSpinner = LeRed.memo(({type}) =>\n{\n\tLeRed.useEffect(() =>\n\t{\n\t\tLoadingSpinnerGrab({type});\n\t\treturn () => LoadingSpinnerRelease({type});\n\t}, []);\n\t\n\treturn null;\n});\n\n\nexport const LoadingSpinnerWidget = LeRed.memo(({type, className, sx, children, ...props}) =>\n{\n\tLeRed.useTriggerable('lowentry-mui--loading-spinner--' + type);\n\t\n\treturn (<>\n\t\t<Backdrop className={'lowentry-mui--loading-spinner lowentry-mui--loading-spinner--' + type + ' ' + (className ?? '')} sx={{zIndex:(theme) => theme.zIndex.drawer + 1, ...(sx ?? {})}} open={(loadingSpinnerCount[type] || 0) > 0} {...props}>\n\t\t\t<CircularProgress color=\"inherit\" size=\"min(120px,30vw)\"/>\n\t\t</Backdrop>\n\t</>);\n});\n"],"names":["loadingSpinnerCount","LoadingSpinner","LeRed","memo","_ref3","type","useEffect","_ref","trigger","LoadingSpinnerGrab","_ref2","LoadingSpinnerRelease","LoadingSpinnerWidget","_ref4","className","sx","children","props","_objectWithoutProperties","_excluded","useTriggerable","React","createElement","Fragment","Backdrop","_extends","_objectSpread","zIndex","theme","drawer","open","CircularProgress","color","size"],"mappings":"8qCAMA,IAAIA,EAAsB,CAAA,EAsBbC,EAAiBC,EAAKA,MAACC,MAAK,SAAAC,GACzC,IAD2CC,EAAID,EAAJC,KAQ1C,OANAH,EAAKA,MAACI,WAAU,WAGf,OAxByB,SAAHC,GACxB,IAD6BF,EAAIE,EAAJF,KAE5BL,EAAoBK,IAASL,EAAoBK,IAAS,GAAK,EAC9B,IAA9BL,EAAoBK,IAEtBH,EAAAA,MAAMM,QAAQ,kCAAoCH,EAEpD,CAgBEI,CAAmB,CAACJ,KAAAA,IACb,WAAA,OAfqB,SAAHK,GAC3B,IADgCL,EAAIK,EAAJL,KAE/BL,EAAoBK,IAASL,EAAoBK,IAAS,GAAK,EAC9B,IAA9BL,EAAoBK,IAEtBH,EAAAA,MAAMM,QAAQ,kCAAoCH,EAEpD,CAQeM,CAAsB,CAACN,KAAAA,GAAM,CAC1C,GAAE,IAEI,IACR,IAGaO,EAAuBV,EAAKA,MAACC,MAAK,SAAAU,GAC/C,IADiDR,EAAIQ,EAAJR,KAAMS,EAASD,EAATC,UAAWC,EAAEF,EAAFE,GAAYF,EAARG,SAAaC,IAAAA,EAAKC,EAAAA,QAAAL,EAAAM,GAIvF,OAFAjB,EAAAA,MAAMkB,eAAe,kCAAoCf,GAEjDgB,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAQA,SAAAC,UAAA,CAACX,UAAW,gEAAkET,EAAO,KAAOS,QAAAA,EAAa,IAAKC,GAAEW,EAAA,CAAGC,OAAO,SAACC,GAAK,OAAKA,EAAMD,OAAOE,OAAS,CAAC,GAAMd,QAAAA,EAAM,IAAMe,MAAO9B,EAAoBK,IAAS,GAAK,GAAOY,GACtOI,UAAAC,cAACS,EAAAA,iBAAgB,CAACC,MAAM,UAAUC,KAAK,qBAG1C"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../LoadingSpinner-8d84b138.js");require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@lowentry/react-redux"),require("@mui/material"),require("../style-inject.es-dcee06b6.js"),exports.default=e.LoadingSpinnerWidget;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("../LoadingSpinner-9881bf40.js");require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@lowentry/react-redux"),require("@mui/material"),require("../style-inject.es-dcee06b6.js"),exports.default=e.LoadingSpinnerWidget;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/MenuButton.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeUtils, ARRAY} from '@lowentry/utils';\nimport {Button, Menu} from '@mui/material';\n\n\nconst MenuButton = LeRed.memo(({icon, className, ref, onClick, onClose, children, ...props}) =>\n{\n\tconst buttonRef = LeRed.useRef();\n\tconst [open, setOpen] = LeRed.useState(false);\n\t\n\t\n\tconst onClicked = LeRed.useCallback((event) =>\n\t{\n\t\tsetOpen(true);\n\t\t\n\t\tif(onClick)\n\t\t{\n\t\t\tonClick(event);\n\t\t}\n\t}, [onClick]);\n\t\n\t\n\tconst onClosed = LeRed.useCallback((event) =>\n\t{\n\t\tsetOpen(false);\n\t\t\n\t\tif(onClose)\n\t\t{\n\t\t\tonClose(event);\n\t\t}\n\t}, [onClose]);\n\t\n\t\n\treturn (<>\n\t\t<Button ref={LeRed.mergeRefs(buttonRef, ref)} className={'lowentry-mui--menu-button allow-mobile-hover ' + (className ?? '')} variant=\"text\" color=\"primary\" onClick={onClicked} {...props}>{icon}</Button>\n\t\t<Menu anchorEl={buttonRef.current} open={open} onClose={onClosed}>\n\t\t\t{LeUtils.mapToArray(ARRAY(children), (child, index) => !!child && LeRed.cloneElement(child, {\n\t\t\t\tkey: index,\n\t\t\t\tonClick: () =>\n\t\t\t\t {\n\t\t\t\t\t setOpen(false);\n\t\t\t\t\t if(child?.props?.onClick)\n\t\t\t\t\t {\n\t\t\t\t\t\t child.props.onClick();\n\t\t\t\t\t }\n\t\t\t\t },\n\t\t\t\tdisabled:(typeof child?.props?.disabled !== 'undefined') ? child.props.disabled : !child?.props?.onClick,\n\t\t\t}))}\n\t\t</Menu>\n\t</>);\n});\nexport default MenuButton;\n"],"names":["MenuButton","LeRed","memo","_ref","icon","className","ref","onClick","onClose","children","props","_objectWithoutProperties","_excluded","buttonRef","useRef","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","open","setOpen","onClicked","useCallback","event","onClosed","React","createElement","Fragment","Button","_extends","mergeRefs","variant","color","Menu","anchorEl","current","LeUtils","mapToArray","ARRAY","child","index","_child$props2","_child$props3","cloneElement","key","_child$props","disabled"],"mappings":"ofAMMA,EAAaC,EAAKA,MAACC,MAAK,SAAAC,GAC9B,IADgCC,EAAID,EAAJC,KAAMC,EAASF,EAATE,UAAWC,EAAGH,EAAHG,IAAKC,EAAOJ,EAAPI,QAASC,EAAOL,EAAPK,QAASC,EAAQN,EAARM,SAAaC,EAAKC,EAAA,QAAAR,EAAAS,GAEnFC,EAAYZ,QAAMa,SACxBC,EAAwBd,EAAAA,MAAMe,UAAS,GAAMC,EAAAC,EAAAA,QAAAH,EAAA,GAAtCI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAGdI,EAAYpB,EAAAA,MAAMqB,aAAY,SAACC,GAEpCH,GAAQ,GAELb,GAEFA,EAAQgB,EAEV,GAAG,CAAChB,IAGEiB,EAAWvB,EAAAA,MAAMqB,aAAY,SAACC,GAEnCH,GAAQ,GAELZ,GAEFA,EAAQe,EAEV,GAAG,CAACf,IAGJ,OAAQiB,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAMA,OAAAC,UAAA,CAACvB,IAAKL,EAAKA,MAAC6B,UAAUjB,EAAWP,GAAMD,UAAW,iDAAmDA,QAAAA,EAAa,IAAK0B,QAAQ,OAAOC,MAAM,UAAUzB,QAASc,GAAeX,GAAQN,GAC7LqB,EAAAA,QAAAC,cAACO,EAAAA,KAAI,CAACC,SAAUrB,EAAUsB,QAAShB,KAAMA,EAAMX,QAASgB,GACtDY,EAAAA,QAAQC,WAAWC,EAAKA,MAAC7B,IAAW,SAAC8B,EAAOC,GAAK,IAAAC,EAAAC,EAAA,QAAOH,GAAStC,QAAM0C,aAAaJ,EAAO,CAC3FK,IAASJ,EACTjC,QAAS,WACA,IAAAsC,EACCzB,GAAQ,GACLmB,iBAAKM,EAALN,EAAO7B,aAAK,IAAAmC,GAAZA,EAActC,SAEhBgC,EAAM7B,MAAMH,SAEb,EACVuC,cAA4C,KAA3BP,iBAAKE,EAALF,EAAO7B,aAAK,IAAA+B,OAAA,EAAZA,EAAcK,UAA4BP,EAAM7B,MAAMoC,WAAYP,SAAY,QAAPG,EAALH,EAAO7B,aAAPgC,IAAYA,GAAZA,EAAcnC,UAChG,KAGL"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/MenuButton.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeUtils, ARRAY} from '@lowentry/utils';\nimport {Button, Menu} from '@mui/material';\n\n\nconst MenuButton = LeRed.memo(({icon, className, ref, onClick, onClose, children, ...props}) =>\n{\n\tconst buttonRef = LeRed.useRef();\n\tconst [open, setOpen] = LeRed.useState(false);\n\t\n\t\n\tconst onClicked = LeRed.useCallback((event) =>\n\t{\n\t\tsetOpen(true);\n\t\t\n\t\tif(onClick)\n\t\t{\n\t\t\tonClick(event);\n\t\t}\n\t}, [onClick]);\n\t\n\t\n\tconst onClosed = LeRed.useCallback((event) =>\n\t{\n\t\tsetOpen(false);\n\t\t\n\t\tif(onClose)\n\t\t{\n\t\t\tonClose(event);\n\t\t}\n\t}, [onClose]);\n\t\n\t\n\treturn (<>\n\t\t<Button ref={LeRed.mergeRefs(buttonRef, ref)} className={'lowentry-mui--menu-button allow-mobile-hover ' + (className ?? '')} variant=\"text\" color=\"primary\" onClick={onClicked} {...props}>{icon}</Button>\n\t\t<Menu anchorEl={buttonRef.current} open={open} onClose={onClosed}>\n\t\t\t{LeUtils.mapToArray(ARRAY(children), (child, index) => !!child && LeRed.cloneElement(child, {\n\t\t\t\tkey: index,\n\t\t\t\tonClick: () =>\n\t\t\t\t {\n\t\t\t\t\t setOpen(false);\n\t\t\t\t\t if(child?.props?.onClick)\n\t\t\t\t\t {\n\t\t\t\t\t\t child.props.onClick();\n\t\t\t\t\t }\n\t\t\t\t },\n\t\t\t\tdisabled:(typeof child?.props?.disabled !== 'undefined') ? child.props.disabled : !child?.props?.onClick,\n\t\t\t}))}\n\t\t</Menu>\n\t</>);\n});\nexport default MenuButton;\n"],"names":["MenuButton","LeRed","memo","_ref","icon","className","ref","onClick","onClose","children","props","_objectWithoutProperties","_excluded","buttonRef","useRef","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","open","setOpen","onClicked","useCallback","event","onClosed","React","createElement","Fragment","Button","_extends","mergeRefs","variant","color","Menu","anchorEl","current","LeUtils","mapToArray","ARRAY","child","index","_child$props2","_child$props3","cloneElement","key","_child$props","disabled"],"mappings":"ofAMMA,EAAaC,EAAKA,MAACC,MAAK,SAAAC,GAC9B,IADgCC,EAAID,EAAJC,KAAMC,EAASF,EAATE,UAAWC,EAAGH,EAAHG,IAAKC,EAAOJ,EAAPI,QAASC,EAAOL,EAAPK,QAASC,EAAQN,EAARM,SAAaC,EAAKC,EAAA,QAAAR,EAAAS,GAEnFC,EAAYZ,QAAMa,SACxBC,EAAwBd,EAAAA,MAAMe,UAAS,GAAMC,EAAAC,EAAAA,QAAAH,EAAA,GAAtCI,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GAGdI,EAAYpB,EAAAA,MAAMqB,aAAY,SAACC,GAEpCH,GAAQ,GAELb,GAEFA,EAAQgB,EAEV,GAAG,CAAChB,IAGEiB,EAAWvB,EAAAA,MAAMqB,aAAY,SAACC,GAEnCH,GAAQ,GAELZ,GAEFA,EAAQe,EAEV,GAAG,CAACf,IAGJ,OAAQiB,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAMA,OAAAC,UAAA,CAACvB,IAAKL,EAAKA,MAAC6B,UAAUjB,EAAWP,GAAMD,UAAW,iDAAmDA,QAAAA,EAAa,IAAK0B,QAAQ,OAAOC,MAAM,UAAUzB,QAASc,GAAeX,GAAQN,GAC7LqB,EAAAA,QAAAC,cAACO,EAAAA,KAAI,CAACC,SAAUrB,EAAUsB,QAAShB,KAAMA,EAAMX,QAASgB,GACtDY,EAAAA,QAAQC,WAAWC,EAAKA,MAAC7B,IAAW,SAAC8B,EAAOC,GAAK,IAAAC,EAAAC,EAAA,QAAOH,GAAStC,QAAM0C,aAAaJ,EAAO,CAC3FK,IAASJ,EACTjC,QAAS,WACA,IAAAsC,EACCzB,GAAQ,GACLmB,iBAAKM,EAALN,EAAO7B,aAAK,IAAAmC,GAAZA,EAActC,SAEhBgC,EAAM7B,MAAMH,SAEb,EACVuC,cAA4C,KAA3BP,iBAAKE,EAALF,EAAO7B,aAAK,IAAA+B,OAAA,EAAZA,EAAcK,UAA4BP,EAAM7B,MAAMoC,WAAYP,SAAY,QAAPG,EAALH,EAAO7B,aAAPgC,IAAYA,GAAZA,EAAcnC,UAChG,KAGL"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/MuiRoot.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {CssBaseline, ThemeProvider} from '@mui/material';\nimport {LocalizationProvider} from '@mui/x-date-pickers';\nimport {AdapterDayjs} from '@mui/x-date-pickers/AdapterDayjs';\nimport './MuiRoot.less';\n\n\nconst MuiRoot = LeRed.memo(({theme, className, children, ...props}) =>\n{\n\treturn (<>\n\t\t<CssBaseline/>\n\t\t<ThemeProvider theme={theme}>\n\t\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\n\t\t\t\t<div className={'lowentry-mui--mui-root ' + (className ?? '')} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</LocalizationProvider>\n\t\t</ThemeProvider>\n\t</>);\n});\nexport default MuiRoot;\n"],"names":["MuiRoot","LeRed","memo","_ref","theme","className","children","props","_objectWithoutProperties","_excluded","React","createElement","Fragment","CssBaseline","ThemeProvider","LocalizationProvider","dateAdapter","AdapterDayjs","_extends"],"mappings":"0uBAQMA,EAAUC,EAAKA,MAACC,MAAK,SAAAC,GAC3B,IAD6BC,EAAKD,EAALC,MAAOC,EAASF,EAATE,UAAWC,EAAQH,EAARG,SAAaC,EAAKC,EAAA,QAAAL,EAAAM,GAEhE,OAAQC,EAAA,QAAAC,cAAAD,UAAAE,cACPF,EAAAA,QAAAC,cAACE,EAAWA,kBACZH,EAAAA,QAAAC,cAACG,EAAAA,cAAa,CAACV,MAAOA,GACrBM,EAAA,QAAAC,cAACI,uBAAoB,CAACC,YAAaC,EAAAA,cAClCP,UAAAC,cAAA,MAAAO,UAAA,CAAKb,UAAW,2BAA6BA,QAAAA,EAAa,KAASE,GACjED,KAKN"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/MuiRoot.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {CssBaseline, ThemeProvider} from '@mui/material';\nimport {LocalizationProvider} from '@mui/x-date-pickers';\nimport {AdapterDayjs} from '@mui/x-date-pickers/AdapterDayjs';\nimport './MuiRoot.less';\n\n\nconst MuiRoot = LeRed.memo(({theme, className, children, ...props}) =>\n{\n\treturn (<>\n\t\t<CssBaseline/>\n\t\t<ThemeProvider theme={theme}>\n\t\t\t<LocalizationProvider dateAdapter={AdapterDayjs}>\n\t\t\t\t<div className={'lowentry-mui--mui-root ' + (className ?? '')} {...props}>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</LocalizationProvider>\n\t\t</ThemeProvider>\n\t</>);\n});\nexport default MuiRoot;\n"],"names":["MuiRoot","LeRed","memo","_ref","theme","className","children","props","_objectWithoutProperties","_excluded","React","createElement","Fragment","CssBaseline","ThemeProvider","LocalizationProvider","dateAdapter","AdapterDayjs","_extends"],"mappings":"0uBAQMA,EAAUC,EAAKA,MAACC,MAAK,SAAAC,GAC3B,IAD6BC,EAAKD,EAALC,MAAOC,EAASF,EAATE,UAAWC,EAAQH,EAARG,SAAaC,EAAKC,EAAA,QAAAL,EAAAM,GAEhE,OAAQC,EAAA,QAAAC,cAAAD,UAAAE,cACPF,EAAAA,QAAAC,cAACE,EAAWA,kBACZH,EAAAA,QAAAC,cAACG,EAAAA,cAAa,CAACV,MAAOA,GACrBM,EAAA,QAAAC,cAACI,uBAAoB,CAACC,YAAaC,EAAAA,cAClCP,UAAAC,cAAA,MAAAO,UAAA,CAAKb,UAAW,2BAA6BA,QAAAA,EAAa,KAASE,GACjED,KAKN"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/NumericTextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeUtils, FLOAT_LAX, INT_LAX_ANY} from '@lowentry/utils';\nimport {LeMuiUtils} from '../LeMuiUtils.js';\nimport TextField from './TextField.jsx';\n\n\nconst NumericTextField = LeRed.memo(({decimals, allowZero, allowNegative, value, onChange, onRenderValue, className, inputProps, children, ...props}) =>\n{\n\tif(typeof allowZero === 'undefined')\n\t{\n\t\tallowZero = true;\n\t}\n\tif(typeof allowNegative === 'undefined')\n\t{\n\t\tallowNegative = true;\n\t}\n\tdecimals = INT_LAX_ANY(decimals, 2);\n\t\n\t\n\tconst getVisualValue = (value) =>\n\t{\n\t\tlet text = FLOAT_LAX(LeMuiUtils.purgePrependedHiddenChar(value));\n\t\tif(!allowNegative)\n\t\t{\n\t\t\ttext = Math.abs(text);\n\t\t}\n\t\t\n\t\ttext = text.toFixed(decimals); // rounds it\n\t\ttext = LeUtils.trimEnd(LeUtils.trimEnd(text, '0'), '.');\n\t\tif(!allowZero && (text === '0'))\n\t\t{\n\t\t\ttext = '';\n\t\t}\n\t\treturn text;\n\t};\n\t\n\t\n\tconst [visualValue, setVisualValue] = LeRed.useState(getVisualValue(value));\n\t\n\tLeRed.useEffect(() =>\n\t{\n\t\tsetVisualValue(getVisualValue(value));\n\t}, [value]);\n\t\n\t\n\tconst onChanged = LeRed.useCallback((event) =>\n\t{\n\t\tconst originalTargetValue = event.target.value;\n\t\tconst targetValue = LeMuiUtils.purgePrependedHiddenChar(originalTargetValue);\n\t\t\n\t\tlet text = targetValue;\n\t\tlet val = 0;\n\t\t\n\t\t{// visual >>\n\t\t\tconst minus = text.includes('-');\n\t\t\ttext = text.replace(',', '.').replace(/[^0-9.]/g, '');\n\t\t\tif(text !== '')\n\t\t\t{\n\t\t\t\tval = Math.abs(FLOAT_LAX(text));\n\t\t\t\tif(allowNegative && minus)\n\t\t\t\t{\n\t\t\t\t\tval = -val;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet stringVal = val.toFixed(decimals + 1); // prevents rounding (by adding an extra digit and then cutting it off)\n\t\t\t\tstringVal = stringVal.substring(0, stringVal.length - 1);\n\t\t\t\t\n\t\t\t\tif(!text.includes('.') || (decimals <= 0))\n\t\t\t\t{\n\t\t\t\t\ttext = stringVal.split('.')[0];\n\t\t\t\t}\n\t\t\t\telse if(text.endsWith('.'))\n\t\t\t\t{\n\t\t\t\t\ttext = stringVal.split('.')[0] + '.';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttext = stringVal.substring(0, stringVal.length - Math.max(0, decimals - text.split('.')[1].length));\n\t\t\t\t}\n\t\t\t\tsetVisualValue(text);\n\t\t\t}\n\t\t}// visual <<\n\t\t\n\t\tif(onChange)\n\t\t{\n\t\t\tif(val !== 0)\n\t\t\t{\n\t\t\t\tif(decimals > 0)\n\t\t\t\t{\n\t\t\t\t\tval = Math.round(val * Math.pow(10, decimals)) / Math.pow(10, decimals);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tval = Math.round(val);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst newEvent = {\n\t\t\t\t...event,\n\t\t\t\ttarget:{\n\t\t\t\t\t...event.target,\n\t\t\t\t\tvalue: val,\n\t\t\t\t\tvalueText:text,\n\t\t\t\t\tvalueRaw: originalTargetValue,\n\t\t\t\t},\n\t\t\t};\n\t\t\tonChange(newEvent);\n\t\t}\n\t}, [onChange]);\n\t\n\t\n\treturn (<>\n\t\t<TextField className={'lowentry-mui--numeric-textfield ' + (className ?? '')} type=\"text\" inputProps={{inputMode:'decimal', ...(inputProps ?? {})}} value={!!onRenderValue ? onRenderValue(visualValue) : visualValue} onChange={onChanged} {...props}>{children}</TextField>\n\t</>);\n});\nexport default NumericTextField;\n"],"names":["NumericTextField","LeRed","memo","_ref","decimals","allowZero","allowNegative","value","onChange","onRenderValue","className","inputProps","children","props","_objectWithoutProperties","_excluded","INT_LAX_ANY","getVisualValue","text","FLOAT_LAX","LeMuiUtils","purgePrependedHiddenChar","Math","abs","toFixed","LeUtils","trimEnd","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","visualValue","setVisualValue","useEffect","onChanged","useCallback","event","originalTargetValue","target","val","minus","includes","replace","stringVal","substring","length","split","endsWith","max","round","pow","newEvent","_objectSpread","valueText","valueRaw","React","createElement","Fragment","TextField","_extends","type","inputMode"],"mappings":"6xCAOMA,IAAAA,EAAmBC,EAAKA,MAACC,MAAK,SAAAC,GACpC,IADsCC,EAAQD,EAARC,SAAUC,EAASF,EAATE,UAAWC,EAAaH,EAAbG,cAAeC,EAAKJ,EAALI,MAAOC,EAAQL,EAARK,SAAUC,EAAaN,EAAbM,cAAeC,EAASP,EAATO,UAAWC,EAAUR,EAAVQ,WAAYC,EAAQT,EAARS,SAAaC,EAAKC,EAAA,QAAAX,EAAAY,QAE1H,IAAdV,IAETA,GAAY,QAEe,IAAlBC,IAETA,GAAgB,GAEjBF,EAAWY,EAAWA,YAACZ,EAAU,GAGjC,IAAMa,EAAiB,SAACV,GAEvB,IAAIW,EAAOC,EAAAA,UAAUC,EAAAA,WAAWC,yBAAyBd,IAYzD,OAXID,IAEHY,EAAOI,KAAKC,IAAIL,IAGjBA,EAAOA,EAAKM,QAAQpB,GACpBc,EAAOO,EAAAA,QAAQC,QAAQD,EAAOA,QAACC,QAAQR,EAAM,KAAM,KAC/Cb,GAAuB,MAATa,IAEjBA,EAAO,IAEDA,GAIRS,EAAsC1B,EAAKA,MAAC2B,SAASX,EAAeV,IAAOsB,EAAAC,EAAAA,QAAAH,EAAA,GAApEI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElC5B,EAAKA,MAACgC,WAAU,WAEfD,EAAef,EAAeV,GAC/B,GAAG,CAACA,IAGJ,IAAM2B,EAAYjC,EAAAA,MAAMkC,aAAY,SAACC,GAEpC,IAAMC,EAAsBD,EAAME,OAAO/B,MAGrCW,EAFgBE,EAAAA,WAAWC,yBAAyBgB,GAGpDE,EAAM,EAGHC,EAAQtB,EAAKuB,SAAS,KAE5B,GAAY,MADZvB,EAAOA,EAAKwB,QAAQ,IAAK,KAAKA,QAAQ,WAAY,KAElD,CACCH,EAAMjB,KAAKC,IAAIJ,EAAAA,UAAUD,IACtBZ,GAAiBkC,IAEnBD,GAAOA,GAGR,IAAII,EAAYJ,EAAIf,QAAQpB,EAAW,GACvCuC,EAAYA,EAAUC,UAAU,EAAGD,EAAUE,OAAS,GAIrD3B,GAFGA,EAAKuB,SAAS,MAASrC,GAAY,EAE/BuC,EAAUG,MAAM,KAAK,GAErB5B,EAAK6B,SAAS,KAEdJ,EAAUG,MAAM,KAAK,GAAK,IAI1BH,EAAUC,UAAU,EAAGD,EAAUE,OAASvB,KAAK0B,IAAI,EAAG5C,EAAWc,EAAK4B,MAAM,KAAK,GAAGD,SAE5Fb,EAAed,EAChB,CAGD,GAAGV,EACH,CACY,IAAR+B,IAIDA,EAFEnC,EAAW,EAEPkB,KAAK2B,MAAMV,EAAMjB,KAAK4B,IAAI,GAAI9C,IAAakB,KAAK4B,IAAI,GAAI9C,GAIxDkB,KAAK2B,MAAMV,IAInB,IAAMY,EAAQC,EAAAA,KACVhB,GAAK,GAAA,CACRE,OAAMc,EAAAA,EACFhB,CAAAA,EAAAA,EAAME,QAAM,GAAA,CACf/B,MAAUgC,EACVc,UAAUnC,EACVoC,SAAUjB,MAGZ7B,EAAS2C,EACV,CACD,GAAG,CAAC3C,IAGJ,OAAQ+C,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAS,QAAAC,UAAA,CAACjD,UAAW,oCAAsCA,QAAAA,EAAa,IAAKkD,KAAK,OAAOjD,WAAUyC,EAAA,CAAGS,UAAU,WAAelD,QAAAA,EAAc,IAAMJ,MAASE,EAAgBA,EAAcsB,GAAeA,EAAavB,SAAU0B,GAAerB,GAAQD,GAE1P"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/NumericTextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeUtils, FLOAT_LAX, INT_LAX_ANY} from '@lowentry/utils';\nimport {LeMuiUtils} from '../LeMuiUtils.js';\nimport TextField from './TextField.jsx';\n\n\nconst NumericTextField = LeRed.memo(({decimals, allowZero, allowNegative, value, onChange, onRenderValue, className, inputProps, children, ...props}) =>\n{\n\tif(typeof allowZero === 'undefined')\n\t{\n\t\tallowZero = true;\n\t}\n\tif(typeof allowNegative === 'undefined')\n\t{\n\t\tallowNegative = true;\n\t}\n\tdecimals = INT_LAX_ANY(decimals, 2);\n\t\n\t\n\tconst getVisualValue = (value) =>\n\t{\n\t\tlet text = FLOAT_LAX(LeMuiUtils.purgePrependedHiddenChar(value));\n\t\tif(!allowNegative)\n\t\t{\n\t\t\ttext = Math.abs(text);\n\t\t}\n\t\t\n\t\ttext = text.toFixed(decimals); // rounds it\n\t\ttext = LeUtils.trimEnd(LeUtils.trimEnd(text, '0'), '.');\n\t\tif(!allowZero && (text === '0'))\n\t\t{\n\t\t\ttext = '';\n\t\t}\n\t\treturn text;\n\t};\n\t\n\t\n\tconst [visualValue, setVisualValue] = LeRed.useState(getVisualValue(value));\n\t\n\tLeRed.useEffect(() =>\n\t{\n\t\tsetVisualValue(getVisualValue(value));\n\t}, [value]);\n\t\n\t\n\tconst onChanged = LeRed.useCallback((event) =>\n\t{\n\t\tconst originalTargetValue = event.target.value;\n\t\tconst targetValue = LeMuiUtils.purgePrependedHiddenChar(originalTargetValue);\n\t\t\n\t\tlet text = targetValue;\n\t\tlet val = 0;\n\t\t\n\t\t{// visual >>\n\t\t\tconst minus = text.includes('-');\n\t\t\ttext = text.replace(',', '.').replace(/[^0-9.]/g, '');\n\t\t\tif(text !== '')\n\t\t\t{\n\t\t\t\tval = Math.abs(FLOAT_LAX(text));\n\t\t\t\tif(allowNegative && minus)\n\t\t\t\t{\n\t\t\t\t\tval = -val;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tlet stringVal = val.toFixed(decimals + 1); // prevents rounding (by adding an extra digit and then cutting it off)\n\t\t\t\tstringVal = stringVal.substring(0, stringVal.length - 1);\n\t\t\t\t\n\t\t\t\tif(!text.includes('.') || (decimals <= 0))\n\t\t\t\t{\n\t\t\t\t\ttext = stringVal.split('.')[0];\n\t\t\t\t}\n\t\t\t\telse if(text.endsWith('.'))\n\t\t\t\t{\n\t\t\t\t\ttext = stringVal.split('.')[0] + '.';\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttext = stringVal.substring(0, stringVal.length - Math.max(0, decimals - text.split('.')[1].length));\n\t\t\t\t}\n\t\t\t\tsetVisualValue(text);\n\t\t\t}\n\t\t}// visual <<\n\t\t\n\t\tif(onChange)\n\t\t{\n\t\t\tif(val !== 0)\n\t\t\t{\n\t\t\t\tif(decimals > 0)\n\t\t\t\t{\n\t\t\t\t\tval = Math.round(val * Math.pow(10, decimals)) / Math.pow(10, decimals);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tval = Math.round(val);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst newEvent = {\n\t\t\t\t...event,\n\t\t\t\ttarget:{\n\t\t\t\t\t...event.target,\n\t\t\t\t\tvalue: val,\n\t\t\t\t\tvalueText:text,\n\t\t\t\t\tvalueRaw: originalTargetValue,\n\t\t\t\t},\n\t\t\t};\n\t\t\tonChange(newEvent);\n\t\t}\n\t}, [onChange]);\n\t\n\t\n\treturn (<>\n\t\t<TextField className={'lowentry-mui--numeric-textfield ' + (className ?? '')} type=\"text\" inputProps={{inputMode:'decimal', ...(inputProps ?? {})}} value={!!onRenderValue ? onRenderValue(visualValue) : visualValue} onChange={onChanged} {...props}>{children}</TextField>\n\t</>);\n});\nexport default NumericTextField;\n"],"names":["NumericTextField","LeRed","memo","_ref","decimals","allowZero","allowNegative","value","onChange","onRenderValue","className","inputProps","children","props","_objectWithoutProperties","_excluded","INT_LAX_ANY","getVisualValue","text","FLOAT_LAX","LeMuiUtils","purgePrependedHiddenChar","Math","abs","toFixed","LeUtils","trimEnd","_LeRed$useState","useState","_LeRed$useState2","_slicedToArray","visualValue","setVisualValue","useEffect","onChanged","useCallback","event","originalTargetValue","target","val","minus","includes","replace","stringVal","substring","length","split","endsWith","max","round","pow","newEvent","_objectSpread","valueText","valueRaw","React","createElement","Fragment","TextField","_extends","type","inputMode"],"mappings":"6xCAOMA,IAAAA,EAAmBC,EAAKA,MAACC,MAAK,SAAAC,GACpC,IADsCC,EAAQD,EAARC,SAAUC,EAASF,EAATE,UAAWC,EAAaH,EAAbG,cAAeC,EAAKJ,EAALI,MAAOC,EAAQL,EAARK,SAAUC,EAAaN,EAAbM,cAAeC,EAASP,EAATO,UAAWC,EAAUR,EAAVQ,WAAYC,EAAQT,EAARS,SAAaC,EAAKC,EAAA,QAAAX,EAAAY,QAE1H,IAAdV,IAETA,GAAY,QAEe,IAAlBC,IAETA,GAAgB,GAEjBF,EAAWY,EAAWA,YAACZ,EAAU,GAGjC,IAAMa,EAAiB,SAACV,GAEvB,IAAIW,EAAOC,EAAAA,UAAUC,EAAAA,WAAWC,yBAAyBd,IAYzD,OAXID,IAEHY,EAAOI,KAAKC,IAAIL,IAGjBA,EAAOA,EAAKM,QAAQpB,GACpBc,EAAOO,EAAAA,QAAQC,QAAQD,EAAOA,QAACC,QAAQR,EAAM,KAAM,KAC/Cb,GAAuB,MAATa,IAEjBA,EAAO,IAEDA,GAIRS,EAAsC1B,EAAKA,MAAC2B,SAASX,EAAeV,IAAOsB,EAAAC,EAAAA,QAAAH,EAAA,GAApEI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElC5B,EAAKA,MAACgC,WAAU,WAEfD,EAAef,EAAeV,GAC/B,GAAG,CAACA,IAGJ,IAAM2B,EAAYjC,EAAAA,MAAMkC,aAAY,SAACC,GAEpC,IAAMC,EAAsBD,EAAME,OAAO/B,MAGrCW,EAFgBE,EAAAA,WAAWC,yBAAyBgB,GAGpDE,EAAM,EAGHC,EAAQtB,EAAKuB,SAAS,KAE5B,GAAY,MADZvB,EAAOA,EAAKwB,QAAQ,IAAK,KAAKA,QAAQ,WAAY,KAElD,CACCH,EAAMjB,KAAKC,IAAIJ,EAAAA,UAAUD,IACtBZ,GAAiBkC,IAEnBD,GAAOA,GAGR,IAAII,EAAYJ,EAAIf,QAAQpB,EAAW,GACvCuC,EAAYA,EAAUC,UAAU,EAAGD,EAAUE,OAAS,GAIrD3B,GAFGA,EAAKuB,SAAS,MAASrC,GAAY,EAE/BuC,EAAUG,MAAM,KAAK,GAErB5B,EAAK6B,SAAS,KAEdJ,EAAUG,MAAM,KAAK,GAAK,IAI1BH,EAAUC,UAAU,EAAGD,EAAUE,OAASvB,KAAK0B,IAAI,EAAG5C,EAAWc,EAAK4B,MAAM,KAAK,GAAGD,SAE5Fb,EAAed,EAChB,CAGD,GAAGV,EACH,CACY,IAAR+B,IAIDA,EAFEnC,EAAW,EAEPkB,KAAK2B,MAAMV,EAAMjB,KAAK4B,IAAI,GAAI9C,IAAakB,KAAK4B,IAAI,GAAI9C,GAIxDkB,KAAK2B,MAAMV,IAInB,IAAMY,EAAQC,EAAAA,KACVhB,GAAK,GAAA,CACRE,OAAMc,EAAAA,EACFhB,CAAAA,EAAAA,EAAME,QAAM,GAAA,CACf/B,MAAUgC,EACVc,UAAUnC,EACVoC,SAAUjB,MAGZ7B,EAAS2C,EACV,CACD,GAAG,CAAC3C,IAGJ,OAAQ+C,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAS,QAAAC,UAAA,CAACjD,UAAW,oCAAsCA,QAAAA,EAAa,IAAKkD,KAAK,OAAOjD,WAAUyC,EAAA,CAAGS,UAAU,WAAelD,QAAAA,EAAc,IAAMJ,MAASE,EAAgBA,EAAcsB,GAAeA,EAAavB,SAAU0B,GAAerB,GAAQD,GAE1P"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/RemovableNumericTextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeMuiUtils} from '../LeMuiUtils';\nimport NumericTextField from './NumericTextField.jsx';\n\n\nconst RemovableNumericTextField = LeRed.memo(({onRemove, onChange, onSelect, className, children, ...props}) =>\n{\n\tconst onChanged = LeRed.useCallback((event) =>\n\t{\n\t\tif(event.target.valueRaw === '')\n\t\t{\n\t\t\tif(onRemove)\n\t\t\t{\n\t\t\t\tonRemove(event);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif(onChange)\n\t\t{\n\t\t\tonChange(event);\n\t\t}\n\t}, [onRemove, onChange]);\n\t\n\t\n\tconst onSelected = LeRed.useCallback((event) =>\n\t{\n\t\tLeMuiUtils.onSelectEnsureMinimumOffset(1)(event);\n\t\tif(onSelect)\n\t\t{\n\t\t\tonSelect(event);\n\t\t}\n\t}, [onSelect]);\n\t\n\t\n\treturn (<>\n\t\t<NumericTextField className={'lowentry-mui--removable-textfield lowentry-mui--removable-numeric-textfield ' + (className ?? '')} onRenderValue={LeMuiUtils.prependHiddenChar} onChange={onChanged} onSelect={onSelected}>{children}</NumericTextField>\n\t</>);\n});\nexport default RemovableNumericTextField;\n"],"names":["RemovableNumericTextField","LeRed","memo","_ref","onRemove","onChange","onSelect","className","children","_objectWithoutProperties","_excluded","onChanged","useCallback","event","target","valueRaw","onSelected","LeMuiUtils","onSelectEnsureMinimumOffset","React","createElement","Fragment","NumericTextField","onRenderValue","prependHiddenChar"],"mappings":"2qBAMMA,EAA4BC,EAAKA,MAACC,MAAK,SAAAC,GAC7C,IAD+CC,EAAQD,EAARC,SAAUC,EAAQF,EAARE,SAAUC,EAAQH,EAARG,SAAUC,EAASJ,EAATI,UAAWC,EAAQL,EAARK,SAAkBC,EAAA,QAAAN,EAAAO,GAEzG,IAAMC,EAAYV,EAAAA,MAAMW,aAAY,SAACC,GAEP,KAA1BA,EAAMC,OAAOC,SASbV,GAEFA,EAASQ,GATNT,GAEFA,EAASS,EASZ,GAAG,CAACT,EAAUC,IAGRW,EAAaf,EAAAA,MAAMW,aAAY,SAACC,GAErCI,EAAAA,WAAWC,4BAA4B,EAAvCD,CAA0CJ,GACvCP,GAEFA,EAASO,EAEX,GAAG,CAACP,IAGJ,OAAQa,EAAA,QAAAC,cAAAD,UAAAE,SAAA,KACPF,EAAA,QAAAC,cAACE,UAAgB,CAACf,UAAW,gFAAkFA,QAAAA,EAAa,IAAKgB,cAAeN,EAAUA,WAACO,kBAAmBnB,SAAUM,EAAWL,SAAUU,GAAaR,GAE5N"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/RemovableNumericTextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeMuiUtils} from '../LeMuiUtils';\nimport NumericTextField from './NumericTextField.jsx';\n\n\nconst RemovableNumericTextField = LeRed.memo(({onRemove, onChange, onSelect, className, children, ...props}) =>\n{\n\tconst onChanged = LeRed.useCallback((event) =>\n\t{\n\t\tif(event.target.valueRaw === '')\n\t\t{\n\t\t\tif(onRemove)\n\t\t\t{\n\t\t\t\tonRemove(event);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif(onChange)\n\t\t{\n\t\t\tonChange(event);\n\t\t}\n\t}, [onRemove, onChange]);\n\t\n\t\n\tconst onSelected = LeRed.useCallback((event) =>\n\t{\n\t\tLeMuiUtils.onSelectEnsureMinimumOffset(1)(event);\n\t\tif(onSelect)\n\t\t{\n\t\t\tonSelect(event);\n\t\t}\n\t}, [onSelect]);\n\t\n\t\n\treturn (<>\n\t\t<NumericTextField className={'lowentry-mui--removable-textfield lowentry-mui--removable-numeric-textfield ' + (className ?? '')} onRenderValue={LeMuiUtils.prependHiddenChar} onChange={onChanged} onSelect={onSelected}>{children}</NumericTextField>\n\t</>);\n});\nexport default RemovableNumericTextField;\n"],"names":["RemovableNumericTextField","LeRed","memo","_ref","onRemove","onChange","onSelect","className","children","_objectWithoutProperties","_excluded","onChanged","useCallback","event","target","valueRaw","onSelected","LeMuiUtils","onSelectEnsureMinimumOffset","React","createElement","Fragment","NumericTextField","onRenderValue","prependHiddenChar"],"mappings":"2qBAMMA,EAA4BC,EAAKA,MAACC,MAAK,SAAAC,GAC7C,IAD+CC,EAAQD,EAARC,SAAUC,EAAQF,EAARE,SAAUC,EAAQH,EAARG,SAAUC,EAASJ,EAATI,UAAWC,EAAQL,EAARK,SAAkBC,EAAA,QAAAN,EAAAO,GAEzG,IAAMC,EAAYV,EAAAA,MAAMW,aAAY,SAACC,GAEP,KAA1BA,EAAMC,OAAOC,SASbV,GAEFA,EAASQ,GATNT,GAEFA,EAASS,EASZ,GAAG,CAACT,EAAUC,IAGRW,EAAaf,EAAAA,MAAMW,aAAY,SAACC,GAErCI,EAAAA,WAAWC,4BAA4B,EAAvCD,CAA0CJ,GACvCP,GAEFA,EAASO,EAEX,GAAG,CAACP,IAGJ,OAAQa,EAAA,QAAAC,cAAAD,UAAAE,SAAA,KACPF,EAAA,QAAAC,cAACE,UAAgB,CAACf,UAAW,gFAAkFA,QAAAA,EAAa,IAAKgB,cAAeN,EAAUA,WAACO,kBAAmBnB,SAAUM,EAAWL,SAAUU,GAAaR,GAE5N"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/RemovableTextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeMuiUtils} from '../LeMuiUtils';\nimport TextField from './TextField.jsx';\n\n\nconst RemovableTextField = LeRed.memo(({className, value, onRemove, onChange, onSelect, children, ...props}) =>\n{\n\tconst onChanged = LeRed.useCallback((event) =>\n\t{\n\t\tif(event.target.value === '')\n\t\t{\n\t\t\tif(onRemove)\n\t\t\t{\n\t\t\t\tonRemove(event);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif(onChange)\n\t\t{\n\t\t\tconst newEvent = {\n\t\t\t\t...event,\n\t\t\t\ttarget:{\n\t\t\t\t\t...event.target,\n\t\t\t\t\tvalue:LeMuiUtils.purgePrependedHiddenChar(event.target.value),\n\t\t\t\t},\n\t\t\t};\n\t\t\tonChange(newEvent);\n\t\t}\n\t}, [onRemove, onChange]);\n\t\n\t\n\tconst onSelected = LeRed.useCallback((event) =>\n\t{\n\t\tLeMuiUtils.onSelectEnsureMinimumOffset(1)(event);\n\t\tif(onSelect)\n\t\t{\n\t\t\tonSelect(event);\n\t\t}\n\t}, [onSelect]);\n\t\n\t\n\treturn (<>\n\t\t<TextField className={'lowentry-mui--removable-textfield ' + (className ?? '')} value={LeMuiUtils.prependHiddenChar(value)} onChange={onChanged} onSelect={onSelected} {...props}>{children}</TextField>\n\t</>);\n});\nexport default RemovableTextField;\n"],"names":["RemovableTextField","LeRed","memo","_ref","className","value","onRemove","onChange","onSelect","children","props","_objectWithoutProperties","_excluded","onChanged","useCallback","event","target","newEvent","_objectSpread","LeMuiUtils","purgePrependedHiddenChar","onSelected","onSelectEnsureMinimumOffset","React","createElement","Fragment","TextField","_extends","prependHiddenChar"],"mappings":"orCAMMA,IAAAA,EAAqBC,EAAKA,MAACC,MAAK,SAAAC,GACtC,IADwCC,EAASD,EAATC,UAAWC,EAAKF,EAALE,MAAOC,EAAQH,EAARG,SAAUC,EAAQJ,EAARI,SAAUC,EAAQL,EAARK,SAAUC,EAAQN,EAARM,SAAaC,EAAKC,EAAA,QAAAR,EAAAS,GAEnGC,EAAYZ,EAAAA,MAAMa,aAAY,SAACC,GAEpC,GAA0B,KAAvBA,EAAMC,OAAOX,OAShB,GAAGE,EACH,CACC,IAAMU,EAAQC,EAAAA,KACVH,GAAK,GAAA,CACRC,OAAME,EAAAA,EACFH,CAAAA,EAAAA,EAAMC,QAAM,GAAA,CACfX,MAAMc,EAAAA,WAAWC,yBAAyBL,EAAMC,OAAOX,WAGzDE,EAASU,EACV,OAjBIX,GAEFA,EAASS,EAgBZ,GAAG,CAACT,EAAUC,IAGRc,EAAapB,EAAAA,MAAMa,aAAY,SAACC,GAErCI,EAAAA,WAAWG,4BAA4B,EAAvCH,CAA0CJ,GACvCP,GAEFA,EAASO,EAEX,GAAG,CAACP,IAGJ,OAAQe,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAS,QAAAC,UAAA,CAACvB,UAAW,sCAAwCA,QAAAA,EAAa,IAAKC,MAAOc,EAAAA,WAAWS,kBAAkBvB,GAAQE,SAAUM,EAAWL,SAAUa,GAAgBX,GAAQD,GAErL"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/RemovableTextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {LeMuiUtils} from '../LeMuiUtils';\nimport TextField from './TextField.jsx';\n\n\nconst RemovableTextField = LeRed.memo(({className, value, onRemove, onChange, onSelect, children, ...props}) =>\n{\n\tconst onChanged = LeRed.useCallback((event) =>\n\t{\n\t\tif(event.target.value === '')\n\t\t{\n\t\t\tif(onRemove)\n\t\t\t{\n\t\t\t\tonRemove(event);\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\t\n\t\tif(onChange)\n\t\t{\n\t\t\tconst newEvent = {\n\t\t\t\t...event,\n\t\t\t\ttarget:{\n\t\t\t\t\t...event.target,\n\t\t\t\t\tvalue:LeMuiUtils.purgePrependedHiddenChar(event.target.value),\n\t\t\t\t},\n\t\t\t};\n\t\t\tonChange(newEvent);\n\t\t}\n\t}, [onRemove, onChange]);\n\t\n\t\n\tconst onSelected = LeRed.useCallback((event) =>\n\t{\n\t\tLeMuiUtils.onSelectEnsureMinimumOffset(1)(event);\n\t\tif(onSelect)\n\t\t{\n\t\t\tonSelect(event);\n\t\t}\n\t}, [onSelect]);\n\t\n\t\n\treturn (<>\n\t\t<TextField className={'lowentry-mui--removable-textfield ' + (className ?? '')} value={LeMuiUtils.prependHiddenChar(value)} onChange={onChanged} onSelect={onSelected} {...props}>{children}</TextField>\n\t</>);\n});\nexport default RemovableTextField;\n"],"names":["RemovableTextField","LeRed","memo","_ref","className","value","onRemove","onChange","onSelect","children","props","_objectWithoutProperties","_excluded","onChanged","useCallback","event","target","newEvent","_objectSpread","LeMuiUtils","purgePrependedHiddenChar","onSelected","onSelectEnsureMinimumOffset","React","createElement","Fragment","TextField","_extends","prependHiddenChar"],"mappings":"orCAMMA,IAAAA,EAAqBC,EAAKA,MAACC,MAAK,SAAAC,GACtC,IADwCC,EAASD,EAATC,UAAWC,EAAKF,EAALE,MAAOC,EAAQH,EAARG,SAAUC,EAAQJ,EAARI,SAAUC,EAAQL,EAARK,SAAUC,EAAQN,EAARM,SAAaC,EAAKC,EAAA,QAAAR,EAAAS,GAEnGC,EAAYZ,EAAAA,MAAMa,aAAY,SAACC,GAEpC,GAA0B,KAAvBA,EAAMC,OAAOX,OAShB,GAAGE,EACH,CACC,IAAMU,EAAQC,EAAAA,KACVH,GAAK,GAAA,CACRC,OAAME,EAAAA,EACFH,CAAAA,EAAAA,EAAMC,QAAM,GAAA,CACfX,MAAMc,EAAAA,WAAWC,yBAAyBL,EAAMC,OAAOX,WAGzDE,EAASU,EACV,OAjBIX,GAEFA,EAASS,EAgBZ,GAAG,CAACT,EAAUC,IAGRc,EAAapB,EAAAA,MAAMa,aAAY,SAACC,GAErCI,EAAAA,WAAWG,4BAA4B,EAAvCH,CAA0CJ,GACvCP,GAEFA,EAASO,EAEX,GAAG,CAACP,IAGJ,OAAQe,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAS,QAAAC,UAAA,CAACvB,UAAW,sCAAwCA,QAAAA,EAAa,IAAKC,MAAOc,EAAAA,WAAWS,kBAAkBvB,GAAQE,SAAUM,EAAWL,SAAUa,GAAgBX,GAAQD,GAErL"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/Submittable.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {Stack} from '@mui/material';\n\n\nconst Submittable = LeRed.memo(({onSubmit, disabled, sx, children, ...props}) =>\n{\n\tconst handleSubmit = LeRed.useCallback((event) =>\n\t{\n\t\ttry\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tcatch(e)\n\t\t{\n\t\t}\n\t\t\n\t\tif(disabled)\n\t\t{\n\t\t\tif(!(typeof disabled === 'function') || disabled())\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(onSubmit)\n\t\t{\n\t\t\tonSubmit(event);\n\t\t}\n\t}, [onSubmit, disabled]);\n\t\n\t\n\treturn (<>\n\t\t<form style={sx ?? {}} onSubmit={handleSubmit}>\n\t\t\t<Stack {...props}>\n\t\t\t\t{children}\n\t\t\t</Stack>\n\t\t</form>\n\t</>);\n});\nexport default Submittable;\n"],"names":["Submittable","LeRed","memo","_ref","onSubmit","disabled","sx","children","props","_objectWithoutProperties","_excluded","handleSubmit","useCallback","event","preventDefault","e","React","createElement","Fragment","style","Stack"],"mappings":"yVAKMA,EAAcC,EAAKA,MAACC,MAAK,SAAAC,GAC/B,IADiCC,EAAQD,EAARC,SAAUC,EAAQF,EAARE,SAAUC,EAAEH,EAAFG,GAAIC,EAAQJ,EAARI,SAAaC,EAAKC,EAAA,QAAAN,EAAAO,GAEpEC,EAAeV,EAAAA,MAAMW,aAAY,SAACC,GAEvC,IAECA,EAAMC,gBACP,CACA,MAAMC,GAEN,CAEGV,IAEuB,mBAAbA,GAA4BA,MAMtCD,GAEFA,EAASS,EAEX,GAAG,CAACT,EAAUC,IAGd,OAAQW,EAAA,QAAAC,cAAAD,UAAAE,SAAA,KACPF,EAAA,QAAAC,cAAA,OAAA,CAAME,MAAOb,QAAAA,EAAM,CAAG,EAACF,SAAUO,GAChCK,EAAAA,QAAAC,cAACG,EAAAA,MAAUZ,EACTD,IAIL"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/Submittable.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {Stack} from '@mui/material';\n\n\nconst Submittable = LeRed.memo(({onSubmit, disabled, sx, children, ...props}) =>\n{\n\tconst handleSubmit = LeRed.useCallback((event) =>\n\t{\n\t\ttry\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tcatch(e)\n\t\t{\n\t\t}\n\t\t\n\t\tif(disabled)\n\t\t{\n\t\t\tif(!(typeof disabled === 'function') || disabled())\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\t\n\t\tif(onSubmit)\n\t\t{\n\t\t\tonSubmit(event);\n\t\t}\n\t}, [onSubmit, disabled]);\n\t\n\t\n\treturn (<>\n\t\t<form style={sx ?? {}} onSubmit={handleSubmit}>\n\t\t\t<Stack {...props}>\n\t\t\t\t{children}\n\t\t\t</Stack>\n\t\t</form>\n\t</>);\n});\nexport default Submittable;\n"],"names":["Submittable","LeRed","memo","_ref","onSubmit","disabled","sx","children","props","_objectWithoutProperties","_excluded","handleSubmit","useCallback","event","preventDefault","e","React","createElement","Fragment","style","Stack"],"mappings":"yVAKMA,EAAcC,EAAKA,MAACC,MAAK,SAAAC,GAC/B,IADiCC,EAAQD,EAARC,SAAUC,EAAQF,EAARE,SAAUC,EAAEH,EAAFG,GAAIC,EAAQJ,EAARI,SAAaC,EAAKC,EAAA,QAAAN,EAAAO,GAEpEC,EAAeV,EAAAA,MAAMW,aAAY,SAACC,GAEvC,IAECA,EAAMC,gBACP,CACA,MAAMC,GAEN,CAEGV,IAEuB,mBAAbA,GAA4BA,MAMtCD,GAEFA,EAASS,EAEX,GAAG,CAACT,EAAUC,IAGd,OAAQW,EAAA,QAAAC,cAAAD,UAAAE,SAAA,KACPF,EAAA,QAAAC,cAAA,OAAA,CAAME,MAAOb,QAAAA,EAAM,CAAG,EAACF,SAAUO,GAChCK,EAAAA,QAAAC,cAACG,EAAAA,MAAUZ,EACTD,IAIL"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/widgets/TextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {TextField as MuiTextField} from '@mui/material';\nimport './TextField.less';\n\n\nconst TextField = LeRed.memo(({className, onClick, children, ...props}) =>\n{\n\tconst onClicked = LeRed.useCallback((event) =>\n\t{\n\t\ttry\n\t\t{\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tcatch(e)\n\t\t{\n\t\t}\n\t\t\n\t\tif(onClick)\n\t\t{\n\t\t\tonClick(event);\n\t\t}\n\t}, [onClick]);\n\t\n\t\n\treturn (<>\n\t\t<MuiTextField className={'lowentry-mui--textfield ' + (className ?? '')} autoComplete=\"off\" onClick={onClicked} {...props}>{children}</MuiTextField>\n\t</>);\n});\nexport default TextField;\n"],"names":["TextField","LeRed","memo","_ref","className","onClick","children","props","_objectWithoutProperties","_excluded","onClicked","useCallback","event","stopPropagation","e","React","createElement","Fragment","MuiTextField","_extends","autoComplete"],"mappings":"8eAMMA,EAAYC,EAAKA,MAACC,MAAK,SAAAC,GAC7B,IAD+BC,EAASD,EAATC,UAAWC,EAAOF,EAAPE,QAASC,EAAQH,EAARG,SAAaC,EAAKC,EAAA,QAAAL,EAAAM,GAE9DC,EAAYT,EAAAA,MAAMU,aAAY,SAACC,GAEpC,IAECA,EAAMC,iBACP,CACA,MAAMC,GAEN,CAEGT,GAEFA,EAAQO,EAEV,GAAG,CAACP,IAGJ,OAAQU,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAYlB,UAAAmB,UAAA,CAACf,UAAW,4BAA8BA,QAAAA,EAAa,IAAKgB,aAAa,MAAMf,QAASK,GAAeH,GAAQD,GAE9H"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/TextField.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {TextField as MuiTextField} from '@mui/material';\nimport './TextField.less';\n\n\nconst TextField = LeRed.memo(({className, onClick, children, ...props}) =>\n{\n\tconst onClicked = LeRed.useCallback((event) =>\n\t{\n\t\ttry\n\t\t{\n\t\t\tevent.stopPropagation();\n\t\t}\n\t\tcatch(e)\n\t\t{\n\t\t}\n\t\t\n\t\tif(onClick)\n\t\t{\n\t\t\tonClick(event);\n\t\t}\n\t}, [onClick]);\n\t\n\t\n\treturn (<>\n\t\t<MuiTextField className={'lowentry-mui--textfield ' + (className ?? '')} autoComplete=\"off\" onClick={onClicked} {...props}>{children}</MuiTextField>\n\t</>);\n});\nexport default TextField;\n"],"names":["TextField","LeRed","memo","_ref","className","onClick","children","props","_objectWithoutProperties","_excluded","onClicked","useCallback","event","stopPropagation","e","React","createElement","Fragment","MuiTextField","_extends","autoComplete"],"mappings":"8eAMMA,EAAYC,EAAKA,MAACC,MAAK,SAAAC,GAC7B,IAD+BC,EAASD,EAATC,UAAWC,EAAOF,EAAPE,QAASC,EAAQH,EAARG,SAAaC,EAAKC,EAAA,QAAAL,EAAAM,GAE9DC,EAAYT,EAAAA,MAAMU,aAAY,SAACC,GAEpC,IAECA,EAAMC,iBACP,CACA,MAAMC,GAEN,CAEGT,GAEFA,EAAQO,EAEV,GAAG,CAACP,IAGJ,OAAQU,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAYlB,UAAAmB,UAAA,CAACf,UAAW,4BAA8BA,QAAAA,EAAa,IAAKgB,aAAa,MAAMf,QAASK,GAAeH,GAAQD,GAE9H"}
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./DatePicker/index.js"),r=require("./Dialog/index.js"),i=require("./LoadingSpinner-8d84b138.js"),t=require("./MenuButton/index.js"),u=require("./MuiRoot/index.js"),a=require("./NumericTextField/index.js"),d=require("./RemovableNumericTextField/index.js"),s=require("./RemovableTextField/index.js"),o=require("./Submittable/index.js"),l=require("./TextField/index.js");require("@babel/runtime/helpers/slicedToArray"),require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@lowentry/react-redux"),require("@lowentry/utils"),require("dayjs"),require("@mui/material"),require("@mui/x-date-pickers"),require("@mui/icons-material/ArrowBackIosNew"),require("@mui/icons-material/ArrowForwardIos"),require("./style-inject.es-dcee06b6.js"),require("@mui/x-date-pickers/AdapterDayjs"),require("./LeMuiUtils-9aff3a32.js"),exports.DatePicker=e.default,exports.Dialog=r.default,exports.LoadingSpinner=i.LoadingSpinner,exports.LoadingSpinnerWidget=i.LoadingSpinnerWidget,exports.MenuButton=t.default,exports.MuiRoot=u.default,exports.NumericTextField=a.default,exports.RemovableNumericTextField=d.default,exports.RemovableTextField=s.default,exports.Submittable=o.default,exports.TextField=l.default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./DatePicker/index.js"),r=require("./Dialog/index.js"),i=require("./InitiallyInvisible/index.js"),t=require("./LoadingSpinner-9881bf40.js"),u=require("./MenuButton/index.js"),a=require("./MuiRoot/index.js"),l=require("./NumericTextField/index.js"),s=require("./RemovableNumericTextField/index.js"),d=require("./RemovableTextField/index.js"),o=require("./Submittable/index.js"),n=require("./TextField/index.js");require("@babel/runtime/helpers/slicedToArray"),require("@babel/runtime/helpers/extends"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@lowentry/react-redux"),require("@lowentry/utils"),require("dayjs"),require("@mui/material"),require("@mui/x-date-pickers"),require("@mui/icons-material/ArrowBackIosNew"),require("@mui/icons-material/ArrowForwardIos"),require("./style-inject.es-dcee06b6.js"),require("@mui/x-date-pickers/AdapterDayjs"),require("./LeMuiUtils-9aff3a32.js"),exports.DatePicker=e.default,exports.Dialog=r.default,exports.InitiallyInvisible=i.default,exports.LoadingSpinner=t.LoadingSpinner,exports.LoadingSpinnerWidget=t.LoadingSpinnerWidget,exports.MenuButton=u.default,exports.MuiRoot=a.default,exports.NumericTextField=l.default,exports.RemovableNumericTextField=s.default,exports.RemovableTextField=d.default,exports.Submittable=o.default,exports.TextField=n.default;
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lowentry/mui",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "private": false,
5
5
  "description": "Provides utilities for Material UI.",
6
6
  "author": "Low Entry",
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import {LeRed} from '@lowentry/react-redux';
3
+ import {LeUtils, INT_LAX} from '@lowentry/utils';
4
+
5
+
6
+ const InitiallyInvisible = LeRed.memo(({frames, transition, style, children, opacityKey, ...other}) =>
7
+ {
8
+ const [opacity, setOpacity] = LeRed.useState(0);
9
+
10
+
11
+ LeRed.useEffect(() =>
12
+ {
13
+ setOpacity(0);
14
+ return LeUtils.setAnimationFrameTimeout(() => setOpacity(1), Math.max((opacityKey ? 2 : 0), INT_LAX(frames))).remove;
15
+ }, [opacityKey]);
16
+
17
+
18
+ return (<div style={{width:'100%', height:'100%', opacity, transition:(((opacity > 0) && transition) ? ('opacity ' + transition) : 'none'), ...(style ?? {})}} {...other}>{children}</div>);
19
+ });
20
+ export default InitiallyInvisible;
package/src/index.js CHANGED
@@ -1,11 +1,12 @@
1
- export {default as DatePicker} from './widgets/DatePicker';
2
- export {default as Dialog} from './widgets/Dialog';
3
- export {default as LoadingSpinner} from './widgets/LoadingSpinner';
4
- export {default as LoadingSpinnerWidget} from './widgets/LoadingSpinnerWidget';
5
- export {default as MenuButton} from './widgets/MenuButton';
6
- export {default as MuiRoot} from './widgets/MuiRoot';
7
- export {default as NumericTextField} from './widgets/NumericTextField';
8
- export {default as RemovableNumericTextField} from './widgets/RemovableNumericTextField';
9
- export {default as RemovableTextField} from './widgets/RemovableTextField';
10
- export {default as Submittable} from './widgets/Submittable';
11
- export {default as TextField} from './widgets/TextField';
1
+ export {default as DatePicker} from './components/DatePicker';
2
+ export {default as Dialog} from './components/Dialog';
3
+ export {default as InitiallyInvisible} from './components/InitiallyInvisible';
4
+ export {default as LoadingSpinner} from './components/LoadingSpinner';
5
+ export {default as LoadingSpinnerWidget} from './components/LoadingSpinnerWidget';
6
+ export {default as MenuButton} from './components/MenuButton';
7
+ export {default as MuiRoot} from './components/MuiRoot';
8
+ export {default as NumericTextField} from './components/NumericTextField';
9
+ export {default as RemovableNumericTextField} from './components/RemovableNumericTextField';
10
+ export {default as RemovableTextField} from './components/RemovableTextField';
11
+ export {default as Submittable} from './components/Submittable';
12
+ export {default as TextField} from './components/TextField';
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadingSpinner-8d84b138.js","sources":["src/widgets/LoadingSpinner/LoadingSpinner.jsx"],"sourcesContent":["import React from 'react';\nimport {LeRed} from '@lowentry/react-redux';\nimport {Backdrop, CircularProgress} from '@mui/material';\nimport './LoadingSpinner.less';\n\n\nlet loadingSpinnerCount = {};\nlet loadingSpinnerCountNonTransparent = 0;\n\nconst LoadingSpinnerGrab = ({type}) =>\n{\n\tloadingSpinnerCount[type] = (loadingSpinnerCount[type] || 0) + 1;\n\tif(loadingSpinnerCount[type] === 1)\n\t{\n\t\tLeRed.trigger('lowentry-mui--loading-spinner--' + type);\n\t}\n};\n\nconst LoadingSpinnerRelease = ({type}) =>\n{\n\tloadingSpinnerCount[type] = (loadingSpinnerCount[type] || 1) - 1;\n\tif(loadingSpinnerCount[type] === 0)\n\t{\n\t\tLeRed.trigger('lowentry-mui--loading-spinner--' + type);\n\t}\n};\n\n\nexport const LoadingSpinner = LeRed.memo(({type}) =>\n{\n\tLeRed.useEffect(() =>\n\t{\n\t\tLoadingSpinnerGrab({type});\n\t\treturn () => LoadingSpinnerRelease({type});\n\t}, []);\n\t\n\treturn null;\n});\n\n\nexport const LoadingSpinnerWidget = LeRed.memo(({type, className, sx, children, ...props}) =>\n{\n\tLeRed.useTriggerable('lowentry-mui--loading-spinner--' + type);\n\t\n\treturn (<>\n\t\t<Backdrop className={'lowentry-mui--loading-spinner lowentry-mui--loading-spinner--' + type + ' ' + (className ?? '')} sx={{zIndex:(theme) => theme.zIndex.drawer + 1, ...(sx ?? {})}} open={(loadingSpinnerCount[type] || 0) > 0} {...props}>\n\t\t\t<CircularProgress color=\"inherit\" size=\"min(120px,30vw)\"/>\n\t\t</Backdrop>\n\t</>);\n});\n"],"names":["loadingSpinnerCount","LoadingSpinner","LeRed","memo","_ref3","type","useEffect","_ref","trigger","LoadingSpinnerGrab","_ref2","LoadingSpinnerRelease","LoadingSpinnerWidget","_ref4","className","sx","children","props","_objectWithoutProperties","_excluded","useTriggerable","React","createElement","Fragment","Backdrop","_extends","_objectSpread","zIndex","theme","drawer","open","CircularProgress","color","size"],"mappings":"8qCAMA,IAAIA,EAAsB,CAAA,EAsBbC,EAAiBC,EAAKA,MAACC,MAAK,SAAAC,GACzC,IAD2CC,EAAID,EAAJC,KAQ1C,OANAH,EAAKA,MAACI,WAAU,WAGf,OAxByB,SAAHC,GACxB,IAD6BF,EAAIE,EAAJF,KAE5BL,EAAoBK,IAASL,EAAoBK,IAAS,GAAK,EAC9B,IAA9BL,EAAoBK,IAEtBH,EAAAA,MAAMM,QAAQ,kCAAoCH,EAEpD,CAgBEI,CAAmB,CAACJ,KAAAA,IACb,WAAA,OAfqB,SAAHK,GAC3B,IADgCL,EAAIK,EAAJL,KAE/BL,EAAoBK,IAASL,EAAoBK,IAAS,GAAK,EAC9B,IAA9BL,EAAoBK,IAEtBH,EAAAA,MAAMM,QAAQ,kCAAoCH,EAEpD,CAQeM,CAAsB,CAACN,KAAAA,GAAM,CAC1C,GAAE,IAEI,IACR,IAGaO,EAAuBV,EAAKA,MAACC,MAAK,SAAAU,GAC/C,IADiDR,EAAIQ,EAAJR,KAAMS,EAASD,EAATC,UAAWC,EAAEF,EAAFE,GAAYF,EAARG,SAAaC,IAAAA,EAAKC,EAAAA,QAAAL,EAAAM,GAIvF,OAFAjB,EAAAA,MAAMkB,eAAe,kCAAoCf,GAEjDgB,EAAA,QAAAC,cAAAD,EAAAA,QAAAE,SACPF,KAAAA,UAAAC,cAACE,EAAQA,SAAAC,UAAA,CAACX,UAAW,gEAAkET,EAAO,KAAOS,QAAAA,EAAa,IAAKC,GAAEW,EAAA,CAAGC,OAAO,SAACC,GAAK,OAAKA,EAAMD,OAAOE,OAAS,CAAC,GAAMd,QAAAA,EAAM,IAAMe,MAAO9B,EAAoBK,IAAS,GAAK,GAAOY,GACtOI,UAAAC,cAACS,EAAAA,iBAAgB,CAACC,MAAM,UAAUC,KAAK,qBAG1C"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes