react-ui-basics 0.0.142 → 0.0.145
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/Animated.js +3 -3
- package/Animated.js.map +1 -1
- package/AutocompleteSelect.js +35 -32
- package/AutocompleteSelect.js.map +1 -1
- package/Button.js +3 -3
- package/Button.js.map +1 -1
- package/Checkbox.js +3 -3
- package/Checkbox.js.map +1 -1
- package/CircleProgress.js.map +1 -1
- package/DNDContainer.js.map +1 -1
- package/DNDDraggable.js +2 -2
- package/DNDDraggable.js.map +1 -1
- package/DNDDroppable.js +2 -2
- package/DNDDroppable.js.map +1 -1
- package/Dialog.js +4 -4
- package/Dialog.js.map +1 -1
- package/DropFileInput.js.map +1 -1
- package/DroppableHorizontalList.js +2 -2
- package/DroppableHorizontalList.js.map +1 -1
- package/DroppableList.js +2 -2
- package/DroppableList.js.map +1 -1
- package/Dropzone.js +2 -2
- package/Dropzone.js.map +1 -1
- package/FilteredList.js +6 -5
- package/FilteredList.js.map +1 -1
- package/FloatingActionButton.js.map +1 -1
- package/FormUploadProgress.js.map +1 -1
- package/ImageGallery.js +6 -6
- package/ImageGallery.js.map +1 -1
- package/MaterialIcon.js +1 -1
- package/MaterialIcon.js.map +1 -1
- package/Modal.js +3 -3
- package/Modal.js.map +1 -1
- package/ModalMenu.js +2 -2
- package/ModalMenu.js.map +1 -1
- package/ReactConstants.js.map +1 -1
- package/ReadyListener.js +3 -3
- package/ReadyListener.js.map +1 -1
- package/Scrollable.js +3 -3
- package/Scrollable.js.map +1 -1
- package/ScrollableTable.js +2 -2
- package/ScrollableTable.js.map +1 -1
- package/Size.js.map +1 -1
- package/Snackbar.js +2 -2
- package/Snackbar.js.map +1 -1
- package/SpinningProgress.js.map +1 -1
- package/Switch.js +3 -3
- package/Switch.js.map +1 -1
- package/Table.js.map +1 -1
- package/TextField.js +3 -3
- package/TextField.js.map +1 -1
- package/Tools.d.ts +36 -0
- package/Tools.js +183 -205
- package/Tools.js.map +1 -1
- package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
- package/bundle.css +635 -634
- package/package.json +30 -27
- package/router/HistoryTools.js.map +1 -1
- package/router/Link.js.map +1 -1
- package/router/NavLink.js.map +1 -1
- package/router/Route.js +3 -3
- package/router/Route.js.map +1 -1
- package/router/index.js.map +1 -1
- package/store/ProxyTools.js.map +1 -1
- package/store/Store.d.ts +21 -0
- package/store/Store.js +43 -57
- package/store/Store.js.map +1 -1
package/Animated.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, defineProperty as _defineProperty, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, createClass as _createClass, defineProperty as _defineProperty, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import { setOf, clearTimeout, allPropsExcept, classNames, requestAnimationFrame, setTimeout } from './Tools.js';
|
|
5
|
-
import {
|
|
5
|
+
import { className, children, componentDidMount, props, componentWillUnmount, render, state, componentDidUpdate, setState, PureComponent } from './ReactConstants.js';
|
|
6
6
|
|
|
7
7
|
var _Animated$defaultProp;
|
|
8
8
|
var mounting = 'mounting',
|
|
@@ -122,7 +122,7 @@ var Animated = function (_PureComponent) {
|
|
|
122
122
|
};
|
|
123
123
|
return _this;
|
|
124
124
|
}
|
|
125
|
-
return Animated;
|
|
125
|
+
return _createClass(Animated);
|
|
126
126
|
}(PureComponent);
|
|
127
127
|
if (process.env.NODE_ENV !== 'production') {
|
|
128
128
|
var _PropTypes$shape, _Animated$propTypes;
|
package/Animated.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Animated.js","sources":["../src/react-ui-basics/Animated.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './Animated.css'\nimport {allPropsExcept, classNames, setOf, setTimeout, requestAnimationFrame, clearTimeout} from \"./Tools\";\nimport {props, state, setState, componentWillUnmount, componentDidMount, render, componentDidUpdate, className, children, PureComponent} from \"./ReactConstants\";\n\nlet mounting = 'mounting',\n unmounting = 'unmounting',\n mounted = 'mounted',\n enabled = 'enabled',\n mountingDelay = 'mountingDelay',\n unmountingDelay = 'unmountingDelay',\n timeout = 'timeout',\n value = 'value'\n;\n\nconst selfProps = setOf([\n children,\n className,\n 'styles',\n mountingDelay,\n unmountingDelay,\n mounting,\n unmounting,\n value,\n]);\n\nconst clearTimer = that => clearTimeout(that[timeout]);\n\nconst animatedState = (isEnabled, isMounting, isMounted, isUnMounting) => {\n const r = {};\n r[enabled] = isEnabled;\n r[mounting] = isMounting;\n r[mounted] = isMounted;\n r[unmounting] = isUnMounting;\n return r;\n};\n\nconst doMounting = (that, duration) => {\n setState(that, animatedState(true, true, false, false));\n\n that[timeout] = setTimeout(setState, duration, that, animatedState(true, false, true, false))\n};\n\nconst processMounting = (that, duration, mountingDelay) => {\n const _state = state(that);\n if (_state[mounting] || _state[mounted]) return;\n clearTimer(that);\n\n if (_state[unmounting])\n return doMounting(that, duration);\n\n if (mountingDelay) {\n that[timeout] = setTimeout(() => {\n if (state(that)[mounted]) return;\n doMounting(that, duration)\n }, mountingDelay);\n } else {\n doMounting(that, duration);\n }\n};\n\nconst doUnmounting = (that, duration) => {\n setState(that, animatedState(true, false, false, true));\n that[timeout] = setTimeout(setState, duration, that, animatedState(false, false, false, false));\n};\n\nconst processUnmounting = (that, duration, unmountingDelay) => {\n const _state = state(that);\n if (_state[unmounting]) return;\n clearTimer(that);\n\n if (_state[mounting])\n return doUnmounting(that, duration);\n\n if (unmountingDelay) {\n that[timeout] = setTimeout(() => {\n if (props(that)[value]) return;\n doUnmounting(that, duration);\n }, unmountingDelay);\n } else {\n doUnmounting(that, duration);\n }\n};\n\nclass Animated extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = animatedState(!!properties[value]);\n\n that[componentDidMount] = () => {\n const _props = props(that);\n if (!!_props[value])\n processMounting(that, _props[mounting], _props[mountingDelay])\n };\n\n that[componentWillUnmount] = () => {\n clearTimer(that)\n };\n\n that[render] = () => {\n const _state = state(that);\n if (!_state[enabled]) return null;\n\n const _props = props(that),\n {styles} = _props,\n {\n [mounting]: isMounting,\n [unmounting]: isUnMounting,\n [mounted]: isMounted,\n } = _state;\n\n let childStyles = styles.default;\n if (isMounting)\n childStyles = styles[mounting];\n else if (isUnMounting)\n childStyles = styles[unmounting];\n else if (isMounted)\n childStyles = styles[mounted] || styles[mounting];\n\n const otherProps = allPropsExcept(_props, selfProps);\n return React.Children.map(_props[children], child =>\n child && React.cloneElement(child, {\n [className]: classNames(\n props(child)[className],\n _props[className],\n isMounting && mounting,\n isMounted && mounted,\n isUnMounting && unmounting\n ),\n style: {...props(child).style, ...childStyles},\n ...otherProps,\n }));\n };\n\n that[componentDidUpdate] = () => {\n const _props = props(that),\n _state = state(that),\n {\n [value]: v,\n [mounting]: mountingDuration,\n [unmounting]: unmountingDuration,\n } = _props,\n {\n [mounting]: isMounting,\n [unmounting]: isUnMounting,\n [mounted]: isMounted,\n [enabled]: isEnabled,\n } = _state;\n\n if (isUnMounting && v)\n return processMounting(that, mountingDuration, _props[mountingDelay]);\n if (isMounting && !v)\n return processUnmounting(that, unmountingDuration, _props[unmountingDelay]);\n\n let toggled = (isEnabled && !v) || (!isEnabled && !!v);\n if (toggled) {\n if (!!v) {\n // just set enable to true and wait until react will mount children\n setState(that, animatedState(true))\n } else\n processUnmounting(that, unmountingDuration, _props[unmountingDelay]);\n } else {\n if (isEnabled && !isMounting && !isMounted && !isUnMounting) {\n // react requires a delay to mount children, one requestAnimationFrame is not enough\n requestAnimationFrame(() => requestAnimationFrame(() => processMounting(that, mountingDuration, _props[mountingDelay])))\n }\n }\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Animated.propTypes = {\n [value]: PropTypes.bool,\n [className]: PropTypes.string,\n styles: PropTypes.shape({\n [mounting]: PropTypes.object,\n [mounted]: PropTypes.object,\n [unmounting]: PropTypes.object,\n }),\n [mountingDelay]: PropTypes.number,\n [unmountingDelay]: PropTypes.number,\n [mounting]: PropTypes.number,\n [unmounting]: PropTypes.number,\n };\n}\n\nAnimated.defaultProps = {\n [className]: 'animated',\n [mounting]: 250,\n [unmounting]: 250,\n styles: {},\n [mountingDelay]: 0,\n [unmountingDelay]: 0,\n};\n\n// forcing webpack to NOT inline constant fields\n// mounting = mounting || 1;\n// mounted = mounted || 1;\n// unmounting = unmounting || 1;\n// enabled = enabled || 1;\n// mountingDelay = mountingDelay || 1;\n// unmountingDelay = unmountingDelay || 1;\n// value = value || 1;\n// timeout = timeout || 1;\n\nexport default Animated"],"names":["mounting","unmounting","mounted","enabled","mountingDelay","unmountingDelay","timeout","value","selfProps","setOf","children","className","clearTimer","that","clearTimeout","animatedState","isEnabled","isMounting","isMounted","isUnMounting","r","doMounting","duration","setState","setTimeout","processMounting","_state","state","doUnmounting","processUnmounting","props","Animated","properties","componentDidMount","_props","componentWillUnmount","render","styles","childStyles","otherProps","allPropsExcept","React","Children","map","child","cloneElement","classNames","style","componentDidUpdate","v","mountingDuration","unmountingDuration","toggled","requestAnimationFrame","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","bool","string","shape","object","number","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Animated.js","sources":["../src/react-ui-basics/Animated.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './Animated.css'\nimport {allPropsExcept, classNames, setOf, setTimeout, requestAnimationFrame, clearTimeout} from \"./Tools\";\nimport {props, state, setState, componentWillUnmount, componentDidMount, render, componentDidUpdate, className, children, PureComponent} from \"./ReactConstants\";\n\nlet mounting = 'mounting',\n unmounting = 'unmounting',\n mounted = 'mounted',\n enabled = 'enabled',\n mountingDelay = 'mountingDelay',\n unmountingDelay = 'unmountingDelay',\n timeout = 'timeout',\n value = 'value'\n;\n\nconst selfProps = setOf([\n children,\n className,\n 'styles',\n mountingDelay,\n unmountingDelay,\n mounting,\n unmounting,\n value,\n]);\n\nconst clearTimer = that => clearTimeout(that[timeout]);\n\nconst animatedState = (isEnabled, isMounting, isMounted, isUnMounting) => {\n const r = {};\n r[enabled] = isEnabled;\n r[mounting] = isMounting;\n r[mounted] = isMounted;\n r[unmounting] = isUnMounting;\n return r;\n};\n\nconst doMounting = (that, duration) => {\n setState(that, animatedState(true, true, false, false));\n\n that[timeout] = setTimeout(setState, duration, that, animatedState(true, false, true, false))\n};\n\nconst processMounting = (that, duration, mountingDelay) => {\n const _state = state(that);\n if (_state[mounting] || _state[mounted]) return;\n clearTimer(that);\n\n if (_state[unmounting])\n return doMounting(that, duration);\n\n if (mountingDelay) {\n that[timeout] = setTimeout(() => {\n if (state(that)[mounted]) return;\n doMounting(that, duration)\n }, mountingDelay);\n } else {\n doMounting(that, duration);\n }\n};\n\nconst doUnmounting = (that, duration) => {\n setState(that, animatedState(true, false, false, true));\n that[timeout] = setTimeout(setState, duration, that, animatedState(false, false, false, false));\n};\n\nconst processUnmounting = (that, duration, unmountingDelay) => {\n const _state = state(that);\n if (_state[unmounting]) return;\n clearTimer(that);\n\n if (_state[mounting])\n return doUnmounting(that, duration);\n\n if (unmountingDelay) {\n that[timeout] = setTimeout(() => {\n if (props(that)[value]) return;\n doUnmounting(that, duration);\n }, unmountingDelay);\n } else {\n doUnmounting(that, duration);\n }\n};\n\nclass Animated extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = animatedState(!!properties[value]);\n\n that[componentDidMount] = () => {\n const _props = props(that);\n if (!!_props[value])\n processMounting(that, _props[mounting], _props[mountingDelay])\n };\n\n that[componentWillUnmount] = () => {\n clearTimer(that)\n };\n\n that[render] = () => {\n const _state = state(that);\n if (!_state[enabled]) return null;\n\n const _props = props(that),\n {styles} = _props,\n {\n [mounting]: isMounting,\n [unmounting]: isUnMounting,\n [mounted]: isMounted,\n } = _state;\n\n let childStyles = styles.default;\n if (isMounting)\n childStyles = styles[mounting];\n else if (isUnMounting)\n childStyles = styles[unmounting];\n else if (isMounted)\n childStyles = styles[mounted] || styles[mounting];\n\n const otherProps = allPropsExcept(_props, selfProps);\n return React.Children.map(_props[children], child =>\n child && React.cloneElement(child, {\n [className]: classNames(\n props(child)[className],\n _props[className],\n isMounting && mounting,\n isMounted && mounted,\n isUnMounting && unmounting\n ),\n style: {...props(child).style, ...childStyles},\n ...otherProps,\n }));\n };\n\n that[componentDidUpdate] = () => {\n const _props = props(that),\n _state = state(that),\n {\n [value]: v,\n [mounting]: mountingDuration,\n [unmounting]: unmountingDuration,\n } = _props,\n {\n [mounting]: isMounting,\n [unmounting]: isUnMounting,\n [mounted]: isMounted,\n [enabled]: isEnabled,\n } = _state;\n\n if (isUnMounting && v)\n return processMounting(that, mountingDuration, _props[mountingDelay]);\n if (isMounting && !v)\n return processUnmounting(that, unmountingDuration, _props[unmountingDelay]);\n\n let toggled = (isEnabled && !v) || (!isEnabled && !!v);\n if (toggled) {\n if (!!v) {\n // just set enable to true and wait until react will mount children\n setState(that, animatedState(true))\n } else\n processUnmounting(that, unmountingDuration, _props[unmountingDelay]);\n } else {\n if (isEnabled && !isMounting && !isMounted && !isUnMounting) {\n // react requires a delay to mount children, one requestAnimationFrame is not enough\n requestAnimationFrame(() => requestAnimationFrame(() => processMounting(that, mountingDuration, _props[mountingDelay])))\n }\n }\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Animated.propTypes = {\n [value]: PropTypes.bool,\n [className]: PropTypes.string,\n styles: PropTypes.shape({\n [mounting]: PropTypes.object,\n [mounted]: PropTypes.object,\n [unmounting]: PropTypes.object,\n }),\n [mountingDelay]: PropTypes.number,\n [unmountingDelay]: PropTypes.number,\n [mounting]: PropTypes.number,\n [unmounting]: PropTypes.number,\n };\n}\n\nAnimated.defaultProps = {\n [className]: 'animated',\n [mounting]: 250,\n [unmounting]: 250,\n styles: {},\n [mountingDelay]: 0,\n [unmountingDelay]: 0,\n};\n\n// forcing webpack to NOT inline constant fields\n// mounting = mounting || 1;\n// mounted = mounted || 1;\n// unmounting = unmounting || 1;\n// enabled = enabled || 1;\n// mountingDelay = mountingDelay || 1;\n// unmountingDelay = unmountingDelay || 1;\n// value = value || 1;\n// timeout = timeout || 1;\n\nexport default Animated"],"names":["mounting","unmounting","mounted","enabled","mountingDelay","unmountingDelay","timeout","value","selfProps","setOf","children","className","clearTimer","that","clearTimeout","animatedState","isEnabled","isMounting","isMounted","isUnMounting","r","doMounting","duration","setState","setTimeout","processMounting","_state","state","doUnmounting","processUnmounting","props","Animated","properties","componentDidMount","_props","componentWillUnmount","render","styles","childStyles","otherProps","allPropsExcept","React","Children","map","child","_objectSpread2","cloneElement","classNames","style","componentDidUpdate","v","mountingDuration","unmountingDuration","toggled","requestAnimationFrame","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","bool","string","shape","object","number","defaultProps"],"mappings":"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"}
|
package/AutocompleteSelect.js
CHANGED
|
@@ -4,9 +4,10 @@ import ReactCreateElement from './ReactCreateElement.js';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import TextField from './TextField.js';
|
|
6
6
|
import FilteredList, { getLabel } from './FilteredList.js';
|
|
7
|
-
import { isString, orNoop, preventDefault, stopPropagation, getRandomId, isFunction, isObject, addEventListener, DOCUMENT, removeEventListener, UNDEFINED, classNames, ref
|
|
7
|
+
import { isString, memo, orNoop, preventDefault, stopPropagation, getRandomId, isFunction, isObject, continuousIncludes, addEventListener, DOCUMENT, removeEventListener, UNDEFINED, classNames, ref } from './Tools.js';
|
|
8
8
|
import Button from './Button.js';
|
|
9
9
|
import MaterialIcon from './MaterialIcon.js';
|
|
10
|
+
import { PureComponent } from './ReactConstants.js';
|
|
10
11
|
|
|
11
12
|
var MODE_DEFAULT = 'default';
|
|
12
13
|
var MODE_INLINE = 'inline';
|
|
@@ -53,8 +54,8 @@ var findParent = function findParent(el, tag) {
|
|
|
53
54
|
function isMultipleSelect(mode) {
|
|
54
55
|
return mode === MODE_MULTIPLE || mode === MODE_MULTIPLE_AUTO || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI || mode === MODE_MULTIPLE_MINI_INLINE;
|
|
55
56
|
}
|
|
56
|
-
var AutocompleteSelect = function (
|
|
57
|
-
_inherits(AutocompleteSelect,
|
|
57
|
+
var AutocompleteSelect = function (_PureComponent) {
|
|
58
|
+
_inherits(AutocompleteSelect, _PureComponent);
|
|
58
59
|
var _super = _createSuper(AutocompleteSelect);
|
|
59
60
|
function AutocompleteSelect(props) {
|
|
60
61
|
var _this;
|
|
@@ -71,6 +72,16 @@ var AutocompleteSelect = function (_React$Component) {
|
|
|
71
72
|
filterValue: allowCustom && isString(value) && !isMultipleSelect(mode) ? value : filterValue
|
|
72
73
|
});
|
|
73
74
|
};
|
|
75
|
+
_this.createFilter = memo(function (prefilter, filterValue, filterValueTrimmed, filter) {
|
|
76
|
+
return function (it) {
|
|
77
|
+
if (!it) return false;
|
|
78
|
+
if (prefilter && !prefilter(it)) return false;
|
|
79
|
+
if (!filterValue) return true;
|
|
80
|
+
if (filter) return filter(it, filterValueTrimmed);
|
|
81
|
+
var value = (isString(it) ? it : it.name || it.label || '').toLowerCase().trim();
|
|
82
|
+
return continuousIncludes(value, filterValueTrimmed);
|
|
83
|
+
};
|
|
84
|
+
});
|
|
74
85
|
_this.onClickOutside = function () {
|
|
75
86
|
var _this$props = _this.props,
|
|
76
87
|
allowCustom = _this$props.allowCustom,
|
|
@@ -214,7 +225,7 @@ var AutocompleteSelect = function (_React$Component) {
|
|
|
214
225
|
withArrow = _this$props3.withArrow,
|
|
215
226
|
withFilter = _this$props3.withFilter,
|
|
216
227
|
withReset = _this$props3.withReset,
|
|
217
|
-
|
|
228
|
+
filter = _this$props3.filter,
|
|
218
229
|
label = _this$props3.label,
|
|
219
230
|
inputLabel = _this$props3.inputLabel,
|
|
220
231
|
mode = _this$props3.mode,
|
|
@@ -271,32 +282,7 @@ var AutocompleteSelect = function (_React$Component) {
|
|
|
271
282
|
var dataFiltered = allowCustom ? [filterValueTrimmed].concat(_toConsumableArray(data.filter(function (suggestion) {
|
|
272
283
|
return suggestion !== filterValueTrimmed;
|
|
273
284
|
}))) : data;
|
|
274
|
-
var
|
|
275
|
-
className: classNames(isActive && 'visible'),
|
|
276
|
-
ref: ref('list', this),
|
|
277
|
-
filter: function filter(it) {
|
|
278
|
-
if (!it) return false;
|
|
279
|
-
if (prefilter && !prefilter(it)) return false;
|
|
280
|
-
if (!filterValue) return true;
|
|
281
|
-
var f = filterValueTrimmed.toLowerCase();
|
|
282
|
-
if (_filter) return _filter(it, f);
|
|
283
|
-
var value = (isString(it) ? it : it.name || it.label || '').toLowerCase().trim();
|
|
284
|
-
return continuousIncludes(value, f);
|
|
285
|
-
},
|
|
286
|
-
selectSingle: !allowCustom,
|
|
287
|
-
scroll: scroll,
|
|
288
|
-
inline: isInline,
|
|
289
|
-
nextProvider: ref('next', this),
|
|
290
|
-
prevProvider: ref('prev', this),
|
|
291
|
-
selectedProvider: ref('getSelected', this),
|
|
292
|
-
resetProvider: ref('reset', this),
|
|
293
|
-
onSelect: this.onSelect,
|
|
294
|
-
selected: selected,
|
|
295
|
-
childComponent: childComponent,
|
|
296
|
-
childProps: childProps,
|
|
297
|
-
data: dataFiltered,
|
|
298
|
-
labels: labels
|
|
299
|
-
});
|
|
285
|
+
var filterFunction = this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter);
|
|
300
286
|
return ReactCreateElement("div", {
|
|
301
287
|
id: id,
|
|
302
288
|
className: classNames('AutocompleteSelect', mode, isMultipleSelect(mode) && 'multi', className, withFilter ? 'withFilter' : 'withoutFilter', isActive && 'active', errored && 'errored', inlineSelected && 'inlineSelected', hasSelected && 'hasSelected'),
|
|
@@ -419,11 +405,28 @@ var AutocompleteSelect = function (_React$Component) {
|
|
|
419
405
|
_this3.onCancel();
|
|
420
406
|
}
|
|
421
407
|
}
|
|
422
|
-
}), !withFilter && inputLabel && ReactCreateElement("label", null, inputLabel)),
|
|
408
|
+
}), !withFilter && inputLabel && ReactCreateElement("label", null, inputLabel)), ReactCreateElement(FilteredList, {
|
|
409
|
+
className: classNames(isActive && 'visible'),
|
|
410
|
+
ref: ref('list', this),
|
|
411
|
+
filter: filterFunction,
|
|
412
|
+
selectSingle: !allowCustom,
|
|
413
|
+
scroll: scroll,
|
|
414
|
+
inline: isInline,
|
|
415
|
+
nextProvider: ref('next', this),
|
|
416
|
+
prevProvider: ref('prev', this),
|
|
417
|
+
selectedProvider: ref('getSelected', this),
|
|
418
|
+
resetProvider: ref('reset', this),
|
|
419
|
+
onSelect: this.onSelect,
|
|
420
|
+
selected: selected,
|
|
421
|
+
childComponent: childComponent,
|
|
422
|
+
childProps: childProps,
|
|
423
|
+
data: dataFiltered,
|
|
424
|
+
labels: labels
|
|
425
|
+
}));
|
|
423
426
|
}
|
|
424
427
|
}]);
|
|
425
428
|
return AutocompleteSelect;
|
|
426
|
-
}(
|
|
429
|
+
}(PureComponent);
|
|
427
430
|
AutocompleteSelect.propTypes = {
|
|
428
431
|
mode: PropTypes.oneOf([MODE_DEFAULT, MODE_INLINE, MODE_MULTIPLE, MODE_MULTIPLE_AUTO, MODE_MULTIPLE_MINI, MODE_MULTIPLE_MINI_INLINE, MODE_INLINE_MULTIPLE, MODE_MINI])
|
|
429
432
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteSelect.js","sources":["../src/react-ui-basics/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\n} from \"./Tools\";\nimport Button from \"./Button\";\nimport MaterialIcon from \"./MaterialIcon\";\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 React.Component {\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 };\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 this.onClickOutside()\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 }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value !== prevProps.value)\n this.initSelected(this.props, this.state)\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 withReset: false,\n scrollToValue: false,\n mode: MODE_DEFAULT,\n selectedMode: 'full',\n removeIcon: <MaterialIcon icon=\"close\"/>,\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 } = 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} = 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.scrollTo(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 ? [filterValueTrimmed, ...data.filter(suggestion => suggestion !== filterValueTrimmed)] : data;\n\n const list = <FilteredList className={classNames(isActive && 'visible')}\n ref={ref('list', this)}\n filter={it => {\n if (!it) return false;\n if (prefilter && !prefilter(it)) return false;\n if (!filterValue) return true;\n\n const f = filterValueTrimmed.toLowerCase();\n if (filter) return filter(it, f);\n\n let value = (isString(it) ? it : (it.name || it.label || '')).toLowerCase().trim();\n return continuousIncludes(value, f);\n }}\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\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) ? '' : (allowCustom ? filterValue : ''),\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 {list}\n </div>\n )\n }\n\n onClickOutside = () => {\n const {allowCustom, required} = this.props;\n const {filterValue} = this.state;\n if (allowCustom && (!!filterValue || !required)) {\n this.onSelect()\n }\n\n this.setState({isActive: false});\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\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 this.setState({\n isActive: isActive,\n selected: selected,\n filterValue: isMultiSelect ? '' : (allowCustom ? selectedId || '' : ''),\n errored,\n });\n\n if (isActive && this.input)\n this.input.getInput().focus()\n\n orNoop(onSelect)(selectedId);\n orNoop(onChange)(Object.values(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 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","id","label","dataConsumer","onClick","orNoop","prepareSelected","value","result","Array","isArray","reduce","map","obj","isObject","findParent","el","tag","tagName","toUpperCase","parentNode","isMultipleSelect","mode","AutocompleteSelect","props","initSelected","allowCustom","filterValue","setState","selected","isString","onClickOutside","required","state","onSelect","isActive","onCancel","selectedId","onChange","defaultValue","currentSelection","input","check","trim","isMultiSelect","isSelected","Object","keys","length","errored","getInput","focus","values","clean","e","preventDefault","stopPropagation","remove","event","target","onFilterInputChange","that","focused","randomId","getRandomId","data","getSelected","isFunction","addEventListener","DOCUMENT","listener","contains","form","submitButton","querySelector","formSubmitListener","prevProps","prevState","snapshot","removeEventListener","childComponent","childProps","withArrow","withFilter","withReset","filter","inputLabel","selectedMode","prefilter","className","scrollToValue","scroll","inlineSelected","removeIcon","selectedComponent","UNDEFINED","labels","selectedIds","hasSelected","setActive","list","scrollTo","toggle","isInline","filterValueTrimmed","dataFiltered","suggestion","classNames","ref","it","f","toLowerCase","name","continuousIncludes","React","createElement","getLabel","filterCheck","keyCode","prev","next","reset","blur","Component","propTypes","PropTypes","oneOf","defaultProps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AutocompleteSelect.js","sources":["../src/react-ui-basics/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\";\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 };\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 this.onClickOutside()\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 }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.value !== prevProps.value)\n this.initSelected(this.props, this.state)\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 withReset: false,\n scrollToValue: false,\n mode: MODE_DEFAULT,\n selectedMode: 'full',\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 } = 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} = 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.scrollTo(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 ? [filterValueTrimmed, ...data.filter(suggestion => suggestion !== filterValueTrimmed)] : data;\n\n const filterFunction = this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter)\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) ? '' : (allowCustom ? filterValue : ''),\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 className={classNames(isActive && 'visible')}\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 </div>\n )\n }\n\n onClickOutside = () => {\n const {allowCustom, required} = this.props;\n const {filterValue} = this.state;\n if (allowCustom && (!!filterValue || !required)) {\n this.onSelect()\n }\n\n this.setState({isActive: false});\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\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 this.setState({\n isActive: isActive,\n selected: selected,\n filterValue: isMultiSelect ? '' : (allowCustom ? selectedId || '' : ''),\n errored,\n });\n\n if (isActive && this.input)\n this.input.getInput().focus()\n\n orNoop(onSelect)(selectedId);\n orNoop(onChange)(Object.values(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 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","id","label","dataConsumer","onClick","orNoop","prepareSelected","value","result","Array","isArray","reduce","map","obj","isObject","findParent","el","tag","tagName","toUpperCase","parentNode","isMultipleSelect","mode","AutocompleteSelect","props","initSelected","allowCustom","filterValue","setState","selected","isString","createFilter","memo","prefilter","filterValueTrimmed","filter","it","name","toLowerCase","trim","continuousIncludes","onClickOutside","required","state","onSelect","isActive","onCancel","selectedId","onChange","defaultValue","currentSelection","input","check","isMultiSelect","isSelected","Object","keys","length","errored","getInput","focus","values","clean","e","preventDefault","stopPropagation","remove","_objectSpread","event","target","onFilterInputChange","that","focused","randomId","getRandomId","data","getSelected","isFunction","addEventListener","DOCUMENT","listener","contains","form","submitButton","querySelector","formSubmitListener","prevProps","prevState","snapshot","removeEventListener","childComponent","childProps","withArrow","withFilter","withReset","inputLabel","selectedMode","className","scrollToValue","scroll","inlineSelected","removeIcon","selectedComponent","UNDEFINED","labels","selectedIds","hasSelected","setActive","list","scrollTo","toggle","isInline","dataFiltered","suggestion","filterFunction","classNames","ref","React","createElement","getLabel","filterCheck","keyCode","prev","next","reset","blur","PureComponent","propTypes","PropTypes","oneOf","defaultProps"],"mappings":";;;;;;;;;;;AAyBO,IAAMA,YAAY,GAAG,UAArB;AACA,IAAMC,WAAW,GAAG,SAApB;AACA,IAAMC,oBAAoB,GAAG,kBAA7B;AACA,IAAMC,kBAAkB,GAAG,gBAA3B;AACA,IAAMC,aAAa,GAAG,WAAtB;AACA,IAAMC,kBAAkB,GAAG,gBAA3B;AACA,IAAMC,SAAS,GAAG,OAAlB;AACA,IAAMC,yBAAyB,GAAG,uBAAlC;AAGP,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAwC,IAAA,EAAA;AAAA,EAAtCC,IAAAA,EAAsC,QAAtCA,EAAsC;AAAA,MAAlCC,KAAkC,QAAlCA,KAAkC;AAAA,MAA3BC,YAA2B,QAA3BA,YAA2B;AAAA,MAAbC,OAAa,QAAbA,OAAa,CAAA;AACvDC,EAAAA,MAAM,CAACF,YAAD,CAAN,CAAqBD,KAAK,IAAID,EAA9B,CAAA,CAAA;AACA,EAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAd,YAAA;AAA8B,IAAA,OAAO,EAAEG,OAAAA;AAAvC,GAAiDF,EAAAA,KAAK,IAAID,EAA1D,CAAP,CAAA;AACH,CAHD,CAAA;AAKA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAW;AAC/B,EAAA,IAAIC,MAAJ,CAAA;AACA,EAAID,IAAAA,KAAK,IAAI,IAAb,EAAmB;AACf,IAAA,IAAIE,KAAK,CAACC,OAAN,CAAcH,KAAd,CAAJ,EACIC,MAAM,GAAGD,KAAK,CAACI,MAAN,CAAa,UAACC,GAAD,EAAMC,GAAN,EAAc;AAChCD,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWA,GAAX,CAAA;AACA,MAAA,OAAOD,GAAP,CAAA;AACH,KAHQ,EAGN,EAHM,CAAT,CADJ,KAKK,IAAIE,QAAQ,CAACP,KAAD,CAAZ,EACDC,MAAM,GAAGD,KAAT,CADC,KAEA,IAAIA,KAAJ,EACDC,MAAM,GAAKD,eAAAA,CAAAA,EAAAA,EAAAA,KAAL,EAAaA,KAAb,CAAN,CADC,KAGDC,MAAM,GAAG,EAAT,CAAA;AACP,GAZD,MAYO;AACHA,IAAAA,MAAM,GAAG,EAAT,CAAA;AACH,GAAA;AACD,EAAA,OAAOA,MAAP,CAAA;AACH,CAlBD,CAAA;AAoBA,IAAMO,UAAU,GAAG,SAAbA,UAAa,CAACC,EAAD,EAAKC,GAAL,EAAa;AAC5B,EAAID,IAAAA,EAAE,IAAI,IAAV,EAAgB;AACZ,IAAA,IAAME,OAAO,GAAGF,EAAE,CAACE,OAAnB,CAAA;AACA,IAAIA,IAAAA,OAAO,IAAIA,OAAO,CAACC,WAAR,OAA0BF,GAAG,CAACE,WAAJ,EAAzC,EAA4D;AACxD,MAAA,OAAOH,EAAP,CAAA;AACH,KAFD,MAEO;AACH,MAAA,OAAOD,UAAU,CAACC,EAAE,CAACI,UAAJ,EAAgBH,GAAhB,CAAjB,CAAA;AACH,KAAA;AACJ,GAAA;AACD,EAAA,OAAO,IAAP,CAAA;AACH,CAVD,CAAA;AAYA,SAASI,gBAAT,CAA0BC,IAA1B,EAAgC;AAC5B,EAAA,OAAOA,IAAI,KAAK1B,aAAT,IAA0B0B,IAAI,KAAK3B,kBAAnC,IAAyD2B,IAAI,KAAK5B,oBAAlE,IAA0F4B,IAAI,KAAKzB,kBAAnG,IAAyHyB,IAAI,KAAKvB,yBAAzI,CAAA;AACH,CAAA;IAEKwB;;;AAMF,EAAA,SAAA,kBAAA,CAAYC,KAAZ,EAAmB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,CAAA;AACf,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,KAAN,CAAA,CAAA;AADe,IAuCnBC,KAAAA,CAAAA,YAvCmB,GAuCJ,UAAoD,KAAA,EAAA,KAAA,EAAA;AAAA,MAAlDlB,IAAAA,KAAkD,SAAlDA,KAAkD;AAAA,UAA3Ce,IAA2C,SAA3CA,IAA2C;AAAA,UAArCI,WAAqC,SAArCA,WAAqC,CAAA;AAAA,MAAA,IAAA,iBAAA,GAAA,KAAA,CAAtBC,WAAsB;AAAA,UAAtBA,WAAsB,kCAAR,EAAQ,GAAA,iBAAA,CAAA;AAC/D,MAAA,KAAA,CAAKC,QAAL,CAAc;AACVC,QAAAA,QAAQ,EAAEvB,eAAe,CAACC,KAAD,CADf;AAEVoB,QAAAA,WAAW,EAAED,WAAW,IAAII,QAAQ,CAACvB,KAAD,CAAvB,IAAkC,CAACc,gBAAgB,CAACC,IAAD,CAAnD,GAA4Df,KAA5D,GAAoEoB,WAAAA;AAFvE,OAAd,CAAA,CAAA;AAIH,KA5CkB,CAAA;AAAA,IA8DnBI,KAAAA,CAAAA,YA9DmB,GA8DJC,IAAI,CAAC,UAACC,SAAD,EAAYN,WAAZ,EAAyBO,kBAAzB,EAA6CC,MAA7C,EAAA;AAAA,MAAwD,OAAA,UAAAC,EAAE,EAAI;AAC1E,QAAA,IAAI,CAACA,EAAL,EAAS,OAAO,KAAP,CAAA;AACT,QAAIH,IAAAA,SAAS,IAAI,CAACA,SAAS,CAACG,EAAD,CAA3B,EAAiC,OAAO,KAAP,CAAA;AACjC,QAAA,IAAI,CAACT,WAAL,EAAkB,OAAO,IAAP,CAAA;AAElB,QAAIQ,IAAAA,MAAJ,EAAY,OAAOA,MAAM,CAACC,EAAD,EAAKF,kBAAL,CAAb,CAAA;AAEZ,QAAI3B,IAAAA,KAAK,GAAG,CAACuB,QAAQ,CAACM,EAAD,CAAR,GAAeA,EAAf,GAAqBA,EAAE,CAACC,IAAH,IAAWD,EAAE,CAAClC,KAAd,IAAuB,EAA7C,EAAkDoC,WAAlD,EAAgEC,CAAAA,IAAhE,EAAZ,CAAA;AACA,QAAA,OAAOC,kBAAkB,CAACjC,KAAD,EAAQ2B,kBAAR,CAAzB,CAAA;AACH,OATe,CAAA;AAAA,KAAD,CA9DA,CAAA;AAAA,IAkRnBO,KAAAA,CAAAA,cAlRmB,GAkRF,YAAM;AACnB,MAAA,IAAA,WAAA,GAAgC,MAAKjB,KAArC;AAAA,UAAOE,WAAP,eAAOA,WAAP;AAAA,UAAoBgB,QAApB,eAAoBA,QAApB,CAAA;AACA,MAAA,IAAOf,WAAP,GAAsB,KAAKgB,CAAAA,KAA3B,CAAOhB,WAAP,CAAA;AACA,MAAID,IAAAA,WAAW,KAAK,CAAC,CAACC,WAAF,IAAiB,CAACe,QAAvB,CAAf,EAAiD;AAC7C,QAAA,KAAA,CAAKE,QAAL,EAAA,CAAA;AACH,OAAA;AAED,MAAA,KAAA,CAAKhB,QAAL,CAAc;AAACiB,QAAAA,QAAQ,EAAE,KAAA;AAAX,OAAd,CAAA,CAAA;AAEA,MAAA,KAAA,CAAKC,QAAL,EAAA,CAAA;AACH,KA5RkB,CAAA;AAAA,IA8RnBA,KAAAA,CAAAA,QA9RmB,GA8RR,YAAM;AACbzC,MAAAA,MAAM,CAAC,KAAA,CAAKmB,KAAL,CAAWsB,QAAZ,CAAN,EAAA,CAAA;AACH,KAhSkB,CAAA;AAAA,IAAA,KAAA,CAkSnBF,QAlSmB,GAkSR,UAACG,UAAD,EAAgB;AACvB,MAAA,IAAA,YAAA,GAAiF,MAAKvB,KAAtF;AAAA,UAAOF,IAAP,gBAAOA,IAAP;AAAA,UAAaoB,QAAb,gBAAaA,QAAb;AAAA,UAAuBhB,WAAvB,gBAAuBA,WAAvB;AAAA,UAAoCkB,QAApC,gBAAoCA,QAApC;AAAA,UAA8CI,QAA9C,gBAA8CA,QAA9C;AAAA,UAAiEC,YAAjE,GAAA,YAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,IAAA,WAAA,GAAkD,MAAKN,KAAvD;AAAA,UAAOhB,WAAP,eAAOA,WAAP;AAAA,UAA8BuB,gBAA9B,eAAoBrB,QAApB,CAAA;AAEA,MAAA,IAAIkB,UAAU,IAAI,IAAd,KAAuB,CAAC,CAACpB,WAAF,IAAiB,CAACe,QAAzC,CAAsDhB,IAAAA,WAAtD,KAAsE,CAAC,KAAA,CAAKyB,KAAN,IAAe,CAAC,KAAA,CAAKA,KAAL,CAAWC,KAAX,EAAtF,CAAJ,EACIL,UAAU,GAAGpB,WAAW,CAACY,IAAZ,EAAb,CAAA;AAEJ,MAAA,IAAMc,aAAa,GAAGhC,gBAAgB,CAACC,IAAD,CAAtC,CAAA;AAEA,MAAA,IAAI,CAACyB,UAAD,IAAeM,aAAnB,EAAkC;AAC9BN,QAAAA,UAAU,GAAG,IAAb,CAAA;AACH,OAXsB;AAevB,MAAA,IAAMO,UAAU,GAAGP,UAAU,IAAI,IAAjC,CAAA;AAEA,MAAIlB,IAAAA,QAAQ,GAAOqB,cAAAA,CAAAA,EAAAA,EAAAA,gBAAP,CAAZ,CAAA;AACA,MAAIrB,IAAAA,QAAQ,CAACkB,UAAD,CAAR,KAAyBE,YAAY,IAAII,aAAzC,CAAJ,EAA6D;AACzD,QAAOxB,OAAAA,QAAQ,CAACkB,UAAD,CAAf,CAAA;AACA,QAAA,IAAIE,YAAY,IAAIM,MAAM,CAACC,IAAP,CAAY3B,QAAZ,CAAA,CAAsB4B,MAAtB,KAAiC,CAArD,EACI5B,QAAQ,CAACoB,YAAD,CAAR,GAAyBA,YAAzB,CAAA;AACP,OAJD,MAIO,IAAIK,UAAU,IAAKD,aAAnB,EAAmC;AACtCxB,QAAAA,QAAQ,CAACkB,UAAD,CAAR,GAAuBA,UAAvB,CAAA;AACH,OAFM,MAEA,IAAIO,UAAJ,EAAgB;AACnBzB,QAAAA,QAAQ,GAAA,eAAA,CAAA,EAAA,EAAKkB,UAAL,EAAkBA,UAAlB,CAAR,CAAA;AACH,OAAA;AAED,MAAMW,IAAAA,OAAO,GAAGhB,QAAQ,IAAIa,MAAM,CAACC,IAAP,CAAY3B,QAAZ,CAAA,KAA0B,CAAtD,CAAA;AAEA,MAAMgB,IAAAA,QAAQ,GAAGvB,IAAI,KAAKvB,yBAAT,IAAuCsD,aAAa,IAAIC,UAAzE,CAAA;AAEA,MAAA,KAAA,CAAK1B,QAAL,CAAc;AACViB,QAAAA,QAAQ,EAAEA,QADA;AAEVhB,QAAAA,QAAQ,EAAEA,QAFA;AAGVF,QAAAA,WAAW,EAAE0B,aAAa,GAAG,EAAH,GAAS3B,WAAW,GAAGqB,UAAU,IAAI,EAAjB,GAAsB,EAH1D;AAIVW,QAAAA,OAAO,EAAPA,OAAAA;AAJU,OAAd,CAAA,CAAA;AAOA,MAAIb,IAAAA,QAAQ,IAAI,KAAA,CAAKM,KAArB,EACI,MAAKA,KAAL,CAAWQ,QAAX,EAAA,CAAsBC,KAAtB,EAAA,CAAA;AAEJvD,MAAAA,MAAM,CAACuC,QAAD,CAAN,CAAiBG,UAAjB,CAAA,CAAA;AACA1C,MAAAA,MAAM,CAAC2C,QAAD,CAAN,CAAiBO,MAAM,CAACM,MAAP,CAAchC,QAAd,CAAjB,CAAA,CAAA;AACH,KA9UkB,CAAA;AAAA,IAAA,KAAA,CAgVnBiC,KAhVmB,GAgVX,UAACC,CAAD,EAAO;AACXC,MAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACAE,MAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AAEA,MAAA,KAAA,CAAKnC,QAAL,CAAc;AACViB,QAAAA,QAAQ,EAAE,KADA;AAEVhB,QAAAA,QAAQ,EAAE,EAFA;AAGVF,QAAAA,WAAW,EAAE,EAAA;AAHH,OAAd,CAAA,CAAA;AAMAtB,MAAAA,MAAM,CAAC,KAAKmB,CAAAA,KAAL,CAAWoB,QAAZ,CAAN,CAA4B,IAA5B,CAAA,CAAA;AACAvC,MAAAA,MAAM,CAAC,KAAKmB,CAAAA,KAAL,CAAWwB,QAAZ,CAAN,CAA4B,EAA5B,CAAA,CAAA;AAEA,MAAA,KAAA,CAAKvB,YAAL,CAAkB,KAAA,CAAKD,KAAvB,EAA8B,MAAKmB,KAAnC,CAAA,CAAA;AACH,KA9VkB,CAAA;AAAA,IAAA,KAAA,CAgWnBuB,MAhWmB,GAgWV,UAACjE,EAAD,EAAQ;AACb,MAAIO,IAAAA,MAAM,GACH2D,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,KAAA,CAAKxB,KADF,CAAA,EAAA,EAAA,EAAA;AAENd,QAAAA,QAAQ,EAAMsC,cAAA,CAAA,EAAA,EAAA,KAAA,CAAKxB,KAAL,CAAWd,QAAjB,CAFF;AAGNF,QAAAA,WAAW,EAAE,EAAA;AAHP,OAAV,CAAA,CAAA;AAKA,MAAA,OAAOnB,MAAM,CAACqB,QAAP,CAAgB5B,EAAhB,CAAP,CAAA;AACA,MAAK2B,KAAAA,CAAAA,QAAL,CAAcpB,MAAd,CAAA,CAAA;AACAH,MAAAA,MAAM,CAAC,KAAKmB,CAAAA,KAAL,CAAWwB,QAAZ,CAAN,CAA4BO,MAAM,CAACM,MAAP,CAAcrD,MAAM,CAACqB,QAArB,CAA5B,CAAA,CAAA;AACH,KAzWkB,CAAA;AAAA,IAAA,KAAA,CA2WnBmB,QA3WmB,GA2WR,UAACoB,KAAD,EAAW;AAClB,MAAA,IAAM7D,KAAK,GAAG6D,KAAK,CAACC,MAAN,CAAa9D,KAA3B,CAAA;AACA,MAAA,KAAA,CAAKqB,QAAL,CAAc;AAACD,QAAAA,WAAW,EAAEpB,KAAAA;AAAd,OAAd,CAAA,CAAA;AACA,MAAKiB,KAAAA,CAAAA,KAAL,CAAW8C,mBAAX,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAK9C,KAAL,CAAW8C,mBAAX,CAAiC/D,KAAjC,CAAA,CAAA;AACH,KA/WkB,CAAA;AAEf,IAAA,IAAMgE,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AACAA,IAAAA,IAAI,CAAC5B,KAAL,GAAa;AACTd,MAAAA,QAAQ,EAAEvB,eAAe,CAACkB,KAAK,CAACjB,KAAP,CADhB;AAETsC,MAAAA,QAAQ,EAAE,CAAC,CAACrB,KAAK,CAACgD,OAAAA;AAFT,KAAb,CAAA;AAKAD,IAAAA,IAAI,CAACE,QAAL,GAAgBC,WAAW,CAAC,MAAD,CAA3B,CAAA;AAEA,IAAA,IAAOC,IAAP,GAA4BnD,KAA5B,CAAOmD,IAAP;AAAA,QAAaC,WAAb,GAA4BpD,KAA5B,CAAaoD,WAAb,CAAA;AACAC,IAAAA,UAAU,CAACF,IAAD,CAAV,IAAoBA,IAAI,CAAC,UAAAA,IAAI,EAAA;AAAA,MAAIJ,OAAAA,IAAI,CAAC3C,QAAL,CAAc;AAAC+C,QAAAA,IAAI,EAAJA,IAAAA;AAAD,OAAd,CAAJ,CAAA;AAAA,KAAL,CAAxB,CAAA;AAEAC,IAAAA,WAAW,IAAIA,WAAW,CAAC,YAAA;AAAA,MAAMrB,OAAAA,MAAM,CAACM,MAAP,CAAcU,IAAI,CAAC5B,KAAL,CAAWd,QAAzB,CAAN,CAAA;AAAA,KAAD,CAA1B,CAAA;AAbe,IAAA,OAAA,KAAA,CAAA;AAclB,GAAA;;;WAED,SAAoB,iBAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;AAChBiD,MAAAA,gBAAgB,CAACC,QAAD,EAAW,WAAX,EAAwB,IAAA,CAAKC,QAAL,GAAgB,UAACjB,CAAD,EAAO;AAC3D,QAAI,IAAA,MAAI,CAACpB,KAAL,CAAWE,QAAX,IAAuB,MAAI,CAAC7B,EAA5B,IAAkC,CAAC,MAAI,CAACA,EAAL,CAAQiE,QAAR,CAAiBlB,CAAC,CAACM,MAAnB,CAAvC,EAAmE;AAC/D,UAAA,MAAI,CAAC5B,cAAL,EAAA,CAAA;AACH,SAAA;AACJ,OAJe,CAAhB,CAAA;AAKA,MAAA,IAAI,IAAKjB,CAAAA,KAAL,CAAWkB,QAAf,EAAyB;AACrB,QAAMwC,IAAAA,IAAI,GAAGnE,UAAU,CAAC,IAAA,CAAKC,EAAL,CAAQI,UAAT,EAAqB,MAArB,CAAvB,CAAA;AACA,QAAA,IAAI8D,IAAJ,EAAU;AACNJ,UAAAA,gBAAgB,CAAC,IAAA,CAAKK,YAAL,GAAoBD,IAAI,CAACE,aAAL,CAAmB,qBAAnB,CAArB,EAAgE,OAAhE,EAAyE,IAAA,CAAKC,kBAAL,GAA0B,UAACtB,CAAD,EAAO;AACtH,YAAA,IAAML,OAAO,GAAGH,MAAM,CAACC,IAAP,CAAY,MAAI,CAACb,KAAL,CAAWd,QAAvB,CAAiC4B,CAAAA,MAAjC,KAA4C,CAA5D,CAAA;AACA,YAAA,MAAI,CAAC7B,QAAL,CAAc;AAAC8B,cAAAA,OAAO,EAAEA,OAAAA;AAAV,aAAd,CAAA,CAAA;AACH,WAHe,CAAhB,CAAA;AAIH,SAAA;AACJ,OAAA;AACD,MAAA,IAAA,CAAKjC,YAAL,CAAkB,IAAA,CAAKD,KAAvB,EAA8B,KAAKmB,KAAnC,CAAA,CAAA;AACH,KAAA;;;AAED,IAAA,KAAA,EAAA,SAAA,kBAAA,CAAmB2C,SAAnB,EAA8BC,SAA9B,EAAyCC,QAAzC,EAAmD;AAC/C,MAAA,IAAI,KAAKhE,KAAL,CAAWjB,KAAX,KAAqB+E,SAAS,CAAC/E,KAAnC,EACI,IAAA,CAAKkB,YAAL,CAAkB,IAAA,CAAKD,KAAvB,EAA8B,KAAKmB,KAAnC,CAAA,CAAA;AACP,KAAA;;;WASD,SAAuB,oBAAA,GAAA;AACnB8C,MAAAA,mBAAmB,CAACV,QAAD,EAAW,WAAX,EAAwB,IAAA,CAAKC,QAA7B,CAAnB,CAAA;AACAS,MAAAA,mBAAmB,CAAC,IAAKN,CAAAA,YAAN,EAAoB,OAApB,EAA6B,IAAKE,CAAAA,kBAAlC,CAAnB,CAAA;AACH,KAAA;;;WAyBD,SAAS,MAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;AACL,MAAA,IAAA,YAAA,GAmBI,KAAK7D,KAnBT;AAAA,UACIkE,cADJ,gBACIA,cADJ;AAAA,UAEIC,UAFJ,gBAEIA,UAFJ;AAAA,UAGIC,SAHJ,gBAGIA,SAHJ;AAAA,UAIIC,UAJJ,gBAIIA,UAJJ;AAAA,UAKIC,SALJ,gBAKIA,SALJ;AAAA,UAMI3D,MANJ,gBAMIA,MANJ;AAAA,UAOIjC,KAPJ,gBAOIA,KAPJ;AAAA,UAQI6F,UARJ,gBAQIA,UARJ;AAAA,UASIzE,IATJ,gBASIA,IATJ;AAAA,UAUI0E,YAVJ,gBAUIA,YAVJ;AAAA,UAWI/D,SAXJ,gBAWIA,SAXJ;AAAA,UAYIgE,SAZJ,gBAYIA,SAZJ;AAAA,UAaIC,aAbJ,gBAaIA,aAbJ;AAAA,UAcIC,MAdJ,gBAcIA,MAdJ;AAAA,UAeIzD,QAfJ,gBAeIA,QAfJ;AAAA,UAgBIhB,WAhBJ,gBAgBIA,WAhBJ;AAAA,UAiBI0E,cAjBJ,gBAiBIA,cAjBJ;AAAA,UAkBIC,UAlBJ,gBAkBIA,UAlBJ,CAAA;AAoBA,MAAMpG,IAAAA,EAAE,GAAG,IAAKuB,CAAAA,KAAL,CAAWvB,EAAX,IAAiB,KAAKwE,QAAjC,CAAA;AACA,MAAA,IAAM6B,iBAAiB,GAAG,IAAA,CAAK9E,KAAL,CAAW8E,iBAAX,IAAgCZ,cAA1D,CAAA;AACA,MAAA,IAAA,YAAA,GAAmD,KAAK/C,KAAxD;AAAA,UAAA,qBAAA,GAAA,YAAA,CAAOd,QAAP;AAAA,UAAOA,QAAP,sCAAkB,EAAlB,GAAA,qBAAA;AAAA,UAAA,qBAAA,GAAA,YAAA,CAAsBF,WAAtB;AAAA,UAAsBA,WAAtB,sCAAoC,EAApC,GAAA,qBAAA;AAAA,UAAwC+B,OAAxC,gBAAwCA,OAAxC,CAAA;AACA,MAAA,IAAKb,QAAL,GAAiB,IAAKF,CAAAA,KAAtB,CAAKE,QAAL,CAAA;AACA,MAAA,IAAI,KAAKrB,KAAL,CAAWqB,QAAX,KAAwB0D,SAA5B,EAAuC;AACnC1D,QAAAA,QAAQ,GAAG,IAAKrB,CAAAA,KAAL,CAAWqB,QAAtB,CAAA;AACH,OAAA;AACD,MAAA,IAAA,YAAA,GAA+B,KAAKrB,KAApC;AAAA,UAAA,iBAAA,GAAA,YAAA,CAAKmD,IAAL;AAAA,UAAKA,IAAL,kCAAY,EAAZ,GAAA,iBAAA;AAAA,UAAA,mBAAA,GAAA,YAAA,CAAgB6B,MAAhB;AAAA,UAAgBA,MAAhB,oCAAyB,EAAzB,GAAA,mBAAA,CAAA;AACA,MAAI,IAAA,IAAA,CAAK7D,KAAL,CAAWgC,IAAf,EACIA,IAAI,GAAG,IAAA,CAAKhC,KAAL,CAAWgC,IAAlB,CAAA;AAEJ,MAAI,IAAA,CAAClE,KAAK,CAACC,OAAN,CAAciE,IAAd,CAAL,EACIA,IAAI,GAAG,EAAP,CAAA;AAEJ,MAAA,IAAM8B,WAAW,GAAGlD,MAAM,CAACM,MAAP,CAAchC,QAAd,CAApB,CAAA;AACA,MAAA,IAAM6E,WAAW,GAAGD,WAAW,CAAChD,MAAZ,KAAuB,CAA3C,CAAA;AACA,MAAA,IAAMkD,SAAS,GAAG,SAAZA,SAAY,CAAC5C,CAAD,EAAO;AACrBE,QAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACA,QAAA,MAAI,CAACnC,QAAL,CAAc;AAACiB,UAAAA,QAAQ,EAAE,IAAA;AAAX,SAAd,EAAgC,YAAA;AAAA,UAAA,OAAOqD,aAAa,IAAIO,WAAW,CAAChD,MAAZ,GAAqB,CAAvC,IAA6C,MAAI,CAACmD,IAAL,CAAUC,QAAV,CAAmBJ,WAAW,CAAC,CAAD,CAA9B,CAAnD,CAAA;AAAA,SAAhC,CAAA,CAAA;AACH,OAHD,CAAA;AAIA,MAAA,IAAMK,MAAM,GAAG,SAATA,MAAS,CAAC/C,CAAD,EAAO;AAClB,QAAA,IAAI,CAAC,MAAI,CAACpB,KAAL,CAAWE,QAAhB,EAA0B;AACtB8D,UAAAA,SAAS,CAAC5C,CAAD,CAAT,CAAA;AACH,SAFD,MAEO;AACHE,UAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACA,UAAA,MAAI,CAACnC,QAAL,CAAc;AAACiB,YAAAA,QAAQ,EAAE,KAAA;AAAX,WAAd,CAAA,CAAA;AACH,SAAA;AACJ,OAPD,CAAA;AASA,MAAA,IAAMkE,QAAQ,GAAGzF,IAAI,KAAK7B,WAAT,IAAwB6B,IAAI,KAAK5B,oBAAjC,IAAyD4B,IAAI,KAAKvB,yBAAnF,CAAA;AACA,MAAA,IAAMmC,kBAAkB,GAAGP,WAAW,CAACY,IAAZ,EAA3B,CAAA;AACA,MAAMyE,IAAAA,YAAY,GAAGtF,WAAW,GAAIQ,CAAAA,kBAAJ,CAA2ByC,CAAAA,MAAAA,CAAAA,kBAAAA,CAAAA,IAAI,CAACxC,MAAL,CAAY,UAAA8E,UAAU,EAAA;AAAA,QAAIA,OAAAA,UAAU,KAAK/E,kBAAnB,CAAA;AAAA,OAAtB,CAA3B,KAA2FyC,IAA3H,CAAA;AAEA,MAAA,IAAMuC,cAAc,GAAG,IAAKnF,CAAAA,YAAL,CAAkBE,SAAlB,EAA6BN,WAA7B,EAA0CO,kBAAkB,CAACI,WAAnB,EAA1C,EAA4EH,MAA5E,CAAvB,CAAA;AACA,MACI,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,EAAE,EAAElC,EAAT;AACK,QAAA,SAAS,EAAEkH,UAAU,CACjB,oBADiB,EAEjB7F,IAFiB,EAGjBD,gBAAgB,CAACC,IAAD,CAAhB,IAA0B,OAHT,EAIjB2E,SAJiB,EAKjBJ,UAAU,GAAG,YAAH,GAAkB,eALX,EAMjBhD,QAAQ,IAAI,QANK,EAOjBa,OAAO,IAAI,SAPM,EAQjB0C,cAAc,IAAI,gBARD,EASjBM,WAAW,IAAI,aATE,CAD1B;AAYK,QAAA,GAAG,EAAEU,GAAG,CAAC,IAAD,EAAO,IAAP,CAAA;AAZb,OAAA,EAaKlH,KAAK,IAAI,kBAAA,CAAA,OAAA,EAAA;AAAO,QAAA,SAAS,EAAEiH,UAAU,CAAA,OAAA,EAAU,CAACT,WAAW,IAAI/E,WAAhB,KAAgC,QAA1C,EAAoD+E,WAAW,IAAI,aAAnE,CAA5B;AACO,QAAA,OAAO,EAAE,IAAA,GAAOzG,EADvB;AAEO,QAAA,OAAO,EAAE,SAAM,OAAA,GAAA;AACX,UAAA,IAAIqB,IAAI,KAAKvB,yBAAT,IAAsC,CAAC8C,QAA3C,EAAqD;AACjDiE,YAAAA,MAAM,EAAA,CAAA;AACT,WAAA;AACJ,SAAA;AANR,OAAA,EAQL5G,KARK,EASLwC,QAAQ,IAAI,IATP,EAULkD,SAAS,IAAI,kBAAA,CAAA,MAAA,EAAA;AAAM,QAAA,SAAS,EAAC,OAAA;AAAhB,OAAA,CAVR,CAbd,EA0BK,CAAC,CAAC/C,QAAD,IAAavB,IAAI,KAAK1B,aAAtB,IAAuC0B,IAAI,KAAK5B,oBAAhD,IAAwE4B,IAAI,KAAKvB,yBAAjF,IAA8GuB,IAAI,KAAK3B,kBAAvH,IAA6I,CAACkG,UAA/I,KAA8J,CAACO,cAA/J,IAAiLM,WAAjL,IACG,kBAAA,CAAA,KAAA,EAAA;AACI,QAAA,SAAS,EAAES,UAAU,CAAC,UAAD,EACjB,CAACjH,KAAD,IAAU,SADO,EAEjB,CAACoB,IAAI,KAAKzB,kBAAT,IAA+ByB,IAAI,KAAKxB,SAAxC,IAAqDwB,IAAI,KAAKvB,yBAA/D,KAA6F,WAF5E,EAGjBiG,YAHiB,CADzB;AAKI,QAAA,OAAO,EAAEc,MAAAA;AALb,OAOKd,EAAAA,YAAY,KAAK,MAAjB,IAA2BS,WAAW,CAAC7F,GAAZ,CAAgB,UAAAX,EAAE,EAAA;AAAA,QAC1C,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,OAAf;AAAuB,UAAA,GAAG,EAAEA,EAAAA;AAA5B,SAAA,EACKoH,KAAK,CAACC,aAAN,CAAoBhB,iBAApB,oCAA2CX,UAA3C,CAAA,EAAA,EAAA,EAAA;AAAuD1F,UAAAA,EAAE,EAAFA,EAAvD;AAA2DC,UAAAA,KAAK,EAAEqH,QAAQ,CAACf,MAAD,EAASvG,EAAT,CAA1E;AAAwFG,UAAAA,OAAO,EAAEuG,SAAAA;AAAjG,SAAA,CAAA,CADL,EAEI,kBAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,eAAf;AAA+B,UAAA,OAAO,EAAE,SAAA5C,OAAAA,CAAAA,CAAC,EAAI;AACzCE,YAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACA,YAAA,MAAI,CAACG,MAAL,CAAYjE,EAAZ,CAAA,CAAA;AACH,WAAA;AAHD,SAIKoG,EAAAA,UAJL,CAFJ,CAD0C,CAAA;AAAA,OAAlB,CAPhC,EAkBKL,YAAY,KAAK,QAAjB,IAA6BS,WAAW,CAAC7F,GAAZ,CAAgB,UAAAX,EAAE,EAAA;AAAA,QAC5C,OAAA,kBAAA,CAAC,KAAD,CAAO,QAAP,EAAA;AAAgB,UAAA,GAAG,EAAEA,EAAAA;AAArB,SAAA,EACKoH,KAAK,CAACC,aAAN,CAAoBhB,iBAApB,oCAA2CX,UAA3C,CAAA,EAAA,EAAA,EAAA;AAAuD1F,UAAAA,EAAE,EAAFA,EAAvD;AAA2DC,UAAAA,KAAK,EAAEqH,QAAQ,CAACf,MAAD,EAASvG,EAAT,CAA1E;AAAwFG,UAAAA,OAAO,EAAEuG,SAAAA;AAAjG,SAAA,CAAA,CADL,EAEK1G,EAAE,KAAKwG,WAAW,CAACA,WAAW,CAAChD,MAAZ,GAAqB,CAAtB,CAAlB,IAA8C,IAFnD,CAD4C,CAAA;AAAA,OAAlB,CAlBlC,EAwBK,CAACvD,KAAD,IAAU0F,SAAV,IAAuB,kBAAA,CAAA,MAAA,EAAA;AAAM,QAAA,SAAS,EAAC,OAAA;AAAhB,OAAA,CAxB5B,EAyBKE,SAAS,IAAI,kBAAA,CAAC,MAAD,EAAA;AAAQ,QAAA,SAAS,EAAC,OAAlB;AAA0B,QAAA,MAAM,EAAE,KAAlC;AAAyC,QAAA,OAAO,EAAE,IAAKhC,CAAAA,KAAAA;AAAvD,OAAA,EACTuC,UADS,CAzBlB,CA3BR,EA0DKD,cAAc,IAAIM,WAAlB,IAAiC,kBAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EAC7BV,YAAY,KAAK,MAAjB,IAA2BS,WAAW,CAAC7F,GAAZ,CAAgB,UAAAX,EAAE,EAAA;AAAA,QAC1C,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,OAAf;AAAuB,UAAA,GAAG,EAAEA,EAAAA;AAA5B,SAAA,EACKoH,KAAK,CAACC,aAAN,CAAoBhB,iBAApB,oCAA2CX,UAA3C,CAAA,EAAA,EAAA,EAAA;AAAuD1F,UAAAA,EAAE,EAAFA,EAAvD;AAA2DC,UAAAA,KAAK,EAAEqH,QAAQ,CAACf,MAAD,EAASvG,EAAT,CAA1E;AAAwFG,UAAAA,OAAO,EAAEuG,SAAAA;AAAjG,SAAA,CAAA,CADL,EAEI,kBAAA,CAAA,KAAA,EAAA;AAAK,UAAA,SAAS,EAAC,eAAf;AAA+B,UAAA,OAAO,EAAE,SAAA5C,OAAAA,CAAAA,CAAC,EAAI;AACzCE,YAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACA,YAAA,MAAI,CAACG,MAAL,CAAYjE,EAAZ,CAAA,CAAA;AACH,WAAA;AAHD,SAIKoG,EAAAA,UAJL,CAFJ,CAD0C,CAAA;AAAA,OAAlB,CADE,EAY7BL,YAAY,KAAK,QAAjB,IAA6BS,WAAW,CAAC7F,GAAZ,CAAgB,UAAAX,EAAE,EAAA;AAAA,QAC5C,OAAA,kBAAA,CAAC,KAAD,CAAO,QAAP,EAAA;AAAgB,UAAA,GAAG,EAAEA,EAAAA;AAArB,SAAA,EACKoH,KAAK,CAACC,aAAN,CAAoBhB,iBAApB,oCAA2CX,UAA3C,CAAA,EAAA,EAAA,EAAA;AAAuD1F,UAAAA,EAAE,EAAFA,EAAvD;AAA2DC,UAAAA,KAAK,EAAEqH,QAAQ,CAACf,MAAD,EAASvG,EAAT,CAA1E;AAAwFG,UAAAA,OAAO,EAAEuG,SAAAA;AAAjG,SAAA,CAAA,CADL,EAEK1G,EAAE,KAAKwG,WAAW,CAACA,WAAW,CAAChD,MAAZ,GAAqB,CAAtB,CAAlB,IAA8C,IAFnD,CAD4C,CAAA;AAAA,OAAlB,CAZA,CA1DtC,EA8EK,CAACZ,QAAQ,IAAK,CAAC6D,WAAD,IAAgBpF,IAAI,KAAKvB,yBAAtC,IAAoEuB,IAAI,KAAK1B,aAA7E,IAA+F0B,IAAI,KAAK3B,kBAAT,IAA+B8G,WAAW,CAAChD,MAAZ,GAAqB,CAAnJ,IAAyJnC,IAAI,KAAK5B,oBAAnK,KACG,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAd,OAAA;AAAyB,QAAYiC,YAAAA,EAAAA,WAAAA;AAArC,OACKkE,EAAAA,UAAU,IAAI,kBAAA,CAAC,SAAD,EAAA;AAAW,QAAA,YAAY,EAAC,cAAxB;AAAuC,QAAA,EAAE,EAAE,IAAA,GAAO5F,EAAlD;AACW,QAAA,GAAG,EAAEmH,GAAG,CAAC,OAAD,EAAU,IAAV,CADnB;AAEW,QAAA,OAAO,EAAEvE,QAFpB;AAGW,QAAA,KAAK,EAAElB,WAHlB;AAIW,QAAA,KAAK,EAAEoE,UAJlB;AAKW,QAAA,QAAQ,EAAE,IAAA,CAAK/C,QAL1B;AAMW,QAAA,OAAO,EAAE,SAAA,OAAA,CAAAe,CAAC,EAAA;AAAA,UAAI,OAAA,MAAI,CAACnC,QAAL,CAAc;AAACiB,YAAAA,QAAQ,EAAE,IAAA;AAAX,WAAd,CAAJ,CAAA;AAAA,SANrB;AAOW,QAAA,KAAK,EAAE,IAAKrB,CAAAA,KAAL,CAAWgG,WAP7B;AAQW,QAAA,SAAS,EAAE,SAAAzD,SAAAA,CAAAA,CAAC,EAAI;AACZ,UAAA,IAAM0D,OAAO,GAAG1D,CAAC,CAAC0D,OAAlB,CAAA;AACA,UAAA,IAAIA,OAAO,KAAK,EAAA;AAAhB,YAA0B;AACtBzD,YAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACA,YAAA,MAAI,CAAC2D,IAAL,EAAA,CAAA;AACH,WAHD,MAGO,IAAID,OAAO,KAAK,EAAA;AAAhB,YAA4B;AAC/BzD,YAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACA,YAAA,MAAI,CAAC4D,IAAL,EAAA,CAAA;AACH,WAHM,MAGA,IAAIF,OAAO,KAAK,EAAA;AAAhB,YAA6B;AAChCzD,YAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACA,YAAA,MAAI,CAACnB,QAAL,CAAc,MAAI,CAACgC,WAAL,EAAd,CAAA,CAAA;AACH,WAHM,MAGA,IAAI6C,OAAO,KAAK,CAAA;AAAhB,YAA0B;AAC7B,YAAA,MAAI,CAAC7E,QAAL,CAAc,MAAI,CAACgC,WAAL,EAAd,CAAA,CAAA;AACH,WAFM,MAEA,IAAI6C,OAAO,KAAK,CAAA;AAAhB,YAAgC;AACnC,YAAA,IAAI,CAAC9F,WAAD,IAAiB8E,WAAW,CAAChD,MAAZ,KAAuB,CAAxC,IAA8CpC,gBAAgB,CAACC,IAAD,CAAlE,EAA0E;AACtE,cAAA,MAAI,CAAC4C,MAAL,CAAYuC,WAAW,CAACA,WAAW,CAAChD,MAAZ,GAAqB,CAAtB,CAAvB,CAAA,CAAA;AACH,aAAA;AACD,YAAA,MAAI,CAACmE,KAAL,EAAA,CAAA;AACH,WALM,MAKA,IAAIH,OAAO,KAAK,EAAA;AAAhB,YAA8B;AACjC,YAAA,MAAI,CAACG,KAAL,EAAA,CAAA;AACH,WAFM,MAEA,IAAIH,OAAO,KAAK,EAAA;AAAhB,YAA2B;AAC9B,YAAA,MAAI,CAAC7F,QAAL,CAAc;AACViB,cAAAA,QAAQ,EAAE,KADA;AAEVlB,cAAAA,WAAW,EAAEN,gBAAgB,CAACC,IAAD,CAAhB,GAAyB,EAAzB,GAA+BI,WAAW,GAAGC,WAAH,GAAiB,EAAA;AAF9D,aAAd,CAAA,CAAA;AAIA,YAAA,MAAI,CAACwB,KAAL,CAAWQ,QAAX,GAAsBkE,IAAtB,EAAA,CAAA;AACA,YAAA,MAAI,CAAC/E,QAAL,EAAA,CAAA;AACH,WA3BW;AA6Bf,SAAA;AArCZ,OAAA,CADnB,EAwCK,CAAC+C,UAAD,IAAeE,UAAf,IAA6B,kBAAQA,CAAAA,OAAAA,EAAAA,IAAAA,EAAAA,UAAR,CAxClC,CA/ER,EA2HI,kBAAA,CAAC,YAAD,EAAA;AAAc,QAAA,SAAS,EAAEoB,UAAU,CAACtE,QAAQ,IAAI,SAAb,CAAnC;AACc,QAAA,GAAG,EAAEuE,GAAG,CAAC,MAAD,EAAS,IAAT,CADtB;AAEc,QAAA,MAAM,EAAEF,cAFtB;AAGc,QAAA,YAAY,EAAE,CAACxF,WAH7B;AAIc,QAAA,MAAM,EAAEyE,MAJtB;AAKc,QAAA,MAAM,EAAEY,QALtB;AAMc,QAAA,YAAY,EAAEK,GAAG,CAAC,MAAD,EAAS,IAAT,CAN/B;AAOc,QAAA,YAAY,EAAEA,GAAG,CAAC,MAAD,EAAS,IAAT,CAP/B;AAQc,QAAA,gBAAgB,EAAEA,GAAG,CAAC,aAAD,EAAgB,IAAhB,CARnC;AASc,QAAA,aAAa,EAAEA,GAAG,CAAC,OAAD,EAAU,IAAV,CAThC;AAUc,QAAA,QAAQ,EAAE,IAAA,CAAKxE,QAV7B;AAWc,QAAA,QAAQ,EAAEf,QAXxB;AAYc,QAAA,cAAc,EAAE6D,cAZ9B;AAac,QAAA,UAAU,EAAEC,UAb1B;AAcc,QAAA,IAAI,EAAEqB,YAdpB;AAec,QAAA,MAAM,EAAER,MAAAA;AAftB,OAAA,CA3HJ,CADJ,CAAA;AA+IH,KAAA;;;EAtR4BsB;AAA3BvG,mBAEKwG,YAAY;AACfzG,EAAAA,IAAI,EAAE0G,SAAS,CAACC,KAAV,CAAgB,CAACzI,YAAD,EAAeC,WAAf,EAA4BG,aAA5B,EAA2CD,kBAA3C,EAA+DE,kBAA/D,EAAmFE,yBAAnF,EAA8GL,oBAA9G,EAAoII,SAApI,CAAhB,CAAA;AADS;AAFjByB,mBAyDK2G,eAAe;AAClBxC,EAAAA,cAAc,EAAE1F,UADE;AAElB4F,EAAAA,SAAS,EAAE,IAFO;AAGlBC,EAAAA,UAAU,EAAE,IAHM;AAIlBC,EAAAA,SAAS,EAAE,KAJO;AAKlBI,EAAAA,aAAa,EAAE,KALG;AAMlB5E,EAAAA,IAAI,EAAE9B,YANY;AAOlBwG,EAAAA,YAAY,EAAE,MAPI;AAQlBK,EAAAA,UAAU,EAAE,kBAAA,CAAC,YAAD,EAAA;AAAc,IAAA,IAAI,EAAC,OAAA;AAAnB,GAAA,CAAA;AARM;AA+T1B,2BAAe9E,kBAAf;;;;"}
|
package/Button.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
|
-
import {
|
|
4
|
+
import { classNames, createRef, DOCUMENT, addEventListener, orNoop } from './Tools.js';
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { stateGS, render, props, PureComponent } from './ReactConstants.js';
|
|
7
7
|
|
|
@@ -70,7 +70,7 @@ var Button = function (_PureComponent) {
|
|
|
70
70
|
};
|
|
71
71
|
return _this;
|
|
72
72
|
}
|
|
73
|
-
return Button;
|
|
73
|
+
return _createClass(Button);
|
|
74
74
|
}(PureComponent);
|
|
75
75
|
if (process.env.NODE_ENV !== 'production') {
|
|
76
76
|
Button.propTypes = {
|
package/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../src/react-ui-basics/Button.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Button.css'\nimport {classNames, DOCUMENT, addEventListener, createRef, orNoop} from \"./Tools\";\nimport PropTypes from \"prop-types\";\nimport {PureComponent, render, stateGS, props} from \"./ReactConstants\";\n\nclass Button extends PureComponent {\n constructor(properties) {\n super(properties);\n\n const that = this;\n that.state = {};\n\n const el = createRef();\n const ripple = createRef();\n\n const rippleClassName = stateGS(that);\n\n const onMouseDown = (e) => {\n if (!this.props.withRipple) return;\n\n const rect = el().getBoundingClientRect();\n const rippleElement = ripple();\n const style = rippleElement.style;\n const body = DOCUMENT.body;\n\n style.height = style.width = Math.max(rect.width, rect.height) + 'px';\n style.top = (e.pageY - rect.top - rippleElement.offsetHeight / 2 - body.scrollTop) + 'px';\n style.left = (e.pageX - rect.left - rippleElement.offsetWidth / 2 - body.scrollLeft) + 'px';\n\n rippleClassName('show');\n\n addEventListener(rippleElement, 'animationend', () => {\n rippleClassName('showed');\n });\n };\n\n const onFocus = e => {\n orNoop(props(that).onFocus)(e)\n if (rippleClassName() === 'show')\n return\n\n const rect = el().getBoundingClientRect();\n const style = ripple().style;\n\n let size = Math.max(rect.width, rect.height) * 0.8\n style.height = style.width = size + 'px';\n style.top = (rect.height / 2 - size / 2) + 'px';\n style.left = (rect.width / 2 - size / 2) + 'px';\n\n rippleClassName('focused');\n }\n\n that[render] = () => {\n const {children, type, className, onClick, flat, raised = !flat, round, style, disabled} = props(that);\n return (\n <button className={classNames('Button',\n className,\n disabled && 'disabled',\n raised && 'raised',\n flat && 'flat',\n round && 'round')\n }\n onFocus={onFocus}\n disabled={disabled}\n style={style}\n type={type}\n onClick={onClick}\n onMouseDown={onMouseDown}\n ref={el}>\n {children}\n <span className={classNames(`ripple`, rippleClassName())} ref={ripple}/>\n </button>\n );\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Button.propTypes = {\n flat: PropTypes.bool,\n raised: PropTypes.bool,\n round: PropTypes.bool,\n disabled: PropTypes.bool,\n withRipple: PropTypes.bool,\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\n className: PropTypes.string,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n style: PropTypes.object,\n };\n}\n\nButton.defaultProps = {\n type: 'button',\n withRipple: true,\n};\n\nexport default Button;"],"names":["Button","properties","that","state","el","createRef","ripple","rippleClassName","stateGS","onMouseDown","e","props","withRipple","rect","getBoundingClientRect","rippleElement","style","body","DOCUMENT","height","width","Math","max","top","pageY","offsetHeight","scrollTop","left","pageX","offsetWidth","scrollLeft","addEventListener","onFocus","orNoop","size","render","children","type","className","onClick","flat","raised","round","disabled","classNames","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","bool","oneOf","string","func","object","defaultProps"],"mappings":";;;;;;;IAOMA;;;AACF,
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../src/react-ui-basics/Button.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Button.css'\nimport {classNames, DOCUMENT, addEventListener, createRef, orNoop} from \"./Tools\";\nimport PropTypes from \"prop-types\";\nimport {PureComponent, render, stateGS, props} from \"./ReactConstants\";\n\nclass Button extends PureComponent {\n constructor(properties) {\n super(properties);\n\n const that = this;\n that.state = {};\n\n const el = createRef();\n const ripple = createRef();\n\n const rippleClassName = stateGS(that);\n\n const onMouseDown = (e) => {\n if (!this.props.withRipple) return;\n\n const rect = el().getBoundingClientRect();\n const rippleElement = ripple();\n const style = rippleElement.style;\n const body = DOCUMENT.body;\n\n style.height = style.width = Math.max(rect.width, rect.height) + 'px';\n style.top = (e.pageY - rect.top - rippleElement.offsetHeight / 2 - body.scrollTop) + 'px';\n style.left = (e.pageX - rect.left - rippleElement.offsetWidth / 2 - body.scrollLeft) + 'px';\n\n rippleClassName('show');\n\n addEventListener(rippleElement, 'animationend', () => {\n rippleClassName('showed');\n });\n };\n\n const onFocus = e => {\n orNoop(props(that).onFocus)(e)\n if (rippleClassName() === 'show')\n return\n\n const rect = el().getBoundingClientRect();\n const style = ripple().style;\n\n let size = Math.max(rect.width, rect.height) * 0.8\n style.height = style.width = size + 'px';\n style.top = (rect.height / 2 - size / 2) + 'px';\n style.left = (rect.width / 2 - size / 2) + 'px';\n\n rippleClassName('focused');\n }\n\n that[render] = () => {\n const {children, type, className, onClick, flat, raised = !flat, round, style, disabled} = props(that);\n return (\n <button className={classNames('Button',\n className,\n disabled && 'disabled',\n raised && 'raised',\n flat && 'flat',\n round && 'round')\n }\n onFocus={onFocus}\n disabled={disabled}\n style={style}\n type={type}\n onClick={onClick}\n onMouseDown={onMouseDown}\n ref={el}>\n {children}\n <span className={classNames(`ripple`, rippleClassName())} ref={ripple}/>\n </button>\n );\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Button.propTypes = {\n flat: PropTypes.bool,\n raised: PropTypes.bool,\n round: PropTypes.bool,\n disabled: PropTypes.bool,\n withRipple: PropTypes.bool,\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\n className: PropTypes.string,\n onClick: PropTypes.func,\n onFocus: PropTypes.func,\n style: PropTypes.object,\n };\n}\n\nButton.defaultProps = {\n type: 'button',\n withRipple: true,\n};\n\nexport default Button;"],"names":["Button","properties","that","state","el","createRef","ripple","rippleClassName","stateGS","onMouseDown","e","props","withRipple","rect","getBoundingClientRect","rippleElement","style","body","DOCUMENT","height","width","Math","max","top","pageY","offsetHeight","scrollTop","left","pageX","offsetWidth","scrollLeft","addEventListener","onFocus","orNoop","size","render","children","type","className","onClick","flat","raised","round","disabled","classNames","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","bool","oneOf","string","func","object","defaultProps"],"mappings":"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"}
|
package/Checkbox.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
1
|
+
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
|
-
import {
|
|
4
|
+
import { classNames, getRandomId } from './Tools.js';
|
|
5
5
|
import { propsGetter, render, PureComponent } from './ReactConstants.js';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
7
|
|
|
@@ -38,7 +38,7 @@ var Checkbox = function (_PureComponent) {
|
|
|
38
38
|
};
|
|
39
39
|
return _this;
|
|
40
40
|
}
|
|
41
|
-
return Checkbox;
|
|
41
|
+
return _createClass(Checkbox);
|
|
42
42
|
}(PureComponent);
|
|
43
43
|
if (process.env.NODE_ENV !== 'production') {
|
|
44
44
|
Checkbox.propTypes = {
|
package/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["../src/react-ui-basics/Checkbox.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Checkbox.css'\nimport {classNames, getRandomId} from \"./Tools\";\nimport {PureComponent, render, propsGetter} from \"./ReactConstants\";\nimport PropTypes from \"prop-types\";\n\nclass Checkbox extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const randomId = getRandomId('cb-');\n const props = propsGetter(this);\n\n this[render] = () => {\n const {label, name, onChange, value, className, disabled} = props();\n const id = props().id || randomId;\n return (\n <div className={classNames(\"Checkbox\", className)}>\n <input name={name} id={id} type=\"checkbox\" onChange={onChange} checked={value} disabled={disabled}/>\n <label htmlFor={id}>{label}</label>\n </div>\n )\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Checkbox.propTypes = {\n onChange: PropTypes.func.isRequired,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n name: PropTypes.string,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n };\n}\n\nexport default Checkbox"],"names":["Checkbox","properties","randomId","getRandomId","props","propsGetter","render","label","name","onChange","value","className","disabled","id","classNames","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","func","isRequired","bool","string","oneOfType","element","number"],"mappings":";;;;;;;IAOMA;;;AAEF,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../src/react-ui-basics/Checkbox.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Checkbox.css'\nimport {classNames, getRandomId} from \"./Tools\";\nimport {PureComponent, render, propsGetter} from \"./ReactConstants\";\nimport PropTypes from \"prop-types\";\n\nclass Checkbox extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const randomId = getRandomId('cb-');\n const props = propsGetter(this);\n\n this[render] = () => {\n const {label, name, onChange, value, className, disabled} = props();\n const id = props().id || randomId;\n return (\n <div className={classNames(\"Checkbox\", className)}>\n <input name={name} id={id} type=\"checkbox\" onChange={onChange} checked={value} disabled={disabled}/>\n <label htmlFor={id}>{label}</label>\n </div>\n )\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Checkbox.propTypes = {\n onChange: PropTypes.func.isRequired,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n name: PropTypes.string,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n };\n}\n\nexport default Checkbox"],"names":["Checkbox","properties","randomId","getRandomId","props","propsGetter","render","label","name","onChange","value","className","disabled","id","classNames","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","func","isRequired","bool","string","oneOfType","element","number"],"mappings":";;;;;;;IAOMA;;;AAEF,EAAA,SAAA,QAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMC,QAAQ,GAAGC,WAAW,CAAC,KAAD,CAA5B,CAAA;AACA,IAAMC,IAAAA,KAAK,GAAGC,WAAW,CAAzB,sBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAKC,KAAAA,CAAAA,MAAL,IAAe,YAAM;AACjB,MAAA,IAAA,MAAA,GAA4DF,KAAK,EAAjE;AAAA,UAAOG,KAAP,UAAOA,KAAP;AAAA,UAAcC,IAAd,UAAcA,IAAd;AAAA,UAAoBC,QAApB,UAAoBA,QAApB;AAAA,UAA8BC,KAA9B,UAA8BA,KAA9B;AAAA,UAAqCC,SAArC,UAAqCA,SAArC;AAAA,UAAgDC,QAAhD,UAAgDA,QAAhD,CAAA;AACA,MAAA,IAAMC,EAAE,GAAGT,KAAK,EAAGS,CAAAA,EAAR,IAAcX,QAAzB,CAAA;AACA,MACI,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAEY,UAAU,CAAC,UAAD,EAAaH,SAAb,CAAA;AAA1B,OACI,EAAA,kBAAA,CAAA,OAAA,EAAA;AAAO,QAAA,IAAI,EAAEH,IAAb;AAAmB,QAAA,EAAE,EAAEK,EAAvB;AAA2B,QAAA,IAAI,EAAC,UAAhC;AAA2C,QAAA,QAAQ,EAAEJ,QAArD;AAA+D,QAAA,OAAO,EAAEC,KAAxE;AAA+E,QAAA,QAAQ,EAAEE,QAAAA;AAAzF,OAAA,CADJ,EAEI,kBAAA,CAAA,OAAA,EAAA;AAAO,QAAA,OAAO,EAAEC,EAAAA;AAAhB,OAAqBN,EAAAA,KAArB,CAFJ,CADJ,CAAA;AAMH,KATD,CAAA;AALoB,IAAA,OAAA,KAAA,CAAA;AAevB,GAAA;;EAjBkBQ;AAoBvB,IAAIC,MAAM,CAACC,0BAAX,EAAuC;AACnCjB,EAAAA,QAAQ,CAACkB,SAAT,GAAqB;AACjBT,IAAAA,QAAQ,EAAEU,SAAS,CAACC,IAAV,CAAeC,UADR;AAEjBX,IAAAA,KAAK,EAAES,SAAS,CAACG,IAFA;AAGjBV,IAAAA,QAAQ,EAAEO,SAAS,CAACG,IAHH;AAIjBX,IAAAA,SAAS,EAAEQ,SAAS,CAACI,MAJJ;AAKjBhB,IAAAA,KAAK,EAAEY,SAAS,CAACK,SAAV,CAAoB,CACvBL,SAAS,CAACI,MADa,EAEvBJ,SAAS,CAACM,OAFa,CAApB,CALU;AASjBjB,IAAAA,IAAI,EAAEW,SAAS,CAACI,MATC;AAUjBV,IAAAA,EAAE,EAAEM,SAAS,CAACK,SAAV,CAAoB,CACpBL,SAAS,CAACI,MADU,EAEpBJ,SAAS,CAACO,MAFU,CAApB,CAAA;AAVa,GAArB,CAAA;AAeH,CAAA;AAED,iBAAe1B,QAAf;;;;"}
|
package/CircleProgress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleProgress.js","sources":["../src/react-ui-basics/CircleProgress.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from \"prop-types\";\nimport './CircleProgress.css'\n\nconst radius = 8.75;\nconst length = 2 * Math.PI * radius;\n\nconst dashoffset = (percent) => length * (100 - percent) / 100;\n\nconst CircleProgress = ({value}) => {\n value = Number.parseFloat(value);\n return (\n <div className=\"CircleProgress\">\n <svg viewBox=\"0 0 24 24\">\n <path className=\"line\" style={{strokeDashoffset: dashoffset(Number.isFinite(value) ? value : 0), strokeDasharray: length}}\n d=\"M12 3.25A8.75 8.75 0 1 1 3.25 12 A 8.75,8.75 0 0 1 12,3.25\"/>\n </svg>\n </div>\n );\n};\n\nCircleProgress.defaultProps = {\n value: 0,\n};\nif (window.isNotProductionEnvironment) {\n CircleProgress.propTypes = {\n value: PropTypes.number,\n };\n}\n\nexport default CircleProgress;"],"names":["radius","length","Math","PI","dashoffset","percent","CircleProgress","value","Number","parseFloat","strokeDashoffset","isFinite","strokeDasharray","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","number"],"mappings":";;;;AAKA,IAAMA,MAAM,GAAG,IAAf;AACA,IAAMC,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"CircleProgress.js","sources":["../src/react-ui-basics/CircleProgress.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from \"prop-types\";\nimport './CircleProgress.css'\n\nconst radius = 8.75;\nconst length = 2 * Math.PI * radius;\n\nconst dashoffset = (percent) => length * (100 - percent) / 100;\n\nconst CircleProgress = ({value}) => {\n value = Number.parseFloat(value);\n return (\n <div className=\"CircleProgress\">\n <svg viewBox=\"0 0 24 24\">\n <path className=\"line\" style={{strokeDashoffset: dashoffset(Number.isFinite(value) ? value : 0), strokeDasharray: length}}\n d=\"M12 3.25A8.75 8.75 0 1 1 3.25 12 A 8.75,8.75 0 0 1 12,3.25\"/>\n </svg>\n </div>\n );\n};\n\nCircleProgress.defaultProps = {\n value: 0,\n};\nif (window.isNotProductionEnvironment) {\n CircleProgress.propTypes = {\n value: PropTypes.number,\n };\n}\n\nexport default CircleProgress;"],"names":["radius","length","Math","PI","dashoffset","percent","CircleProgress","value","Number","parseFloat","strokeDashoffset","isFinite","strokeDasharray","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","number"],"mappings":";;;;AAKA,IAAMA,MAAM,GAAG,IAAf,CAAA;AACA,IAAMC,MAAM,GAAG,CAAA,GAAIC,IAAI,CAACC,EAAT,GAAcH,MAA7B,CAAA;AAEA,IAAMI,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAA;AAAA,EAAA,OAAaJ,MAAM,IAAI,GAAA,GAAMI,OAAV,CAAN,GAA2B,GAAxC,CAAA;AAAA,CAAnB,CAAA;AAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAAa,IAAA,EAAA;AAAA,EAAXC,IAAAA,KAAW,QAAXA,KAAW,CAAA;AAChCA,EAAAA,KAAK,GAAGC,MAAM,CAACC,UAAP,CAAkBF,KAAlB,CAAR,CAAA;AACA,EACI,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,IAAA,SAAS,EAAC,gBAAA;AAAf,GACI,EAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,IAAA,OAAO,EAAC,WAAA;AAAb,GACI,EAAA,kBAAA,CAAA,MAAA,EAAA;AAAM,IAAA,SAAS,EAAC,MAAhB;AAAuB,IAAA,KAAK,EAAE;AAACG,MAAAA,gBAAgB,EAAEN,UAAU,CAACI,MAAM,CAACG,QAAP,CAAgBJ,KAAhB,CAAA,GAAyBA,KAAzB,GAAiC,CAAlC,CAA7B;AAAmEK,MAAAA,eAAe,EAAEX,MAAAA;AAApF,KAA9B;AACM,IAAA,CAAC,EAAC,4DAAA;AADR,GAAA,CADJ,CADJ,CADJ,CAAA;AAQH,CAVD,CAAA;AAYAK,cAAc,CAACO,YAAf,GAA8B;AAC1BN,EAAAA,KAAK,EAAE,CAAA;AADmB,CAA9B,CAAA;AAGA,IAAIO,MAAM,CAACC,0BAAX,EAAuC;AACnCT,EAAAA,cAAc,CAACU,SAAf,GAA2B;AACvBT,IAAAA,KAAK,EAAEU,SAAS,CAACC,MAAAA;AADM,GAA3B,CAAA;AAGH,CAAA;AAED,uBAAeZ,cAAf;;;;"}
|