@iobroker/adapter-react-v5 4.2.1 → 4.3.1

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 (152) hide show
  1. package/AdminConnection.js.map +1 -1
  2. package/Components/404.js +11 -14
  3. package/Components/404.js.map +1 -1
  4. package/Components/ColorPicker.js +2 -2
  5. package/Components/ColorPicker.js.map +1 -1
  6. package/Components/ComplexCron.d.ts +1 -1
  7. package/Components/ComplexCron.js +40 -50
  8. package/Components/ComplexCron.js.map +1 -1
  9. package/Components/CustomModal.js +8 -12
  10. package/Components/CustomModal.js.map +1 -1
  11. package/Components/FileBrowser.js +3 -2
  12. package/Components/FileBrowser.js.map +1 -1
  13. package/Components/FileViewer.d.ts +0 -2
  14. package/Components/FileViewer.js +25 -35
  15. package/Components/FileViewer.js.map +1 -1
  16. package/Components/Icon.d.ts +0 -2
  17. package/Components/Icon.js +37 -46
  18. package/Components/Icon.js.map +1 -1
  19. package/Components/IconPicker.js +8 -10
  20. package/Components/IconPicker.js.map +1 -1
  21. package/Components/IconSelector.js +1830 -1841
  22. package/Components/IconSelector.js.map +1 -1
  23. package/Components/Image.js +18 -17
  24. package/Components/Image.js.map +1 -1
  25. package/Components/JsonConfigComponent/ConfigTable.js +357 -38
  26. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  27. package/Components/Loader.js +9 -9
  28. package/Components/Loader.js.map +1 -1
  29. package/Components/Loaders/PT.js +2 -2
  30. package/Components/Loaders/PT.js.map +1 -1
  31. package/Components/Loaders/Vendor.d.ts +0 -7
  32. package/Components/Loaders/Vendor.js +1 -4
  33. package/Components/Loaders/Vendor.js.map +1 -1
  34. package/Components/Logo.js +16 -18
  35. package/Components/Logo.js.map +1 -1
  36. package/Components/MDUtils.js +2 -3
  37. package/Components/MDUtils.js.map +1 -1
  38. package/Components/ObjectBrowser.d.ts +20 -6
  39. package/Components/ObjectBrowser.js +635 -610
  40. package/Components/ObjectBrowser.js.map +1 -1
  41. package/Components/Router.d.ts +1 -1
  42. package/Components/Router.js +6 -6
  43. package/Components/Router.js.map +1 -1
  44. package/Components/SaveCloseButtons.d.ts +0 -1
  45. package/Components/SaveCloseButtons.js +17 -17
  46. package/Components/SaveCloseButtons.js.map +1 -1
  47. package/Components/Schedule.d.ts +1 -1
  48. package/Components/Schedule.js +171 -162
  49. package/Components/Schedule.js.map +1 -1
  50. package/Components/SelectWithIcon.d.ts +1 -1
  51. package/Components/SelectWithIcon.js +12 -11
  52. package/Components/SelectWithIcon.js.map +1 -1
  53. package/Components/SimpleCron/cron2text.js +71 -74
  54. package/Components/SimpleCron/cron2text.js.map +1 -1
  55. package/Components/SimpleCron/cronText.js +1 -1
  56. package/Components/SimpleCron/cronText.js.map +1 -1
  57. package/Components/SimpleCron/index.d.ts +1 -1
  58. package/Components/SimpleCron/index.js +3 -4
  59. package/Components/SimpleCron/index.js.map +1 -1
  60. package/Components/SimpleCron/jquery.cron.locale.js +77 -74
  61. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  62. package/Components/TabContainer.js +6 -7
  63. package/Components/TabContainer.js.map +1 -1
  64. package/Components/TabContent.js +4 -4
  65. package/Components/TabContent.js.map +1 -1
  66. package/Components/TabHeader.js +2 -2
  67. package/Components/TabHeader.js.map +1 -1
  68. package/Components/TableResize.js +6 -6
  69. package/Components/TableResize.js.map +1 -1
  70. package/Components/TextWithIcon.js +6 -3
  71. package/Components/TextWithIcon.js.map +1 -1
  72. package/Components/ToggleThemeMenu.d.ts +1 -1
  73. package/Components/ToggleThemeMenu.js +5 -8
  74. package/Components/ToggleThemeMenu.js.map +1 -1
  75. package/Components/TreeTable.js +170 -201
  76. package/Components/TreeTable.js.map +1 -1
  77. package/Components/UploadImage.js +11 -12
  78. package/Components/UploadImage.js.map +1 -1
  79. package/Components/Utils.d.ts +14 -7
  80. package/Components/Utils.js +219 -202
  81. package/Components/Utils.js.map +1 -1
  82. package/Components/copy-to-clipboard.js +8 -9
  83. package/Components/copy-to-clipboard.js.map +1 -1
  84. package/Components/withWidth.js.map +1 -1
  85. package/Connection.js.map +1 -1
  86. package/Dialogs/ComplexCron.d.ts +1 -3
  87. package/Dialogs/ComplexCron.js +2 -4
  88. package/Dialogs/ComplexCron.js.map +1 -1
  89. package/Dialogs/Confirm.d.ts +1 -1
  90. package/Dialogs/Confirm.js +2 -2
  91. package/Dialogs/Confirm.js.map +1 -1
  92. package/Dialogs/Cron.d.ts +1 -2
  93. package/Dialogs/Cron.js +10 -17
  94. package/Dialogs/Cron.js.map +1 -1
  95. package/Dialogs/Error.d.ts +0 -1
  96. package/Dialogs/Error.js +10 -24
  97. package/Dialogs/Error.js.map +1 -1
  98. package/Dialogs/Message.js.map +1 -1
  99. package/Dialogs/SelectFile.js +2 -2
  100. package/Dialogs/SelectFile.js.map +1 -1
  101. package/Dialogs/SelectID.d.ts +0 -4
  102. package/Dialogs/SelectID.js +3 -7
  103. package/Dialogs/SelectID.js.map +1 -1
  104. package/Dialogs/SimpleCron.d.ts +1 -3
  105. package/Dialogs/SimpleCron.js +3 -5
  106. package/Dialogs/SimpleCron.js.map +1 -1
  107. package/Dialogs/TextInput.d.ts +0 -1
  108. package/Dialogs/TextInput.js +9 -17
  109. package/Dialogs/TextInput.js.map +1 -1
  110. package/GenericApp.js +39 -42
  111. package/GenericApp.js.map +1 -1
  112. package/LegacyConnection.d.ts +6 -6
  113. package/LegacyConnection.js +61 -63
  114. package/LegacyConnection.js.map +1 -1
  115. package/Prompt.js.map +1 -1
  116. package/README.md +19 -10
  117. package/Theme.js +1 -1
  118. package/Theme.js.map +1 -1
  119. package/assets/devices/parseNames.js +1 -1
  120. package/assets/rooms/parseNames.js +1 -1
  121. package/i18n/de.json +12 -1
  122. package/i18n/en.json +12 -1
  123. package/i18n/es.json +12 -1
  124. package/i18n/fr.json +12 -1
  125. package/i18n/it.json +12 -1
  126. package/i18n/nl.json +12 -1
  127. package/i18n/pl.json +12 -1
  128. package/i18n/pt.json +12 -1
  129. package/i18n/ru.json +12 -1
  130. package/i18n/uk.json +12 -1
  131. package/i18n/zh-cn.json +12 -1
  132. package/i18n.d.ts +1 -1
  133. package/i18n.js +20 -18
  134. package/i18n.js.map +1 -1
  135. package/icons/IconAdapter.js.map +1 -1
  136. package/icons/IconAlias.js.map +1 -1
  137. package/icons/IconChannel.js.map +1 -1
  138. package/icons/IconClearFilter.js.map +1 -1
  139. package/icons/IconClosed.js.map +1 -1
  140. package/icons/IconCopy.js.map +1 -1
  141. package/icons/IconDevice.js.map +1 -1
  142. package/icons/IconDocument.js.map +1 -1
  143. package/icons/IconDocumentReadOnly.js.map +1 -1
  144. package/icons/IconExpert.js.map +1 -1
  145. package/icons/IconFx.js.map +1 -1
  146. package/icons/IconInstance.js.map +1 -1
  147. package/icons/IconLogout.js.map +1 -1
  148. package/icons/IconNoIcon.js.map +1 -1
  149. package/icons/IconOpen.js.map +1 -1
  150. package/icons/IconState.js.map +1 -1
  151. package/index.js +0 -1
  152. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"TreeTable.js","names":["_react","_interopRequireDefault","require","_propTypes","_withStyles","_reactColorful","_Fab","_Table","_TableBody","_TableCell","_TableHead","_TableRow","_TableSortLabel","_IconButton","_Select","_MenuItem","_TextField","_Checkbox","_Dialog","_Edit","_Delete","_NavigateNext","_ExpandMore","_Check","_Close","_Add","_ViewHeadline","_Colorize","_SelectID","_Utils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getAttr","obj","attr","lookup","split","name","shift","setAttr","value","undefined","styles","theme","tableContainer","width","height","overflow","table","minWidth","maxWidth","cell","paddingTop","paddingBottom","paddingLeft","paddingRight","rowMainWithChildren","rowMainWithoutChildren","rowNoEdit","opacity","cellExpand","cellButton","cellHeader","fontWeight","background","palette","mode","color","wordBreak","whiteSpace","width_name_nicknames","width_ioType","width_type","width_displayTraits","width_roomHint","rowSecondary","fontStyle","cellSecondary","fontSize","visuallyHidden","border","clip","margin","padding","position","top","fieldEditWithButton","display","fieldEdit","lineHeight","verticalAlign","fieldButton","colorDialog","subText","glow","animation","descendingComparator","a","b","orderBy","_a","_b","getComparator","order","stableSort","array","comparator","stabilizedThis","map","el","index","sort","TreeTable","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","opened","window","_localStorage","localStorage","getItem","JSON","parse","Array","isArray","state","editMode","deleteMode","editData","update","columns","field","useTable","showSelectColor","glowOnChange","_createClass2","renderCellEdit","item","col","val","renderCellEditSelect","editComponent","renderCellEditCustom","type","renderCellEditBoolean","renderCellEditColor","renderCellEditObjectID","renderCellEditNumber","renderCellEditString","_this2","createElement","variant","onChange","setState","v","_this3","className","classes","fullWidth","_this4","_this5","EditComponent","stringify","rowData","newVal","_this6","checked","inputProps","renderSelectColorDialog","_this7","root","paper","onClose","selectCallback","open","HexColorPicker","selectIdValue","_this8","_val","style","backgroundColor","Utils","isUseBright","onClick","newColor","size","renderSelectIdDialog","_this9","showSelectId","imagePrefix","dialogName","adapterName","themeType","socket","statesOnly","selected","onOk","_this10","renderCellNonEdit","disabled","renderCell","level","editable","clsx","cellStyle","component","renderCellWithSubField","main","sub","subField","subLookup","mainText","subStyle","renderLine","_this11","levelShift","data","indexOf","parentId","includes","id","children","it","toString","replace","row","_toConsumableArray2","pos","splice","setItem","scope","assign","ii","hidden","onUpdate","newData","onDelete","handleRequestSort","property","isAsc","renderHead","_this12","headerStyle","sortDirection","noSort","active","direction","title","noAdd","render","_this13","find","updateTimeout","clearTimeout","setTimeout","stickyHeader","getDerivedStateFromProps","count","line","oldLine","React","Component","propTypes","PropTypes","isRequired","string","loading","bool","arrayOf","shape","func","oneOf","number","_default","withStyles","exports"],"sources":["TreeTable.js"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport Fab from '@mui/material/Fab';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport IconButton from '@mui/material/IconButton';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Checkbox from '@mui/material/Checkbox';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconEdit from '@mui/icons-material/Edit';\nimport IconDelete from '@mui/icons-material/Delete';\nimport IconExpand from '@mui/icons-material/NavigateNext';\nimport IconCollapse from '@mui/icons-material/ExpandMore';\nimport IconCheck from '@mui/icons-material/Check';\nimport IconClose from '@mui/icons-material/Close';\nimport IconAdd from '@mui/icons-material/Add';\nimport IconList from '@mui/icons-material/ViewHeadline';\nimport IconColor from '@mui/icons-material/Colorize';\n\nimport DialogSelectID from '../Dialogs/SelectID';\nimport Utils from './Utils';\n\nfunction getAttr(obj, attr, lookup) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n } else {\n return obj[attr[0]];\n }\n } else {\n const name = attr.shift();\n return getAttr(obj[name], attr);\n }\n}\n\nfunction setAttr(obj, attr, value) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return obj[attr[0]] = value;\n } else {\n const name = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n }\n}\n\nconst styles = theme => ({\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto'\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {\n\n },\n rowMainWithoutChildren: {\n\n },\n rowNoEdit: {\n opacity: 0.3,\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: theme.palette.mode === 'dark' ? '#888' : '#888',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n fieldEditWithButton: {\n width: `calc(100% - 33px)`,\n display: 'inline-block',\n },\n fieldEdit: {\n width: `100%`,\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate'\n },\n});\n\nfunction descendingComparator(a, b, orderBy, lookup) {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n } else\n if (_b > _a) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction getComparator(order, orderBy, lookup) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order) {\n return order;\n } else {\n return a[1] - b[1];\n }\n });\n\n return stabilizedThis.map(el => el[0]);\n}\n\nclass TreeTable extends React.Component {\n constructor(props) {\n super(props);\n\n let opened = (window._localStorage || window.localStorage).getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch (e) {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n useTable: false,\n showSelectColor: false,\n glowOnChange: props.glowOnChange,\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.glowOnChange) {\n const update = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return { data: props.data, update };\n } else {\n return { data: props.data };\n }\n } else {\n return { data: props.data };\n }\n }\n\n renderCellEdit(item, col) {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(item, col, val);\n } if (col.editComponent) {\n return this.renderCellEditCustom(item, col, val);\n } else {\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(item, col, val);\n } else if (col.type === 'color') {\n return this.renderCellEditColor(item, col, val);\n } else if (col.type === 'oid') {\n return this.renderCellEditObjectID(item, col, val);\n\t\t\t} else if (col.type === 'numeric') {\n return this.renderCellEditNumber(item, col, val);\n\t\t\t} else {\n\t\t\t\treturn this.renderCellEditString(item, col, val);\n\t\t\t}\n\t\t}\n\t}\n\n renderCellEditSelect(item, col, val) {\n return <Select\n variant=\"standard\"\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n\t\t}} value={(this.state.editData && this.state.editData[col.field]) || val}>\n {Object.keys(col.lookup)\n .map((v, i) => <MenuItem key={i} value={v}>{col.lookup[v]}</MenuItem>)}\n </Select>;\n }\n\n renderCellEditString(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n\n\trenderCellEditNumber(item, col, val) {\n\t\treturn <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n type=\"number\"\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n\t}\n\n\n renderCellEditCustom(item, col, val) {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return <EditComponent\n value={val}\n rowData={item}\n onChange={newVal => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newVal === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newVal;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditBoolean(item, col, val) {\n return <Checkbox\n checked={this.state.editData && this.state.editData[col.field] !== undefined ? !!this.state.editData[col.field] : !!val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.checked === !!val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.checked;\n }\n this.setState({editData});\n }}\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n renderSelectColorDialog() {\n return <Dialog\n classes={{root: this.props.classes.colorDialog, paper: this.props.classes.colorDialog}}\n onClose={() => {\n this.selectCallback = null;\n this.setState({ showSelectColor: false });\n }}\n open={this.state.showSelectColor}>\n <ColorPicker\n color={this.state.selectIdValue}\n onChange={color =>\n this.setState({ selectIdValue: color }, () =>\n this.selectCallback && this.selectCallback(color))}\n />\n </Dialog>;\n }\n\n renderCellEditColor(item, col, val) {\n const _val = this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={_val}\n inputProps={{ style: { backgroundColor: _val, color: Utils.isUseBright(_val, null) ? '#FFF' : '#000'} }}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = newColor => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newColor === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newColor;\n }\n this.setState({editData});\n };\n\n this.setState({ showSelectColor: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconColor/>\n </IconButton>\n </div>;\n }\n\n renderSelectIdDialog() {\n if (this.state.showSelectId) {\n return <DialogSelectID\n key=\"tableSelect\"\n imagePrefix=\"../..\"\n dialogName={this.props.adapterName}\n themeType={this.props.themeType}\n socket={this.props.socket}\n statesOnly\n selected={this.state.selectIdValue}\n onClose={() => this.setState({ showSelectId: false })}\n onOk={(selected, name) => {\n this.setState({ showSelectId: false, selectIdValue: null });\n this.selectCallback && this.selectCallback(selected);\n this.selectCallback = null;\n }}\n />;\n } else {\n return null;\n }\n }\n\n renderCellEditObjectID(item, col, val) {\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = selected => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (selected === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = selected;\n }\n this.setState({editData});\n };\n\n this.setState({ showSelectId: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconList/>\n </IconButton>\n </div>;\n }\n\n renderCellNonEdit(item, col) {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return <Checkbox\n checked={!!val}\n disabled\n inputProps={{ 'aria-label': 'checkbox' }}\n />\n } else {\n return val;\n }\n }\n\n renderCell(item, col, level, i) {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellEdit(item, col)}\n </TableCell>;\n } else {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\" >\n {this.renderCellNonEdit(item, col)}\n </TableCell>;\n }\n }\n\n renderCellWithSubField(item, col) {\n const main = getAttr(item, col.field, col.lookup);\n const sub = getAttr(item, col.subField, col.subLookup);\n return <div>\n <div className={this.props.classes.mainText}>{main}</div>\n <div className={this.props.classes.subText} style={col.subStyle || {}}>{sub}</div>\n </div>;\n }\n\n renderLine(item, level) {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n } else if (level && !item.parentId) {\n return null; // should never happen\n } else {\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n return [\n <TableRow\n key={item.id}\n className={Utils.clsx(\n 'table-row-' + (item.id || '').toString().replace(/[.$]/g, '_'),\n this.state.update && this.state.update.includes(item.id) && this.props.classes.glow,\n this.props.classes.row,\n level && this.props.classes.rowSecondary,\n !level && children.length && this.props.classes.rowMainWithChildren,\n !level && !children.length && this.props.classes.rowMainWithoutChildren,\n this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit,\n this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit,\n )}\n >\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)}>\n {children.length ? <IconButton\n onClick={() => {\n const opened = [...this.state.opened];\n const pos = opened.indexOf(item.id);\n if (pos === -1) {\n opened.push(item.id);\n opened.sort();\n } else {\n opened.splice(pos, 1);\n }\n\n (window._localStorage || window.localStorage).setItem(this.props.name || 'iob-table', JSON.stringify(opened));\n\n this.setState({opened});\n }}\n size=\"small\">\n {opened ? <IconCollapse/> : <IconExpand/>}\n </IconButton> : null}\n </TableCell>\n <TableCell\n scope=\"row\"\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={Object.assign({}, this.props.columns[0].cellStyle, {paddingLeft: levelShift * level})}\n >\n {this.props.columns[0].subField ?\n this.renderCellWithSubField(item, this.props.columns[0])\n :\n getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)\n }\n </TableCell>\n\n {this.props.columns.map((col, ii) =>\n !ii && !col.hidden ? null : this.renderCell(item, col, level, i))}\n\n {this.props.onUpdate ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n Object.keys(this.state.editData).forEach(attr => setAttr(newData, attr, this.state.editData[attr]));\n this.setState({editMode: false}, () => this.props.onUpdate(newData, item))\n } else {\n this.setState({deleteMode: false}, () => this.props.onDelete(item))\n }\n }}\n size=\"large\">\n <IconCheck/>\n </IconButton>\n :\n <IconButton\n disabled={this.state.editMode !== false}\n onClick={() => this.setState({editMode: i, editData: null})}\n size=\"large\">\n <IconEdit/>\n </IconButton>}\n </TableCell> : null}\n\n {this.props.onDelete && !this.props.onUpdate ?\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => this.setState({deleteMode: false}, () => this.props.onDelete(item))}\n size='large'\n >\n <IconCheck/>\n </IconButton>\n :\n null}\n </TableCell> : null}\n\n {this.props.onUpdate || this.props.onDelete ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n onClick={() => this.setState({editMode: false, deleteMode: false})}\n size=\"large\">\n <IconClose/>\n </IconButton>\n :\n (this.props.onDelete ? <IconButton\n disabled={this.state.deleteMode !== false}\n onClick={() => this.setState({deleteMode: i})}\n size=\"large\"\n >\n <IconDelete/>\n </IconButton> : null)\n }\n </TableCell> : null}\n </TableRow>,\n !level && opened ? children.map(item =>\n this.renderLine(item, level + 1)) : null,\n ];\n }\n }\n\n handleRequestSort(property) {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({order: isAsc ? 'desc' : 'asc', orderBy: property});\n }\n\n renderHead() {\n return <TableHead>\n <TableRow key=\"headerRow\">\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellExpand)}\n />\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + this.props.columns[0].field.replace(/\\./g, '_')])}\n style={this.props.columns[0].headerStyle || this.props.columns[0].cellStyle}\n sortDirection={this.props.noSort ? false : (this.state.orderBy === this.props.columns[0].field ? this.state.order : false)}\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === this.props.columns[0].field}\n direction={this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel>}\n </TableCell>\n {this.props.columns.map((col, i) =>\n !i && !col.hidden ? null : <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + col.field.replace(/\\./g, '_')])}\n style={col.headerStyle || col.cellStyle}\n component=\"th\"\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === col.field}\n direction={this.state.orderBy === col.field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel> }\n </TableCell>)}\n {this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}>\n {!this.props.noAdd ? <Fab\n color=\"primary\"\n size=\"small\"\n disabled={this.state.editMode !== false}\n onClick={() => this.props.onUpdate(true)}>\n <IconAdd/>\n </Fab>: null }\n </TableCell> : null}\n {this.props.onDelete || this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}/> : null}\n </TableRow>\n </TableHead>;\n }\n\n render() {\n const lookup = this.props.columns.find(col => col.field === this.state.orderBy).lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({update: null});\n }, 500);\n }\n\n return <div className={Utils.clsx(this.props.classes.tableContainer, this.props.className)}>\n <Table className={this.props.classes.table} aria-label=\"simple table\" size=\"small\" stickyHeader>\n {this.renderHead()}\n <TableBody>\n {table.map(item => this.renderLine(item))}\n </TableBody>\n </Table>\n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n </div>;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n <div>Prefix&#123; <br/>\n <textarea\n rows={4}\n style={{width: '100%', resize: 'vertical'}}\n value={props.value}\n onChange={e => props.onChange(e.target.value)}\n />\n Suffix\n </div>,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return <div className={this.props.classes.tableDiv}>\n <TreeTable\n columns={this.columns}\n data={lines}\n onUpdate={(newData, oldData) => console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n </div>;\n}\n */\n\nTreeTable.propTypes = {\n data: PropTypes.array.isRequired,\n className: PropTypes.string,\n loading: PropTypes.bool,\n name: PropTypes.string, // name of table to save settings in localStorage\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n cellStyle: PropTypes.object,\n editComponent: PropTypes.func,\n field: PropTypes.string,\n headerStyle: PropTypes.object,\n hidden: PropTypes.bool,\n lookup: PropTypes.object,\n editable: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf([\n 'string',\n 'boolean',\n 'numeric',\n 'icon', // todo: not yet implemented\n 'oid',\n 'color',\n ]),\n })\n ).isRequired,\n noSort: PropTypes.bool,\n onUpdate: PropTypes.func,\n onDelete: PropTypes.func,\n noAdd: PropTypes.bool, // hide add button\n themeType: PropTypes.string,\n glowOnChange: PropTypes.bool,\n socket: PropTypes.object, // only if oid type is used\n levelShift: PropTypes.number, // Shift in pixels for every level\n};\n\nexport default withStyles(styles)(TreeTable);"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,UAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,UAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,UAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,SAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,eAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,OAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,SAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,UAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,SAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,OAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAEA,IAAAiB,KAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,OAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,aAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,WAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,MAAA,GAAAtB,sBAAA,CAAAC,OAAA;AACA,IAAAsB,MAAA,GAAAvB,sBAAA,CAAAC,OAAA;AACA,IAAAuB,IAAA,GAAAxB,sBAAA,CAAAC,OAAA;AACA,IAAAwB,aAAA,GAAAzB,sBAAA,CAAAC,OAAA;AACA,IAAAyB,SAAA,GAAA1B,sBAAA,CAAAC,OAAA;AAEA,IAAA0B,SAAA,GAAA3B,sBAAA,CAAAC,OAAA;AACA,IAAA2B,MAAA,GAAA5B,sBAAA,CAAAC,OAAA;AAA4B,SAAA4B,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAlB,KAAA,OAAAI,SAAA,gBAAAqB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA;AAE5B,SAASC,OAAOA,CAACC,GAAG,EAAEC,IAAI,EAAEC,MAAM,EAAE;EAChC,IAAI,OAAOD,IAAI,KAAK,QAAQ,EAAE;IAC1BA,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC;EAC1B;EAEA,IAAI,CAACH,GAAG,EAAE;IACN,OAAO,IAAI;EACf;EAEA,IAAIC,IAAI,CAAC9B,MAAM,KAAK,CAAC,EAAE;IACnB,IAAI+B,MAAM,IAAIA,MAAM,CAACF,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;MAChC,OAAOC,MAAM,CAACF,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,MAAM;MACH,OAAOD,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvB;EACJ,CAAC,MAAM;IACH,IAAMG,IAAI,GAAGH,IAAI,CAACI,KAAK,CAAC,CAAC;IACzB,OAAON,OAAO,CAACC,GAAG,CAACI,IAAI,CAAC,EAAEH,IAAI,CAAC;EACnC;AACJ;AAEA,SAASK,OAAOA,CAACN,GAAG,EAAEC,IAAI,EAAEM,KAAK,EAAE;EAC/B,IAAI,OAAON,IAAI,KAAK,QAAQ,EAAE;IAC1BA,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC;EAC1B;EAEA,IAAIF,IAAI,CAAC9B,MAAM,KAAK,CAAC,EAAE;IACnB,OAAO6B,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAGM,KAAK;EAC/B,CAAC,MAAM;IACH,IAAMH,IAAI,GAAGH,IAAI,CAACI,KAAK,CAAC,CAAC;IACzB,IAAIL,GAAG,CAACI,IAAI,CAAC,KAAK,IAAI,IAAIJ,GAAG,CAACI,IAAI,CAAC,KAAKI,SAAS,EAAE;MAC/CR,GAAG,CAACI,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB;IACA,OAAOE,OAAO,CAACN,GAAG,CAACI,IAAI,CAAC,EAAEH,IAAI,EAAEM,KAAK,CAAC;EAC1C;AACJ;AAEA,IAAME,MAAM,GAAG,SAATA,MAAMA,CAAGC,KAAK;EAAA,OAAK;IACrBC,cAAc,EAAE;MACZC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAE,MAAM;MACdC,QAAQ,EAAE;IACd,CAAC;IACDC,KAAK,EAAE;MACHH,KAAK,EAAE,MAAM;MACbI,QAAQ,EAAE,GAAG;MACbC,QAAQ,EAAE;IACd,CAAC;IACDC,IAAI,EAAE;MACFC,UAAU,EAAE,CAAC;MACbC,aAAa,EAAE,CAAC;MAChBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE;IAClB,CAAC;IACDC,mBAAmB,EAAE,CAErB,CAAC;IACDC,sBAAsB,EAAE,CAExB,CAAC;IACDC,SAAS,EAAE;MACPC,OAAO,EAAE;IACb,CAAC;IACDC,UAAU,EAAE;MACRf,KAAK,EAAE;IACX,CAAC;IACDgB,UAAU,EAAE;MACRhB,KAAK,EAAE;IACX,CAAC;IACDiB,UAAU,EAAE;MACRC,UAAU,EAAE,MAAM;MAClBC,UAAU,EAAErB,KAAK,CAACsB,OAAO,CAACC,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM;MAC3DC,KAAK,EAAExB,KAAK,CAACsB,OAAO,CAACC,IAAI,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM;MACtDpB,MAAM,EAAE,EAAE;MACVsB,SAAS,EAAE,YAAY;MACvBC,UAAU,EAAE;IAChB,CAAC;IACDC,oBAAoB,EAAE;MAClBpB,QAAQ,EAAE;IACd,CAAC;IACDqB,YAAY,EAAE;MACVrB,QAAQ,EAAE;IACd,CAAC;IACDsB,UAAU,EAAE;MACRtB,QAAQ,EAAE;IACd,CAAC;IACDuB,mBAAmB,EAAE;MACjBvB,QAAQ,EAAE;IACd,CAAC;IACDwB,cAAc,EAAE;MACZxB,QAAQ,EAAE;IACd,CAAC;IACDyB,YAAY,EAAE;MACVC,SAAS,EAAE;IACf,CAAC;IACDC,aAAa,EAAE;MACXC,QAAQ,EAAE;IACd,CAAC;IACDC,cAAc,EAAE;MACZC,MAAM,EAAE,CAAC;MACTC,IAAI,EAAE,eAAe;MACrBnC,MAAM,EAAE,CAAC;MACToC,MAAM,EAAE,CAAC,CAAC;MACVnC,QAAQ,EAAE,QAAQ;MAClBoC,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,UAAU;MACpBC,GAAG,EAAE,EAAE;MACPxC,KAAK,EAAE;IACX,CAAC;IACDyC,mBAAmB,EAAE;MACjBzC,KAAK,qBAAqB;MAC1B0C,OAAO,EAAE;IACb,CAAC;IACDC,SAAS,EAAE;MACP3C,KAAK,QAAQ;MACb0C,OAAO,EAAE,cAAc;MACvBE,UAAU,EAAE,MAAM;MAClBC,aAAa,EAAE;IACnB,CAAC;IACDC,WAAW,EAAE;MACT9C,KAAK,EAAE,EAAE;MACT0C,OAAO,EAAE;IACb,CAAC;IACDK,WAAW,EAAE;MACT7C,QAAQ,EAAE,QAAQ;MAClBoC,OAAO,EAAE;IACb,CAAC;IACDU,OAAO,EAAE;MACLf,QAAQ,EAAE,EAAE;MACZF,SAAS,EAAE;IACf,CAAC;IACDkB,IAAI,EAAE;MACFC,SAAS,EAAE;IACf;EACJ,CAAC;AAAA,CAAC;AAEF,SAASC,oBAAoBA,CAACC,CAAC,EAAEC,CAAC,EAAEC,OAAO,EAAEhE,MAAM,EAAE;EACjD,IAAMiE,EAAE,GAAGpE,OAAO,CAACiE,CAAC,EAAEE,OAAO,EAAEhE,MAAM,CAAC,IAAI,EAAE;EAC5C,IAAMkE,EAAE,GAAGrE,OAAO,CAACkE,CAAC,EAAEC,OAAO,EAAEhE,MAAM,CAAC,IAAI,EAAE;EAE5C,IAAIkE,EAAE,GAAGD,EAAE,EAAE;IACT,OAAO,CAAC,CAAC;EACb,CAAC,MACD,IAAIC,EAAE,GAAGD,EAAE,EAAE;IACT,OAAO,CAAC;EACZ,CAAC,MAAM;IACH,OAAO,CAAC;EACZ;AACJ;AAEA,SAASE,aAAaA,CAACC,KAAK,EAAEJ,OAAO,EAAEhE,MAAM,EAAE;EAC3C,OAAOoE,KAAK,KAAK,MAAM,GACjB,UAACN,CAAC,EAAEC,CAAC;IAAA,OAAKF,oBAAoB,CAACC,CAAC,EAAEC,CAAC,EAAEC,OAAO,EAAEhE,MAAM,CAAC;EAAA,IACrD,UAAC8D,CAAC,EAAEC,CAAC;IAAA,OAAK,CAACF,oBAAoB,CAACC,CAAC,EAAEC,CAAC,EAAEC,OAAO,EAAEhE,MAAM,CAAC;EAAA;AAChE;AAEA,SAASqE,UAAUA,CAACC,KAAK,EAAEC,UAAU,EAAE;EACnC,IAAMC,cAAc,GAAGF,KAAK,CAACG,GAAG,CAAC,UAACC,EAAE,EAAEC,KAAK;IAAA,OAAK,CAACD,EAAE,EAAEC,KAAK,CAAC;EAAA,EAAC;EAE5DH,cAAc,CAACI,IAAI,CAAC,UAACd,CAAC,EAAEC,CAAC,EAAK;IAC1B,IAAMK,KAAK,GAAGG,UAAU,CAACT,CAAC,CAAC,CAAC,CAAC,EAAEC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,IAAIK,KAAK,EAAE;MACP,OAAOA,KAAK;IAChB,CAAC,MAAM;MACH,OAAON,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC;IACtB;EACJ,CAAC,CAAC;EAEF,OAAOS,cAAc,CAACC,GAAG,CAAC,UAAAC,EAAE;IAAA,OAAIA,EAAE,CAAC,CAAC,CAAC;EAAA,EAAC;AAC1C;AAAC,IAEKG,SAAS,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,SAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAvG,YAAA,CAAAoG,SAAA;EACX,SAAAA,UAAYI,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAN,SAAA;IACfK,KAAA,GAAAF,MAAA,CAAArF,IAAA,OAAMsF,KAAK;IAEX,IAAIG,MAAM,GAAG,CAACC,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAEC,OAAO,CAACN,KAAA,CAAKD,KAAK,CAAC/E,IAAI,IAAI,WAAW,CAAC,IAAI,IAAI;IAC1G,IAAI;MACAkF,MAAM,GAAGK,IAAI,CAACC,KAAK,CAACN,MAAM,CAAC,IAAI,EAAE;IACrC,CAAC,CAAC,OAAOxF,CAAC,EAAE;MACRwF,MAAM,GAAG,EAAE;IACf;IACA,IAAI,CAACO,KAAK,CAACC,OAAO,CAACR,MAAM,CAAC,EAAE;MACxBA,MAAM,GAAG,EAAE;IACf;IAEAF,KAAA,CAAKW,KAAK,GAAG;MACTT,MAAM,EAANA,MAAM;MACNU,QAAQ,EAAE,KAAK;MACfC,UAAU,EAAE,KAAK;MACjBC,QAAQ,EAAE,IAAI;MACd5B,KAAK,EAAE,KAAK;MACZ6B,MAAM,EAAE,IAAI;MACZjC,OAAO,EAAEkB,KAAA,CAAKD,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK;MACpCC,QAAQ,EAAE,KAAK;MACfC,eAAe,EAAE,KAAK;MACtBC,YAAY,EAAErB,KAAK,CAACqB;IACxB,CAAC;IAAC,OAAApB,KAAA;EACN;EAAC,IAAAqB,aAAA,aAAA1B,SAAA;IAAAzG,GAAA;IAAAiC,KAAA,EA8BD,SAAAmG,eAAeC,IAAI,EAAEC,GAAG,EAAE;MACtB,IAAIC,GAAG,GAAG9G,OAAO,CAAC4G,IAAI,EAAEC,GAAG,CAACP,KAAK,CAAC;MAClC,IAAIR,KAAK,CAACC,OAAO,CAACe,GAAG,CAAC,EAAE;QACpBA,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC;MAChB;MAEA,IAAID,GAAG,CAAC1G,MAAM,EAAE;QACZ,OAAO,IAAI,CAAC4G,oBAAoB,CAACH,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;MACpD;MAAE,IAAID,GAAG,CAACG,aAAa,EAAE;QACrB,OAAO,IAAI,CAACC,oBAAoB,CAACL,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;MACpD,CAAC,MAAM;QACH,IAAID,GAAG,CAACK,IAAI,KAAK,SAAS,IAAK,CAACL,GAAG,CAACK,IAAI,IAAI,OAAOJ,GAAG,KAAK,SAAU,EAAE;UACnE,OAAO,IAAI,CAACK,qBAAqB,CAACP,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;QACrD,CAAC,MAAM,IAAID,GAAG,CAACK,IAAI,KAAK,OAAO,EAAE;UAC7B,OAAO,IAAI,CAACE,mBAAmB,CAACR,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;QACnD,CAAC,MAAM,IAAID,GAAG,CAACK,IAAI,KAAK,KAAK,EAAE;UAC3B,OAAO,IAAI,CAACG,sBAAsB,CAACT,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;QAC/D,CAAC,MAAM,IAAID,GAAG,CAACK,IAAI,KAAK,SAAS,EAAE;UACtB,OAAO,IAAI,CAACI,oBAAoB,CAACV,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;QAC7D,CAAC,MAAM;UACN,OAAO,IAAI,CAACS,oBAAoB,CAACX,IAAI,EAAEC,GAAG,EAAEC,GAAG,CAAC;QACjD;MACD;IACD;EAAC;IAAAvI,GAAA;IAAAiC,KAAA,EAEE,SAAAuG,qBAAqBH,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAAU,MAAA;MACjC,oBAAOnM,MAAA,YAAAoM,aAAA,CAACtL,OAAA,WAAM;QACVuL,OAAO,EAAC,UAAU;QAClBC,QAAQ,EAAE,SAAAA,SAAA5H,CAAC,EAAI;UACX,IAAMoG,QAAQ,GAAGqB,MAAI,CAACxB,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQwJ,MAAI,CAACxB,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIpG,CAAC,CAAC9B,MAAM,CAACuC,KAAK,KAAKsG,GAAG,EAAE;YACxB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGvG,CAAC,CAAC9B,MAAM,CAACuC,KAAK;UACxC;UACAgH,MAAI,CAACI,QAAQ,CAAC;YAACzB,QAAQ,EAARA;UAAQ,CAAC,CAAC;QACvC,CAAE;QAAC3F,KAAK,EAAG,IAAI,CAACwF,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,IAAKQ;MAAI,GAC9DvJ,MAAM,CAACD,IAAI,CAACuJ,GAAG,CAAC1G,MAAM,CAAC,CACnByE,GAAG,CAAC,UAACiD,CAAC,EAAE3J,CAAC;QAAA,oBAAK7C,MAAA,YAAAoM,aAAA,CAACrL,SAAA,WAAQ;UAACmC,GAAG,EAAEL,CAAE;UAACsC,KAAK,EAAEqH;QAAE,GAAEhB,GAAG,CAAC1G,MAAM,CAAC0H,CAAC,CAAY,CAAC;MAAA,EACrE,CAAC;IACb;EAAC;IAAAtJ,GAAA;IAAAiC,KAAA,EAED,SAAA+G,qBAAqBX,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAAgB,MAAA;MACjC,oBAAOzM,MAAA,YAAAoM,aAAA,CAACpL,UAAA,WAAS;QACbqL,OAAO,EAAC,UAAU;QAClBK,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACxE,SAAU;QACxCyE,SAAS;QACTzH,KAAK,EAAE,IAAI,CAACwF,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,KAAK7F,SAAS,GAAG,IAAI,CAACuF,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGQ,GAAI;QAClHa,QAAQ,EAAE,SAAAA,SAAA5H,CAAC,EAAI;UACX,IAAMoG,QAAQ,GAAG2B,MAAI,CAAC9B,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQ8J,MAAI,CAAC9B,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIpG,CAAC,CAAC9B,MAAM,CAACuC,KAAK,KAAKsG,GAAG,EAAE;YACxB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGvG,CAAC,CAAC9B,MAAM,CAACuC,KAAK;UACxC;UACAsH,MAAI,CAACF,QAAQ,CAAC;YAAEzB,QAAQ,EAARA;UAAS,CAAC,CAAC;QAC/B;MAAE,CACL,CAAC;IACN;EAAC;IAAA5H,GAAA;IAAAiC,KAAA,EAGJ,SAAA8G,qBAAqBV,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAAoB,MAAA;MACpC,oBAAO7M,MAAA,YAAAoM,aAAA,CAACpL,UAAA,WAAS;QACPqL,OAAO,EAAC,UAAU;QAClBK,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACxE,SAAU;QACxC0D,IAAI,EAAC,QAAQ;QACbe,SAAS;QACTzH,KAAK,EAAE,IAAI,CAACwF,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,KAAK7F,SAAS,GAAG,IAAI,CAACuF,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGQ,GAAI;QAClHa,QAAQ,EAAE,SAAAA,SAAA5H,CAAC,EAAI;UACX,IAAMoG,QAAQ,GAAG+B,MAAI,CAAClC,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQkK,MAAI,CAAClC,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIpG,CAAC,CAAC9B,MAAM,CAACuC,KAAK,KAAKsG,GAAG,EAAE;YACxB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGvG,CAAC,CAAC9B,MAAM,CAACuC,KAAK;UACxC;UACA0H,MAAI,CAACN,QAAQ,CAAC;YAAEzB,QAAQ,EAARA;UAAS,CAAC,CAAC;QAC/B;MAAE,CACL,CAAC;IACT;EAAC;IAAA5H,GAAA;IAAAiC,KAAA,EAGE,SAAAyG,qBAAqBL,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAAqB,MAAA;MACjC,IAAMC,aAAa,GAAGvB,GAAG,CAACG,aAAa;;MAEvC;MACA,IAAI,IAAI,CAAChB,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,KAAK7F,SAAS,EAAE;QACrEqG,GAAG,GAAG,IAAI,CAACd,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;QACpCM,IAAI,GAAGhB,IAAI,CAACC,KAAK,CAACD,IAAI,CAACyC,SAAS,CAACzB,IAAI,CAAC,CAAC;QACvCA,IAAI,CAACC,GAAG,CAACP,KAAK,CAAC,GAAGQ,GAAG;MACzB;MAEA,oBAAOzL,MAAA,YAAAoM,aAAA,CAACW,aAAa;QACjB5H,KAAK,EAAEsG,GAAI;QACXwB,OAAO,EAAE1B,IAAK;QACde,QAAQ,EAAE,SAAAA,SAAAY,MAAM,EAAI;UAChB,IAAMpC,QAAQ,GAAGgC,MAAI,CAACnC,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQmK,MAAI,CAACnC,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIoC,MAAM,KAAKzB,GAAG,EAAE;YAChB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGiC,MAAM;UAChC;UACAJ,MAAI,CAACP,QAAQ,CAAC;YAAEzB,QAAQ,EAARA;UAAS,CAAC,CAAC;QAC/B;MAAE,CACL,CAAC;IACN;EAAC;IAAA5H,GAAA;IAAAiC,KAAA,EAED,SAAA2G,sBAAsBP,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAA0B,MAAA;MAClC,oBAAOnN,MAAA,YAAAoM,aAAA,CAACnL,SAAA,WAAQ;QACZmM,OAAO,EAAE,IAAI,CAACzC,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,KAAK7F,SAAS,GAAG,CAAC,CAAC,IAAI,CAACuF,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAG,CAAC,CAACQ,GAAI;QACxHa,QAAQ,EAAE,SAAAA,SAAA5H,CAAC,EAAI;UACX,IAAMoG,QAAQ,GAAGqC,MAAI,CAACxC,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQwK,MAAI,CAACxC,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIpG,CAAC,CAAC9B,MAAM,CAACwK,OAAO,KAAK,CAAC,CAAC3B,GAAG,EAAE;YAC5B,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGvG,CAAC,CAAC9B,MAAM,CAACwK,OAAO;UAC1C;UACAD,MAAI,CAACZ,QAAQ,CAAC;YAACzB,QAAQ,EAARA;UAAQ,CAAC,CAAC;QAC7B,CAAE;QACFuC,UAAU,EAAE;UAAE,YAAY,EAAE;QAAW;MAAE,CAC5C,CAAC;IACN;EAAC;IAAAnK,GAAA;IAAAiC,KAAA,EAED,SAAAmI,wBAAA,EAA0B;MAAA,IAAAC,MAAA;MACtB,oBAAOvN,MAAA,YAAAoM,aAAA,CAAClL,OAAA,WAAM;QACVyL,OAAO,EAAE;UAACa,IAAI,EAAE,IAAI,CAACzD,KAAK,CAAC4C,OAAO,CAACpE,WAAW;UAAEkF,KAAK,EAAE,IAAI,CAAC1D,KAAK,CAAC4C,OAAO,CAACpE;QAAW,CAAE;QACvFmF,OAAO,EAAE,SAAAA,QAAA,EAAM;UACXH,MAAI,CAACI,cAAc,GAAG,IAAI;UAC1BJ,MAAI,CAAChB,QAAQ,CAAC;YAAEpB,eAAe,EAAE;UAAM,CAAC,CAAC;QAC7C,CAAE;QACFyC,IAAI,EAAE,IAAI,CAACjD,KAAK,CAACQ;MAAgB,gBACjCnL,MAAA,YAAAoM,aAAA,CAAC/L,cAAA,CAAAwN,cAAW;QACR/G,KAAK,EAAE,IAAI,CAAC6D,KAAK,CAACmD,aAAc;QAChCxB,QAAQ,EAAE,SAAAA,SAAAxF,KAAK;UAAA,OACXyG,MAAI,CAAChB,QAAQ,CAAC;YAAEuB,aAAa,EAAEhH;UAAM,CAAC,EAAE;YAAA,OACpCyG,MAAI,CAACI,cAAc,IAAIJ,MAAI,CAACI,cAAc,CAAC7G,KAAK,CAAC;UAAA,EAAC;QAAA;MAAC,CAC9D,CACG,CAAC;IACb;EAAC;IAAA5D,GAAA;IAAAiC,KAAA,EAED,SAAA4G,oBAAoBR,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAAsC,MAAA;MAChC,IAAMC,IAAI,GAAG,IAAI,CAACrD,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,KAAK7F,SAAS,GAAG,IAAI,CAACuF,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGQ,GAAG;MACvH,oBAAOzL,MAAA,YAAAoM,aAAA;QAAKM,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACxE;MAAU,gBAChDnI,MAAA,YAAAoM,aAAA,CAACpL,UAAA,WAAS;QACNqL,OAAO,EAAC,UAAU;QAClBO,SAAS;QACTF,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAAC1E,mBAAoB;QAClD9C,KAAK,EAAE6I,IAAK;QACZX,UAAU,EAAE;UAAEY,KAAK,EAAE;YAAEC,eAAe,EAAEF,IAAI;YAAElH,KAAK,EAAEqH,iBAAK,CAACC,WAAW,CAACJ,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,GAAG;UAAM;QAAE,CAAE;QACxG1B,QAAQ,EAAE,SAAAA,SAAA5H,CAAC,EAAI;UACX,IAAMoG,QAAQ,GAAGiD,MAAI,CAACpD,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQoL,MAAI,CAACpD,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIpG,CAAC,CAAC9B,MAAM,CAACuC,KAAK,KAAKsG,GAAG,EAAE;YACxB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGvG,CAAC,CAAC9B,MAAM,CAACuC,KAAK;UACxC;UACA4I,MAAI,CAACxB,QAAQ,CAAC;YAACzB,QAAQ,EAARA;UAAQ,CAAC,CAAC;QAC7B;MAAE,CACL,CAAC,eAEF9K,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;QACP6L,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACrE,WAAY;QAC1C+F,OAAO,EAAE,SAAAA,QAAA,EAAM;UACXN,MAAI,CAACJ,cAAc,GAAG,UAAAW,QAAQ,EAAI;YAC9B,IAAMxD,QAAQ,GAAGiD,MAAI,CAACpD,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQoL,MAAI,CAACpD,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;YACtE,IAAIwD,QAAQ,KAAK7C,GAAG,EAAE;cAClB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;YAC9B,CAAC,MAAM;cACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGqD,QAAQ;YAClC;YACAP,MAAI,CAACxB,QAAQ,CAAC;cAACzB,QAAQ,EAARA;YAAQ,CAAC,CAAC;UAC7B,CAAC;UAEDiD,MAAI,CAACxB,QAAQ,CAAC;YAAEpB,eAAe,EAAE,IAAI;YAAE2C,aAAa,EAAErC;UAAI,CAAC,CAAC;QAChE,CAAE;QACF8C,IAAI,EAAC;MAAO,gBAEZvO,MAAA,YAAAoM,aAAA,CAACzK,SAAA,WAAS,MAAC,CACH,CACX,CAAC;IACV;EAAC;IAAAuB,GAAA;IAAAiC,KAAA,EAED,SAAAqJ,qBAAA,EAAuB;MAAA,IAAAC,MAAA;MACnB,IAAI,IAAI,CAAC9D,KAAK,CAAC+D,YAAY,EAAE;QACzB,oBAAO1O,MAAA,YAAAoM,aAAA,CAACxK,SAAA,WAAc;UAClBsB,GAAG,EAAC,aAAa;UACjByL,WAAW,EAAC,OAAO;UACnBC,UAAU,EAAE,IAAI,CAAC7E,KAAK,CAAC8E,WAAY;UACnCC,SAAS,EAAE,IAAI,CAAC/E,KAAK,CAAC+E,SAAU;UAChCC,MAAM,EAAE,IAAI,CAAChF,KAAK,CAACgF,MAAO;UAC1BC,UAAU;UACVC,QAAQ,EAAE,IAAI,CAACtE,KAAK,CAACmD,aAAc;UACnCJ,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMe,MAAI,CAAClC,QAAQ,CAAC;cAAEmC,YAAY,EAAE;YAAM,CAAC,CAAC;UAAA,CAAC;UACtDQ,IAAI,EAAE,SAAAA,KAACD,QAAQ,EAAEjK,IAAI,EAAK;YACtByJ,MAAI,CAAClC,QAAQ,CAAC;cAAEmC,YAAY,EAAE,KAAK;cAAEZ,aAAa,EAAE;YAAK,CAAC,CAAC;YAC3DW,MAAI,CAACd,cAAc,IAAIc,MAAI,CAACd,cAAc,CAACsB,QAAQ,CAAC;YACpDR,MAAI,CAACd,cAAc,GAAG,IAAI;UAC9B;QAAE,CACL,CAAC;MACN,CAAC,MAAM;QACH,OAAO,IAAI;MACf;IACJ;EAAC;IAAAzK,GAAA;IAAAiC,KAAA,EAED,SAAA6G,uBAAuBT,IAAI,EAAEC,GAAG,EAAEC,GAAG,EAAE;MAAA,IAAA0D,OAAA;MACnC,oBAAOnP,MAAA,YAAAoM,aAAA;QAAKM,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACxE;MAAU,gBAChDnI,MAAA,YAAAoM,aAAA,CAACpL,UAAA,WAAS;QACNqL,OAAO,EAAC,UAAU;QAClBO,SAAS;QACTF,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAAC1E,mBAAoB;QAClD9C,KAAK,EAAE,IAAI,CAACwF,KAAK,CAACG,QAAQ,IAAI,IAAI,CAACH,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,KAAK7F,SAAS,GAAG,IAAI,CAACuF,KAAK,CAACG,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGQ,GAAI;QAClHa,QAAQ,EAAE,SAAAA,SAAA5H,CAAC,EAAI;UACX,IAAMoG,QAAQ,GAAGqE,OAAI,CAACxE,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQwM,OAAI,CAACxE,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;UACtE,IAAIpG,CAAC,CAAC9B,MAAM,CAACuC,KAAK,KAAKsG,GAAG,EAAE;YACxB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;UAC9B,CAAC,MAAM;YACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGvG,CAAC,CAAC9B,MAAM,CAACuC,KAAK;UACxC;UACAgK,OAAI,CAAC5C,QAAQ,CAAC;YAAEzB,QAAQ,EAARA;UAAS,CAAC,CAAC;QAC/B;MAAE,CACL,CAAC,eAEF9K,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;QACP6L,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACrE,WAAY;QAC1C+F,OAAO,EAAE,SAAAA,QAAA,EAAM;UACXc,OAAI,CAACxB,cAAc,GAAG,UAAAsB,QAAQ,EAAI;YAC9B,IAAMnE,QAAQ,GAAGqE,OAAI,CAACxE,KAAK,CAACG,QAAQ,GAAAnI,aAAA,KAAQwM,OAAI,CAACxE,KAAK,CAACG,QAAQ,IAAK,CAAC,CAAC;YACtE,IAAImE,QAAQ,KAAKxD,GAAG,EAAE;cAClB,OAAOX,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC;YAC9B,CAAC,MAAM;cACHH,QAAQ,CAACU,GAAG,CAACP,KAAK,CAAC,GAAGgE,QAAQ;YAClC;YACAE,OAAI,CAAC5C,QAAQ,CAAC;cAACzB,QAAQ,EAARA;YAAQ,CAAC,CAAC;UAC7B,CAAC;UAEDqE,OAAI,CAAC5C,QAAQ,CAAC;YAAEmC,YAAY,EAAE,IAAI;YAAEZ,aAAa,EAAErC;UAAI,CAAC,CAAC;QAC7D,CAAE;QACF8C,IAAI,EAAC;MAAO,gBAEZvO,MAAA,YAAAoM,aAAA,CAAC1K,aAAA,WAAQ,MAAC,CACF,CACX,CAAC;IACV;EAAC;IAAAwB,GAAA;IAAAiC,KAAA,EAED,SAAAiK,kBAAkB7D,IAAI,EAAEC,GAAG,EAAE;MACzB,IAAIC,GAAG,GAAG9G,OAAO,CAAC4G,IAAI,EAAEC,GAAG,CAACP,KAAK,EAAEO,GAAG,CAAC1G,MAAM,CAAC;MAC9C,IAAI2F,KAAK,CAACC,OAAO,CAACe,GAAG,CAAC,EAAE;QACpBA,GAAG,GAAGA,GAAG,CAAC,CAAC,CAAC;MAChB;MAEA,IAAID,GAAG,CAACK,IAAI,KAAK,SAAS,EAAE;QACxB,oBAAO7L,MAAA,YAAAoM,aAAA,CAACnL,SAAA,WAAQ;UACZmM,OAAO,EAAE,CAAC,CAAC3B,GAAI;UACf4D,QAAQ;UACRhC,UAAU,EAAE;YAAE,YAAY,EAAE;UAAW;QAAE,CAC5C,CAAC;MACN,CAAC,MAAM;QACH,OAAO5B,GAAG;MACd;IACJ;EAAC;IAAAvI,GAAA;IAAAiC,KAAA,EAED,SAAAmK,WAAW/D,IAAI,EAAEC,GAAG,EAAE+D,KAAK,EAAE1M,CAAC,EAAE;MAC5B,IAAI,IAAI,CAAC8H,KAAK,CAACC,QAAQ,KAAK/H,CAAC,IAAI2I,GAAG,CAACgE,QAAQ,KAAK,OAAO,IAAIhE,GAAG,CAACgE,QAAQ,KAAK,KAAK,EAAE;QACjF,oBAAOxP,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UACbyC,GAAG,EAAEsI,GAAG,CAACP,KAAM;UACfyB,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAEyJ,KAAK,IAAI,IAAI,CAACxF,KAAK,CAAC4C,OAAO,CAACnF,aAAa,CAAE;UAC1FyG,KAAK,EAAEzC,GAAG,CAACkE,SAAU;UACrBC,SAAS,EAAC;QAAI,GAEb,IAAI,CAACrE,cAAc,CAACC,IAAI,EAAEC,GAAG,CACvB,CAAC;MAChB,CAAC,MAAM;QACH,oBAAOxL,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UACbyC,GAAG,EAAEsI,GAAG,CAACP,KAAM;UACfyB,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAEyJ,KAAK,IAAI,IAAI,CAACxF,KAAK,CAAC4C,OAAO,CAACnF,aAAa,CAAE;UAC1FyG,KAAK,EAAEzC,GAAG,CAACkE,SAAU;UACrBC,SAAS,EAAC;QAAI,GACT,IAAI,CAACP,iBAAiB,CAAC7D,IAAI,EAAEC,GAAG,CAC1B,CAAC;MACpB;IACJ;EAAC;IAAAtI,GAAA;IAAAiC,KAAA,EAED,SAAAyK,uBAAuBrE,IAAI,EAAEC,GAAG,EAAE;MAC9B,IAAMqE,IAAI,GAAGlL,OAAO,CAAC4G,IAAI,EAAEC,GAAG,CAACP,KAAK,EAAEO,GAAG,CAAC1G,MAAM,CAAC;MACjD,IAAMgL,GAAG,GAAInL,OAAO,CAAC4G,IAAI,EAAEC,GAAG,CAACuE,QAAQ,EAAEvE,GAAG,CAACwE,SAAS,CAAC;MACvD,oBAAOhQ,MAAA,YAAAoM,aAAA,2BACHpM,MAAA,YAAAoM,aAAA;QAAKM,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACsD;MAAS,GAAEJ,IAAU,CAAC,eACzD7P,MAAA,YAAAoM,aAAA;QAAKM,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACnE,OAAQ;QAACyF,KAAK,EAAEzC,GAAG,CAAC0E,QAAQ,IAAI,CAAC;MAAE,GAAEJ,GAAS,CAChF,CAAC;IACV;EAAC;IAAA5M,GAAA;IAAAiC,KAAA,EAED,SAAAgL,WAAW5E,IAAI,EAAEgE,KAAK,EAAE;MAAA,IAAAa,OAAA;MACpB,IAAMC,UAAU,GAAG,IAAI,CAACtG,KAAK,CAACsG,UAAU,KAAKjL,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC2E,KAAK,CAACsG,UAAU;MAEnFd,KAAK,GAAGA,KAAK,IAAI,CAAC;MAClB,IAAM1M,CAAC,GAAG,IAAI,CAACkH,KAAK,CAACuG,IAAI,CAACC,OAAO,CAAChF,IAAI,CAAC;MACvC,IAAI,CAACA,IAAI,EAAE;QACP,OAAO,IAAI;MACf;MACA,IAAI,CAACgE,KAAK,IAAIhE,IAAI,CAACiF,QAAQ,EAAE;QACzB,OAAO,IAAI;MACf,CAAC,MAAM,IAAIjB,KAAK,IAAI,CAAChE,IAAI,CAACiF,QAAQ,EAAE;QAChC,OAAO,IAAI,CAAC,CAAC;MACjB,CAAC,MAAM;QACH;QACA,IAAMtG,MAAM,GAAG,IAAI,CAACS,KAAK,CAACT,MAAM,CAACuG,QAAQ,CAAClF,IAAI,CAACmF,EAAE,CAAC;QAClD,IAAMC,QAAQ,GAAG,IAAI,CAAC5G,KAAK,CAACuG,IAAI,CAACjO,MAAM,CAAC,UAAAuO,EAAE;UAAA,OAAIA,EAAE,CAACJ,QAAQ,KAAKjF,IAAI,CAACmF,EAAE;QAAA,EAAC;QAEtE,OAAO,cACH1Q,MAAA,YAAAoM,aAAA,CAACzL,SAAA,WAAQ;UACLuC,GAAG,EAAEqI,IAAI,CAACmF,EAAG;UACbhE,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CACjB,YAAY,GAAG,CAAClE,IAAI,CAACmF,EAAE,IAAI,EAAE,EAAEG,QAAQ,CAAC,CAAC,CAACC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAC/D,IAAI,CAACnG,KAAK,CAACI,MAAM,IAAI,IAAI,CAACJ,KAAK,CAACI,MAAM,CAAC0F,QAAQ,CAAClF,IAAI,CAACmF,EAAE,CAAC,IAAI,IAAI,CAAC3G,KAAK,CAAC4C,OAAO,CAAClE,IAAI,EACnF,IAAI,CAACsB,KAAK,CAAC4C,OAAO,CAACoE,GAAG,EACtBxB,KAAK,IAAK,IAAI,CAACxF,KAAK,CAAC4C,OAAO,CAACrF,YAAY,EACzC,CAACiI,KAAK,IAAIoB,QAAQ,CAAC5N,MAAM,IAAI,IAAI,CAACgH,KAAK,CAAC4C,OAAO,CAACxG,mBAAmB,EACnE,CAACoJ,KAAK,IAAI,CAACoB,QAAQ,CAAC5N,MAAM,IAAI,IAAI,CAACgH,KAAK,CAAC4C,OAAO,CAACvG,sBAAsB,EACvE,IAAI,CAACuE,KAAK,CAACC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAACD,KAAK,CAACC,QAAQ,KAAK/H,CAAC,IAAI,IAAI,CAACkH,KAAK,CAAC4C,OAAO,CAACtG,SAAS,EAC1F,IAAI,CAACsE,KAAK,CAACE,UAAU,KAAK,KAAK,IAAI,IAAI,CAACF,KAAK,CAACE,UAAU,KAAKhI,CAAC,IAAI,IAAI,CAACkH,KAAK,CAAC4C,OAAO,CAACtG,SACzF;QAAE,gBAEFrG,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UAACiM,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAACpG,UAAU,EAAEgJ,KAAK,IAAI,IAAI,CAACxF,KAAK,CAAC4C,OAAO,CAACnF,aAAa;QAAE,GAC/HmJ,QAAQ,CAAC5N,MAAM,gBAAG/C,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;UAC1BwN,OAAO,EAAE,SAAAA,QAAA,EAAM;YACX,IAAMnE,MAAM,OAAA8G,mBAAA,aAAOZ,OAAI,CAACzF,KAAK,CAACT,MAAM,CAAC;YACrC,IAAM+G,GAAG,GAAG/G,MAAM,CAACqG,OAAO,CAAChF,IAAI,CAACmF,EAAE,CAAC;YACnC,IAAIO,GAAG,KAAK,CAAC,CAAC,EAAE;cACZ/G,MAAM,CAACzH,IAAI,CAAC8I,IAAI,CAACmF,EAAE,CAAC;cACpBxG,MAAM,CAACR,IAAI,CAAC,CAAC;YACjB,CAAC,MAAM;cACHQ,MAAM,CAACgH,MAAM,CAACD,GAAG,EAAE,CAAC,CAAC;YACzB;YAEA,CAAC9G,MAAM,CAACC,aAAa,IAAID,MAAM,CAACE,YAAY,EAAE8G,OAAO,CAACf,OAAI,CAACrG,KAAK,CAAC/E,IAAI,IAAI,WAAW,EAAEuF,IAAI,CAACyC,SAAS,CAAC9C,MAAM,CAAC,CAAC;YAE7GkG,OAAI,CAAC7D,QAAQ,CAAC;cAACrC,MAAM,EAANA;YAAM,CAAC,CAAC;UAC3B,CAAE;UACFqE,IAAI,EAAC;QAAO,GACXrE,MAAM,gBAAGlK,MAAA,YAAAoM,aAAA,CAAC9K,WAAA,WAAY,MAAC,CAAC,gBAAGtB,MAAA,YAAAoM,aAAA,CAAC/K,aAAA,WAAU,MAAC,CAChC,CAAC,GAAI,IACV,CAAC,eACZrB,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UACN2Q,KAAK,EAAC,KAAK;UACX1E,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAEyJ,KAAK,IAAI,IAAI,CAACxF,KAAK,CAAC4C,OAAO,CAACnF,aAAa,CAAE;UAC1FyG,KAAK,EAAE/L,MAAM,CAACmP,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAACtH,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC0E,SAAS,EAAE;YAACzJ,WAAW,EAAEoK,UAAU,GAAGd;UAAK,CAAC;QAAE,GAE5F,IAAI,CAACxF,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC+E,QAAQ,GAC3B,IAAI,CAACH,sBAAsB,CAACrE,IAAI,EAAE,IAAI,CAACxB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC,GAExDrG,OAAO,CAAC4G,IAAI,EAAE,IAAI,CAACxB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,EAAE,IAAI,CAAClB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAClG,MAAM,CAEpE,CAAC,EAEX,IAAI,CAACiF,KAAK,CAACiB,OAAO,CAACzB,GAAG,CAAC,UAACiC,GAAG,EAAE8F,EAAE;UAAA,OAC5B,CAACA,EAAE,IAAI,CAAC9F,GAAG,CAAC+F,MAAM,GAAG,IAAI,GAAGnB,OAAI,CAACd,UAAU,CAAC/D,IAAI,EAAEC,GAAG,EAAE+D,KAAK,EAAE1M,CAAC,CAAC;QAAA,EAAC,EAEpE,IAAI,CAACkH,KAAK,CAACyH,QAAQ,gBAAGxR,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UAACiM,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAACnG,UAAU;QAAE,GAC3G,IAAI,CAACmE,KAAK,CAACC,QAAQ,KAAK/H,CAAC,IAAI,IAAI,CAAC8H,KAAK,CAACE,UAAU,KAAKhI,CAAC,gBACrD7C,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;UACPwO,QAAQ,EAAE,IAAI,CAAC1E,KAAK,CAACC,QAAQ,KAAK,KAAK,KAAK,CAAC,IAAI,CAACD,KAAK,CAACG,QAAQ,IAAI,CAAC5I,MAAM,CAACD,IAAI,CAAC,IAAI,CAAC0I,KAAK,CAACG,QAAQ,CAAC,CAAC/H,MAAM,CAAE;UAC9GsL,OAAO,EAAE,SAAAA,QAAA,EAAM;YACX,IAAI+B,OAAI,CAACzF,KAAK,CAACC,QAAQ,KAAK,KAAK,EAAE;cAC/B,IAAM6G,OAAO,GAAGlH,IAAI,CAACC,KAAK,CAACD,IAAI,CAACyC,SAAS,CAACzB,IAAI,CAAC,CAAC;cAChDrJ,MAAM,CAACD,IAAI,CAACmO,OAAI,CAACzF,KAAK,CAACG,QAAQ,CAAC,CAAC7H,OAAO,CAAC,UAAA4B,IAAI;gBAAA,OAAIK,OAAO,CAACuM,OAAO,EAAE5M,IAAI,EAAEuL,OAAI,CAACzF,KAAK,CAACG,QAAQ,CAACjG,IAAI,CAAC,CAAC;cAAA,EAAC;cACnGuL,OAAI,CAAC7D,QAAQ,CAAC;gBAAC3B,QAAQ,EAAE;cAAK,CAAC,EAAE;gBAAA,OAAMwF,OAAI,CAACrG,KAAK,CAACyH,QAAQ,CAACC,OAAO,EAAElG,IAAI,CAAC;cAAA,EAAC;YAC9E,CAAC,MAAM;cACH6E,OAAI,CAAC7D,QAAQ,CAAC;gBAAC1B,UAAU,EAAE;cAAK,CAAC,EAAE;gBAAA,OAAMuF,OAAI,CAACrG,KAAK,CAAC2H,QAAQ,CAACnG,IAAI,CAAC;cAAA,EAAC;YACvE;UACJ,CAAE;UACFgD,IAAI,EAAC;QAAO,gBACZvO,MAAA,YAAAoM,aAAA,CAAC7K,MAAA,WAAS,MAAC,CACH,CAAC,gBAEbvB,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;UACPwO,QAAQ,EAAE,IAAI,CAAC1E,KAAK,CAACC,QAAQ,KAAK,KAAM;UACxCyD,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM+B,OAAI,CAAC7D,QAAQ,CAAC;cAAC3B,QAAQ,EAAE/H,CAAC;cAAEiI,QAAQ,EAAE;YAAI,CAAC,CAAC;UAAA,CAAC;UAC5DyD,IAAI,EAAC;QAAO,gBACZvO,MAAA,YAAAoM,aAAA,CAACjL,KAAA,WAAQ,MAAC,CACF,CACT,CAAC,GAAG,IAAI,EAElB,IAAI,CAAC4I,KAAK,CAAC2H,QAAQ,IAAI,CAAC,IAAI,CAAC3H,KAAK,CAACyH,QAAQ,gBACxCxR,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UAACiM,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAACnG,UAAU;QAAE,GACpF,IAAI,CAACmE,KAAK,CAACE,UAAU,KAAKhI,CAAC,gBACxB7C,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;UACPwO,QAAQ,EAAE,IAAI,CAAC1E,KAAK,CAACC,QAAQ,KAAK,KAAK,KAAK,CAAC,IAAI,CAACD,KAAK,CAACG,QAAQ,IAAI,CAAC5I,MAAM,CAACD,IAAI,CAAC,IAAI,CAAC0I,KAAK,CAACG,QAAQ,CAAC,CAAC/H,MAAM,CAAE;UAC9GsL,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM+B,OAAI,CAAC7D,QAAQ,CAAC;cAAC1B,UAAU,EAAE;YAAK,CAAC,EAAE;cAAA,OAAMuF,OAAI,CAACrG,KAAK,CAAC2H,QAAQ,CAACnG,IAAI,CAAC;YAAA,EAAC;UAAA,CAAC;UACnFgD,IAAI,EAAC;QAAO,gBAEZvO,MAAA,YAAAoM,aAAA,CAAC7K,MAAA,WAAS,MAAC,CACH,CAAC,GAEb,IACG,CAAC,GAAG,IAAI,EAEtB,IAAI,CAACwI,KAAK,CAACyH,QAAQ,IAAI,IAAI,CAACzH,KAAK,CAAC2H,QAAQ,gBAAG1R,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UAACiM,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAACnG,UAAU;QAAE,GAClI,IAAI,CAACmE,KAAK,CAACC,QAAQ,KAAK/H,CAAC,IAAI,IAAI,CAAC8H,KAAK,CAACE,UAAU,KAAKhI,CAAC,gBACrD7C,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;UACPwN,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM+B,OAAI,CAAC7D,QAAQ,CAAC;cAAC3B,QAAQ,EAAE,KAAK;cAAEC,UAAU,EAAE;YAAK,CAAC,CAAC;UAAA,CAAC;UACnE0D,IAAI,EAAC;QAAO,gBACZvO,MAAA,YAAAoM,aAAA,CAAC5K,MAAA,WAAS,MAAC,CACH,CAAC,GAEZ,IAAI,CAACuI,KAAK,CAAC2H,QAAQ,gBAAG1R,MAAA,YAAAoM,aAAA,CAACvL,WAAA,WAAU;UAC9BwO,QAAQ,EAAE,IAAI,CAAC1E,KAAK,CAACE,UAAU,KAAK,KAAM;UAC1CwD,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM+B,OAAI,CAAC7D,QAAQ,CAAC;cAAC1B,UAAU,EAAEhI;YAAC,CAAC,CAAC;UAAA,CAAC;UAC9C0L,IAAI,EAAC;QAAO,gBAEZvO,MAAA,YAAAoM,aAAA,CAAChL,OAAA,WAAU,MAAC,CACJ,CAAC,GAAG,IAEb,CAAC,GAAG,IACT,CAAC,EACX,CAACmO,KAAK,IAAIrF,MAAM,GAAGyG,QAAQ,CAACpH,GAAG,CAAC,UAAAgC,IAAI;UAAA,OAChC6E,OAAI,CAACD,UAAU,CAAC5E,IAAI,EAAEgE,KAAK,GAAG,CAAC,CAAC;QAAA,EAAC,GAAG,IAAI,CAC/C;MACL;IACJ;EAAC;IAAArM,GAAA;IAAAiC,KAAA,EAED,SAAAwM,kBAAkBC,QAAQ,EAAE;MACxB,IAAMC,KAAK,GAAG,IAAI,CAAClH,KAAK,CAAC7B,OAAO,KAAK8I,QAAQ,IAAI,IAAI,CAACjH,KAAK,CAACzB,KAAK,KAAK,KAAK;MAC3E,IAAI,CAACqD,QAAQ,CAAC;QAACrD,KAAK,EAAE2I,KAAK,GAAG,MAAM,GAAG,KAAK;QAAE/I,OAAO,EAAE8I;MAAQ,CAAC,CAAC;IACrE;EAAC;IAAA1O,GAAA;IAAAiC,KAAA,EAED,SAAA2M,WAAA,EAAa;MAAA,IAAAC,OAAA;MACT,oBAAO/R,MAAA,YAAAoM,aAAA,CAAC1L,UAAA,WAAS,qBACbV,MAAA,YAAAoM,aAAA,CAACzL,SAAA,WAAQ;QAACuC,GAAG,EAAC;MAAW,gBACrBlD,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;QACNkP,SAAS,EAAC,IAAI;QACdjD,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAAClG,UAAU,EAAE,IAAI,CAACsD,KAAK,CAAC4C,OAAO,CAACpG,UAAU;MAAE,CAChH,CAAC,eACFvG,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;QACNkP,SAAS,EAAC,IAAI;QACdjD,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAAClG,UAAU,EAAE,IAAI,CAACsD,KAAK,CAAC4C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC5C,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC6F,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAE;QAC9J7C,KAAK,EAAE,IAAI,CAAClE,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACgH,WAAW,IAAI,IAAI,CAACjI,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAAC0E,SAAU;QAC5EuC,aAAa,EAAE,IAAI,CAAClI,KAAK,CAACmI,MAAM,GAAG,KAAK,GAAI,IAAI,CAACvH,KAAK,CAAC7B,OAAO,KAAK,IAAI,CAACiB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,GAAG,IAAI,CAACN,KAAK,CAACzB,KAAK,GAAG;MAAO,GAE1H,IAAI,CAACa,KAAK,CAACmI,MAAM,GAAG,IAAI,gBAAGlS,MAAA,YAAAoM,aAAA,CAACxL,eAAA,WAAc;QACvCuR,MAAM,EAAE,IAAI,CAACxH,KAAK,CAAC7B,OAAO,KAAK,IAAI,CAACiB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAM;QAC3DmH,SAAS,EAAE,IAAI,CAACzH,KAAK,CAAC7B,OAAO,KAAK,IAAI,CAACiB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,GAAG,IAAI,CAACN,KAAK,CAACzB,KAAK,GAAG,KAAM;QACzFmF,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAM0D,OAAI,CAACJ,iBAAiB,CAACI,OAAI,CAAChI,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,CAAC;QAAA;MAAC,GAElE,IAAI,CAAClB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACqH,KAAK,IAAI,IAAI,CAACtI,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,EAC1D,IAAI,CAACN,KAAK,CAAC7B,OAAO,KAAK,IAAI,CAACiB,KAAK,CAACiB,OAAO,CAAC,CAAC,CAAC,CAACC,KAAK,gBAC/CjL,MAAA,YAAAoM,aAAA;QAAMM,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAACjF;MAAe,GAC9C,IAAI,CAACiD,KAAK,CAACzB,KAAK,KAAK,MAAM,GAAG,mBAAmB,GAAG,kBACnD,CAAC,GAAG,IACF,CACT,CAAC,EACX,IAAI,CAACa,KAAK,CAACiB,OAAO,CAACzB,GAAG,CAAC,UAACiC,GAAG,EAAE3I,CAAC;QAAA,OAC3B,CAACA,CAAC,IAAI,CAAC2I,GAAG,CAAC+F,MAAM,GAAG,IAAI,gBAAGvR,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;UACjCyC,GAAG,EAAEsI,GAAG,CAACP,KAAM;UACfyB,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAACsC,OAAI,CAAChI,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAEiM,OAAI,CAAChI,KAAK,CAAC4C,OAAO,CAAClG,UAAU,EAAEsL,OAAI,CAAChI,KAAK,CAAC4C,OAAO,CAAC,QAAQ,GAAGnB,GAAG,CAACP,KAAK,CAAC6F,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAE;UAC5I7C,KAAK,EAAEzC,GAAG,CAACwG,WAAW,IAAIxG,GAAG,CAACkE,SAAU;UACxCC,SAAS,EAAC;QAAI,GAEboC,OAAI,CAAChI,KAAK,CAACmI,MAAM,GAAG,IAAI,gBAAGlS,MAAA,YAAAoM,aAAA,CAACxL,eAAA,WAAc;UACvCuR,MAAM,EAAEJ,OAAI,CAACpH,KAAK,CAAC7B,OAAO,KAAK0C,GAAG,CAACP,KAAM;UACzCmH,SAAS,EAAEL,OAAI,CAACpH,KAAK,CAAC7B,OAAO,KAAK0C,GAAG,CAACP,KAAK,GAAG8G,OAAI,CAACpH,KAAK,CAACzB,KAAK,GAAG,KAAM;UACvEmF,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAM0D,OAAI,CAACJ,iBAAiB,CAACnG,GAAG,CAACP,KAAK,CAAC;UAAA;QAAC,GAEhDO,GAAG,CAAC6G,KAAK,IAAI7G,GAAG,CAACP,KAAK,EACtB8G,OAAI,CAACpH,KAAK,CAAC7B,OAAO,KAAK0C,GAAG,CAACP,KAAK,gBAC7BjL,MAAA,YAAAoM,aAAA;UAAMM,SAAS,EAAEqF,OAAI,CAAChI,KAAK,CAAC4C,OAAO,CAACjF;QAAe,GAC9CqK,OAAI,CAACpH,KAAK,CAACzB,KAAK,KAAK,MAAM,GAAG,mBAAmB,GAAG,kBACnD,CAAC,GAAG,IACF,CACT,CAAC;MAAA,EAAC,EAChB,IAAI,CAACa,KAAK,CAACyH,QAAQ,gBAAGxR,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;QAACkP,SAAS,EAAC,IAAI;QAACjD,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAAClG,UAAU,EAAE,IAAI,CAACsD,KAAK,CAAC4C,OAAO,CAACnG,UAAU;MAAE,GACzJ,CAAC,IAAI,CAACuD,KAAK,CAACuI,KAAK,gBAAGtS,MAAA,YAAAoM,aAAA,CAAC9L,IAAA,WAAG;QACrBwG,KAAK,EAAC,SAAS;QACfyH,IAAI,EAAC,OAAO;QACZc,QAAQ,EAAE,IAAI,CAAC1E,KAAK,CAACC,QAAQ,KAAK,KAAM;QACxCyD,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAM0D,OAAI,CAAChI,KAAK,CAACyH,QAAQ,CAAC,IAAI,CAAC;QAAA;MAAC,gBACzCxR,MAAA,YAAAoM,aAAA,CAAC3K,IAAA,WAAO,MAAC,CACR,CAAC,GAAE,IACD,CAAC,GAAG,IAAI,EAClB,IAAI,CAACsI,KAAK,CAAC2H,QAAQ,IAAI,IAAI,CAAC3H,KAAK,CAACyH,QAAQ,gBAAGxR,MAAA,YAAAoM,aAAA,CAAC3L,UAAA,WAAS;QAACkP,SAAS,EAAC,IAAI;QAACjD,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAAC7G,IAAI,EAAE,IAAI,CAACiE,KAAK,CAAC4C,OAAO,CAAClG,UAAU,EAAE,IAAI,CAACsD,KAAK,CAAC4C,OAAO,CAACnG,UAAU;MAAE,CAAC,CAAC,GAAG,IACpL,CACH,CAAC;IAChB;EAAC;IAAAtD,GAAA;IAAAiC,KAAA,EAED,SAAAoN,OAAA,EAAS;MAAA,IAAAC,OAAA;MACL,IAAM1N,MAAM,GAAG,IAAI,CAACiF,KAAK,CAACiB,OAAO,CAACyH,IAAI,CAAC,UAAAjH,GAAG;QAAA,OAAIA,GAAG,CAACP,KAAK,KAAKuH,OAAI,CAAC7H,KAAK,CAAC7B,OAAO;MAAA,EAAC,CAAChE,MAAM;MACtF,IAAMa,KAAK,GAAGwD,UAAU,CAAC,IAAI,CAACY,KAAK,CAACuG,IAAI,EAAErH,aAAa,CAAC,IAAI,CAAC0B,KAAK,CAACzB,KAAK,EAAE,IAAI,CAACyB,KAAK,CAAC7B,OAAO,EAAEhE,MAAM,CAAC,CAAC;MAEtG,IAAI,IAAI,CAAC6F,KAAK,CAACI,MAAM,IAAI,IAAI,CAACJ,KAAK,CAACI,MAAM,CAAChI,MAAM,EAAE;QAC/C,IAAI,CAAC2P,aAAa,IAAIC,YAAY,CAAC,IAAI,CAACD,aAAa,CAAC;QACtD,IAAI,CAACA,aAAa,GAAGE,UAAU,CAAC,YAAM;UAClCJ,OAAI,CAACE,aAAa,GAAG,IAAI;UACzBF,OAAI,CAACjG,QAAQ,CAAC;YAACxB,MAAM,EAAE;UAAI,CAAC,CAAC;QACjC,CAAC,EAAE,GAAG,CAAC;MACX;MAEA,oBAAO/K,MAAA,YAAAoM,aAAA;QAAKM,SAAS,EAAEyB,iBAAK,CAACsB,IAAI,CAAC,IAAI,CAAC1F,KAAK,CAAC4C,OAAO,CAACpH,cAAc,EAAE,IAAI,CAACwE,KAAK,CAAC2C,SAAS;MAAE,gBACvF1M,MAAA,YAAAoM,aAAA,CAAC7L,MAAA,WAAK;QAACmM,SAAS,EAAE,IAAI,CAAC3C,KAAK,CAAC4C,OAAO,CAAChH,KAAM;QAAC,cAAW,cAAc;QAAC4I,IAAI,EAAC,OAAO;QAACsE,YAAY;MAAA,GAC1F,IAAI,CAACf,UAAU,CAAC,CAAC,eAClB9R,MAAA,YAAAoM,aAAA,CAAC5L,UAAA,WAAS,QACLmF,KAAK,CAAC4D,GAAG,CAAC,UAAAgC,IAAI;QAAA,OAAIiH,OAAI,CAACrC,UAAU,CAAC5E,IAAI,CAAC;MAAA,EACjC,CACR,CAAC,EACP,IAAI,CAACiD,oBAAoB,CAAC,CAAC,EAC3B,IAAI,CAAClB,uBAAuB,CAAC,CAC7B,CAAC;IACV;EAAC;IAAApK,GAAA;IAAAiC,KAAA,EAphBD,SAAA2N,yBAAgC/I,KAAK,EAAEY,KAAK,EAAE;MAC1C,IAAIZ,KAAK,CAACqB,YAAY,EAAE;QACpB,IAAML,MAAM,GAAG,EAAE;QACjB,IAAIgI,KAAK,GAAG,CAAC;QACb,IAAIhJ,KAAK,CAACuG,IAAI,IAAI3F,KAAK,CAAC2F,IAAI,EAAE;UAC1BvG,KAAK,CAACuG,IAAI,CAACrN,OAAO,CAAC,UAAA+P,IAAI,EAAI;YACvBD,KAAK,EAAE;YACP,IAAME,OAAO,GAAGtI,KAAK,CAAC2F,IAAI,CAACmC,IAAI,CAAC,UAAA7B,EAAE;cAAA,OAAIA,EAAE,CAACF,EAAE,KAAKsC,IAAI,CAACtC,EAAE;YAAA,EAAC;YACxD,IAAIuC,OAAO,EAAE;cACT,IAAI1I,IAAI,CAACyC,SAAS,CAACiG,OAAO,CAAC,KAAK1I,IAAI,CAACyC,SAAS,CAACgG,IAAI,CAAC,EAAE;gBAClDjI,MAAM,CAACtI,IAAI,CAACuQ,IAAI,CAACtC,EAAE,CAAC;cACxB;YACJ,CAAC,MAAM;cACH3F,MAAM,CAACtI,IAAI,CAACuQ,IAAI,CAACtC,EAAE,CAAC;YACxB;UACJ,CAAC,CAAC;QACN;QAEA,IAAI3F,MAAM,CAAChI,MAAM,IAAIgI,MAAM,CAAChI,MAAM,KAAKgQ,KAAK,EAAE;UAC1C,OAAO;YAAEzC,IAAI,EAAEvG,KAAK,CAACuG,IAAI;YAAEvF,MAAM,EAANA;UAAO,CAAC;QACvC,CAAC,MAAM;UACH,OAAO;YAAEuF,IAAI,EAAEvG,KAAK,CAACuG;UAAK,CAAC;QAC/B;MACJ,CAAC,MAAM;QACH,OAAO;UAAEA,IAAI,EAAEvG,KAAK,CAACuG;QAAK,CAAC;MAC/B;IACJ;EAAC;EAAA,OAAA3G,SAAA;AAAA,EAtDmBuJ,iBAAK,CAACC,SAAS;AAkjBvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEAxJ,SAAS,CAACyJ,SAAS,GAAG;EAClB9C,IAAI,EAAE+C,qBAAS,CAACjK,KAAK,CAACkK,UAAU;EAChC5G,SAAS,EAAE2G,qBAAS,CAACE,MAAM;EAC3BC,OAAO,EAAEH,qBAAS,CAACI,IAAI;EACvBzO,IAAI,EAAEqO,qBAAS,CAACE,MAAM;EAAE;EACxBvI,OAAO,EAAEqI,qBAAS,CAACK,OAAO,CACtBL,qBAAS,CAACM,KAAK,CAAC;IACZjE,SAAS,EAAE2D,qBAAS,CAACtR,MAAM;IAC3B4J,aAAa,EAAE0H,qBAAS,CAACO,IAAI;IAC7B3I,KAAK,EAAEoI,qBAAS,CAACE,MAAM;IACvBvB,WAAW,EAAEqB,qBAAS,CAACtR,MAAM;IAC7BwP,MAAM,EAAE8B,qBAAS,CAACI,IAAI;IACtB3O,MAAM,EAAEuO,qBAAS,CAACtR,MAAM;IACxByN,QAAQ,EAAE6D,qBAAS,CAACI,IAAI;IACxBpB,KAAK,EAAEgB,qBAAS,CAACE,MAAM;IACvB1H,IAAI,EAAEwH,qBAAS,CAACQ,KAAK,CAAC,CAClB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,MAAM;IAAE;IACR,KAAK,EACL,OAAO,CACV;EACL,CAAC,CACL,CAAC,CAACP,UAAU;EACZpB,MAAM,EAAEmB,qBAAS,CAACI,IAAI;EACtBjC,QAAQ,EAAE6B,qBAAS,CAACO,IAAI;EACxBlC,QAAQ,EAAE2B,qBAAS,CAACO,IAAI;EACxBtB,KAAK,EAAEe,qBAAS,CAACI,IAAI;EAAE;EACvB3E,SAAS,EAAEuE,qBAAS,CAACE,MAAM;EAC3BnI,YAAY,EAAEiI,qBAAS,CAACI,IAAI;EAC5B1E,MAAM,EAAEsE,qBAAS,CAACtR,MAAM;EAAE;EAC1BsO,UAAU,EAAEgD,qBAAS,CAACS,MAAM,CAAE;AAClC,CAAC;AAAC,IAAAC,QAAA,GAEa,IAAAC,sBAAU,EAAC3O,MAAM,CAAC,CAACsE,SAAS,CAAC;AAAAsK,OAAA,cAAAF,QAAA"}
1
+ {"version":3,"file":"TreeTable.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_reactColorful","_material","_iconsMaterial","_SelectID","_Utils","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getAttr","obj","attr","lookup","split","name","shift","setAttr","value","undefined","styles","theme","tableContainer","width","height","overflow","table","minWidth","maxWidth","cell","paddingTop","paddingBottom","paddingLeft","paddingRight","rowMainWithChildren","rowMainWithoutChildren","rowNoEdit","opacity","cellExpand","cellButton","cellHeader","fontWeight","background","palette","mode","color","wordBreak","whiteSpace","width_name_nicknames","width_ioType","width_type","width_displayTraits","width_roomHint","rowSecondary","fontStyle","cellSecondary","fontSize","visuallyHidden","border","clip","margin","padding","position","top","fieldEditWithButton","display","fieldEdit","lineHeight","verticalAlign","fieldButton","colorDialog","subText","glow","animation","descendingComparator","a","b","orderBy","_a","_b","getComparator","order","stableSort","array","comparator","stabilizedThis","map","el","index","sort","TreeTable","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","opened","window","_localStorage","localStorage","getItem","JSON","parse","Array","isArray","state","editMode","deleteMode","editData","update","columns","field","showSelectColor","_createClass2","renderCellEdit","item","col","val","renderCellEditSelect","editComponent","renderCellEditCustom","type","renderCellEditBoolean","renderCellEditColor","renderCellEditObjectID","renderCellEditNumber","renderCellEditString","_this2","createElement","Select","variant","onChange","setState","v","MenuItem","_this3","TextField","className","classes","fullWidth","_this4","_this5","EditComponent","stringify","rowData","newVal","_this6","Checkbox","checked","inputProps","renderSelectColorDialog","_this7","Dialog","root","paper","onClose","selectCallback","open","HexColorPicker","selectIdValue","_this8","_val","style","backgroundColor","Utils","isUseBright","IconButton","onClick","newColor","size","Colorize","renderSelectIdDialog","_this9","showSelectId","imagePrefix","dialogName","adapterName","themeType","socket","statesOnly","selected","onOk","_this10","ViewHeadline","renderCellNonEdit","disabled","renderCell","level","editable","TableCell","clsx","cellStyle","component","renderCellWithSubField","main","sub","subField","subLookup","mainText","subStyle","renderLine","_this11","levelShift","data","indexOf","parentId","includes","id","children","it","TableRow","concat","toString","replace","row","_opened","_toConsumableArray2","pos","splice","setItem","ExpandMore","NavigateNext","scope","ii","hidden","onUpdate","newData","onDelete","Check","Edit","Close","Delete","handleRequestSort","property","isAsc","renderHead","_this12","TableHead","headerStyle","sortDirection","noSort","TableSortLabel","active","direction","title","noAdd","Fab","Add","render","_this13","find","updateTimeout","clearTimeout","setTimeout","Table","stickyHeader","TableBody","getDerivedStateFromProps","glowOnChange","count","line","oldLine","React","Component","propTypes","PropTypes","isRequired","string","arrayOf","shape","func","bool","oneOf","number","_default","withStyles","exports"],"sources":["TreeTable.js"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport {\n Fab,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Select,\n MenuItem,\n TextField,\n Checkbox,\n Dialog,\n} from '@mui/material';\n\nimport {\n Edit as IconEdit,\n Delete as IconDelete,\n NavigateNext as IconExpand,\n ExpandMore as IconCollapse,\n Check as IconCheck,\n Close as IconClose,\n Add as IconAdd,\n ViewHeadline as IconList,\n Colorize as IconColor,\n} from '@mui/icons-material';\n\nimport DialogSelectID from '../Dialogs/SelectID';\nimport Utils from './Utils';\n\nfunction getAttr(obj, attr, lookup) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n }\n return obj[attr[0]];\n }\n\n const name = attr.shift();\n return getAttr(obj[name], attr);\n}\n\nfunction setAttr(obj, attr, value) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return obj[attr[0]] = value;\n }\n const name = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n}\n\nconst styles = theme => ({\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto',\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {\n\n },\n rowMainWithoutChildren: {\n\n },\n rowNoEdit: {\n opacity: 0.3,\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: theme.palette.mode === 'dark' ? '#888' : '#888',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n fieldEditWithButton: {\n width: 'calc(100% - 33px)',\n display: 'inline-block',\n },\n fieldEdit: {\n width: '100%',\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate',\n },\n});\n\nfunction descendingComparator(a, b, orderBy, lookup) {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n }\n if (_b > _a) {\n return 1;\n }\n return 0;\n}\n\nfunction getComparator(order, orderBy, lookup) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order) {\n return order;\n }\n return a[1] - b[1];\n });\n\n return stabilizedThis.map(el => el[0]);\n}\n\nclass TreeTable extends React.Component {\n constructor(props) {\n super(props);\n\n let opened = (window._localStorage || window.localStorage).getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch (e) {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n showSelectColor: false,\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.glowOnChange) {\n const update = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return { data: props.data, update };\n }\n return { data: props.data };\n }\n\n return { data: props.data };\n }\n\n renderCellEdit(item, col) {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(item, col, val);\n } if (col.editComponent) {\n return this.renderCellEditCustom(item, col, val);\n }\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(item, col, val);\n }\n if (col.type === 'color') {\n return this.renderCellEditColor(item, col, val);\n }\n if (col.type === 'oid') {\n return this.renderCellEditObjectID(item, col, val);\n }\n if (col.type === 'numeric') {\n return this.renderCellEditNumber(item, col, val);\n }\n\n return this.renderCellEditString(item, col, val);\n }\n\n renderCellEditSelect(item, col, val) {\n return <Select\n variant=\"standard\"\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {Object.keys(col.lookup)\n .map((v, i) => <MenuItem key={i} value={v}>{col.lookup[v]}</MenuItem>)}\n </Select>;\n }\n\n renderCellEditString(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditNumber(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n type=\"number\"\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditCustom(item, col, val) {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return <EditComponent\n value={val}\n rowData={item}\n onChange={newVal => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newVal === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newVal;\n }\n this.setState({ editData });\n }}\n />;\n }\n\n renderCellEditBoolean(item, col, val) {\n return <Checkbox\n checked={this.state.editData && this.state.editData[col.field] !== undefined ? !!this.state.editData[col.field] : !!val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.checked === !!val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.checked;\n }\n this.setState({ editData });\n }}\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n renderSelectColorDialog() {\n return <Dialog\n classes={{ root: this.props.classes.colorDialog, paper: this.props.classes.colorDialog }}\n onClose={() => {\n this.selectCallback = null;\n this.setState({ showSelectColor: false });\n }}\n open={this.state.showSelectColor}\n >\n <ColorPicker\n color={this.state.selectIdValue}\n onChange={color =>\n this.setState({ selectIdValue: color }, () =>\n this.selectCallback && this.selectCallback(color))}\n />\n </Dialog>;\n }\n\n renderCellEditColor(item, col, val) {\n const _val = this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={_val}\n inputProps={{ style: { backgroundColor: _val, color: Utils.isUseBright(_val, null) ? '#FFF' : '#000' } }}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = newColor => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (newColor === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newColor;\n }\n this.setState({ editData });\n };\n\n this.setState({ showSelectColor: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconColor />\n </IconButton>\n </div>;\n }\n\n renderSelectIdDialog() {\n if (this.state.showSelectId) {\n return <DialogSelectID\n key=\"tableSelect\"\n imagePrefix=\"../..\"\n dialogName={this.props.adapterName}\n themeType={this.props.themeType}\n socket={this.props.socket}\n statesOnly\n selected={this.state.selectIdValue}\n onClose={() => this.setState({ showSelectId: false })}\n onOk={(selected /* , name*/) => {\n this.setState({ showSelectId: false, selectIdValue: null });\n this.selectCallback && this.selectCallback(selected);\n this.selectCallback = null;\n }}\n />;\n }\n\n return null;\n }\n\n renderCellEditObjectID(item, col, val) {\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({ editData });\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n onClick={() => {\n this.selectCallback = selected => {\n const editData = this.state.editData ? { ...this.state.editData } : {};\n if (selected === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = selected;\n }\n this.setState({ editData });\n };\n\n this.setState({ showSelectId: true, selectIdValue: val });\n }}\n size=\"large\"\n >\n <IconList />\n </IconButton>\n </div>;\n }\n\n renderCellNonEdit(item, col) {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return <Checkbox\n checked={!!val}\n disabled\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n return val;\n }\n\n renderCell(item, col, level, i) {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellEdit(item, col)}\n </TableCell>;\n }\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellNonEdit(item, col)}\n </TableCell>;\n }\n\n renderCellWithSubField(item, col) {\n const main = getAttr(item, col.field, col.lookup);\n const sub = getAttr(item, col.subField, col.subLookup);\n return <div>\n <div className={this.props.classes.mainText}>{main}</div>\n <div className={this.props.classes.subText} style={col.subStyle || {}}>{sub}</div>\n </div>;\n }\n\n renderLine(item, level) {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n }\n if (level && !item.parentId) {\n return null; // should never happen\n }\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n return [\n <TableRow\n key={item.id}\n className={Utils.clsx(\n `table-row-${(item.id || '').toString().replace(/[.$]/g, '_')}`,\n this.state.update && this.state.update.includes(item.id) && this.props.classes.glow,\n this.props.classes.row,\n level && this.props.classes.rowSecondary,\n !level && children.length && this.props.classes.rowMainWithChildren,\n !level && !children.length && this.props.classes.rowMainWithoutChildren,\n this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit,\n this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit,\n )}\n >\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)}>\n {children.length ? <IconButton\n onClick={() => {\n const _opened = [...this.state.opened];\n const pos = _opened.indexOf(item.id);\n if (pos === -1) {\n _opened.push(item.id);\n _opened.sort();\n } else {\n _opened.splice(pos, 1);\n }\n\n (window._localStorage || window.localStorage).setItem(this.props.name || 'iob-table', JSON.stringify(_opened));\n\n this.setState({ opened: _opened });\n }}\n size=\"small\"\n >\n {opened ? <IconCollapse /> : <IconExpand />}\n </IconButton> : null}\n </TableCell>\n <TableCell\n scope=\"row\"\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={{ ...this.props.columns[0].cellStyle, ...{ paddingLeft: levelShift * level } }}\n >\n {this.props.columns[0].subField ?\n this.renderCellWithSubField(item, this.props.columns[0])\n :\n getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)}\n </TableCell>\n\n {this.props.columns.map((col, ii) =>\n (!ii && !col.hidden ? null : this.renderCell(item, col, level, i)))}\n\n {this.props.onUpdate ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n Object.keys(this.state.editData).forEach(attr => setAttr(newData, attr, this.state.editData[attr]));\n this.setState({ editMode: false }, () => this.props.onUpdate(newData, item));\n } else {\n this.setState({ deleteMode: false }, () => this.props.onDelete(item));\n }\n }}\n size=\"large\"\n >\n <IconCheck />\n </IconButton>\n :\n <IconButton\n disabled={this.state.editMode !== false}\n onClick={() => this.setState({ editMode: i, editData: null })}\n size=\"large\"\n >\n <IconEdit />\n </IconButton>}\n </TableCell> : null}\n\n {this.props.onDelete && !this.props.onUpdate ?\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => this.setState({ deleteMode: false }, () => this.props.onDelete(item))}\n size=\"large\"\n >\n <IconCheck />\n </IconButton>\n :\n null}\n </TableCell> : null}\n\n {this.props.onUpdate || this.props.onDelete ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n onClick={() => this.setState({ editMode: false, deleteMode: false })}\n size=\"large\"\n >\n <IconClose />\n </IconButton>\n :\n (this.props.onDelete ? <IconButton\n disabled={this.state.deleteMode !== false}\n onClick={() => this.setState({ deleteMode: i })}\n size=\"large\"\n >\n <IconDelete />\n </IconButton> : null)}\n </TableCell> : null}\n </TableRow>,\n !level && opened ? children.map(it =>\n this.renderLine(it, level + 1)) : null,\n ];\n }\n\n handleRequestSort(property) {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({ order: isAsc ? 'desc' : 'asc', orderBy: property });\n }\n\n renderHead() {\n return <TableHead>\n <TableRow key=\"headerRow\">\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellExpand)}\n />\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes[`width_${this.props.columns[0].field.replace(/\\./g, '_')}`])}\n style={this.props.columns[0].headerStyle || this.props.columns[0].cellStyle}\n sortDirection={this.props.noSort ? false : (this.state.orderBy === this.props.columns[0].field ? this.state.order : false)}\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === this.props.columns[0].field}\n direction={this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel>}\n </TableCell>\n {this.props.columns.map((col, i) =>\n (!i && !col.hidden ? null : <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes[`width_${col.field.replace(/\\./g, '_')}`])}\n style={col.headerStyle || col.cellStyle}\n component=\"th\"\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === col.field}\n direction={this.state.orderBy === col.field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel> }\n </TableCell>))}\n {this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}>\n {!this.props.noAdd ? <Fab\n color=\"primary\"\n size=\"small\"\n disabled={this.state.editMode !== false}\n onClick={() => this.props.onUpdate(true)}\n >\n <IconAdd />\n </Fab> : null }\n </TableCell> : null}\n {this.props.onDelete || this.props.onUpdate ?\n <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)} /> : null}\n </TableRow>\n </TableHead>;\n }\n\n render() {\n const lookup = this.props.columns.find(col => col.field === this.state.orderBy).lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({ update: null });\n }, 500);\n }\n\n return <div className={Utils.clsx(this.props.classes.tableContainer, this.props.className)}>\n <Table className={this.props.classes.table} aria-label=\"simple table\" size=\"small\" stickyHeader>\n {this.renderHead()}\n <TableBody>\n {table.map(it => this.renderLine(it))}\n </TableBody>\n </Table>\n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n </div>;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n <div>Prefix&#123; <br/>\n <textarea\n rows={4}\n style={{width: '100%', resize: 'vertical'}}\n value={props.value}\n onChange={e => props.onChange(e.target.value)}\n />\n Suffix\n </div>,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return <div className={this.props.classes.tableDiv}>\n <TreeTable\n columns={this.columns}\n data={lines}\n onUpdate={(newData, oldData) => console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n </div>;\n}\n */\n\nTreeTable.propTypes = {\n data: PropTypes.array.isRequired,\n className: PropTypes.string,\n name: PropTypes.string, // name of table to save settings in localStorage\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n cellStyle: PropTypes.object,\n editComponent: PropTypes.func,\n field: PropTypes.string,\n headerStyle: PropTypes.object,\n hidden: PropTypes.bool,\n lookup: PropTypes.object,\n editable: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf([\n 'string',\n 'boolean',\n 'numeric',\n 'icon', // todo: not yet implemented\n 'oid',\n 'color',\n ]),\n }),\n ).isRequired,\n noSort: PropTypes.bool,\n onUpdate: PropTypes.func,\n onDelete: PropTypes.func,\n noAdd: PropTypes.bool, // hide add button\n themeType: PropTypes.string,\n glowOnChange: PropTypes.bool,\n socket: PropTypes.object, // only if an oid type is used\n levelShift: PropTypes.number, // Shift in pixels for every level\n};\n\nexport default withStyles(styles)(TreeTable);\n"],"mappings":"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"}
@@ -12,16 +12,14 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
12
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
14
  var _react = require("react");
15
- var _clsx = _interopRequireDefault(require("clsx"));
16
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
16
  var _reactDropzone = _interopRequireDefault(require("react-dropzone"));
18
17
  var _reactCropper = require("react-cropper");
19
18
  var _styles = require("@mui/styles");
20
19
  var _material = require("@mui/material");
21
- var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
22
- var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
23
- var _Crop = _interopRequireDefault(require("@mui/icons-material/Crop"));
20
+ var _iconsMaterial = require("@mui/icons-material");
24
21
  var _fa = require("react-icons/fa");
22
+ var _Utils = _interopRequireDefault(require("./Utils"));
25
23
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
26
24
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
27
25
  // import 'cropperjs/dist/cropper.css';
@@ -99,7 +97,8 @@ var styles = function styles(theme) {
99
97
  top: 50
100
98
  },
101
99
  error: {
102
- border: '2px solid red'
100
+ border: '2px solid red',
101
+ boxSizing: 'border-box'
103
102
  }
104
103
  };
105
104
  };
