react-ui-basics 0.0.147 → 0.0.150

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js +1 -1
  3. package/AutocompleteSelect.js.map +1 -1
  4. package/Button.js.map +1 -1
  5. package/Checkbox.js.map +1 -1
  6. package/CircleProgress.js.map +1 -1
  7. package/DNDContainer.js.map +1 -1
  8. package/DNDDraggable.js.map +1 -1
  9. package/DNDDroppable.js.map +1 -1
  10. package/Dialog.js.map +1 -1
  11. package/DropFileInput.js.map +1 -1
  12. package/DroppableHorizontalList.js.map +1 -1
  13. package/DroppableList.js.map +1 -1
  14. package/Dropzone.js +6 -1
  15. package/Dropzone.js.map +1 -1
  16. package/FilteredList.js.map +1 -1
  17. package/FloatingActionButton.js.map +1 -1
  18. package/FormUploadProgress.js.map +1 -1
  19. package/ImageGallery.js.map +1 -1
  20. package/MaterialIcon.js.map +1 -1
  21. package/Modal.js.map +1 -1
  22. package/ModalMenu.js.map +1 -1
  23. package/ReactConstants.js.map +1 -1
  24. package/ReactCreateElement.js.map +1 -1
  25. package/ReadyListener.js.map +1 -1
  26. package/Scrollable.js.map +1 -1
  27. package/ScrollableTable.js.map +1 -1
  28. package/Size.js.map +1 -1
  29. package/Snackbar.js.map +1 -1
  30. package/SpinningProgress.js.map +1 -1
  31. package/Switch.js.map +1 -1
  32. package/Table.d.ts +76 -0
  33. package/Table.js +135 -321
  34. package/Table.js.map +1 -1
  35. package/TextField.js.map +1 -1
  36. package/Tools.d.ts +3 -3
  37. package/Tools.js +5 -5
  38. package/Tools.js.map +1 -1
  39. package/_virtual/_commonjsHelpers.js +6 -0
  40. package/_virtual/_commonjsHelpers.js.map +1 -0
  41. package/_virtual/_react.js +3 -0
  42. package/_virtual/_react.js.map +1 -0
  43. package/_virtual/react-jsx-runtime.development.js +3 -0
  44. package/_virtual/react-jsx-runtime.development.js.map +1 -0
  45. package/bundle.css +350 -350
  46. package/package.json +3 -2
  47. package/router/HistoryTools.js.map +1 -1
  48. package/router/Link.js.map +1 -1
  49. package/router/NavLink.js.map +1 -1
  50. package/router/Route.js.map +1 -1
  51. package/router/index.js.map +1 -1
  52. package/store/ProxyTools.js.map +1 -1
  53. package/store/Store.d.ts +1 -1
  54. package/store/Store.js +5 -2
  55. package/store/Store.js.map +1 -1
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","_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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"}
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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"}
@@ -4,7 +4,7 @@ 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, memo, orNoop, preventDefault, stopPropagation, getRandomId, isFunction, isObject, continuousIncludes, addEventListener, DOCUMENT, removeEventListener, UNDEFINED, classNames, ref } from './Tools.js';
7
+ import { isString, memo, continuousIncludes, orNoop, preventDefault, stopPropagation, getRandomId, isFunction, isObject, addEventListener, DOCUMENT, removeEventListener, UNDEFINED, classNames, ref } from './Tools.js';
8
8
  import Button from './Button.js';
9
9
  import MaterialIcon from './MaterialIcon.js';
10
10
  import { PureComponent } from './ReactConstants.js';
