react-ui-basics 0.0.232 → 0.0.234
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AutocompleteSelect.js +11 -6
- package/AutocompleteSelect.js.map +1 -1
- package/TextField.js +0 -1
- package/TextField.js.map +1 -1
- package/bundle.css +378 -378
- package/package.json +1 -1
- package/src/AutocompleteSelect.js +9 -6
- package/src/TextField.tsx +0 -1
package/AutocompleteSelect.js
CHANGED
|
@@ -29,6 +29,9 @@ var DummyChild = function DummyChild(_ref) {
|
|
|
29
29
|
[ReactConstants[6]]: onClick
|
|
30
30
|
}, label || id);
|
|
31
31
|
};
|
|
32
|
+
var ifString = function ifString(s) {
|
|
33
|
+
return isString(s) && s;
|
|
34
|
+
};
|
|
32
35
|
var prepareSelected = function prepareSelected(value) {
|
|
33
36
|
var result;
|
|
34
37
|
if (value != null) {
|
|
@@ -81,12 +84,13 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
81
84
|
_this.initSelected = function (_ref2, _ref3) {
|
|
82
85
|
var value = __value(_ref2),
|
|
83
86
|
mode = _ref2.mode,
|
|
84
|
-
allowCustom = _ref2.allowCustom
|
|
87
|
+
allowCustom = _ref2.allowCustom,
|
|
88
|
+
withFilter = _ref2.withFilter;
|
|
85
89
|
var _ref3$filterValue = _ref3.filterValue,
|
|
86
90
|
filterValue = _ref3$filterValue === void 0 ? '' : _ref3$filterValue;
|
|
87
91
|
_this.setState({
|
|
88
92
|
selected: prepareSelected(value),
|
|
89
|
-
filterValue: allowCustom && isString(value) && !isMultipleSelect(mode) ? value : filterValue
|
|
93
|
+
filterValue: allowCustom && withFilter && isString(value) && !isMultipleSelect(mode) ? value : filterValue
|
|
90
94
|
});
|
|
91
95
|
};
|
|
92
96
|
_this.createFilter = memo(function (prefilter, filterValue, filterValueTrimmed, filter) {
|
|
@@ -105,14 +109,15 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
105
109
|
required = _this$props.required,
|
|
106
110
|
onFilterInputChange = _this$props.onFilterInputChange,
|
|
107
111
|
mode = _this$props.mode,
|
|
108
|
-
selectCustomOnClickOutside = _this$props.selectCustomOnClickOutside
|
|
112
|
+
selectCustomOnClickOutside = _this$props.selectCustomOnClickOutside,
|
|
113
|
+
withFilter = _this$props.withFilter;
|
|
109
114
|
var _this$state = __state(_this),
|
|
110
115
|
filterValue = _this$state.filterValue,
|
|
111
116
|
selected = _this$state.selected;
|
|
112
117
|
if (allowCustom && selectCustomOnClickOutside && (!!filterValue || !required)) {
|
|
113
118
|
selected = _this.onSelect();
|
|
114
119
|
}
|
|
115
|
-
filterValue = !isMultipleSelect(mode) && Object.values(selected)[0] || '';
|
|
120
|
+
filterValue = !isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0]) || '';
|
|
116
121
|
_this.setState({
|
|
117
122
|
isActive: false,
|
|
118
123
|
filterValue: filterValue
|
|
@@ -159,7 +164,7 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
159
164
|
if (allowCustom && selectedId) {
|
|
160
165
|
if (isFunction(labels)) labels(selectedId);else labels[selectedId];
|
|
161
166
|
}
|
|
162
|
-
var nextFilterValue = !isMultipleSelect(mode) && withFilter && Object.values(selected)[0] || '';
|
|
167
|
+
var nextFilterValue = !isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0]) || '';
|
|
163
168
|
_this.setState({
|
|
164
169
|
isActive: isActive,
|
|
165
170
|
selected: selected,
|
|
@@ -462,7 +467,7 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
462
467
|
} else if (keyCode === 27 ) {
|
|
463
468
|
_this3.setState({
|
|
464
469
|
isActive: false,
|
|
465
|
-
filterValue: isMultipleSelect(mode) ? '' : Object.values(selected)[0] || ''
|
|
470
|
+
filterValue: isMultipleSelect(mode) ? '' : ifString(Object.values(selected)[0]) || ''
|
|
466
471
|
});
|
|
467
472
|
_this3.input.getInput().blur();
|
|
468
473
|
_this3.onCancel();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteSelect.js","sources":["./src/AutocompleteSelect.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './AutocompleteSelect.css'\nimport TextField from \"./TextField\";\nimport FilteredList, {getLabel} from \"./FilteredList\";\nimport {\n classNames,\n continuousIncludes,\n getRandomId,\n ref,\n orNoop,\n preventDefault,\n stopPropagation,\n DOCUMENT,\n addEventListener,\n removeEventListener,\n isObject,\n isFunction,\n isString, UNDEFINED, memo\n} from \"./Tools\";\nimport Button from \"./Button\";\nimport MaterialIcon from \"./MaterialIcon\";\nimport {PureComponent} from \"./ReactConstants\";\nimport ReactDOM from \"react-dom\";\n\nexport const MODE_DEFAULT = 'default';\nexport const MODE_INLINE = 'inline';\nexport const MODE_INLINE_MULTIPLE = 'inline-multiple';\nexport const MODE_MULTIPLE_AUTO = 'multiple-auto';\nexport const MODE_MULTIPLE = 'multiple';\nexport const MODE_MULTIPLE_MINI = 'multiple-mini';\nexport const MODE_MINI = 'mini';\nexport const MODE_MULTIPLE_MINI_INLINE = 'multiple-mini-inline';\n\n\nconst DummyChild = ({id, label, dataConsumer, onClick}) => {\n orNoop(dataConsumer)(label || id);\n return <div className={`DummyChild`} onClick={onClick}>{label || id}</div>\n};\n\nconst prepareSelected = (value) => {\n let result;\n if (value != null) {\n if (Array.isArray(value))\n result = value.reduce((map, obj) => {\n map[obj] = obj;\n return map;\n }, {});\n else if (isObject(value))\n result = value;\n else if (value)\n result = {[value]: value};\n else\n result = {}\n } else {\n result = {};\n }\n return result;\n};\n\nconst findParent = (el, tag) => {\n if (el != null) {\n const tagName = el.tagName;\n if (tagName && tagName.toUpperCase() === tag.toUpperCase()) {\n return el;\n } else {\n return findParent(el.parentNode, tag)\n }\n }\n return null;\n}\n\nfunction isMultipleSelect(mode) {\n return mode === MODE_MULTIPLE || mode === MODE_MULTIPLE_AUTO || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI || mode === MODE_MULTIPLE_MINI_INLINE;\n}\n\nclass AutocompleteSelect extends PureComponent {\n\n static propTypes = {\n mode: PropTypes.oneOf([MODE_DEFAULT, MODE_INLINE, MODE_MULTIPLE, MODE_MULTIPLE_AUTO, MODE_MULTIPLE_MINI, MODE_MULTIPLE_MINI_INLINE, MODE_INLINE_MULTIPLE, MODE_MINI]),\n listPortalPosition: PropTypes.oneOf(['left', 'right']),\n };\n\n constructor(props) {\n super(props);\n const that = this;\n that.state = {\n selected: prepareSelected(props.value),\n isActive: !!props.focused,\n\n };\n that.randomId = getRandomId('acs-');\n\n const {data, getSelected} = props;\n isFunction(data) && data(data => that.setState({data}));\n\n getSelected && getSelected(() => Object.values(that.state.selected));\n }\n\n componentDidMount() {\n addEventListener(DOCUMENT, 'mousedown', this.listener = (e) => {\n if (this.state.isActive && this.el && !this.el.contains(e.target)) {\n if(!this.props.listPortal || !this.list?.el?.el || !this.list.el.el.contains(e.target)){\n this.onClickOutside()\n }\n }\n })\n if (this.props.required) {\n const form = findParent(this.el.parentNode, 'form')\n if (form) {\n addEventListener(this.submitButton = form.querySelector('button[type=submit]'), 'click', this.formSubmitListener = (e) => {\n const errored = Object.keys(this.state.selected).length === 0;\n this.setState({errored: errored})\n })\n }\n }\n this.initSelected(this.props, this.state)\n this.updateListPosition()\n }\n\n updateListPosition = () => {\n if (this.props.listPortal && this.state.isActive) {\n var rect = this.el.getBoundingClientRect();\n let listPortalPosition = this.props.listPortalPosition;\n let listStyles = {\n position: 'absolute',\n top: rect.bottom + 'px',\n minWidth: rect.width + 'px',\n maxHeight: '300px',\n };\n if (listPortalPosition === 'right')\n listStyles.right = (window.innerWidth - rect.right) + 'px'\n else\n listStyles.left = rect.left + 'px'\n\n this.setState({\n listStyles: listStyles\n })\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value !== prevProps.value)\n this.initSelected(this.props, this.state)\n if (this.state.isActive && !prevState.isActive)\n this.updateListPosition()\n }\n\n initSelected = ({value, mode, allowCustom}, {filterValue = ''}) => {\n this.setState({\n selected: prepareSelected(value),\n filterValue: allowCustom && isString(value) && !isMultipleSelect(mode) ? value : filterValue,\n });\n };\n\n componentWillUnmount() {\n removeEventListener(DOCUMENT, 'mousedown', this.listener)\n removeEventListener(this.submitButton, 'click', this.formSubmitListener)\n }\n\n static defaultProps = {\n childComponent: DummyChild,\n withArrow: true,\n withFilter: true,\n selectCustomOnClickOutside: true,\n withReset: false,\n scrollToValue: false,\n mode: MODE_DEFAULT,\n selectedMode: 'full',\n listPortalPosition: 'left',\n removeIcon: <MaterialIcon icon=\"close\"/>,\n };\n\n createFilter = memo((prefilter, filterValue, filterValueTrimmed, filter) => it => {\n if (!it) return false;\n if (prefilter && !prefilter(it)) return false;\n if (!filterValue) return true;\n\n if (filter) return filter(it, filterValueTrimmed);\n\n let value = (isString(it) ? it : (it.name || it.label || '')).toLowerCase().trim();\n return continuousIncludes(value, filterValueTrimmed);\n }\n )\n\n render() {\n const {\n childComponent,\n childProps,\n withArrow,\n withFilter,\n withReset,\n filter,\n label,\n inputLabel,\n mode,\n selectedMode,\n prefilter,\n className,\n scrollToValue,\n scroll,\n required,\n allowCustom,\n inlineSelected,\n removeIcon,\n listPortal,\n } = this.props;\n const id = this.props.id || this.randomId;\n const selectedComponent = this.props.selectedComponent || childComponent;\n const {selected = {}, filterValue = '', errored} = this.state;\n let {isActive, listStyles} = this.state;\n if (this.props.isActive !== UNDEFINED) {\n isActive = this.props.isActive\n }\n let {data = [], labels = {}} = this.props;\n if (this.state.data)\n data = this.state.data;\n\n if (!Array.isArray(data))\n data = [];\n\n const selectedIds = Object.values(selected);\n const hasSelected = selectedIds.length !== 0;\n const setActive = (e) => {\n stopPropagation(e);\n this.setState({isActive: true}, () => (scrollToValue && selectedIds.length > 0) && this.list.selected(selectedIds[0]));\n };\n const toggle = (e) => {\n if (!this.state.isActive) {\n setActive(e);\n } else {\n stopPropagation(e);\n this.setState({isActive: false});\n }\n };\n\n const isInline = mode === MODE_INLINE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE;\n const filterValueTrimmed = filterValue.trim();\n const dataFiltered = allowCustom && !scrollToValue ? [filterValueTrimmed, ...data.filter(suggestion => suggestion !== filterValueTrimmed)] : data;\n\n const filterFunction = !scrollToValue ? this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter) : UNDEFINED\n let filteredList = <FilteredList className={classNames(isActive && 'visible', listPortal && 'portal')}\n style={listStyles}\n ref={ref('list', this)}\n filter={filterFunction}\n selectSingle={!allowCustom}\n scroll={scroll}\n inline={isInline}\n nextProvider={ref('next', this)}\n prevProvider={ref('prev', this)}\n selectedProvider={ref('getSelected', this)}\n resetProvider={ref('reset', this)}\n onSelect={this.onSelect}\n selected={selected}\n childComponent={childComponent}\n childProps={childProps}\n data={dataFiltered}\n labels={labels}\n />;\n filteredList = listPortal ? ReactDOM.createPortal(filteredList, listPortal) : filteredList\n\n return (\n <div id={id}\n className={classNames(\n 'AutocompleteSelect',\n mode,\n isMultipleSelect(mode) && 'multi',\n className,\n withFilter ? 'withFilter' : 'withoutFilter',\n isActive && 'active',\n errored && 'errored',\n inlineSelected && 'inlineSelected',\n hasSelected && 'hasSelected',\n )}\n ref={ref('el', this)}>\n {label && <label className={classNames(`label`, (hasSelected || filterValue) && 'active', hasSelected && 'hasSelected')}\n htmlFor={'f-' + id}\n onClick={() => {\n if (mode === MODE_MULTIPLE_MINI_INLINE || !isActive) {\n toggle();\n }\n }}\n >\n {label}\n {required && ' *'}\n {withArrow && <span className=\"arrow\"/>}\n </label>}\n\n {(!isActive || mode === MODE_MULTIPLE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE || mode === MODE_MULTIPLE_AUTO || !withFilter) && !inlineSelected && hasSelected && (\n <div\n className={classNames('selected',\n !label && 'nolabel',\n (mode === MODE_MULTIPLE_MINI || mode === MODE_MINI || mode === MODE_MULTIPLE_MINI_INLINE) && 'clickable',\n selectedMode)}\n onClick={toggle}>\n\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n stopPropagation(e);\n this.remove(id);\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n {!label && withArrow && <span className=\"arrow\"/>}\n {withReset && <Button className=\"reset\" raised={false} onClick={this.clean}>\n {removeIcon}\n </Button>}\n </div>\n )}\n\n {inlineSelected && hasSelected && <>\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n stopPropagation(e);\n this.remove(id);\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n </>}\n\n {(isActive || (!hasSelected && mode !== MODE_MULTIPLE_MINI_INLINE) || mode === MODE_MULTIPLE || (mode === MODE_MULTIPLE_AUTO && selectedIds.length > 1) || mode === MODE_INLINE_MULTIPLE) && (\n <div className={`input`} data-value={filterValue}>\n {withFilter && <TextField autoComplete=\"new-password\" id={'f-' + id}\n ref={ref('input', this)}\n focused={isActive}\n value={filterValue}\n label={inputLabel}\n onChange={this.onChange}\n onFocus={e => this.setState({isActive: true})}\n check={this.props.filterCheck}\n onKeyDown={e => {\n const keyCode = e.keyCode;\n if (keyCode === 38/*up*/) {\n preventDefault(e);\n this.prev();\n } else if (keyCode === 40/*down*/) {\n preventDefault(e);\n this.next();\n } else if (keyCode === 13/*enter*/) {\n preventDefault(e);\n this.onSelect(this.getSelected())\n } else if (keyCode === 9/*tab*/) {\n this.onSelect(this.getSelected())\n } else if (keyCode === 8/*backspace*/) {\n if (!filterValue && (selectedIds.length !== 0) && isMultipleSelect(mode)) {\n this.remove(selectedIds[selectedIds.length - 1]);\n }\n this.reset()\n } else if (keyCode === 46/*delete*/) {\n this.reset()\n } else if (keyCode === 27/*esc*/) {\n this.setState({\n isActive: false,\n filterValue: isMultipleSelect(mode) ? '' : Object.values(selected)[0] || '',\n });\n this.input.getInput().blur()\n this.onCancel();\n }\n // console.log('key pressed:', e.keyCode)\n }}\n />}\n {!withFilter && inputLabel && <label>{inputLabel}</label>}\n </div>\n )}\n\n {filteredList}\n </div>\n )\n }\n\n onClickOutside = () => {\n const {allowCustom, required, onFilterInputChange, mode, selectCustomOnClickOutside} = this.props;\n let {filterValue, selected} = this.state;\n if (allowCustom && selectCustomOnClickOutside && (!!filterValue || !required)) {\n selected = this.onSelect()\n }\n\n filterValue = (!isMultipleSelect(mode) && Object.values(selected)[0]) || ''\n this.setState({isActive: false, filterValue});\n onFilterInputChange && onFilterInputChange(filterValue);\n\n this.onCancel();\n };\n\n onCancel = () => {\n orNoop(this.props.onCancel)()\n };\n\n onSelect = (selectedId) => {\n const {mode, required, allowCustom, onSelect, onChange, default: defaultValue} = this.props;\n const {filterValue, selected: currentSelection} = this.state;\n const {labels = {}, onFilterInputChange, withFilter} = this.props;\n\n // debugger\n if (selectedId == null && (!!filterValue || !required) && allowCustom && (!this.input || !this.input.check()))\n selectedId = filterValue.trim();\n\n const isMultiSelect = isMultipleSelect(mode);\n\n if (!selectedId && isMultiSelect) {\n selectedId = null;\n }\n\n // debugger\n\n const isSelected = selectedId != null;\n\n let selected = {...currentSelection};\n if (selected[selectedId] && (defaultValue || isMultiSelect)) {\n delete selected[selectedId];\n if (defaultValue && Object.keys(selected).length === 0)\n selected[defaultValue] = defaultValue;\n } else if (isSelected && (isMultiSelect)) {\n selected[selectedId] = selectedId;\n } else if (isSelected) {\n selected = {[selectedId]: selectedId};\n }\n\n const errored = required && Object.keys(selected) === 0;\n\n const isActive = mode === MODE_MULTIPLE_MINI_INLINE || (isMultiSelect && isSelected)\n\n let customValue = '';\n if (allowCustom && selectedId) {\n let label\n if (isFunction(labels))\n label = labels(selectedId)\n else\n label = labels[selectedId]\n\n if (label && isString(label))\n customValue = label\n }\n\n let nextFilterValue = (!isMultipleSelect(mode) && withFilter && Object.values(selected)[0]) || ''\n this.setState({\n isActive: isActive,\n selected: selected,\n filterValue: nextFilterValue,\n errored,\n });\n\n if (nextFilterValue !== filterValue)\n orNoop(onFilterInputChange)(nextFilterValue)\n\n if (isActive && this.input)\n this.input.getInput().focus()\n\n orNoop(onSelect)(selectedId);\n orNoop(onChange)(Object.values(selected));\n return selected\n };\n\n clean = (e) => {\n preventDefault(e);\n stopPropagation(e);\n\n this.setState({\n isActive: false,\n selected: {},\n filterValue: '',\n });\n\n orNoop(this.props.onSelect)(null);\n orNoop(this.props.onChange)([]);\n\n this.initSelected(this.props, this.state);\n };\n\n remove = (id) => {\n let result = {\n ...this.state,\n selected: {...this.state.selected},\n filterValue: '',\n };\n delete result.selected[id];\n this.setState(result);\n orNoop(this.props.onChange)(Object.values(result.selected));\n };\n\n onChange = (event) => {\n const value = event.target.value;\n this.setState({filterValue: value});\n const data = this.state.data || this.props.data || []\n if (data.indexOf(value) !== -1) {\n this.list.selected(value)\n } else {\n this.list.reset()\n }\n\n this.props.onFilterInputChange?.(value);\n }\n}\n\nexport default AutocompleteSelect;\n"],"names":["MODE_DEFAULT","MODE_INLINE","MODE_INLINE_MULTIPLE","MODE_MULTIPLE_AUTO","MODE_MULTIPLE","MODE_MULTIPLE_MINI","MODE_MINI","MODE_MULTIPLE_MINI_INLINE","DummyChild","_ref","id","label","dataConsumer","onClick","orNoop","ReactCreateElement","className","prepareSelected","value","result","Array","isArray","reduce","map","obj","isObject","_defineProperty","findParent","el","tag","tagName","toUpperCase","parentNode","isMultipleSelect","mode","AutocompleteSelect","_PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","updateListPosition","listPortal","state","isActive","rect","getBoundingClientRect","listPortalPosition","listStyles","position","top","bottom","minWidth","width","maxHeight","right","window","innerWidth","left","setState","initSelected","_ref2","_ref3","allowCustom","_ref3$filterValue","filterValue","selected","isString","createFilter","memo","prefilter","filterValueTrimmed","filter","it","name","toLowerCase","trim","continuousIncludes","onClickOutside","_this$props","required","onFilterInputChange","selectCustomOnClickOutside","_this$state","onSelect","Object","values","onCancel","selectedId","_this$props2","onChange","defaultValue","_this$state2","currentSelection","_this$props3","_this$props3$labels","labels","withFilter","input","check","isMultiSelect","isSelected","_objectSpread","keys","length","errored","isFunction","nextFilterValue","getInput","focus","clean","e","preventDefault","stopPropagation","remove","event","target","data","indexOf","list","reset","that","_assertThisInitialized","focused","randomId","getRandomId","getSelected","_createClass","key","componentDidMount","_this2","addEventListener","DOCUMENT","listener","contains","_this2$list","_this2$list$el","form","submitButton","querySelector","formSubmitListener","componentDidUpdate","prevProps","prevState","snapshot","componentWillUnmount","removeEventListener","render","_this3","_this$props4","childComponent","childProps","withArrow","withReset","inputLabel","selectedMode","scrollToValue","scroll","inlineSelected","removeIcon","selectedComponent","_this$state3","_this$state3$selected","_this$state3$filterVa","_this$state4","UNDEFINED","_this$props5","_this$props5$data","_this$props5$labels","selectedIds","hasSelected","setActive","toggle","isInline","dataFiltered","concat","_toConsumableArray","suggestion","filterFunction","filteredList","FilteredList","classNames","style","ref","selectSingle","inline","nextProvider","prevProvider","selectedProvider","resetProvider","ReactDOM","createPortal","htmlFor","React","createElement","getLabel","Fragment","Button","raised","TextField","autoComplete","onFocus","filterCheck","onKeyDown","keyCode","prev","next","blur","PureComponent","defaultProps","MaterialIcon","icon"],"mappings":";;;;;;;;;;;;AA0BO,IAAMA,YAAY,GAAG,UAAS;AAC9B,IAAMC,WAAW,GAAG,SAAQ;AAC5B,IAAMC,oBAAoB,GAAG,kBAAiB;AAC9C,IAAMC,kBAAkB,GAAG,gBAAe;AAC1C,IAAMC,aAAa,GAAG,WAAU;AAChC,IAAMC,kBAAkB,GAAG,gBAAe;AAC1C,IAAMC,SAAS,GAAG,OAAM;AACxB,IAAMC,yBAAyB,GAAG,uBAAsB;AAG/D,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAA2C;AAAA,EAAA,IAAtCC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,YAAY,GAAAH,IAAA,CAAZG,YAAY;IAAEC,OAAO,GAAAJ,IAAA,CAAPI,OAAO,CAAA;AACjDC,EAAAA,MAAM,CAACF,YAAY,CAAC,CAACD,KAAK,IAAID,EAAE,CAAC,CAAA;AACjC,EAAA,OAAOK,kBAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAe,YAAA;AAACH,IAAAA,OAAO,EAAEA,OAAAA;GAAUF,EAAAA,KAAK,IAAID,EAAQ,CAAC,CAAA;AAC9E,CAAC,CAAA;AAED,IAAMO,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,KAAK,EAAK;AAC/B,EAAA,IAAIC,MAAM,CAAA;EACV,IAAID,KAAK,IAAI,IAAI,EAAE;AACf,IAAA,IAAIE,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EACpBC,MAAM,GAAGD,KAAK,CAACI,MAAM,CAAC,UAACC,GAAG,EAAEC,GAAG,EAAK;AAChCD,MAAAA,GAAG,CAACC,GAAG,CAAC,GAAGA,GAAG,CAAA;AACd,MAAA,OAAOD,GAAG,CAAA;AACd,KAAC,EAAE,EAAE,CAAC,CAAC,KACN,IAAIE,QAAQ,CAACP,KAAK,CAAC,EACpBC,MAAM,GAAGD,KAAK,CAAC,KACd,IAAIA,KAAK,EACVC,MAAM,GAAAO,eAAA,CAAKR,EAAAA,EAAAA,KAAK,EAAGA,KAAK,CAAC,CAAC,KAE1BC,MAAM,GAAG,EAAE,CAAA;AACnB,GAAC,MAAM;IACHA,MAAM,GAAG,EAAE,CAAA;AACf,GAAA;AACA,EAAA,OAAOA,MAAM,CAAA;AACjB,CAAC,CAAA;AAED,IAAMQ,UAAU,GAAG,SAAbA,UAAUA,CAAIC,EAAE,EAAEC,GAAG,EAAK;EAC5B,IAAID,EAAE,IAAI,IAAI,EAAE;AACZ,IAAA,IAAME,OAAO,GAAGF,EAAE,CAACE,OAAO,CAAA;AAC1B,IAAA,IAAIA,OAAO,IAAIA,OAAO,CAACC,WAAW,EAAE,KAAKF,GAAG,CAACE,WAAW,EAAE,EAAE;AACxD,MAAA,OAAOH,EAAE,CAAA;AACb,KAAC,MAAM;AACH,MAAA,OAAOD,UAAU,CAACC,EAAE,CAACI,UAAU,EAAEH,GAAG,CAAC,CAAA;AACzC,KAAA;AACJ,GAAA;AACA,EAAA,OAAO,IAAI,CAAA;AACf,CAAC,CAAA;AAED,SAASI,gBAAgBA,CAACC,IAAI,EAAE;AAC5B,EAAA,OAAOA,IAAI,KAAK9B,aAAa,IAAI8B,IAAI,KAAK/B,kBAAkB,IAAI+B,IAAI,KAAKhC,oBAAoB,IAAIgC,IAAI,KAAK7B,kBAAkB,IAAI6B,IAAI,KAAK3B,yBAAyB,CAAA;AACtK,CAAA;AAAC,IAEK4B,kBAAkB,aAAAC,cAAA,EAAA;EAAAC,SAAA,CAAAF,kBAAA,EAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,kBAAA,CAAA,CAAA;EAOpB,SAAAA,kBAAAA,CAAYK,KAAK,EAAE;AAAA,IAAA,IAAAC,KAAA,CAAA;AAAAC,IAAAA,eAAA,OAAAP,kBAAA,CAAA,CAAA;AACfM,IAAAA,KAAA,GAAAH,MAAA,CAAAK,IAAA,OAAMH,KAAK,CAAA,CAAA;IAAEC,KAAA,CAoCjBG,kBAAkB,GAAG,YAAM;MACvB,IAAIH,KAAA,CAAKD,KAAK,CAACK,UAAU,IAAIJ,KAAA,CAAKK,KAAK,CAACC,QAAQ,EAAE;QAC9C,IAAIC,IAAI,GAAGP,KAAA,CAAKb,EAAE,CAACqB,qBAAqB,EAAE,CAAA;AAC1C,QAAA,IAAIC,kBAAkB,GAAGT,KAAA,CAAKD,KAAK,CAACU,kBAAkB,CAAA;AACtD,QAAA,IAAIC,UAAU,GAAG;AACbC,UAAAA,QAAQ,EAAE,UAAU;AACpBC,UAAAA,GAAG,EAAEL,IAAI,CAACM,MAAM,GAAG,IAAI;AACvBC,UAAAA,QAAQ,EAAEP,IAAI,CAACQ,KAAK,GAAG,IAAI;AAC3BC,UAAAA,SAAS,EAAE,OAAA;SACd,CAAA;QACD,IAAIP,kBAAkB,KAAK,OAAO,EAC9BC,UAAU,CAACO,KAAK,GAAIC,MAAM,CAACC,UAAU,GAAGZ,IAAI,CAACU,KAAK,GAAI,IAAI,CAAA,KAE1DP,UAAU,CAACU,IAAI,GAAGb,IAAI,CAACa,IAAI,GAAG,IAAI,CAAA;QAEtCpB,KAAA,CAAKqB,QAAQ,CAAC;AACVX,UAAAA,UAAU,EAAEA,UAAAA;AAChB,SAAC,CAAC,CAAA;AACN,OAAA;KACH,CAAA;AAAAV,IAAAA,KAAA,CASDsB,YAAY,GAAG,UAAAC,KAAA,EAAAC,KAAA,EAAoD;AAAA,MAAA,IAAlD/C,KAAK,GAAA8C,KAAA,CAAL9C,KAAK;QAAEgB,IAAI,GAAA8B,KAAA,CAAJ9B,IAAI;QAAEgC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;AAAA,MAAA,IAAAC,iBAAA,GAAAF,KAAA,CAAIG,WAAW;AAAXA,QAAAA,WAAW,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA,CAAA;MACzD1B,KAAA,CAAKqB,QAAQ,CAAC;AACVO,QAAAA,QAAQ,EAAEpD,eAAe,CAACC,KAAK,CAAC;AAChCkD,QAAAA,WAAW,EAAEF,WAAW,IAAII,QAAQ,CAACpD,KAAK,CAAC,IAAI,CAACe,gBAAgB,CAACC,IAAI,CAAC,GAAGhB,KAAK,GAAGkD,WAAAA;AACrF,OAAC,CAAC,CAAA;KACL,CAAA;AAAA3B,IAAAA,KAAA,CAoBD8B,YAAY,GAAGC,IAAI,CAAC,UAACC,SAAS,EAAEL,WAAW,EAAEM,kBAAkB,EAAEC,MAAM,EAAA;MAAA,OAAK,UAAAC,EAAE,EAAI;AAC1E,QAAA,IAAI,CAACA,EAAE,EAAE,OAAO,KAAK,CAAA;QACrB,IAAIH,SAAS,IAAI,CAACA,SAAS,CAACG,EAAE,CAAC,EAAE,OAAO,KAAK,CAAA;AAC7C,QAAA,IAAI,CAACR,WAAW,EAAE,OAAO,IAAI,CAAA;QAE7B,IAAIO,MAAM,EAAE,OAAOA,MAAM,CAACC,EAAE,EAAEF,kBAAkB,CAAC,CAAA;QAEjD,IAAIxD,KAAK,GAAG,CAACoD,QAAQ,CAACM,EAAE,CAAC,GAAGA,EAAE,GAAIA,EAAE,CAACC,IAAI,IAAID,EAAE,CAACjE,KAAK,IAAI,EAAG,EAAEmE,WAAW,EAAE,CAACC,IAAI,EAAE,CAAA;AAClF,QAAA,OAAOC,kBAAkB,CAAC9D,KAAK,EAAEwD,kBAAkB,CAAC,CAAA;OACvD,CAAA;AAAA,KACL,CAAC,CAAA;IAAAjC,KAAA,CA+MDwC,cAAc,GAAG,YAAM;AACnB,MAAA,IAAAC,WAAA,GAAuFzC,KAAA,CAAKD,KAAK;QAA1F0B,WAAW,GAAAgB,WAAA,CAAXhB,WAAW;QAAEiB,QAAQ,GAAAD,WAAA,CAARC,QAAQ;QAAEC,mBAAmB,GAAAF,WAAA,CAAnBE,mBAAmB;QAAElD,IAAI,GAAAgD,WAAA,CAAJhD,IAAI;QAAEmD,0BAA0B,GAAAH,WAAA,CAA1BG,0BAA0B,CAAA;AACnF,MAAA,IAAAC,WAAA,GAA8B7C,KAAA,CAAKK,KAAK;QAAnCsB,WAAW,GAAAkB,WAAA,CAAXlB,WAAW;QAAEC,QAAQ,GAAAiB,WAAA,CAARjB,QAAQ,CAAA;MAC1B,IAAIH,WAAW,IAAImB,0BAA0B,KAAK,CAAC,CAACjB,WAAW,IAAI,CAACe,QAAQ,CAAC,EAAE;AAC3Ed,QAAAA,QAAQ,GAAG5B,KAAA,CAAK8C,QAAQ,EAAE,CAAA;AAC9B,OAAA;AAEAnB,MAAAA,WAAW,GAAI,CAACnC,gBAAgB,CAACC,IAAI,CAAC,IAAIsD,MAAM,CAACC,MAAM,CAACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAK,EAAE,CAAA;MAC3E5B,KAAA,CAAKqB,QAAQ,CAAC;AAACf,QAAAA,QAAQ,EAAE,KAAK;AAAEqB,QAAAA,WAAW,EAAXA,WAAAA;AAAW,OAAC,CAAC,CAAA;AAC7CgB,MAAAA,mBAAmB,IAAIA,mBAAmB,CAAChB,WAAW,CAAC,CAAA;MAEvD3B,KAAA,CAAKiD,QAAQ,EAAE,CAAA;KAClB,CAAA;IAAAjD,KAAA,CAEDiD,QAAQ,GAAG,YAAM;MACb5E,MAAM,CAAC2B,KAAA,CAAKD,KAAK,CAACkD,QAAQ,CAAC,EAAE,CAAA;KAChC,CAAA;AAAAjD,IAAAA,KAAA,CAED8C,QAAQ,GAAG,UAACI,UAAU,EAAK;AACvB,MAAA,IAAAC,YAAA,GAAiFnD,KAAA,CAAKD,KAAK;QAApFN,IAAI,GAAA0D,YAAA,CAAJ1D,IAAI;QAAEiD,QAAQ,GAAAS,YAAA,CAART,QAAQ;QAAEjB,WAAW,GAAA0B,YAAA,CAAX1B,WAAW;QAAEqB,QAAQ,GAAAK,YAAA,CAARL,QAAQ;QAAEM,QAAQ,GAAAD,YAAA,CAARC,QAAQ;AAAWC,QAAAA,YAAY,GAAAF,YAAA,CAAA,SAAA,CAAA,CAAA;AAC7E,MAAA,IAAAG,YAAA,GAAkDtD,KAAA,CAAKK,KAAK;QAArDsB,WAAW,GAAA2B,YAAA,CAAX3B,WAAW;QAAY4B,gBAAgB,GAAAD,YAAA,CAA1B1B,QAAQ,CAAA;AAC5B,MAAA,IAAA4B,YAAA,GAAuDxD,KAAA,CAAKD,KAAK;QAAA0D,mBAAA,GAAAD,YAAA,CAA1DE,MAAM;AAANA,QAAAA,MAAM,GAAAD,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA;QAAEd,mBAAmB,GAAAa,YAAA,CAAnBb,mBAAmB;QAAEgB,UAAU,GAAAH,YAAA,CAAVG,UAAU,CAAA;AAGnD,MAAA,IAAIT,UAAU,IAAI,IAAI,KAAK,CAAC,CAACvB,WAAW,IAAI,CAACe,QAAQ,CAAC,IAAIjB,WAAW,KAAK,CAACzB,KAAA,CAAK4D,KAAK,IAAI,CAAC5D,KAAA,CAAK4D,KAAK,CAACC,KAAK,EAAE,CAAC,EACzGX,UAAU,GAAGvB,WAAW,CAACW,IAAI,EAAE,CAAA;AAEnC,MAAA,IAAMwB,aAAa,GAAGtE,gBAAgB,CAACC,IAAI,CAAC,CAAA;AAE5C,MAAA,IAAI,CAACyD,UAAU,IAAIY,aAAa,EAAE;AAC9BZ,QAAAA,UAAU,GAAG,IAAI,CAAA;AACrB,OAAA;AAIA,MAAA,IAAMa,UAAU,GAAGb,UAAU,IAAI,IAAI,CAAA;AAErC,MAAA,IAAItB,QAAQ,GAAAoC,cAAA,CAAA,EAAA,EAAOT,gBAAgB,CAAC,CAAA;MACpC,IAAI3B,QAAQ,CAACsB,UAAU,CAAC,KAAKG,YAAY,IAAIS,aAAa,CAAC,EAAE;QACzD,OAAOlC,QAAQ,CAACsB,UAAU,CAAC,CAAA;AAC3B,QAAA,IAAIG,YAAY,IAAIN,MAAM,CAACkB,IAAI,CAACrC,QAAQ,CAAC,CAACsC,MAAM,KAAK,CAAC,EAClDtC,QAAQ,CAACyB,YAAY,CAAC,GAAGA,YAAY,CAAA;AAC7C,OAAC,MAAM,IAAIU,UAAU,IAAKD,aAAc,EAAE;AACtClC,QAAAA,QAAQ,CAACsB,UAAU,CAAC,GAAGA,UAAU,CAAA;OACpC,MAAM,IAAIa,UAAU,EAAE;AACnBnC,QAAAA,QAAQ,GAAA3C,eAAA,CAAA,EAAA,EAAKiE,UAAU,EAAGA,UAAU,CAAC,CAAA;AACzC,OAAA;MAEA,IAAMiB,OAAO,GAAGzB,QAAQ,IAAIK,MAAM,CAACkB,IAAI,CAACrC,QAAQ,CAAC,KAAK,CAAC,CAAA;MAEvD,IAAMtB,QAAQ,GAAGb,IAAI,KAAK3B,yBAAyB,IAAKgG,aAAa,IAAIC,UAAW,CAAA;MAGpF,IAAItC,WAAW,IAAIyB,UAAU,EAAE;AAE3B,QAAA,IAAIkB,UAAU,CAACV,MAAM,CAAC,EACVA,MAAM,CAACR,UAAU,CAAC,CAE1BhF,KAAQwF,MAAM,CAACR,UAAU,CAAC,CAAA;AAIlC,OAAA;MAEA,IAAImB,eAAe,GAAI,CAAC7E,gBAAgB,CAACC,IAAI,CAAC,IAAIkE,UAAU,IAAIZ,MAAM,CAACC,MAAM,CAACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAK,EAAE,CAAA;MACjG5B,KAAA,CAAKqB,QAAQ,CAAC;AACVf,QAAAA,QAAQ,EAAEA,QAAQ;AAClBsB,QAAAA,QAAQ,EAAEA,QAAQ;AAClBD,QAAAA,WAAW,EAAE0C,eAAe;AAC5BF,QAAAA,OAAO,EAAPA,OAAAA;AACJ,OAAC,CAAC,CAAA;MAEF,IAAIE,eAAe,KAAK1C,WAAW,EAC/BtD,MAAM,CAACsE,mBAAmB,CAAC,CAAC0B,eAAe,CAAC,CAAA;AAEhD,MAAA,IAAI/D,QAAQ,IAAIN,KAAA,CAAK4D,KAAK,EACtB5D,KAAA,CAAK4D,KAAK,CAACU,QAAQ,EAAE,CAACC,KAAK,EAAE,CAAA;AAEjClG,MAAAA,MAAM,CAACyE,QAAQ,CAAC,CAACI,UAAU,CAAC,CAAA;MAC5B7E,MAAM,CAAC+E,QAAQ,CAAC,CAACL,MAAM,CAACC,MAAM,CAACpB,QAAQ,CAAC,CAAC,CAAA;AACzC,MAAA,OAAOA,QAAQ,CAAA;KAClB,CAAA;AAAA5B,IAAAA,KAAA,CAEDwE,KAAK,GAAG,UAACC,CAAC,EAAK;MACXC,cAAc,CAACD,CAAC,CAAC,CAAA;MACjBE,eAAe,CAACF,CAAC,CAAC,CAAA;MAElBzE,KAAA,CAAKqB,QAAQ,CAAC;AACVf,QAAAA,QAAQ,EAAE,KAAK;QACfsB,QAAQ,EAAE,EAAE;AACZD,QAAAA,WAAW,EAAE,EAAA;AACjB,OAAC,CAAC,CAAA;MAEFtD,MAAM,CAAC2B,KAAA,CAAKD,KAAK,CAAC+C,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAA;MACjCzE,MAAM,CAAC2B,KAAA,CAAKD,KAAK,CAACqD,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;MAE/BpD,KAAA,CAAKsB,YAAY,CAACtB,KAAA,CAAKD,KAAK,EAAEC,KAAA,CAAKK,KAAK,CAAC,CAAA;KAC5C,CAAA;AAAAL,IAAAA,KAAA,CAED4E,MAAM,GAAG,UAAC3G,EAAE,EAAK;MACb,IAAIS,MAAM,GAAAsF,cAAA,CAAAA,cAAA,CACHhE,EAAAA,EAAAA,KAAA,CAAKK,KAAK,CAAA,EAAA,EAAA,EAAA;QACbuB,QAAQ,EAAAoC,cAAA,CAAMhE,EAAAA,EAAAA,KAAA,CAAKK,KAAK,CAACuB,QAAQ,CAAC;AAClCD,QAAAA,WAAW,EAAE,EAAA;OAChB,CAAA,CAAA;AACD,MAAA,OAAOjD,MAAM,CAACkD,QAAQ,CAAC3D,EAAE,CAAC,CAAA;AAC1B+B,MAAAA,KAAA,CAAKqB,QAAQ,CAAC3C,MAAM,CAAC,CAAA;AACrBL,MAAAA,MAAM,CAAC2B,KAAA,CAAKD,KAAK,CAACqD,QAAQ,CAAC,CAACL,MAAM,CAACC,MAAM,CAACtE,MAAM,CAACkD,QAAQ,CAAC,CAAC,CAAA;KAC9D,CAAA;AAAA5B,IAAAA,KAAA,CAEDoD,QAAQ,GAAG,UAACyB,KAAK,EAAK;AAClB,MAAA,IAAMpG,KAAK,GAAGoG,KAAK,CAACC,MAAM,CAACrG,KAAK,CAAA;MAChCuB,KAAA,CAAKqB,QAAQ,CAAC;AAACM,QAAAA,WAAW,EAAElD,KAAAA;AAAK,OAAC,CAAC,CAAA;AACnC,MAAA,IAAMsG,IAAI,GAAG/E,KAAA,CAAKK,KAAK,CAAC0E,IAAI,IAAI/E,KAAA,CAAKD,KAAK,CAACgF,IAAI,IAAI,EAAE,CAAA;MACrD,IAAIA,IAAI,CAACC,OAAO,CAACvG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;AAC5BuB,QAAAA,KAAA,CAAKiF,IAAI,CAACrD,QAAQ,CAACnD,KAAK,CAAC,CAAA;AAC7B,OAAC,MAAM;AACHuB,QAAAA,KAAA,CAAKiF,IAAI,CAACC,KAAK,EAAE,CAAA;AACrB,OAAA;AAEAlF,MAAAA,KAAA,CAAKD,KAAK,CAAC4C,mBAAmB,IAA9B3C,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAA,CAAKD,KAAK,CAAC4C,mBAAmB,CAAGlE,KAAK,CAAC,CAAA;KAC1C,CAAA;AA1aG,IAAA,IAAM0G,IAAI,GAAAC,sBAAA,CAAApF,KAAA,CAAO,CAAA;IACjBmF,IAAI,CAAC9E,KAAK,GAAG;AACTuB,MAAAA,QAAQ,EAAEpD,eAAe,CAACuB,KAAK,CAACtB,KAAK,CAAC;AACtC6B,MAAAA,QAAQ,EAAE,CAAC,CAACP,KAAK,CAACsF,OAAAA;KAErB,CAAA;AACDF,IAAAA,IAAI,CAACG,QAAQ,GAAGC,WAAW,CAAC,MAAM,CAAC,CAAA;AAEnC,IAAA,IAAOR,KAAI,GAAiBhF,KAAK,CAA1BgF,IAAI;MAAES,WAAW,GAAIzF,KAAK,CAApByF,WAAW,CAAA;AACxBpB,IAAAA,UAAU,CAACW,KAAI,CAAC,IAAIA,KAAI,CAAC,UAAAA,IAAI,EAAA;MAAA,OAAII,IAAI,CAAC9D,QAAQ,CAAC;AAAC0D,QAAAA,IAAI,EAAJA,IAAAA;AAAI,OAAC,CAAC,CAAA;KAAC,CAAA,CAAA;IAEvDS,WAAW,IAAIA,WAAW,CAAC,YAAA;MAAA,OAAMzC,MAAM,CAACC,MAAM,CAACmC,IAAI,CAAC9E,KAAK,CAACuB,QAAQ,CAAC,CAAA;KAAC,CAAA,CAAA;AAAC,IAAA,OAAA5B,KAAA,CAAA;AACzE,GAAA;AAACyF,EAAAA,YAAA,CAAA/F,kBAAA,EAAA,CAAA;IAAAgG,GAAA,EAAA,mBAAA;IAAAjH,KAAA,EAED,SAAAkH,iBAAAA,GAAoB;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;MAChBC,gBAAgB,CAACC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAACC,QAAQ,GAAG,UAACtB,CAAC,EAAK;QAC3D,IAAImB,MAAI,CAACvF,KAAK,CAACC,QAAQ,IAAIsF,MAAI,CAACzG,EAAE,IAAI,CAACyG,MAAI,CAACzG,EAAE,CAAC6G,QAAQ,CAACvB,CAAC,CAACK,MAAM,CAAC,EAAE;UAAA,IAAAmB,WAAA,EAAAC,cAAA,CAAA;AAC/D,UAAA,IAAG,CAACN,MAAI,CAAC7F,KAAK,CAACK,UAAU,IAAI,EAAA,CAAA6F,WAAA,GAACL,MAAI,CAACX,IAAI,cAAAiB,cAAA,GAATD,WAAA,CAAW9G,EAAE,KAAb+G,IAAAA,IAAAA,cAAA,CAAe/G,EAAE,CAAA,IAAI,CAACyG,MAAI,CAACX,IAAI,CAAC9F,EAAE,CAACA,EAAE,CAAC6G,QAAQ,CAACvB,CAAC,CAACK,MAAM,CAAC,EAAC;YACnFc,MAAI,CAACpD,cAAc,EAAE,CAAA;AACzB,WAAA;AACJ,SAAA;AACJ,OAAC,CAAC,CAAA;AACF,MAAA,IAAI,IAAI,CAACzC,KAAK,CAAC2C,QAAQ,EAAE;QACrB,IAAMyD,IAAI,GAAGjH,UAAU,CAAC,IAAI,CAACC,EAAE,CAACI,UAAU,EAAE,MAAM,CAAC,CAAA;AACnD,QAAA,IAAI4G,IAAI,EAAE;UACNN,gBAAgB,CAAC,IAAI,CAACO,YAAY,GAAGD,IAAI,CAACE,aAAa,CAAC,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,CAACC,kBAAkB,GAAG,UAAC7B,CAAC,EAAK;AACtH,YAAA,IAAMN,OAAO,GAAGpB,MAAM,CAACkB,IAAI,CAAC2B,MAAI,CAACvF,KAAK,CAACuB,QAAQ,CAAC,CAACsC,MAAM,KAAK,CAAC,CAAA;YAC7D0B,MAAI,CAACvE,QAAQ,CAAC;AAAC8C,cAAAA,OAAO,EAAEA,OAAAA;AAAO,aAAC,CAAC,CAAA;AACrC,WAAC,CAAC,CAAA;AACN,SAAA;AACJ,OAAA;MACA,IAAI,CAAC7C,YAAY,CAAC,IAAI,CAACvB,KAAK,EAAE,IAAI,CAACM,KAAK,CAAC,CAAA;MACzC,IAAI,CAACF,kBAAkB,EAAE,CAAA;AAC7B,KAAA;AAAC,GAAA,EAAA;IAAAuF,GAAA,EAAA,oBAAA;IAAAjH,KAAA,EAuBD,SAAA8H,kBAAmBC,CAAAA,SAAS,EAAEC,SAAS,EAAEC,QAAQ,EAAE;MAC/C,IAAI,IAAI,CAAC3G,KAAK,CAACtB,KAAK,KAAK+H,SAAS,CAAC/H,KAAK,EACpC,IAAI,CAAC6C,YAAY,CAAC,IAAI,CAACvB,KAAK,EAAE,IAAI,CAACM,KAAK,CAAC,CAAA;AAC7C,MAAA,IAAI,IAAI,CAACA,KAAK,CAACC,QAAQ,IAAI,CAACmG,SAAS,CAACnG,QAAQ,EAC1C,IAAI,CAACH,kBAAkB,EAAE,CAAA;AACjC,KAAA;AAAC,GAAA,EAAA;IAAAuF,GAAA,EAAA,sBAAA;IAAAjH,KAAA,EASD,SAAAkI,oBAAAA,GAAuB;MACnBC,mBAAmB,CAACd,QAAQ,EAAE,WAAW,EAAE,IAAI,CAACC,QAAQ,CAAC,CAAA;MACzDa,mBAAmB,CAAC,IAAI,CAACR,YAAY,EAAE,OAAO,EAAE,IAAI,CAACE,kBAAkB,CAAC,CAAA;AAC5E,KAAA;AAAC,GAAA,EAAA;IAAAZ,GAAA,EAAA,QAAA;IAAAjH,KAAA,EA2BD,SAAAoI,MAAAA,GAAS;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA,CAAA;AACL,MAAA,IAAAC,YAAA,GAoBI,IAAI,CAAChH,KAAK;QAnBViH,cAAc,GAAAD,YAAA,CAAdC,cAAc;QACdC,UAAU,GAAAF,YAAA,CAAVE,UAAU;QACVC,SAAS,GAAAH,YAAA,CAATG,SAAS;QACTvD,UAAU,GAAAoD,YAAA,CAAVpD,UAAU;QACVwD,SAAS,GAAAJ,YAAA,CAATI,SAAS;QACTjF,MAAM,GAAA6E,YAAA,CAAN7E,MAAM;QACNhE,KAAK,GAAA6I,YAAA,CAAL7I,KAAK;QACLkJ,UAAU,GAAAL,YAAA,CAAVK,UAAU;QACV3H,IAAI,GAAAsH,YAAA,CAAJtH,IAAI;QACJ4H,YAAY,GAAAN,YAAA,CAAZM,YAAY;QACZrF,SAAS,GAAA+E,YAAA,CAAT/E,SAAS;QACTzD,SAAS,GAAAwI,YAAA,CAATxI,SAAS;QACT+I,aAAa,GAAAP,YAAA,CAAbO,aAAa;QACbC,MAAM,GAAAR,YAAA,CAANQ,MAAM;QACN7E,QAAQ,GAAAqE,YAAA,CAARrE,QAAQ;QACRjB,WAAW,GAAAsF,YAAA,CAAXtF,WAAW;QACX+F,cAAc,GAAAT,YAAA,CAAdS,cAAc;QACdC,UAAU,GAAAV,YAAA,CAAVU,UAAU;QACVrH,UAAU,GAAA2G,YAAA,CAAV3G,UAAU,CAAA;MAEd,IAAMnC,EAAE,GAAG,IAAI,CAAC8B,KAAK,CAAC9B,EAAE,IAAI,IAAI,CAACqH,QAAQ,CAAA;MACzC,IAAMoC,iBAAiB,GAAG,IAAI,CAAC3H,KAAK,CAAC2H,iBAAiB,IAAIV,cAAc,CAAA;AACxE,MAAA,IAAAW,YAAA,GAAmD,IAAI,CAACtH,KAAK;QAAAuH,qBAAA,GAAAD,YAAA,CAAtD/F,QAAQ;AAARA,QAAAA,QAAQ,GAAAgG,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,qBAAA;QAAAC,qBAAA,GAAAF,YAAA,CAAEhG,WAAW;AAAXA,QAAAA,WAAW,GAAAkG,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;QAAE1D,OAAO,GAAAwD,YAAA,CAAPxD,OAAO,CAAA;AAC/C,MAAA,IAAA2D,YAAA,GAA6B,IAAI,CAACzH,KAAK;QAAlCC,QAAQ,GAAAwH,YAAA,CAARxH,QAAQ;QAAEI,UAAU,GAAAoH,YAAA,CAAVpH,UAAU,CAAA;AACzB,MAAA,IAAI,IAAI,CAACX,KAAK,CAACO,QAAQ,KAAKyH,SAAS,EAAE;AACnCzH,QAAAA,QAAQ,GAAG,IAAI,CAACP,KAAK,CAACO,QAAQ,CAAA;AAClC,OAAA;AACA,MAAA,IAAA0H,YAAA,GAA+B,IAAI,CAACjI,KAAK;QAAAkI,iBAAA,GAAAD,YAAA,CAApCjD,IAAI;AAAJA,QAAAA,IAAI,GAAAkD,iBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,iBAAA;QAAAC,mBAAA,GAAAF,YAAA,CAAEtE,MAAM;AAANA,QAAAA,MAAM,GAAAwE,mBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,mBAAA,CAAA;AAC3B,MAAA,IAAI,IAAI,CAAC7H,KAAK,CAAC0E,IAAI,EACfA,IAAI,GAAG,IAAI,CAAC1E,KAAK,CAAC0E,IAAI,CAAA;MAE1B,IAAI,CAACpG,KAAK,CAACC,OAAO,CAACmG,IAAI,CAAC,EACpBA,IAAI,GAAG,EAAE,CAAA;AAEb,MAAA,IAAMoD,WAAW,GAAGpF,MAAM,CAACC,MAAM,CAACpB,QAAQ,CAAC,CAAA;AAC3C,MAAA,IAAMwG,WAAW,GAAGD,WAAW,CAACjE,MAAM,KAAK,CAAC,CAAA;AAC5C,MAAA,IAAMmE,SAAS,GAAG,SAAZA,SAASA,CAAI5D,CAAC,EAAK;QACrBE,eAAe,CAACF,CAAC,CAAC,CAAA;QAClBqC,MAAI,CAACzF,QAAQ,CAAC;AAACf,UAAAA,QAAQ,EAAE,IAAA;AAAI,SAAC,EAAE,YAAA;AAAA,UAAA,OAAOgH,aAAa,IAAIa,WAAW,CAACjE,MAAM,GAAG,CAAC,IAAK4C,MAAI,CAAC7B,IAAI,CAACrD,QAAQ,CAACuG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;SAAC,CAAA,CAAA;OACzH,CAAA;AACD,MAAA,IAAMG,MAAM,GAAG,SAATA,MAAMA,CAAI7D,CAAC,EAAK;AAClB,QAAA,IAAI,CAACqC,MAAI,CAACzG,KAAK,CAACC,QAAQ,EAAE;UACtB+H,SAAS,CAAC5D,CAAC,CAAC,CAAA;AAChB,SAAC,MAAM;UACHE,eAAe,CAACF,CAAC,CAAC,CAAA;UAClBqC,MAAI,CAACzF,QAAQ,CAAC;AAACf,YAAAA,QAAQ,EAAE,KAAA;AAAK,WAAC,CAAC,CAAA;AACpC,SAAA;OACH,CAAA;AAED,MAAA,IAAMiI,QAAQ,GAAG9I,IAAI,KAAKjC,WAAW,IAAIiC,IAAI,KAAKhC,oBAAoB,IAAIgC,IAAI,KAAK3B,yBAAyB,CAAA;AAC5G,MAAA,IAAMmE,kBAAkB,GAAGN,WAAW,CAACW,IAAI,EAAE,CAAA;AAC7C,MAAA,IAAMkG,YAAY,GAAG/G,WAAW,IAAI,CAAC6F,aAAa,IAAIrF,kBAAkB,CAAA,CAAAwG,MAAA,CAAAC,kBAAA,CAAK3D,IAAI,CAAC7C,MAAM,CAAC,UAAAyG,UAAU,EAAA;QAAA,OAAIA,UAAU,KAAK1G,kBAAkB,CAAA;AAAA,OAAA,CAAC,KAAI8C,IAAI,CAAA;MAEjJ,IAAM6D,cAAc,GAAG,CAACtB,aAAa,GAAG,IAAI,CAACxF,YAAY,CAACE,SAAS,EAAEL,WAAW,EAAEM,kBAAkB,CAACI,WAAW,EAAE,EAAEH,MAAM,CAAC,GAAG6F,SAAS,CAAA;AACvI,MAAA,IAAIc,YAAY,GAAGvK,kBAAA,CAACwK,YAAY,EAAA;QAACvK,SAAS,EAAEwK,UAAU,CAACzI,QAAQ,IAAI,SAAS,EAAEF,UAAU,IAAI,QAAQ,CAAE;AACrE4I,QAAAA,KAAK,EAAEtI,UAAW;AAClBuI,QAAAA,GAAG,EAAEA,GAAG,CAAC,MAAM,EAAE,IAAI,CAAE;AACvB/G,QAAAA,MAAM,EAAE0G,cAAe;QACvBM,YAAY,EAAE,CAACzH,WAAY;AAC3B8F,QAAAA,MAAM,EAAEA,MAAO;AACf4B,QAAAA,MAAM,EAAEZ,QAAS;AACjBa,QAAAA,YAAY,EAAEH,GAAG,CAAC,MAAM,EAAE,IAAI,CAAE;AAChCI,QAAAA,YAAY,EAAEJ,GAAG,CAAC,MAAM,EAAE,IAAI,CAAE;AAChCK,QAAAA,gBAAgB,EAAEL,GAAG,CAAC,aAAa,EAAE,IAAI,CAAE;AAC3CM,QAAAA,aAAa,EAAEN,GAAG,CAAC,OAAO,EAAE,IAAI,CAAE;QAClCnG,QAAQ,EAAE,IAAI,CAACA,QAAS;AACxBlB,QAAAA,QAAQ,EAAEA,QAAS;AACnBoF,QAAAA,cAAc,EAAEA,cAAe;AAC/BC,QAAAA,UAAU,EAAEA,UAAW;AACvBlC,QAAAA,IAAI,EAAEyD,YAAa;AACnB9E,QAAAA,MAAM,EAAEA,MAAAA;AAAO,OAC/C,CAAC,CAAA;AACFmF,MAAAA,YAAY,GAAGzI,UAAU,GAAGoJ,QAAQ,CAACC,YAAY,CAACZ,YAAY,EAAEzI,UAAU,CAAC,GAAGyI,YAAY,CAAA;AAE1F,MAAA,OACIvK,kBAAA,CAAA,KAAA,EAAA;AAAKL,QAAAA,EAAE,EAAEA,EAAG;AACPM,QAAAA,SAAS,EAAEwK,UAAU,CACjB,oBAAoB,EACpBtJ,IAAI,EACJD,gBAAgB,CAACC,IAAI,CAAC,IAAI,OAAO,EACjClB,SAAS,EACToF,UAAU,GAAG,YAAY,GAAG,eAAe,EAC3CrD,QAAQ,IAAI,QAAQ,EACpB6D,OAAO,IAAI,SAAS,EACpBqD,cAAc,IAAI,gBAAgB,EAClCY,WAAW,IAAI,aACnB,CAAE;AACFa,QAAAA,GAAG,EAAEA,GAAG,CAAC,IAAI,EAAE,IAAI,CAAA;OACnB/K,EAAAA,KAAK,IAAII,kBAAA,CAAA,OAAA,EAAA;AAAOC,QAAAA,SAAS,EAAEwK,UAAU,CAAU,OAAA,EAAA,CAACX,WAAW,IAAIzG,WAAW,KAAK,QAAQ,EAAEyG,WAAW,IAAI,aAAa,CAAE;QACvGsB,OAAO,EAAE,IAAI,GAAGzL,EAAG;QACnBG,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACX,UAAA,IAAIqB,IAAI,KAAK3B,yBAAyB,IAAI,CAACwC,QAAQ,EAAE;AACjDgI,YAAAA,MAAM,EAAE,CAAA;AACZ,WAAA;AACJ,SAAA;OAEZpK,EAAAA,KAAK,EACLwE,QAAQ,IAAI,IAAI,EAChBwE,SAAS,IAAI5I,kBAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,OAAA;AAAO,OAAC,CACnC,CAAC,EAEP,CAAC,CAAC+B,QAAQ,IAAIb,IAAI,KAAK9B,aAAa,IAAI8B,IAAI,KAAKhC,oBAAoB,IAAIgC,IAAI,KAAK3B,yBAAyB,IAAI2B,IAAI,KAAK/B,kBAAkB,IAAI,CAACiG,UAAU,KAAK,CAAC6D,cAAc,IAAIY,WAAW,IACzL9J,kBAAA,CAAA,KAAA,EAAA;QACIC,SAAS,EAAEwK,UAAU,CAAC,UAAU,EAC5B,CAAC7K,KAAK,IAAI,SAAS,EACnB,CAACuB,IAAI,KAAK7B,kBAAkB,IAAI6B,IAAI,KAAK5B,SAAS,IAAI4B,IAAI,KAAK3B,yBAAyB,KAAK,WAAW,EACxGuJ,YAAY,CAAE;AAClBjJ,QAAAA,OAAO,EAAEkK,MAAAA;OAERjB,EAAAA,YAAY,KAAK,MAAM,IAAIc,WAAW,CAACrJ,GAAG,CAAC,UAAAb,EAAE,EAAA;AAAA,QAAA,OAC1CK,kBAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,OAAO;AAACmH,UAAAA,GAAG,EAAEzH,EAAAA;SACvB0L,EAAAA,KAAK,CAACC,aAAa,CAAClC,iBAAiB,EAAA1D,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAMiD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEhJ,UAAAA,EAAE,EAAFA,EAAE;AAAEC,UAAAA,KAAK,EAAE2L,QAAQ,CAACnG,MAAM,EAAEzF,EAAE,CAAC;AAAEG,UAAAA,OAAO,EAAEiK,SAAAA;SAAU,CAAA,CAAC,EAC7G/J,kBAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,eAAe;AAACH,UAAAA,OAAO,EAAE,SAAAA,OAAAqG,CAAAA,CAAC,EAAI;YACzCE,eAAe,CAACF,CAAC,CAAC,CAAA;AAClBqC,YAAAA,MAAI,CAAClC,MAAM,CAAC3G,EAAE,CAAC,CAAA;AACnB,WAAA;SACKwJ,EAAAA,UACA,CACJ,CAAC,CAAA;OACV,CAAC,EACAJ,YAAY,KAAK,QAAQ,IAAIc,WAAW,CAACrJ,GAAG,CAAC,UAAAb,EAAE,EAAA;AAAA,QAAA,OAC5CK,kBAAA,CAACqL,KAAK,CAACG,QAAQ,EAAA;AAACpE,UAAAA,GAAG,EAAEzH,EAAAA;SAChB0L,EAAAA,KAAK,CAACC,aAAa,CAAClC,iBAAiB,EAAA1D,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAMiD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEhJ,UAAAA,EAAE,EAAFA,EAAE;AAAEC,UAAAA,KAAK,EAAE2L,QAAQ,CAACnG,MAAM,EAAEzF,EAAE,CAAC;AAAEG,UAAAA,OAAO,EAAEiK,SAAAA;AAAS,SAAA,CAAC,CAAC,EAC5GpK,EAAE,KAAKkK,WAAW,CAACA,WAAW,CAACjE,MAAM,GAAG,CAAC,CAAC,IAAI,IACnC,CAAC,CAAA;AAAA,OACrB,CAAC,EACA,CAAChG,KAAK,IAAIgJ,SAAS,IAAI5I,kBAAA,CAAA,MAAA,EAAA;AAAMC,QAAAA,SAAS,EAAC,OAAA;AAAO,OAAC,CAAC,EAChD4I,SAAS,IAAI7I,kBAAA,CAACyL,MAAM,EAAA;AAACxL,QAAAA,SAAS,EAAC,OAAO;AAACyL,QAAAA,MAAM,EAAE,KAAM;QAAC5L,OAAO,EAAE,IAAI,CAACoG,KAAAA;OAChEiD,EAAAA,UACG,CACP,CACR,EAEAD,cAAc,IAAIY,WAAW,IAAI9J,kBAAA,CAAAqL,KAAA,CAAAG,QAAA,EAAA,IAAA,EAC7BzC,YAAY,KAAK,MAAM,IAAIc,WAAW,CAACrJ,GAAG,CAAC,UAAAb,EAAE,EAAA;AAAA,QAAA,OAC1CK,kBAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,OAAO;AAACmH,UAAAA,GAAG,EAAEzH,EAAAA;SACvB0L,EAAAA,KAAK,CAACC,aAAa,CAAClC,iBAAiB,EAAA1D,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAMiD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEhJ,UAAAA,EAAE,EAAFA,EAAE;AAAEC,UAAAA,KAAK,EAAE2L,QAAQ,CAACnG,MAAM,EAAEzF,EAAE,CAAC;AAAEG,UAAAA,OAAO,EAAEiK,SAAAA;SAAU,CAAA,CAAC,EAC7G/J,kBAAA,CAAA,KAAA,EAAA;AAAKC,UAAAA,SAAS,EAAC,eAAe;AAACH,UAAAA,OAAO,EAAE,SAAAA,OAAAqG,CAAAA,CAAC,EAAI;YACzCE,eAAe,CAACF,CAAC,CAAC,CAAA;AAClBqC,YAAAA,MAAI,CAAClC,MAAM,CAAC3G,EAAE,CAAC,CAAA;AACnB,WAAA;SACKwJ,EAAAA,UACA,CACJ,CAAC,CAAA;OACV,CAAC,EACAJ,YAAY,KAAK,QAAQ,IAAIc,WAAW,CAACrJ,GAAG,CAAC,UAAAb,EAAE,EAAA;AAAA,QAAA,OAC5CK,kBAAA,CAACqL,KAAK,CAACG,QAAQ,EAAA;AAACpE,UAAAA,GAAG,EAAEzH,EAAAA;SAChB0L,EAAAA,KAAK,CAACC,aAAa,CAAClC,iBAAiB,EAAA1D,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAMiD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEhJ,UAAAA,EAAE,EAAFA,EAAE;AAAEC,UAAAA,KAAK,EAAE2L,QAAQ,CAACnG,MAAM,EAAEzF,EAAE,CAAC;AAAEG,UAAAA,OAAO,EAAEiK,SAAAA;AAAS,SAAA,CAAC,CAAC,EAC5GpK,EAAE,KAAKkK,WAAW,CAACA,WAAW,CAACjE,MAAM,GAAG,CAAC,CAAC,IAAI,IACnC,CAAC,CAAA;AAAA,OACrB,CACF,CAAC,EAEF,CAAC5D,QAAQ,IAAK,CAAC8H,WAAW,IAAI3I,IAAI,KAAK3B,yBAA0B,IAAI2B,IAAI,KAAK9B,aAAa,IAAK8B,IAAI,KAAK/B,kBAAkB,IAAIyK,WAAW,CAACjE,MAAM,GAAG,CAAE,IAAIzE,IAAI,KAAKhC,oBAAoB,KACpLa,kBAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAU,OAAA;QAAC,YAAYoD,EAAAA,WAAAA;AAAY,OAAA,EAC5CgC,UAAU,IAAIrF,kBAAA,CAAC2L,SAAS,EAAA;AAACC,QAAAA,YAAY,EAAC,cAAc;QAACjM,EAAE,EAAE,IAAI,GAAGA,EAAG;AAC1CgL,QAAAA,GAAG,EAAEA,GAAG,CAAC,OAAO,EAAE,IAAI,CAAE;AACxB5D,QAAAA,OAAO,EAAE/E,QAAS;AAClB7B,QAAAA,KAAK,EAAEkD,WAAY;AACnBzD,QAAAA,KAAK,EAAEkJ,UAAW;QAClBhE,QAAQ,EAAE,IAAI,CAACA,QAAS;QACxB+G,OAAO,EAAE,SAAAA,OAAAA,CAAA1F,CAAC,EAAA;UAAA,OAAIqC,MAAI,CAACzF,QAAQ,CAAC;AAACf,YAAAA,QAAQ,EAAE,IAAA;AAAI,WAAC,CAAC,CAAA;SAAC;AAC9CuD,QAAAA,KAAK,EAAE,IAAI,CAAC9D,KAAK,CAACqK,WAAY;AAC9BC,QAAAA,SAAS,EAAE,SAAAA,SAAA5F,CAAAA,CAAC,EAAI;AACZ,UAAA,IAAM6F,OAAO,GAAG7F,CAAC,CAAC6F,OAAO,CAAA;UACzB,IAAIA,OAAO,KAAK,EAAE,GAAQ;YACtB5F,cAAc,CAACD,CAAC,CAAC,CAAA;YACjBqC,MAAI,CAACyD,IAAI,EAAE,CAAA;AACf,WAAC,MAAM,IAAID,OAAO,KAAK,EAAE,GAAU;YAC/B5F,cAAc,CAACD,CAAC,CAAC,CAAA;YACjBqC,MAAI,CAAC0D,IAAI,EAAE,CAAA;AACf,WAAC,MAAM,IAAIF,OAAO,KAAK,EAAE,GAAW;YAChC5F,cAAc,CAACD,CAAC,CAAC,CAAA;YACjBqC,MAAI,CAAChE,QAAQ,CAACgE,MAAI,CAACtB,WAAW,EAAE,CAAC,CAAA;AACrC,WAAC,MAAM,IAAI8E,OAAO,KAAK,CAAC,GAAS;YAC7BxD,MAAI,CAAChE,QAAQ,CAACgE,MAAI,CAACtB,WAAW,EAAE,CAAC,CAAA;AACrC,WAAC,MAAM,IAAI8E,OAAO,KAAK,CAAC,GAAe;AACnC,YAAA,IAAI,CAAC3I,WAAW,IAAKwG,WAAW,CAACjE,MAAM,KAAK,CAAE,IAAI1E,gBAAgB,CAACC,IAAI,CAAC,EAAE;cACtEqH,MAAI,CAAClC,MAAM,CAACuD,WAAW,CAACA,WAAW,CAACjE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;AACpD,aAAA;YACA4C,MAAI,CAAC5B,KAAK,EAAE,CAAA;AAChB,WAAC,MAAM,IAAIoF,OAAO,KAAK,EAAE,GAAY;YACjCxD,MAAI,CAAC5B,KAAK,EAAE,CAAA;AAChB,WAAC,MAAM,IAAIoF,OAAO,KAAK,EAAE,GAAS;YAC9BxD,MAAI,CAACzF,QAAQ,CAAC;AACVf,cAAAA,QAAQ,EAAE,KAAK;AACfqB,cAAAA,WAAW,EAAEnC,gBAAgB,CAACC,IAAI,CAAC,GAAG,EAAE,GAAGsD,MAAM,CAACC,MAAM,CAACpB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAA;AAC7E,aAAC,CAAC,CAAA;YACFkF,MAAI,CAAClD,KAAK,CAACU,QAAQ,EAAE,CAACmG,IAAI,EAAE,CAAA;YAC5B3D,MAAI,CAAC7D,QAAQ,EAAE,CAAA;AACnB,WAAA;AAEJ,SAAA;AAAE,OAC3B,CAAC,EACD,CAACU,UAAU,IAAIyD,UAAU,IAAI9I,kBAAA,CAAA,OAAA,EAAA,IAAA,EAAQ8I,UAAkB,CACvD,CACR,EAEAyB,YACA,CAAC,CAAA;AAEd,KAAA;AAAC,GAAA,CAAA,CAAA,CAAA;AAAA,EAAA,OAAAnJ,kBAAA,CAAA;AAAA,CAAA,CAxT4BgL,aAAa,CAAA,CAAA;AAAxChL,kBAAkB,CAoFbiL,YAAY,GAAG;AAClB3D,EAAAA,cAAc,EAAEjJ,UAAU;AAC1BmJ,EAAAA,SAAS,EAAE,IAAI;AACfvD,EAAAA,UAAU,EAAE,IAAI;AAChBf,EAAAA,0BAA0B,EAAE,IAAI;AAChCuE,EAAAA,SAAS,EAAE,KAAK;AAChBG,EAAAA,aAAa,EAAE,KAAK;AACpB7H,EAAAA,IAAI,EAAElC,YAAY;AAClB8J,EAAAA,YAAY,EAAE,MAAM;AACpB5G,EAAAA,kBAAkB,EAAE,MAAM;EAC1BgH,UAAU,EAAEnJ,kBAAA,CAACsM,YAAY,EAAA;AAACC,IAAAA,IAAI,EAAC,OAAA;GAAQ,CAAA;AAC3C,CAAC,CAAA;AAuVL,2BAAenL,kBAAkB;;;;"}
|
|
1
|
+
{"version":3,"file":"AutocompleteSelect.js","sources":["./src/AutocompleteSelect.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './AutocompleteSelect.css'\nimport TextField from \"./TextField\";\nimport FilteredList, {getLabel} from \"./FilteredList\";\nimport {\n classNames,\n continuousIncludes,\n getRandomId,\n ref,\n orNoop,\n preventDefault,\n stopPropagation,\n DOCUMENT,\n addEventListener,\n removeEventListener,\n isObject,\n isFunction,\n isString, UNDEFINED, memo\n} from \"./Tools\";\nimport Button from \"./Button\";\nimport MaterialIcon from \"./MaterialIcon\";\nimport {PureComponent} from \"./ReactConstants\";\nimport ReactDOM from \"react-dom\";\n\nexport const MODE_DEFAULT = 'default';\nexport const MODE_INLINE = 'inline';\nexport const MODE_INLINE_MULTIPLE = 'inline-multiple';\nexport const MODE_MULTIPLE_AUTO = 'multiple-auto';\nexport const MODE_MULTIPLE = 'multiple';\nexport const MODE_MULTIPLE_MINI = 'multiple-mini';\nexport const MODE_MINI = 'mini';\nexport const MODE_MULTIPLE_MINI_INLINE = 'multiple-mini-inline';\n\n\nconst DummyChild = ({id, label, dataConsumer, onClick}) => {\n orNoop(dataConsumer)(label || id);\n return <div className={`DummyChild`} onClick={onClick}>{label || id}</div>\n};\n\nconst ifString = (s) => isString(s) && s\n\nconst prepareSelected = (value) => {\n let result;\n if (value != null) {\n if (Array.isArray(value))\n result = value.reduce((map, obj) => {\n map[obj] = obj;\n return map;\n }, {});\n else if (isObject(value))\n result = value;\n else if (value)\n result = {[value]: value};\n else\n result = {}\n } else {\n result = {};\n }\n return result;\n};\n\nconst findParent = (el, tag) => {\n if (el != null) {\n const tagName = el.tagName;\n if (tagName && tagName.toUpperCase() === tag.toUpperCase()) {\n return el;\n } else {\n return findParent(el.parentNode, tag)\n }\n }\n return null;\n}\n\nfunction isMultipleSelect(mode) {\n return mode === MODE_MULTIPLE || mode === MODE_MULTIPLE_AUTO || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI || mode === MODE_MULTIPLE_MINI_INLINE;\n}\n\nclass AutocompleteSelect extends PureComponent {\n\n static propTypes = {\n mode: PropTypes.oneOf([MODE_DEFAULT, MODE_INLINE, MODE_MULTIPLE, MODE_MULTIPLE_AUTO, MODE_MULTIPLE_MINI, MODE_MULTIPLE_MINI_INLINE, MODE_INLINE_MULTIPLE, MODE_MINI]),\n listPortalPosition: PropTypes.oneOf(['left', 'right']),\n };\n\n constructor(props) {\n super(props);\n const that = this;\n that.state = {\n selected: prepareSelected(props.value),\n isActive: !!props.focused,\n\n };\n that.randomId = getRandomId('acs-');\n\n const {data, getSelected} = props;\n isFunction(data) && data(data => that.setState({data}));\n\n getSelected && getSelected(() => Object.values(that.state.selected));\n }\n\n componentDidMount() {\n addEventListener(DOCUMENT, 'mousedown', this.listener = (e) => {\n if (this.state.isActive && this.el && !this.el.contains(e.target)) {\n if(!this.props.listPortal || !this.list?.el?.el || !this.list.el.el.contains(e.target)){\n this.onClickOutside()\n }\n }\n })\n if (this.props.required) {\n const form = findParent(this.el.parentNode, 'form')\n if (form) {\n addEventListener(this.submitButton = form.querySelector('button[type=submit]'), 'click', this.formSubmitListener = (e) => {\n const errored = Object.keys(this.state.selected).length === 0;\n this.setState({errored: errored})\n })\n }\n }\n this.initSelected(this.props, this.state)\n this.updateListPosition()\n }\n\n updateListPosition = () => {\n if (this.props.listPortal && this.state.isActive) {\n var rect = this.el.getBoundingClientRect();\n let listPortalPosition = this.props.listPortalPosition;\n let listStyles = {\n position: 'absolute',\n top: rect.bottom + 'px',\n minWidth: rect.width + 'px',\n maxHeight: '300px',\n };\n if (listPortalPosition === 'right')\n listStyles.right = (window.innerWidth - rect.right) + 'px'\n else\n listStyles.left = rect.left + 'px'\n\n this.setState({\n listStyles: listStyles\n })\n }\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value !== prevProps.value)\n this.initSelected(this.props, this.state)\n if (this.state.isActive && !prevState.isActive)\n this.updateListPosition()\n }\n\n initSelected = ({value, mode, allowCustom, withFilter}, {filterValue = ''}) => {\n this.setState({\n selected: prepareSelected(value),\n filterValue: allowCustom && withFilter && isString(value) && !isMultipleSelect(mode) ? value : filterValue,\n });\n };\n\n componentWillUnmount() {\n removeEventListener(DOCUMENT, 'mousedown', this.listener)\n removeEventListener(this.submitButton, 'click', this.formSubmitListener)\n }\n\n static defaultProps = {\n childComponent: DummyChild,\n withArrow: true,\n withFilter: true,\n selectCustomOnClickOutside: true,\n withReset: false,\n scrollToValue: false,\n mode: MODE_DEFAULT,\n selectedMode: 'full',\n listPortalPosition: 'left',\n removeIcon: <MaterialIcon icon=\"close\"/>,\n };\n\n createFilter = memo((prefilter, filterValue, filterValueTrimmed, filter) => it => {\n if (!it) return false;\n if (prefilter && !prefilter(it)) return false;\n if (!filterValue) return true;\n\n if (filter) return filter(it, filterValueTrimmed);\n\n let value = (isString(it) ? it : (it.name || it.label || '')).toLowerCase().trim();\n return continuousIncludes(value, filterValueTrimmed);\n }\n )\n\n render() {\n const {\n childComponent,\n childProps,\n withArrow,\n withFilter,\n withReset,\n filter,\n label,\n inputLabel,\n mode,\n selectedMode,\n prefilter,\n className,\n scrollToValue,\n scroll,\n required,\n allowCustom,\n inlineSelected,\n removeIcon,\n listPortal,\n } = this.props;\n const id = this.props.id || this.randomId;\n const selectedComponent = this.props.selectedComponent || childComponent;\n const {selected = {}, filterValue = '', errored} = this.state;\n let {isActive, listStyles} = this.state;\n if (this.props.isActive !== UNDEFINED) {\n isActive = this.props.isActive\n }\n let {data = [], labels = {}} = this.props;\n if (this.state.data)\n data = this.state.data;\n\n if (!Array.isArray(data))\n data = [];\n\n const selectedIds = Object.values(selected);\n const hasSelected = selectedIds.length !== 0;\n const setActive = (e) => {\n stopPropagation(e);\n this.setState({isActive: true}, () => (scrollToValue && selectedIds.length > 0) && this.list.selected(selectedIds[0]));\n };\n const toggle = (e) => {\n if (!this.state.isActive) {\n setActive(e);\n } else {\n stopPropagation(e);\n this.setState({isActive: false});\n }\n };\n\n const isInline = mode === MODE_INLINE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE;\n const filterValueTrimmed = filterValue.trim();\n const dataFiltered = allowCustom && !scrollToValue ? [filterValueTrimmed, ...data.filter(suggestion => suggestion !== filterValueTrimmed)] : data;\n\n const filterFunction = !scrollToValue ? this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter) : UNDEFINED\n let filteredList = <FilteredList className={classNames(isActive && 'visible', listPortal && 'portal')}\n style={listStyles}\n ref={ref('list', this)}\n filter={filterFunction}\n selectSingle={!allowCustom}\n scroll={scroll}\n inline={isInline}\n nextProvider={ref('next', this)}\n prevProvider={ref('prev', this)}\n selectedProvider={ref('getSelected', this)}\n resetProvider={ref('reset', this)}\n onSelect={this.onSelect}\n selected={selected}\n childComponent={childComponent}\n childProps={childProps}\n data={dataFiltered}\n labels={labels}\n />;\n filteredList = listPortal ? ReactDOM.createPortal(filteredList, listPortal) : filteredList\n\n return (\n <div id={id}\n className={classNames(\n 'AutocompleteSelect',\n mode,\n isMultipleSelect(mode) && 'multi',\n className,\n withFilter ? 'withFilter' : 'withoutFilter',\n isActive && 'active',\n errored && 'errored',\n inlineSelected && 'inlineSelected',\n hasSelected && 'hasSelected',\n )}\n ref={ref('el', this)}>\n {label && <label className={classNames(`label`, (hasSelected || filterValue) && 'active', hasSelected && 'hasSelected')}\n htmlFor={'f-' + id}\n onClick={() => {\n if (mode === MODE_MULTIPLE_MINI_INLINE || !isActive) {\n toggle();\n }\n }}\n >\n {label}\n {required && ' *'}\n {withArrow && <span className=\"arrow\"/>}\n </label>}\n\n {(!isActive || mode === MODE_MULTIPLE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE || mode === MODE_MULTIPLE_AUTO || !withFilter) && !inlineSelected && hasSelected && (\n <div\n className={classNames('selected',\n !label && 'nolabel',\n (mode === MODE_MULTIPLE_MINI || mode === MODE_MINI || mode === MODE_MULTIPLE_MINI_INLINE) && 'clickable',\n selectedMode)}\n onClick={toggle}>\n\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n stopPropagation(e);\n this.remove(id);\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n {!label && withArrow && <span className=\"arrow\"/>}\n {withReset && <Button className=\"reset\" raised={false} onClick={this.clean}>\n {removeIcon}\n </Button>}\n </div>\n )}\n\n {inlineSelected && hasSelected && <>\n {selectedMode === 'full' && selectedIds.map(id =>\n <div className=\"value\" key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n <div className=\"button remove\" onClick={e => {\n stopPropagation(e);\n this.remove(id);\n }}>\n {removeIcon}\n </div>\n </div>\n )}\n {selectedMode === 'inline' && selectedIds.map(id =>\n <React.Fragment key={id}>\n {React.createElement(selectedComponent, {...childProps, id, label: getLabel(labels, id), onClick: setActive})}\n {id !== selectedIds[selectedIds.length - 1] && ', '}\n </React.Fragment>\n )}\n </>}\n\n {(isActive || (!hasSelected && mode !== MODE_MULTIPLE_MINI_INLINE) || mode === MODE_MULTIPLE || (mode === MODE_MULTIPLE_AUTO && selectedIds.length > 1) || mode === MODE_INLINE_MULTIPLE) && (\n <div className={`input`} data-value={filterValue}>\n {withFilter && <TextField autoComplete=\"new-password\" id={'f-' + id}\n ref={ref('input', this)}\n focused={isActive}\n value={filterValue}\n label={inputLabel}\n onChange={this.onChange}\n onFocus={e => this.setState({isActive: true})}\n check={this.props.filterCheck}\n onKeyDown={e => {\n const keyCode = e.keyCode;\n if (keyCode === 38/*up*/) {\n preventDefault(e);\n this.prev();\n } else if (keyCode === 40/*down*/) {\n preventDefault(e);\n this.next();\n } else if (keyCode === 13/*enter*/) {\n preventDefault(e);\n this.onSelect(this.getSelected())\n } else if (keyCode === 9/*tab*/) {\n this.onSelect(this.getSelected())\n } else if (keyCode === 8/*backspace*/) {\n if (!filterValue && (selectedIds.length !== 0) && isMultipleSelect(mode)) {\n this.remove(selectedIds[selectedIds.length - 1]);\n }\n this.reset()\n } else if (keyCode === 46/*delete*/) {\n this.reset()\n } else if (keyCode === 27/*esc*/) {\n this.setState({\n isActive: false,\n filterValue: isMultipleSelect(mode) ? '' : ifString(Object.values(selected)[0]) || '',\n });\n this.input.getInput().blur()\n this.onCancel();\n }\n // console.log('key pressed:', e.keyCode)\n }}\n />}\n {!withFilter && inputLabel && <label>{inputLabel}</label>}\n </div>\n )}\n\n {filteredList}\n </div>\n )\n }\n\n onClickOutside = () => {\n const {allowCustom, required, onFilterInputChange, mode, selectCustomOnClickOutside, withFilter} = this.props;\n let {filterValue, selected} = this.state;\n if (allowCustom && selectCustomOnClickOutside && (!!filterValue || !required)) {\n selected = this.onSelect()\n }\n\n filterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''\n\n this.setState({isActive: false, filterValue});\n onFilterInputChange && onFilterInputChange(filterValue);\n\n this.onCancel();\n };\n\n onCancel = () => {\n orNoop(this.props.onCancel)()\n };\n\n onSelect = (selectedId) => {\n const {mode, required, allowCustom, onSelect, onChange, default: defaultValue} = this.props;\n const {filterValue, selected: currentSelection} = this.state;\n const {labels = {}, onFilterInputChange, withFilter} = this.props;\n\n // debugger\n if (selectedId == null && (!!filterValue || !required) && allowCustom && (!this.input || !this.input.check()))\n selectedId = filterValue.trim();\n\n const isMultiSelect = isMultipleSelect(mode);\n\n if (!selectedId && isMultiSelect) {\n selectedId = null;\n }\n\n // debugger\n\n const isSelected = selectedId != null;\n\n let selected = {...currentSelection};\n if (selected[selectedId] && (defaultValue || isMultiSelect)) {\n delete selected[selectedId];\n if (defaultValue && Object.keys(selected).length === 0)\n selected[defaultValue] = defaultValue;\n } else if (isSelected && (isMultiSelect)) {\n selected[selectedId] = selectedId;\n } else if (isSelected) {\n selected = {[selectedId]: selectedId};\n }\n\n const errored = required && Object.keys(selected) === 0;\n\n const isActive = mode === MODE_MULTIPLE_MINI_INLINE || (isMultiSelect && isSelected)\n\n let customValue = '';\n if (allowCustom && selectedId) {\n let label\n if (isFunction(labels))\n label = labels(selectedId)\n else\n label = labels[selectedId]\n\n if (label && isString(label))\n customValue = label\n }\n\n let nextFilterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''\n this.setState({\n isActive: isActive,\n selected: selected,\n filterValue: nextFilterValue,\n errored,\n });\n\n if (nextFilterValue !== filterValue)\n orNoop(onFilterInputChange)(nextFilterValue)\n\n if (isActive && this.input)\n this.input.getInput().focus()\n\n orNoop(onSelect)(selectedId);\n orNoop(onChange)(Object.values(selected));\n return selected\n };\n\n clean = (e) => {\n preventDefault(e);\n stopPropagation(e);\n\n this.setState({\n isActive: false,\n selected: {},\n filterValue: '',\n });\n\n orNoop(this.props.onSelect)(null);\n orNoop(this.props.onChange)([]);\n\n this.initSelected(this.props, this.state);\n };\n\n remove = (id) => {\n let result = {\n ...this.state,\n selected: {...this.state.selected},\n filterValue: '',\n };\n delete result.selected[id];\n this.setState(result);\n orNoop(this.props.onChange)(Object.values(result.selected));\n };\n\n onChange = (event) => {\n const value = event.target.value;\n this.setState({filterValue: value});\n const data = this.state.data || this.props.data || []\n if (data.indexOf(value) !== -1) {\n this.list.selected(value)\n } else {\n this.list.reset()\n }\n\n this.props.onFilterInputChange?.(value);\n }\n}\n\nexport default AutocompleteSelect;\n"],"names":["MODE_DEFAULT","MODE_INLINE","MODE_INLINE_MULTIPLE","MODE_MULTIPLE_AUTO","MODE_MULTIPLE","MODE_MULTIPLE_MINI","MODE_MINI","MODE_MULTIPLE_MINI_INLINE","DummyChild","_ref","id","label","dataConsumer","onClick","orNoop","ReactCreateElement","className","ifString","s","isString","prepareSelected","value","result","Array","isArray","reduce","map","obj","isObject","_defineProperty","findParent","el","tag","tagName","toUpperCase","parentNode","isMultipleSelect","mode","AutocompleteSelect","_PureComponent","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","updateListPosition","listPortal","state","isActive","rect","getBoundingClientRect","listPortalPosition","listStyles","position","top","bottom","minWidth","width","maxHeight","right","window","innerWidth","left","setState","initSelected","_ref2","_ref3","allowCustom","withFilter","_ref3$filterValue","filterValue","selected","createFilter","memo","prefilter","filterValueTrimmed","filter","it","name","toLowerCase","trim","continuousIncludes","onClickOutside","_this$props","required","onFilterInputChange","selectCustomOnClickOutside","_this$state","onSelect","Object","values","onCancel","selectedId","_this$props2","onChange","defaultValue","_this$state2","currentSelection","_this$props3","_this$props3$labels","labels","input","check","isMultiSelect","isSelected","_objectSpread","keys","length","errored","isFunction","nextFilterValue","getInput","focus","clean","e","preventDefault","stopPropagation","remove","event","target","data","indexOf","list","reset","that","_assertThisInitialized","focused","randomId","getRandomId","getSelected","_createClass","key","componentDidMount","_this2","addEventListener","DOCUMENT","listener","contains","_this2$list","_this2$list$el","form","submitButton","querySelector","formSubmitListener","componentDidUpdate","prevProps","prevState","snapshot","componentWillUnmount","removeEventListener","render","_this3","_this$props4","childComponent","childProps","withArrow","withReset","inputLabel","selectedMode","scrollToValue","scroll","inlineSelected","removeIcon","selectedComponent","_this$state3","_this$state3$selected","_this$state3$filterVa","_this$state4","UNDEFINED","_this$props5","_this$props5$data","_this$props5$labels","selectedIds","hasSelected","setActive","toggle","isInline","dataFiltered","concat","_toConsumableArray","suggestion","filterFunction","filteredList","FilteredList","classNames","style","ref","selectSingle","inline","nextProvider","prevProvider","selectedProvider","resetProvider","ReactDOM","createPortal","htmlFor","React","createElement","getLabel","Fragment","Button","raised","TextField","autoComplete","onFocus","filterCheck","onKeyDown","keyCode","prev","next","blur","PureComponent","defaultProps","MaterialIcon","icon"],"mappings":"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"}
|
package/TextField.js
CHANGED
|
@@ -17,7 +17,6 @@ class TextField extends AbstractTextField {
|
|
|
17
17
|
const { required, check } = props();
|
|
18
18
|
const value = __value(inputRef());
|
|
19
19
|
const error = (required && value === '') || (check && check(value));
|
|
20
|
-
debugger;
|
|
21
20
|
errorState() !== error && setTimeout(errorState, 0, error);
|
|
22
21
|
return error;
|
|
23
22
|
};
|
package/TextField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sources":["./src/TextField.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":";;;;AA+BA,MAAe,iBAAkB,SAAQ,aAA4B,CAAA;AAIpE,CAAA;AAED,MAAM,SAAU,SAAQ,iBAAiB,CAAA;AAErC,IAAA,WAAA,CAAY,UAAU,EAAA;QAClB,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;AAEhB,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,MAAM,CACF,SAAS,EACT,UAAU,EACV,WAAW,EACd,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACtB,QAAA,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;AAEhC,QAAA,MAAM,QAAQ,GAAG,SAAS,EAAoB,CAAC;QAC/C,MAAM,KAAK,GAAG,MAAK;YACf,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,KAAK,EAAE,CAAC;AAClC,YAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC,KAAK,CAAC;AAC/B,YAAA,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,KAAK,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,YAAA,
|
|
1
|
+
{"version":3,"file":"TextField.js","sources":["./src/TextField.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
|
package/bundle.css
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
.animated {
|
|
2
|
-
transition: opacity 250ms ease;
|
|
3
|
-
opacity: 0;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.animated.mounting, .animated.mounted {
|
|
7
|
-
opacity: 1;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
1
|
.AutocompleteSelect {
|
|
11
2
|
display: inline-flex;
|
|
12
3
|
flex-flow: column;
|
|
@@ -302,6 +293,15 @@
|
|
|
302
293
|
position: absolute;
|
|
303
294
|
}
|
|
304
295
|
|
|
296
|
+
.animated {
|
|
297
|
+
transition: opacity 250ms ease;
|
|
298
|
+
opacity: 0;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.animated.mounting, .animated.mounted {
|
|
302
|
+
opacity: 1;
|
|
303
|
+
}
|
|
304
|
+
|
|
305
305
|
.ImageGallery {
|
|
306
306
|
position: fixed;
|
|
307
307
|
top: 0;
|
|
@@ -580,126 +580,121 @@
|
|
|
580
580
|
height: 100%;
|
|
581
581
|
}
|
|
582
582
|
|
|
583
|
-
.
|
|
584
|
-
|
|
583
|
+
.DatePicker {
|
|
584
|
+
position: relative;
|
|
585
585
|
}
|
|
586
586
|
|
|
587
|
-
.
|
|
588
|
-
|
|
587
|
+
.DatePicker > .TextField {
|
|
588
|
+
width: 200px;
|
|
589
|
+
margin-bottom: 0px;
|
|
589
590
|
}
|
|
590
591
|
|
|
591
|
-
.
|
|
592
|
-
|
|
593
|
-
min-width: 460px;
|
|
594
|
-
max-width: 40vw;
|
|
595
|
-
padding: 15px;
|
|
592
|
+
.DatePicker > .TextField input {
|
|
593
|
+
text-align: center;
|
|
596
594
|
}
|
|
597
595
|
|
|
598
|
-
.
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
596
|
+
.calendar {
|
|
597
|
+
user-select: none;
|
|
598
|
+
position: absolute;
|
|
599
|
+
top: 33px;
|
|
600
|
+
z-index: 10;
|
|
601
|
+
box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.14), 0 1px 10px 0 rgba(0, 0, 0, 0.12), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
|
|
602
|
+
border-radius: 4px;
|
|
603
|
+
overflow: hidden;
|
|
604
|
+
transition: 0.2s all ease;
|
|
605
|
+
opacity: 0;
|
|
606
|
+
visibility: hidden;
|
|
605
607
|
}
|
|
606
608
|
|
|
607
|
-
.
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
line-height: 1.5rem;
|
|
611
|
-
font-weight: 400;
|
|
612
|
-
letter-spacing: 0.03125em;
|
|
613
|
-
margin-top: 20px;
|
|
614
|
-
padding: 0 24px 24px;
|
|
609
|
+
.calendar.focused {
|
|
610
|
+
opacity: 1;
|
|
611
|
+
visibility: visible;
|
|
615
612
|
}
|
|
616
613
|
|
|
617
|
-
.
|
|
618
|
-
|
|
614
|
+
.calendar .monthSelect {
|
|
615
|
+
align-items: center;
|
|
616
|
+
margin-bottom: 0;
|
|
617
|
+
background: white;
|
|
618
|
+
font-size: 12px;
|
|
619
|
+
color: rgb(170, 170, 170);
|
|
620
|
+
padding-right: 16px;
|
|
621
|
+
padding-left: 16px;
|
|
622
|
+
height: 40px;
|
|
619
623
|
}
|
|
620
624
|
|
|
621
|
-
.
|
|
622
|
-
margin-
|
|
625
|
+
.calendar .monthSelect span {
|
|
626
|
+
margin-right: auto;
|
|
623
627
|
}
|
|
624
628
|
|
|
625
|
-
.
|
|
626
|
-
|
|
627
|
-
|
|
629
|
+
.calendar .monthSelect .Button {
|
|
630
|
+
min-width: 25px;
|
|
631
|
+
min-height: 25px;
|
|
628
632
|
}
|
|
629
633
|
|
|
630
|
-
.
|
|
631
|
-
|
|
634
|
+
.calendar .monthSelect .Button .material-icons {
|
|
635
|
+
font-size: 16px;
|
|
632
636
|
}
|
|
633
637
|
|
|
634
|
-
.
|
|
635
|
-
|
|
636
|
-
font-size: 14px;
|
|
637
|
-
color: #1e252d;
|
|
638
|
-
cursor: pointer;
|
|
638
|
+
.calendar .monthSelect .Button.disabled {
|
|
639
|
+
background: transparent;
|
|
639
640
|
}
|
|
640
641
|
|
|
641
|
-
.
|
|
642
|
-
|
|
643
|
-
position: absolute;
|
|
644
|
-
left: 0;
|
|
645
|
-
top: 0;
|
|
642
|
+
.calendar .CalendarMonthView {
|
|
643
|
+
background: white;
|
|
646
644
|
}
|
|
647
645
|
|
|
648
|
-
.
|
|
649
|
-
|
|
650
|
-
height: 20px;
|
|
651
|
-
background: #fff;
|
|
652
|
-
border: 2px solid #252525;
|
|
653
|
-
border-radius: 2px;
|
|
654
|
-
cursor: pointer;
|
|
655
|
-
transition: background 0.3s;
|
|
646
|
+
.calendar .CalendarMonthView .headers, .calendar .CalendarMonthView .days {
|
|
647
|
+
margin-bottom: 0;
|
|
656
648
|
}
|
|
657
649
|
|
|
658
|
-
.
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
650
|
+
.calendar .CalendarMonthView .header {
|
|
651
|
+
font-size: 12px;
|
|
652
|
+
font-weight: bold;
|
|
653
|
+
text-align: center;
|
|
654
|
+
text-transform: uppercase;
|
|
655
|
+
margin: 5px;
|
|
662
656
|
}
|
|
663
657
|
|
|
664
|
-
.
|
|
665
|
-
|
|
666
|
-
border: none;
|
|
658
|
+
.calendar .CalendarMonthView .day {
|
|
659
|
+
font-size: 10px;
|
|
667
660
|
}
|
|
668
661
|
|
|
669
|
-
.
|
|
670
|
-
|
|
671
|
-
top: 6px;
|
|
672
|
-
left: 4px;
|
|
673
|
-
width: 12px;
|
|
674
|
-
height: 6px;
|
|
675
|
-
border: 2px solid #fff;
|
|
676
|
-
border-top-style: none;
|
|
677
|
-
border-right-style: none;
|
|
662
|
+
.calendar .CalendarMonthView .day.notSelectedMonth {
|
|
663
|
+
color: #969696;
|
|
678
664
|
}
|
|
679
665
|
|
|
680
|
-
.
|
|
681
|
-
|
|
666
|
+
.calendar .CalendarMonthView .day span {
|
|
667
|
+
display: inline-flex;
|
|
668
|
+
justify-content: center;
|
|
669
|
+
align-items: center;
|
|
670
|
+
border-radius: 50%;
|
|
671
|
+
width: 25px;
|
|
672
|
+
height: 25px;
|
|
673
|
+
margin: 5px;
|
|
674
|
+
transition: 0.2s all ease;
|
|
675
|
+
cursor: pointer;
|
|
682
676
|
}
|
|
683
677
|
|
|
684
|
-
.
|
|
685
|
-
|
|
678
|
+
.calendar .CalendarMonthView .day span:hover {
|
|
679
|
+
background-color: #e6e6e6;
|
|
686
680
|
}
|
|
687
681
|
|
|
688
|
-
.
|
|
689
|
-
|
|
682
|
+
.calendar .CalendarMonthView .day span.inactive {
|
|
683
|
+
color: lightgray;
|
|
684
|
+
cursor: unset;
|
|
690
685
|
}
|
|
691
686
|
|
|
692
|
-
.
|
|
693
|
-
|
|
694
|
-
height: 48px;
|
|
687
|
+
.calendar .CalendarMonthView .day span.inactive:hover {
|
|
688
|
+
background: unset;
|
|
695
689
|
}
|
|
696
690
|
|
|
697
|
-
.
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
691
|
+
.calendar .CalendarMonthView .day span.selected {
|
|
692
|
+
color: white;
|
|
693
|
+
background-color: #2196F3;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
.calendar .CalendarMonthView .day span.selected:hover {
|
|
697
|
+
background-color: #51adf6;
|
|
703
698
|
}
|
|
704
699
|
|
|
705
700
|
.Button {
|
|
@@ -868,121 +863,78 @@
|
|
|
868
863
|
border: 0;
|
|
869
864
|
}
|
|
870
865
|
|
|
871
|
-
.
|
|
872
|
-
|
|
866
|
+
.DialogModal {
|
|
867
|
+
overflow: hidden;
|
|
873
868
|
}
|
|
874
869
|
|
|
875
|
-
.
|
|
876
|
-
|
|
877
|
-
margin-bottom: 0px;
|
|
870
|
+
.DialogModal .content {
|
|
871
|
+
top: 20vh;
|
|
878
872
|
}
|
|
879
873
|
|
|
880
|
-
.
|
|
881
|
-
|
|
874
|
+
.Dialog {
|
|
875
|
+
background-color: white;
|
|
876
|
+
min-width: 460px;
|
|
877
|
+
max-width: 40vw;
|
|
878
|
+
padding: 15px;
|
|
882
879
|
}
|
|
883
880
|
|
|
884
|
-
.
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
overflow: hidden;
|
|
892
|
-
transition: 0.2s all ease;
|
|
893
|
-
opacity: 0;
|
|
894
|
-
visibility: hidden;
|
|
881
|
+
.Dialog .title {
|
|
882
|
+
margin-bottom: 15px;
|
|
883
|
+
padding: 20px 50px 0px 30px;
|
|
884
|
+
font-size: 1.25rem;
|
|
885
|
+
line-height: 2rem;
|
|
886
|
+
font-weight: 400;
|
|
887
|
+
letter-spacing: 0.0125em;
|
|
895
888
|
}
|
|
896
889
|
|
|
897
|
-
.
|
|
898
|
-
|
|
899
|
-
|
|
890
|
+
.Dialog .description {
|
|
891
|
+
color: rgba(0, 0, 0, 0.54);
|
|
892
|
+
font-size: 1rem;
|
|
893
|
+
line-height: 1.5rem;
|
|
894
|
+
font-weight: 400;
|
|
895
|
+
letter-spacing: 0.03125em;
|
|
896
|
+
margin-top: 20px;
|
|
897
|
+
padding: 0 24px 24px;
|
|
900
898
|
}
|
|
901
899
|
|
|
902
|
-
.
|
|
903
|
-
|
|
900
|
+
.Dialog > div.row {
|
|
901
|
+
margin-bottom: 15px;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
.Dialog > div.row:last-child {
|
|
904
905
|
margin-bottom: 0;
|
|
905
|
-
background: white;
|
|
906
|
-
font-size: 12px;
|
|
907
|
-
color: rgb(170, 170, 170);
|
|
908
|
-
padding-right: 16px;
|
|
909
|
-
padding-left: 16px;
|
|
910
|
-
height: 40px;
|
|
911
906
|
}
|
|
912
907
|
|
|
913
|
-
.
|
|
914
|
-
|
|
908
|
+
.DNDContainer {
|
|
909
|
+
position: relative;
|
|
915
910
|
}
|
|
916
911
|
|
|
917
|
-
.
|
|
918
|
-
|
|
919
|
-
min-height: 25px;
|
|
912
|
+
.DNDContainer .Draggable[draggable=true], .DNDContainer .Draggable [draggable=true] {
|
|
913
|
+
cursor: pointer;
|
|
920
914
|
}
|
|
921
915
|
|
|
922
|
-
.
|
|
923
|
-
|
|
916
|
+
.DNDContainer .Draggable.placeholder {
|
|
917
|
+
opacity: 0.2;
|
|
924
918
|
}
|
|
925
919
|
|
|
926
|
-
.
|
|
927
|
-
|
|
920
|
+
.DNDContainer .Draggable.copy {
|
|
921
|
+
position: absolute;
|
|
922
|
+
box-sizing: border-box;
|
|
923
|
+
will-change: transform;
|
|
924
|
+
opacity: 0;
|
|
928
925
|
}
|
|
929
926
|
|
|
930
|
-
.
|
|
931
|
-
|
|
932
|
-
}
|
|
933
|
-
|
|
934
|
-
.calendar .CalendarMonthView .headers, .calendar .CalendarMonthView .days {
|
|
935
|
-
margin-bottom: 0;
|
|
936
|
-
}
|
|
937
|
-
|
|
938
|
-
.calendar .CalendarMonthView .header {
|
|
939
|
-
font-size: 12px;
|
|
940
|
-
font-weight: bold;
|
|
941
|
-
text-align: center;
|
|
942
|
-
text-transform: uppercase;
|
|
943
|
-
margin: 5px;
|
|
944
|
-
}
|
|
945
|
-
|
|
946
|
-
.calendar .CalendarMonthView .day {
|
|
947
|
-
font-size: 10px;
|
|
948
|
-
}
|
|
949
|
-
|
|
950
|
-
.calendar .CalendarMonthView .day.notSelectedMonth {
|
|
951
|
-
color: #969696;
|
|
952
|
-
}
|
|
953
|
-
|
|
954
|
-
.calendar .CalendarMonthView .day span {
|
|
955
|
-
display: inline-flex;
|
|
956
|
-
justify-content: center;
|
|
957
|
-
align-items: center;
|
|
958
|
-
border-radius: 50%;
|
|
959
|
-
width: 25px;
|
|
960
|
-
height: 25px;
|
|
961
|
-
margin: 5px;
|
|
962
|
-
transition: 0.2s all ease;
|
|
963
|
-
cursor: pointer;
|
|
964
|
-
}
|
|
965
|
-
|
|
966
|
-
.calendar .CalendarMonthView .day span:hover {
|
|
967
|
-
background-color: #e6e6e6;
|
|
968
|
-
}
|
|
969
|
-
|
|
970
|
-
.calendar .CalendarMonthView .day span.inactive {
|
|
971
|
-
color: lightgray;
|
|
972
|
-
cursor: unset;
|
|
973
|
-
}
|
|
974
|
-
|
|
975
|
-
.calendar .CalendarMonthView .day span.inactive:hover {
|
|
976
|
-
background: unset;
|
|
977
|
-
}
|
|
978
|
-
|
|
979
|
-
.calendar .CalendarMonthView .day span.selected {
|
|
980
|
-
color: white;
|
|
981
|
-
background-color: #2196F3;
|
|
927
|
+
.DNDContainer .Draggable.dragged {
|
|
928
|
+
z-index: 10;
|
|
982
929
|
}
|
|
983
930
|
|
|
984
|
-
.
|
|
985
|
-
|
|
931
|
+
.DNDContainer .overlay {
|
|
932
|
+
position: absolute;
|
|
933
|
+
top: 0;
|
|
934
|
+
left: 0;
|
|
935
|
+
right: 0;
|
|
936
|
+
bottom: 0;
|
|
937
|
+
pointer-events: none;
|
|
986
938
|
}
|
|
987
939
|
|
|
988
940
|
.FilteredList {
|
|
@@ -1069,97 +1021,84 @@
|
|
|
1069
1021
|
margin-bottom: 8px;
|
|
1070
1022
|
}
|
|
1071
1023
|
|
|
1072
|
-
.
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
bottom: 16px;
|
|
1076
|
-
width: 56px;
|
|
1077
|
-
height: 56px;
|
|
1078
|
-
padding: 16px;
|
|
1079
|
-
transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
|
-
.Button.FloatingActionButton.raised {
|
|
1083
|
-
transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
1084
|
-
}
|
|
1085
|
-
|
|
1086
|
-
.Button.FloatingActionButton.mini {
|
|
1087
|
-
width: 40px;
|
|
1088
|
-
height: 40px;
|
|
1089
|
-
padding: 8px;
|
|
1024
|
+
.CircleProgress {
|
|
1025
|
+
width: 48px;
|
|
1026
|
+
height: 48px;
|
|
1090
1027
|
}
|
|
1091
1028
|
|
|
1092
|
-
.
|
|
1093
|
-
|
|
1029
|
+
.CircleProgress .line {
|
|
1030
|
+
stroke-width: 2px;
|
|
1031
|
+
stroke: black;
|
|
1032
|
+
stroke-linecap: square;
|
|
1033
|
+
fill: none;
|
|
1034
|
+
transition: stroke-dashoffset 0.2s ease;
|
|
1094
1035
|
}
|
|
1095
1036
|
|
|
1096
|
-
.
|
|
1037
|
+
.Checkbox {
|
|
1097
1038
|
position: relative;
|
|
1039
|
+
white-space: pre;
|
|
1098
1040
|
}
|
|
1099
1041
|
|
|
1100
|
-
.
|
|
1101
|
-
cursor: pointer;
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
.DNDContainer .Draggable.placeholder {
|
|
1105
|
-
opacity: 0.2;
|
|
1106
|
-
}
|
|
1107
|
-
|
|
1108
|
-
.DNDContainer .Draggable.copy {
|
|
1109
|
-
position: absolute;
|
|
1042
|
+
.Checkbox *, .Checkbox *:before, .Checkbox *:after {
|
|
1110
1043
|
box-sizing: border-box;
|
|
1111
|
-
will-change: transform;
|
|
1112
|
-
opacity: 0;
|
|
1113
1044
|
}
|
|
1114
1045
|
|
|
1115
|
-
.
|
|
1116
|
-
|
|
1046
|
+
.Checkbox label {
|
|
1047
|
+
font-family: Roboto, sans-serif;
|
|
1048
|
+
font-size: 14px;
|
|
1049
|
+
color: #1e252d;
|
|
1050
|
+
cursor: pointer;
|
|
1117
1051
|
}
|
|
1118
1052
|
|
|
1119
|
-
.
|
|
1053
|
+
.Checkbox label:before, .Checkbox label:after {
|
|
1054
|
+
content: "";
|
|
1120
1055
|
position: absolute;
|
|
1121
|
-
top: 0;
|
|
1122
1056
|
left: 0;
|
|
1123
|
-
|
|
1124
|
-
bottom: 0;
|
|
1125
|
-
pointer-events: none;
|
|
1057
|
+
top: 0;
|
|
1126
1058
|
}
|
|
1127
1059
|
|
|
1128
|
-
.
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1060
|
+
.Checkbox label:before {
|
|
1061
|
+
width: 20px;
|
|
1062
|
+
height: 20px;
|
|
1063
|
+
background: #fff;
|
|
1064
|
+
border: 2px solid #252525;
|
|
1065
|
+
border-radius: 2px;
|
|
1066
|
+
cursor: pointer;
|
|
1067
|
+
transition: background 0.3s;
|
|
1132
1068
|
}
|
|
1133
1069
|
|
|
1134
|
-
.
|
|
1135
|
-
|
|
1070
|
+
.Checkbox input[type=checkbox] {
|
|
1071
|
+
outline: 0;
|
|
1072
|
+
margin-right: 10px;
|
|
1073
|
+
visibility: hidden;
|
|
1136
1074
|
}
|
|
1137
1075
|
|
|
1138
|
-
.
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
opacity: 0;
|
|
1142
|
-
right: 0;
|
|
1143
|
-
top: 0;
|
|
1076
|
+
.Checkbox input[type=checkbox]:checked + label:before {
|
|
1077
|
+
background: #4AC263;
|
|
1078
|
+
border: none;
|
|
1144
1079
|
}
|
|
1145
1080
|
|
|
1146
|
-
.
|
|
1147
|
-
|
|
1081
|
+
.Checkbox input[type=checkbox]:checked + label:after {
|
|
1082
|
+
transform: rotate(-45deg);
|
|
1083
|
+
top: 6px;
|
|
1084
|
+
left: 4px;
|
|
1085
|
+
width: 12px;
|
|
1086
|
+
height: 6px;
|
|
1087
|
+
border: 2px solid #fff;
|
|
1088
|
+
border-top-style: none;
|
|
1089
|
+
border-right-style: none;
|
|
1148
1090
|
}
|
|
1149
1091
|
|
|
1150
|
-
.
|
|
1151
|
-
|
|
1092
|
+
.Checkbox input[type=checkbox]:disabled + label {
|
|
1093
|
+
color: gray;
|
|
1152
1094
|
}
|
|
1153
1095
|
|
|
1154
|
-
.
|
|
1155
|
-
|
|
1096
|
+
.Checkbox input[type=checkbox]:disabled + label:before {
|
|
1097
|
+
border-color: rgba(0, 0, 0, 0.26);
|
|
1156
1098
|
}
|
|
1157
1099
|
|
|
1158
|
-
.
|
|
1159
|
-
|
|
1160
|
-
width: 1px;
|
|
1161
|
-
background-color: #D9D9D9;
|
|
1162
|
-
margin-left: 4px;
|
|
1100
|
+
.Checkbox input[type=checkbox]:disabled:checked + label:before {
|
|
1101
|
+
background: rgba(0, 0, 0, 0.26);
|
|
1163
1102
|
}
|
|
1164
1103
|
|
|
1165
1104
|
.Dropzone {
|
|
@@ -1222,118 +1161,28 @@
|
|
|
1222
1161
|
z-index: 1;
|
|
1223
1162
|
}
|
|
1224
1163
|
|
|
1225
|
-
.
|
|
1226
|
-
position: absolute;
|
|
1227
|
-
left: 0;
|
|
1228
|
-
right: 0;
|
|
1229
|
-
top: 0;
|
|
1230
|
-
bottom: 0;
|
|
1231
|
-
background-color: rgba(255, 255, 255, 0.6);
|
|
1232
|
-
z-index: 2;
|
|
1233
|
-
}
|
|
1234
|
-
|
|
1235
|
-
.FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
|
|
1236
|
-
transition-delay: 500ms;
|
|
1237
|
-
}
|
|
1238
|
-
|
|
1239
|
-
.FormUploadProgress .wrapper {
|
|
1240
|
-
position: sticky;
|
|
1241
|
-
top: 40%;
|
|
1242
|
-
margin-top: 40%;
|
|
1243
|
-
margin-left: 50%;
|
|
1244
|
-
transform: translateX(-50%);
|
|
1245
|
-
display: flex;
|
|
1246
|
-
flex-flow: column;
|
|
1247
|
-
justify-content: center;
|
|
1248
|
-
align-items: center;
|
|
1249
|
-
}
|
|
1250
|
-
|
|
1251
|
-
.FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
|
|
1164
|
+
.Button.FloatingActionButton {
|
|
1252
1165
|
position: absolute;
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
.FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
|
|
1260
|
-
stroke: #2196F3;
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
|
-
.FormUploadProgress .wrapper > .progress {
|
|
1264
|
-
width: 107px;
|
|
1265
|
-
height: 107px;
|
|
1266
|
-
min-height: 107px;
|
|
1267
|
-
display: flex;
|
|
1268
|
-
justify-content: center;
|
|
1269
|
-
align-items: center;
|
|
1270
|
-
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
|
1271
|
-
border-radius: 50%;
|
|
1272
|
-
background: white;
|
|
1273
|
-
position: relative;
|
|
1274
|
-
}
|
|
1275
|
-
|
|
1276
|
-
.FormUploadProgress .wrapper > .progress > .value {
|
|
1277
|
-
display: inline-block;
|
|
1278
|
-
margin-top: 5px;
|
|
1279
|
-
font-weight: bold;
|
|
1280
|
-
line-height: 16px;
|
|
1281
|
-
font-size: 13px;
|
|
1282
|
-
text-align: center;
|
|
1283
|
-
color: #818181;
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
|
-
.FormUploadProgress .wrapper .cancel {
|
|
1287
|
-
min-width: 107px;
|
|
1288
|
-
margin-top: 20px;
|
|
1289
|
-
background-color: white;
|
|
1290
|
-
color: #F96B5C;
|
|
1291
|
-
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
|
1292
|
-
}
|
|
1293
|
-
|
|
1294
|
-
.Snackbar {
|
|
1295
|
-
transform: translateX(-50%);
|
|
1296
|
-
overflow: hidden;
|
|
1297
|
-
background-color: #323232;
|
|
1298
|
-
padding: 14px 24px 14px 24px;
|
|
1299
|
-
color: #fff;
|
|
1300
|
-
min-width: 288px;
|
|
1301
|
-
max-width: 568px;
|
|
1302
|
-
position: fixed;
|
|
1303
|
-
bottom: -50px;
|
|
1304
|
-
left: 50%;
|
|
1305
|
-
display: flex;
|
|
1306
|
-
flex-wrap: nowrap;
|
|
1307
|
-
align-items: center;
|
|
1308
|
-
opacity: 0;
|
|
1309
|
-
transition: bottom 0.25s ease, opacity 0.2s ease;
|
|
1310
|
-
border-radius: 4px;
|
|
1311
|
-
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
|
1312
|
-
}
|
|
1313
|
-
|
|
1314
|
-
.Snackbar.shown {
|
|
1315
|
-
bottom: 15px;
|
|
1316
|
-
opacity: 1;
|
|
1166
|
+
right: 16px;
|
|
1167
|
+
bottom: 16px;
|
|
1168
|
+
width: 56px;
|
|
1169
|
+
height: 56px;
|
|
1170
|
+
padding: 16px;
|
|
1171
|
+
transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
|
1317
1172
|
}
|
|
1318
1173
|
|
|
1319
|
-
.
|
|
1320
|
-
|
|
1321
|
-
line-height: 1.2em;
|
|
1322
|
-
min-height: 1.2em;
|
|
1323
|
-
max-height: 2.4em;
|
|
1324
|
-
flex: 1;
|
|
1174
|
+
.Button.FloatingActionButton.raised {
|
|
1175
|
+
transition: bottom 0.2s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease-out, background-color 0.2s ease-out, box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);
|
|
1325
1176
|
}
|
|
1326
1177
|
|
|
1327
|
-
.
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
color: #bf3727;
|
|
1178
|
+
.Button.FloatingActionButton.mini {
|
|
1179
|
+
width: 40px;
|
|
1180
|
+
height: 40px;
|
|
1181
|
+
padding: 8px;
|
|
1332
1182
|
}
|
|
1333
1183
|
|
|
1334
|
-
.
|
|
1335
|
-
|
|
1336
|
-
color: #bf3727;
|
|
1184
|
+
.Button.FloatingActionButton.hidden {
|
|
1185
|
+
bottom: -100px;
|
|
1337
1186
|
}
|
|
1338
1187
|
|
|
1339
1188
|
.Modal {
|
|
@@ -1504,6 +1353,115 @@
|
|
|
1504
1353
|
will-change: left;
|
|
1505
1354
|
}
|
|
1506
1355
|
|
|
1356
|
+
.ModalMenu {
|
|
1357
|
+
position: absolute;
|
|
1358
|
+
top: 10px;
|
|
1359
|
+
right: 50px;
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
.ModalMenu .material-icons {
|
|
1363
|
+
color: #818181;
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
.ModalMenu .Button.animated {
|
|
1367
|
+
position: absolute;
|
|
1368
|
+
transition: opacity 150ms ease-in, right 200ms ease-in;
|
|
1369
|
+
opacity: 0;
|
|
1370
|
+
right: 0;
|
|
1371
|
+
top: 0;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
.ModalMenu .Button.animated.mounting, .ModalMenu .Button.animated.mounted {
|
|
1375
|
+
opacity: 1;
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
.ModalMenu .Button.animated.unmounting {
|
|
1379
|
+
transition: opacity 100ms ease-out, right 200ms ease-out;
|
|
1380
|
+
}
|
|
1381
|
+
|
|
1382
|
+
.ModalMenu .Button.active {
|
|
1383
|
+
background: #EBEBEB;
|
|
1384
|
+
}
|
|
1385
|
+
|
|
1386
|
+
.ModalMenu .separator {
|
|
1387
|
+
height: 24px;
|
|
1388
|
+
width: 1px;
|
|
1389
|
+
background-color: #D9D9D9;
|
|
1390
|
+
margin-left: 4px;
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
.Snackbar {
|
|
1394
|
+
transform: translateX(-50%);
|
|
1395
|
+
overflow: hidden;
|
|
1396
|
+
background-color: #323232;
|
|
1397
|
+
padding: 14px 24px 14px 24px;
|
|
1398
|
+
color: #fff;
|
|
1399
|
+
min-width: 288px;
|
|
1400
|
+
max-width: 568px;
|
|
1401
|
+
position: fixed;
|
|
1402
|
+
bottom: -50px;
|
|
1403
|
+
left: 50%;
|
|
1404
|
+
display: flex;
|
|
1405
|
+
flex-wrap: nowrap;
|
|
1406
|
+
align-items: center;
|
|
1407
|
+
opacity: 0;
|
|
1408
|
+
transition: bottom 0.25s ease, opacity 0.2s ease;
|
|
1409
|
+
border-radius: 4px;
|
|
1410
|
+
box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
.Snackbar.shown {
|
|
1414
|
+
bottom: 15px;
|
|
1415
|
+
opacity: 1;
|
|
1416
|
+
}
|
|
1417
|
+
|
|
1418
|
+
.Snackbar .message {
|
|
1419
|
+
overflow: hidden;
|
|
1420
|
+
line-height: 1.2em;
|
|
1421
|
+
min-height: 1.2em;
|
|
1422
|
+
max-height: 2.4em;
|
|
1423
|
+
flex: 1;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
.Snackbar .action {
|
|
1427
|
+
text-transform: uppercase;
|
|
1428
|
+
font-weight: bold;
|
|
1429
|
+
margin-left: 48px;
|
|
1430
|
+
color: #bf3727;
|
|
1431
|
+
}
|
|
1432
|
+
|
|
1433
|
+
.Snackbar .action a {
|
|
1434
|
+
text-decoration: none;
|
|
1435
|
+
color: #bf3727;
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
.DropFileInput {
|
|
1439
|
+
flex-grow: 1;
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
.DropFileInput .Dropzone {
|
|
1443
|
+
border: 1px dashed #808080;
|
|
1444
|
+
padding: 12px;
|
|
1445
|
+
display: flex;
|
|
1446
|
+
flex-flow: row nowrap;
|
|
1447
|
+
justify-content: center;
|
|
1448
|
+
align-items: center;
|
|
1449
|
+
color: gray;
|
|
1450
|
+
cursor: pointer;
|
|
1451
|
+
border-radius: 3px;
|
|
1452
|
+
font-weight: normal;
|
|
1453
|
+
line-height: 22px;
|
|
1454
|
+
font-size: 14px;
|
|
1455
|
+
color: #7E7E7E;
|
|
1456
|
+
max-width: 100%;
|
|
1457
|
+
word-break: break-all;
|
|
1458
|
+
word-break: break-word;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
.DropFileInput .Dropzone .icon.withText {
|
|
1462
|
+
margin-right: 10px;
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1507
1465
|
.Switch {
|
|
1508
1466
|
display: inline-flex;
|
|
1509
1467
|
padding-top: 5px;
|
|
@@ -1639,6 +1597,75 @@
|
|
|
1639
1597
|
stroke-dashoffset: -53px;
|
|
1640
1598
|
}
|
|
1641
1599
|
}
|
|
1600
|
+
.FormUploadProgress {
|
|
1601
|
+
position: absolute;
|
|
1602
|
+
left: 0;
|
|
1603
|
+
right: 0;
|
|
1604
|
+
top: 0;
|
|
1605
|
+
bottom: 0;
|
|
1606
|
+
background-color: rgba(255, 255, 255, 0.6);
|
|
1607
|
+
z-index: 2;
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
.FormUploadProgress.animated.mounting, .FormUploadProgress.animated.mounted {
|
|
1611
|
+
transition-delay: 500ms;
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1614
|
+
.FormUploadProgress .wrapper {
|
|
1615
|
+
position: sticky;
|
|
1616
|
+
top: 40%;
|
|
1617
|
+
margin-top: 40%;
|
|
1618
|
+
margin-left: 50%;
|
|
1619
|
+
transform: translateX(-50%);
|
|
1620
|
+
display: flex;
|
|
1621
|
+
flex-flow: column;
|
|
1622
|
+
justify-content: center;
|
|
1623
|
+
align-items: center;
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1626
|
+
.FormUploadProgress .wrapper .CircleProgress, .FormUploadProgress .wrapper .SpinningProgress {
|
|
1627
|
+
position: absolute;
|
|
1628
|
+
width: 107px;
|
|
1629
|
+
height: 107px;
|
|
1630
|
+
top: 0;
|
|
1631
|
+
left: 0;
|
|
1632
|
+
}
|
|
1633
|
+
|
|
1634
|
+
.FormUploadProgress .wrapper .CircleProgress .line, .FormUploadProgress .wrapper .SpinningProgress .line {
|
|
1635
|
+
stroke: #2196F3;
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
.FormUploadProgress .wrapper > .progress {
|
|
1639
|
+
width: 107px;
|
|
1640
|
+
height: 107px;
|
|
1641
|
+
min-height: 107px;
|
|
1642
|
+
display: flex;
|
|
1643
|
+
justify-content: center;
|
|
1644
|
+
align-items: center;
|
|
1645
|
+
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
|
1646
|
+
border-radius: 50%;
|
|
1647
|
+
background: white;
|
|
1648
|
+
position: relative;
|
|
1649
|
+
}
|
|
1650
|
+
|
|
1651
|
+
.FormUploadProgress .wrapper > .progress > .value {
|
|
1652
|
+
display: inline-block;
|
|
1653
|
+
margin-top: 5px;
|
|
1654
|
+
font-weight: bold;
|
|
1655
|
+
line-height: 16px;
|
|
1656
|
+
font-size: 13px;
|
|
1657
|
+
text-align: center;
|
|
1658
|
+
color: #818181;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1661
|
+
.FormUploadProgress .wrapper .cancel {
|
|
1662
|
+
min-width: 107px;
|
|
1663
|
+
margin-top: 20px;
|
|
1664
|
+
background-color: white;
|
|
1665
|
+
color: #F96B5C;
|
|
1666
|
+
box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25);
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1642
1669
|
.Table {
|
|
1643
1670
|
font-family: Roboto, sans-serif;
|
|
1644
1671
|
font-size: 14px;
|
|
@@ -1904,33 +1931,6 @@
|
|
|
1904
1931
|
animation-name: shake;
|
|
1905
1932
|
}
|
|
1906
1933
|
|
|
1907
|
-
.DropFileInput {
|
|
1908
|
-
flex-grow: 1;
|
|
1909
|
-
}
|
|
1910
|
-
|
|
1911
|
-
.DropFileInput .Dropzone {
|
|
1912
|
-
border: 1px dashed #808080;
|
|
1913
|
-
padding: 12px;
|
|
1914
|
-
display: flex;
|
|
1915
|
-
flex-flow: row nowrap;
|
|
1916
|
-
justify-content: center;
|
|
1917
|
-
align-items: center;
|
|
1918
|
-
color: gray;
|
|
1919
|
-
cursor: pointer;
|
|
1920
|
-
border-radius: 3px;
|
|
1921
|
-
font-weight: normal;
|
|
1922
|
-
line-height: 22px;
|
|
1923
|
-
font-size: 14px;
|
|
1924
|
-
color: #7E7E7E;
|
|
1925
|
-
max-width: 100%;
|
|
1926
|
-
word-break: break-all;
|
|
1927
|
-
word-break: break-word;
|
|
1928
|
-
}
|
|
1929
|
-
|
|
1930
|
-
.DropFileInput .Dropzone .icon.withText {
|
|
1931
|
-
margin-right: 10px;
|
|
1932
|
-
}
|
|
1933
|
-
|
|
1934
1934
|
.ScrollableTable .Scrollable .scrollbar {
|
|
1935
1935
|
top: 56px;
|
|
1936
1936
|
}
|
package/package.json
CHANGED
|
@@ -39,6 +39,8 @@ const DummyChild = ({id, label, dataConsumer, onClick}) => {
|
|
|
39
39
|
return <div className={`DummyChild`} onClick={onClick}>{label || id}</div>
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
+
const ifString = (s) => isString(s) && s
|
|
43
|
+
|
|
42
44
|
const prepareSelected = (value) => {
|
|
43
45
|
let result;
|
|
44
46
|
if (value != null) {
|
|
@@ -147,10 +149,10 @@ class AutocompleteSelect extends PureComponent {
|
|
|
147
149
|
this.updateListPosition()
|
|
148
150
|
}
|
|
149
151
|
|
|
150
|
-
initSelected = ({value, mode, allowCustom}, {filterValue = ''}) => {
|
|
152
|
+
initSelected = ({value, mode, allowCustom, withFilter}, {filterValue = ''}) => {
|
|
151
153
|
this.setState({
|
|
152
154
|
selected: prepareSelected(value),
|
|
153
|
-
filterValue: allowCustom && isString(value) && !isMultipleSelect(mode) ? value : filterValue,
|
|
155
|
+
filterValue: allowCustom && withFilter && isString(value) && !isMultipleSelect(mode) ? value : filterValue,
|
|
154
156
|
});
|
|
155
157
|
};
|
|
156
158
|
|
|
@@ -372,7 +374,7 @@ class AutocompleteSelect extends PureComponent {
|
|
|
372
374
|
} else if (keyCode === 27/*esc*/) {
|
|
373
375
|
this.setState({
|
|
374
376
|
isActive: false,
|
|
375
|
-
filterValue: isMultipleSelect(mode) ? '' : Object.values(selected)[0] || '',
|
|
377
|
+
filterValue: isMultipleSelect(mode) ? '' : ifString(Object.values(selected)[0]) || '',
|
|
376
378
|
});
|
|
377
379
|
this.input.getInput().blur()
|
|
378
380
|
this.onCancel();
|
|
@@ -390,13 +392,14 @@ class AutocompleteSelect extends PureComponent {
|
|
|
390
392
|
}
|
|
391
393
|
|
|
392
394
|
onClickOutside = () => {
|
|
393
|
-
const {allowCustom, required, onFilterInputChange, mode, selectCustomOnClickOutside} = __props(this);
|
|
395
|
+
const {allowCustom, required, onFilterInputChange, mode, selectCustomOnClickOutside, withFilter} = __props(this);
|
|
394
396
|
let {filterValue, selected} = __state(this);
|
|
395
397
|
if (allowCustom && selectCustomOnClickOutside && (!!filterValue || !required)) {
|
|
396
398
|
selected = this.onSelect()
|
|
397
399
|
}
|
|
398
400
|
|
|
399
|
-
filterValue = (!isMultipleSelect(mode) && Object.values(selected)[0]) || ''
|
|
401
|
+
filterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''
|
|
402
|
+
|
|
400
403
|
this.setState({isActive: false, filterValue});
|
|
401
404
|
onFilterInputChange && onFilterInputChange(filterValue);
|
|
402
405
|
|
|
@@ -453,7 +456,7 @@ class AutocompleteSelect extends PureComponent {
|
|
|
453
456
|
customValue = label
|
|
454
457
|
}
|
|
455
458
|
|
|
456
|
-
let nextFilterValue = (!isMultipleSelect(mode) && withFilter && Object.values(selected)[0]) || ''
|
|
459
|
+
let nextFilterValue = (!isMultipleSelect(mode) && withFilter && ifString(Object.values(selected)[0])) || ''
|
|
457
460
|
this.setState({
|
|
458
461
|
isActive: isActive,
|
|
459
462
|
selected: selected,
|
package/src/TextField.tsx
CHANGED
|
@@ -55,7 +55,6 @@ class TextField extends AbstractTextField {
|
|
|
55
55
|
const {required, check} = props();
|
|
56
56
|
const value = inputRef().value;
|
|
57
57
|
const error = (required && value === '') || (check && check(value));
|
|
58
|
-
debugger
|
|
59
58
|
errorState() !== error && setTimeout(errorState, 0, error);
|
|
60
59
|
return error;
|
|
61
60
|
};
|