react-ui-basics 0.0.149 → 0.0.152
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Animated.js +3 -0
- package/Animated.js.map +1 -1
- package/AutocompleteSelect.js +17 -14
- package/AutocompleteSelect.js.map +1 -1
- package/Button.js +6 -3
- package/Button.js.map +1 -1
- package/Checkbox.js +5 -2
- package/Checkbox.js.map +1 -1
- package/CircleProgress.js +5 -2
- package/CircleProgress.js.map +1 -1
- package/DNDContainer.js +5 -2
- package/DNDContainer.js.map +1 -1
- package/DNDDraggable.js +4 -1
- package/DNDDraggable.js.map +1 -1
- package/DNDDroppable.js +4 -1
- package/DNDDroppable.js.map +1 -1
- package/Dialog.js +9 -6
- package/Dialog.js.map +1 -1
- package/DropFileInput.js +5 -2
- package/DropFileInput.js.map +1 -1
- package/DroppableHorizontalList.js +4 -1
- package/DroppableHorizontalList.js.map +1 -1
- package/DroppableList.js +4 -1
- package/DroppableList.js.map +1 -1
- package/Dropzone.js +8 -5
- package/Dropzone.js.map +1 -1
- package/FilteredList.js +6 -3
- package/FilteredList.js.map +1 -1
- package/FloatingActionButton.js +4 -1
- package/FloatingActionButton.js.map +1 -1
- package/FormUploadProgress.js +8 -5
- package/FormUploadProgress.js.map +1 -1
- package/ImageGallery.js +15 -12
- package/ImageGallery.js.map +1 -1
- package/MaterialIcon.js +5 -2
- package/MaterialIcon.js.map +1 -1
- package/Modal.js +8 -5
- package/Modal.js.map +1 -1
- package/ModalMenu.js +6 -3
- package/ModalMenu.js.map +1 -1
- package/ReactConstants.js +1 -1
- package/ReactConstants.js.map +1 -1
- package/ReactCreateElement.js.map +1 -1
- package/ReadyListener.js +3 -0
- package/ReadyListener.js.map +1 -1
- package/Scrollable.js +10 -7
- package/Scrollable.js.map +1 -1
- package/ScrollableTable.js +4 -1
- package/ScrollableTable.js.map +1 -1
- package/Size.js +4 -1
- package/Size.js.map +1 -1
- package/Snackbar.js +6 -3
- package/Snackbar.js.map +1 -1
- package/SpinningProgress.js +6 -3
- package/SpinningProgress.js.map +1 -1
- package/Switch.js +10 -7
- package/Switch.js.map +1 -1
- package/Table.d.ts +76 -0
- package/Table.js +138 -321
- package/Table.js.map +1 -1
- package/TextField.js +9 -6
- package/TextField.js.map +1 -1
- package/Tools.d.ts +1 -1
- package/Tools.js +1 -1
- package/Tools.js.map +1 -1
- package/_virtual/_commonjsHelpers.js +6 -0
- package/_virtual/_commonjsHelpers.js.map +1 -0
- package/_virtual/_react.js +3 -0
- package/_virtual/_react.js.map +1 -0
- package/_virtual/react-jsx-runtime.development.js +3 -0
- package/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/bundle.css +832 -832
- package/index.js +3 -0
- package/package.json +3 -2
- package/router/HistoryTools.js.map +1 -1
- package/router/Link.js +4 -1
- package/router/Link.js.map +1 -1
- package/router/NavLink.js +4 -1
- package/router/NavLink.js.map +1 -1
- package/router/Route.js +6 -3
- package/router/Route.js.map +1 -1
- package/router/index.js +3 -0
- package/router/index.js.map +1 -1
- package/store/ProxyTools.js +3 -0
- package/store/ProxyTools.js.map +1 -1
- package/store/Store.js +3 -0
- package/store/Store.js.map +1 -1
package/Animated.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { inherits as _inherits, createSuper as _createSuper, createClass as _createClass, defineProperty as _defineProperty, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
|
|
3
|
+
import {className as __className} from "./ReactConstants";
|
|
4
|
+
import {children as __children} from "./ReactConstants";
|
|
2
5
|
import React from 'react';
|
|
3
6
|
import PropTypes from 'prop-types';
|
|
4
7
|
import { setOf, clearTimeout, allPropsExcept, classNames, requestAnimationFrame, setTimeout } from './Tools.js';
|
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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"}
|
package/AutocompleteSelect.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, objectSpread2 as _objectSpread2, defineProperty as _defineProperty, assertThisInitialized as _assertThisInitialized, createClass as _createClass, toConsumableArray as _toConsumableArray } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
|
|
3
|
+
import {className as __className} from "./ReactConstants";
|
|
4
|
+
import {children as __children} from "./ReactConstants";
|
|
2
5
|
import React from 'react';
|
|
3
6
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
7
|
import PropTypes from 'prop-types';
|
|
5
8
|
import TextField from './TextField.js';
|
|
6
9
|
import FilteredList, { getLabel } from './FilteredList.js';
|
|
7
|
-
import { isString, memo, orNoop, preventDefault, stopPropagation, getRandomId, isFunction, isObject,
|
|
10
|
+
import { isString, memo, continuousIncludes, orNoop, preventDefault, stopPropagation, getRandomId, isFunction, isObject, addEventListener, DOCUMENT, removeEventListener, UNDEFINED, classNames, ref } from './Tools.js';
|
|
8
11
|
import Button from './Button.js';
|
|
9
12
|
import MaterialIcon from './MaterialIcon.js';
|
|
10
13
|
import { PureComponent } from './ReactConstants.js';
|
|
@@ -24,7 +27,7 @@ var DummyChild = function DummyChild(_ref) {
|
|
|
24
27
|
onClick = _ref.onClick;
|
|
25
28
|
orNoop(dataConsumer)(label || id);
|
|
26
29
|
return ReactCreateElement("div", {
|
|
27
|
-
|
|
30
|
+
[__className]: "DummyChild",
|
|
28
31
|
onClick: onClick
|
|
29
32
|
}, label || id);
|
|
30
33
|
};
|
|
@@ -285,10 +288,10 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
285
288
|
var filterFunction = this.createFilter(prefilter, filterValue, filterValueTrimmed.toLowerCase(), filter);
|
|
286
289
|
return ReactCreateElement("div", {
|
|
287
290
|
id: id,
|
|
288
|
-
|
|
291
|
+
[__className]: classNames('AutocompleteSelect', mode, isMultipleSelect(mode) && 'multi', className, withFilter ? 'withFilter' : 'withoutFilter', isActive && 'active', errored && 'errored', inlineSelected && 'inlineSelected', hasSelected && 'hasSelected'),
|
|
289
292
|
ref: ref('el', this)
|
|
290
293
|
}, label && ReactCreateElement("label", {
|
|
291
|
-
|
|
294
|
+
[__className]: classNames("label", (hasSelected || filterValue) && 'active', hasSelected && 'hasSelected'),
|
|
292
295
|
htmlFor: 'f-' + id,
|
|
293
296
|
onClick: function onClick() {
|
|
294
297
|
if (mode === MODE_MULTIPLE_MINI_INLINE || !isActive) {
|
|
@@ -296,20 +299,20 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
296
299
|
}
|
|
297
300
|
}
|
|
298
301
|
}, label, required && ' *', withArrow && ReactCreateElement("span", {
|
|
299
|
-
|
|
302
|
+
[__className]: "arrow"
|
|
300
303
|
})), (!isActive || mode === MODE_MULTIPLE || mode === MODE_INLINE_MULTIPLE || mode === MODE_MULTIPLE_MINI_INLINE || mode === MODE_MULTIPLE_AUTO || !withFilter) && !inlineSelected && hasSelected && ReactCreateElement("div", {
|
|
301
|
-
|
|
304
|
+
[__className]: classNames('selected', !label && 'nolabel', (mode === MODE_MULTIPLE_MINI || mode === MODE_MINI || mode === MODE_MULTIPLE_MINI_INLINE) && 'clickable', selectedMode),
|
|
302
305
|
onClick: toggle
|
|
303
306
|
}, selectedMode === 'full' && selectedIds.map(function (id) {
|
|
304
307
|
return ReactCreateElement("div", {
|
|
305
|
-
|
|
308
|
+
[__className]: "value",
|
|
306
309
|
key: id
|
|
307
310
|
}, React.createElement(selectedComponent, _objectSpread2(_objectSpread2({}, childProps), {}, {
|
|
308
311
|
id: id,
|
|
309
312
|
label: getLabel(labels, id),
|
|
310
313
|
onClick: setActive
|
|
311
314
|
})), ReactCreateElement("div", {
|
|
312
|
-
|
|
315
|
+
[__className]: "button remove",
|
|
313
316
|
onClick: function onClick(e) {
|
|
314
317
|
stopPropagation(e);
|
|
315
318
|
_this3.remove(id);
|
|
@@ -324,21 +327,21 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
324
327
|
onClick: setActive
|
|
325
328
|
})), id !== selectedIds[selectedIds.length - 1] && ', ');
|
|
326
329
|
}), !label && withArrow && ReactCreateElement("span", {
|
|
327
|
-
|
|
330
|
+
[__className]: "arrow"
|
|
328
331
|
}), withReset && ReactCreateElement(Button, {
|
|
329
|
-
|
|
332
|
+
[__className]: "reset",
|
|
330
333
|
raised: false,
|
|
331
334
|
onClick: this.clean
|
|
332
335
|
}, removeIcon)), inlineSelected && hasSelected && ReactCreateElement(React.Fragment, null, selectedMode === 'full' && selectedIds.map(function (id) {
|
|
333
336
|
return ReactCreateElement("div", {
|
|
334
|
-
|
|
337
|
+
[__className]: "value",
|
|
335
338
|
key: id
|
|
336
339
|
}, React.createElement(selectedComponent, _objectSpread2(_objectSpread2({}, childProps), {}, {
|
|
337
340
|
id: id,
|
|
338
341
|
label: getLabel(labels, id),
|
|
339
342
|
onClick: setActive
|
|
340
343
|
})), ReactCreateElement("div", {
|
|
341
|
-
|
|
344
|
+
[__className]: "button remove",
|
|
342
345
|
onClick: function onClick(e) {
|
|
343
346
|
stopPropagation(e);
|
|
344
347
|
_this3.remove(id);
|
|
@@ -353,7 +356,7 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
353
356
|
onClick: setActive
|
|
354
357
|
})), id !== selectedIds[selectedIds.length - 1] && ', ');
|
|
355
358
|
})), (isActive || !hasSelected && mode !== MODE_MULTIPLE_MINI_INLINE || mode === MODE_MULTIPLE || mode === MODE_MULTIPLE_AUTO && selectedIds.length > 1 || mode === MODE_INLINE_MULTIPLE) && ReactCreateElement("div", {
|
|
356
|
-
|
|
359
|
+
[__className]: "input",
|
|
357
360
|
"data-value": filterValue
|
|
358
361
|
}, withFilter && ReactCreateElement(TextField, {
|
|
359
362
|
autoComplete: "new-password",
|
|
@@ -406,7 +409,7 @@ var AutocompleteSelect = function (_PureComponent) {
|
|
|
406
409
|
}
|
|
407
410
|
}
|
|
408
411
|
}), !withFilter && inputLabel && ReactCreateElement("label", null, inputLabel)), ReactCreateElement(FilteredList, {
|
|
409
|
-
|
|
412
|
+
[__className]: classNames(isActive && 'visible'),
|
|
410
413
|
ref: ref('list', this),
|
|
411
414
|
filter: filterFunction,
|
|
412
415
|
selectSingle: !allowCustom,
|
|
@@ -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
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
|
|
3
|
+
import {className as __className} from "./ReactConstants";
|
|
4
|
+
import {children as __children} from "./ReactConstants";
|
|
2
5
|
import 'react';
|
|
3
6
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
7
|
import { classNames, createRef, DOCUMENT, addEventListener, orNoop } from './Tools.js';
|
|
@@ -55,7 +58,7 @@ var Button = function (_PureComponent) {
|
|
|
55
58
|
style = _props.style,
|
|
56
59
|
disabled = _props.disabled;
|
|
57
60
|
return ReactCreateElement("button", {
|
|
58
|
-
|
|
61
|
+
[__className]: classNames('Button', className, disabled && 'disabled', raised && 'raised', flat && 'flat', round && 'round'),
|
|
59
62
|
onFocus: onFocus,
|
|
60
63
|
disabled: disabled,
|
|
61
64
|
style: style,
|
|
@@ -64,7 +67,7 @@ var Button = function (_PureComponent) {
|
|
|
64
67
|
onMouseDown: onMouseDown,
|
|
65
68
|
ref: el
|
|
66
69
|
}, children, ReactCreateElement("span", {
|
|
67
|
-
|
|
70
|
+
[__className]: classNames("ripple", rippleClassName()),
|
|
68
71
|
ref: ripple
|
|
69
72
|
}));
|
|
70
73
|
};
|
|
@@ -80,7 +83,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
80
83
|
disabled: PropTypes.bool,
|
|
81
84
|
withRipple: PropTypes.bool,
|
|
82
85
|
type: PropTypes.oneOf(['button', 'submit', 'reset']),
|
|
83
|
-
|
|
86
|
+
[__className]: PropTypes.string,
|
|
84
87
|
onClick: PropTypes.func,
|
|
85
88
|
onFocus: PropTypes.func,
|
|
86
89
|
style: PropTypes.object
|
package/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["
|
|
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
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, assertThisInitialized as _assertThisInitialized, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
|
|
3
|
+
import {className as __className} from "./ReactConstants";
|
|
4
|
+
import {children as __children} from "./ReactConstants";
|
|
2
5
|
import 'react';
|
|
3
6
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
7
|
import { classNames, getRandomId } from './Tools.js';
|
|
@@ -24,7 +27,7 @@ var Checkbox = function (_PureComponent) {
|
|
|
24
27
|
disabled = _props.disabled;
|
|
25
28
|
var id = props().id || randomId;
|
|
26
29
|
return ReactCreateElement("div", {
|
|
27
|
-
|
|
30
|
+
[__className]: classNames("Checkbox", className)
|
|
28
31
|
}, ReactCreateElement("input", {
|
|
29
32
|
name: name,
|
|
30
33
|
id: id,
|
|
@@ -45,7 +48,7 @@ if (process.env.NODE_ENV !== 'production') {
|
|
|
45
48
|
onChange: PropTypes.func.isRequired,
|
|
46
49
|
value: PropTypes.bool,
|
|
47
50
|
disabled: PropTypes.bool,
|
|
48
|
-
|
|
51
|
+
[__className]: PropTypes.string,
|
|
49
52
|
label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
|
|
50
53
|
name: PropTypes.string,
|
|
51
54
|
id: PropTypes.oneOfType([PropTypes.string, PropTypes.number])
|
package/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sources":["
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../src/react-ui-basics/Checkbox.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './Checkbox.css'\nimport {classNames, getRandomId} from \"./Tools\";\nimport {PureComponent, render, propsGetter} from \"./ReactConstants\";\nimport PropTypes from \"prop-types\";\n\nclass Checkbox extends PureComponent {\n\n constructor(properties) {\n super(properties);\n const randomId = getRandomId('cb-');\n const props = propsGetter(this);\n\n this[render] = () => {\n const {label, name, onChange, value, className, disabled} = props();\n const id = props().id || randomId;\n return (\n <div className={classNames(\"Checkbox\", className)}>\n <input name={name} id={id} type=\"checkbox\" onChange={onChange} checked={value} disabled={disabled}/>\n <label htmlFor={id}>{label}</label>\n </div>\n )\n }\n }\n}\n\nif (window.isNotProductionEnvironment) {\n Checkbox.propTypes = {\n onChange: PropTypes.func.isRequired,\n value: PropTypes.bool,\n disabled: PropTypes.bool,\n className: PropTypes.string,\n label: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n name: PropTypes.string,\n id: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n };\n}\n\nexport default Checkbox"],"names":["Checkbox","properties","randomId","getRandomId","props","propsGetter","render","label","name","onChange","value","className","disabled","id","classNames","PureComponent","window","isNotProductionEnvironment","propTypes","PropTypes","func","isRequired","bool","string","oneOfType","element","number"],"mappings":";;;;;;;IAOMA;;;AAEF,EAAA,SAAA,QAAA,CAAYC,UAAZ,EAAwB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACpB,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,UAAN,CAAA,CAAA;AACA,IAAA,IAAMC,QAAQ,GAAGC,WAAW,CAAC,KAAD,CAA5B,CAAA;AACA,IAAMC,IAAAA,KAAK,GAAGC,WAAW,CAAzB,sBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAEA,IAAKC,KAAAA,CAAAA,MAAL,IAAe,YAAM;AACjB,MAAA,IAAA,MAAA,GAA4DF,KAAK,EAAjE;AAAA,UAAOG,KAAP,UAAOA,KAAP;AAAA,UAAcC,IAAd,UAAcA,IAAd;AAAA,UAAoBC,QAApB,UAAoBA,QAApB;AAAA,UAA8BC,KAA9B,UAA8BA,KAA9B;AAAA,UAAqCC,SAArC,UAAqCA,SAArC;AAAA,UAAgDC,QAAhD,UAAgDA,QAAhD,CAAA;AACA,MAAA,IAAMC,EAAE,GAAGT,KAAK,EAAGS,CAAAA,EAAR,IAAcX,QAAzB,CAAA;AACA,MACI,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAEY,UAAU,CAAC,UAAD,EAAaH,SAAb,CAAA;AAA1B,OACI,EAAA,kBAAA,CAAA,OAAA,EAAA;AAAO,QAAA,IAAI,EAAEH,IAAb;AAAmB,QAAA,EAAE,EAAEK,EAAvB;AAA2B,QAAA,IAAI,EAAC,UAAhC;AAA2C,QAAA,QAAQ,EAAEJ,QAArD;AAA+D,QAAA,OAAO,EAAEC,KAAxE;AAA+E,QAAA,QAAQ,EAAEE,QAAAA;AAAzF,OAAA,CADJ,EAEI,kBAAA,CAAA,OAAA,EAAA;AAAO,QAAA,OAAO,EAAEC,EAAAA;AAAhB,OAAqBN,EAAAA,KAArB,CAFJ,CADJ,CAAA;AAMH,KATD,CAAA;AALoB,IAAA,OAAA,KAAA,CAAA;AAevB,GAAA;;EAjBkBQ;AAoBvB,IAAIC,MAAM,CAACC,0BAAX,EAAuC;AACnCjB,EAAAA,QAAQ,CAACkB,SAAT,GAAqB;AACjBT,IAAAA,QAAQ,EAAEU,SAAS,CAACC,IAAV,CAAeC,UADR;AAEjBX,IAAAA,KAAK,EAAES,SAAS,CAACG,IAFA;AAGjBV,IAAAA,QAAQ,EAAEO,SAAS,CAACG,IAHH;AAIjBX,IAAAA,SAAS,EAAEQ,SAAS,CAACI,MAJJ;AAKjBhB,IAAAA,KAAK,EAAEY,SAAS,CAACK,SAAV,CAAoB,CACvBL,SAAS,CAACI,MADa,EAEvBJ,SAAS,CAACM,OAFa,CAApB,CALU;AASjBjB,IAAAA,IAAI,EAAEW,SAAS,CAACI,MATC;AAUjBV,IAAAA,EAAE,EAAEM,SAAS,CAACK,SAAV,CAAoB,CACpBL,SAAS,CAACI,MADU,EAEpBJ,SAAS,CAACO,MAFU,CAApB,CAAA;AAVa,GAArB,CAAA;AAeH,CAAA;AAED,iBAAe1B,QAAf;;;;"}
|
package/CircleProgress.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import 'react';
|
|
2
|
+
import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
|
|
3
|
+
import {className as __className} from "./ReactConstants";
|
|
4
|
+
import {children as __children} from "./ReactConstants";
|
|
2
5
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
3
6
|
import PropTypes from 'prop-types';
|
|
4
7
|
|
|
@@ -11,11 +14,11 @@ var CircleProgress = function CircleProgress(_ref) {
|
|
|
11
14
|
var value = _ref.value;
|
|
12
15
|
value = Number.parseFloat(value);
|
|
13
16
|
return ReactCreateElement("div", {
|
|
14
|
-
|
|
17
|
+
[__className]: "CircleProgress"
|
|
15
18
|
}, ReactCreateElement("svg", {
|
|
16
19
|
viewBox: "0 0 24 24"
|
|
17
20
|
}, ReactCreateElement("path", {
|
|
18
|
-
|
|
21
|
+
[__className]: "line",
|
|
19
22
|
style: {
|
|
20
23
|
strokeDashoffset: dashoffset(Number.isFinite(value) ? value : 0),
|
|
21
24
|
strokeDasharray: length
|
package/CircleProgress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircleProgress.js","sources":["
|
|
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;;;;"}
|
package/DNDContainer.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, createClass as _createClass } from './_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
|
|
3
|
+
import {className as __className} from "./ReactConstants";
|
|
4
|
+
import {children as __children} from "./ReactConstants";
|
|
2
5
|
import { Component } from 'react';
|
|
3
6
|
import ReactCreateElement from './ReactCreateElement.js';
|
|
4
7
|
import { setTimeout, clearTimeout, preventDefault, addEventListener, orNoop, NOOP, removeEventListener, WINDOW, DOCUMENT, requestAnimationFrame, classNames, ref } from './Tools.js';
|
|
@@ -222,10 +225,10 @@ var DNDContainer = function (_Component) {
|
|
|
222
225
|
className = _this$props.className;
|
|
223
226
|
var draggable = this.state.draggable;
|
|
224
227
|
return ReactCreateElement("div", {
|
|
225
|
-
|
|
228
|
+
[__className]: classNames('DNDContainer', className),
|
|
226
229
|
ref: ref('container', this)
|
|
227
230
|
}, children, ReactCreateElement("div", {
|
|
228
|
-
|
|
231
|
+
[__className]: "overlay"
|
|
229
232
|
}, draggable));
|
|
230
233
|
}
|
|
231
234
|
}, {
|