@@ -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, 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":"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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":"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"}
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":"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"}
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,EAAA,SAAA,MAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AAEA,IAAA,IAAMC,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AACAA,IAAAA,IAAI,CAACC,KAAL,GAAa,EAAb,CAAA;AAEA,IAAMC,IAAAA,EAAE,GAAGC,SAAS,EAApB,CAAA;AACA,IAAMC,IAAAA,MAAM,GAAGD,SAAS,EAAxB,CAAA;AAEA,IAAA,IAAME,eAAe,GAAGC,OAAO,CAACN,IAAD,CAA/B,CAAA;AAEA,IAAA,IAAMO,WAAW,GAAG,SAAdA,WAAc,CAACC,CAAD,EAAO;AACvB,MAAA,IAAI,CAAC,KAAA,CAAKC,KAAL,CAAWC,UAAhB,EAA4B,OAAA;AAE5B,MAAA,IAAMC,IAAI,GAAGT,EAAE,EAAA,CAAGU,qBAAL,EAAb,CAAA;AACA,MAAMC,IAAAA,aAAa,GAAGT,MAAM,EAA5B,CAAA;AACA,MAAA,IAAMU,KAAK,GAAGD,aAAa,CAACC,KAA5B,CAAA;AACA,MAAA,IAAMC,IAAI,GAAGC,QAAQ,CAACD,IAAtB,CAAA;AAEAD,MAAAA,KAAK,CAACG,MAAN,GAAeH,KAAK,CAACI,KAAN,GAAcC,IAAI,CAACC,GAAL,CAAST,IAAI,CAACO,KAAd,EAAqBP,IAAI,CAACM,MAA1B,IAAoC,IAAjE,CAAA;AACAH,MAAAA,KAAK,CAACO,GAAN,GAAab,CAAC,CAACc,KAAF,GAAUX,IAAI,CAACU,GAAf,GAAqBR,aAAa,CAACU,YAAd,GAA6B,CAAlD,GAAsDR,IAAI,CAACS,SAA5D,GAAyE,IAArF,CAAA;AACAV,MAAAA,KAAK,CAACW,IAAN,GAAcjB,CAAC,CAACkB,KAAF,GAAUf,IAAI,CAACc,IAAf,GAAsBZ,aAAa,CAACc,WAAd,GAA4B,CAAlD,GAAsDZ,IAAI,CAACa,UAA5D,GAA0E,IAAvF,CAAA;AAEAvB,MAAAA,eAAe,CAAC,MAAD,CAAf,CAAA;AAEAwB,MAAAA,gBAAgB,CAAChB,aAAD,EAAgB,cAAhB,EAAgC,YAAM;AAClDR,QAAAA,eAAe,CAAC,QAAD,CAAf,CAAA;AACH,OAFe,CAAhB,CAAA;AAGH,KAjBD,CAAA;AAmBA,IAAA,IAAMyB,OAAO,GAAG,SAAVA,OAAU,CAAAtB,CAAC,EAAI;AACjBuB,MAAAA,MAAM,CAACtB,KAAK,CAACT,IAAD,CAAL,CAAY8B,OAAb,CAAN,CAA4BtB,CAA5B,CAAA,CAAA;AACA,MAAIH,IAAAA,eAAe,EAAO,KAAA,MAA1B,EACI,OAAA;AAEJ,MAAA,IAAMM,IAAI,GAAGT,EAAE,EAAA,CAAGU,qBAAL,EAAb,CAAA;AACA,MAAA,IAAME,KAAK,GAAGV,MAAM,EAAA,CAAGU,KAAvB,CAAA;AAEA,MAAA,IAAIkB,IAAI,GAAGb,IAAI,CAACC,GAAL,CAAST,IAAI,CAACO,KAAd,EAAqBP,IAAI,CAACM,MAA1B,IAAoC,GAA/C,CAAA;AACAH,MAAAA,KAAK,CAACG,MAAN,GAAeH,KAAK,CAACI,KAAN,GAAcc,IAAI,GAAG,IAApC,CAAA;AACAlB,MAAAA,KAAK,CAACO,GAAN,GAAaV,IAAI,CAACM,MAAL,GAAc,CAAd,GAAkBe,IAAI,GAAG,CAA1B,GAA+B,IAA3C,CAAA;AACAlB,MAAAA,KAAK,CAACW,IAAN,GAAcd,IAAI,CAACO,KAAL,GAAa,CAAb,GAAiBc,IAAI,GAAG,CAAzB,GAA8B,IAA3C,CAAA;AAEA3B,MAAAA,eAAe,CAAC,SAAD,CAAf,CAAA;AACH,KAdD,CAAA;AAgBAL,IAAAA,IAAI,CAACiC,MAAD,CAAJ,GAAe,YAAM;AACjB,MAA2FxB,IAAAA,MAAAA,GAAAA,KAAK,CAACT,IAAD,CAAhG;AAAA,UAAOkC,QAAP,UAAOA,QAAP;AAAA,UAAiBC,IAAjB,UAAiBA,IAAjB;AAAA,UAAuBC,SAAvB,UAAuBA,SAAvB;AAAA,UAAkCC,OAAlC,UAAkCA,OAAlC;AAAA,UAA2CC,IAA3C,UAA2CA,IAA3C;AAAA,UAAA,aAAA,GAAA,MAAA,CAAiDC,MAAjD;AAAA,UAAiDA,MAAjD,GAA0D,aAAA,KAAA,KAAA,CAAA,GAAA,CAACD,IAA3D,GAAA,aAAA;AAAA,UAAiEE,KAAjE,UAAiEA,KAAjE;AAAA,UAAwE1B,KAAxE,UAAwEA,KAAxE;AAAA,UAA+E2B,QAA/E,UAA+EA,QAA/E,CAAA;AACA,MACI,OAAA,kBAAA,CAAA,QAAA,EAAA;AAAQ,QAAA,SAAS,EAAEC,UAAU,CAAC,QAAD,EACzBN,SADyB,EAEzBK,QAAQ,IAAI,UAFa,EAGzBF,MAAM,IAAI,QAHe,EAIzBD,IAAI,IAAI,MAJiB,EAKzBE,KAAK,IAAI,OALgB,CAA7B;AAOQ,QAAA,OAAO,EAAEV,OAPjB;AAQQ,QAAA,QAAQ,EAAEW,QARlB;AASQ,QAAA,KAAK,EAAE3B,KATf;AAUQ,QAAA,IAAI,EAAEqB,IAVd;AAWQ,QAAA,OAAO,EAAEE,OAXjB;AAYQ,QAAA,WAAW,EAAE9B,WAZrB;AAaQ,QAAA,GAAG,EAAEL,EAAAA;AAbb,OAAA,EAcKgC,QAdL,EAeI,kBAAA,CAAA,MAAA,EAAA;AAAM,QAAA,SAAS,EAAEQ,UAAU,CAAWrC,QAAAA,EAAAA,eAAe,EAA1B,CAA3B;AAA0D,QAAA,GAAG,EAAED,MAAAA;AAA/D,OAAA,CAfJ,CADJ,CAAA;AAmBH,KArBD,CAAA;AA9CoB,IAAA,OAAA,KAAA,CAAA;AAoEvB,GAAA;;EArEgBuC;AAwErB,IAAIC,MAAM,CAACC,0BAAX,EAAuC;AACnC/C,EAAAA,MAAM,CAACgD,SAAP,GAAmB;AACfR,IAAAA,IAAI,EAAES,SAAS,CAACC,IADD;AAEfT,IAAAA,MAAM,EAAEQ,SAAS,CAACC,IAFH;AAGfR,IAAAA,KAAK,EAAEO,SAAS,CAACC,IAHF;AAIfP,IAAAA,QAAQ,EAAEM,SAAS,CAACC,IAJL;AAKftC,IAAAA,UAAU,EAAEqC,SAAS,CAACC,IALP;AAMfb,IAAAA,IAAI,EAAEY,SAAS,CAACE,KAAV,CAAgB,CAAC,QAAD,EAAW,QAAX,EAAqB,OAArB,CAAhB,CANS;AAOfb,IAAAA,SAAS,EAAEW,SAAS,CAACG,MAPN;AAQfb,IAAAA,OAAO,EAAEU,SAAS,CAACI,IARJ;AASfrB,IAAAA,OAAO,EAAEiB,SAAS,CAACI,IATJ;AAUfrC,IAAAA,KAAK,EAAEiC,SAAS,CAACK,MAAAA;AAVF,GAAnB,CAAA;AAYH,CAAA;AAEDtD,MAAM,CAACuD,YAAP,GAAsB;AAClBlB,EAAAA,IAAI,EAAE,QADY;AAElBzB,EAAAA,UAAU,EAAE,IAAA;AAFM,CAAtB,CAAA;AAKA,eAAeZ,MAAf;;;;"}
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,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;;;;"}
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;;;;"}
@@ -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,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;;;;"}
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;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DNDContainer.js","sources":["../src/react-ui-basics/DNDContainer.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DNDContainer.css'\nimport {classNames, NOOP, orNoop, preventDefault, ref, DOCUMENT, WINDOW, addEventListener, removeEventListener, setTimeout, clearTimeout, requestAnimationFrame} from \"./Tools\";\n\nconst clearSelection = () => {\n const getSelection = WINDOW.getSelection;\n if (getSelection) {\n if (getSelection().empty) { // Chrome\n getSelection().empty();\n } else if (getSelection().removeAllRanges) { // Firefox\n getSelection().removeAllRanges();\n }\n } else if (DOCUMENT.selection) { // IE?\n DOCUMENT.selection.empty();\n }\n};\n\nconst droppables = 'ds';\nconst positionListener = 'pl';\n\nclass DNDContainer extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n draggable: null,\n };\n\n this[droppables] = [];\n this[positionListener] = NOOP;\n }\n\n render() {\n const {children, className} = this.props;\n const {draggable} = this.state;\n return <div className={classNames('DNDContainer', className)} ref={ref('container', this)}>\n {children}\n <div className=\"overlay\">{draggable}</div>\n </div>;\n };\n\n componentDidMount() {\n const {\n provideDraggableInitializer,\n provideDroppableInitializer,\n } = this.props;\n\n orNoop(provideDraggableInitializer)(this.draggableInitializer);\n orNoop(provideDroppableInitializer)(this.droppableInitializer);\n addEventListener(this.container, 'dragover', this.onDrag, {capture: true, passive: true})\n };\n\n draggableInitializer = (item) => {\n const handle = item.props.handle;\n const draggableElement = (handle && item.element.childNodes[0]) || item.element;\n draggableElement.draggable = true;\n\n const dragStartListener = (e) => {\n clearSelection();\n const container = this.container;\n this.data = item.props.data;\n this.draggable = item;\n this.scrollOffsetX = e.pageX - e.clientX;\n this.scrollOffsetY = e.pageY - e.clientY;\n const dataTransfer = e.dataTransfer;\n const itemOffset = item.element.getBoundingClientRect();\n\n item.width = itemOffset.width;\n item.height = itemOffset.height;\n\n let clone = orNoop(item.props.copy)((it) => {\n let style = it.element.style;\n\n const offsetLeft = totalOffsetLeft(container) + (e.clientX - itemOffset.left);\n const offsetTop = totalOffsetTop(container) + (e.clientY - itemOffset.top);\n this[positionListener] = orNoop(it.createPositionListener)(e, style, itemOffset, container) || ((e) => {\n if (e.pageX === 0)\n return;\n\n style.transform = 'translate(' + (e.pageX - offsetLeft) + 'px, ' + (e.pageY - offsetTop) + 'px)';\n });\n\n\n requestAnimationFrame(() => {\n if (dataTransfer && !dataTransfer.setDragImage) {\n style.opacity = '0'; // hide dragged element in ie and edge\n }\n if (it.initDraggedStyles)\n it.initDraggedStyles(style, itemOffset);\n else {\n style.position = 'absolute';\n style.pointerEvents = 'none';\n style.opacity = '1';\n style.top = '0px';\n style.left = '0px';\n style.width = itemOffset.width + 'px';\n style.height = itemOffset.height + 'px';\n }\n\n this.onDrag(e);\n it.setState({dragged: true});\n });\n return it;\n }, 'copy', item);\n\n dataTransfer && dataTransfer.setData && dataTransfer.setData('text', ''); // required by firefox\n dataTransfer && (dataTransfer.dropEffect = \"move\");\n if (clone) {\n if (dataTransfer && dataTransfer.setDragImage) {\n clone !== item && this.setState({draggable: clone});\n const img = document.createElement('img');\n img.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n dataTransfer.setDragImage(img, 0, 0);\n }\n }\n this.onDragStart(e);\n setTimeout(() => item.setState({placeholder: true}), 1)\n };\n addListener(draggableElement, item, 'dragend', (e) => {\n item.setState({placeholder: false});\n this.onDragEnd()\n });\n addListener(draggableElement, item, 'dragstart', dragStartListener);\n\n let longTouch;\n let dragStarted = false;\n let dragged = false;\n addListener(draggableElement, item, 'touchstart', e => {\n if (e.touches.length > 1)\n return;\n\n dragged = dragStarted = false;\n const touch = e.targetTouches[0];\n longTouch = setTimeout(() => longTouch && (dragStarted = true) && (longTouch = dragStartListener(touch)), !handle ? 500 : 0)\n });\n\n addListener(draggableElement, item, 'touchmove', e => {\n if (longTouch) {\n longTouch = clearTimeout(longTouch);\n return;\n }\n if (!dragStarted)\n return;\n\n if (e.touches.length > 1)\n return;\n\n preventDefault(e);\n dragged = true;\n const touch = e.targetTouches[0];\n this[positionListener](touch);\n this[droppables].forEach(it => it.isHover(touch, item))\n });\n\n addListener(draggableElement, item, 'touchend', e => {\n longTouch = clearTimeout(longTouch);\n if (!dragged)\n return;\n\n item.setState({placeholder: false});\n if (e.touches.length > 0)\n return;\n\n this[droppables].forEach(it => it.dropIfHover());\n this.onDragEnd();\n });\n };\n\n\n droppableInitializer = (item) => {\n this[droppables].push(item);\n\n addEventListener(item.element, 'drop', (e) => {\n preventDefault(e);\n this.data && orNoop(item.props.onDrop)(this.data);\n }, false);\n\n item.onDragStart = (e, draggable) => {\n item.bounds = item.element.getBoundingClientRect();\n item.setState({allow: true});\n orNoop(item.props.onDragStart)(e, draggable);\n };\n item.isHover = (e, draggable) => {\n const bounds = item.bounds;\n if (!bounds)\n return;\n\n let y = e.pageY - this.scrollOffsetY;\n let x = e.pageX - this.scrollOffsetX;\n let hover = bounds.left <= x && bounds.right >= x && bounds.top <= y && bounds.bottom >= y;\n\n hover && orNoop(item.props.onHover)(e, draggable);\n\n if (hover)\n !item.state.hover && item.setState({hover});\n else\n item.state.hover && item.setState({hover});\n };\n item.dropIfHover = () => {\n this.data && item.state.hover && orNoop(item.props.onDrop)(this.data);\n };\n item.onDragEnd = () => {\n orNoop(orNoop(this.draggable).onDragEnd)();\n item.setState({allow: false, hover: false});\n };\n item.onUnmount = () => this[droppables].splice(this[droppables].indexOf(item), 1);\n };\n\n onDrag = (e) => {\n if (!this.draggable)\n return;\n\n this[positionListener](e);\n this[droppables].forEach(it => it.isHover(e, this.draggable))\n };\n onDragStart = (e) => {\n this[droppables].forEach(it => it.onDragStart(e, this.draggable))\n };\n onDragEnd = () => {\n const draggable = this.draggable;\n if (draggable.element) {\n let style = draggable.element.style;\n style.position = '';\n style.pointerEvents = '';\n style.width = ``;\n style.height = ``;\n style.opacity = '';\n }\n draggable.setState({dragged: false});\n\n this.setState({draggable: null});\n\n this[droppables].forEach(it => {\n it.onDragEnd();\n orNoop(it.props.onDragEnd)(this.draggable)\n });\n this.data = null;\n this.draggable = null;\n };\n}\n\nexport const removeListener = (el, item, type) => item[type] && removeEventListener(el, type, item[type]);\nexport const addListener = (el, item, type, listener) => {\n removeListener(el, item, type);\n addEventListener(el, type, item[type] = listener);\n};\n\nconst totalOffsetTop = (el) => {\n return el.getBoundingClientRect().top + (WINDOW.pageYOffset || DOCUMENT.documentElement.scrollTop);\n};\nconst totalOffsetLeft = (el) => {\n return el.getBoundingClientRect().left + (WINDOW.pageXOffset || DOCUMENT.documentElement.scrollLeft);\n};\n\nexport default DNDContainer;"],"names":["clearSelection","getSelection","WINDOW","empty","removeAllRanges","DOCUMENT","selection","droppables","positionListener","DNDContainer","props","draggableInitializer","item","handle","draggableElement","element","childNodes","draggable","dragStartListener","e","container","data","scrollOffsetX","pageX","clientX","scrollOffsetY","pageY","clientY","dataTransfer","itemOffset","getBoundingClientRect","width","height","clone","orNoop","copy","it","style","offsetLeft","totalOffsetLeft","left","offsetTop","totalOffsetTop","top","createPositionListener","transform","requestAnimationFrame","setDragImage","opacity","initDraggedStyles","position","pointerEvents","onDrag","setState","dragged","setData","dropEffect","img","document","createElement","src","onDragStart","setTimeout","placeholder","addListener","onDragEnd","longTouch","dragStarted","touches","length","touch","targetTouches","clearTimeout","preventDefault","forEach","isHover","dropIfHover","droppableInitializer","push","addEventListener","onDrop","bounds","allow","y","x","hover","right","bottom","onHover","state","onUnmount","splice","indexOf","NOOP","children","className","classNames","ref","provideDraggableInitializer","provideDroppableInitializer","capture","passive","Component","removeListener","el","type","removeEventListener","listener","pageYOffset","documentElement","scrollTop","pageXOffset","scrollLeft"],"mappings":"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"}
1
+ {"version":3,"file":"DNDContainer.js","sources":["../../../src/react-ui-basics/DNDContainer.js"],"sourcesContent":["import React, {Component} from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './DNDContainer.css'\nimport {classNames, NOOP, orNoop, preventDefault, ref, DOCUMENT, WINDOW, addEventListener, removeEventListener, setTimeout, clearTimeout, requestAnimationFrame} from \"./Tools\";\n\nconst clearSelection = () => {\n const getSelection = WINDOW.getSelection;\n if (getSelection) {\n if (getSelection().empty) { // Chrome\n getSelection().empty();\n } else if (getSelection().removeAllRanges) { // Firefox\n getSelection().removeAllRanges();\n }\n } else if (DOCUMENT.selection) { // IE?\n DOCUMENT.selection.empty();\n }\n};\n\nconst droppables = 'ds';\nconst positionListener = 'pl';\n\nclass DNDContainer extends Component {\n\n constructor(props) {\n super(props);\n\n this.state = {\n draggable: null,\n };\n\n this[droppables] = [];\n this[positionListener] = NOOP;\n }\n\n render() {\n const {children, className} = this.props;\n const {draggable} = this.state;\n return <div className={classNames('DNDContainer', className)} ref={ref('container', this)}>\n {children}\n <div className=\"overlay\">{draggable}</div>\n </div>;\n };\n\n componentDidMount() {\n const {\n provideDraggableInitializer,\n provideDroppableInitializer,\n } = this.props;\n\n orNoop(provideDraggableInitializer)(this.draggableInitializer);\n orNoop(provideDroppableInitializer)(this.droppableInitializer);\n addEventListener(this.container, 'dragover', this.onDrag, {capture: true, passive: true})\n };\n\n draggableInitializer = (item) => {\n const handle = item.props.handle;\n const draggableElement = (handle && item.element.childNodes[0]) || item.element;\n draggableElement.draggable = true;\n\n const dragStartListener = (e) => {\n clearSelection();\n const container = this.container;\n this.data = item.props.data;\n this.draggable = item;\n this.scrollOffsetX = e.pageX - e.clientX;\n this.scrollOffsetY = e.pageY - e.clientY;\n const dataTransfer = e.dataTransfer;\n const itemOffset = item.element.getBoundingClientRect();\n\n item.width = itemOffset.width;\n item.height = itemOffset.height;\n\n let clone = orNoop(item.props.copy)((it) => {\n let style = it.element.style;\n\n const offsetLeft = totalOffsetLeft(container) + (e.clientX - itemOffset.left);\n const offsetTop = totalOffsetTop(container) + (e.clientY - itemOffset.top);\n this[positionListener] = orNoop(it.createPositionListener)(e, style, itemOffset, container) || ((e) => {\n if (e.pageX === 0)\n return;\n\n style.transform = 'translate(' + (e.pageX - offsetLeft) + 'px, ' + (e.pageY - offsetTop) + 'px)';\n });\n\n\n requestAnimationFrame(() => {\n if (dataTransfer && !dataTransfer.setDragImage) {\n style.opacity = '0'; // hide dragged element in ie and edge\n }\n if (it.initDraggedStyles)\n it.initDraggedStyles(style, itemOffset);\n else {\n style.position = 'absolute';\n style.pointerEvents = 'none';\n style.opacity = '1';\n style.top = '0px';\n style.left = '0px';\n style.width = itemOffset.width + 'px';\n style.height = itemOffset.height + 'px';\n }\n\n this.onDrag(e);\n it.setState({dragged: true});\n });\n return it;\n }, 'copy', item);\n\n dataTransfer && dataTransfer.setData && dataTransfer.setData('text', ''); // required by firefox\n dataTransfer && (dataTransfer.dropEffect = \"move\");\n if (clone) {\n if (dataTransfer && dataTransfer.setDragImage) {\n clone !== item && this.setState({draggable: clone});\n const img = document.createElement('img');\n img.src = 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n dataTransfer.setDragImage(img, 0, 0);\n }\n }\n this.onDragStart(e);\n setTimeout(() => item.setState({placeholder: true}), 1)\n };\n addListener(draggableElement, item, 'dragend', (e) => {\n item.setState({placeholder: false});\n this.onDragEnd()\n });\n addListener(draggableElement, item, 'dragstart', dragStartListener);\n\n let longTouch;\n let dragStarted = false;\n let dragged = false;\n addListener(draggableElement, item, 'touchstart', e => {\n if (e.touches.length > 1)\n return;\n\n dragged = dragStarted = false;\n const touch = e.targetTouches[0];\n longTouch = setTimeout(() => longTouch && (dragStarted = true) && (longTouch = dragStartListener(touch)), !handle ? 500 : 0)\n });\n\n addListener(draggableElement, item, 'touchmove', e => {\n if (longTouch) {\n longTouch = clearTimeout(longTouch);\n return;\n }\n if (!dragStarted)\n return;\n\n if (e.touches.length > 1)\n return;\n\n preventDefault(e);\n dragged = true;\n const touch = e.targetTouches[0];\n this[positionListener](touch);\n this[droppables].forEach(it => it.isHover(touch, item))\n });\n\n addListener(draggableElement, item, 'touchend', e => {\n longTouch = clearTimeout(longTouch);\n if (!dragged)\n return;\n\n item.setState({placeholder: false});\n if (e.touches.length > 0)\n return;\n\n this[droppables].forEach(it => it.dropIfHover());\n this.onDragEnd();\n });\n };\n\n\n droppableInitializer = (item) => {\n this[droppables].push(item);\n\n addEventListener(item.element, 'drop', (e) => {\n preventDefault(e);\n this.data && orNoop(item.props.onDrop)(this.data);\n }, false);\n\n item.onDragStart = (e, draggable) => {\n item.bounds = item.element.getBoundingClientRect();\n item.setState({allow: true});\n orNoop(item.props.onDragStart)(e, draggable);\n };\n item.isHover = (e, draggable) => {\n const bounds = item.bounds;\n if (!bounds)\n return;\n\n let y = e.pageY - this.scrollOffsetY;\n let x = e.pageX - this.scrollOffsetX;\n let hover = bounds.left <= x && bounds.right >= x && bounds.top <= y && bounds.bottom >= y;\n\n hover && orNoop(item.props.onHover)(e, draggable);\n\n if (hover)\n !item.state.hover && item.setState({hover});\n else\n item.state.hover && item.setState({hover});\n };\n item.dropIfHover = () => {\n this.data && item.state.hover && orNoop(item.props.onDrop)(this.data);\n };\n item.onDragEnd = () => {\n orNoop(orNoop(this.draggable).onDragEnd)();\n item.setState({allow: false, hover: false});\n };\n item.onUnmount = () => this[droppables].splice(this[droppables].indexOf(item), 1);\n };\n\n onDrag = (e) => {\n if (!this.draggable)\n return;\n\n this[positionListener](e);\n this[droppables].forEach(it => it.isHover(e, this.draggable))\n };\n onDragStart = (e) => {\n this[droppables].forEach(it => it.onDragStart(e, this.draggable))\n };\n onDragEnd = () => {\n const draggable = this.draggable;\n if (draggable.element) {\n let style = draggable.element.style;\n style.position = '';\n style.pointerEvents = '';\n style.width = ``;\n style.height = ``;\n style.opacity = '';\n }\n draggable.setState({dragged: false});\n\n this.setState({draggable: null});\n\n this[droppables].forEach(it => {\n it.onDragEnd();\n orNoop(it.props.onDragEnd)(this.draggable)\n });\n this.data = null;\n this.draggable = null;\n };\n}\n\nexport const removeListener = (el, item, type) => item[type] && removeEventListener(el, type, item[type]);\nexport const addListener = (el, item, type, listener) => {\n removeListener(el, item, type);\n addEventListener(el, type, item[type] = listener);\n};\n\nconst totalOffsetTop = (el) => {\n return el.getBoundingClientRect().top + (WINDOW.pageYOffset || DOCUMENT.documentElement.scrollTop);\n};\nconst totalOffsetLeft = (el) => {\n return el.getBoundingClientRect().left + (WINDOW.pageXOffset || DOCUMENT.documentElement.scrollLeft);\n};\n\nexport default DNDContainer;"],"names":["clearSelection","getSelection","WINDOW","empty","removeAllRanges","DOCUMENT","selection","droppables","positionListener","DNDContainer","props","draggableInitializer","item","handle","draggableElement","element","childNodes","draggable","dragStartListener","e","container","data","scrollOffsetX","pageX","clientX","scrollOffsetY","pageY","clientY","dataTransfer","itemOffset","getBoundingClientRect","width","height","clone","orNoop","copy","it","style","offsetLeft","totalOffsetLeft","left","offsetTop","totalOffsetTop","top","createPositionListener","transform","requestAnimationFrame","setDragImage","opacity","initDraggedStyles","position","pointerEvents","onDrag","setState","dragged","setData","dropEffect","img","document","createElement","src","onDragStart","setTimeout","placeholder","addListener","onDragEnd","longTouch","dragStarted","touches","length","touch","targetTouches","clearTimeout","preventDefault","forEach","isHover","dropIfHover","droppableInitializer","push","addEventListener","onDrop","bounds","allow","y","x","hover","right","bottom","onHover","state","onUnmount","splice","indexOf","NOOP","children","className","classNames","ref","provideDraggableInitializer","provideDroppableInitializer","capture","passive","Component","removeListener","el","type","removeEventListener","listener","pageYOffset","documentElement","scrollTop","pageXOffset","scrollLeft"],"mappings":";;;;;AAKA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AACzB,EAAA,IAAMC,YAAY,GAAGC,MAAM,CAACD,YAA5B,CAAA;AACA,EAAA,IAAIA,YAAJ,EAAkB;AACd,IAAIA,IAAAA,YAAY,EAAGE,CAAAA,KAAnB,EAA0B;AACtBF,MAAAA,YAAY,GAAGE,KAAf,EAAA,CAAA;AACH,KAFD,MAEO,IAAIF,YAAY,EAAA,CAAGG,eAAnB,EAAoC;AACvCH,MAAAA,YAAY,GAAGG,eAAf,EAAA,CAAA;AACH,KAAA;AACJ,GAND,MAMO,IAAIC,QAAQ,CAACC,SAAb,EAAwB;AAC3BD,IAAAA,QAAQ,CAACC,SAAT,CAAmBH,KAAnB,EAAA,CAAA;AACH,GAAA;AACJ,CAXD,CAAA;AAaA,IAAMI,UAAU,GAAG,IAAnB,CAAA;AACA,IAAMC,gBAAgB,GAAG,IAAzB,CAAA;IAEMC;;;AAEF,EAAA,SAAA,YAAA,CAAYC,KAAZ,EAAmB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAA;AACf,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,KAAN,CAAA,CAAA;AADe,IAAA,KAAA,CA+BnBC,oBA/BmB,GA+BI,UAACC,IAAD,EAAU;AAC7B,MAAA,IAAMC,MAAM,GAAGD,IAAI,CAACF,KAAL,CAAWG,MAA1B,CAAA;AACA,MAAA,IAAMC,gBAAgB,GAAID,MAAM,IAAID,IAAI,CAACG,OAAL,CAAaC,UAAb,CAAwB,CAAxB,CAAX,IAA0CJ,IAAI,CAACG,OAAxE,CAAA;AACAD,MAAAA,gBAAgB,CAACG,SAAjB,GAA6B,IAA7B,CAAA;AAEA,MAAA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,CAAD,EAAO;AAC7BnB,QAAAA,cAAc,EAAA,CAAA;AACd,QAAMoB,IAAAA,SAAS,GAAG,KAAA,CAAKA,SAAvB,CAAA;AACA,QAAA,KAAA,CAAKC,IAAL,GAAYT,IAAI,CAACF,KAAL,CAAWW,IAAvB,CAAA;AACA,QAAKJ,KAAAA,CAAAA,SAAL,GAAiBL,IAAjB,CAAA;AACA,QAAKU,KAAAA,CAAAA,aAAL,GAAqBH,CAAC,CAACI,KAAF,GAAUJ,CAAC,CAACK,OAAjC,CAAA;AACA,QAAKC,KAAAA,CAAAA,aAAL,GAAqBN,CAAC,CAACO,KAAF,GAAUP,CAAC,CAACQ,OAAjC,CAAA;AACA,QAAA,IAAMC,YAAY,GAAGT,CAAC,CAACS,YAAvB,CAAA;AACA,QAAA,IAAMC,UAAU,GAAGjB,IAAI,CAACG,OAAL,CAAae,qBAAb,EAAnB,CAAA;AAEAlB,QAAAA,IAAI,CAACmB,KAAL,GAAaF,UAAU,CAACE,KAAxB,CAAA;AACAnB,QAAAA,IAAI,CAACoB,MAAL,GAAcH,UAAU,CAACG,MAAzB,CAAA;AAEA,QAAA,IAAIC,KAAK,GAAGC,MAAM,CAACtB,IAAI,CAACF,KAAL,CAAWyB,IAAZ,CAAN,CAAwB,UAACC,EAAD,EAAQ;AACxC,UAAA,IAAIC,KAAK,GAAGD,EAAE,CAACrB,OAAH,CAAWsB,KAAvB,CAAA;AAEA,UAAA,IAAMC,UAAU,GAAGC,eAAe,CAACnB,SAAD,CAAf,IAA8BD,CAAC,CAACK,OAAF,GAAYK,UAAU,CAACW,IAArD,CAAnB,CAAA;AACA,UAAA,IAAMC,SAAS,GAAGC,cAAc,CAACtB,SAAD,CAAd,IAA6BD,CAAC,CAACQ,OAAF,GAAYE,UAAU,CAACc,GAApD,CAAlB,CAAA;AACA,UAAA,KAAA,CAAKnC,gBAAL,CAAyB0B,GAAAA,MAAM,CAACE,EAAE,CAACQ,sBAAJ,CAAN,CAAkCzB,CAAlC,EAAqCkB,KAArC,EAA4CR,UAA5C,EAAwDT,SAAxD,CAAuE,IAAA,UAACD,CAAD,EAAO;AACnG,YAAA,IAAIA,CAAC,CAACI,KAAF,KAAY,CAAhB,EACI,OAAA;AAEJc,YAAAA,KAAK,CAACQ,SAAN,GAAkB,YAAgB1B,IAAAA,CAAC,CAACI,KAAF,GAAUe,UAA1B,CAAwC,GAAA,MAAxC,IAAkDnB,CAAC,CAACO,KAAF,GAAUe,SAA5D,IAAyE,KAA3F,CAAA;AACH,WALD,CAAA;AAQAK,UAAAA,qBAAqB,CAAC,YAAM;AACxB,YAAA,IAAIlB,YAAY,IAAI,CAACA,YAAY,CAACmB,YAAlC,EAAgD;AAC5CV,cAAAA,KAAK,CAACW,OAAN,GAAgB,GAAhB,CAD4C;AAE/C,aAAA;AACD,YAAA,IAAIZ,EAAE,CAACa,iBAAP,EACIb,EAAE,CAACa,iBAAH,CAAqBZ,KAArB,EAA4BR,UAA5B,CAAA,CADJ,KAEK;AACDQ,cAAAA,KAAK,CAACa,QAAN,GAAiB,UAAjB,CAAA;AACAb,cAAAA,KAAK,CAACc,aAAN,GAAsB,MAAtB,CAAA;AACAd,cAAAA,KAAK,CAACW,OAAN,GAAgB,GAAhB,CAAA;AACAX,cAAAA,KAAK,CAACM,GAAN,GAAY,KAAZ,CAAA;AACAN,cAAAA,KAAK,CAACG,IAAN,GAAa,KAAb,CAAA;AACAH,cAAAA,KAAK,CAACN,KAAN,GAAcF,UAAU,CAACE,KAAX,GAAmB,IAAjC,CAAA;AACAM,cAAAA,KAAK,CAACL,MAAN,GAAeH,UAAU,CAACG,MAAX,GAAoB,IAAnC,CAAA;AACH,aAAA;AAED,YAAKoB,KAAAA,CAAAA,MAAL,CAAYjC,CAAZ,CAAA,CAAA;AACAiB,YAAAA,EAAE,CAACiB,QAAH,CAAY;AAACC,cAAAA,OAAO,EAAE,IAAA;AAAV,aAAZ,CAAA,CAAA;AACH,WAlBoB,CAArB,CAAA;AAmBA,UAAA,OAAOlB,EAAP,CAAA;AACH,SAjCW,EAiCT,MAjCS,EAiCDxB,IAjCC,CAAZ,CAAA;AAmCAgB,QAAAA,YAAY,IAAIA,YAAY,CAAC2B,OAA7B,IAAwC3B,YAAY,CAAC2B,OAAb,CAAqB,MAArB,EAA6B,EAA7B,CAAxC,CAhD6B;AAiD7B3B,QAAAA,YAAY,KAAKA,YAAY,CAAC4B,UAAb,GAA0B,MAA/B,CAAZ,CAAA;AACA,QAAA,IAAIvB,KAAJ,EAAW;AACP,UAAA,IAAIL,YAAY,IAAIA,YAAY,CAACmB,YAAjC,EAA+C;AAC3Cd,YAAAA,KAAK,KAAKrB,IAAV,IAAkB,KAAA,CAAKyC,QAAL,CAAc;AAACpC,cAAAA,SAAS,EAAEgB,KAAAA;AAAZ,aAAd,CAAlB,CAAA;AACA,YAAA,IAAMwB,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ,CAAA;AACAF,YAAAA,GAAG,CAACG,GAAJ,GAAU,4EAAV,CAAA;AACAhC,YAAAA,YAAY,CAACmB,YAAb,CAA0BU,GAA1B,EAA+B,CAA/B,EAAkC,CAAlC,CAAA,CAAA;AACH,WAAA;AACJ,SAAA;AACD,QAAKI,KAAAA,CAAAA,WAAL,CAAiB1C,CAAjB,CAAA,CAAA;AACA2C,QAAAA,UAAU,CAAC,YAAA;AAAA,UAAMlD,OAAAA,IAAI,CAACyC,QAAL,CAAc;AAACU,YAAAA,WAAW,EAAE,IAAA;AAAd,WAAd,CAAN,CAAA;AAAA,SAAD,EAA2C,CAA3C,CAAV,CAAA;AACH,OA5DD,CAAA;AA6DAC,MAAAA,WAAW,CAAClD,gBAAD,EAAmBF,IAAnB,EAAyB,SAAzB,EAAoC,UAACO,CAAD,EAAO;AAClDP,QAAAA,IAAI,CAACyC,QAAL,CAAc;AAACU,UAAAA,WAAW,EAAE,KAAA;AAAd,SAAd,CAAA,CAAA;AACA,QAAA,KAAA,CAAKE,SAAL,EAAA,CAAA;AACH,OAHU,CAAX,CAAA;AAIAD,MAAAA,WAAW,CAAClD,gBAAD,EAAmBF,IAAnB,EAAyB,WAAzB,EAAsCM,iBAAtC,CAAX,CAAA;AAEA,MAAA,IAAIgD,SAAJ,CAAA;AACA,MAAIC,IAAAA,WAAW,GAAG,KAAlB,CAAA;AACA,MAAIb,IAAAA,OAAO,GAAG,KAAd,CAAA;AACAU,MAAAA,WAAW,CAAClD,gBAAD,EAAmBF,IAAnB,EAAyB,YAAzB,EAAuC,UAAAO,CAAC,EAAI;AACnD,QAAA,IAAIA,CAAC,CAACiD,OAAF,CAAUC,MAAV,GAAmB,CAAvB,EACI,OAAA;AAEJf,QAAAA,OAAO,GAAGa,WAAW,GAAG,KAAxB,CAAA;AACA,QAAA,IAAMG,KAAK,GAAGnD,CAAC,CAACoD,aAAF,CAAgB,CAAhB,CAAd,CAAA;AACAL,QAAAA,SAAS,GAAGJ,UAAU,CAAC,YAAA;AAAA,UAAA,OAAMI,SAAS,KAAKC,WAAW,GAAG,IAAnB,CAAT,KAAsCD,SAAS,GAAGhD,iBAAiB,CAACoD,KAAD,CAAnE,CAAN,CAAA;AAAA,SAAD,EAAoF,CAACzD,MAAD,GAAU,GAAV,GAAgB,CAApG,CAAtB,CAAA;AACH,OAPU,CAAX,CAAA;AASAmD,MAAAA,WAAW,CAAClD,gBAAD,EAAmBF,IAAnB,EAAyB,WAAzB,EAAsC,UAAAO,CAAC,EAAI;AAClD,QAAA,IAAI+C,SAAJ,EAAe;AACXA,UAAAA,SAAS,GAAGM,YAAY,CAACN,SAAD,CAAxB,CAAA;AACA,UAAA,OAAA;AACH,SAAA;AACD,QAAI,IAAA,CAACC,WAAL,EACI,OAAA;AAEJ,QAAA,IAAIhD,CAAC,CAACiD,OAAF,CAAUC,MAAV,GAAmB,CAAvB,EACI,OAAA;AAEJI,QAAAA,cAAc,CAACtD,CAAD,CAAd,CAAA;AACAmC,QAAAA,OAAO,GAAG,IAAV,CAAA;AACA,QAAA,IAAMgB,KAAK,GAAGnD,CAAC,CAACoD,aAAF,CAAgB,CAAhB,CAAd,CAAA;AACA,QAAK/D,KAAAA,CAAAA,gBAAL,EAAuB8D,KAAvB,CAAA,CAAA;AACA,QAAA,KAAA,CAAK/D,UAAL,CAAA,CAAiBmE,OAAjB,CAAyB,UAAAtC,EAAE,EAAA;AAAA,UAAA,OAAIA,EAAE,CAACuC,OAAH,CAAWL,KAAX,EAAkB1D,IAAlB,CAAJ,CAAA;AAAA,SAA3B,CAAA,CAAA;AACH,OAhBU,CAAX,CAAA;AAkBAoD,MAAAA,WAAW,CAAClD,gBAAD,EAAmBF,IAAnB,EAAyB,UAAzB,EAAqC,UAAAO,CAAC,EAAI;AACjD+C,QAAAA,SAAS,GAAGM,YAAY,CAACN,SAAD,CAAxB,CAAA;AACA,QAAI,IAAA,CAACZ,OAAL,EACI,OAAA;AAEJ1C,QAAAA,IAAI,CAACyC,QAAL,CAAc;AAACU,UAAAA,WAAW,EAAE,KAAA;AAAd,SAAd,CAAA,CAAA;AACA,QAAA,IAAI5C,CAAC,CAACiD,OAAF,CAAUC,MAAV,GAAmB,CAAvB,EACI,OAAA;AAEJ,QAAA,KAAA,CAAK9D,UAAL,CAAA,CAAiBmE,OAAjB,CAAyB,UAAAtC,EAAE,EAAA;AAAA,UAAIA,OAAAA,EAAE,CAACwC,WAAH,EAAJ,CAAA;AAAA,SAA3B,CAAA,CAAA;AACA,QAAA,KAAA,CAAKX,SAAL,EAAA,CAAA;AACH,OAXU,CAAX,CAAA;AAYH,KAjJkB,CAAA;AAAA,IAAA,KAAA,CAoJnBY,oBApJmB,GAoJI,UAACjE,IAAD,EAAU;AAC7B,MAAA,KAAA,CAAKL,UAAL,CAAA,CAAiBuE,IAAjB,CAAsBlE,IAAtB,CAAA,CAAA;AAEAmE,MAAAA,gBAAgB,CAACnE,IAAI,CAACG,OAAN,EAAe,MAAf,EAAuB,UAACI,CAAD,EAAO;AAC1CsD,QAAAA,cAAc,CAACtD,CAAD,CAAd,CAAA;AACA,QAAA,KAAA,CAAKE,IAAL,IAAaa,MAAM,CAACtB,IAAI,CAACF,KAAL,CAAWsE,MAAZ,CAAN,CAA0B,KAAA,CAAK3D,IAA/B,CAAb,CAAA;AACH,OAHe,EAGb,KAHa,CAAhB,CAAA;AAKAT,MAAAA,IAAI,CAACiD,WAAL,GAAmB,UAAC1C,CAAD,EAAIF,SAAJ,EAAkB;AACjCL,QAAAA,IAAI,CAACqE,MAAL,GAAcrE,IAAI,CAACG,OAAL,CAAae,qBAAb,EAAd,CAAA;AACAlB,QAAAA,IAAI,CAACyC,QAAL,CAAc;AAAC6B,UAAAA,KAAK,EAAE,IAAA;AAAR,SAAd,CAAA,CAAA;AACAhD,QAAAA,MAAM,CAACtB,IAAI,CAACF,KAAL,CAAWmD,WAAZ,CAAN,CAA+B1C,CAA/B,EAAkCF,SAAlC,CAAA,CAAA;AACH,OAJD,CAAA;AAKAL,MAAAA,IAAI,CAAC+D,OAAL,GAAe,UAACxD,CAAD,EAAIF,SAAJ,EAAkB;AAC7B,QAAA,IAAMgE,MAAM,GAAGrE,IAAI,CAACqE,MAApB,CAAA;AACA,QAAI,IAAA,CAACA,MAAL,EACI,OAAA;AAEJ,QAAA,IAAIE,CAAC,GAAGhE,CAAC,CAACO,KAAF,GAAU,MAAKD,aAAvB,CAAA;AACA,QAAA,IAAI2D,CAAC,GAAGjE,CAAC,CAACI,KAAF,GAAU,MAAKD,aAAvB,CAAA;AACA,QAAI+D,IAAAA,KAAK,GAAGJ,MAAM,CAACzC,IAAP,IAAe4C,CAAf,IAAoBH,MAAM,CAACK,KAAP,IAAgBF,CAApC,IAAyCH,MAAM,CAACtC,GAAP,IAAcwC,CAAvD,IAA4DF,MAAM,CAACM,MAAP,IAAiBJ,CAAzF,CAAA;AAEAE,QAAAA,KAAK,IAAInD,MAAM,CAACtB,IAAI,CAACF,KAAL,CAAW8E,OAAZ,CAAN,CAA2BrE,CAA3B,EAA8BF,SAA9B,CAAT,CAAA;AAEA,QAAA,IAAIoE,KAAJ,EACI,CAACzE,IAAI,CAAC6E,KAAL,CAAWJ,KAAZ,IAAqBzE,IAAI,CAACyC,QAAL,CAAc;AAACgC,UAAAA,KAAK,EAALA,KAAAA;AAAD,SAAd,CAArB,CADJ,KAGIzE,IAAI,CAAC6E,KAAL,CAAWJ,KAAX,IAAoBzE,IAAI,CAACyC,QAAL,CAAc;AAACgC,UAAAA,KAAK,EAALA,KAAAA;AAAD,SAAd,CAApB,CAAA;AACP,OAfD,CAAA;AAgBAzE,MAAAA,IAAI,CAACgE,WAAL,GAAmB,YAAM;AACrB,QAAA,KAAA,CAAKvD,IAAL,IAAaT,IAAI,CAAC6E,KAAL,CAAWJ,KAAxB,IAAiCnD,MAAM,CAACtB,IAAI,CAACF,KAAL,CAAWsE,MAAZ,CAAN,CAA0B,KAAA,CAAK3D,IAA/B,CAAjC,CAAA;AACH,OAFD,CAAA;AAGAT,MAAAA,IAAI,CAACqD,SAAL,GAAiB,YAAM;AACnB/B,QAAAA,MAAM,CAACA,MAAM,CAAC,MAAKjB,SAAN,CAAN,CAAuBgD,SAAxB,CAAN,EAAA,CAAA;AACArD,QAAAA,IAAI,CAACyC,QAAL,CAAc;AAAC6B,UAAAA,KAAK,EAAE,KAAR;AAAeG,UAAAA,KAAK,EAAE,KAAA;AAAtB,SAAd,CAAA,CAAA;AACH,OAHD,CAAA;AAIAzE,MAAAA,IAAI,CAAC8E,SAAL,GAAiB,YAAA;AAAA,QAAA,OAAM,KAAKnF,CAAAA,UAAL,CAAiBoF,CAAAA,MAAjB,CAAwB,KAAKpF,CAAAA,UAAL,CAAiBqF,CAAAA,OAAjB,CAAyBhF,IAAzB,CAAxB,EAAwD,CAAxD,CAAN,CAAA;AAAA,OAAjB,CAAA;AACH,KAzLkB,CAAA;AAAA,IAAA,KAAA,CA2LnBwC,MA3LmB,GA2LV,UAACjC,CAAD,EAAO;AACZ,MAAI,IAAA,CAAC,KAAKF,CAAAA,SAAV,EACI,OAAA;AAEJ,MAAKT,KAAAA,CAAAA,gBAAL,EAAuBW,CAAvB,CAAA,CAAA;AACA,MAAA,KAAA,CAAKZ,UAAL,CAAA,CAAiBmE,OAAjB,CAAyB,UAAAtC,EAAE,EAAA;AAAA,QAAIA,OAAAA,EAAE,CAACuC,OAAH,CAAWxD,CAAX,EAAc,KAAA,CAAKF,SAAnB,CAAJ,CAAA;AAAA,OAA3B,CAAA,CAAA;AACH,KAjMkB,CAAA;AAAA,IAAA,KAAA,CAkMnB4C,WAlMmB,GAkML,UAAC1C,CAAD,EAAO;AACjB,MAAA,KAAA,CAAKZ,UAAL,CAAA,CAAiBmE,OAAjB,CAAyB,UAAAtC,EAAE,EAAA;AAAA,QAAIA,OAAAA,EAAE,CAACyB,WAAH,CAAe1C,CAAf,EAAkB,KAAA,CAAKF,SAAvB,CAAJ,CAAA;AAAA,OAA3B,CAAA,CAAA;AACH,KApMkB,CAAA;AAAA,IAqMnBgD,KAAAA,CAAAA,SArMmB,GAqMP,YAAM;AACd,MAAMhD,IAAAA,SAAS,GAAG,KAAA,CAAKA,SAAvB,CAAA;AACA,MAAIA,IAAAA,SAAS,CAACF,OAAd,EAAuB;AACnB,QAAA,IAAIsB,KAAK,GAAGpB,SAAS,CAACF,OAAV,CAAkBsB,KAA9B,CAAA;AACAA,QAAAA,KAAK,CAACa,QAAN,GAAiB,EAAjB,CAAA;AACAb,QAAAA,KAAK,CAACc,aAAN,GAAsB,EAAtB,CAAA;AACAd,QAAAA,KAAK,CAACN,KAAN,GAAA,EAAA,CAAA;AACAM,QAAAA,KAAK,CAACL,MAAN,GAAA,EAAA,CAAA;AACAK,QAAAA,KAAK,CAACW,OAAN,GAAgB,EAAhB,CAAA;AACH,OAAA;AACD/B,MAAAA,SAAS,CAACoC,QAAV,CAAmB;AAACC,QAAAA,OAAO,EAAE,KAAA;AAAV,OAAnB,CAAA,CAAA;AAEA,MAAA,KAAA,CAAKD,QAAL,CAAc;AAACpC,QAAAA,SAAS,EAAE,IAAA;AAAZ,OAAd,CAAA,CAAA;AAEA,MAAA,KAAA,CAAKV,UAAL,CAAiBmE,CAAAA,OAAjB,CAAyB,UAAAtC,EAAE,EAAI;AAC3BA,QAAAA,EAAE,CAAC6B,SAAH,EAAA,CAAA;AACA/B,QAAAA,MAAM,CAACE,EAAE,CAAC1B,KAAH,CAASuD,SAAV,CAAN,CAA2B,KAAA,CAAKhD,SAAhC,CAAA,CAAA;AACH,OAHD,CAAA,CAAA;AAIA,MAAKI,KAAAA,CAAAA,IAAL,GAAY,IAAZ,CAAA;AACA,MAAKJ,KAAAA,CAAAA,SAAL,GAAiB,IAAjB,CAAA;AACH,KAzNkB,CAAA;AAGf,IAAA,KAAA,CAAKwE,KAAL,GAAa;AACTxE,MAAAA,SAAS,EAAE,IAAA;AADF,KAAb,CAAA;AAIA,IAAKV,KAAAA,CAAAA,UAAL,IAAmB,EAAnB,CAAA;AACA,IAAKC,KAAAA,CAAAA,gBAAL,IAAyBqF,IAAzB,CAAA;AARe,IAAA,OAAA,KAAA,CAAA;AASlB,GAAA;;;WAED,SAAS,MAAA,GAAA;AACL,MAAA,IAAA,WAAA,GAA8B,KAAKnF,KAAnC;AAAA,UAAOoF,QAAP,eAAOA,QAAP;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB,CAAA;AACA,MAAA,IAAO9E,SAAP,GAAoB,IAAKwE,CAAAA,KAAzB,CAAOxE,SAAP,CAAA;AACA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAE+E,UAAU,CAAC,cAAD,EAAiBD,SAAjB,CAA1B;AAAuD,QAAA,GAAG,EAAEE,GAAG,CAAC,WAAD,EAAc,IAAd,CAAA;AAA/D,OAAA,EACFH,QADE,EAEH,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAC,SAAA;AAAf,OAA0B7E,EAAAA,SAA1B,CAFG,CAAP,CAAA;AAIH,KAAA;;;WAED,SAAoB,iBAAA,GAAA;AAChB,MAAA,IAAA,YAAA,GAGI,KAAKP,KAHT;AAAA,UACIwF,2BADJ,gBACIA,2BADJ;AAAA,UAEIC,2BAFJ,gBAEIA,2BAFJ,CAAA;AAKAjE,MAAAA,MAAM,CAACgE,2BAAD,CAAN,CAAoC,KAAKvF,oBAAzC,CAAA,CAAA;AACAuB,MAAAA,MAAM,CAACiE,2BAAD,CAAN,CAAoC,KAAKtB,oBAAzC,CAAA,CAAA;AACAE,MAAAA,gBAAgB,CAAC,IAAK3D,CAAAA,SAAN,EAAiB,UAAjB,EAA6B,IAAKgC,CAAAA,MAAlC,EAA0C;AAACgD,QAAAA,OAAO,EAAE,IAAV;AAAgBC,QAAAA,OAAO,EAAE,IAAA;AAAzB,OAA1C,CAAhB,CAAA;AACH,KAAA;;;EA/BsBC;AA8NpB,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,EAAD,EAAK5F,IAAL,EAAW6F,IAAX,EAAA;AAAA,EAAA,OAAoB7F,IAAI,CAAC6F,IAAD,CAAJ,IAAcC,mBAAmB,CAACF,EAAD,EAAKC,IAAL,EAAW7F,IAAI,CAAC6F,IAAD,CAAf,CAArD,CAAA;AAAA,EAAvB;AACMzC,IAAAA,WAAW,GAAG,SAAdA,WAAc,CAACwC,EAAD,EAAK5F,IAAL,EAAW6F,IAAX,EAAiBE,QAAjB,EAA8B;AACrDJ,EAAAA,cAAc,CAACC,EAAD,EAAK5F,IAAL,EAAW6F,IAAX,CAAd,CAAA;AACA1B,EAAAA,gBAAgB,CAACyB,EAAD,EAAKC,IAAL,EAAW7F,IAAI,CAAC6F,IAAD,CAAJ,GAAaE,QAAxB,CAAhB,CAAA;AACH,EAHM;AAKP,IAAMjE,cAAc,GAAG,SAAjBA,cAAiB,CAAC8D,EAAD,EAAQ;AAC3B,EAAA,OAAOA,EAAE,CAAC1E,qBAAH,EAAA,CAA2Ba,GAA3B,IAAkCzC,MAAM,CAAC0G,WAAP,IAAsBvG,QAAQ,CAACwG,eAAT,CAAyBC,SAAjF,CAAP,CAAA;AACH,CAFD,CAAA;AAGA,IAAMvE,eAAe,GAAG,SAAlBA,eAAkB,CAACiE,EAAD,EAAQ;AAC5B,EAAA,OAAOA,EAAE,CAAC1E,qBAAH,EAAA,CAA2BU,IAA3B,IAAmCtC,MAAM,CAAC6G,WAAP,IAAsB1G,QAAQ,CAACwG,eAAT,CAAyBG,UAAlF,CAAP,CAAA;AACH,CAFD,CAAA;AAIA,qBAAevG,YAAf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DNDDraggable.js","sources":["../src/react-ui-basics/DNDDraggable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref} from \"./Tools\";\nimport {componentDidUpdate, props, state, render, children, className, componentDidMount, componentWillUnmount, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n dragged = 'dragged',\n placeholder = 'placeholder',\n initializer = 'initializer',\n handle = 'handle'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Draggable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[handle] !== props(that)[handle] || prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n that[componentDidMount] = () => {\n init(that)\n };\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n that[render] = () => {\n const _state = state(that),\n _props = props(that);\n return <div className={classNames('Draggable', _props[className],\n _state[dragged] && dragged,\n _state[placeholder] && placeholder,\n _state[hover] && hover,\n )}\n onClick={_props.onClick}\n ref={ref('element', that)}\n >\n {_props[handle]}\n {_props[children]}\n </div>;\n }\n }\n}\n\n\nexport default Draggable;"],"names":["hover","dragged","placeholder","initializer","handle","init","that","orNoop","props","Draggable","properties","state","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_state","_props","classNames","className","onClick","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,OAAO,GAAG,SADd;AAAA,IAEIC,WAAW,GAAG,aAFlB;AAAA,IAGIC,WAAW,GAAG,aAHlB;AAAA,IAIIC,MAAM,GAAG,QAJb,CAAA;AAOA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI,EAAA;AAAA,EAAA,OAAIC,MAAM,CAACC,KAAK,CAACF,IAAD,CAAL,CAAYH,WAAZ,CAAD,CAAN,CAAiCG,IAAjC,CAAJ,CAAA;AAAA,CAAjB,CAAA;IAEMG;;;AAEF,EAAA,SAAA,SAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMJ,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AACAA,IAAAA,IAAI,CAACK,KAAL,GAAa,EAAb,CAAA;AACAL,IAAAA,IAAI,CAACM,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,MAAA,IAAIA,SAAS,CAACT,MAAD,CAAT,KAAsBI,KAAK,CAACF,IAAD,CAAL,CAAYF,MAAZ,CAAtB,IAA6CS,SAAS,CAACV,WAAD,CAAT,KAA2BK,KAAK,CAACF,IAAD,CAAL,CAAYH,WAAZ,CAA5E,EACIE,IAAI,CAACC,IAAD,CAAJ,CAAA;AACP,KAHD,CAAA;AAIAA,IAAAA,IAAI,CAACQ,iBAAD,CAAJ,GAA0B,YAAM;AAC5BT,MAAAA,IAAI,CAACC,IAAD,CAAJ,CAAA;AACH,KAFD,CAAA;AAGAA,IAAAA,IAAI,CAACS,oBAAD,CAAJ,GAA6B,YAAM;AAC/BR,MAAAA,MAAM,CAACD,IAAI,CAACU,SAAN,CAAN,EAAA,CAAA;AACH,KAFD,CAAA;AAGAV,IAAAA,IAAI,CAACW,MAAD,CAAJ,GAAe,YAAM;AACjB,MAAA,IAAMC,MAAM,GAAGP,KAAK,CAACL,IAAD,CAApB;AAAA,UACIa,MAAM,GAAGX,KAAK,CAACF,IAAD,CADlB,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAEc,UAAU,CAAC,WAAD,EAAcD,MAAM,CAACE,SAAD,CAApB,EAC7BH,MAAM,CAACjB,OAAD,CAAN,IAAmBA,OADU,EAE7BiB,MAAM,CAAChB,WAAD,CAAN,IAAuBA,WAFM,EAG7BgB,MAAM,CAAClB,KAAD,CAAN,IAAiBA,KAHY,CAA1B;AAKK,QAAA,OAAO,EAAEmB,MAAM,CAACG,OALrB;AAMK,QAAA,GAAG,EAAEC,GAAG,CAAC,SAAD,EAAYjB,IAAZ,CAAA;AANb,OAQFa,EAAAA,MAAM,CAACf,MAAD,CARJ,EASFe,MAAM,CAACK,QAAD,CATJ,CAAP,CAAA;AAWH,KAdD,CAAA;AAdoB,IAAA,OAAA,KAAA,CAAA;AA6BvB,GAAA;;EA/BmBC;AAmCxB,mBAAehB,SAAf;;;;"}
1
+ {"version":3,"file":"DNDDraggable.js","sources":["../../../src/react-ui-basics/DNDDraggable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref} from \"./Tools\";\nimport {componentDidUpdate, props, state, render, children, className, componentDidMount, componentWillUnmount, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n dragged = 'dragged',\n placeholder = 'placeholder',\n initializer = 'initializer',\n handle = 'handle'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Draggable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n that.state = {};\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[handle] !== props(that)[handle] || prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n that[componentDidMount] = () => {\n init(that)\n };\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n that[render] = () => {\n const _state = state(that),\n _props = props(that);\n return <div className={classNames('Draggable', _props[className],\n _state[dragged] && dragged,\n _state[placeholder] && placeholder,\n _state[hover] && hover,\n )}\n onClick={_props.onClick}\n ref={ref('element', that)}\n >\n {_props[handle]}\n {_props[children]}\n </div>;\n }\n }\n}\n\n\nexport default Draggable;"],"names":["hover","dragged","placeholder","initializer","handle","init","that","orNoop","props","Draggable","properties","state","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_state","_props","classNames","className","onClick","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,OAAO,GAAG,SADd;AAAA,IAEIC,WAAW,GAAG,aAFlB;AAAA,IAGIC,WAAW,GAAG,aAHlB;AAAA,IAIIC,MAAM,GAAG,QAJb,CAAA;AAOA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI,EAAA;AAAA,EAAA,OAAIC,MAAM,CAACC,KAAK,CAACF,IAAD,CAAL,CAAYH,WAAZ,CAAD,CAAN,CAAiCG,IAAjC,CAAJ,CAAA;AAAA,CAAjB,CAAA;IAEMG;;;AAEF,EAAA,SAAA,SAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMJ,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AACAA,IAAAA,IAAI,CAACK,KAAL,GAAa,EAAb,CAAA;AACAL,IAAAA,IAAI,CAACM,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,MAAA,IAAIA,SAAS,CAACT,MAAD,CAAT,KAAsBI,KAAK,CAACF,IAAD,CAAL,CAAYF,MAAZ,CAAtB,IAA6CS,SAAS,CAACV,WAAD,CAAT,KAA2BK,KAAK,CAACF,IAAD,CAAL,CAAYH,WAAZ,CAA5E,EACIE,IAAI,CAACC,IAAD,CAAJ,CAAA;AACP,KAHD,CAAA;AAIAA,IAAAA,IAAI,CAACQ,iBAAD,CAAJ,GAA0B,YAAM;AAC5BT,MAAAA,IAAI,CAACC,IAAD,CAAJ,CAAA;AACH,KAFD,CAAA;AAGAA,IAAAA,IAAI,CAACS,oBAAD,CAAJ,GAA6B,YAAM;AAC/BR,MAAAA,MAAM,CAACD,IAAI,CAACU,SAAN,CAAN,EAAA,CAAA;AACH,KAFD,CAAA;AAGAV,IAAAA,IAAI,CAACW,MAAD,CAAJ,GAAe,YAAM;AACjB,MAAA,IAAMC,MAAM,GAAGP,KAAK,CAACL,IAAD,CAApB;AAAA,UACIa,MAAM,GAAGX,KAAK,CAACF,IAAD,CADlB,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAEc,UAAU,CAAC,WAAD,EAAcD,MAAM,CAACE,SAAD,CAApB,EAC7BH,MAAM,CAACjB,OAAD,CAAN,IAAmBA,OADU,EAE7BiB,MAAM,CAAChB,WAAD,CAAN,IAAuBA,WAFM,EAG7BgB,MAAM,CAAClB,KAAD,CAAN,IAAiBA,KAHY,CAA1B;AAKK,QAAA,OAAO,EAAEmB,MAAM,CAACG,OALrB;AAMK,QAAA,GAAG,EAAEC,GAAG,CAAC,SAAD,EAAYjB,IAAZ,CAAA;AANb,OAQFa,EAAAA,MAAM,CAACf,MAAD,CARJ,EASFe,MAAM,CAACK,QAAD,CATJ,CAAP,CAAA;AAWH,KAdD,CAAA;AAdoB,IAAA,OAAA,KAAA,CAAA;AA6BvB,GAAA;;EA/BmBC;AAmCxB,mBAAehB,SAAf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"DNDDroppable.js","sources":["../src/react-ui-basics/DNDDroppable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref, preventDefault, stopPropagation} from \"./Tools\";\nimport {componentDidMount, componentDidUpdate, render, props, state, componentWillUnmount, children, className, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n allow = 'allow',\n initializer = 'initializer'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Droppable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n\n that[componentDidMount] = () => {\n init(that)\n };\n\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n\n that[render] = () => {\n const _props = props(that),\n _state = state(that);\n return <div className={\n classNames(\n 'Droppable',\n _props[className],\n _state[hover] && hover,\n _state[allow] && allow,\n )}\n onDragOver={e => {\n preventDefault(e);\n stopPropagation(e);\n }}\n ref={ref('element', that)}>\n {_props[children]}\n </div>;\n };\n }\n}\n\nexport default Droppable;"],"names":["hover","allow","initializer","init","that","orNoop","props","Droppable","properties","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_props","_state","state","classNames","className","e","preventDefault","stopPropagation","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,KAAK,GAAG,OADZ;AAAA,IAEIC,WAAW,GAAG,aAFlB,CAAA;AAKA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI,EAAA;AAAA,EAAA,OAAIC,MAAM,CAACC,KAAK,CAACF,IAAD,CAAL,CAAYF,WAAZ,CAAD,CAAN,CAAiCE,IAAjC,CAAJ,CAAA;AAAA,CAAjB,CAAA;IAEMG;;;AAEF,EAAA,SAAA,SAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMJ,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AAEAA,IAAAA,IAAI,CAACK,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,MAAA,IAAIA,SAAS,CAACR,WAAD,CAAT,KAA2BI,KAAK,CAACF,IAAD,CAAL,CAAYF,WAAZ,CAA/B,EACIC,IAAI,CAACC,IAAD,CAAJ,CAAA;AACP,KAHD,CAAA;AAKAA,IAAAA,IAAI,CAACO,iBAAD,CAAJ,GAA0B,YAAM;AAC5BR,MAAAA,IAAI,CAACC,IAAD,CAAJ,CAAA;AACH,KAFD,CAAA;AAIAA,IAAAA,IAAI,CAACQ,oBAAD,CAAJ,GAA6B,YAAM;AAC/BP,MAAAA,MAAM,CAACD,IAAI,CAACS,SAAN,CAAN,EAAA,CAAA;AACH,KAFD,CAAA;AAIAT,IAAAA,IAAI,CAACU,MAAD,CAAJ,GAAe,YAAM;AACjB,MAAA,IAAMC,MAAM,GAAGT,KAAK,CAACF,IAAD,CAApB;AAAA,UACIY,MAAM,GAAGC,KAAK,CAACb,IAAD,CADlB,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EACjBc,UAAU,CACN,WADM,EAENH,MAAM,CAACI,SAAD,CAFA,EAGNH,MAAM,CAAChB,KAAD,CAAN,IAAiBA,KAHX,EAINgB,MAAM,CAACf,KAAD,CAAN,IAAiBA,KAJX,CADP;AAOK,QAAA,UAAU,EAAE,SAAAmB,UAAAA,CAAAA,CAAC,EAAI;AACbC,UAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACAE,UAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACH,SAVN;AAWK,QAAA,GAAG,EAAEG,GAAG,CAAC,SAAD,EAAYnB,IAAZ,CAAA;AAXb,OAAA,EAYFW,MAAM,CAACS,QAAD,CAZJ,CAAP,CAAA;AAcH,KAjBD,CAAA;AAjBoB,IAAA,OAAA,KAAA,CAAA;AAmCvB,GAAA;;EArCmBC;AAwCxB,mBAAelB,SAAf;;;;"}
1
+ {"version":3,"file":"DNDDroppable.js","sources":["../../../src/react-ui-basics/DNDDroppable.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport {classNames, orNoop, ref, preventDefault, stopPropagation} from \"./Tools\";\nimport {componentDidMount, componentDidUpdate, render, props, state, componentWillUnmount, children, className, PureComponent} from \"./ReactConstants\";\n\nconst hover = 'hover',\n allow = 'allow',\n initializer = 'initializer'\n;\n\nconst init = that => orNoop(props(that)[initializer])(that);\n\nclass Droppable extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const that = this;\n\n that[componentDidUpdate] = (prevProps) => {\n if (prevProps[initializer] !== props(that)[initializer])\n init(that)\n };\n\n that[componentDidMount] = () => {\n init(that)\n };\n\n that[componentWillUnmount] = () => {\n orNoop(that.onUnmount)();\n };\n\n that[render] = () => {\n const _props = props(that),\n _state = state(that);\n return <div className={\n classNames(\n 'Droppable',\n _props[className],\n _state[hover] && hover,\n _state[allow] && allow,\n )}\n onDragOver={e => {\n preventDefault(e);\n stopPropagation(e);\n }}\n ref={ref('element', that)}>\n {_props[children]}\n </div>;\n };\n }\n}\n\nexport default Droppable;"],"names":["hover","allow","initializer","init","that","orNoop","props","Droppable","properties","componentDidUpdate","prevProps","componentDidMount","componentWillUnmount","onUnmount","render","_props","_state","state","classNames","className","e","preventDefault","stopPropagation","ref","children","PureComponent"],"mappings":";;;;;;AAKA,IAAMA,KAAK,GAAG,OAAd;AAAA,IACIC,KAAK,GAAG,OADZ;AAAA,IAEIC,WAAW,GAAG,aAFlB,CAAA;AAKA,IAAMC,IAAI,GAAG,SAAPA,IAAO,CAAAC,IAAI,EAAA;AAAA,EAAA,OAAIC,MAAM,CAACC,KAAK,CAACF,IAAD,CAAL,CAAYF,WAAZ,CAAD,CAAN,CAAiCE,IAAjC,CAAJ,CAAA;AAAA,CAAjB,CAAA;IAEMG;;;AAEF,EAAA,SAAA,SAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMJ,IAAI,GAAV,sBAAA,CAAA,KAAA,CAAA,CAAA;AAEAA,IAAAA,IAAI,CAACK,kBAAD,CAAJ,GAA2B,UAACC,SAAD,EAAe;AACtC,MAAA,IAAIA,SAAS,CAACR,WAAD,CAAT,KAA2BI,KAAK,CAACF,IAAD,CAAL,CAAYF,WAAZ,CAA/B,EACIC,IAAI,CAACC,IAAD,CAAJ,CAAA;AACP,KAHD,CAAA;AAKAA,IAAAA,IAAI,CAACO,iBAAD,CAAJ,GAA0B,YAAM;AAC5BR,MAAAA,IAAI,CAACC,IAAD,CAAJ,CAAA;AACH,KAFD,CAAA;AAIAA,IAAAA,IAAI,CAACQ,oBAAD,CAAJ,GAA6B,YAAM;AAC/BP,MAAAA,MAAM,CAACD,IAAI,CAACS,SAAN,CAAN,EAAA,CAAA;AACH,KAFD,CAAA;AAIAT,IAAAA,IAAI,CAACU,MAAD,CAAJ,GAAe,YAAM;AACjB,MAAA,IAAMC,MAAM,GAAGT,KAAK,CAACF,IAAD,CAApB;AAAA,UACIY,MAAM,GAAGC,KAAK,CAACb,IAAD,CADlB,CAAA;AAEA,MAAO,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EACjBc,UAAU,CACN,WADM,EAENH,MAAM,CAACI,SAAD,CAFA,EAGNH,MAAM,CAAChB,KAAD,CAAN,IAAiBA,KAHX,EAINgB,MAAM,CAACf,KAAD,CAAN,IAAiBA,KAJX,CADP;AAOK,QAAA,UAAU,EAAE,SAAAmB,UAAAA,CAAAA,CAAC,EAAI;AACbC,UAAAA,cAAc,CAACD,CAAD,CAAd,CAAA;AACAE,UAAAA,eAAe,CAACF,CAAD,CAAf,CAAA;AACH,SAVN;AAWK,QAAA,GAAG,EAAEG,GAAG,CAAC,SAAD,EAAYnB,IAAZ,CAAA;AAXb,OAAA,EAYFW,MAAM,CAACS,QAAD,CAZJ,CAAP,CAAA;AAcH,KAjBD,CAAA;AAjBoB,IAAA,OAAA,KAAA,CAAA;AAmCvB,GAAA;;EArCmBC;AAwCxB,mBAAelB,SAAf;;;;"}