dinocollab-core 1.1.14 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -2
  2. package/dist/api-context/drawer-global.js +1 -1
  3. package/dist/api-context/global-modal.js +1 -1
  4. package/dist/api-context/index.js +2 -0
  5. package/dist/api-context/index.js.map +1 -0
  6. package/dist/api-context/popover-global.js +1 -1
  7. package/dist/api-context/popover.js +1 -1
  8. package/dist/components/copy-to-clipboard.js +1 -1
  9. package/dist/components/index.js +2 -0
  10. package/dist/components/index.js.map +1 -0
  11. package/dist/data-view/create.data-view.js +1 -1
  12. package/dist/data-view/create.filter-bar.js +1 -1
  13. package/dist/data-view/create.filter-bar.js.map +1 -1
  14. package/dist/data-view/filter-store.js +1 -1
  15. package/dist/data-view/index.js +2 -0
  16. package/dist/data-view/index.js.map +1 -0
  17. package/dist/data-view/view-mode.content.js +1 -1
  18. package/dist/form/create.autocomplete.chips.js +1 -1
  19. package/dist/form/create.date-expired.js +1 -1
  20. package/dist/form/create.date-picker.js +1 -1
  21. package/dist/form/create.form-grid-layout.js +1 -1
  22. package/dist/form/create.input.file.js +1 -1
  23. package/dist/form/create.input.image-file.js +1 -1
  24. package/dist/form/create.input.image-file.js.map +1 -1
  25. package/dist/form/create.input.js +1 -1
  26. package/dist/form/create.input.js.map +1 -1
  27. package/dist/form/create.select-simple.js +1 -1
  28. package/dist/form/create.select-with-api.js +1 -1
  29. package/dist/form/create.text-editor.js +1 -1
  30. package/dist/form/create.text-editor.js.map +1 -1
  31. package/dist/form/index.js +2 -0
  32. package/dist/form/index.js.map +1 -0
  33. package/dist/index.js +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/redux/create.hoc-lazy.js +1 -1
  36. package/dist/redux/index.js +2 -0
  37. package/dist/redux/index.js.map +1 -0
  38. package/dist/redux/ui.error-page.js +1 -1
  39. package/dist/redux/ui.error-page.js.map +1 -1
  40. package/dist/table/create.action-row.js +1 -1
  41. package/dist/table/dino.js +1 -1
  42. package/dist/table/dino.js.map +1 -1
  43. package/dist/table/index.js +2 -0
  44. package/dist/table/index.js.map +1 -0
  45. package/dist/table/toolbar-pannel.js +1 -1
  46. package/dist/table/toolbar-pannel.js.map +1 -1
  47. package/dist/table/ui.units.js +1 -1
  48. package/dist/table/ui.units.js.map +1 -1
  49. package/dist/table-grid/create.table-grid.js +1 -1
  50. package/dist/table-grid/filter-bar/create.filter-bar.js +1 -1
  51. package/dist/table-grid/filter-bar/create.filter-bar.js.map +1 -1
  52. package/dist/table-grid/index.js +2 -0
  53. package/dist/table-grid/index.js.map +1 -0
  54. package/dist/table-grid/item-actions.js +1 -1
  55. package/dist/table-grid/toolbar-pannel.js +1 -1
  56. package/dist/table-grid/toolbar-pannel.js.map +1 -1
  57. package/dist/types/data-view/dino.d.ts +1 -1
  58. package/dist/types/data-view/query-param-url.d.ts +1 -1
  59. package/dist/types/form/create.input.image-file.d.ts +2 -29
  60. package/dist/types/index.d.ts +5 -9
  61. package/dist/utils/helpers.js +1 -1
  62. package/dist/utils/index.js +2 -0
  63. package/dist/utils/index.js.map +1 -0
  64. package/package.json +137 -66
  65. package/dist/assets/vector-404.webp.js +0 -2
  66. package/dist/assets/vector-404.webp.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{inherits as e,createClass as t,objectSpread2 as r,classCallCheck as o,callSuper as a,defineProperty as i,objectWithoutProperties as n,asyncToGenerator as l,regenerator as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as p,jsx as u,Fragment as d}from"react/jsx-runtime";import{Component as m}from"react";import{styled as c,Box as h,TextField as v,InputAdornment as g,IconButton as f,Collapse as b,CircularProgress as x}from"@mui/material";import S from"@mui/icons-material/ContentPaste";import{mergeObjects as j}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{getErrorMessage as y}from"./helpers.js";import"../components/breadcrumbs.js";import"../components/buttons.js";import"clipboard-copy";import"@mui/icons-material/Done";import"@mui/icons-material/ContentCopy";import"../components/create.multi-select-dropdown.js";import k from"../components/image-with-fallback.js";import"../components/help-tooltip.js";import"../components/text-editor.js";var P=["srcGetter","element","alt","fallbackSrc","debounceDelay"],C=function(c){return function(){function x(e){var t,p;return o(this,x),p=a(this,x,[e]),i(p,"_cachedSlots",{}),i(p,"mapTextFieldProps",(function(){var e,t,o,a,i=y(p.props.messageErrors,p.props.name),n={fullWidth:!0,variant:"outlined",name:null===(e=p.props.name)||void 0===e?void 0:e.toString(),error:i.error,helperText:i.message,disabled:p.props.disabled,onBlur:function(){p.props.name&&p.props.onBlur&&p.props.onBlur(p.props.name)},label:p.getLabel(),placeholder:p.props.placeholder,InputLabelProps:p.state.value?{shrink:!0}:{},value:null!==(t=p.state.value)&&void 0!==t?t:"",onChange:p.handleChange};return!0===p.slots.pastenable&&(n.InputProps={endAdornment:u(g,{position:"end",children:u(f,{onClick:p.handlePaste,edge:"end",children:u(S,{})})})}),null!==(o=p.slots)&&void 0!==o&&o.maxLength&&(n.inputProps=r(r({},n.inputProps),{},{maxLength:p.slots.maxLength})),j({},n,null===(a=p.slots)||void 0===a?void 0:a.textFieldProps)})),i(p,"renderImageSide",(function(e){var t,o="left"===e?p.slots.imageLeft:p.slots.imageRight;if(!o)return u(d,{});var a=o.srcGetter,i=o.element,l=o.alt,s=void 0===l?"input-image":l,m=o.fallbackSrc,c=void 0===m?"":m,h=o.debounceDelay,v=void 0===h?700:h,g=n(o,P);if(i)return u(w,{children:u(i,{value:p.state.value,model:p.props.data})});var f=a?a(p.state.value,p.props.data):null!==(t=g.src)&&void 0!==t?t:p.state.value,x={src:f,alt:s,fallbackSrc:c,debounceDelay:v};return u(b,{sx:{mx:"10px"},in:!!f,unmountOnExit:!0,orientation:"horizontal",children:u(w,{children:u(k,r(r(r({},g),x),{},{loading:u(L,{})}))})})})),i(p,"mergeSlots",(function(e){var t=j({},c,e),o=t.imageLeft,a=t.imageRight;return null!=o&&o.mirror&&!a?(t.imageRight=r({},o),delete t.imageRight.mirror):null!=a&&a.mirror&&!o&&(t.imageLeft=r({},a),delete t.imageLeft.mirror),t})),i(p,"getLabel",(function(){var e,t,r;if(p.props.label)return null!==(e=p.slots)&&void 0!==e&&e.maxLength?"".concat(p.props.label," (").concat(null!==(t=null===(r=p.state.value)||void 0===r?void 0:r.length)&&void 0!==t?t:0,"/").concat(p.slots.maxLength,")"):p.props.label})),i(p,"handleChange",(function(e){p.setState({value:e.target.value})})),i(p,"handlePaste",l(s().m((function e(){var t,r;return s().w((function(e){for(;;)switch(e.n){case 0:return e.p=0,e.n=1,navigator.clipboard.readText();case 1:t=e.v,p.setState({value:t}),e.n=3;break;case 2:e.p=2,r=e.v,console.error("Error clipboard:",r);case 3:return e.a(2)}}),e,null,[[0,2]])})))),p._cachedSlots=null!==(t=p.mergeSlots(e.slots))&&void 0!==t?t:{},p.state={value:p.defaulValue},p}return e(x,m),t(x,[{key:"slots",get:function(){return this._cachedSlots}},{key:"defaulValue",get:function(){var e,t,r=this.props,o=r.data,a=r.name;return null!==(e=this.props.defaultValue)&&void 0!==e?e:o&&a?null===(t=o[a])||void 0===t?void 0:t.toString():void 0}},{key:"componentDidUpdate",value:function(e){e.slots!==this.props.slots&&(this._cachedSlots=this.mergeSlots(this.props.slots))}},{key:"shouldComponentUpdate",value:function(e){var t=this.props,r=t.name;t.slots;if(r){var o,a,i,n,l=null!==(o=null===(a=this.props.data)||void 0===a||null===(a=a[r])||void 0===a?void 0:a.toString())&&void 0!==o?o:"",s=null!==(i=null===(n=e.data)||void 0===n||null===(n=n[r])||void 0===n?void 0:n.toString())&&void 0!==i?i:"";if(l!==s)return this.setState({value:s}),!1}return e.slots,!0}},{key:"render",value:function(){var e;return p(h,{sx:{display:"flex",alignItems:"center"},children:[!!this.props.disabled&&u("input",{hidden:!0,name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),defaultValue:this.defaulValue}),this.renderImageSide("left"),u(v,r({},this.mapTextFieldProps())),this.renderImageSide("right")]})}}])}()},L=function(){return u("div",{children:u(x,{size:24})})},w=c(h)({fontSize:"1rem",height:"var(--input-base-image-size, 54px)",width:"var(--input-base-image-size, 54px)",position:"relative",borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px",overflow:"hidden","& > img":{position:"absolute",top:0,left:0,backgroundRepeat:"no-repeat",height:"100%",width:"100%",backgroundSize:"contain"},"& > div":{position:"absolute",top:0,left:0,height:"100%",width:"100%",background:"#fafafa",zIndex:1,display:"flex",alignItems:"center",justifyContent:"center"}});export{C as default};
1
+ import{inherits as e,createClass as t,classCallCheck as r,callSuper as a,defineProperty as o,objectSpread2 as i,objectWithoutProperties as n,asyncToGenerator as l,regenerator as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as u,Fragment as d,jsxs as p}from"react/jsx-runtime";import{Component as c}from"react";import{styled as m,Box as h,InputAdornment as v,IconButton as g,Collapse as f,CircularProgress as b,TextField as x}from"@mui/material";import S from"@mui/icons-material/ContentPaste";import{mergeObjects as k}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{getErrorMessage as y}from"./helpers.js";import P from"../components/image-with-fallback.js";var j=["srcGetter","element","alt","fallbackSrc","debounceDelay"],L=function(m){return function(){function b(e){var t,p;return r(this,b),p=a(this,b,[e]),o(p,"_cachedSlots",{}),o(p,"mapTextFieldProps",(function(){var e,t,r,a,o=y(p.props.messageErrors,p.props.name),n={fullWidth:!0,variant:"outlined",name:null===(e=p.props.name)||void 0===e?void 0:e.toString(),error:o.error,helperText:o.message,disabled:p.props.disabled,onBlur:function(){p.props.name&&p.props.onBlur&&p.props.onBlur(p.props.name)},label:p.getLabel(),placeholder:p.props.placeholder,InputLabelProps:p.state.value?{shrink:!0}:{},value:null!==(t=p.state.value)&&void 0!==t?t:"",onChange:p.handleChange};return!0===p.slots.pastenable&&(n.InputProps={endAdornment:u(v,{position:"end",children:u(g,{onClick:p.handlePaste,edge:"end",children:u(S,{})})})}),null!==(r=p.slots)&&void 0!==r&&r.maxLength&&(n.inputProps=i(i({},n.inputProps),{},{maxLength:p.slots.maxLength})),k({},n,null===(a=p.slots)||void 0===a?void 0:a.textFieldProps)})),o(p,"renderImageSide",(function(e){var t,r="left"===e?p.slots.imageLeft:p.slots.imageRight;if(!r)return u(d,{});var a=r.srcGetter,o=r.element,l=r.alt,s=void 0===l?"input-image":l,c=r.fallbackSrc,m=void 0===c?"":c,h=r.debounceDelay,v=void 0===h?700:h,g=n(r,j);if(o)return u(w,{children:u(o,{value:p.state.value,model:p.props.data})});var b=a?a(p.state.value,p.props.data):null!==(t=g.src)&&void 0!==t?t:p.state.value,x={src:b,alt:s,fallbackSrc:m,debounceDelay:v};return u(f,{sx:{mx:"10px"},in:!!b,unmountOnExit:!0,orientation:"horizontal",children:u(w,{children:u(P,i(i(i({},g),x),{},{loading:u(C,{})}))})})})),o(p,"mergeSlots",(function(e){var t=k({},m,e),r=t.imageLeft,a=t.imageRight;return null!=r&&r.mirror&&!a?(t.imageRight=i({},r),delete t.imageRight.mirror):null!=a&&a.mirror&&!r&&(t.imageLeft=i({},a),delete t.imageLeft.mirror),t})),o(p,"getLabel",(function(){var e,t,r;if(p.props.label)return null!==(e=p.slots)&&void 0!==e&&e.maxLength?"".concat(p.props.label," (").concat(null!==(t=null===(r=p.state.value)||void 0===r?void 0:r.length)&&void 0!==t?t:0,"/").concat(p.slots.maxLength,")"):p.props.label})),o(p,"handleChange",(function(e){p.setState({value:e.target.value})})),o(p,"handlePaste",l(s().m((function e(){var t,r;return s().w((function(e){for(;;)switch(e.n){case 0:return e.p=0,e.n=1,navigator.clipboard.readText();case 1:t=e.v,p.setState({value:t}),e.n=3;break;case 2:e.p=2,r=e.v,console.error("Error clipboard:",r);case 3:return e.a(2)}}),e,null,[[0,2]])})))),p._cachedSlots=null!==(t=p.mergeSlots(e.slots))&&void 0!==t?t:{},p.state={value:p.defaulValue},p}return e(b,c),t(b,[{key:"slots",get:function(){return this._cachedSlots}},{key:"defaulValue",get:function(){var e,t,r=this.props,a=r.data,o=r.name;return null!==(e=this.props.defaultValue)&&void 0!==e?e:a&&o?null===(t=a[o])||void 0===t?void 0:t.toString():void 0}},{key:"componentDidUpdate",value:function(e){e.slots!==this.props.slots&&(this._cachedSlots=this.mergeSlots(this.props.slots))}},{key:"shouldComponentUpdate",value:function(e){var t=this.props,r=t.name;t.slots;if(r){var a,o,i,n,l=null!==(a=null===(o=this.props.data)||void 0===o||null===(o=o[r])||void 0===o?void 0:o.toString())&&void 0!==a?a:"",s=null!==(i=null===(n=e.data)||void 0===n||null===(n=n[r])||void 0===n?void 0:n.toString())&&void 0!==i?i:"";if(l!==s)return this.setState({value:s}),!1}return e.slots,!0}},{key:"render",value:function(){var e;return p(h,{sx:{display:"flex",alignItems:"center"},children:[!!this.props.disabled&&u("input",{hidden:!0,name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),defaultValue:this.defaulValue}),this.renderImageSide("left"),u(x,i({},this.mapTextFieldProps())),this.renderImageSide("right")]})}}])}()},C=function(){return u("div",{children:u(b,{size:24})})},w=m(h)({fontSize:"1rem",height:"var(--input-base-image-size, 54px)",width:"var(--input-base-image-size, 54px)",position:"relative",borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px",overflow:"hidden","& > img":{position:"absolute",top:0,left:0,backgroundRepeat:"no-repeat",height:"100%",width:"100%",backgroundSize:"contain"},"& > div":{position:"absolute",top:0,left:0,height:"100%",width:"100%",background:"#fafafa",zIndex:1,display:"flex",alignItems:"center",justifyContent:"center"}});export{L as default};
2
2
  //# sourceMappingURL=create.input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.input.js","sources":["../../src/form/create.input.tsx"],"sourcesContent":["import React, { Component, ComponentType, FC } from 'react'\r\nimport { Box, CircularProgress, Collapse, IconButton, InputAdornment, styled, TextField, TextFieldProps } from '@mui/material'\r\nimport ContentPasteIcon from '@mui/icons-material/ContentPaste'\r\nimport { mergeObjects } from '../utils'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helpers'\r\nimport { ImageWithFallback, IImageWithFallbackPropsOwner } from '../components'\r\n\r\nexport interface InputBaseImage<T> extends Partial<IImageWithFallbackPropsOwner> {\r\n srcGetter?: (value: any, model?: Partial<T>) => string\r\n element?: React.ComponentType<{ value: any; model?: Partial<T> }>\r\n mirror?: boolean\r\n}\r\n\r\nexport interface IInputSlots<T> {\r\n maxLength?: number\r\n textFieldProps?: TextFieldProps\r\n pastenable?: boolean\r\n imageLeft?: InputBaseImage<T>\r\n imageRight?: InputBaseImage<T>\r\n}\r\n\r\nexport interface IInputProps<T> extends IFormInputBase<T, IInputSlots<T>> {}\r\n\r\nexport interface IInputState {\r\n value?: string\r\n}\r\n\r\nexport interface IInputParams<T> extends IInputSlots<T> {}\r\n\r\nconst CreateInput = function <T>(params?: IInputParams<T>): ComponentType<IInputProps<T>> {\r\n class InputBase extends Component<IInputProps<T>, IInputState> {\r\n private _cachedSlots: IInputSlots<T> = {}\r\n constructor(props: IInputProps<T>) {\r\n super(props)\r\n this._cachedSlots = this.mergeSlots(props.slots) ?? {}\r\n this.state = { value: this.defaulValue }\r\n }\r\n\r\n get slots() {\r\n return this._cachedSlots\r\n }\r\n\r\n get defaulValue(): string {\r\n const { data, name } = this.props\r\n return this.props.defaultValue ?? (!!data && !!name ? data[name]?.toString() : undefined)\r\n }\r\n\r\n componentDidUpdate(prevProps: IInputProps<T>) {\r\n if (prevProps.slots !== this.props.slots) {\r\n this._cachedSlots = this.mergeSlots(this.props.slots)\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps: Readonly<IInputProps<T>>): boolean {\r\n const { name, slots } = this.props\r\n if (!!name) {\r\n const currentDataValue = this.props.data?.[name]?.toString() ?? ''\r\n const nextDataValue = nextProps.data?.[name]?.toString() ?? ''\r\n if (currentDataValue !== nextDataValue) {\r\n this.setState({ value: nextDataValue })\r\n return false\r\n }\r\n }\r\n\r\n if (slots !== nextProps.slots) {\r\n return true\r\n }\r\n return true\r\n }\r\n\r\n mapTextFieldProps = (): TextFieldProps => {\r\n const errorMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const tfp: TextFieldProps = {\r\n fullWidth: true,\r\n variant: 'outlined',\r\n name: this.props.name?.toString(),\r\n error: errorMessage.error,\r\n helperText: errorMessage.message,\r\n disabled: this.props.disabled,\r\n onBlur: () => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n },\r\n label: this.getLabel(),\r\n placeholder: this.props.placeholder,\r\n InputLabelProps: !!this.state.value ? { shrink: true } : {},\r\n value: this.state.value ?? '',\r\n onChange: this.handleChange\r\n }\r\n if (this.slots.pastenable === true) {\r\n tfp.InputProps = {\r\n endAdornment: (\r\n <InputAdornment position='end'>\r\n <IconButton onClick={this.handlePaste} edge='end'>\r\n <ContentPasteIcon />\r\n </IconButton>\r\n </InputAdornment>\r\n )\r\n }\r\n }\r\n if (this.slots?.maxLength) tfp.inputProps = { ...tfp.inputProps, maxLength: this.slots.maxLength }\r\n return mergeObjects<TextFieldProps>({}, tfp, this.slots?.textFieldProps)\r\n }\r\n\r\n //#region Render\r\n render() {\r\n return (\r\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\r\n {!!this.props.disabled && <input hidden name={this.props.name?.toString()} defaultValue={this.defaulValue} />}\r\n {this.renderImageSide('left')}\r\n <TextField {...this.mapTextFieldProps()} />\r\n {this.renderImageSide('right')}\r\n </Box>\r\n )\r\n }\r\n\r\n renderImageSide = (side: 'left' | 'right') => {\r\n const image = side === 'left' ? this.slots.imageLeft : this.slots.imageRight\r\n if (!image) return <></>\r\n const { srcGetter, element, alt = 'input-image', fallbackSrc = '', debounceDelay = 700, ...imageOther } = image\r\n if (element) {\r\n const Element = element\r\n return (\r\n <WrapImage>\r\n <Element value={this.state.value} model={this.props.data} />\r\n </WrapImage>\r\n )\r\n }\r\n const src = srcGetter ? srcGetter(this.state.value, this.props.data) : imageOther.src ?? this.state.value\r\n const imageProps: IImageWithFallbackPropsOwner = { src, alt, fallbackSrc, debounceDelay }\r\n return (\r\n <Collapse sx={{ mx: '10px' }} in={!!src} unmountOnExit orientation='horizontal'>\r\n <WrapImage>\r\n <ImageWithFallback {...imageOther} {...imageProps} loading={<LoadingCircularProgress />} />\r\n </WrapImage>\r\n </Collapse>\r\n )\r\n }\r\n //#endregion\r\n\r\n private mergeSlots = (currentSlots?: IInputSlots<T>): IInputSlots<T> => {\r\n const base = mergeObjects<IInputSlots<T>>({}, params, currentSlots)\r\n const { imageLeft, imageRight } = base\r\n\r\n // mirror from left to right\r\n if (imageLeft?.mirror && !imageRight) {\r\n base.imageRight = { ...imageLeft }\r\n delete base.imageRight.mirror\r\n }\r\n // mirror from right to left\r\n else if (imageRight?.mirror && !imageLeft) {\r\n base.imageLeft = { ...imageRight }\r\n delete base.imageLeft.mirror\r\n }\r\n\r\n return base\r\n }\r\n\r\n getLabel = () => {\r\n if (!this.props.label) return\r\n if (!this.slots?.maxLength) return this.props.label\r\n return `${this.props.label} (${this.state.value?.length ?? 0}/${this.slots.maxLength})`\r\n }\r\n\r\n handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n this.setState({ value: event.target.value })\r\n }\r\n\r\n handlePaste = async () => {\r\n try {\r\n const clipboardText = await navigator.clipboard.readText()\r\n this.setState({ value: clipboardText })\r\n } catch (error) {\r\n console.error('Error clipboard:', error)\r\n }\r\n }\r\n }\r\n return InputBase\r\n}\r\n\r\nexport default CreateInput\r\n\r\n// export type InputTextType<T> = ReturnType<typeof CreateInputBase<T>>\r\n\r\nconst LoadingCircularProgress: FC = () => (\r\n <div>\r\n <CircularProgress size={24} />\r\n </div>\r\n)\r\n\r\nconst WrapImage = styled(Box)({\r\n fontSize: '1rem',\r\n height: 'var(--input-base-image-size, 54px)',\r\n width: 'var(--input-base-image-size, 54px)',\r\n position: 'relative',\r\n borderRadius: '8px',\r\n boxShadow: 'rgba(0, 0, 0, 0.16) 0px 1px 4px',\r\n overflow: 'hidden',\r\n '& > img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n backgroundRepeat: 'no-repeat',\r\n height: '100%',\r\n width: '100%',\r\n backgroundSize: 'contain'\r\n },\r\n '& > div': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n height: '100%',\r\n width: '100%',\r\n background: '#fafafa',\r\n zIndex: 1,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n }\r\n})\r\n"],"names":["CreateInput","params","InputBase","props","_this$mergeSlots","_this","_classCallCheck","_callSuper","_defineProperty","_this$props$name","_this$state$value","_this$slots","_this$slots2","errorMessage","getErrorMessage","messageErrors","name","tfp","fullWidth","variant","toString","error","helperText","message","disabled","onBlur","label","getLabel","placeholder","InputLabelProps","state","value","shrink","onChange","handleChange","slots","pastenable","InputProps","endAdornment","_jsx","InputAdornment","position","children","IconButton","onClick","handlePaste","edge","ContentPasteIcon","maxLength","inputProps","_objectSpread","mergeObjects","textFieldProps","side","_imageOther$src","image","imageLeft","imageRight","srcGetter","element","_image$alt","alt","_image$fallbackSrc","fallbackSrc","_image$debounceDelay","debounceDelay","imageOther","_objectWithoutProperties","_excluded","WrapImage","model","data","src","imageProps","Collapse","sx","mx","in","unmountOnExit","orientation","ImageWithFallback","loading","LoadingCircularProgress","currentSlots","base","mirror","_this$slots3","_this$state$value$len","_this$state$value2","concat","length","event","setState","target","_asyncToGenerator","_regenerator","m","_callee","clipboardText","_t","w","_context","n","p","navigator","clipboard","readText","v","console","a","_cachedSlots","mergeSlots","defaulValue","_inherits","Component","_createClass","key","get","this","_this$props$defaultVa","_data$name","_this$props","defaultValue","undefined","prevProps","nextProps","_this$props2","_this$props$data$name","_this$props$data","_nextProps$data$name$","_nextProps$data","currentDataValue","nextDataValue","_this$props$name2","_jsxs","Box","display","alignItems","hidden","renderImageSide","TextField","mapTextFieldProps","CircularProgress","size","styled","fontSize","height","width","borderRadius","boxShadow","overflow","top","left","backgroundRepeat","backgroundSize","background","zIndex","justifyContent"],"mappings":"qlCA8BMA,EAAc,SAAaC,GAoJ/B,kBAjJE,SAAAC,EAAYC,GAAqB,IAAAC,EAAAC,EAGS,OAHTC,OAAAJ,GAC/BG,EAAAE,EAAAL,KAAAA,GAAMC,IAAMK,EAAAH,EAFyB,eAAA,IAAEG,EAAAH,EAAA,qBAuCrB,WAAqB,IAAAI,EAAAC,EAAAC,EAAAC,EACjCC,EAAeC,EAAgBT,EAAKF,MAAMY,cAAeV,EAAKF,MAAMa,MACpEC,EAAsB,CAC1BC,WAAW,EACXC,QAAS,WACTH,KAAqB,QAAjBP,EAAEJ,EAAKF,MAAMa,YAAXP,IAAeA,OAAfA,EAAAA,EAAiBW,WACvBC,MAAOR,EAAaQ,MACpBC,WAAYT,EAAaU,QACzBC,SAAUnB,EAAKF,MAAMqB,SACrBC,OAAQ,WACDpB,EAAKF,MAAMa,MAChBX,EAAKF,MAAMsB,QAAUpB,EAAKF,MAAMsB,OAAOpB,EAAKF,MAAMa,KACnD,EACDU,MAAOrB,EAAKsB,WACZC,YAAavB,EAAKF,MAAMyB,YACxBC,gBAAmBxB,EAAKyB,MAAMC,MAAQ,CAAEC,QAAQ,GAAS,CAAE,EAC3DD,MAAuBrB,QAAlBA,EAAEL,EAAKyB,MAAMC,aAAKrB,IAAAA,EAAAA,EAAI,GAC3BuB,SAAU5B,EAAK6B,cAcjB,OAZ8B,IAA1B7B,EAAK8B,MAAMC,aACbnB,EAAIoB,WAAa,CACfC,aACEC,EAACC,EAAc,CAACC,SAAS,MAAKC,SAC5BH,EAACI,EAAW,CAAAC,QAASvC,EAAKwC,YAAaC,KAAK,MAC1CJ,SAAAH,EAACQ,EAAgB,CAAA,SAMbpC,QAAdA,EAAIN,EAAK8B,aAALxB,IAAUA,GAAVA,EAAYqC,YAAW/B,EAAIgC,WAAUC,EAAAA,EAAA,CAAA,EAAQjC,EAAIgC,YAAU,GAAA,CAAED,UAAW3C,EAAK8B,MAAMa,aAChFG,EAA6B,CAAE,EAAElC,EAAeL,QAAZA,EAAEP,EAAK8B,iBAAKvB,SAAVA,EAAYwC,mBAC1D5C,EAAAH,EAciB,mBAAA,SAACgD,GAA0B,IAAAC,EACrCC,EAAiB,SAATF,EAAkBhD,EAAK8B,MAAMqB,UAAYnD,EAAK8B,MAAMsB,WAClE,IAAKF,EAAO,OAAOhB,QACnB,IAAQmB,EAAkGH,EAAlGG,UAAWC,EAAuFJ,EAAvFI,QAAOC,EAAgFL,EAA9EM,IAAAA,OAAM,IAAHD,EAAG,cAAaA,EAAAE,EAA2DP,EAAzDQ,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAAAE,EAAyCT,EAAvCU,cAAAA,OAAgB,IAAHD,EAAG,IAAGA,EAAKE,EAAUC,EAAKZ,EAAKa,GAC/G,GAAIT,EAEF,OACEpB,EAAC8B,EACC,CAAA3B,SAAAH,EAHYoB,EAGH,CAAA5B,MAAO1B,EAAKyB,MAAMC,MAAOuC,MAAOjE,EAAKF,MAAMoE,SAI1D,IAAMC,EAAMd,EAAYA,EAAUrD,EAAKyB,MAAMC,MAAO1B,EAAKF,MAAMoE,MAAsB,QAAjBjB,EAAGY,EAAWM,WAAG,IAAAlB,EAAAA,EAAIjD,EAAKyB,MAAMC,MAC9F0C,EAA2C,CAAED,IAAAA,EAAKX,IAAAA,EAAKE,YAAAA,EAAaE,cAAAA,GAC1E,OACE1B,EAACmC,GAASC,GAAI,CAAEC,GAAI,QAAUC,KAAML,EAAKM,eAAc,EAAAC,YAAY,aAAYrC,SAC7EH,EAAC8B,EAAS,CAAA3B,SACRH,EAACyC,EAAiB9B,EAAAA,EAAAA,EAAKgB,CAAAA,EAAAA,GAAgBO,GAAU,CAAA,EAAA,CAAEQ,QAAS1C,EAAC2C,EAAuB,CAAA,aAK5F1E,EAAAH,EAEqB,cAAA,SAAC8E,GACpB,IAAMC,EAAOjC,EAA6B,GAAIlD,EAAQkF,GAC9C3B,EAA0B4B,EAA1B5B,UAAWC,EAAe2B,EAAf3B,WAanB,OAVID,SAAAA,EAAW6B,SAAW5B,GACxB2B,EAAK3B,WAAUP,EAAA,CAAA,EAAQM,UAChB4B,EAAK3B,WAAW4B,QAGhB5B,SAAAA,EAAY4B,SAAW7B,IAC9B4B,EAAK5B,UAASN,EAAA,CAAA,EAAQO,UACf2B,EAAK5B,UAAU6B,QAGjBD,KACR5E,EAAAH,EAAA,YAEU,WAAK,IAAAiF,EAAAC,EAAAC,EACd,GAAKnF,EAAKF,MAAMuB,MAChB,eAAI4D,EAACjF,EAAK8B,aAAK,IAAAmD,GAAVA,EAAYtC,UACjB,GAAAyC,OAAUpF,EAAKF,MAAMuB,MAAK,MAAA+D,OAA6B,QAA7BF,EAAqBC,QAArBA,EAAKnF,EAAKyB,MAAMC,iBAAKyD,SAAhBA,EAAkBE,cAAMH,IAAAA,EAAAA,EAAI,OAACE,OAAIpF,EAAK8B,MAAMa,UAAS,KADjD3C,EAAKF,MAAMuB,SAE/ClB,EAAAH,EAEc,gBAAA,SAACsF,GACdtF,EAAKuF,SAAS,CAAE7D,MAAO4D,EAAME,OAAO9D,WACrCvB,EAAAH,EAAA,cAAAyF,EAAAC,IAAAC,GAEa,SAAAC,IAAA,IAAAC,EAAAC,EAAA,OAAAJ,IAAAK,GAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EAAA,OAAAD,EAAAE,EAAA,EAAAF,EAAAC,EAAA,EAEkBE,UAAUC,UAAUC,WAAU,KAAA,EAApDR,EAAaG,EAAAM,EACnBtG,EAAKuF,SAAS,CAAE7D,MAAOmE,IAAgBG,EAAAC,EAAA,EAAA,MAAA,KAAA,EAAAD,EAAAE,EAAA,EAAAJ,EAAAE,EAAAM,EAEvCC,QAAQvF,MAAM,mBAAkB8E,GAAQ,KAAA,EAAA,OAAAE,EAAAQ,EAAA,GAAA,GAAAZ,EAAA,KAAA,CAAA,CAAA,EAAA,IAE3C,MA7IC5F,EAAKyG,aAA2C1G,QAA/BA,EAAGC,EAAK0G,WAAW5G,EAAMgC,kBAAM/B,EAAAA,EAAI,CAAE,EACtDC,EAAKyB,MAAQ,CAAEC,MAAO1B,EAAK2G,aAAa3G,CAC1C,CAAC,OAAA4G,EAAA/G,EANqBgH,GAMrBC,EAAAjH,EAAA,CAAA,CAAAkH,IAAA,QAAAC,IAED,WACE,OAAOC,KAAKR,YACd,GAAC,CAAAM,IAAA,cAAAC,IAED,WAAe,IAAAE,EAAAC,EACbC,EAAuBH,KAAKnH,MAApBoE,EAAIkD,EAAJlD,KAAMvD,EAAIyG,EAAJzG,KACd,OAA8BuG,QAA9BA,EAAOD,KAAKnH,MAAMuH,wBAAYH,EAAAA,EAAOhD,GAAUvD,EAAiB,QAAbwG,EAAGjD,EAAKvD,UAAK,IAAAwG,OAAA,EAAVA,EAAYpG,gBAAauG,CACjF,GAAC,CAAAP,IAAA,qBAAArF,MAED,SAAmB6F,GACbA,EAAUzF,QAAUmF,KAAKnH,MAAMgC,QACjCmF,KAAKR,aAAeQ,KAAKP,WAAWO,KAAKnH,MAAMgC,OAEnD,GAAC,CAAAiF,IAAA,wBAAArF,MAED,SAAsB8F,GACpB,IAAAC,EAAwBR,KAAKnH,MAArBa,EAAI8G,EAAJ9G,KAAW8G,EAAL3F,MACd,GAAMnB,EAAM,CAAA,IAAA+G,EAAAC,EAAAC,EAAAC,EACJC,EAAsDJ,QAAtCA,EAAkBC,QAAlBA,EAAGV,KAAKnH,MAAMoE,gBAAIyD,GAAQA,QAARA,EAAfA,EAAkBhH,cAAKgH,SAAvBA,EAAyB5G,kBAAU2G,IAAAA,EAAAA,EAAI,GAC1DK,EAAkDH,QAArCA,EAAiB,QAAjBC,EAAGL,EAAUtD,YAAI,IAAA2D,GAAQ,QAARA,EAAdA,EAAiBlH,UAAK,IAAAkH,OAAA,EAAtBA,EAAwB9G,kBAAU6G,IAAAA,EAAAA,EAAI,GAC5D,GAAIE,IAAqBC,EAEvB,OADAd,KAAK1B,SAAS,CAAE7D,MAAOqG,KAChB,CAEV,CAED,OAAcP,EAAU1F,OACf,CAGX,GAAC,CAAAiF,IAAA,SAAArF,MAqCD,WAAM,IAAAsG,EACJ,OACEC,EAACC,EAAG,CAAC5D,GAAI,CAAE6D,QAAS,OAAQC,WAAY,UAAU/F,SAAA,GAC7C4E,KAAKnH,MAAMqB,UAAYe,EAAA,QAAA,CAAOmG,QAAM,EAAC1H,KAAqB,QAAjBqH,EAAEf,KAAKnH,MAAMa,YAAXqH,IAAeA,OAAfA,EAAAA,EAAiBjH,WAAYsG,aAAcJ,KAAKN,cAC7FM,KAAKqB,gBAAgB,QACtBpG,EAACqG,EAAS1F,EAAK,CAAA,EAAAoE,KAAKuB,sBACnBvB,KAAKqB,gBAAgB,WAG5B,IAAC,GAgEL,EAMMzD,EAA8B,WAAP,OAC3B3C,EACE,MAAA,CAAAG,SAAAH,EAACuG,EAAgB,CAACC,KAAM,MACpB,EAGF1E,EAAY2E,EAAOT,EAAPS,CAAY,CAC5BC,SAAU,OACVC,OAAQ,qCACRC,MAAO,qCACP1G,SAAU,WACV2G,aAAc,MACdC,UAAW,kCACXC,SAAU,SACV,UAAW,CACT7G,SAAU,WACV8G,IAAK,EACLC,KAAM,EACNC,iBAAkB,YAClBP,OAAQ,OACRC,MAAO,OACPO,eAAgB,WAElB,UAAW,CACTjH,SAAU,WACV8G,IAAK,EACLC,KAAM,EACNN,OAAQ,OACRC,MAAO,OACPQ,WAAY,UACZC,OAAQ,EACRpB,QAAS,OACTC,WAAY,SACZoB,eAAgB"}
1
+ {"version":3,"file":"create.input.js","sources":["../../src/form/create.input.tsx"],"sourcesContent":["import React, { Component, ComponentType, FC } from 'react'\r\nimport { Box, CircularProgress, Collapse, IconButton, InputAdornment, styled, TextField, TextFieldProps } from '@mui/material'\r\nimport ContentPasteIcon from '@mui/icons-material/ContentPaste'\r\nimport { mergeObjects } from '../utils'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helpers'\r\nimport { ImageWithFallback, IImageWithFallbackPropsOwner } from '../components'\r\n\r\nexport interface InputBaseImage<T> extends Partial<IImageWithFallbackPropsOwner> {\r\n srcGetter?: (value: any, model?: Partial<T>) => string\r\n element?: React.ComponentType<{ value: any; model?: Partial<T> }>\r\n mirror?: boolean\r\n}\r\n\r\nexport interface IInputSlots<T> {\r\n maxLength?: number\r\n textFieldProps?: TextFieldProps\r\n pastenable?: boolean\r\n imageLeft?: InputBaseImage<T>\r\n imageRight?: InputBaseImage<T>\r\n}\r\n\r\nexport interface IInputProps<T> extends IFormInputBase<T, IInputSlots<T>> {}\r\n\r\nexport interface IInputState {\r\n value?: string\r\n}\r\n\r\nexport interface IInputParams<T> extends IInputSlots<T> {}\r\n\r\nconst CreateInput = function <T>(params?: IInputParams<T>): ComponentType<IInputProps<T>> {\r\n class InputBase extends Component<IInputProps<T>, IInputState> {\r\n private _cachedSlots: IInputSlots<T> = {}\r\n constructor(props: IInputProps<T>) {\r\n super(props)\r\n this._cachedSlots = this.mergeSlots(props.slots) ?? {}\r\n this.state = { value: this.defaulValue }\r\n }\r\n\r\n get slots() {\r\n return this._cachedSlots\r\n }\r\n\r\n get defaulValue(): string {\r\n const { data, name } = this.props\r\n return this.props.defaultValue ?? (!!data && !!name ? data[name]?.toString() : undefined)\r\n }\r\n\r\n componentDidUpdate(prevProps: IInputProps<T>) {\r\n if (prevProps.slots !== this.props.slots) {\r\n this._cachedSlots = this.mergeSlots(this.props.slots)\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps: Readonly<IInputProps<T>>): boolean {\r\n const { name, slots } = this.props\r\n if (!!name) {\r\n const currentDataValue = this.props.data?.[name]?.toString() ?? ''\r\n const nextDataValue = nextProps.data?.[name]?.toString() ?? ''\r\n if (currentDataValue !== nextDataValue) {\r\n this.setState({ value: nextDataValue })\r\n return false\r\n }\r\n }\r\n\r\n if (slots !== nextProps.slots) {\r\n return true\r\n }\r\n return true\r\n }\r\n\r\n mapTextFieldProps = (): TextFieldProps => {\r\n const errorMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const tfp: TextFieldProps = {\r\n fullWidth: true,\r\n variant: 'outlined',\r\n name: this.props.name?.toString(),\r\n error: errorMessage.error,\r\n helperText: errorMessage.message,\r\n disabled: this.props.disabled,\r\n onBlur: () => {\r\n if (!this.props.name) return\r\n this.props.onBlur && this.props.onBlur(this.props.name)\r\n },\r\n label: this.getLabel(),\r\n placeholder: this.props.placeholder,\r\n InputLabelProps: !!this.state.value ? { shrink: true } : {},\r\n value: this.state.value ?? '',\r\n onChange: this.handleChange\r\n }\r\n if (this.slots.pastenable === true) {\r\n tfp.InputProps = {\r\n endAdornment: (\r\n <InputAdornment position='end'>\r\n <IconButton onClick={this.handlePaste} edge='end'>\r\n <ContentPasteIcon />\r\n </IconButton>\r\n </InputAdornment>\r\n )\r\n }\r\n }\r\n if (this.slots?.maxLength) tfp.inputProps = { ...tfp.inputProps, maxLength: this.slots.maxLength }\r\n return mergeObjects<TextFieldProps>({}, tfp, this.slots?.textFieldProps)\r\n }\r\n\r\n //#region Render\r\n render() {\r\n return (\r\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\r\n {!!this.props.disabled && <input hidden name={this.props.name?.toString()} defaultValue={this.defaulValue} />}\r\n {this.renderImageSide('left')}\r\n <TextField {...this.mapTextFieldProps()} />\r\n {this.renderImageSide('right')}\r\n </Box>\r\n )\r\n }\r\n\r\n renderImageSide = (side: 'left' | 'right') => {\r\n const image = side === 'left' ? this.slots.imageLeft : this.slots.imageRight\r\n if (!image) return <></>\r\n const { srcGetter, element, alt = 'input-image', fallbackSrc = '', debounceDelay = 700, ...imageOther } = image\r\n if (element) {\r\n const Element = element\r\n return (\r\n <WrapImage>\r\n <Element value={this.state.value} model={this.props.data} />\r\n </WrapImage>\r\n )\r\n }\r\n const src = srcGetter ? srcGetter(this.state.value, this.props.data) : imageOther.src ?? this.state.value\r\n const imageProps: IImageWithFallbackPropsOwner = { src, alt, fallbackSrc, debounceDelay }\r\n return (\r\n <Collapse sx={{ mx: '10px' }} in={!!src} unmountOnExit orientation='horizontal'>\r\n <WrapImage>\r\n <ImageWithFallback {...imageOther} {...imageProps} loading={<LoadingCircularProgress />} />\r\n </WrapImage>\r\n </Collapse>\r\n )\r\n }\r\n //#endregion\r\n\r\n private mergeSlots = (currentSlots?: IInputSlots<T>): IInputSlots<T> => {\r\n const base = mergeObjects<IInputSlots<T>>({}, params, currentSlots)\r\n const { imageLeft, imageRight } = base\r\n\r\n // mirror from left to right\r\n if (imageLeft?.mirror && !imageRight) {\r\n base.imageRight = { ...imageLeft }\r\n delete base.imageRight.mirror\r\n }\r\n // mirror from right to left\r\n else if (imageRight?.mirror && !imageLeft) {\r\n base.imageLeft = { ...imageRight }\r\n delete base.imageLeft.mirror\r\n }\r\n\r\n return base\r\n }\r\n\r\n getLabel = () => {\r\n if (!this.props.label) return\r\n if (!this.slots?.maxLength) return this.props.label\r\n return `${this.props.label} (${this.state.value?.length ?? 0}/${this.slots.maxLength})`\r\n }\r\n\r\n handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n this.setState({ value: event.target.value })\r\n }\r\n\r\n handlePaste = async () => {\r\n try {\r\n const clipboardText = await navigator.clipboard.readText()\r\n this.setState({ value: clipboardText })\r\n } catch (error) {\r\n console.error('Error clipboard:', error)\r\n }\r\n }\r\n }\r\n return InputBase\r\n}\r\n\r\nexport default CreateInput\r\n\r\n// export type InputTextType<T> = ReturnType<typeof CreateInputBase<T>>\r\n\r\nconst LoadingCircularProgress: FC = () => (\r\n <div>\r\n <CircularProgress size={24} />\r\n </div>\r\n)\r\n\r\nconst WrapImage = styled(Box)({\r\n fontSize: '1rem',\r\n height: 'var(--input-base-image-size, 54px)',\r\n width: 'var(--input-base-image-size, 54px)',\r\n position: 'relative',\r\n borderRadius: '8px',\r\n boxShadow: 'rgba(0, 0, 0, 0.16) 0px 1px 4px',\r\n overflow: 'hidden',\r\n '& > img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n backgroundRepeat: 'no-repeat',\r\n height: '100%',\r\n width: '100%',\r\n backgroundSize: 'contain'\r\n },\r\n '& > div': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n height: '100%',\r\n width: '100%',\r\n background: '#fafafa',\r\n zIndex: 1,\r\n display: 'flex',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n }\r\n})\r\n"],"names":["CreateInput","params","InputBase","props","_this$mergeSlots","_this","_classCallCheck","_callSuper","_defineProperty","_this$props$name","_this$state$value","_this$slots","_this$slots2","errorMessage","getErrorMessage","messageErrors","name","tfp","fullWidth","variant","toString","error","helperText","message","disabled","onBlur","label","getLabel","placeholder","InputLabelProps","state","value","shrink","onChange","handleChange","slots","pastenable","InputProps","endAdornment","_jsx","InputAdornment","position","children","IconButton","onClick","handlePaste","edge","ContentPasteIcon","maxLength","inputProps","_objectSpread","mergeObjects","textFieldProps","side","_imageOther$src","image","imageLeft","imageRight","srcGetter","element","_image$alt","alt","_image$fallbackSrc","fallbackSrc","_image$debounceDelay","debounceDelay","imageOther","_objectWithoutProperties","_excluded","WrapImage","model","data","src","imageProps","Collapse","sx","mx","in","unmountOnExit","orientation","ImageWithFallback","loading","LoadingCircularProgress","currentSlots","base","mirror","_this$slots3","_this$state$value$len","_this$state$value2","concat","length","event","setState","target","_asyncToGenerator","_regenerator","m","_callee","clipboardText","_t","w","_context","n","p","navigator","clipboard","readText","v","console","a","_cachedSlots","mergeSlots","defaulValue","_inherits","Component","_createClass","key","get","this","_this$props$defaultVa","_data$name","_this$props","defaultValue","undefined","prevProps","nextProps","_this$props2","_this$props$data$name","_this$props$data","_nextProps$data$name$","_nextProps$data","currentDataValue","nextDataValue","_this$props$name2","_jsxs","Box","display","alignItems","hidden","renderImageSide","TextField","mapTextFieldProps","CircularProgress","size","styled","fontSize","height","width","borderRadius","boxShadow","overflow","top","left","backgroundRepeat","backgroundSize","background","zIndex","justifyContent"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{inherits as e,createClass as r,objectSpread2 as o,classCallCheck as t,callSuper as l,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as a}from"react/jsx-runtime";import s,{Component as p}from"react";import{FormControl as u,InputLabel as d,Select as v,MenuItem as m,Collapse as f,FormHelperText as c}from"@mui/material";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{getErrorMessage as h}from"./helpers.js";function b(b){return function(){function S(e){var r,o;return t(this,S),o=l(this,S,[e]),i(o,"mapProps",(function(){var e,r,t,l,i,n=o.getLabel(),a={id:null===(e=o.props.name)||void 0===e?void 0:e.toString(),labelId:(null===(r=o.props.name)||void 0===r?void 0:r.toString())+n,name:null===(t=o.props.name)||void 0===t?void 0:t.toString(),label:n,defaultValue:o.getDefaultValue(),value:o.state.value,onChange:function(e){var r=e.target.value+"";o.setState({value:r},(function(){o.props.name&&o.props.onBlur&&o.props.onBlur(o.props.name);var e=o.getOptions().find((function(e){var o;return(null===(o=e.value)||void 0===o?void 0:o.toString())===r}));e&&o.props.onChange&&o.props.onChange(e)}))},disabled:o.props.disabled,fullWidth:void 0===o.props.fullWidth||o.props.fullWidth},s=null!==(l=null===(i=o.props.slots)||void 0===i?void 0:i.selectProps)&&void 0!==l?l:null==b?void 0:b.selectProps;return g({},a,s)})),i(o,"getLabel",(function(){var e,r;return o.props.label&&"string"==typeof o.props.label?o.props.label:null!==(e=null===(r=o.props.name)||void 0===r?void 0:r.toString())&&void 0!==e?e:""})),i(o,"getDefaultValue",(function(){var e,r,t,l,i=o.props,n=i.data,a=i.name,s=o.getOptions();return null!==(e=null!==(r=null===(t=o.props.defaultValue)||void 0===t?void 0:t.toString())&&void 0!==r?r:n&&a?n[a]:void 0)&&void 0!==e?e:null===(l=s[0])||void 0===l?void 0:l.value})),i(o,"getOptions",(function(){var e,r;return null!==(e=null!==(r=null==b?void 0:b.options)&&void 0!==r?r:o.props.options)&&void 0!==e?e:[]})),o.state={value:null===(r=o.getDefaultValue())||void 0===r?void 0:r.toString()},o}return e(S,p),r(S,[{key:"render",value:function(){var e,r,t=this.getOptions(),l=this.getLabel(),i=h(this.props.messageErrors,this.props.name);return n(s.Fragment,{children:[!!this.props.disabled&&a("input",{hidden:!0,name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),defaultValue:this.getDefaultValue()}),n(u,{fullWidth:!0,disabled:this.props.disabled,error:i.error,children:[a(d,{id:(null===(r=this.props.name)||void 0===r?void 0:r.toString())+l,children:l}),a(v,o(o({},this.mapProps()),{},{children:t.map((function(e){return a(m,{value:e.value,children:e.name},e.value)}))})),a(f,{in:i.error,children:a(c,{children:i.message})})]})]})}}])}()}export{b as default};
1
+ import{inherits as e,createClass as r,classCallCheck as o,callSuper as t,defineProperty as l,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as n,jsx as a}from"react/jsx-runtime";import s,{Component as p}from"react";import{FormControl as u,InputLabel as d,Select as v,MenuItem as m,Collapse as f,FormHelperText as c}from"@mui/material";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{getErrorMessage as h}from"./helpers.js";function b(b){return function(){function S(e){var r,i;return o(this,S),i=t(this,S,[e]),l(i,"mapProps",(function(){var e,r,o,t,l,n=i.getLabel(),a={id:null===(e=i.props.name)||void 0===e?void 0:e.toString(),labelId:(null===(r=i.props.name)||void 0===r?void 0:r.toString())+n,name:null===(o=i.props.name)||void 0===o?void 0:o.toString(),label:n,defaultValue:i.getDefaultValue(),value:i.state.value,onChange:function(e){var r=e.target.value+"";i.setState({value:r},(function(){i.props.name&&i.props.onBlur&&i.props.onBlur(i.props.name);var e=i.getOptions().find((function(e){var o;return(null===(o=e.value)||void 0===o?void 0:o.toString())===r}));e&&i.props.onChange&&i.props.onChange(e)}))},disabled:i.props.disabled,fullWidth:void 0===i.props.fullWidth||i.props.fullWidth},s=null!==(t=null===(l=i.props.slots)||void 0===l?void 0:l.selectProps)&&void 0!==t?t:null==b?void 0:b.selectProps;return g({},a,s)})),l(i,"getLabel",(function(){var e,r;return i.props.label&&"string"==typeof i.props.label?i.props.label:null!==(e=null===(r=i.props.name)||void 0===r?void 0:r.toString())&&void 0!==e?e:""})),l(i,"getDefaultValue",(function(){var e,r,o,t,l=i.props,n=l.data,a=l.name,s=i.getOptions();return null!==(e=null!==(r=null===(o=i.props.defaultValue)||void 0===o?void 0:o.toString())&&void 0!==r?r:n&&a?n[a]:void 0)&&void 0!==e?e:null===(t=s[0])||void 0===t?void 0:t.value})),l(i,"getOptions",(function(){var e,r;return null!==(e=null!==(r=null==b?void 0:b.options)&&void 0!==r?r:i.props.options)&&void 0!==e?e:[]})),i.state={value:null===(r=i.getDefaultValue())||void 0===r?void 0:r.toString()},i}return e(S,p),r(S,[{key:"render",value:function(){var e,r,o=this.getOptions(),t=this.getLabel(),l=h(this.props.messageErrors,this.props.name);return n(s.Fragment,{children:[!!this.props.disabled&&a("input",{hidden:!0,name:null===(e=this.props.name)||void 0===e?void 0:e.toString(),defaultValue:this.getDefaultValue()}),n(u,{fullWidth:!0,disabled:this.props.disabled,error:l.error,children:[a(d,{id:(null===(r=this.props.name)||void 0===r?void 0:r.toString())+t,children:t}),a(v,i(i({},this.mapProps()),{},{children:o.map((function(e){return a(m,{value:e.value,children:e.name},e.value)}))})),a(f,{in:l.error,children:a(c,{children:l.message})})]})]})}}])}()}export{b as default};
2
2
  //# sourceMappingURL=create.select-simple.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as t,createClass as e,objectSpread2 as n,classCallCheck as r,callSuper as o,defineProperty as i,asyncToGenerator as a,regenerator as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as s,Fragment as u,jsx as d}from"react/jsx-runtime";import{Component as p}from"react";import{Autocomplete as c,TextField as f}from"@mui/material";import{getErrorMessage as v}from"./helpers.js";import{ApiAlertContext as h}from"../api-context/alert-global.js";import"../api-context/drawer-global.js";import"../api-context/global-modal.js";var m=function(m){var g=function(){function g(t){var e,n,s;return r(this,g),n=o(this,g,[t]),i(n,"abortController",{signalController:new AbortController}),i(n,"refInput",null),i(n,"existedIds",[]),i(n,"getFetchDataFunc",(function(){var t,e;return null!==(t=null!==(e=n.props.fetchData)&&void 0!==e?e:null==m?void 0:m.fetchData)&&void 0!==t?t:function(){return Promise.resolve([])}})),i(n,"timer",{_timer:0,_second:500,callback:(s=a(l().m((function t(e){var r,o,i;return l().w((function(t){for(;;)switch(t.n){case 0:return t.p=0,n.abortController.signalController=new AbortController,t.n=1,n.getFetchDataFunc()(e,n.abortController.signalController.signal);case 1:r=t.v,o=n.getOptionsFilter(r,n.existedIds),n.setState({options:o}),t.n=3;break;case 2:t.p=2,t.v,null===(i=h.ApiAlert)||void 0===i||i.PushError("Error from server!");case 3:return t.p=3,n.setState({statusText:"no items"}),t.f(3);case 4:return t.a(2)}}),t,null,[[0,2,3,4]])}))),function(t){return s.apply(this,arguments)}),start:function(t){n.timer.clear(),n.timer._timer=window.setTimeout((function(){return n.timer.callback(t)}),n.timer._second)},clear:function(){n.abortController.signalController.abort(),clearTimeout(n.timer._timer)}}),i(n,"fetchData",a(l().m((function t(){var e,r,o,i,a,s;return l().w((function(t){for(;;)switch(t.n){case 0:return t.p=0,r=n.getDefaultValue(),t.n=1,n.getFetchDataFunc()(r,n.abortController.signalController.signal);case 1:if(o=t.v,Array.isArray(o)){t.n=2;break}return t.a(2);case 2:return i=n.getOptionsFilter(o,n.existedIds),a=null!==(e=i.find((function(t){return t.Id===r})))&&void 0!==e?e:null,n.setState({options:i,optionSelected:a,loading:!1}),t.a(2);case 3:t.p=3,t.v,null===(s=h.ApiAlert)||void 0===s||s.PushError("Error from server!");case 4:return t.p=4,n.setState({statusText:"no items",loading:!1}),t.f(4);case 5:return t.a(2)}}),t,null,[[0,3,4,5]])})))),i(n,"handleChange",(function(t,e){var r;n.setState({optionSelected:e}),n.refInput&&(n.refInput.value=null!==(r=null==e?void 0:e.Id)&&void 0!==r?r:""),n.props.onChange&&n.props.onChange(e)})),i(n,"handleInputChange",(function(t,e){var r,o={inputValue:e};if(e!==(null===(r=n.state.optionSelected)||void 0===r?void 0:r.Name)){var i=e.trim().toLowerCase(),a=n.state.options.findIndex((function(t){var e;return null===(e=t.Name)||void 0===e?void 0:e.trim().toLowerCase().includes(i)}));(a<0||""===i)&&(o.statusText="loading..."),n.setState(o,(function(){(a<0||""===i)&&n.timer.start(i)}))}else n.setState(o)})),i(n,"fillterOptions",(function(t,e){return t.filter((function(t){var n,r=e.inputValue.toLowerCase();return t.Id.toLowerCase().includes(r)||(null===(n=t.Name)||void 0===n?void 0:n.toLowerCase().includes(r))}))})),i(n,"getLabel",(function(){var t,e;return null!==(t=n.props.label)&&void 0!==t?t:null===(e=n.props.name)||void 0===e?void 0:e.toString()})),i(n,"getDefaultValue",(function(){var t,e,r;if(n.props.name)return null===(t=null!==(e=n.props.defaultValue)&&void 0!==e?e:null===(r=n.props.data)||void 0===r?void 0:r[n.props.name])||void 0===t?void 0:t.toString()})),n.state={options:[],statusText:"no items",optionSelected:null,inputValue:"",loading:!0},n.existedIds=null!==(e=t.existedIds)&&void 0!==e?e:[],n}return t(g,p),e(g,[{key:"render",value:function(){var t,e,r,o,i=this,a=this.getDefaultValue(),l=v(this.props.messageErrors,this.props.name);return s(u,{children:[d(c,{disabled:this.state.loading||this.props.disabled,fullWidth:!0,noOptionsText:this.state.statusText,options:this.state.options,getOptionLabel:function(t){var e;return null!==(e=t.Name)&&void 0!==e?e:t.Id},getOptionKey:function(t){return JSON.stringify(t)},isOptionEqualToValue:function(t,e){return t.Id.toString()===e.Id.toString()&&t.Name===e.Name},filterOptions:this.fillterOptions,value:this.state.optionSelected,onChange:this.handleChange,inputValue:this.state.inputValue,onInputChange:this.handleInputChange,renderInput:function(t){var e;return d(f,n(n({},t),{},{label:i.getLabel(),error:l.error,helperText:l.message,onBlur:function(){i.props.name&&i.props.onBlur&&i.props.onBlur(i.props.name)}},null===(e=i.props.slots)||void 0===e?void 0:e.textFieldProps))}}),d("input",{ref:function(t){return i.refInput=t},hidden:!0,name:null===(t=this.props.name)||void 0===t?void 0:t.toString(),defaultValue:a}),(null===(e=this.state.optionSelected)||void 0===e?void 0:e.Other)&&d("input",{hidden:!0,name:"".concat(null===(r=this.props.name)||void 0===r?void 0:r.toString(),"Other"),defaultValue:JSON.stringify(this.state.optionSelected.Other)},null!==(o=this.state.optionSelected.Id)&&void 0!==o?o:"key")]})}},{key:"componentDidMount",value:function(){this.fetchData()}},{key:"componentWillUnmount",value:function(){this.timer.clear()}},{key:"componentDidUpdate",value:function(t){var e;JSON.stringify(t.existedIds)!==JSON.stringify(this.props.existedIds)&&(this.existedIds=null!==(e=this.props.existedIds)&&void 0!==e?e:[])}},{key:"getOptionsFilter",value:function(t){var e=new Set(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]);return t.reduce((function(t,n){return e.has(n.Id)||(t.push(n),e.add(n.Id)),t}),[])}}])}();return g};export{m as default};
1
+ import{inherits as t,createClass as e,classCallCheck as n,callSuper as r,defineProperty as o,asyncToGenerator as i,regenerator as a,objectSpread2 as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as s,Fragment as u,jsx as d}from"react/jsx-runtime";import{Component as p}from"react";import{Autocomplete as c,TextField as f}from"@mui/material";import{getErrorMessage as v}from"./helpers.js";import{ApiAlertContext as h}from"../api-context/alert-global.js";import"../api-context/drawer-global.js";import"../api-context/global-modal.js";var m=function(m){var g=function(){function g(t){var e,l,s;return n(this,g),l=r(this,g,[t]),o(l,"abortController",{signalController:new AbortController}),o(l,"refInput",null),o(l,"existedIds",[]),o(l,"getFetchDataFunc",(function(){var t,e;return null!==(t=null!==(e=l.props.fetchData)&&void 0!==e?e:null==m?void 0:m.fetchData)&&void 0!==t?t:function(){return Promise.resolve([])}})),o(l,"timer",{_timer:0,_second:500,callback:(s=i(a().m((function t(e){var n,r,o;return a().w((function(t){for(;;)switch(t.n){case 0:return t.p=0,l.abortController.signalController=new AbortController,t.n=1,l.getFetchDataFunc()(e,l.abortController.signalController.signal);case 1:n=t.v,r=l.getOptionsFilter(n,l.existedIds),l.setState({options:r}),t.n=3;break;case 2:t.p=2,t.v,null===(o=h.ApiAlert)||void 0===o||o.PushError("Error from server!");case 3:return t.p=3,l.setState({statusText:"no items"}),t.f(3);case 4:return t.a(2)}}),t,null,[[0,2,3,4]])}))),function(t){return s.apply(this,arguments)}),start:function(t){l.timer.clear(),l.timer._timer=window.setTimeout((function(){return l.timer.callback(t)}),l.timer._second)},clear:function(){l.abortController.signalController.abort(),clearTimeout(l.timer._timer)}}),o(l,"fetchData",i(a().m((function t(){var e,n,r,o,i,s;return a().w((function(t){for(;;)switch(t.n){case 0:return t.p=0,n=l.getDefaultValue(),t.n=1,l.getFetchDataFunc()(n,l.abortController.signalController.signal);case 1:if(r=t.v,Array.isArray(r)){t.n=2;break}return t.a(2);case 2:return o=l.getOptionsFilter(r,l.existedIds),i=null!==(e=o.find((function(t){return t.Id===n})))&&void 0!==e?e:null,l.setState({options:o,optionSelected:i,loading:!1}),t.a(2);case 3:t.p=3,t.v,null===(s=h.ApiAlert)||void 0===s||s.PushError("Error from server!");case 4:return t.p=4,l.setState({statusText:"no items",loading:!1}),t.f(4);case 5:return t.a(2)}}),t,null,[[0,3,4,5]])})))),o(l,"handleChange",(function(t,e){var n;l.setState({optionSelected:e}),l.refInput&&(l.refInput.value=null!==(n=null==e?void 0:e.Id)&&void 0!==n?n:""),l.props.onChange&&l.props.onChange(e)})),o(l,"handleInputChange",(function(t,e){var n,r={inputValue:e};if(e!==(null===(n=l.state.optionSelected)||void 0===n?void 0:n.Name)){var o=e.trim().toLowerCase(),i=l.state.options.findIndex((function(t){var e;return null===(e=t.Name)||void 0===e?void 0:e.trim().toLowerCase().includes(o)}));(i<0||""===o)&&(r.statusText="loading..."),l.setState(r,(function(){(i<0||""===o)&&l.timer.start(o)}))}else l.setState(r)})),o(l,"fillterOptions",(function(t,e){return t.filter((function(t){var n,r=e.inputValue.toLowerCase();return t.Id.toLowerCase().includes(r)||(null===(n=t.Name)||void 0===n?void 0:n.toLowerCase().includes(r))}))})),o(l,"getLabel",(function(){var t,e;return null!==(t=l.props.label)&&void 0!==t?t:null===(e=l.props.name)||void 0===e?void 0:e.toString()})),o(l,"getDefaultValue",(function(){var t,e,n;if(l.props.name)return null===(t=null!==(e=l.props.defaultValue)&&void 0!==e?e:null===(n=l.props.data)||void 0===n?void 0:n[l.props.name])||void 0===t?void 0:t.toString()})),l.state={options:[],statusText:"no items",optionSelected:null,inputValue:"",loading:!0},l.existedIds=null!==(e=t.existedIds)&&void 0!==e?e:[],l}return t(g,p),e(g,[{key:"render",value:function(){var t,e,n,r,o=this,i=this.getDefaultValue(),a=v(this.props.messageErrors,this.props.name);return s(u,{children:[d(c,{disabled:this.state.loading||this.props.disabled,fullWidth:!0,noOptionsText:this.state.statusText,options:this.state.options,getOptionLabel:function(t){var e;return null!==(e=t.Name)&&void 0!==e?e:t.Id},getOptionKey:function(t){return JSON.stringify(t)},isOptionEqualToValue:function(t,e){return t.Id.toString()===e.Id.toString()&&t.Name===e.Name},filterOptions:this.fillterOptions,value:this.state.optionSelected,onChange:this.handleChange,inputValue:this.state.inputValue,onInputChange:this.handleInputChange,renderInput:function(t){var e;return d(f,l(l({},t),{},{label:o.getLabel(),error:a.error,helperText:a.message,onBlur:function(){o.props.name&&o.props.onBlur&&o.props.onBlur(o.props.name)}},null===(e=o.props.slots)||void 0===e?void 0:e.textFieldProps))}}),d("input",{ref:function(t){return o.refInput=t},hidden:!0,name:null===(t=this.props.name)||void 0===t?void 0:t.toString(),defaultValue:i}),(null===(e=this.state.optionSelected)||void 0===e?void 0:e.Other)&&d("input",{hidden:!0,name:"".concat(null===(n=this.props.name)||void 0===n?void 0:n.toString(),"Other"),defaultValue:JSON.stringify(this.state.optionSelected.Other)},null!==(r=this.state.optionSelected.Id)&&void 0!==r?r:"key")]})}},{key:"componentDidMount",value:function(){this.fetchData()}},{key:"componentWillUnmount",value:function(){this.timer.clear()}},{key:"componentDidUpdate",value:function(t){var e;JSON.stringify(t.existedIds)!==JSON.stringify(this.props.existedIds)&&(this.existedIds=null!==(e=this.props.existedIds)&&void 0!==e?e:[])}},{key:"getOptionsFilter",value:function(t){var e=new Set(arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]);return t.reduce((function(t,n){return e.has(n.Id)||(t.push(n),e.add(n.Id)),t}),[])}}])}();return g};export{m as default};
2
2
  //# sourceMappingURL=create.select-with-api.js.map
@@ -1,2 +1,2 @@
1
- import{defineProperty as e,objectWithoutProperties as t,objectSpread2 as n,inherits as r,createClass as o,classCallCheck as i,callSuper as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{createRef as a,Component as u}from"react";import{styled as p,Box as m,IconButton as d,Typography as h,Tooltip as f}from"@mui/material";import g from"@mui/icons-material/Fullscreen";import v from"@mui/icons-material/FullscreenExit";import{getErrorMessage as x}from"./helpers.js";import"../components/breadcrumbs.js";import"../components/buttons.js";import"clipboard-copy";import"@mui/icons-material/Done";import"@mui/icons-material/ContentCopy";import"../components/create.multi-select-dropdown.js";import"../components/help-tooltip.js";import F,{textEditorClasses as C}from"../components/text-editor.js";var b=["children"];function y(t){return function(){function n(t){var r;return i(this,n),r=l(this,n,[t]),e(r,"handleFullscreenChange",(function(){r.setState({isFullscreen:!!document.fullscreenElement})})),e(r,"handleFullscreenToggle",(function(){r.contentRef.current&&(document.fullscreenElement?document.exitFullscreen():r.contentRef.current.requestFullscreen().catch((function(e){console.error("Error attempting to enable full-screen mode: ".concat(e.message))})))})),e(r,"getWrapClasses",(function(){var e=[];return r.state.isFullscreen&&e.push(C.fullscreen),e.join(" ")})),r.state={isFullscreen:!1},r.contentRef=a(),r}return r(n,u),o(n,[{key:"componentDidMount",value:function(){document.addEventListener("fullscreenchange",this.handleFullscreenChange)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("fullscreenchange",this.handleFullscreenChange)}},{key:"render",value:function(){var e,n,r,o,i,l=this,a=x(this.props.messageErrors,this.props.name),u=null!==(e=null===(n=this.props.name?null===(r=this.props.data)||void 0===r?void 0:r[this.props.name]:"")||void 0===n?void 0:n.toString())&&void 0!==e?e:"";return c(m,{id:t.id,ref:this.contentRef,sx:{backgroundColor:"#fff"},children:[this.state.isFullscreen&&s(k,{children:s(h,{variant:"h4",sx:{fontWeight:600,flex:1,textAlign:"center"},children:t.title})}),c(j,{className:this.getWrapClasses(),children:[s(E,{children:s(f,{title:this.state.isFullscreen?"Exit Fullscreen":"Fullscreen",arrow:!0,children:s(S,{sx:{color:"#06c"},onClick:this.handleFullscreenToggle,children:this.state.isFullscreen?s(v,{}):s(g,{})})})}),s(W,{children:s(F,{defautValue:u,name:null!==(o=null===(i=this.props.name)||void 0===i?void 0:i.toString())&&void 0!==o?o:"",readOnly:this.props.disabled,error:a.error,onBlur:function(){var e,t;l.props.name&&(null===(e=(t=l.props).onBlur)||void 0===e||e.call(t,l.props.name))}})})]})]})}}])}()}var j=p(m)((function(t){var n=t.theme;return e(e({maxWidth:n.breakpoints.values.xl,margin:"0 auto",position:"relative"},"&.".concat(C.fullscreen," .").concat(C.root),{height:"calc(100vh - ".concat(74,"px)")}),"&.".concat(C.fullscreen),{width:"871px"})})),k=p(m)({height:"".concat(64,"px"),display:"flex",justifyContent:"center",alignItems:"center"}),E=p((function(e){var r=e.children,o=t(e,b);return s(m,n(n({},o),{},{children:s(m,{children:r})}))}))({position:"sticky",top:"-1px",zIndex:2,"& > div":{height:0,display:"flex",justifyContent:"right",padding:"0 6px"}}),S=p(d)({flex:"0 0 auto",marginTop:"1px",width:"40px",height:"40px"}),W=p(m)({backgroundColor:"#fff",width:"100%","& .ql-container":{fontFamily:'"Roboto", serif',fontSize:"14px"},"& .ql-toolbar":{position:"sticky",top:"-1px",backgroundColor:"#fff",zIndex:1}});export{y as default};
1
+ import{defineProperty as e,objectWithoutProperties as t,objectSpread2 as n,inherits as r,createClass as l,classCallCheck as o,callSuper as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s,jsxs as c}from"react/jsx-runtime";import{Component as a,createRef as u}from"react";import{styled as h,Box as p,IconButton as d,Typography as f,Tooltip as m}from"@mui/material";import g from"@mui/icons-material/Fullscreen";import v from"@mui/icons-material/FullscreenExit";import{getErrorMessage as x}from"./helpers.js";import F,{textEditorClasses as C}from"../components/text-editor.js";var y=["children"];function b(t){return function(){function n(t){var r;return o(this,n),r=i(this,n,[t]),e(r,"handleFullscreenChange",(function(){r.setState({isFullscreen:!!document.fullscreenElement})})),e(r,"handleFullscreenToggle",(function(){r.contentRef.current&&(document.fullscreenElement?document.exitFullscreen():r.contentRef.current.requestFullscreen().catch((function(e){console.error("Error attempting to enable full-screen mode: ".concat(e.message))})))})),e(r,"getWrapClasses",(function(){var e=[];return r.state.isFullscreen&&e.push(C.fullscreen),e.join(" ")})),r.state={isFullscreen:!1},r.contentRef=u(),r}return r(n,a),l(n,[{key:"componentDidMount",value:function(){document.addEventListener("fullscreenchange",this.handleFullscreenChange)}},{key:"componentWillUnmount",value:function(){document.removeEventListener("fullscreenchange",this.handleFullscreenChange)}},{key:"render",value:function(){var e,n,r,l,o,i=this,a=x(this.props.messageErrors,this.props.name),u=null!==(e=null===(n=this.props.name?null===(r=this.props.data)||void 0===r?void 0:r[this.props.name]:"")||void 0===n?void 0:n.toString())&&void 0!==e?e:"";return c(p,{id:t.id,ref:this.contentRef,sx:{backgroundColor:"#fff"},children:[this.state.isFullscreen&&s(j,{children:s(f,{variant:"h4",sx:{fontWeight:600,flex:1,textAlign:"center"},children:t.title})}),c(k,{className:this.getWrapClasses(),children:[s(E,{children:s(m,{title:this.state.isFullscreen?"Exit Fullscreen":"Fullscreen",arrow:!0,children:s(S,{sx:{color:"#06c"},onClick:this.handleFullscreenToggle,children:this.state.isFullscreen?s(v,{}):s(g,{})})})}),s(W,{children:s(F,{defautValue:u,name:null!==(l=null===(o=this.props.name)||void 0===o?void 0:o.toString())&&void 0!==l?l:"",readOnly:this.props.disabled,error:a.error,onBlur:function(){var e,t;i.props.name&&(null===(e=(t=i.props).onBlur)||void 0===e||e.call(t,i.props.name))}})})]})]})}}])}()}var k=h(p)((function(t){var n=t.theme;return e(e({maxWidth:n.breakpoints.values.xl,margin:"0 auto",position:"relative"},"&.".concat(C.fullscreen," .").concat(C.root),{height:"calc(100vh - ".concat(74,"px)")}),"&.".concat(C.fullscreen),{width:"871px"})})),j=h(p)({height:"".concat(64,"px"),display:"flex",justifyContent:"center",alignItems:"center"}),E=h((function(e){var r=e.children,l=t(e,y);return s(p,n(n({},l),{},{children:s(p,{children:r})}))}))({position:"sticky",top:"-1px",zIndex:2,"& > div":{height:0,display:"flex",justifyContent:"right",padding:"0 6px"}}),S=h(d)({flex:"0 0 auto",marginTop:"1px",width:"40px",height:"40px"}),W=h(p)({backgroundColor:"#fff",width:"100%","& .ql-container":{fontFamily:'"Roboto", serif',fontSize:"14px"},"& .ql-toolbar":{position:"sticky",top:"-1px",backgroundColor:"#fff",zIndex:1}});export{b as default};
2
2
  //# sourceMappingURL=create.text-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.text-editor.js","sources":["../../src/form/create.text-editor.tsx"],"sourcesContent":["import React, { Component, createRef } from 'react'\r\nimport { Box, BoxProps, IconButton, styled, Tooltip, Typography } from '@mui/material'\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen'\r\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helpers'\r\nimport { TextEditor as TextEditorBase, textEditorClasses } from '../components'\r\n\r\nexport interface ITextEditorParams {\r\n id: string\r\n title: string\r\n}\r\n\r\nexport interface ITextEditorProps<T> extends IFormInputBase<T> {}\r\n\r\nexport interface ITextEditorState {\r\n isFullscreen: boolean\r\n}\r\n\r\nfunction CreateTextEditor<T>(params: ITextEditorParams) {\r\n class TextEditor extends Component<ITextEditorProps<T>, ITextEditorState> {\r\n contentRef\r\n constructor(props: ITextEditorProps<T>) {\r\n super(props)\r\n this.state = {\r\n isFullscreen: false\r\n }\r\n this.contentRef = createRef<HTMLDivElement | null>()\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n handleFullscreenChange = () => {\r\n this.setState({ isFullscreen: !!document.fullscreenElement })\r\n }\r\n\r\n handleFullscreenToggle = () => {\r\n if (this.contentRef.current) {\r\n if (!document.fullscreenElement) {\r\n this.contentRef.current.requestFullscreen().catch((err) => {\r\n console.error(`Error attempting to enable full-screen mode: ${err.message}`)\r\n })\r\n } else {\r\n document.exitFullscreen()\r\n }\r\n }\r\n }\r\n\r\n getWrapClasses = () => {\r\n const classes = []\r\n if (this.state.isFullscreen) classes.push(textEditorClasses.fullscreen)\r\n return classes.join(' ')\r\n }\r\n\r\n render() {\r\n const errorMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const dValue = (this.props.name ? this.props.data?.[this.props.name] : '')?.toString() ?? ''\r\n\r\n return (\r\n <Box id={params.id} ref={this.contentRef} sx={{ backgroundColor: '#fff' }}>\r\n {this.state.isFullscreen && (\r\n <WrapTitle>\r\n <Typography variant='h4' sx={{ fontWeight: 600, flex: 1, textAlign: 'center' }}>\r\n {params.title}\r\n </Typography>\r\n </WrapTitle>\r\n )}\r\n <Wrap className={this.getWrapClasses()}>\r\n <WrapActions>\r\n <Tooltip title={this.state.isFullscreen ? 'Exit Fullscreen' : 'Fullscreen'} arrow>\r\n <CustomButton sx={{ color: '#06c' }} onClick={this.handleFullscreenToggle}>\r\n {this.state.isFullscreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\r\n </CustomButton>\r\n </Tooltip>\r\n </WrapActions>\r\n <WrapTextEditor>\r\n <TextEditorBase\r\n defautValue={dValue}\r\n name={this.props.name?.toString() ?? ''}\r\n readOnly={this.props.disabled}\r\n error={errorMessage.error}\r\n onBlur={() => {\r\n if (!this.props.name) return\r\n this.props.onBlur?.(this.props.name)\r\n }}\r\n />\r\n </WrapTextEditor>\r\n </Wrap>\r\n </Box>\r\n )\r\n }\r\n }\r\n return TextEditor\r\n}\r\nexport default CreateTextEditor\r\n\r\nconst editorHeight = 64\r\n\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n maxWidth: theme.breakpoints.values.xl,\r\n margin: '0 auto',\r\n position: 'relative',\r\n [`&.${textEditorClasses.fullscreen} .${textEditorClasses.root}`]: {\r\n height: `calc(100vh - ${editorHeight + 10}px)`\r\n },\r\n [`&.${textEditorClasses.fullscreen}`]: {\r\n width: '871px'\r\n }\r\n}))\r\n\r\nconst WrapTitle = styled(Box)({\r\n height: `${editorHeight}px`,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n})\r\n\r\nconst WrapActions = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <Box>{children}</Box>\r\n </Box>\r\n))({\r\n position: 'sticky',\r\n top: '-1px',\r\n zIndex: 2,\r\n '& > div': {\r\n height: 0,\r\n display: 'flex',\r\n justifyContent: 'right',\r\n padding: '0 6px'\r\n }\r\n})\r\n\r\nconst CustomButton = styled(IconButton)({\r\n flex: '0 0 auto',\r\n marginTop: '1px',\r\n width: '40px',\r\n height: '40px'\r\n})\r\n\r\nconst WrapTextEditor = styled(Box)({\r\n backgroundColor: '#fff',\r\n width: '100%',\r\n '& .ql-container': {\r\n fontFamily: '\"Roboto\", serif',\r\n fontSize: '14px'\r\n },\r\n '& .ql-toolbar': {\r\n position: 'sticky',\r\n top: '-1px',\r\n backgroundColor: '#fff',\r\n zIndex: 1\r\n }\r\n})\r\n"],"names":["CreateTextEditor","params","TextEditor","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isFullscreen","document","fullscreenElement","contentRef","current","exitFullscreen","requestFullscreen","err","console","error","concat","message","classes","state","push","textEditorClasses","fullscreen","join","createRef","_inherits","Component","_createClass","key","value","addEventListener","this","handleFullscreenChange","removeEventListener","_toString","_ref","_this$props$data","_this$props$name$toSt","_this$props$name","_this2","errorMessage","getErrorMessage","messageErrors","name","dValue","data","toString","_jsxs","Box","id","ref","sx","backgroundColor","children","_jsx","WrapTitle","Typography","variant","fontWeight","flex","textAlign","title","Wrap","className","getWrapClasses","WrapActions","Tooltip","arrow","CustomButton","color","onClick","handleFullscreenToggle","FullscreenExitIcon","FullscreenIcon","WrapTextEditor","TextEditorBase","defautValue","readOnly","disabled","onBlur","_this2$props$onBlur","_this2$props","call","styled","_ref2","theme","maxWidth","breakpoints","values","xl","margin","position","root","height","editorHeight","width","display","justifyContent","alignItems","_ref4","_objectWithoutProperties","_excluded","_objectSpread","top","zIndex","padding","IconButton","marginTop","fontFamily","fontSize"],"mappings":"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"}
1
+ {"version":3,"file":"create.text-editor.js","sources":["../../src/form/create.text-editor.tsx"],"sourcesContent":["import React, { Component, createRef } from 'react'\r\nimport { Box, BoxProps, IconButton, styled, Tooltip, Typography } from '@mui/material'\r\nimport FullscreenIcon from '@mui/icons-material/Fullscreen'\r\nimport FullscreenExitIcon from '@mui/icons-material/FullscreenExit'\r\nimport { IFormInputBase } from './types'\r\nimport { getErrorMessage } from './helpers'\r\nimport { TextEditor as TextEditorBase, textEditorClasses } from '../components'\r\n\r\nexport interface ITextEditorParams {\r\n id: string\r\n title: string\r\n}\r\n\r\nexport interface ITextEditorProps<T> extends IFormInputBase<T> {}\r\n\r\nexport interface ITextEditorState {\r\n isFullscreen: boolean\r\n}\r\n\r\nfunction CreateTextEditor<T>(params: ITextEditorParams) {\r\n class TextEditor extends Component<ITextEditorProps<T>, ITextEditorState> {\r\n contentRef\r\n constructor(props: ITextEditorProps<T>) {\r\n super(props)\r\n this.state = {\r\n isFullscreen: false\r\n }\r\n this.contentRef = createRef<HTMLDivElement | null>()\r\n }\r\n\r\n componentDidMount() {\r\n document.addEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n componentWillUnmount() {\r\n document.removeEventListener('fullscreenchange', this.handleFullscreenChange)\r\n }\r\n\r\n handleFullscreenChange = () => {\r\n this.setState({ isFullscreen: !!document.fullscreenElement })\r\n }\r\n\r\n handleFullscreenToggle = () => {\r\n if (this.contentRef.current) {\r\n if (!document.fullscreenElement) {\r\n this.contentRef.current.requestFullscreen().catch((err) => {\r\n console.error(`Error attempting to enable full-screen mode: ${err.message}`)\r\n })\r\n } else {\r\n document.exitFullscreen()\r\n }\r\n }\r\n }\r\n\r\n getWrapClasses = () => {\r\n const classes = []\r\n if (this.state.isFullscreen) classes.push(textEditorClasses.fullscreen)\r\n return classes.join(' ')\r\n }\r\n\r\n render() {\r\n const errorMessage = getErrorMessage(this.props.messageErrors, this.props.name)\r\n const dValue = (this.props.name ? this.props.data?.[this.props.name] : '')?.toString() ?? ''\r\n\r\n return (\r\n <Box id={params.id} ref={this.contentRef} sx={{ backgroundColor: '#fff' }}>\r\n {this.state.isFullscreen && (\r\n <WrapTitle>\r\n <Typography variant='h4' sx={{ fontWeight: 600, flex: 1, textAlign: 'center' }}>\r\n {params.title}\r\n </Typography>\r\n </WrapTitle>\r\n )}\r\n <Wrap className={this.getWrapClasses()}>\r\n <WrapActions>\r\n <Tooltip title={this.state.isFullscreen ? 'Exit Fullscreen' : 'Fullscreen'} arrow>\r\n <CustomButton sx={{ color: '#06c' }} onClick={this.handleFullscreenToggle}>\r\n {this.state.isFullscreen ? <FullscreenExitIcon /> : <FullscreenIcon />}\r\n </CustomButton>\r\n </Tooltip>\r\n </WrapActions>\r\n <WrapTextEditor>\r\n <TextEditorBase\r\n defautValue={dValue}\r\n name={this.props.name?.toString() ?? ''}\r\n readOnly={this.props.disabled}\r\n error={errorMessage.error}\r\n onBlur={() => {\r\n if (!this.props.name) return\r\n this.props.onBlur?.(this.props.name)\r\n }}\r\n />\r\n </WrapTextEditor>\r\n </Wrap>\r\n </Box>\r\n )\r\n }\r\n }\r\n return TextEditor\r\n}\r\nexport default CreateTextEditor\r\n\r\nconst editorHeight = 64\r\n\r\nconst Wrap = styled(Box)(({ theme }) => ({\r\n maxWidth: theme.breakpoints.values.xl,\r\n margin: '0 auto',\r\n position: 'relative',\r\n [`&.${textEditorClasses.fullscreen} .${textEditorClasses.root}`]: {\r\n height: `calc(100vh - ${editorHeight + 10}px)`\r\n },\r\n [`&.${textEditorClasses.fullscreen}`]: {\r\n width: '871px'\r\n }\r\n}))\r\n\r\nconst WrapTitle = styled(Box)({\r\n height: `${editorHeight}px`,\r\n display: 'flex',\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n})\r\n\r\nconst WrapActions = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <Box>{children}</Box>\r\n </Box>\r\n))({\r\n position: 'sticky',\r\n top: '-1px',\r\n zIndex: 2,\r\n '& > div': {\r\n height: 0,\r\n display: 'flex',\r\n justifyContent: 'right',\r\n padding: '0 6px'\r\n }\r\n})\r\n\r\nconst CustomButton = styled(IconButton)({\r\n flex: '0 0 auto',\r\n marginTop: '1px',\r\n width: '40px',\r\n height: '40px'\r\n})\r\n\r\nconst WrapTextEditor = styled(Box)({\r\n backgroundColor: '#fff',\r\n width: '100%',\r\n '& .ql-container': {\r\n fontFamily: '\"Roboto\", serif',\r\n fontSize: '14px'\r\n },\r\n '& .ql-toolbar': {\r\n position: 'sticky',\r\n top: '-1px',\r\n backgroundColor: '#fff',\r\n zIndex: 1\r\n }\r\n})\r\n"],"names":["CreateTextEditor","params","TextEditor","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isFullscreen","document","fullscreenElement","contentRef","current","exitFullscreen","requestFullscreen","err","console","error","concat","message","classes","state","push","textEditorClasses","fullscreen","join","createRef","_inherits","Component","_createClass","key","value","addEventListener","this","handleFullscreenChange","removeEventListener","_toString","_ref","_this$props$data","_this$props$name$toSt","_this$props$name","_this2","errorMessage","getErrorMessage","messageErrors","name","dValue","data","toString","_jsxs","Box","id","ref","sx","backgroundColor","children","_jsx","WrapTitle","Typography","variant","fontWeight","flex","textAlign","title","Wrap","className","getWrapClasses","WrapActions","Tooltip","arrow","CustomButton","color","onClick","handleFullscreenToggle","FullscreenExitIcon","FullscreenIcon","WrapTextEditor","TextEditorBase","defautValue","readOnly","disabled","onBlur","_this2$props$onBlur","_this2$props","call","styled","_ref2","theme","maxWidth","breakpoints","values","xl","margin","position","root","height","editorHeight","width","display","justifyContent","alignItems","_ref4","_objectWithoutProperties","_excluded","_objectSpread","top","zIndex","padding","IconButton","marginTop","fontFamily","fontSize"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export{default as FormValidator,SingleRuleValidate,createFormValidator,mapRuleOptions}from"./validator.js";export{default as DinoForm}from"./dino-form.js";export{convertFormDataToJson,getErrorMessage,validateCsvModel}from"./helpers.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{cleanObject,decodeBase64,deepRemoveEmptyFields,encodeBase64,fetchDelay,formatCapitalizeFirstText,formatCurrency,formatDatetime,formatFileSize,formatNumberWithCommas,isGuid,isValidEmail,isValidPhoneNumber,isValidURL,mergeClasses,mergeObjects,sleep,tryParseArray,tryParseCsvFileToArray,tryParseIntRequired,tryParseObject,windowScrollToTop}from"./utils/helpers.js";import"./utils/dayjs-config.js";export{default as JObject}from"./utils/json-object.js";export{MFEventProvider,useMFEvent}from"./utils/mfe-events.js";export{QueryParam}from"./utils/query-param.js";export{default as ApiPopover,ApiPopoverContext,mapApiPopoverContext,withApiPopoverContext}from"./api-context/popover.js";export{AlertDialog,default as AlertGlobal,ApiAlertContext}from"./api-context/alert-global.js";export{default as DrawerGlobal}from"./api-context/drawer-global.js";export{default as GlobalModal,GlobalModalContext,mapGlobalModalContext,withApiGlobalModalConsumerContext,withApiGlobalModalContext}from"./api-context/global-modal.js";export{default as PopoverGlobal,PopoverGlobalApi,PopoverGlobalContext,PopoverGlobalProvider,mapPopoverGlobalContext,withPopoverGlobalContext}from"./api-context/popover-global.js";export{default as Breadcrumbs}from"./components/breadcrumbs.js";export{LoadingButton}from"./components/buttons.js";export{default as CopyToClipboard}from"./components/copy-to-clipboard.js";export{default as CreateMultiSelectDropdown}from"./components/create.multi-select-dropdown.js";export{default as ImageWithFallback}from"./components/image-with-fallback.js";export{default as HelpTooltip,HelpTooltipWrap}from"./components/help-tooltip.js";export{default as TextEditorPreview}from"./components/text-editor.preview.js";export{default as TextEditor,textEditorClasses}from"./components/text-editor.js";export{default as FormValidator,SingleRuleValidate,createFormValidator,mapRuleOptions}from"./form/validator.js";export{default as DinoForm}from"./form/dino-form.js";export{convertFormDataToJson,getErrorMessage,validateCsvModel}from"./form/helpers.js";export{useCheckScrolled,useDebounce}from"./hooks/index.js";export{ELazyStatus}from"./redux/types.js";export{default as DinoRedux}from"./redux/dino.js";export{default as CreateHocLazy,EmptyComponent,defaultOptionHocLazy}from"./redux/create.hoc-lazy.js";export{ELogic,EOperator,EOrder}from"./table/model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";export{default as CreateTable}from"./table/create.table.js";export{default as DinoTable}from"./table/dino.js";export{dinoTableClasses}from"./table/helpers.js";export{default as DinoTableGrid}from"./table-grid/dino.js";export{CreateTableGridItemActions}from"./table-grid/item-actions.js";export{EMenuValidate,ESearchMatch}from"./table-grid/filter-bar/types.js";export{EFieldMatch,EFieldValidate,EViewStatus}from"./data-view/types.js";export{EViewMode}from"./data-view/view-mode.types.js";export{createPaginationBar}from"./data-view/create.pagination-bar.js";export{FilterStore,createFilterStore}from"./data-view/filter-store.js";export{createKeyConverter,getKeyConverter}from"./data-view/key-converter.js";export{createConvertFilterToGraphQL}from"./data-view/convert-filter-to-graphql.js";export{createViewMode}from"./data-view/create.view-mode.js";export{DinoDataView}from"./data-view/dino.js";export{default as dayjsCustom}from"dayjs";
1
+ var o={name:"dinocollab-core",version:"2.0.0",usage:'Import from submodules for optimized bundle size. Example: import { ... } from "dinocollab-core/form"'};export{o as LIBRARY_INFO};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/// <reference path=\"./@types/global.d.ts\" />\r\n\r\n// No exports from root index\r\n// Users need to import directly from submodules\r\n// Examples: import { ... } from 'dinocollab-core/form'\r\n// import { ... } from 'dinocollab-core/table'\r\n\r\n// Only export a message to help users understand how to use the library\r\nexport const LIBRARY_INFO = {\r\n name: 'dinocollab-core',\r\n version: '2.0.0',\r\n usage: 'Import from submodules for optimized bundle size. Example: import { ... } from \"dinocollab-core/form\"'\r\n}\r\n"],"names":["LIBRARY_INFO","name","version","usage"],"mappings":"AAQO,IAAMA,EAAe,CAC1BC,KAAM,kBACNC,QAAS,QACTC,MAAO"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as t,objectSpread2 as e,classCallCheck as o,callSuper as n,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,Fragment as s}from"react/jsx-runtime";import{Component as u}from"react";import{ELazyStatus as l}from"./types.js";import c from"./ui.error-page.js";var p=function(r){var t=r.children;return i(s,{children:t})},d={LazySpinner:p},f=function(s,p){return function(){function f(r){var t;return o(this,f),t=n(this,f,[r]),a(t,"initialParam",(function(){var r,e,o,n=null!==(r=null==p?void 0:p.param)&&void 0!==r?r:{},a=null!==(e=null===(o=t.props)||void 0===o?void 0:o.param)&&void 0!==e?e:{};return Object.assign({},n,a)})),a(t,"componentDidMount",(function(){if(t.props.fetchData){var r,e=t.initialParam();null===(r=t.tokenSources)||void 0===r||r.abort(),t.tokenSources=new AbortController,t.fetchSource=t.props.fetchData(e,t.tokenSources.signal)}})),t.optionsMerge=Object.assign({},d,p),t}return r(f,u),t(f,[{key:"render",value:function(){var r=this.optionsMerge;switch(this.props.status){case l.Loading:case l.Loaded:return i(r.LazySpinner,{loading:this.props.status===l.Loading,children:i(s,e({},this.props))});case l.Error:var t=r.ErrorScreen||c;return i(t,{});default:return i("div",{})}}},{key:"componentWillUnmount",value:function(){var r,t;null===(r=this.tokenSources)||void 0===r||r.abort(),(null===(t=this.fetchSource)||void 0===t?void 0:t.abort)&&this.fetchSource.abort()}}])}()};export{p as EmptyComponent,f as default,d as defaultOptionHocLazy};
1
+ import{inherits as r,createClass as t,classCallCheck as e,callSuper as o,defineProperty as n,objectSpread2 as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,Fragment as s}from"react/jsx-runtime";import{Component as u}from"react";import{ELazyStatus as l}from"./types.js";import c from"./ui.error-page.js";var p=function(r){var t=r.children;return i(s,{children:t})},d={LazySpinner:p},f=function(s,p){return function(){function f(r){var t;return e(this,f),t=o(this,f,[r]),n(t,"initialParam",(function(){var r,e,o,n=null!==(r=null==p?void 0:p.param)&&void 0!==r?r:{},a=null!==(e=null===(o=t.props)||void 0===o?void 0:o.param)&&void 0!==e?e:{};return Object.assign({},n,a)})),n(t,"componentDidMount",(function(){if(t.props.fetchData){var r,e=t.initialParam();null===(r=t.tokenSources)||void 0===r||r.abort(),t.tokenSources=new AbortController,t.fetchSource=t.props.fetchData(e,t.tokenSources.signal)}})),t.optionsMerge=Object.assign({},d,p),t}return r(f,u),t(f,[{key:"render",value:function(){var r=this.optionsMerge;switch(this.props.status){case l.Loading:case l.Loaded:return i(r.LazySpinner,{loading:this.props.status===l.Loading,children:i(s,a({},this.props))});case l.Error:var t=r.ErrorScreen||c;return i(t,{});default:return i("div",{})}}},{key:"componentWillUnmount",value:function(){var r,t;null===(r=this.tokenSources)||void 0===r||r.abort(),(null===(t=this.fetchSource)||void 0===t?void 0:t.abort)&&this.fetchSource.abort()}}])}()};export{p as EmptyComponent,f as default,d as defaultOptionHocLazy};
2
2
  //# sourceMappingURL=create.hoc-lazy.js.map
@@ -0,0 +1,2 @@
1
+ export{ELazyStatus}from"./types.js";export{default as DinoRedux}from"./dino.js";export{default as CreateHocLazy,EmptyComponent,defaultOptionHocLazy}from"./create.hoc-lazy.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{objectWithoutProperties as t,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as i,Box as n,Button as a,Stack as l,Typography as c}from"@mui/material";import m from"@mui/icons-material/ArrowRightAlt";import s from"../assets/vector-404.webp.js";var p=["children"],d=function(){return e(l,{sx:{alignItems:"center",paddingBottom:"64px"},children:[r(u,{children:r("img",{src:s,alt:"error-404-vector"})}),r(c,{variant:"subtitle1",component:"p",sx:{textAlign:"center",mt:"20px"},children:"Sorry, page not found or connection to server lost. Please come back later...."}),r(h,{href:"/",children:"Back to home page"})]})},u=i((function(e){var i=e.children,a=t(e,p);return r(n,o(o({},a),{},{children:r("div",{children:i})}))}))({width:"100%",maxWidth:"560px",flex:"0 0 auto","& > div":{width:"100%",paddingBottom:"100%",position:"relative"},"& img":{position:"absolute",top:0,left:0,width:"100%",height:"100%"}}),h=i((function(t){return r(a,o({component:"a",color:"inherit",variant:"contained",size:"large",endIcon:r(m,{fontSize:"small"})},t))}))({backgroundColor:"var(--color-black)",color:"var(--color-text-light)",minWidth:"250px",marginTop:"24px",height:"56px",textTransform:"none",fontWeight:600,transition:"0.3s","&:hover":{backgroundColor:"var(--color-black2)",color:"var(--color-text-light)"},"& .MuiButton-icon.MuiButton-endIcon":{transition:"0.3s"},"&:hover .MuiButton-icon.MuiButton-endIcon":{marginLeft:"16px"}});export{d as default};
1
+ import{objectWithoutProperties as t,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as i,Box as n,Button as a,Stack as l,Typography as c}from"@mui/material";import m from"@mui/icons-material/ArrowRightAlt";var d=["children"],p=function(){return e(l,{sx:{alignItems:"center",paddingBottom:"64px"},children:[r(u,{children:r("img",{src:"images/vector-404.webp",alt:"error-404-vector"})}),r(c,{variant:"subtitle1",component:"p",sx:{textAlign:"center",mt:"20px"},children:"Sorry, page not found or connection to server lost. Please come back later...."}),r(h,{href:"/",children:"Back to home page"})]})},u=i((function(e){var i=e.children,a=t(e,d);return r(n,o(o({},a),{},{children:r("div",{children:i})}))}))({width:"100%",maxWidth:"560px",flex:"0 0 auto","& > div":{width:"100%",paddingBottom:"100%",position:"relative"},"& img":{position:"absolute",top:0,left:0,width:"100%",height:"100%"}}),h=i((function(t){return r(a,o({component:"a",color:"inherit",variant:"contained",size:"large",endIcon:r(m,{fontSize:"small"})},t))}))({backgroundColor:"var(--color-black)",color:"var(--color-text-light)",minWidth:"250px",marginTop:"24px",height:"56px",textTransform:"none",fontWeight:600,transition:"0.3s","&:hover":{backgroundColor:"var(--color-black2)",color:"var(--color-text-light)"},"& .MuiButton-icon.MuiButton-endIcon":{transition:"0.3s"},"&:hover .MuiButton-icon.MuiButton-endIcon":{marginLeft:"16px"}});export{p as default};
2
2
  //# sourceMappingURL=ui.error-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.error-page.js","sources":["../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\nimport error404 from '../assets/vector-404.webp'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center', paddingBottom: '64px' }}>\r\n <WrapImage>\r\n <img src={error404} alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","_jsxs","Stack","sx","alignItems","paddingBottom","children","_jsx","WrapImage","src","error404","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_ref","props","_objectWithoutProperties","_excluded","Box","_objectSpread","width","maxWidth","flex","position","top","left","height","p","Button","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"+VAKMA,EAAkB,WAAP,OACfC,EAACC,EAAK,CAACC,GAAI,CAAEC,WAAY,SAAUC,cAAe,QAChDC,SAAA,CAAAC,EAACC,EACC,CAAAF,SAAAC,EAAA,MAAA,CAAKE,IAAKC,EAAUC,IAAI,uBAE1BJ,EAACK,EAAU,CAACC,QAAQ,YAAYC,UAAU,IAAIX,GAAI,CAAEY,UAAW,SAAUC,GAAI,QAAQV,SAAA,mFAGrFC,EAACU,EAAa,CAAAC,KAAK,IAAoCZ,SAAA,wBACjD,EAIJE,EAAYW,GAAO,SAAAC,GAAA,IAAGd,EAAQc,EAARd,SAAae,EAAKC,EAAAF,EAAAG,GAAA,OAC5ChB,EAACiB,EAAGC,EAAAA,KAAKJ,GAAK,GAAA,CAAAf,SACZC,EAAM,MAAA,CAAAD,SAAAA,MACF,GAHUa,CAIf,CACDO,MAAO,OACPC,SAAU,QACVC,KAAM,WACN,UAAW,CACTF,MAAO,OACPrB,cAAe,OACfwB,SAAU,YAEZ,QAAS,CACPA,SAAU,WACVC,IAAK,EACLC,KAAM,EACNL,MAAO,OACPM,OAAQ,UAINf,EAAeE,GAAO,SAACc,GAC3B,OAAO1B,EAAC2B,EAAMT,EAAA,CAACX,UAAU,IAAIqB,MAAM,UAAUtB,QAAQ,YAAYuB,KAAK,QAAQC,QAAS9B,EAAC+B,EAAiB,CAACC,SAAS,WAAgBN,GACrI,GAFqBd,CAElB,CACDqB,gBAAiB,qBACjBL,MAAO,0BACPM,SAAU,QACVC,UAAW,OACXV,OAAQ,OACRW,cAAe,OACfC,WAAY,IACZC,WAAY,OACZ,UAAW,CACTL,gBAAiB,sBACjBL,MAAO,2BAET,sCAAuC,CACrCU,WAAY,QAEd,4CAA6C,CAC3CC,WAAY"}
1
+ {"version":3,"file":"ui.error-page.js","sources":["../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center', paddingBottom: '64px' }}>\r\n <WrapImage>\r\n <img src='images/vector-404.webp' alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","_jsxs","Stack","sx","alignItems","paddingBottom","children","_jsx","WrapImage","src","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_ref","props","_objectWithoutProperties","_excluded","Box","_objectSpread","width","maxWidth","flex","position","top","left","height","p","Button","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"mTAIMA,EAAkB,WAAP,OACfC,EAACC,EAAK,CAACC,GAAI,CAAEC,WAAY,SAAUC,cAAe,QAChDC,SAAA,CAAAC,EAACC,EACC,CAAAF,SAAAC,EAAA,MAAA,CAAKE,IAAI,yBAAyBC,IAAI,uBAExCH,EAACI,EAAU,CAACC,QAAQ,YAAYC,UAAU,IAAIV,GAAI,CAAEW,UAAW,SAAUC,GAAI,QAAQT,SAAA,mFAGrFC,EAACS,EAAa,CAAAC,KAAK,IAAoCX,SAAA,wBACjD,EAIJE,EAAYU,GAAO,SAAAC,GAAA,IAAGb,EAAQa,EAARb,SAAac,EAAKC,EAAAF,EAAAG,GAAA,OAC5Cf,EAACgB,EAAGC,EAAAA,KAAKJ,GAAK,GAAA,CAAAd,SACZC,EAAM,MAAA,CAAAD,SAAAA,MACF,GAHUY,CAIf,CACDO,MAAO,OACPC,SAAU,QACVC,KAAM,WACN,UAAW,CACTF,MAAO,OACPpB,cAAe,OACfuB,SAAU,YAEZ,QAAS,CACPA,SAAU,WACVC,IAAK,EACLC,KAAM,EACNL,MAAO,OACPM,OAAQ,UAINf,EAAeE,GAAO,SAACc,GAC3B,OAAOzB,EAAC0B,EAAMT,EAAA,CAACX,UAAU,IAAIqB,MAAM,UAAUtB,QAAQ,YAAYuB,KAAK,QAAQC,QAAS7B,EAAC8B,EAAiB,CAACC,SAAS,WAAgBN,GACrI,GAFqBd,CAElB,CACDqB,gBAAiB,qBACjBL,MAAO,0BACPM,SAAU,QACVC,UAAW,OACXV,OAAQ,OACRW,cAAe,OACfC,WAAY,IACZC,WAAY,OACZ,UAAW,CACTL,gBAAiB,sBACjBL,MAAO,2BAET,sCAAuC,CACrCU,WAAY,QAEd,4CAA6C,CAC3CC,WAAY"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i,regenerator as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a}from"react/jsx-runtime";import s,{Component as u}from"react";import{Box as c,Tooltip as p,IconButton as d}from"@mui/material";import f from"@mui/icons-material/Edit";import m from"@mui/icons-material/Delete";import{mergeObjects as v}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{MapTableBaseContext as g}from"./context.js";function h(h){var b=function(){function b(){var r;n(this,b);for(var e=arguments.length,u=new Array(e),c=0;c<e;c++)u[c]=arguments[c];return r=o(this,b,[].concat(u)),i(r,"getButtons",l().m((function r(e,n,o){var i,u,c,v,g,b,y,j,k,C,x,w,D,E;return l().w((function(r){for(;;)switch(r.n){case 0:if(!(k=null!==(i=null===(u=e.props)||void 0===u?void 0:u.before)&&void 0!==i?i:null==n?void 0:n.before)){r.n=1;break}return r.n=1,a(s.Fragment,{children:k(e.props.value,o)},"Before");case 1:if(C=null!==(c=null===(v=e.props)||void 0===v?void 0:v.formEdit)&&void 0!==c?c:null==n?void 0:n.formEdit,x=C?C(e.props.value,o):void 0,!C||!x){r.n=2;break}return r.n=2,a(p,{title:"Edit",arrow:!0,children:a(d,{color:"primary",onClick:function(){null==o||o.showModal(t({renderContent:function(){return x||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonEditConfig))},children:a(f,{fontSize:"small"})})},"Edit");case 2:if(w=null!==(g=null===(b=e.props)||void 0===b?void 0:b.formDelete)&&void 0!==g?g:null==n?void 0:n.formDelete,D=w?w(e.props.value,o):void 0,!w||!D){r.n=3;break}return r.n=3,a(p,{title:"Delete",arrow:!0,children:a(d,{color:"error",onClick:function(){null==o||o.showModal(t({renderContent:function(){return D||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonDeleteConfig))},children:a(m,{fontSize:"small"})})},"Delete");case 3:if(!(E=null!==(y=null===(j=e.props)||void 0===j?void 0:j.after)&&void 0!==y?y:null==n?void 0:n.after)){r.n=4;break}return r.n=4,a(s.Fragment,{children:E(e.props.value,o)},"After");case 4:return r.a(2)}}),r)}))),r}return r(b,u),e(b,[{key:"propsMerge",get:function(){return v(h,this.props)}},{key:"render",value:function(){var r=this;return g((function(e){return a(c,t(t({sx:{display:"flex",alignItems:"center",height:"100%"}},r.propsMerge.wrapProps),{},{children:Array.from(r.getButtons(r,r.propsMerge,e))}))}))}}])}();return b}export{h as default};
1
+ import{inherits as r,createClass as e,classCallCheck as t,callSuper as n,defineProperty as o,regenerator as i,objectSpread2 as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a}from"react/jsx-runtime";import s,{Component as u}from"react";import{Tooltip as c,IconButton as p,Box as d}from"@mui/material";import f from"@mui/icons-material/Edit";import m from"@mui/icons-material/Delete";import{mergeObjects as v}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{MapTableBaseContext as g}from"./context.js";function h(h){var b=function(){function b(){var r;t(this,b);for(var e=arguments.length,u=new Array(e),d=0;d<e;d++)u[d]=arguments[d];return r=n(this,b,[].concat(u)),o(r,"getButtons",i().m((function r(e,t,n){var o,u,d,v,g,b,y,j,k,C,x,w,D,E;return i().w((function(r){for(;;)switch(r.n){case 0:if(!(k=null!==(o=null===(u=e.props)||void 0===u?void 0:u.before)&&void 0!==o?o:null==t?void 0:t.before)){r.n=1;break}return r.n=1,a(s.Fragment,{children:k(e.props.value,n)},"Before");case 1:if(C=null!==(d=null===(v=e.props)||void 0===v?void 0:v.formEdit)&&void 0!==d?d:null==t?void 0:t.formEdit,x=C?C(e.props.value,n):void 0,!C||!x){r.n=2;break}return r.n=2,a(c,{title:"Edit",arrow:!0,children:a(p,{color:"primary",onClick:function(){null==n||n.showModal(l({renderContent:function(){return x||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonEditConfig))},children:a(f,{fontSize:"small"})})},"Edit");case 2:if(w=null!==(g=null===(b=e.props)||void 0===b?void 0:b.formDelete)&&void 0!==g?g:null==t?void 0:t.formDelete,D=w?w(e.props.value,n):void 0,!w||!D){r.n=3;break}return r.n=3,a(c,{title:"Delete",arrow:!0,children:a(p,{color:"error",onClick:function(){null==n||n.showModal(l({renderContent:function(){return D||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonDeleteConfig))},children:a(m,{fontSize:"small"})})},"Delete");case 3:if(!(E=null!==(y=null===(j=e.props)||void 0===j?void 0:j.after)&&void 0!==y?y:null==t?void 0:t.after)){r.n=4;break}return r.n=4,a(s.Fragment,{children:E(e.props.value,n)},"After");case 4:return r.a(2)}}),r)}))),r}return r(b,u),e(b,[{key:"propsMerge",get:function(){return v(h,this.props)}},{key:"render",value:function(){var r=this;return g((function(e){return a(d,l(l({sx:{display:"flex",alignItems:"center",height:"100%"}},r.propsMerge.wrapProps),{},{children:Array.from(r.getButtons(r,r.propsMerge,e))}))}))}}])}();return b}export{h as default};
2
2
  //# sourceMappingURL=create.action-row.js.map
@@ -1,2 +1,2 @@
1
- import{createClass as t,classCallCheck as r,defineProperty as e,objectSpread2 as o,objectWithoutProperties as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";import a from"dayjs";import"../utils/dayjs-config.js";import"react";import"react-router-dom";import"../utils/query-param.js";import{MapTableBaseContext as u}from"./context.js";import{BtnFormDetail as l,BtnDetail as s}from"./ui.buttons.js";import{CreateStatusCell as m,CellChips as c,CellBase as p,CellImageSmall as f,CellDate as v}from"./ui.units.js";import d from"../components/breadcrumbs.js";import"../components/buttons.js";import"@mui/material";import"clipboard-copy";import"@mui/icons-material/Done";import"@mui/icons-material/ContentCopy";import"../components/create.multi-select-dropdown.js";import"../components/help-tooltip.js";import"../components/text-editor.js";import h from"./toolbar-pannel.js";import j from"./helpers.js";import b from"./create.table.js";import g from"./create.action-row.js";var C=["imageUrl","valueFormatter"],y=["formatString"],S="MM/DD/YYYY HH:mm",D=new(t((function t(){var D=this;r(this,t),e(this,"createTable",b),e(this,"createActionRow",g),e(this,"setUrlQuery",j.setUrlQuery),e(this,"getUrlQuery",j.getUrlQuery),e(this,"mapContext",u),e(this,"ToolbarPannel",h),e(this,"createToolbar",(function(t){return function(r){return n(h,o({},o(o({},r),t)))}})),e(this,"BtnFormDetail",l),e(this,"BtnDetail",s),e(this,"createBreadcrumbConfigs",(function(t){return t})),e(this,"createBreadcrumbs",(function(t){return function(){return n(d,{value:t})}})),e(this,"createStatusCell",m),e(this,"formatterDate",(function(t,r){var e,o,i=null!==(e=null==r?void 0:r.formatString)&&void 0!==e?e:S,n=null!==(o=null==r?void 0:r.showRelative)&&void 0!==o&&o;try{if(!t)return"";var u=a(t),l=u.format(i);return n?"".concat(l," (").concat(a().to(u),")"):l}catch(t){return""}})),e(this,"valueFormatterDate",(function(t){return function(r){return D.formatterDate(r.value,t)}})),e(this,"renderCellChips",(function(t){return function(r){var e;return n(c,o(o({},t),{},{value:null!==(e=r.value)&&void 0!==e?e:null==t?void 0:t.value}))}})),e(this,"renderCellStatus",(function(t,r){var e=m(t,o({sx:{minWidth:"90px"}},r));return function(t){return n(e,{value:t.value})}})),e(this,"renderCellBase",(function(t){return function(r){var e=null!=t?t:{},a=e.imageUrl,u=e.valueFormatter,l=i(e,C),s=u?u(r.value,r.row):void 0,m=a?a(r.value,r.row):void 0;return n(p,o(o({value:r.value,valueFormatted:s},l),{},{imageUrl:m}))}})),e(this,"renderCellImage",(function(t,r){return function(e){var o;return n(f,{value:e.value,imageUri:null===(o=t(e.row))||void 0===o?void 0:o.toString(),fallbackSrc:null==r?void 0:r.fallbackSrc})}})),e(this,"renderCellDate",(function(t){return function(r){var e=null!=t?t:{},a=e.formatString,u=i(e,y);return n(v,o(o({},u),{},{value:r.value,formatString:null!=a?a:S}))}}))})));export{D as default};
1
+ import{createClass as r,classCallCheck as t,defineProperty as e,objectSpread2 as a,objectWithoutProperties as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o}from"react/jsx-runtime";import i from"dayjs";import"../utils/dayjs-config.js";import"react";import"react-router-dom";import"../utils/query-param.js";import{MapTableBaseContext as u}from"./context.js";import{BtnFormDetail as l,BtnDetail as s}from"./ui.buttons.js";import{CreateStatusCell as m,CellChips as c,CellBase as f,CellImageSmall as v,CellDate as h}from"./ui.units.js";import p from"./toolbar-pannel.js";import d from"./helpers.js";import j from"./create.table.js";import b from"./create.action-row.js";import g from"../components/breadcrumbs.js";var C=["imageUrl","valueFormatter"],S=["formatString"],y="MM/DD/YYYY HH:mm",D=new(r((function r(){var D=this;t(this,r),e(this,"createTable",j),e(this,"createActionRow",b),e(this,"setUrlQuery",d.setUrlQuery),e(this,"getUrlQuery",d.getUrlQuery),e(this,"mapContext",u),e(this,"ToolbarPannel",p),e(this,"createToolbar",(function(r){return function(t){return o(p,a({},a(a({},t),r)))}})),e(this,"BtnFormDetail",l),e(this,"BtnDetail",s),e(this,"createBreadcrumbConfigs",(function(r){return r})),e(this,"createBreadcrumbs",(function(r){return function(){return o(g,{value:r})}})),e(this,"createStatusCell",m),e(this,"formatterDate",(function(r,t){var e,a,n=null!==(e=null==t?void 0:t.formatString)&&void 0!==e?e:y,o=null!==(a=null==t?void 0:t.showRelative)&&void 0!==a&&a;try{if(!r)return"";var u=i(r),l=u.format(n);return o?"".concat(l," (").concat(i().to(u),")"):l}catch(r){return""}})),e(this,"valueFormatterDate",(function(r){return function(t){return D.formatterDate(t.value,r)}})),e(this,"renderCellChips",(function(r){return function(t){var e;return o(c,a(a({},r),{},{value:null!==(e=t.value)&&void 0!==e?e:null==r?void 0:r.value}))}})),e(this,"renderCellStatus",(function(r,t){var e=m(r,a({sx:{minWidth:"90px"}},t));return function(r){return o(e,{value:r.value})}})),e(this,"renderCellBase",(function(r){return function(t){var e=null!=r?r:{},i=e.imageUrl,u=e.valueFormatter,l=n(e,C),s=u?u(t.value,t.row):void 0,m=i?i(t.value,t.row):void 0;return o(f,a(a({value:t.value,valueFormatted:s},l),{},{imageUrl:m}))}})),e(this,"renderCellImage",(function(r,t){return function(e){var a;return o(v,{value:e.value,imageUri:null===(a=r(e.row))||void 0===a?void 0:a.toString(),fallbackSrc:null==t?void 0:t.fallbackSrc})}})),e(this,"renderCellDate",(function(r){return function(t){var e=null!=r?r:{},i=e.formatString,u=n(e,S);return o(h,a(a({},u),{},{value:t.value,formatString:null!=i?i:y}))}}))})));export{D as default};
2
2
  //# sourceMappingURL=dino.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dino.js","sources":["../../src/table/dino.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { GridRenderCellParams, GridTreeNodeWithRender, GridValueFormatterParams } from '@mui/x-data-grid'\r\nimport { dayjsCustom } from '../utils'\r\nimport { MapTableBaseContext } from './context'\r\nimport { BtnDetail, BtnFormDetail } from './ui.buttons'\r\nimport { CellBase, CellImageSmall, CellBaseOptions, CellChips, CellChipsProps, CellDate, CellDatePropsOwner } from './ui.units'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\nimport { CreateStatusCell, IStatusCellOptions, IStatusCellConfig } from './ui.units'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\nimport TableHelper from './helpers'\r\nimport CreateTable from './create.table'\r\nimport CreateActionRow from './create.action-row'\r\n\r\nconst formatDateString = 'MM/DD/YYYY HH:mm'\r\n\r\ntype RenderCellBaseParams<T> = Omit<CellBaseOptions, 'imageUrl'> & {\r\n imageUrl?: (value: any, model: T) => string\r\n valueFormatter?: (value: any, model: T) => string\r\n}\r\n\r\ninterface FormatterDateOptions {\r\n formatString?: string\r\n showRelative?: boolean\r\n}\r\n\r\nclass DinoTableBase {\r\n //#region Base\r\n\r\n createTable = CreateTable\r\n\r\n createActionRow = CreateActionRow\r\n\r\n setUrlQuery = TableHelper.setUrlQuery\r\n\r\n getUrlQuery = TableHelper.getUrlQuery\r\n\r\n mapContext = MapTableBaseContext\r\n\r\n ToolbarPannel = ToolbarPannel\r\n\r\n createToolbar = (props: IToolbarPannelProps): FC<IToolbarPannelProps> => {\r\n return (p) => <ToolbarPannel {...{ ...p, ...props }} />\r\n }\r\n\r\n BtnFormDetail = BtnFormDetail\r\n\r\n BtnDetail = BtnDetail\r\n\r\n createBreadcrumbConfigs = (value: IBreadcrumbConfig[]) => value\r\n\r\n createBreadcrumbs = (value: IBreadcrumbConfig[]): FC => {\r\n return () => <Breadcrumbs value={value} />\r\n }\r\n\r\n createStatusCell = CreateStatusCell\r\n //#endregion\r\n\r\n //#region Value Formatter\r\n formatterDate = (value: any, options?: FormatterDateOptions): string => {\r\n const f = options?.formatString ?? formatDateString\r\n const showRelative = options?.showRelative ?? false\r\n try {\r\n if (!value) return ''\r\n\r\n const date = dayjsCustom(value)\r\n const formatted = date.format(f)\r\n\r\n return showRelative ? `${formatted} (${dayjsCustom().to(date)})` : formatted\r\n } catch (error) {\r\n return ''\r\n }\r\n }\r\n\r\n valueFormatterDate = (options?: FormatterDateOptions) => {\r\n return (params: GridValueFormatterParams<any>) => this.formatterDate(params.value, options)\r\n }\r\n //#endregion\r\n\r\n //#region Render Cell\r\n renderCellChips = (params?: CellChipsProps) => {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellChips {...params} value={tableRow.value ?? params?.value} />\r\n }\r\n }\r\n\r\n renderCellStatus = function <E extends string>(config: IStatusCellConfig<E>, options?: IStatusCellOptions) {\r\n const StatusCellInstance = CreateStatusCell(config, { sx: { minWidth: '90px' }, ...options })\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <StatusCellInstance value={tableRow.value} />\r\n }\r\n }\r\n\r\n renderCellBase = function <T = any>(options?: RenderCellBaseParams<T>) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { imageUrl, valueFormatter, ...p } = options ?? {}\r\n const value = valueFormatter ? valueFormatter(tableRow.value, tableRow.row) : undefined\r\n const img = imageUrl ? imageUrl(tableRow.value, tableRow.row) : undefined\r\n return <CellBase value={tableRow.value} valueFormatted={value} {...p} imageUrl={img} />\r\n }\r\n }\r\n\r\n renderCellImage = function <T>(selectImage: (value: T) => T[keyof T], options?: { fallbackSrc?: string }) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellImageSmall value={tableRow.value} imageUri={selectImage(tableRow.row)?.toString()} fallbackSrc={options?.fallbackSrc} />\r\n }\r\n }\r\n\r\n renderCellDate = function (params?: CellDatePropsOwner) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { formatString, ...props } = params ?? {}\r\n return <CellDate {...props} value={tableRow.value} formatString={formatString ?? formatDateString} />\r\n }\r\n }\r\n //#endregion\r\n}\r\n\r\nconst DinoTable = new DinoTableBase()\r\n\r\nexport default DinoTable\r\n"],"names":["formatDateString","DinoTable","_createClass","DinoTableBase","_this","this","_classCallCheck","_defineProperty","CreateTable","CreateActionRow","TableHelper","setUrlQuery","getUrlQuery","MapTableBaseContext","ToolbarPannel","props","p","_jsx","_objectSpread","BtnFormDetail","BtnDetail","value","Breadcrumbs","CreateStatusCell","options","_options$formatString","_options$showRelative","f","formatString","showRelative","date","dayjsCustom","formatted","format","concat","to","error","params","formatterDate","tableRow","_tableRow$value","CellChips","config","StatusCellInstance","sx","minWidth","_ref","imageUrl","valueFormatter","_objectWithoutProperties","_excluded","row","undefined","img","CellBase","valueFormatted","selectImage","_selectImage","CellImageSmall","imageUri","toString","fallbackSrc","_ref2","_excluded2","CellDate"],"mappings":"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"}
1
+ {"version":3,"file":"dino.js","sources":["../../src/table/dino.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { GridRenderCellParams, GridTreeNodeWithRender, GridValueFormatterParams } from '@mui/x-data-grid'\r\nimport { dayjsCustom } from '../utils'\r\nimport { MapTableBaseContext } from './context'\r\nimport { BtnDetail, BtnFormDetail } from './ui.buttons'\r\nimport { CellBase, CellImageSmall, CellBaseOptions, CellChips, CellChipsProps, CellDate, CellDatePropsOwner } from './ui.units'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\nimport { CreateStatusCell, IStatusCellOptions, IStatusCellConfig } from './ui.units'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\nimport TableHelper from './helpers'\r\nimport CreateTable from './create.table'\r\nimport CreateActionRow from './create.action-row'\r\n\r\nconst formatDateString = 'MM/DD/YYYY HH:mm'\r\n\r\ntype RenderCellBaseParams<T> = Omit<CellBaseOptions, 'imageUrl'> & {\r\n imageUrl?: (value: any, model: T) => string\r\n valueFormatter?: (value: any, model: T) => string\r\n}\r\n\r\ninterface FormatterDateOptions {\r\n formatString?: string\r\n showRelative?: boolean\r\n}\r\n\r\nclass DinoTableBase {\r\n //#region Base\r\n\r\n createTable = CreateTable\r\n\r\n createActionRow = CreateActionRow\r\n\r\n setUrlQuery = TableHelper.setUrlQuery\r\n\r\n getUrlQuery = TableHelper.getUrlQuery\r\n\r\n mapContext = MapTableBaseContext\r\n\r\n ToolbarPannel = ToolbarPannel\r\n\r\n createToolbar = (props: IToolbarPannelProps): FC<IToolbarPannelProps> => {\r\n return (p) => <ToolbarPannel {...{ ...p, ...props }} />\r\n }\r\n\r\n BtnFormDetail = BtnFormDetail\r\n\r\n BtnDetail = BtnDetail\r\n\r\n createBreadcrumbConfigs = (value: IBreadcrumbConfig[]) => value\r\n\r\n createBreadcrumbs = (value: IBreadcrumbConfig[]): FC => {\r\n return () => <Breadcrumbs value={value} />\r\n }\r\n\r\n createStatusCell = CreateStatusCell\r\n //#endregion\r\n\r\n //#region Value Formatter\r\n formatterDate = (value: any, options?: FormatterDateOptions): string => {\r\n const f = options?.formatString ?? formatDateString\r\n const showRelative = options?.showRelative ?? false\r\n try {\r\n if (!value) return ''\r\n\r\n const date = dayjsCustom(value)\r\n const formatted = date.format(f)\r\n\r\n return showRelative ? `${formatted} (${dayjsCustom().to(date)})` : formatted\r\n } catch (error) {\r\n return ''\r\n }\r\n }\r\n\r\n valueFormatterDate = (options?: FormatterDateOptions) => {\r\n return (params: GridValueFormatterParams<any>) => this.formatterDate(params.value, options)\r\n }\r\n //#endregion\r\n\r\n //#region Render Cell\r\n renderCellChips = (params?: CellChipsProps) => {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellChips {...params} value={tableRow.value ?? params?.value} />\r\n }\r\n }\r\n\r\n renderCellStatus = function <E extends string>(config: IStatusCellConfig<E>, options?: IStatusCellOptions) {\r\n const StatusCellInstance = CreateStatusCell(config, { sx: { minWidth: '90px' }, ...options })\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <StatusCellInstance value={tableRow.value} />\r\n }\r\n }\r\n\r\n renderCellBase = function <T = any>(options?: RenderCellBaseParams<T>) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { imageUrl, valueFormatter, ...p } = options ?? {}\r\n const value = valueFormatter ? valueFormatter(tableRow.value, tableRow.row) : undefined\r\n const img = imageUrl ? imageUrl(tableRow.value, tableRow.row) : undefined\r\n return <CellBase value={tableRow.value} valueFormatted={value} {...p} imageUrl={img} />\r\n }\r\n }\r\n\r\n renderCellImage = function <T>(selectImage: (value: T) => T[keyof T], options?: { fallbackSrc?: string }) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellImageSmall value={tableRow.value} imageUri={selectImage(tableRow.row)?.toString()} fallbackSrc={options?.fallbackSrc} />\r\n }\r\n }\r\n\r\n renderCellDate = function (params?: CellDatePropsOwner) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { formatString, ...props } = params ?? {}\r\n return <CellDate {...props} value={tableRow.value} formatString={formatString ?? formatDateString} />\r\n }\r\n }\r\n //#endregion\r\n}\r\n\r\nconst DinoTable = new DinoTableBase()\r\n\r\nexport default DinoTable\r\n"],"names":["formatDateString","DinoTable","_createClass","DinoTableBase","_this","this","_classCallCheck","_defineProperty","CreateTable","CreateActionRow","TableHelper","setUrlQuery","getUrlQuery","MapTableBaseContext","ToolbarPannel","props","p","_jsx","_objectSpread","BtnFormDetail","BtnDetail","value","Breadcrumbs","CreateStatusCell","options","_options$formatString","_options$showRelative","f","formatString","showRelative","date","dayjsCustom","formatted","format","concat","to","error","params","formatterDate","tableRow","_tableRow$value","CellChips","config","StatusCellInstance","sx","minWidth","_ref","imageUrl","valueFormatter","_objectWithoutProperties","_excluded","row","undefined","img","CellBase","valueFormatted","selectImage","_selectImage","CellImageSmall","imageUri","toString","fallbackSrc","_ref2","_excluded2","CellDate"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export{ELogic,EOperator,EOrder}from"./model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";import"dayjs";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";export{default as CreateTable}from"./create.table.js";export{default as DinoTable}from"./dino.js";export{dinoTableClasses}from"./helpers.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r,inherits as e,createClass as t,classCallCheck as n,callSuper as i,defineProperty as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l,Fragment as s}from"react/jsx-runtime";import{Component as p}from"react";import{GridToolbar as c,GridToolbarQuickFilter as d}from"@mui/x-data-grid";import{styled as m,Typography as u,Box as f}from"@mui/material";import{BtnFormCreate as h}from"./ui.buttons.js";import x from"../components/breadcrumbs.js";import"../components/buttons.js";import"clipboard-copy";import"@mui/icons-material/Done";import"@mui/icons-material/ContentCopy";import"../components/create.multi-select-dropdown.js";import g from"../components/help-tooltip.js";import"../components/text-editor.js";var b=function(){function r(){var e;n(this,r);for(var t=arguments.length,p=new Array(t),c=0;c<t;c++)p[c]=arguments[c];return e=i(this,r,[].concat(p)),o(e,"renderTitle",(function(){var r=e.props,t=r.title,n=r.afterTitle,i=r.breadcrumbs;if(!(!!t||!!i||!!n))return a(s,{});var o=t;return"string"==typeof t&&(o=a(v,{children:t})),i&&(o=a(x,{value:i})),l(f,{sx:{height:"56px",display:"flex",alignItems:"center"},children:[o,n]})})),o(e,"renderEndAdornment",(function(){return!e.props.searchInclude||e.props.searchInclude.length<=0?a(s,{}):a(g,{title:"The search includes",small:!0,children:a(y,{children:e.props.searchInclude.map((function(r,e){return a("li",{children:a(u,{variant:"body2",children:r})},e)}))})})})),e}return e(r,p),t(r,[{key:"render",value:function(){return l(f,{sx:{padding:"0 6px"},children:[this.renderTitle(),l(f,{sx:{display:"flex"},children:[l(f,{sx:{flex:1,display:"flex",alignItems:"center",flexWrap:"wrap"},children:[a(c,{sx:{padding:0}}),this.props.formCreate&&a(h,{children:this.props.formCreate}),this.props.afterAction]}),a(f,{sx:{display:"flex",gap:"8px",alignItems:"center"},children:l(f,{sx:{display:"flex",alignItems:"center"},children:[a(d,{fullWidth:!0,variant:"standard",size:"small",debounceMs:800,quickFilterParser:function(r){return[r]}}),this.renderEndAdornment()]})})]})]})}}])}(),y=m("ul")({margin:"0 0 0 18px",padding:0,li:{position:"relative"},"li::after":{content:'"►"',display:"inline-block",top:"50%",transform:"translateY(-50%)",position:"absolute",left:"-18px"}}),v=m((function(e){return a(u,r({noWrap:!0,variant:"subtitle1"},e))}))({fontWeight:700,flex:1});export{b as default};
1
+ import{objectSpread2 as r,inherits as e,createClass as t,classCallCheck as n,callSuper as i,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,Fragment as s,jsxs as o}from"react/jsx-runtime";import{Component as p}from"react";import{GridToolbar as c,GridToolbarQuickFilter as d}from"@mui/x-data-grid";import{styled as u,Typography as f,Box as m}from"@mui/material";import{BtnFormCreate as h}from"./ui.buttons.js";import x from"../components/breadcrumbs.js";import g from"../components/help-tooltip.js";var b=function(){function r(){var e;n(this,r);for(var t=arguments.length,p=new Array(t),c=0;c<t;c++)p[c]=arguments[c];return e=i(this,r,[].concat(p)),a(e,"renderTitle",(function(){var r=e.props,t=r.title,n=r.afterTitle,i=r.breadcrumbs;if(!(!!t||!!i||!!n))return l(s,{});var a=t;return"string"==typeof t&&(a=l(y,{children:t})),i&&(a=l(x,{value:i})),o(m,{sx:{height:"56px",display:"flex",alignItems:"center"},children:[a,n]})})),a(e,"renderEndAdornment",(function(){return!e.props.searchInclude||e.props.searchInclude.length<=0?l(s,{}):l(g,{title:"The search includes",small:!0,children:l(v,{children:e.props.searchInclude.map((function(r,e){return l("li",{children:l(f,{variant:"body2",children:r})},e)}))})})})),e}return e(r,p),t(r,[{key:"render",value:function(){return o(m,{sx:{padding:"0 6px"},children:[this.renderTitle(),o(m,{sx:{display:"flex"},children:[o(m,{sx:{flex:1,display:"flex",alignItems:"center",flexWrap:"wrap"},children:[l(c,{sx:{padding:0}}),this.props.formCreate&&l(h,{children:this.props.formCreate}),this.props.afterAction]}),l(m,{sx:{display:"flex",gap:"8px",alignItems:"center"},children:o(m,{sx:{display:"flex",alignItems:"center"},children:[l(d,{fullWidth:!0,variant:"standard",size:"small",debounceMs:800,quickFilterParser:function(r){return[r]}}),this.renderEndAdornment()]})})]})]})}}])}(),v=u("ul")({margin:"0 0 0 18px",padding:0,li:{position:"relative"},"li::after":{content:'"►"',display:"inline-block",top:"50%",transform:"translateY(-50%)",position:"absolute",left:"-18px"}}),y=u((function(e){return l(f,r({noWrap:!0,variant:"subtitle1"},e))}))({fontWeight:700,flex:1});export{b as default};
2
2
  //# sourceMappingURL=toolbar-pannel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar-pannel.js","sources":["../../src/table/toolbar-pannel.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { GridToolbar, GridToolbarQuickFilter } from '@mui/x-data-grid'\r\nimport { Box, styled, Typography, TypographyProps } from '@mui/material'\r\nimport { BtnFormCreate } from './ui.buttons'\r\nimport { Breadcrumbs, IBreadcrumbConfig, HelpTooltip } from '../components'\r\n\r\nexport interface IToolbarPannelOptions {\r\n searchInclude?: string[]\r\n formCreate?: React.ReactNode\r\n afterAction?: React.ReactNode\r\n breadcrumbs?: IBreadcrumbConfig[]\r\n}\r\n\r\nexport interface IToolbarPannelProps extends IToolbarPannelOptions {\r\n title?: React.ReactNode\r\n afterTitle?: React.ReactNode\r\n}\r\n\r\nclass ToolbarPannel extends Component<React.PropsWithChildren<IToolbarPannelProps>> {\r\n render() {\r\n return (\r\n <Box sx={{ padding: '0 6px' }}>\r\n {this.renderTitle()}\r\n <Box sx={{ display: 'flex' }}>\r\n <Box sx={{ flex: 1, display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>\r\n <GridToolbar sx={{ padding: 0 }} />\r\n {this.props.formCreate && <BtnFormCreate>{this.props.formCreate}</BtnFormCreate>}\r\n {this.props.afterAction}\r\n </Box>\r\n <Box sx={{ display: 'flex', gap: '8px', alignItems: 'center' }}>\r\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\r\n <GridToolbarQuickFilter fullWidth variant='standard' size='small' debounceMs={800} quickFilterParser={(x: any) => [x]} />\r\n {this.renderEndAdornment()}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n )\r\n }\r\n\r\n renderTitle = () => {\r\n const { title, afterTitle, breadcrumbs } = this.props\r\n\r\n const isVisible = !!title || !!breadcrumbs || !!afterTitle\r\n if (!isVisible) return <></>\r\n\r\n let titleElm = title\r\n if (typeof title === 'string') titleElm = <Title>{title}</Title>\r\n if (breadcrumbs) titleElm = <Breadcrumbs value={breadcrumbs} />\r\n\r\n return (\r\n <Box sx={{ height: '56px', display: 'flex', alignItems: 'center' }}>\r\n {titleElm}\r\n {afterTitle}\r\n </Box>\r\n )\r\n }\r\n\r\n renderEndAdornment = () => {\r\n if (!this.props.searchInclude || this.props.searchInclude.length <= 0) return <></>\r\n return (\r\n <HelpTooltip title='The search includes' small>\r\n <SeachHelp>\r\n {this.props.searchInclude.map((item, index) => (\r\n <li key={index}>\r\n <Typography variant='body2'>{item}</Typography>\r\n </li>\r\n ))}\r\n </SeachHelp>\r\n </HelpTooltip>\r\n )\r\n }\r\n}\r\n\r\nexport default ToolbarPannel\r\n\r\nconst SeachHelp = styled('ul')({\r\n margin: '0 0 0 18px',\r\n padding: 0,\r\n li: {\r\n position: 'relative'\r\n },\r\n 'li::after': {\r\n content: '\"►\"',\r\n display: 'inline-block',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n position: 'absolute',\r\n left: '-18px'\r\n }\r\n})\r\n\r\nconst Title = styled((props: TypographyProps) => <Typography noWrap variant='subtitle1' {...props} />)({\r\n fontWeight: 700,\r\n flex: 1\r\n})\r\n"],"names":["ToolbarPannel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_this$props","props","title","afterTitle","breadcrumbs","_jsx","titleElm","Title","children","Breadcrumbs","value","_jsxs","Box","sx","height","display","alignItems","searchInclude","HelpTooltip","small","SeachHelp","map","item","index","Typography","variant","_inherits","Component","_createClass","key","padding","renderTitle","flex","flexWrap","GridToolbar","formCreate","BtnFormCreate","afterAction","gap","GridToolbarQuickFilter","fullWidth","size","debounceMs","quickFilterParser","x","renderEndAdornment","styled","margin","li","position","content","top","transform","left","_objectSpread","noWrap","fontWeight"],"mappings":"ivBAkBMA,IAAAA,aAAc,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAqDjB,OArDiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,eAsBJ,WACZ,IAAAY,EAA2CZ,EAAKa,MAAxCC,EAAKF,EAALE,MAAOC,EAAUH,EAAVG,WAAYC,EAAWJ,EAAXI,YAG3B,OADoBF,KAAWE,KAAiBD,GAChC,OAAOE,QAEvB,IAAIC,EAAWJ,EAIf,MAHqB,iBAAVA,IAAoBI,EAAWD,EAACE,EAAO,CAAAC,SAAAN,KAC9CE,IAAaE,EAAWD,EAACI,EAAW,CAACC,MAAON,KAG9CO,EAACC,EAAI,CAAAC,GAAI,CAAEC,OAAQ,OAAQC,QAAS,OAAQC,WAAY,UACrDR,SAAA,CAAAF,EACAH,QAGNJ,EAAAX,EAAA,sBAEoB,WACnB,OAAKA,EAAKa,MAAMgB,eAAiB7B,EAAKa,MAAMgB,cAAczB,QAAU,EAAUa,QAE5EA,EAACa,EAAW,CAAChB,MAAM,sBAAsBiB,OAAK,EAAAX,SAC5CH,EAACe,EAAS,CAAAZ,SACPpB,EAAKa,MAAMgB,cAAcI,KAAI,SAACC,EAAMC,GAAK,OACxClB,iBACEA,EAACmB,EAAW,CAAAC,QAAQ,iBAASH,KADtBC,EAGV,WAIRnC,CAAA,CAAA,OAAAsC,EAAAvC,EArDyBwC,GAqDzBC,EAAAzC,EAAA,CAAA,CAAA0C,IAAA,SAAAnB,MApDD,WACE,OACEC,EAACC,EAAI,CAAAC,GAAI,CAAEiB,QAAS,SACjBtB,SAAA,CAAAX,KAAKkC,cACNpB,EAACC,EAAG,CAACC,GAAI,CAAEE,QAAS,QAAQP,SAAA,CAC1BG,EAACC,GAAIC,GAAI,CAAEmB,KAAM,EAAGjB,QAAS,OAAQC,WAAY,SAAUiB,SAAU,kBACnE5B,EAAC6B,EAAY,CAAArB,GAAI,CAAEiB,QAAS,KAC3BjC,KAAKI,MAAMkC,YAAc9B,EAAC+B,EAAe,CAAA5B,SAAAX,KAAKI,MAAMkC,aACpDtC,KAAKI,MAAMoC,eAEdhC,EAACO,EAAG,CAACC,GAAI,CAAEE,QAAS,OAAQuB,IAAK,MAAOtB,WAAY,UAClDR,SAAAG,EAACC,EAAI,CAAAC,GAAI,CAAEE,QAAS,OAAQC,WAAY,UACtCR,SAAA,CAAAH,EAACkC,EAAuB,CAAAC,WAAU,EAAAf,QAAQ,WAAWgB,KAAK,QAAQC,WAAY,IAAKC,kBAAmB,SAACC,GAAM,MAAK,CAACA,EAAE,IACpH/C,KAAKgD,+BAMlB,IAAC,IAsCGzB,EAAY0B,EAAO,KAAPA,CAAa,CAC7BC,OAAQ,aACRjB,QAAS,EACTkB,GAAI,CACFC,SAAU,YAEZ,YAAa,CACXC,QAAS,MACTnC,QAAS,eACToC,IAAK,MACLC,UAAW,mBACXH,SAAU,WACVI,KAAM,WAIJ9C,EAAQuC,GAAO,SAAC7C,GAAsB,OAAKI,EAACmB,EAAU8B,EAAA,CAACC,UAAO9B,QAAQ,aAAgBxB,GAAS,GAAvF6C,CAAyF,CACrGU,WAAY,IACZxB,KAAM"}
1
+ {"version":3,"file":"toolbar-pannel.js","sources":["../../src/table/toolbar-pannel.tsx"],"sourcesContent":["import React, { Component } from 'react'\r\nimport { GridToolbar, GridToolbarQuickFilter } from '@mui/x-data-grid'\r\nimport { Box, styled, Typography, TypographyProps } from '@mui/material'\r\nimport { BtnFormCreate } from './ui.buttons'\r\nimport { Breadcrumbs, IBreadcrumbConfig, HelpTooltip } from '../components'\r\n\r\nexport interface IToolbarPannelOptions {\r\n searchInclude?: string[]\r\n formCreate?: React.ReactNode\r\n afterAction?: React.ReactNode\r\n breadcrumbs?: IBreadcrumbConfig[]\r\n}\r\n\r\nexport interface IToolbarPannelProps extends IToolbarPannelOptions {\r\n title?: React.ReactNode\r\n afterTitle?: React.ReactNode\r\n}\r\n\r\nclass ToolbarPannel extends Component<React.PropsWithChildren<IToolbarPannelProps>> {\r\n render() {\r\n return (\r\n <Box sx={{ padding: '0 6px' }}>\r\n {this.renderTitle()}\r\n <Box sx={{ display: 'flex' }}>\r\n <Box sx={{ flex: 1, display: 'flex', alignItems: 'center', flexWrap: 'wrap' }}>\r\n <GridToolbar sx={{ padding: 0 }} />\r\n {this.props.formCreate && <BtnFormCreate>{this.props.formCreate}</BtnFormCreate>}\r\n {this.props.afterAction}\r\n </Box>\r\n <Box sx={{ display: 'flex', gap: '8px', alignItems: 'center' }}>\r\n <Box sx={{ display: 'flex', alignItems: 'center' }}>\r\n <GridToolbarQuickFilter fullWidth variant='standard' size='small' debounceMs={800} quickFilterParser={(x: any) => [x]} />\r\n {this.renderEndAdornment()}\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Box>\r\n )\r\n }\r\n\r\n renderTitle = () => {\r\n const { title, afterTitle, breadcrumbs } = this.props\r\n\r\n const isVisible = !!title || !!breadcrumbs || !!afterTitle\r\n if (!isVisible) return <></>\r\n\r\n let titleElm = title\r\n if (typeof title === 'string') titleElm = <Title>{title}</Title>\r\n if (breadcrumbs) titleElm = <Breadcrumbs value={breadcrumbs} />\r\n\r\n return (\r\n <Box sx={{ height: '56px', display: 'flex', alignItems: 'center' }}>\r\n {titleElm}\r\n {afterTitle}\r\n </Box>\r\n )\r\n }\r\n\r\n renderEndAdornment = () => {\r\n if (!this.props.searchInclude || this.props.searchInclude.length <= 0) return <></>\r\n return (\r\n <HelpTooltip title='The search includes' small>\r\n <SeachHelp>\r\n {this.props.searchInclude.map((item, index) => (\r\n <li key={index}>\r\n <Typography variant='body2'>{item}</Typography>\r\n </li>\r\n ))}\r\n </SeachHelp>\r\n </HelpTooltip>\r\n )\r\n }\r\n}\r\n\r\nexport default ToolbarPannel\r\n\r\nconst SeachHelp = styled('ul')({\r\n margin: '0 0 0 18px',\r\n padding: 0,\r\n li: {\r\n position: 'relative'\r\n },\r\n 'li::after': {\r\n content: '\"►\"',\r\n display: 'inline-block',\r\n top: '50%',\r\n transform: 'translateY(-50%)',\r\n position: 'absolute',\r\n left: '-18px'\r\n }\r\n})\r\n\r\nconst Title = styled((props: TypographyProps) => <Typography noWrap variant='subtitle1' {...props} />)({\r\n fontWeight: 700,\r\n flex: 1\r\n})\r\n"],"names":["ToolbarPannel","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_this$props","props","title","afterTitle","breadcrumbs","_jsx","titleElm","Title","children","Breadcrumbs","value","_jsxs","Box","sx","height","display","alignItems","searchInclude","HelpTooltip","small","SeachHelp","map","item","index","Typography","variant","_inherits","Component","_createClass","key","padding","renderTitle","flex","flexWrap","GridToolbar","formCreate","BtnFormCreate","afterAction","gap","GridToolbarQuickFilter","fullWidth","size","debounceMs","quickFilterParser","x","renderEndAdornment","styled","margin","li","position","content","top","transform","left","_objectSpread","noWrap","fontWeight"],"mappings":"qhBAkBMA,IAAAA,aAAc,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAqDjB,OArDiBP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAA,eAsBJ,WACZ,IAAAY,EAA2CZ,EAAKa,MAAxCC,EAAKF,EAALE,MAAOC,EAAUH,EAAVG,WAAYC,EAAWJ,EAAXI,YAG3B,OADoBF,KAAWE,KAAiBD,GAChC,OAAOE,QAEvB,IAAIC,EAAWJ,EAIf,MAHqB,iBAAVA,IAAoBI,EAAWD,EAACE,EAAO,CAAAC,SAAAN,KAC9CE,IAAaE,EAAWD,EAACI,EAAW,CAACC,MAAON,KAG9CO,EAACC,EAAI,CAAAC,GAAI,CAAEC,OAAQ,OAAQC,QAAS,OAAQC,WAAY,UACrDR,SAAA,CAAAF,EACAH,QAGNJ,EAAAX,EAAA,sBAEoB,WACnB,OAAKA,EAAKa,MAAMgB,eAAiB7B,EAAKa,MAAMgB,cAAczB,QAAU,EAAUa,QAE5EA,EAACa,EAAW,CAAChB,MAAM,sBAAsBiB,OAAK,EAAAX,SAC5CH,EAACe,EAAS,CAAAZ,SACPpB,EAAKa,MAAMgB,cAAcI,KAAI,SAACC,EAAMC,GAAK,OACxClB,iBACEA,EAACmB,EAAW,CAAAC,QAAQ,iBAASH,KADtBC,EAGV,WAIRnC,CAAA,CAAA,OAAAsC,EAAAvC,EArDyBwC,GAqDzBC,EAAAzC,EAAA,CAAA,CAAA0C,IAAA,SAAAnB,MApDD,WACE,OACEC,EAACC,EAAI,CAAAC,GAAI,CAAEiB,QAAS,SACjBtB,SAAA,CAAAX,KAAKkC,cACNpB,EAACC,EAAG,CAACC,GAAI,CAAEE,QAAS,QAAQP,SAAA,CAC1BG,EAACC,GAAIC,GAAI,CAAEmB,KAAM,EAAGjB,QAAS,OAAQC,WAAY,SAAUiB,SAAU,kBACnE5B,EAAC6B,EAAY,CAAArB,GAAI,CAAEiB,QAAS,KAC3BjC,KAAKI,MAAMkC,YAAc9B,EAAC+B,EAAe,CAAA5B,SAAAX,KAAKI,MAAMkC,aACpDtC,KAAKI,MAAMoC,eAEdhC,EAACO,EAAG,CAACC,GAAI,CAAEE,QAAS,OAAQuB,IAAK,MAAOtB,WAAY,UAClDR,SAAAG,EAACC,EAAI,CAAAC,GAAI,CAAEE,QAAS,OAAQC,WAAY,UACtCR,SAAA,CAAAH,EAACkC,EAAuB,CAAAC,WAAU,EAAAf,QAAQ,WAAWgB,KAAK,QAAQC,WAAY,IAAKC,kBAAmB,SAACC,GAAM,MAAK,CAACA,EAAE,IACpH/C,KAAKgD,+BAMlB,IAAC,IAsCGzB,EAAY0B,EAAO,KAAPA,CAAa,CAC7BC,OAAQ,aACRjB,QAAS,EACTkB,GAAI,CACFC,SAAU,YAEZ,YAAa,CACXC,QAAS,MACTnC,QAAS,eACToC,IAAK,MACLC,UAAW,mBACXH,SAAU,WACVI,KAAM,WAIJ9C,EAAQuC,GAAO,SAAC7C,GAAsB,OAAKI,EAACmB,EAAU8B,EAAA,CAACC,UAAO9B,QAAQ,aAAgBxB,GAAS,GAAvF6C,CAAyF,CACrGU,WAAY,IACZxB,KAAM"}
@@ -1,2 +1,2 @@
1
- import{objectWithoutProperties as e,objectSpread2 as r,slicedToArray as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,Fragment as a,jsxs as l}from"react/jsx-runtime";import{useState as n,useEffect as o}from"react";import{styled as p,Typography as c,Box as m,Chip as s,Tooltip as u,IconButton as d,Divider as f}from"@mui/material";import v from"@mui/icons-material/OpenInNew";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import"../components/breadcrumbs.js";import"../components/buttons.js";import x from"../components/copy-to-clipboard.js";import"../components/create.multi-select-dropdown.js";import{HelpTooltipWrap as h}from"../components/help-tooltip.js";import"../components/text-editor.js";import b from"dayjs";var y=["children"],k=function(e,i){return function(l){var n,o,p,c,m;return l.value?t(j,r(r({onClick:l.onClick},null===(n=l.slots)||void 0===n?void 0:n.typographyProps),{},{sx:(p=l.value,c=l.sx,m=l.slots,Object.assign({},p?e[p]:{},null==i?void 0:i.sx,c,null==m||null===(o=m.typographyProps)||void 0===o?void 0:o.sx)),children:l.title||l.value})):t(a,{})}},j=p(c)({borderRadius:"4px",fontSize:"0.8rem",padding:"4px 9px",fontWeight:600,minWidth:"70px",textAlign:"center",color:"#ffffff",display:"inline-block"}),w=function(e){var r,a=n(null!==(r=e.imageUri)&&void 0!==r?r:e.fallbackSrc),p=i(a,2),s=p[0],u=p[1];return o((function(){var r;u(null!==(r=e.imageUri)&&void 0!==r?r:e.fallbackSrc)}),[e.imageUri,e.fallbackSrc]),l(m,{sx:{display:"flex",alignItems:"center",height:"100%",gap:"10px"},children:[t(F,{src:s,onError:function(){return u(e.fallbackSrc)}}),t(c,{variant:"body1",children:e.value})]})},S=function(e){var r,a=n(null!==(r=e.imageUri)&&void 0!==r?r:e.imageFallback),l=i(a,2),p=l[0],c=l[1];return o((function(){var r;c(null!==(r=e.imageUri)&&void 0!==r?r:e.imageFallback)}),[e.imageUri,e.imageFallback]),t(F,{src:p,onError:function(){return c(e.imageFallback)},sx:e.sx})},F=p("img")({backgroundRepeat:"no-repeat",height:"50px",width:"50px",backgroundSize:"contain",borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px"}),U=function(e){var i,a=null!==(i=e.valueFormatted)&&void 0!==i?i:e.value,n=!!e.copyToClipboard&&!!a;return l(W,r(r({title:a},e.wrapProps),{},{children:[e.imageUrl&&t(S,{imageUri:e.imageUrl,sx:{mr:"10px"},imageFallback:e.imageFallbackSrc}),t(c,r(r({variant:"body2",component:"span",noWrap:!0,sx:{flex:1}},e.typographyProps),{},{children:a})),a&&!0===e.openInNewTab&&t(u,{arrow:!0,title:"Open new tab",children:t(d,{component:"a",href:a,target:"_blank",children:t(v,{fontSize:"small",sx:{color:"#1A75E2"}})})}),n&&t(x,{value:a}),a&&!0===e.beforeLine&&t(f,{flexItem:!0,variant:"middle",orientation:"vertical"})]}))},W=p((function(i){var a=i.children,l=e(i,y);return t(m,r(r({},l),{},{children:t("div",{children:a})}))}))({flex:1,width:"100%",height:"100%",position:"relative",top:0,left:0,"& > div":{display:"flex",alignItems:"center",width:"100%",height:"100%",position:"absolute",top:0,left:0}}),I=function(e){var r,i;if("string"!=typeof e.value)return null!==(r=e.value)&&void 0!==r?r:t(a,{});var n=e.value.split(null!==(i=null==e?void 0:e.separator)&&void 0!==i?i:"|").filter((function(e){return!!e})),o=null!=e&&e.maximum?n.slice(0,e.maximum):n,p=null!=e&&e.maximum&&n.length>e.maximum?n.length-e.maximum:0;return l(m,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",height:"100%"},children:[o.map((function(r,i){return t(P,{label:e.valueFormatter?e.valueFormatter(r):r,size:"small"},"key"+i)})),p>0&&t(h,{title:"Artists",content:t(m,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px"},children:n.map((function(e,r){return t(P,{label:e,size:"small"},"key"+r)}))}),children:t(P,{label:"+".concat(p),size:"small"},"remaining")})]})},P=p(s)({lineHeight:1}),z=function(e){try{var i,a,l=null!==(i=null==e?void 0:e.showRelative)&&void 0!==i&&i,n=b(e.value),o=n.format(e.formatString),p=l?"".concat(o," (").concat(b().to(n),")"):o,m=e.styledGetter?e.styledGetter(e.value):{flex:1},s=g({},null!==(a=e.typographyProps)&&void 0!==a?a:{},{sx:m});return t(c,r(r({variant:"body2",component:"span",noWrap:!0},s),{},{children:p}))}catch(e){return t(c,{variant:"body2",component:"span",noWrap:!0,children:"format invalid"})}};export{U as CellBase,I as CellChips,z as CellDate,w as CellImageSmall,k as CreateStatusCell,S as ImageSmallFallback};
1
+ import{objectWithoutProperties as r,objectSpread2 as e,slicedToArray as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,Fragment as l,jsxs as t}from"react/jsx-runtime";import{useState as n,useEffect as o}from"react";import{styled as p,Typography as c,Box as m,Chip as s,Tooltip as u,IconButton as d,Divider as f}from"@mui/material";import v from"@mui/icons-material/OpenInNew";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{HelpTooltipWrap as x}from"../components/help-tooltip.js";import h from"../components/copy-to-clipboard.js";import b from"dayjs";var y=["children"],k=function(r,i){return function(t){var n,o,p,c,m;return t.value?a(j,e(e({onClick:t.onClick},null===(n=t.slots)||void 0===n?void 0:n.typographyProps),{},{sx:(p=t.value,c=t.sx,m=t.slots,Object.assign({},p?r[p]:{},null==i?void 0:i.sx,c,null==m||null===(o=m.typographyProps)||void 0===o?void 0:o.sx)),children:t.title||t.value})):a(l,{})}},j=p(c)({borderRadius:"4px",fontSize:"0.8rem",padding:"4px 9px",fontWeight:600,minWidth:"70px",textAlign:"center",color:"#ffffff",display:"inline-block"}),w=function(r){var e,l=n(null!==(e=r.imageUri)&&void 0!==e?e:r.fallbackSrc),p=i(l,2),s=p[0],u=p[1];return o((function(){var e;u(null!==(e=r.imageUri)&&void 0!==e?e:r.fallbackSrc)}),[r.imageUri,r.fallbackSrc]),t(m,{sx:{display:"flex",alignItems:"center",height:"100%",gap:"10px"},children:[a(F,{src:s,onError:function(){return u(r.fallbackSrc)}}),a(c,{variant:"body1",children:r.value})]})},S=function(r){var e,l=n(null!==(e=r.imageUri)&&void 0!==e?e:r.imageFallback),t=i(l,2),p=t[0],c=t[1];return o((function(){var e;c(null!==(e=r.imageUri)&&void 0!==e?e:r.imageFallback)}),[r.imageUri,r.imageFallback]),a(F,{src:p,onError:function(){return c(r.imageFallback)},sx:r.sx})},F=p("img")({backgroundRepeat:"no-repeat",height:"50px",width:"50px",backgroundSize:"contain",borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px"}),U=function(r){var i,l=null!==(i=r.valueFormatted)&&void 0!==i?i:r.value,n=!!r.copyToClipboard&&!!l;return t(W,e(e({title:l},r.wrapProps),{},{children:[r.imageUrl&&a(S,{imageUri:r.imageUrl,sx:{mr:"10px"},imageFallback:r.imageFallbackSrc}),a(c,e(e({variant:"body2",component:"span",noWrap:!0,sx:{flex:1}},r.typographyProps),{},{children:l})),l&&!0===r.openInNewTab&&a(u,{arrow:!0,title:"Open new tab",children:a(d,{component:"a",href:l,target:"_blank",children:a(v,{fontSize:"small",sx:{color:"#1A75E2"}})})}),n&&a(h,{value:l}),l&&!0===r.beforeLine&&a(f,{flexItem:!0,variant:"middle",orientation:"vertical"})]}))},W=p((function(i){var l=i.children,t=r(i,y);return a(m,e(e({},t),{},{children:a("div",{children:l})}))}))({flex:1,width:"100%",height:"100%",position:"relative",top:0,left:0,"& > div":{display:"flex",alignItems:"center",width:"100%",height:"100%",position:"absolute",top:0,left:0}}),I=function(r){var e,i;if("string"!=typeof r.value)return null!==(e=r.value)&&void 0!==e?e:a(l,{});var n=r.value.split(null!==(i=null==r?void 0:r.separator)&&void 0!==i?i:"|").filter((function(r){return!!r})),o=null!=r&&r.maximum?n.slice(0,r.maximum):n,p=null!=r&&r.maximum&&n.length>r.maximum?n.length-r.maximum:0;return t(m,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px",height:"100%"},children:[o.map((function(e,i){return a(P,{label:r.valueFormatter?r.valueFormatter(e):e,size:"small"},"key"+i)})),p>0&&a(x,{title:"Artists",content:a(m,{sx:{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"4px"},children:n.map((function(r,e){return a(P,{label:r,size:"small"},"key"+e)}))}),children:a(P,{label:"+".concat(p),size:"small"},"remaining")})]})},P=p(s)({lineHeight:1}),z=function(r){try{var i,l,t=null!==(i=null==r?void 0:r.showRelative)&&void 0!==i&&i,n=b(r.value),o=n.format(r.formatString),p=t?"".concat(o," (").concat(b().to(n),")"):o,m=r.styledGetter?r.styledGetter(r.value):{flex:1},s=g({},null!==(l=r.typographyProps)&&void 0!==l?l:{},{sx:m});return a(c,e(e({variant:"body2",component:"span",noWrap:!0},s),{},{children:p}))}catch(r){return a(c,{variant:"body2",component:"span",noWrap:!0,children:"format invalid"})}};export{U as CellBase,I as CellChips,z as CellDate,w as CellImageSmall,k as CreateStatusCell,S as ImageSmallFallback};
2
2
  //# sourceMappingURL=ui.units.js.map