dinocollab-core 1.0.2 → 1.0.4

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 (101) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +1 -487
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/dist/api-context/alert-global.js +1 -165
  4. package/dist/api-context/alert-global.js.map +1 -1
  5. package/dist/api-context/drawer-global.js +1 -111
  6. package/dist/api-context/drawer-global.js.map +1 -1
  7. package/dist/api-context/global-modal.js +1 -94
  8. package/dist/api-context/global-modal.js.map +1 -1
  9. package/dist/api-context/popover-global.js +1 -109
  10. package/dist/api-context/popover-global.js.map +1 -1
  11. package/dist/api-context/popover.js +1 -93
  12. package/dist/api-context/popover.js.map +1 -1
  13. package/dist/api-context/ui.units.js +1 -22
  14. package/dist/api-context/ui.units.js.map +1 -1
  15. package/dist/components/breadcrumbs.js +1 -64
  16. package/dist/components/breadcrumbs.js.map +1 -1
  17. package/dist/components/copy-to-clipboard.js +1 -111
  18. package/dist/components/copy-to-clipboard.js.map +1 -1
  19. package/dist/components/help-tooltip.js +1 -103
  20. package/dist/components/help-tooltip.js.map +1 -1
  21. package/dist/components/image-with-fallback.js +1 -50
  22. package/dist/components/image-with-fallback.js.map +1 -1
  23. package/dist/components/text-editor.js +1 -117
  24. package/dist/components/text-editor.js.map +1 -1
  25. package/dist/components/text-editor.preview.js +1 -26
  26. package/dist/components/text-editor.preview.js.map +1 -1
  27. package/dist/form/create.autocomplete.chips.js +1 -227
  28. package/dist/form/create.autocomplete.chips.js.map +1 -1
  29. package/dist/form/create.date-expired.js +1 -210
  30. package/dist/form/create.date-expired.js.map +1 -1
  31. package/dist/form/create.date-picker.js +1 -127
  32. package/dist/form/create.date-picker.js.map +1 -1
  33. package/dist/form/create.form-base.js +1 -140
  34. package/dist/form/create.form-base.js.map +1 -1
  35. package/dist/form/create.form-comfirm.js +1 -130
  36. package/dist/form/create.form-comfirm.js.map +1 -1
  37. package/dist/form/create.form-grid-layout.js +1 -187
  38. package/dist/form/create.form-grid-layout.js.map +1 -1
  39. package/dist/form/create.form-grid-layout.units.js +1 -41
  40. package/dist/form/create.form-grid-layout.units.js.map +1 -1
  41. package/dist/form/create.input.file.js +1 -78
  42. package/dist/form/create.input.file.js.map +1 -1
  43. package/dist/form/create.input.js +1 -275
  44. package/dist/form/create.input.js.map +1 -1
  45. package/dist/form/create.select-simple.js +1 -113
  46. package/dist/form/create.select-simple.js.map +1 -1
  47. package/dist/form/create.select-with-api.js +1 -276
  48. package/dist/form/create.select-with-api.js.map +1 -1
  49. package/dist/form/create.text-editor.js +1 -180
  50. package/dist/form/create.text-editor.js.map +1 -1
  51. package/dist/form/dino-form.js +1 -40
  52. package/dist/form/dino-form.js.map +1 -1
  53. package/dist/form/helper.js +1 -156
  54. package/dist/form/helper.js.map +1 -1
  55. package/dist/form/modal-wrapper.js +1 -81
  56. package/dist/form/modal-wrapper.js.map +1 -1
  57. package/dist/form/validator.js +1 -189
  58. package/dist/form/validator.js.map +1 -1
  59. package/dist/hooks/index.js +1 -47
  60. package/dist/hooks/index.js.map +1 -1
  61. package/dist/index.js +1 -32
  62. package/dist/index.js.map +1 -1
  63. package/dist/redux/create.hoc-lazy.js +1 -70
  64. package/dist/redux/create.hoc-lazy.js.map +1 -1
  65. package/dist/redux/dino.js +1 -10
  66. package/dist/redux/dino.js.map +1 -1
  67. package/dist/redux/types.js +1 -8
  68. package/dist/redux/types.js.map +1 -1
  69. package/dist/redux/ui.error-page.js +1 -88
  70. package/dist/redux/ui.error-page.js.map +1 -1
  71. package/dist/redux/vector-404.webp.js +1 -3
  72. package/dist/redux/vector-404.webp.js.map +1 -1
  73. package/dist/table/context.js +1 -14
  74. package/dist/table/context.js.map +1 -1
  75. package/dist/table/create.action-row.js +1 -143
  76. package/dist/table/create.action-row.js.map +1 -1
  77. package/dist/table/create.table.js +1 -245
  78. package/dist/table/create.table.js.map +1 -1
  79. package/dist/table/custom.filter-operators.js +1 -88
  80. package/dist/table/custom.filter-operators.js.map +1 -1
  81. package/dist/table/dino.js +1 -135
  82. package/dist/table/dino.js.map +1 -1
  83. package/dist/table/helpers.js +1 -114
  84. package/dist/table/helpers.js.map +1 -1
  85. package/dist/table/model-filter.js +1 -22
  86. package/dist/table/model-filter.js.map +1 -1
  87. package/dist/table/toolbar-pannel.js +1 -142
  88. package/dist/table/toolbar-pannel.js.map +1 -1
  89. package/dist/table/ui.buttons.js +1 -66
  90. package/dist/table/ui.buttons.js.map +1 -1
  91. package/dist/table/ui.units.js +1 -247
  92. package/dist/table/ui.units.js.map +1 -1
  93. package/dist/utils/dayjs-config.js +1 -11
  94. package/dist/utils/dayjs-config.js.map +1 -1
  95. package/dist/utils/helpers.js +1 -198
  96. package/dist/utils/helpers.js.map +1 -1
  97. package/dist/utils/json-object.js +1 -37
  98. package/dist/utils/json-object.js.map +1 -1
  99. package/dist/utils/query-param.js +1 -171
  100. package/dist/utils/query-param.js.map +1 -1
  101. package/package.json +2 -2