@@ -140,7 +139,7 @@ var UploadImage = /*#__PURE__*/function (_Component) {
140
139
  return console.log('file reading has failed');
141
140
  };
142
141
  reader.onload = function () {
143
- var ext = 'image/' + file.name.split('.').pop().toLowerCase();
142
+ var ext = "image/".concat(file.name.split('.').pop().toLowerCase());
144
143
  if (ext === 'image/jpg') {
145
144
  ext = 'image/jpeg';
146
145
  } else if (ext.includes('svg')) {
@@ -205,9 +204,9 @@ var UploadImage = /*#__PURE__*/function (_Component) {
205
204
  var getRootProps = _ref.getRootProps,
206
205
  getInputProps = _ref.getInputProps;
207
206
  return /*#__PURE__*/React.createElement("div", (0, _extends2["default"])({
208
- className: (0, _clsx["default"])(classes.uploadDiv, uploadFile === 'dragging' && classes.uploadDivDragging, classes.dropZone, disabled && classes.disabledOpacity, !icon && classes.dropZoneEmpty)
207
+ className: _Utils["default"].clsx(classes.uploadDiv, uploadFile === 'dragging' && classes.uploadDivDragging, classes.dropZone, disabled && classes.disabledOpacity, !icon && classes.dropZoneEmpty)
209
208
  }, getRootProps()), /*#__PURE__*/React.createElement("input", getInputProps()), /*#__PURE__*/React.createElement("div", {
210
- className: (0, _clsx["default"])(classes.uploadCenterDiv, error && classes.error)
209
+ className: _Utils["default"].clsx(classes.uploadCenterDiv, error && classes.error)
211
210
  }, !icon ? /*#__PURE__*/React.createElement("div", {
212
211
  className: classes.uploadCenterTextAndIcon
213
212
  }, /*#__PURE__*/React.createElement(_fa.FaFileUpload, {
@@ -218,17 +217,17 @@ var UploadImage = /*#__PURE__*/function (_Component) {
218
217
  className: classes.buttonRemoveWrapper
219
218
  }, /*#__PURE__*/React.createElement(_material.Tooltip, {
220
219
  title: t('ra_Clear')
221
- }, /*#__PURE__*/React.createElement(_IconButton["default"], {
220
+ }, /*#__PURE__*/React.createElement(_material.IconButton, {
222
221
  size: "large",
223
222
  onClick: function onClick(e) {
224
223
  removeIconFunc && removeIconFunc();
225
224
  e.stopPropagation();
226
225
  }
227
- }, /*#__PURE__*/React.createElement(_Close["default"], null)))), icon && crop && /*#__PURE__*/React.createElement("div", {
226
+ }, /*#__PURE__*/React.createElement(_iconsMaterial.Close, null)))), icon && crop && /*#__PURE__*/React.createElement("div", {
228
227
  className: classes.buttonCropWrapper
229
228
  }, /*#__PURE__*/React.createElement(_material.Tooltip, {
230
229
  title: t('ra_Crop')
231
- }, /*#__PURE__*/React.createElement(_IconButton["default"], {
230
+ }, /*#__PURE__*/React.createElement(_material.IconButton, {
232
231
  size: "large",
233
232
  onClick: function onClick(e) {
234
233
  if (!cropHandler) {
@@ -242,7 +241,7 @@ var UploadImage = /*#__PURE__*/function (_Component) {
242
241
  }
243
242
  e.stopPropagation();
244
243
  }
245
- }, /*#__PURE__*/React.createElement(_Crop["default"], {
244
+ }, /*#__PURE__*/React.createElement(_iconsMaterial.Crop, {
246
245
  color: cropHandler ? 'primary' : 'inherit'
247
246
  }))), /*#__PURE__*/React.createElement(_material.Menu, {
248
247
  anchorEl: anchorEl,
@@ -1 +1 @@
1
- {"version":3,"file":"UploadImage.js","names":["_react","require","_clsx","_interopRequireDefault","_propTypes","_reactDropzone","_reactCropper","_styles","_material","_IconButton","_Close","_Crop","_fa","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","cropperStyles","styles","theme","dropZone","width","height","position","dropZoneEmpty","image","objectFit","margin","display","uploadDiv","opacity","marginTop","cursor","outline","uploadDivDragging","background","uploadCenterDiv","border","borderRadius","uploadCenterIcon","paddingTop","uploadCenterText","fontSize","uploadCenterTextAndIcon","textAlign","top","bottom","left","right","flexDirection","alignItems","justifyContent","disabledOpacity","buttonRemoveWrapper","zIndex","buttonCropWrapper","error","UploadImage","_Component","_inherits2","_super","props","_this","_classCallCheck2","state","uploadFile","anchorEl","cropHandler","cropperRef","createRef","window","document","getElementById","style","createElement","setAttribute","innerHTML","head","appendChild","_createClass2","key","value","onDrop","acceptedFiles","_this$props","maxSize","t","onChange","file","reader","FileReader","onabort","console","log","onerror","onload","ext","name","split","pop","toLowerCase","includes","size","alert","Math","round","base64","concat","btoa","Uint8Array","reduce","data","byte","String","fromCharCode","readAsArrayBuffer","render","_this2","_this$props2","disabled","classes","icon","removeIconFunc","accept","crop","_this$state","React","multiple","onDragEnter","setState","onDragLeave","errors","length","message","_ref","getRootProps","getInputProps","_extends2","className","clsx","FaFileUpload","Tooltip","title","onClick","stopPropagation","currentTarget","color","Menu","keepMounted","open","onClose","MenuItem","_this2$cropperRef","imageElement","current","cropper","getCroppedCanvas","toDataURL","src","alt","Cropper","ref","initialAspectRatio","viewMode","guides","minCropBoxHeight","minCropBoxWidth","checkOrientation","Component","defaultProps","el","propTypes","PropTypes","object","number","bool","func","_default","withStyles","exports"],"sources":["UploadImage.jsx"],"sourcesContent":["import { Component, createRef } from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport Dropzone from 'react-dropzone';\nimport { Cropper } from 'react-cropper';\n\nimport { withStyles } from '@mui/styles';\nimport { Menu, MenuItem, Tooltip } from '@mui/material';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconClose from '@mui/icons-material/Close';\nimport CropIcon from '@mui/icons-material/Crop';\nimport { FaFileUpload as UploadIcon } from 'react-icons/fa';\n\n// import 'cropperjs/dist/cropper.css';\nconst cropperStyles = `\n/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n}\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n background-color: #eee;\n content: ' ';\n display: block;\n position: absolute;\n}\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n\n@media (min-width: 768px) {\n .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n\n@media (min-width: 1200px) {\n .cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n}\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: ' ';\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n`;\n\nconst styles = theme => ({\n dropZone: {\n width: '100%',\n height: 100,\n position: 'relative',\n },\n dropZoneEmpty: {\n\n },\n image: {\n objectFit: 'contain',\n margin: 'auto',\n display: 'flex',\n width: '100%',\n height: '100%',\n },\n\n uploadDiv: {\n position: 'relative',\n width: '100%',\n height: 300,\n opacity: 0.9,\n marginTop: 30,\n cursor: 'pointer',\n outline: 'none'\n },\n uploadDivDragging: {\n opacity: 1,\n background: 'rgba(128,255,128,0.1)'\n },\n\n uploadCenterDiv: {\n margin: 5,\n border: '3px dashed grey',\n borderRadius: 5,\n width: 'calc(100% - 10px)',\n height: 'calc(100% - 10px)',\n position: 'relative',\n display: 'flex'\n },\n uploadCenterIcon: {\n paddingTop: 10,\n width: 48,\n height: 48,\n },\n uploadCenterText: {\n fontSize: 16,\n },\n uploadCenterTextAndIcon: {\n textAlign: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n\n },\n disabledOpacity: {\n opacity: 0.3,\n cursor: 'default'\n },\n buttonRemoveWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0\n },\n buttonCropWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0,\n top: 50\n },\n error: {\n border: '2px solid red'\n }\n});\n\nclass UploadImage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n uploadFile: false,\n anchorEl: null,\n cropHandler: false,\n };\n this.cropperRef = createRef();\n\n if (!window.document.getElementById('cropper-style-json-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'cropper-style-json-component');\n style.innerHTML = cropperStyles;\n window.document.head.appendChild(style);\n }\n }\n\n onDrop(acceptedFiles) {\n const { maxSize, t, onChange } = this.props;\n\n const file = acceptedFiles[0];\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n let ext = 'image/' + file.name.split('.').pop().toLowerCase();\n if (ext === 'image/jpg') {\n ext = 'image/jpeg';\n } else if (ext.includes('svg')) {\n ext = 'image/svg+xml';\n }\n if (file.size > maxSize) {\n return window.alert(t('ra_File is too big. Max %sk allowed. Try use SVG.', Math.round(maxSize / 1024)));\n }\n const base64 = `data:${ext};base64,${btoa(\n new Uint8Array(reader.result)\n .reduce((data, byte) => data + String.fromCharCode(byte), ''))}`;\n\n onChange(base64);\n };\n reader.readAsArrayBuffer(file);\n }\n\n render() {\n const { disabled, maxSize, classes, icon, t, removeIconFunc, accept, error, crop, onChange } = this.props;\n const { uploadFile, anchorEl, cropHandler } = this.state;\n return <Dropzone\n disabled={disabled || cropHandler}\n key=\"dropzone\"\n multiple={false}\n accept={accept}\n maxSize={maxSize}\n onDragEnter={() => this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={(acceptedFiles, errors) => {\n this.setState({ uploadFile: false });\n if (!acceptedFiles.length) {\n window.alert((errors && errors[0] && errors[0].errors && errors[0].errors[0] && errors[0].errors[0].message) || t('ra_Cannot upload'));\n } else {\n return this.onDrop(acceptedFiles);\n }\n }}\n >\n {({ getRootProps, getInputProps }) => <div\n className={clsx(\n classes.uploadDiv,\n uploadFile === 'dragging' && classes.uploadDivDragging,\n classes.dropZone,\n disabled && classes.disabledOpacity,\n !icon && classes.dropZoneEmpty\n )}\n {...getRootProps()}>\n <input {...getInputProps()} />\n <div className={clsx(classes.uploadCenterDiv, error && classes.error)}>\n {!icon ? <div className={classes.uploadCenterTextAndIcon}>\n <UploadIcon className={classes.uploadCenterIcon} />\n <div className={classes.uploadCenterText}>{\n uploadFile === 'dragging' ? t('ra_Drop file here') :\n t('ra_Place your files here or click here to open the browse dialog')}</div>\n </div>\n :\n removeIconFunc && !cropHandler && <div className={classes.buttonRemoveWrapper}>\n <Tooltip title={t('ra_Clear')}>\n <IconButton size=\"large\" onClick={e => {\n removeIconFunc && removeIconFunc();\n e.stopPropagation();\n }}><IconClose />\n </IconButton>\n </Tooltip>\n </div>\n }\n {icon && crop && <div className={classes.buttonCropWrapper}>\n <Tooltip title={t('ra_Crop')}>\n <IconButton size=\"large\" onClick={e => {\n if (!cropHandler) {\n this.setState({ cropHandler: true });\n } else {\n this.setState({ anchorEl: e.currentTarget });\n }\n e.stopPropagation();\n }}><CropIcon color={cropHandler ? 'primary' : 'inherit'} />\n </IconButton>\n </Tooltip>\n <Menu\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={() => this.setState({ anchorEl: null })}\n >\n <MenuItem onClick={() => this.setState({ anchorEl: null, cropHandler: false }, () => {\n const imageElement = this.cropperRef?.current?.cropper;\n onChange(imageElement.getCroppedCanvas().toDataURL());\n })}>{t('ra_Save')}</MenuItem>\n <MenuItem onClick={() => this.setState({ anchorEl: null, cropHandler: false })}>{t('ra_Close')}</MenuItem>\n </Menu>\n </div>}\n {icon && !cropHandler ? <img src={icon} className={classes.image} alt=\"icon\" /> : null}\n\n {icon && crop && cropHandler ? <Cropper\n ref={this.cropperRef}\n className={classes.image}\n src={icon}\n initialAspectRatio={1}\n viewMode={1}\n guides={false}\n minCropBoxHeight={10}\n minCropBoxWidth={10}\n background={false}\n checkOrientation={false}\n /> : null}\n </div>\n </div>}\n </Dropzone>;\n }\n}\n\nUploadImage.defaultProps = {\n disabled: false,\n maxSize: 10 * 1024,\n icon: null,\n removeIconFunc: null,\n accept: { 'image/*': [] },\n error: false,\n onChange: base64 => console.log(base64),\n t: el => el,\n crop: false,\n};\n\nUploadImage.propTypes = {\n classes: PropTypes.object,\n maxSize: PropTypes.number,\n disabled: PropTypes.bool,\n crop: PropTypes.bool,\n error: PropTypes.bool,\n onChange: PropTypes.func,\n accept: PropTypes.object,\n t: PropTypes.func,\n};\n\nexport default withStyles(styles)(UploadImage);\n"],"mappings":"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"}
1
+ {"version":3,"file":"UploadImage.js","names":["_react","require","_propTypes","_interopRequireDefault","_reactDropzone","_reactCropper","_styles","_material","_iconsMaterial","_fa","_Utils","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","cropperStyles","styles","theme","dropZone","width","height","position","dropZoneEmpty","image","objectFit","margin","display","uploadDiv","opacity","marginTop","cursor","outline","uploadDivDragging","background","uploadCenterDiv","border","borderRadius","uploadCenterIcon","paddingTop","uploadCenterText","fontSize","uploadCenterTextAndIcon","textAlign","top","bottom","left","right","flexDirection","alignItems","justifyContent","disabledOpacity","buttonRemoveWrapper","zIndex","buttonCropWrapper","error","boxSizing","UploadImage","_Component","_inherits2","_super","props","_this","_classCallCheck2","state","uploadFile","anchorEl","cropHandler","cropperRef","createRef","window","document","getElementById","style","createElement","setAttribute","innerHTML","head","appendChild","_createClass2","key","value","onDrop","acceptedFiles","_this$props","maxSize","t","onChange","file","reader","FileReader","onabort","console","log","onerror","onload","ext","concat","name","split","pop","toLowerCase","includes","size","alert","Math","round","base64","btoa","Uint8Array","reduce","data","byte","String","fromCharCode","readAsArrayBuffer","render","_this2","_this$props2","disabled","classes","icon","removeIconFunc","accept","crop","_this$state","React","multiple","onDragEnter","setState","onDragLeave","errors","length","message","_ref","getRootProps","getInputProps","_extends2","className","Utils","clsx","FaFileUpload","Tooltip","title","IconButton","onClick","stopPropagation","Close","currentTarget","Crop","color","Menu","keepMounted","open","onClose","MenuItem","_this2$cropperRef","imageElement","current","cropper","getCroppedCanvas","toDataURL","src","alt","Cropper","ref","initialAspectRatio","viewMode","guides","minCropBoxHeight","minCropBoxWidth","checkOrientation","Component","defaultProps","el","propTypes","PropTypes","object","number","bool","func","_default","withStyles","exports"],"sources":["UploadImage.jsx"],"sourcesContent":["import { Component, createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport Dropzone from 'react-dropzone';\nimport { Cropper } from 'react-cropper';\n\nimport { withStyles } from '@mui/styles';\nimport { Menu, MenuItem, Tooltip, IconButton } from '@mui/material';\n\nimport {\n Close as IconClose,\n Crop as CropIcon,\n} from '@mui/icons-material';\nimport { FaFileUpload as UploadIcon } from 'react-icons/fa';\n\nimport Utils from './Utils';\n\n// import 'cropperjs/dist/cropper.css';\nconst cropperStyles = `\n/*!\n * Cropper.js v1.5.12\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2021-06-12T08:00:11.623Z\n */\n\n.cropper-container {\n direction: ltr;\n font-size: 0;\n line-height: 0;\n position: relative;\n -ms-touch-action: none;\n touch-action: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.cropper-container img {\n display: block;\n height: 100%;\n image-orientation: 0deg;\n max-height: none !important;\n max-width: none !important;\n min-height: 0 !important;\n min-width: 0 !important;\n width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n bottom: 0;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n overflow: hidden;\n}\n\n.cropper-drag-box {\n background-color: #fff;\n opacity: 0;\n}\n\n.cropper-modal {\n background-color: #000;\n opacity: 0.5;\n}\n\n.cropper-view-box {\n display: block;\n height: 100%;\n outline: 1px solid #39f;\n outline-color: rgba(51, 153, 255, 0.75);\n overflow: hidden;\n width: 100%;\n}\n\n.cropper-dashed {\n border: 0 dashed #eee;\n display: block;\n opacity: 0.5;\n position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n border-bottom-width: 1px;\n border-top-width: 1px;\n height: calc(100% / 3);\n left: 0;\n top: calc(100% / 3);\n width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n border-left-width: 1px;\n border-right-width: 1px;\n height: 100%;\n left: calc(100% / 3);\n top: 0;\n width: calc(100% / 3);\n}\n\n.cropper-center {\n display: block;\n height: 0;\n left: 50%;\n opacity: 0.75;\n position: absolute;\n top: 50%;\n width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n background-color: #eee;\n content: ' ';\n display: block;\n position: absolute;\n}\n\n.cropper-center::before {\n height: 1px;\n left: -3px;\n top: 0;\n width: 7px;\n}\n\n.cropper-center::after {\n height: 7px;\n left: 0;\n top: -3px;\n width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n display: block;\n height: 100%;\n opacity: 0.1;\n position: absolute;\n width: 100%;\n}\n\n.cropper-face {\n background-color: #fff;\n left: 0;\n top: 0;\n}\n\n.cropper-line {\n background-color: #39f;\n}\n\n.cropper-line.line-e {\n cursor: ew-resize;\n right: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-n {\n cursor: ns-resize;\n height: 5px;\n left: 0;\n top: -3px;\n}\n\n.cropper-line.line-w {\n cursor: ew-resize;\n left: -3px;\n top: 0;\n width: 5px;\n}\n\n.cropper-line.line-s {\n bottom: -3px;\n cursor: ns-resize;\n height: 5px;\n left: 0;\n}\n\n.cropper-point {\n background-color: #39f;\n height: 5px;\n opacity: 0.75;\n width: 5px;\n}\n\n.cropper-point.point-e {\n cursor: ew-resize;\n margin-top: -3px;\n right: -3px;\n top: 50%;\n}\n\n.cropper-point.point-n {\n cursor: ns-resize;\n left: 50%;\n margin-left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-w {\n cursor: ew-resize;\n left: -3px;\n margin-top: -3px;\n top: 50%;\n}\n\n.cropper-point.point-s {\n bottom: -3px;\n cursor: s-resize;\n left: 50%;\n margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n cursor: nesw-resize;\n right: -3px;\n top: -3px;\n}\n\n.cropper-point.point-nw {\n cursor: nwse-resize;\n left: -3px;\n top: -3px;\n}\n\n.cropper-point.point-sw {\n bottom: -3px;\n cursor: nesw-resize;\n left: -3px;\n}\n\n.cropper-point.point-se {\n bottom: -3px;\n cursor: nwse-resize;\n height: 20px;\n opacity: 1;\n right: -3px;\n width: 20px;\n}\n\n@media (min-width: 768px) {\n .cropper-point.point-se {\n height: 15px;\n width: 15px;\n }\n}\n\n@media (min-width: 992px) {\n .cropper-point.point-se {\n height: 10px;\n width: 10px;\n }\n}\n\n@media (min-width: 1200px) {\n .cropper-point.point-se {\n height: 5px;\n opacity: 0.75;\n width: 5px;\n }\n}\n\n.cropper-point.point-se::before {\n background-color: #39f;\n bottom: -50%;\n content: ' ';\n display: block;\n height: 200%;\n opacity: 0;\n position: absolute;\n right: -50%;\n width: 200%;\n}\n\n.cropper-invisible {\n opacity: 0;\n}\n\n.cropper-bg {\n background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n display: block;\n height: 0;\n position: absolute;\n width: 0;\n}\n\n.cropper-hidden {\n display: none !important;\n}\n\n.cropper-move {\n cursor: move;\n}\n\n.cropper-crop {\n cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n cursor: not-allowed;\n}\n`;\n\nconst styles = theme => ({\n dropZone: {\n width: '100%',\n height: 100,\n position: 'relative',\n },\n dropZoneEmpty: {\n\n },\n image: {\n objectFit: 'contain',\n margin: 'auto',\n display: 'flex',\n width: '100%',\n height: '100%',\n },\n\n uploadDiv: {\n position: 'relative',\n width: '100%',\n height: 300,\n opacity: 0.9,\n marginTop: 30,\n cursor: 'pointer',\n outline: 'none'\n },\n uploadDivDragging: {\n opacity: 1,\n background: 'rgba(128,255,128,0.1)'\n },\n\n uploadCenterDiv: {\n margin: 5,\n border: '3px dashed grey',\n borderRadius: 5,\n width: 'calc(100% - 10px)',\n height: 'calc(100% - 10px)',\n position: 'relative',\n display: 'flex'\n },\n uploadCenterIcon: {\n paddingTop: 10,\n width: 48,\n height: 48,\n },\n uploadCenterText: {\n fontSize: 16,\n },\n uploadCenterTextAndIcon: {\n textAlign: 'center',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center'\n\n },\n disabledOpacity: {\n opacity: 0.3,\n cursor: 'default'\n },\n buttonRemoveWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0\n },\n buttonCropWrapper: {\n position: 'absolute',\n zIndex: 222,\n right: 0,\n top: 50\n },\n error: {\n border: '2px solid red',\n boxSizing: 'border-box',\n },\n});\n\nclass UploadImage extends Component {\n constructor(props) {\n super(props);\n this.state = {\n uploadFile: false,\n anchorEl: null,\n cropHandler: false,\n };\n this.cropperRef = createRef();\n\n if (!window.document.getElementById('cropper-style-json-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'cropper-style-json-component');\n style.innerHTML = cropperStyles;\n window.document.head.appendChild(style);\n }\n }\n\n onDrop(acceptedFiles) {\n const { maxSize, t, onChange } = this.props;\n\n const file = acceptedFiles[0];\n const reader = new FileReader();\n\n reader.onabort = () => console.log('file reading was aborted');\n reader.onerror = () => console.log('file reading has failed');\n reader.onload = () => {\n let ext = `image/${file.name.split('.').pop().toLowerCase()}`;\n if (ext === 'image/jpg') {\n ext = 'image/jpeg';\n } else if (ext.includes('svg')) {\n ext = 'image/svg+xml';\n }\n if (file.size > maxSize) {\n return window.alert(t('ra_File is too big. Max %sk allowed. Try use SVG.', Math.round(maxSize / 1024)));\n }\n const base64 = `data:${ext};base64,${btoa(\n new Uint8Array(reader.result)\n .reduce((data, byte) => data + String.fromCharCode(byte), ''))}`;\n\n onChange(base64);\n };\n reader.readAsArrayBuffer(file);\n }\n\n render() {\n const { disabled, maxSize, classes, icon, t, removeIconFunc, accept, error, crop, onChange } = this.props;\n const { uploadFile, anchorEl, cropHandler } = this.state;\n return <Dropzone\n disabled={disabled || cropHandler}\n key=\"dropzone\"\n multiple={false}\n accept={accept}\n maxSize={maxSize}\n onDragEnter={() => this.setState({ uploadFile: 'dragging' })}\n onDragLeave={() => this.setState({ uploadFile: true })}\n onDrop={(acceptedFiles, errors) => {\n this.setState({ uploadFile: false });\n if (!acceptedFiles.length) {\n window.alert((errors && errors[0] && errors[0].errors && errors[0].errors[0] && errors[0].errors[0].message) || t('ra_Cannot upload'));\n } else {\n return this.onDrop(acceptedFiles);\n }\n }}\n >\n {({ getRootProps, getInputProps }) => <div\n className={Utils.clsx(\n classes.uploadDiv,\n uploadFile === 'dragging' && classes.uploadDivDragging,\n classes.dropZone,\n disabled && classes.disabledOpacity,\n !icon && classes.dropZoneEmpty,\n )}\n {...getRootProps()}>\n <input {...getInputProps()} />\n <div className={Utils.clsx(classes.uploadCenterDiv, error && classes.error)}>\n {!icon ? <div className={classes.uploadCenterTextAndIcon}>\n <UploadIcon className={classes.uploadCenterIcon} />\n <div className={classes.uploadCenterText}>{\n uploadFile === 'dragging' ? t('ra_Drop file here') :\n t('ra_Place your files here or click here to open the browse dialog')}</div>\n </div>\n :\n removeIconFunc && !cropHandler && <div className={classes.buttonRemoveWrapper}>\n <Tooltip title={t('ra_Clear')}>\n <IconButton size=\"large\" onClick={e => {\n removeIconFunc && removeIconFunc();\n e.stopPropagation();\n }}><IconClose />\n </IconButton>\n </Tooltip>\n </div>\n }\n {icon && crop && <div className={classes.buttonCropWrapper}>\n <Tooltip title={t('ra_Crop')}>\n <IconButton size=\"large\" onClick={e => {\n if (!cropHandler) {\n this.setState({ cropHandler: true });\n } else {\n this.setState({ anchorEl: e.currentTarget });\n }\n e.stopPropagation();\n }}><CropIcon color={cropHandler ? 'primary' : 'inherit'} />\n </IconButton>\n </Tooltip>\n <Menu\n anchorEl={anchorEl}\n keepMounted\n open={Boolean(anchorEl)}\n onClose={() => this.setState({ anchorEl: null })}\n >\n <MenuItem onClick={() => this.setState({ anchorEl: null, cropHandler: false }, () => {\n const imageElement = this.cropperRef?.current?.cropper;\n onChange(imageElement.getCroppedCanvas().toDataURL());\n })}>{t('ra_Save')}</MenuItem>\n <MenuItem onClick={() => this.setState({ anchorEl: null, cropHandler: false })}>{t('ra_Close')}</MenuItem>\n </Menu>\n </div>}\n {icon && !cropHandler ? <img src={icon} className={classes.image} alt=\"icon\" /> : null}\n\n {icon && crop && cropHandler ? <Cropper\n ref={this.cropperRef}\n className={classes.image}\n src={icon}\n initialAspectRatio={1}\n viewMode={1}\n guides={false}\n minCropBoxHeight={10}\n minCropBoxWidth={10}\n background={false}\n checkOrientation={false}\n /> : null}\n </div>\n </div>}\n </Dropzone>;\n }\n}\n\nUploadImage.defaultProps = {\n disabled: false,\n maxSize: 10 * 1024,\n icon: null,\n removeIconFunc: null,\n accept: { 'image/*': [] },\n error: false,\n onChange: base64 => console.log(base64),\n t: el => el,\n crop: false,\n};\n\nUploadImage.propTypes = {\n classes: PropTypes.object,\n maxSize: PropTypes.number,\n disabled: PropTypes.bool,\n crop: PropTypes.bool,\n error: PropTypes.bool,\n onChange: PropTypes.func,\n accept: PropTypes.object,\n t: PropTypes.func,\n};\n\nexport default withStyles(styles)(UploadImage);\n"],"mappings":"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"}