@@ -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 './helper'\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","_Component","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isFullscreen","document","fullscreenElement","contentRef","current","requestFullscreen","err","console","error","concat","message","exitFullscreen","classes","state","push","textEditorClasses","fullscreen","join","createRef","_inherits","_createClass","key","value","componentDidMount","addEventListener","handleFullscreenChange","componentWillUnmount","removeEventListener","render","_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","Component","editorHeight","styled","_ref2","theme","maxWidth","breakpoints","values","xl","margin","position","root","height","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 './helper'\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,41 +1,2 @@
1
- import { createClass as _createClass, classCallCheck as _classCallCheck, defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import FormValidator from './validator.js';
3
- import FormModalWrapper from './modal-wrapper.js';
4
- import CreateFormBase from './create.form-base.js';
5
- import CreateInputFile from './create.input.file.js';
6
- import CreateInput from './create.input.js';
7
- import CreateDatePicker from './create.date-picker.js';
8
- import CreateTextEditor from './create.text-editor.js';
9
- import CreateDateExpired from './create.date-expired.js';
10
- import CreateFormComfirm from './create.form-comfirm.js';
11
- import CreateSelectSimple from './create.select-simple.js';
12
- import CreateSelectWithApi from './create.select-with-api.js';
13
- import CreateFormGridLayout from './create.form-grid-layout.js';
14
- import CreateAutocompleteChip from './create.autocomplete.chips.js';
15
- import { FormBottomBarWrap } from './create.form-grid-layout.units.js';
16
-
17
- var DinoFormBase = /*#__PURE__*/_createClass(function DinoFormBase() {
18
- _classCallCheck(this, DinoFormBase);
19
- //#region Base
20
- _defineProperty(this, "ModalWrap", FormModalWrapper);
21
- _defineProperty(this, "BottomBarWrap", FormBottomBarWrap);
22
- _defineProperty(this, "FormValidator", FormValidator);
23
- _defineProperty(this, "validator", FormValidator.initial);
24
- _defineProperty(this, "createFormBase", CreateFormBase);
25
- _defineProperty(this, "createFormComfirm", CreateFormComfirm);
26
- _defineProperty(this, "createFormGridLayout", CreateFormGridLayout);
27
- //#endregion
28
- //#region Inputs
29
- _defineProperty(this, "createDateExpired", CreateDateExpired);
30
- _defineProperty(this, "createDatePicker", CreateDatePicker);
31
- _defineProperty(this, "createAutocompleteChip", CreateAutocompleteChip);
32
- _defineProperty(this, "createInput", CreateInput);
33
- _defineProperty(this, "createInputFile", CreateInputFile);
34
- _defineProperty(this, "createSelectSimple", CreateSelectSimple);
35
- _defineProperty(this, "createSelectWithApi", CreateSelectWithApi);
36
- _defineProperty(this, "createTextEditor", CreateTextEditor);
37
- });
38
- var DinoForm = new DinoFormBase();
39
-
40
- export { DinoForm as default };
1
+ import{createClass as t,classCallCheck as e,defineProperty as r}from"../_virtual/_rollupPluginBabelHelpers.js";import i from"./validator.js";import o from"./modal-wrapper.js";import a from"./create.form-base.js";import m from"./create.input.file.js";import s from"./create.input.js";import p from"./create.date-picker.js";import c from"./create.text-editor.js";import l from"./create.date-expired.js";import f from"./create.form-comfirm.js";import h from"./create.select-simple.js";import d from"./create.select-with-api.js";import j from"./create.form-grid-layout.js";import u from"./create.autocomplete.chips.js";import{FormBottomBarWrap as n}from"./create.form-grid-layout.units.js";var x=new(t((function t(){e(this,t),r(this,"ModalWrap",o),r(this,"BottomBarWrap",n),r(this,"FormValidator",i),r(this,"validator",i.initial),r(this,"createFormBase",a),r(this,"createFormComfirm",f),r(this,"createFormGridLayout",j),r(this,"createDateExpired",l),r(this,"createDatePicker",p),r(this,"createAutocompleteChip",u),r(this,"createInput",s),r(this,"createInputFile",m),r(this,"createSelectSimple",h),r(this,"createSelectWithApi",d),r(this,"createTextEditor",c)})));export{x as default};
41
2
  //# sourceMappingURL=dino-form.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dino-form.js","sources":["../../src/form/dino-form.tsx"],"sourcesContent":["import FormValidator from './validator'\r\nimport FormModalWrapper from './modal-wrapper'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputFile from './create.input.file'\r\nimport CreateInput from './create.input'\r\nimport CreateDatePicker from './create.date-picker'\r\nimport CreateTextEditor from './create.text-editor'\r\nimport CreateDateExpired from './create.date-expired'\r\nimport CreateFormComfirm from './create.form-comfirm'\r\nimport CreateSelectSimple from './create.select-simple'\r\nimport CreateSelectWithApi from './create.select-with-api'\r\nimport CreateFormGridLayout from './create.form-grid-layout'\r\nimport CreateAutocompleteChip from './create.autocomplete.chips'\r\nimport { FormBottomBarWrap } from './create.form-grid-layout.units'\r\n\r\nclass DinoFormBase {\r\n //#region Base\r\n ModalWrap = FormModalWrapper\r\n BottomBarWrap = FormBottomBarWrap\r\n FormValidator = FormValidator\r\n validator = FormValidator.initial\r\n createFormBase = CreateFormBase\r\n createFormComfirm = CreateFormComfirm\r\n createFormGridLayout = CreateFormGridLayout\r\n //#endregion\r\n\r\n //#region Inputs\r\n createDateExpired= CreateDateExpired\r\n createDatePicker = CreateDatePicker\r\n createAutocompleteChip = CreateAutocompleteChip\r\n createInput = CreateInput\r\n createInputFile = CreateInputFile\r\n createSelectSimple = CreateSelectSimple\r\n createSelectWithApi = CreateSelectWithApi\r\n createTextEditor = CreateTextEditor\r\n //#endregion\r\n}\r\n\r\nconst DinoForm = new DinoFormBase()\r\nexport default DinoForm\r\n"],"names":["DinoFormBase","_createClass","_classCallCheck","_defineProperty","FormModalWrapper","FormBottomBarWrap","FormValidator","initial","CreateFormBase","CreateFormComfirm","CreateFormGridLayout","CreateDateExpired","CreateDatePicker","CreateAutocompleteChip","CreateInput","CreateInputFile","CreateSelectSimple","CreateSelectWithApi","CreateTextEditor","DinoForm"],"mappings":";;;;;;;;;;;;;;;;AAamE,IAE7DA,YAAY,gBAAAC,YAAA,CAAA,SAAAD,YAAA,GAAA;AAAAE,EAAAA,eAAA,OAAAF,YAAA,CAAA;AAChB;AAAAG,EAAAA,eAAA,oBACYC,gBAAgB,CAAA;AAAAD,EAAAA,eAAA,wBACZE,iBAAiB,CAAA;AAAAF,EAAAA,eAAA,wBACjBG,aAAa,CAAA;EAAAH,eAAA,CAAA,IAAA,EAAA,WAAA,EACjBG,aAAa,CAACC,OAAO,CAAA;AAAAJ,EAAAA,eAAA,yBAChBK,cAAc,CAAA;AAAAL,EAAAA,eAAA,4BACXM,iBAAiB,CAAA;AAAAN,EAAAA,eAAA,+BACdO,oBAAoB,CAAA;AAC3C;AAEA;AAAAP,EAAAA,eAAA,4BACmBQ,iBAAiB,CAAA;AAAAR,EAAAA,eAAA,2BACjBS,gBAAgB,CAAA;AAAAT,EAAAA,eAAA,iCACVU,sBAAsB,CAAA;AAAAV,EAAAA,eAAA,sBACjCW,WAAW,CAAA;AAAAX,EAAAA,eAAA,0BACPY,eAAe,CAAA;AAAAZ,EAAAA,eAAA,6BACZa,kBAAkB,CAAA;AAAAb,EAAAA,eAAA,8BACjBc,mBAAmB,CAAA;AAAAd,EAAAA,eAAA,2BACtBe,gBAAgB,CAAA;AAAA,CAAA,CAAA;AAIrC,IAAMC,QAAQ,GAAG,IAAInB,YAAY;;;;"}
1
+ {"version":3,"file":"dino-form.js","sources":["../../src/form/dino-form.tsx"],"sourcesContent":["import FormValidator from './validator'\r\nimport FormModalWrapper from './modal-wrapper'\r\nimport CreateFormBase from './create.form-base'\r\nimport CreateInputFile from './create.input.file'\r\nimport CreateInput from './create.input'\r\nimport CreateDatePicker from './create.date-picker'\r\nimport CreateTextEditor from './create.text-editor'\r\nimport CreateDateExpired from './create.date-expired'\r\nimport CreateFormComfirm from './create.form-comfirm'\r\nimport CreateSelectSimple from './create.select-simple'\r\nimport CreateSelectWithApi from './create.select-with-api'\r\nimport CreateFormGridLayout from './create.form-grid-layout'\r\nimport CreateAutocompleteChip from './create.autocomplete.chips'\r\nimport { FormBottomBarWrap } from './create.form-grid-layout.units'\r\n\r\nclass DinoFormBase {\r\n //#region Base\r\n ModalWrap = FormModalWrapper\r\n BottomBarWrap = FormBottomBarWrap\r\n FormValidator = FormValidator\r\n validator = FormValidator.initial\r\n createFormBase = CreateFormBase\r\n createFormComfirm = CreateFormComfirm\r\n createFormGridLayout = CreateFormGridLayout\r\n //#endregion\r\n\r\n //#region Inputs\r\n createDateExpired= CreateDateExpired\r\n createDatePicker = CreateDatePicker\r\n createAutocompleteChip = CreateAutocompleteChip\r\n createInput = CreateInput\r\n createInputFile = CreateInputFile\r\n createSelectSimple = CreateSelectSimple\r\n createSelectWithApi = CreateSelectWithApi\r\n createTextEditor = CreateTextEditor\r\n //#endregion\r\n}\r\n\r\nconst DinoForm = new DinoFormBase()\r\nexport default DinoForm\r\n"],"names":["DinoForm","_createClass","DinoFormBase","_classCallCheck","_defineProperty","FormModalWrapper","FormBottomBarWrap","FormValidator","this","initial","CreateFormBase","CreateFormComfirm","CreateFormGridLayout","CreateDateExpired","CreateDatePicker","CreateAutocompleteChip","CreateInput","CreateInputFile","CreateSelectSimple","CreateSelectWithApi","CreateTextEditor"],"mappings":"8qBAamE,IAyB7DA,EAAW,IAvBCC,GAAA,SAAAC,IAAAC,OAAAD,GAChBE,mBACYC,GAAgBD,uBACZE,GAAiBF,uBACjBG,GAAaH,EAAAI,KAAA,YACjBD,EAAcE,SAAOL,wBAChBM,GAAcN,2BACXO,GAAiBP,8BACdQ,GAGvBR,2BACmBS,GAAiBT,0BACjBU,GAAgBV,gCACVW,GAAsBX,qBACjCY,GAAWZ,yBACPa,GAAeb,4BACZc,GAAkBd,6BACjBe,GAAmBf,0BACtBgB,EAAgB"}
@@ -1,157 +1,2 @@
1
- import { toConsumableArray as _toConsumableArray, objectSpread2 as _objectSpread2, typeof as _typeof } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import FormValidator from './validator.js';
3
-
4
- var objectAssign = function objectAssign(model) {
5
- for (var _len = arguments.length, sources = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6
- sources[_key - 1] = arguments[_key];
7
- }
8
- if (sources.length < 1) {
9
- return model;
10
- }
11
- var temps = sources.filter(function (x) {
12
- return x;
13
- });
14
- return temps.reduce(function (a, b) {
15
- a = Object.assign(a, b);
16
- return a;
17
- }, model);
18
- };
19
- var _deepMerge = function deepMerge(model) {
20
- for (var _len2 = arguments.length, sources = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
21
- sources[_key2 - 1] = arguments[_key2];
22
- }
23
- sources = sources.filter(function (x) {
24
- return !!x;
25
- });
26
- if (sources.length < 1) {
27
- return model;
28
- }
29
- var temps = [model].concat(_toConsumableArray(sources)).filter(function (x) {
30
- return x;
31
- });
32
- var fieldObjects = temps.reduce(function (a, b) {
33
- if (!b) return a;
34
- var fields = Object.keys(b).filter(function (x) {
35
- return _typeof(b[x]) === 'object' && !Array.isArray(b[x]);
36
- });
37
- a.push.apply(a, _toConsumableArray(fields));
38
- return a;
39
- }, []);
40
- var target = objectAssign.apply(void 0, [model].concat(_toConsumableArray(temps.slice(1))));
41
- var temp = target;
42
- var temp2 = temps.slice(1).filter(function (x) {
43
- return !!x;
44
- });
45
- var _loop = function _loop() {
46
- var element = fieldObjects[index];
47
- temp[element] = _deepMerge.apply(void 0, [{}, temp[element]].concat(_toConsumableArray(temp2.map(function (x) {
48
- return x[element];
49
- }))));
50
- };
51
- for (var index = 0; index < fieldObjects.length; index++) {
52
- _loop();
53
- }
54
- return target;
55
- };
56
- var getErrorMessage = function getErrorMessage(MessageErrors, key) {
57
- return MessageErrors && MessageErrors[key] ? _objectSpread2(_objectSpread2({}, MessageErrors[key][0]), {}, {
58
- error: true
59
- }) : {
60
- error: false,
61
- message: ''
62
- };
63
- };
64
- var convertFormDataToJson = function convertFormDataToJson(form) {
65
- var data = Array.from(form).reduce(function (a, b) {
66
- if (!a[b[0]]) {
67
- a[b[0]] = b[1];
68
- } else if (Array.isArray(a[b[0]])) {
69
- a[b[0]].push(b[1]);
70
- } else {
71
- a[b[0]] = [a[b[0]], b[1]];
72
- }
73
- return a;
74
- }, {});
75
- Object.keys(data).forEach(function (key) {
76
- var value = data[key];
77
- if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {
78
- data[key] = value.toString().toLocaleLowerCase() === 'true';
79
- }
80
- });
81
- return data;
82
- };
83
- var SingleValidate = function SingleValidate(key, modelState, MessageErrors, Validator) {
84
- var messageErrors = Validator.run(modelState);
85
- if (messageErrors) {
86
- var errors = MessageErrors || {};
87
- var keys = Object.keys(modelState).filter(function (key) {
88
- return !!modelState[key];
89
- }).filter(function (key) {
90
- return modelState[key] instanceof File ? !!modelState[key].size : false;
91
- });
92
- keys.push(key);
93
- keys.forEach(function (key) {
94
- if (messageErrors[key]) {
95
- errors[key] = messageErrors[key];
96
- } else {
97
- delete errors[key];
98
- }
99
- });
100
- return errors;
101
- }
102
- return null;
103
- };
104
- var getErrorFromResponse = function getErrorFromResponse(error, ModelRender) {
105
- var _error$response;
106
- var data = (_error$response = error.response) === null || _error$response === void 0 ? void 0 : _error$response.data;
107
- if (data) {
108
- var keys = Object.keys(ModelRender);
109
- var MessageErrors = {};
110
- keys.forEach(function (key) {
111
- var messages = data[key];
112
- if (Array.isArray(messages) && messages.length > 0) {
113
- MessageErrors[key] = [{
114
- message: messages[0]
115
- }];
116
- }
117
- });
118
- return MessageErrors;
119
- }
120
- };
121
- var validateMerge = function validateMerge() {
122
- for (var _len3 = arguments.length, validateor = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
123
- validateor[_key3] = arguments[_key3];
124
- }
125
- var configs = validateor.map(function (x) {
126
- return x === null || x === void 0 ? void 0 : x.configs;
127
- }).filter(function (x) {
128
- return !!x;
129
- });
130
- var temp = Object.assign.apply(Object, [{}].concat(_toConsumableArray(configs)));
131
- var _loop2 = function _loop2() {
132
- var key = Object.keys(temp)[index];
133
- //merge configs
134
- temp[key] = _deepMerge.apply(void 0, [{}].concat(_toConsumableArray(configs.map(function (x) {
135
- return x ? x[key] : {
136
- Rules: []
137
- };
138
- }))));
139
- //merge rules
140
- temp[key].Rules = configs.map(function (x) {
141
- return x ? x[key] : {
142
- Rules: []
143
- };
144
- }).reduce(function (a, b) {
145
- var _b$Rules;
146
- a.push.apply(a, _toConsumableArray((_b$Rules = b === null || b === void 0 ? void 0 : b.Rules) !== null && _b$Rules !== void 0 ? _b$Rules : []));
147
- return a;
148
- }, []);
149
- };
150
- for (var index = 0; index < Object.keys(temp).length; index++) {
151
- _loop2();
152
- }
153
- return new FormValidator(temp);
154
- };
155
-
156
- export { SingleValidate, convertFormDataToJson, getErrorFromResponse, getErrorMessage, validateMerge };
1
+ import{toConsumableArray as r,objectSpread2 as n,typeof as e}from"../_virtual/_rollupPluginBabelHelpers.js";import t from"./validator.js";var o=function(r){for(var n=arguments.length,e=new Array(n>1?n-1:0),t=1;t<n;t++)e[t-1]=arguments[t];return e.length<1?r:e.filter((function(r){return r})).reduce((function(r,n){return r=Object.assign(r,n)}),r)},u=function(n){for(var t=arguments.length,a=new Array(t>1?t-1:0),i=1;i<t;i++)a[i-1]=arguments[i];if((a=a.filter((function(r){return!!r}))).length<1)return n;for(var c=[n].concat(r(a)).filter((function(r){return r})),f=c.reduce((function(n,t){if(!t)return n;var o=Object.keys(t).filter((function(r){return"object"===e(t[r])&&!Array.isArray(t[r])}));return n.push.apply(n,r(o)),n}),[]),l=o.apply(void 0,[n].concat(r(c.slice(1)))),s=l,p=c.slice(1).filter((function(r){return!!r})),v=function(){var n=f[y];s[n]=u.apply(void 0,[{},s[n]].concat(r(p.map((function(r){return r[n]})))))},y=0;y<f.length;y++)v();return l},a=function(r,e){return r&&r[e]?n(n({},r[e][0]),{},{error:!0}):{error:!1,message:""}},i=function(r){var n=Array.from(r).reduce((function(r,n){return r[n[0]]?Array.isArray(r[n[0]])?r[n[0]].push(n[1]):r[n[0]]=[r[n[0]],n[1]]:r[n[0]]=n[1],r}),{});return Object.keys(n).forEach((function(r){var e=n[r];"string"!=typeof e||"true"!==e.toString().toLocaleLowerCase()&&"false"!==e.toString().toLocaleLowerCase()||(n[r]="true"===e.toString().toLocaleLowerCase())})),n},c=function(r,n,e,t){var o=t.run(n);if(o){var u=e||{},a=Object.keys(n).filter((function(r){return!!n[r]})).filter((function(r){return n[r]instanceof File&&!!n[r].size}));return a.push(r),a.forEach((function(r){o[r]?u[r]=o[r]:delete u[r]})),u}return null},f=function(r,n){var e,t=null===(e=r.response)||void 0===e?void 0:e.data;if(t){var o=Object.keys(n),u={};return o.forEach((function(r){var n=t[r];Array.isArray(n)&&n.length>0&&(u[r]=[{message:n[0]}])})),u}},l=function(){for(var n=arguments.length,e=new Array(n),o=0;o<n;o++)e[o]=arguments[o];for(var a=e.map((function(r){return null==r?void 0:r.configs})).filter((function(r){return!!r})),i=Object.assign.apply(Object,[{}].concat(r(a))),c=function(){var n=Object.keys(i)[f];i[n]=u.apply(void 0,[{}].concat(r(a.map((function(r){return r?r[n]:{Rules:[]}}))))),i[n].Rules=a.map((function(r){return r?r[n]:{Rules:[]}})).reduce((function(n,e){var t;return n.push.apply(n,r(null!==(t=null==e?void 0:e.Rules)&&void 0!==t?t:[])),n}),[])},f=0;f<Object.keys(i).length;f++)c();return new t(i)};export{c as SingleValidate,i as convertFormDataToJson,f as getErrorFromResponse,a as getErrorMessage,l as validateMerge};
157
2
  //# sourceMappingURL=helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, IPartialError } from './validator'\r\n\r\ntype IAnyObject = { [key: string]: any }\r\nconst objectAssign = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = sources.filter((x) => x) as T[]\r\n return temps.reduce((a, b) => {\r\n a = Object.assign(a, b)\r\n return a\r\n }, model)\r\n}\r\n\r\nconst deepMerge = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n sources = sources.filter((x) => !!x)\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = [model, ...sources].filter((x) => x)\r\n const fieldObjects = temps.reduce<string[]>((a, b) => {\r\n if (!b) return a\r\n const fields = Object.keys(b).filter((x) => typeof b[x] === 'object' && !Array.isArray(b[x]))\r\n a.push(...fields)\r\n return a\r\n }, [])\r\n\r\n const target = objectAssign<T>(model, ...temps.slice(1))\r\n const temp = target as any\r\n const temp2 = temps.slice(1).filter((x) => !!x) as Partial<T>[]\r\n for (let index = 0; index < fieldObjects.length; index++) {\r\n const element = fieldObjects[index]\r\n temp[element] = deepMerge({}, temp[element], ...temp2.map((x) => x[element]))\r\n }\r\n return target\r\n}\r\n\r\nexport const getErrorMessage = function <TModel>(MessageErrors: IPartialError<TModel> | undefined, key?: keyof TModel): IModelError {\r\n return MessageErrors && (MessageErrors as any)[key] ? { ...(MessageErrors as any)[key][0], error: true } : { error: false, message: '' }\r\n}\r\n\r\ntype IModelBase = {\r\n [key: string]: any\r\n}\r\n\r\nexport const convertFormDataToJson = function <TModel>(form: FormData): Partial<TModel> {\r\n const data = Array.from(form as any).reduce<Partial<TModel>>((a: unknown | any, b: any) => {\r\n if (!a[b[0]]) {\r\n a[b[0]] = b[1]\r\n } else if (Array.isArray(a[b[0]])) {\r\n a[b[0]].push(b[1])\r\n } else {\r\n a[b[0]] = [a[b[0]], b[1]]\r\n }\r\n return a\r\n }, {} as any) as any\r\n\r\n Object.keys(data).forEach((key) => {\r\n const value = data[key]\r\n if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {\r\n data[key] = value.toString().toLocaleLowerCase() === 'true'\r\n }\r\n })\r\n return data\r\n}\r\n\r\nexport const SingleValidate = function <TModel, TPartial = TModel>(\r\n key: keyof TModel,\r\n modelState: TPartial,\r\n MessageErrors: IPartialError<TModel>,\r\n Validator: FormValidator<TPartial>\r\n) {\r\n const messageErrors = Validator.run(modelState) as { [key: string]: any }\r\n if (messageErrors) {\r\n let errors = (MessageErrors || {}) as { [key: string]: any }\r\n const keys = Object.keys(modelState as any)\r\n .filter((key) => !!(modelState as any)[key])\r\n .filter((key) => ((modelState as any)[key] instanceof File ? !!((modelState as any)[key] as File).size : false))\r\n keys.push(key as string)\r\n keys.forEach((key) => {\r\n if (messageErrors[key]) {\r\n errors[key] = messageErrors[key]\r\n } else {\r\n delete errors[key]\r\n }\r\n })\r\n return errors\r\n }\r\n return null\r\n}\r\n\r\nexport const getErrorFromResponse = function <TModel>(error: AxiosError, ModelRender: TModel) {\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(ModelRender as any)\r\n const MessageErrors: IPartialError<TModel> | undefined = {}\r\n keys.forEach((key) => {\r\n const messages = data[key]\r\n if (Array.isArray(messages) && messages.length > 0) {\r\n ;(MessageErrors as any)[key] = [{ message: messages[0] }]\r\n }\r\n })\r\n return MessageErrors\r\n }\r\n}\r\n\r\nexport const clearFieldEmpty = <TModel>(model: Extract<TModel, IModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, IModelBase>) => {\r\n if (!model[key]) delete model[key]\r\n })\r\n}\r\n\r\nexport const validateMerge = <TModel>(...validateor: (FormValidator<TModel> | undefined)[]): FormValidator<TModel> => {\r\n const configs = validateor.map((x) => x?.configs).filter((x) => !!x)\r\n\r\n let temp: any = Object.assign({}, ...configs)\r\n\r\n for (let index = 0; index < Object.keys(temp).length; index++) {\r\n const key = Object.keys(temp)[index]\r\n //merge configs\r\n temp[key] = deepMerge({}, ...configs.map((x) => (x ? x[key] : { Rules: [] })))\r\n //merge rules\r\n temp[key].Rules = configs\r\n .map((x) => (x ? x[key] : { Rules: [] }))\r\n .reduce<IRuleOption<TModel>[]>((a, b) => {\r\n a.push(...(b?.Rules ?? []))\r\n return a\r\n }, [])\r\n }\r\n return new FormValidator(temp)\r\n}\r\n"],"names":["objectAssign","model","_len","arguments","length","sources","Array","_key","temps","filter","x","reduce","a","b","Object","assign","deepMerge","_len2","_key2","concat","_toConsumableArray","fieldObjects","fields","keys","_typeof","isArray","push","apply","target","slice","temp","temp2","_loop","element","index","map","getErrorMessage","MessageErrors","key","_objectSpread","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","getErrorFromResponse","ModelRender","_error$response","response","messages","validateMerge","_len3","validateor","_key3","configs","_loop2","Rules","_b$Rules","FormValidator"],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sources":["../../src/form/helper.ts"],"sourcesContent":["import { AxiosError } from 'axios'\r\nimport FormValidator, { IModelError, IRuleOption, IPartialError } from './validator'\r\n\r\ntype IAnyObject = { [key: string]: any }\r\nconst objectAssign = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = sources.filter((x) => x) as T[]\r\n return temps.reduce((a, b) => {\r\n a = Object.assign(a, b)\r\n return a\r\n }, model)\r\n}\r\n\r\nconst deepMerge = <T extends IAnyObject>(model: T, ...sources: (Partial<T> | undefined)[]) => {\r\n sources = sources.filter((x) => !!x)\r\n if (sources.length < 1) {\r\n return model\r\n }\r\n const temps = [model, ...sources].filter((x) => x)\r\n const fieldObjects = temps.reduce<string[]>((a, b) => {\r\n if (!b) return a\r\n const fields = Object.keys(b).filter((x) => typeof b[x] === 'object' && !Array.isArray(b[x]))\r\n a.push(...fields)\r\n return a\r\n }, [])\r\n\r\n const target = objectAssign<T>(model, ...temps.slice(1))\r\n const temp = target as any\r\n const temp2 = temps.slice(1).filter((x) => !!x) as Partial<T>[]\r\n for (let index = 0; index < fieldObjects.length; index++) {\r\n const element = fieldObjects[index]\r\n temp[element] = deepMerge({}, temp[element], ...temp2.map((x) => x[element]))\r\n }\r\n return target\r\n}\r\n\r\nexport const getErrorMessage = function <TModel>(MessageErrors: IPartialError<TModel> | undefined, key?: keyof TModel): IModelError {\r\n return MessageErrors && (MessageErrors as any)[key] ? { ...(MessageErrors as any)[key][0], error: true } : { error: false, message: '' }\r\n}\r\n\r\ntype IModelBase = {\r\n [key: string]: any\r\n}\r\n\r\nexport const convertFormDataToJson = function <TModel>(form: FormData): Partial<TModel> {\r\n const data = Array.from(form as any).reduce<Partial<TModel>>((a: unknown | any, b: any) => {\r\n if (!a[b[0]]) {\r\n a[b[0]] = b[1]\r\n } else if (Array.isArray(a[b[0]])) {\r\n a[b[0]].push(b[1])\r\n } else {\r\n a[b[0]] = [a[b[0]], b[1]]\r\n }\r\n return a\r\n }, {} as any) as any\r\n\r\n Object.keys(data).forEach((key) => {\r\n const value = data[key]\r\n if (typeof value === 'string' && (value.toString().toLocaleLowerCase() === 'true' || value.toString().toLocaleLowerCase() === 'false')) {\r\n data[key] = value.toString().toLocaleLowerCase() === 'true'\r\n }\r\n })\r\n return data\r\n}\r\n\r\nexport const SingleValidate = function <TModel, TPartial = TModel>(\r\n key: keyof TModel,\r\n modelState: TPartial,\r\n MessageErrors: IPartialError<TModel>,\r\n Validator: FormValidator<TPartial>\r\n) {\r\n const messageErrors = Validator.run(modelState) as { [key: string]: any }\r\n if (messageErrors) {\r\n let errors = (MessageErrors || {}) as { [key: string]: any }\r\n const keys = Object.keys(modelState as any)\r\n .filter((key) => !!(modelState as any)[key])\r\n .filter((key) => ((modelState as any)[key] instanceof File ? !!((modelState as any)[key] as File).size : false))\r\n keys.push(key as string)\r\n keys.forEach((key) => {\r\n if (messageErrors[key]) {\r\n errors[key] = messageErrors[key]\r\n } else {\r\n delete errors[key]\r\n }\r\n })\r\n return errors\r\n }\r\n return null\r\n}\r\n\r\nexport const getErrorFromResponse = function <TModel>(error: AxiosError, ModelRender: TModel) {\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(ModelRender as any)\r\n const MessageErrors: IPartialError<TModel> | undefined = {}\r\n keys.forEach((key) => {\r\n const messages = data[key]\r\n if (Array.isArray(messages) && messages.length > 0) {\r\n ;(MessageErrors as any)[key] = [{ message: messages[0] }]\r\n }\r\n })\r\n return MessageErrors\r\n }\r\n}\r\n\r\nexport const clearFieldEmpty = <TModel>(model: Extract<TModel, IModelBase>) => {\r\n Object.keys(model).forEach((key: keyof Extract<TModel, IModelBase>) => {\r\n if (!model[key]) delete model[key]\r\n })\r\n}\r\n\r\nexport const validateMerge = <TModel>(...validateor: (FormValidator<TModel> | undefined)[]): FormValidator<TModel> => {\r\n const configs = validateor.map((x) => x?.configs).filter((x) => !!x)\r\n\r\n let temp: any = Object.assign({}, ...configs)\r\n\r\n for (let index = 0; index < Object.keys(temp).length; index++) {\r\n const key = Object.keys(temp)[index]\r\n //merge configs\r\n temp[key] = deepMerge({}, ...configs.map((x) => (x ? x[key] : { Rules: [] })))\r\n //merge rules\r\n temp[key].Rules = configs\r\n .map((x) => (x ? x[key] : { Rules: [] }))\r\n .reduce<IRuleOption<TModel>[]>((a, b) => {\r\n a.push(...(b?.Rules ?? []))\r\n return a\r\n }, [])\r\n }\r\n return new FormValidator(temp)\r\n}\r\n"],"names":["objectAssign","model","_len","arguments","length","sources","Array","_key","filter","x","reduce","a","b","Object","assign","deepMerge","_len2","_key2","temps","concat","_toConsumableArray","fieldObjects","fields","keys","_typeof","isArray","push","apply","target","slice","temp","temp2","_loop","element","index","map","getErrorMessage","MessageErrors","key","_objectSpread","error","message","convertFormDataToJson","form","data","from","forEach","value","toString","toLocaleLowerCase","SingleValidate","modelState","Validator","messageErrors","run","errors","File","size","getErrorFromResponse","ModelRender","_error$response","response","messages","validateMerge","_len3","validateor","_key3","configs","_loop2","Rules","_b$Rules","FormValidator"],"mappings":"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"}
@@ -1,82 +1,2 @@
1
- import { defineProperty as _defineProperty } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
- import { styled, Paper, IconButton, Box, Typography } from '@mui/material';
4
- import CloseIcon from '@mui/icons-material/Close';
5
- import 'react';
6
- import '../api-context/alert-global.js';
7
- import '../api-context/drawer-global.js';
8
- import { MapGlobalModalContext } from '../api-context/global-modal.js';
9
-
10
- var FormModalWrapper = function FormModalWrapper(props) {
11
- return MapGlobalModalContext(function (context) {
12
- var _props$slots, _props$slots2;
13
- return jsxs(Wrap, {
14
- size: props.size,
15
- className: props.fullHeight ? 'full-height' : undefined,
16
- children: [jsxs(TopBar, {
17
- sx: (_props$slots = props.slots) === null || _props$slots === void 0 ? void 0 : _props$slots.sxTopbarProps,
18
- children: [((_props$slots2 = props.slots) === null || _props$slots2 === void 0 ? void 0 : _props$slots2.beforeTitle) && jsxs(Fragment, {
19
- children: [props.slots.beforeTitle, jsx(Box, {
20
- flex: 1
21
- })]
22
- }), jsx(Typography, {
23
- component: 'h3',
24
- variant: 'subtitle1',
25
- sx: {
26
- mt: '2px',
27
- ml: '8px',
28
- fontWeight: 700
29
- },
30
- children: props.title
31
- }), jsx(Box, {
32
- flex: 1
33
- }), jsx(BtnClose, {
34
- onClick: function onClick() {
35
- props.onCloseClick && props.onCloseClick();
36
- context.close();
37
- },
38
- children: jsx(CloseIcon, {})
39
- })]
40
- }), props.children]
41
- });
42
- });
43
- };
44
- var Wrap = styled(Paper)(function (_ref) {
45
- var theme = _ref.theme,
46
- size = _ref.size;
47
- return _defineProperty(_defineProperty({
48
- maxHeight: 'calc(100vh - 24px)',
49
- overflow: 'hidden',
50
- display: 'flex',
51
- flexDirection: 'column',
52
- position: 'relative',
53
- maxWidth: 'calc(100vw - 24px)',
54
- width: theme.breakpoints.values[size !== null && size !== void 0 ? size : 'lg']
55
- }, theme.breakpoints.down('sm'), {
56
- width: 'calc(100vw - 24px)'
57
- }), '&.full-height', {
58
- height: 'calc(100vh - 24px)'
59
- });
60
- });
61
- var BtnClose = styled(IconButton)({
62
- flex: '0 0 auto',
63
- color: '#3c3c3c',
64
- '& svg': {
65
- transition: 'all 0.2s'
66
- },
67
- '&:hover svg': {
68
- color: '#ff200c'
69
- }
70
- });
71
- var TopBar = styled(Box)({
72
- display: 'flex',
73
- alignItems: 'center',
74
- padding: '0 8px 0 8px',
75
- gap: '6px',
76
- flex: '0 0 auto',
77
- boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',
78
- height: '48px'
79
- });
80
-
81
- export { FormModalWrapper as default };
1
+ import{defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as e,jsx as i,Fragment as o}from"react/jsx-runtime";import{styled as t,Paper as r,IconButton as a,Box as n,Typography as p}from"@mui/material";import s from"@mui/icons-material/Close";import"react";import"../api-context/alert-global.js";import"../api-context/drawer-global.js";import{MapGlobalModalContext as c}from"../api-context/global-modal.js";var x=function(l){return c((function(t){var r,a;return e(m,{size:l.size,className:l.fullHeight?"full-height":void 0,children:[e(h,{sx:null===(r=l.slots)||void 0===r?void 0:r.sxTopbarProps,children:[(null===(a=l.slots)||void 0===a?void 0:a.beforeTitle)&&e(o,{children:[l.slots.beforeTitle,i(n,{flex:1})]}),i(p,{component:"h3",variant:"subtitle1",sx:{mt:"2px",ml:"8px",fontWeight:700},children:l.title}),i(n,{flex:1}),i(f,{onClick:function(){l.onCloseClick&&l.onCloseClick(),t.close()},children:i(s,{})})]}),l.children]})}))},m=t(r)((function(e){var i=e.theme,o=e.size;return l(l({maxHeight:"calc(100vh - 24px)",overflow:"hidden",display:"flex",flexDirection:"column",position:"relative",maxWidth:"calc(100vw - 24px)",width:i.breakpoints.values[null!=o?o:"lg"]},i.breakpoints.down("sm"),{width:"calc(100vw - 24px)"}),"&.full-height",{height:"calc(100vh - 24px)"})})),f=t(a)({flex:"0 0 auto",color:"#3c3c3c","& svg":{transition:"all 0.2s"},"&:hover svg":{color:"#ff200c"}}),h=t(n)({display:"flex",alignItems:"center",padding:"0 8px 0 8px",gap:"6px",flex:"0 0 auto",boxShadow:"rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px",height:"48px"});export{x as default};
82
2
  //# sourceMappingURL=modal-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-wrapper.js","sources":["../../src/form/modal-wrapper.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react'\r\nimport { Box, Breakpoint, IconButton, Paper, styled, SxProps, Theme, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { MapGlobalModalContext } from '../api-context'\r\n\r\nexport interface IFormModalWrapperProps extends PropsWithChildren {\r\n title: string\r\n size?: Breakpoint\r\n fullHeight?: boolean\r\n onCloseClick?: () => void\r\n slots?: {\r\n sxTopbarProps?: SxProps<Theme>\r\n beforeTitle?: JSX.Element\r\n }\r\n}\r\n\r\nconst FormModalWrapper: FC<IFormModalWrapperProps> = (props) => {\r\n return MapGlobalModalContext((context) => (\r\n <Wrap size={props.size} className={props.fullHeight ? 'full-height' : undefined}>\r\n <TopBar sx={props.slots?.sxTopbarProps}>\r\n {props.slots?.beforeTitle && (\r\n <>\r\n {props.slots.beforeTitle}\r\n <Box flex={1} />\r\n </>\r\n )}\r\n <Typography component='h3' variant='subtitle1' sx={{ mt: '2px', ml: '8px', fontWeight: 700 }}>\r\n {props.title}\r\n </Typography>\r\n <Box flex={1} />\r\n <BtnClose\r\n onClick={() => {\r\n props.onCloseClick && props.onCloseClick()\r\n context.close()\r\n }}\r\n >\r\n <CloseIcon />\r\n </BtnClose>\r\n </TopBar>\r\n {props.children}\r\n </Wrap>\r\n ))\r\n}\r\nexport default FormModalWrapper\r\n\r\nconst Wrap = styled(Paper)<{ size?: Breakpoint }>(({ theme, size }) => ({\r\n maxHeight: 'calc(100vh - 24px)',\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n maxWidth: 'calc(100vw - 24px)',\r\n width: theme.breakpoints.values[size ?? 'lg'],\r\n [theme.breakpoints.down('sm')]: { width: 'calc(100vw - 24px)' },\r\n '&.full-height': {\r\n height: 'calc(100vh - 24px)'\r\n }\r\n}))\r\n\r\nconst BtnClose = styled(IconButton)({\r\n flex: '0 0 auto',\r\n color: '#3c3c3c',\r\n '& svg': { transition: 'all 0.2s' },\r\n '&:hover svg': { color: '#ff200c' }\r\n})\r\n\r\nconst TopBar = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 8px 0 8px',\r\n gap: '6px',\r\n flex: '0 0 auto',\r\n boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',\r\n height: '48px'\r\n})\r\n"],"names":["FormModalWrapper","props","MapGlobalModalContext","context","_props$slots","_props$slots2","_jsxs","Wrap","size","className","fullHeight","undefined","children","TopBar","sx","slots","sxTopbarProps","beforeTitle","_Fragment","_jsx","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":";;;;;;;;;AAgBA,IAAMA,gBAAgB,GAA+B,SAA/CA,gBAAgBA,CAAgCC,KAAK,EAAI;EAC7D,OAAOC,qBAAqB,CAAC,UAACC,OAAO,EAAA;IAAA,IAAAC,YAAA,EAAAC,aAAA;IAAA,OACnCC,IAAC,CAAAC,IAAI,EAAC;MAAAC,IAAI,EAAEP,KAAK,CAACO,IAAI;AAAEC,MAAAA,SAAS,EAAER,KAAK,CAACS,UAAU,GAAG,aAAa,GAAGC,SAAS;AAC7EC,MAAAA,QAAA,EAAA,CAAAN,IAAA,CAACO,MAAM,EAAA;QAACC,EAAE,EAAA,CAAAV,YAAA,GAAEH,KAAK,CAACc,KAAK,MAAA,IAAA,IAAAX,YAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,YAAA,CAAaY,aAAa;mBACnC,CAAA,CAAAX,aAAA,GAAAJ,KAAK,CAACc,KAAK,MAAA,IAAA,IAAAV,aAAA,KAAA,MAAA,GAAA,MAAA,GAAXA,aAAA,CAAaY,WAAW,KACvBX,IAAA,CAAAY,QAAA,EAAA;UAAAN,QAAA,EAAA,CACGX,KAAK,CAACc,KAAK,CAACE,WAAW,EACxBE,IAACC,GAAG,EAAA;AAACC,YAAAA,IAAI,EAAE;AAAC,WAAA,CAAI;UAEnB,EACDF,GAAC,CAAAG,UAAU,EAAC;AAAAC,UAAAA,SAAS,EAAC,IAAI;AAACC,UAAAA,OAAO,EAAC,WAAW;AAACV,UAAAA,EAAE,EAAE;AAAEW,YAAAA,EAAE,EAAE,KAAK;AAAEC,YAAAA,EAAE,EAAE,KAAK;AAAEC,YAAAA,UAAU,EAAE;WAAK;oBACzF1B,KAAK,CAAC2B;AAAK,SAAA,CACD,EACbT,GAAA,CAACC,GAAG,EAAC;AAAAC,UAAAA,IAAI,EAAE;AAAK,SAAA,CAAA,EAChBF,GAAC,CAAAU,QAAQ,EACP;AAAAC,UAAAA,OAAO,EAAE,SAATA,OAAOA,GAAO;AACZ7B,YAAAA,KAAK,CAAC8B,YAAY,IAAI9B,KAAK,CAAC8B,YAAY,EAAE;YAC1C5B,OAAO,CAAC6B,KAAK,EAAE;WAChB;AAEDpB,UAAAA,QAAA,EAAAO,GAAA,CAACc,SAAS,EAAA,EAAA;AACD,SAAA,CAAA;AAAA,OAAA,CACJ,EACRhC,KAAK,CAACW,QAAQ;AACV,KAAA,CAAA;AAAA,GACR,CAAC;AACJ;AAGA,IAAML,IAAI,GAAG2B,MAAM,CAACC,KAAK,CAAC,CAAwB,UAAAC,IAAA,EAAA;AAAA,EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAE7B,IAAI,GAAA4B,IAAA,CAAJ5B,IAAI;EAAA,OAAA8B,eAAA,CAAAA,eAAA,CAAA;AAC9DC,IAAAA,SAAS,EAAE,oBAAoB;AAC/BC,IAAAA,QAAQ,EAAE,QAAQ;AAClBC,IAAAA,OAAO,EAAE,MAAM;AACfC,IAAAA,aAAa,EAAE,QAAQ;AACvBC,IAAAA,QAAQ,EAAE,UAAU;AACpBC,IAAAA,QAAQ,EAAE,oBAAoB;AAC9BC,IAAAA,KAAK,EAAER,KAAK,CAACS,WAAW,CAACC,MAAM,CAACvC,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,MAAAA,GAAAA,IAAI,GAAI,IAAI;GAC3C6B,EAAAA,KAAK,CAACS,WAAW,CAACE,IAAI,CAAC,IAAI,CAAC,EAAG;AAAEH,IAAAA,KAAK,EAAE;GAAsB,CAAA,EAC/D,eAAe,EAAE;AACfI,IAAAA,MAAM,EAAE;GACT,CAAA;AAAA,CACD,CAAC;AAEH,IAAMpB,QAAQ,GAAGK,MAAM,CAACgB,UAAU,CAAC,CAAC;AAClC7B,EAAAA,IAAI,EAAE,UAAU;AAChB8B,EAAAA,KAAK,EAAE,SAAS;AAChB,EAAA,OAAO,EAAE;AAAEC,IAAAA,UAAU,EAAE;GAAY;AACnC,EAAA,aAAa,EAAE;AAAED,IAAAA,KAAK,EAAE;AAAW;AACpC,CAAA,CAAC;AAEF,IAAMtC,MAAM,GAAGqB,MAAM,CAACd,GAAG,CAAC,CAAC;AACzBqB,EAAAA,OAAO,EAAE,MAAM;AACfY,EAAAA,UAAU,EAAE,QAAQ;AACpBC,EAAAA,OAAO,EAAE,aAAa;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVlC,EAAAA,IAAI,EAAE,UAAU;AAChBmC,EAAAA,SAAS,EAAE,sFAAsF;AACjGP,EAAAA,MAAM,EAAE;AACT,CAAA,CAAC;;;;"}
1
+ {"version":3,"file":"modal-wrapper.js","sources":["../../src/form/modal-wrapper.tsx"],"sourcesContent":["import React, { FC, PropsWithChildren } from 'react'\r\nimport { Box, Breakpoint, IconButton, Paper, styled, SxProps, Theme, Typography } from '@mui/material'\r\nimport CloseIcon from '@mui/icons-material/Close'\r\nimport { MapGlobalModalContext } from '../api-context'\r\n\r\nexport interface IFormModalWrapperProps extends PropsWithChildren {\r\n title: string\r\n size?: Breakpoint\r\n fullHeight?: boolean\r\n onCloseClick?: () => void\r\n slots?: {\r\n sxTopbarProps?: SxProps<Theme>\r\n beforeTitle?: JSX.Element\r\n }\r\n}\r\n\r\nconst FormModalWrapper: FC<IFormModalWrapperProps> = (props) => {\r\n return MapGlobalModalContext((context) => (\r\n <Wrap size={props.size} className={props.fullHeight ? 'full-height' : undefined}>\r\n <TopBar sx={props.slots?.sxTopbarProps}>\r\n {props.slots?.beforeTitle && (\r\n <>\r\n {props.slots.beforeTitle}\r\n <Box flex={1} />\r\n </>\r\n )}\r\n <Typography component='h3' variant='subtitle1' sx={{ mt: '2px', ml: '8px', fontWeight: 700 }}>\r\n {props.title}\r\n </Typography>\r\n <Box flex={1} />\r\n <BtnClose\r\n onClick={() => {\r\n props.onCloseClick && props.onCloseClick()\r\n context.close()\r\n }}\r\n >\r\n <CloseIcon />\r\n </BtnClose>\r\n </TopBar>\r\n {props.children}\r\n </Wrap>\r\n ))\r\n}\r\nexport default FormModalWrapper\r\n\r\nconst Wrap = styled(Paper)<{ size?: Breakpoint }>(({ theme, size }) => ({\r\n maxHeight: 'calc(100vh - 24px)',\r\n overflow: 'hidden',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n position: 'relative',\r\n maxWidth: 'calc(100vw - 24px)',\r\n width: theme.breakpoints.values[size ?? 'lg'],\r\n [theme.breakpoints.down('sm')]: { width: 'calc(100vw - 24px)' },\r\n '&.full-height': {\r\n height: 'calc(100vh - 24px)'\r\n }\r\n}))\r\n\r\nconst BtnClose = styled(IconButton)({\r\n flex: '0 0 auto',\r\n color: '#3c3c3c',\r\n '& svg': { transition: 'all 0.2s' },\r\n '&:hover svg': { color: '#ff200c' }\r\n})\r\n\r\nconst TopBar = styled(Box)({\r\n display: 'flex',\r\n alignItems: 'center',\r\n padding: '0 8px 0 8px',\r\n gap: '6px',\r\n flex: '0 0 auto',\r\n boxShadow: 'rgba(145, 158, 171, 0.1) 0px 0px 2px 0px,rgba(145, 158, 171, 0.12) 0px 0px 24px -4px',\r\n height: '48px'\r\n})\r\n"],"names":["FormModalWrapper","props","MapGlobalModalContext","context","_props$slots","_props$slots2","_jsxs","Wrap","size","className","fullHeight","undefined","children","TopBar","sx","slots","sxTopbarProps","beforeTitle","_Fragment","_jsx","Box","flex","Typography","component","variant","mt","ml","fontWeight","title","BtnClose","onClick","onCloseClick","close","CloseIcon","styled","Paper","_ref","theme","_defineProperty","maxHeight","overflow","display","flexDirection","position","maxWidth","width","breakpoints","values","down","height","IconButton","color","transition","alignItems","padding","gap","boxShadow"],"mappings":"kbAgBA,IAAMA,EAA+C,SAACC,GACpD,OAAOC,GAAsB,SAACC,GAAO,IAAAC,EAAAC,EAAA,OACnCC,EAACC,EAAK,CAAAC,KAAMP,EAAMO,KAAMC,UAAWR,EAAMS,WAAa,mBAAgBC,EACpEC,SAAA,CAAAN,EAACO,EAAM,CAACC,GAAe,QAAbV,EAAEH,EAAMc,aAAK,IAAAX,OAAA,EAAXA,EAAaY,yBACX,QAAXX,EAAAJ,EAAMc,aAAK,IAAAV,OAAA,EAAXA,EAAaY,cACZX,EAAAY,EAAA,CAAAN,SAAA,CACGX,EAAMc,MAAME,YACbE,EAACC,EAAG,CAACC,KAAM,OAGfF,EAACG,EAAW,CAAAC,UAAU,KAAKC,QAAQ,YAAYV,GAAI,CAAEW,GAAI,MAAOC,GAAI,MAAOC,WAAY,cACpF1B,EAAM2B,QAETT,EAACC,EAAI,CAAAC,KAAM,IACXF,EAACU,EACC,CAAAC,QAAS,WACP7B,EAAM8B,cAAgB9B,EAAM8B,eAC5B5B,EAAQ6B,OACT,EAEDpB,SAAAO,EAACc,EAAS,CAAA,QAGbhC,EAAMW,WACF,GAEX,EAGML,EAAO2B,EAAOC,EAAPD,EAAqC,SAAAE,GAAA,IAAGC,EAAKD,EAALC,MAAO7B,EAAI4B,EAAJ5B,KAAI,OAAA8B,EAAAA,EAAA,CAC9DC,UAAW,qBACXC,SAAU,SACVC,QAAS,OACTC,cAAe,SACfC,SAAU,WACVC,SAAU,qBACVC,MAAOR,EAAMS,YAAYC,OAAOvC,QAAAA,EAAQ,OACvC6B,EAAMS,YAAYE,KAAK,MAAQ,CAAEH,MAAO,uBACzC,gBAAiB,CACfI,OAAQ,sBACT,IAGGpB,EAAWK,EAAOgB,EAAPhB,CAAmB,CAClCb,KAAM,WACN8B,MAAO,UACP,QAAS,CAAEC,WAAY,YACvB,cAAe,CAAED,MAAO,aAGpBtC,EAASqB,EAAOd,EAAPc,CAAY,CACzBO,QAAS,OACTY,WAAY,SACZC,QAAS,cACTC,IAAK,MACLlC,KAAM,WACNmC,UAAW,uFACXP,OAAQ"}