react-ui-basics 0.0.208 → 0.0.210

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 (87) hide show
  1. package/Animated.js.map +1 -1
  2. package/AutocompleteSelect.js.map +1 -1
  3. package/Button.js.map +1 -1
  4. package/Checkbox.d.ts +16 -0
  5. package/Checkbox.js +14 -52
  6. package/Checkbox.js.map +1 -1
  7. package/CircleProgress.d.ts +12 -0
  8. package/CircleProgress.js +8 -31
  9. package/CircleProgress.js.map +1 -1
  10. package/CommonFields.d.ts +18 -0
  11. package/CommonFields.js +18 -20
  12. package/CommonFields.js.map +1 -1
  13. package/DNDDraggable.js.map +1 -1
  14. package/DNDDroppable.js.map +1 -1
  15. package/Dialog.js.map +1 -1
  16. package/DropFileInput.d.ts +20 -0
  17. package/DropFileInput.js +6 -37
  18. package/DropFileInput.js.map +1 -1
  19. package/DroppableHorizontalList.js.map +1 -1
  20. package/DroppableList.js.map +1 -1
  21. package/Dropzone.js.map +1 -1
  22. package/FilteredList.js.map +1 -1
  23. package/FloatingActionButton.d.ts +19 -0
  24. package/FloatingActionButton.js +7 -28
  25. package/FloatingActionButton.js.map +1 -1
  26. package/FormUploadProgress.js.map +1 -1
  27. package/ImageGallery.js +7 -6
  28. package/ImageGallery.js.map +1 -1
  29. package/MaterialIcon.d.ts +11 -0
  30. package/MaterialIcon.js +3 -18
  31. package/MaterialIcon.js.map +1 -1
  32. package/Modal.js.map +1 -1
  33. package/ModalMenu.d.ts +15 -0
  34. package/ModalMenu.js +23 -62
  35. package/ModalMenu.js.map +1 -1
  36. package/ReadyListener.js.map +1 -1
  37. package/Scrollable.css +3 -0
  38. package/Scrollable.js +13 -6
  39. package/Scrollable.js.map +1 -1
  40. package/Size.d.ts +8 -0
  41. package/Size.js +36 -35
  42. package/Size.js.map +1 -1
  43. package/Snackbar.d.ts +12 -0
  44. package/Snackbar.js +40 -62
  45. package/Snackbar.js.map +1 -1
  46. package/SpinningProgress.d.ts +4 -0
  47. package/SpinningProgress.js +3 -18
  48. package/SpinningProgress.js.map +1 -1
  49. package/Switch.d.ts +17 -0
  50. package/Switch.js +13 -60
  51. package/Switch.js.map +1 -1
  52. package/Table.js +1 -1
  53. package/Table.js.map +1 -1
  54. package/TextField.js.map +1 -1
  55. package/Tools.d.ts +1 -1
  56. package/Tools.js.map +1 -1
  57. package/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  58. package/bundle.css +902 -898
  59. package/package.json +22 -22
  60. package/router/HistoryTools.js.map +1 -1
  61. package/router/Link.js.map +1 -1
  62. package/router/NavLink.js.map +1 -1
  63. package/router/Route.js.map +1 -1
  64. package/src/Checkbox.tsx +37 -0
  65. package/src/CircleProgress.tsx +29 -0
  66. package/src/{CommonFields.js → CommonFields.ts} +1 -1
  67. package/src/DropFileInput.tsx +32 -0
  68. package/src/FloatingActionButton.tsx +28 -0
  69. package/src/MaterialIcon.tsx +1830 -0
  70. package/src/{ModalMenu.js → ModalMenu.tsx} +18 -9
  71. package/src/Scrollable.css +3 -0
  72. package/src/Scrollable.js +16 -5
  73. package/src/Scrollable.scss +4 -0
  74. package/src/{Size.js → Size.tsx} +24 -22
  75. package/src/{Snackbar.js → Snackbar.tsx} +22 -16
  76. package/src/SpinningProgress.tsx +13 -0
  77. package/src/Switch.tsx +42 -0
  78. package/src/Table.tsx +1 -1
  79. package/src/Tools.ts +1 -1
  80. package/store/ProxyTools.js.map +1 -1
  81. package/src/Checkbox.js +0 -46
  82. package/src/CircleProgress.js +0 -32
  83. package/src/DropFileInput.js +0 -39
  84. package/src/FloatingActionButton.js +0 -29
  85. package/src/MaterialIcon.js +0 -1832
  86. package/src/SpinningProgress.js +0 -13
  87. package/src/Switch.js +0 -48
@@ -1,26 +1,35 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import './ModalMenu.css'; import React from 'react';
1
+ import React, {MouseEventHandler} from 'react';
2
2
  import ReactCreateElement from './ReactCreateElement';
3
3
  import './ModalMenu.css'
4
4
  import {PureComponent, stateGS, render} from "./ReactConstants";
5
5
  import {classNames} from "./Tools";
6
6
  import Animated from "./Animated";
7
7
  import Button from "./Button";
8
- import MaterialIcon from "./MaterialIcon";
8
+ import MaterialIcon, {MaterialIconType} from "./MaterialIcon";
9
9
 
10
- class ModalMenu extends PureComponent {
10
+ export interface ModalMenuItem {
11
+ icon: MaterialIconType,
12
+ action: MouseEventHandler
13
+ }
14
+
15
+ export interface ModalMenuProps {
16
+ items: ModalMenuItem[]
17
+ }
18
+
19
+ class ModalMenu extends PureComponent<ModalMenuProps> {
11
20
 
12
21
  constructor(props) {
13
22
  super(props);
14
23
  this.state = {};
15
- const isOpen = stateGS(this);
24
+ const isOpen = stateGS<boolean>(this);
16
25
 
17
26
  const toggle = () => {
18
27
  isOpen(!isOpen());
19
28
  };
20
- this[ReactConstants[3]] = () => {
21
- const {items} = __props(this);
29
+ this[render] = () => {
30
+ const {items} = this.props;
22
31
  const filtered = (items || []).filter(it => !!it);
23
- if (__length(filtered) === 0) return null;
32
+ if (filtered.length === 0) return null;
24
33
 
25
34
  const open = isOpen();
26
35
 
@@ -30,9 +39,9 @@ class ModalMenu extends PureComponent {
30
39
  mounting={200}
31
40
  unmounting={200}
32
41
  mountingDelay={i * 50}
33
- unmountingDelay={(__length(filtered) - i - 1) * 50}
42
+ unmountingDelay={(filtered.length - i - 1) * 50}
34
43
  styles={{
35
- mounting: {right: ((__length(filtered) - i) * 36 + 5 + (__length(filtered) - i) * 5) + `px`},
44
+ mounting: {right: ((filtered.length - i) * 36 + 5 + (filtered.length - i) * 5) + `px`},
36
45
  }}
37
46
  >
38
47
  <Button flat={true} round={true} onClick={it.action}>
@@ -25,6 +25,9 @@
25
25
  .Scrollable.without-scroll-horizontal {
26
26
  max-width: unset;
27
27
  }
28
+ .Scrollable.undefined-horizontal {
29
+ max-width: unset;
30
+ }
28
31
  .Scrollable.without-scroll {
29
32
  padding-right: 0;
30
33
  max-height: unset;
package/src/Scrollable.js CHANGED
@@ -22,6 +22,7 @@ import {propsGetter, stateGS, PureComponent, render, componentDidMount, componen
22
22
  export const SCROLLBAR_MODE_HIDDEN = 'hidden';
23
23
  export const SCROLLBAR_MODE_VISIBLE = 'visible';
24
24
  export const SCROLLBAR_MODE_AUTO = 'auto';
25
+ export const SCROLLBAR_RESIZE_DISABLED = 'disabled';
25
26
 
26
27
  let NATIVE_SCROLL_WIDTH = -1;
27
28
  let NATIVE_SCROLL_HEIGHT = -1;
@@ -330,11 +331,21 @@ class Scrollable extends PureComponent {
330
331
  styleOf(thumbH).left = (position * (scrollbarWidth - offsetWidthOf(thumbH))) + 'px';
331
332
  };
332
333
 
333
- initTimeout = setTimeout(() => {
334
- resizeInterval = setInterval(() => {
334
+ let update;
335
+ let sbm = scrollBarModeOf(props());
336
+ let hsbm = horizontalScrollBarModeOf(props());
337
+ if (sbm !== SCROLLBAR_RESIZE_DISABLED && !hsbm === SCROLLBAR_RESIZE_DISABLED) {
338
+ update = () => {
335
339
  updateVerticalScrollbar();
336
340
  updateHorizontalScrollbar();
337
- }, 50);
341
+ };
342
+ } else if (sbm !== SCROLLBAR_RESIZE_DISABLED)
343
+ update = updateVerticalScrollbar
344
+ else
345
+ update = updateVerticalScrollbar
346
+
347
+ initTimeout = setTimeout(() => {
348
+ resizeInterval = setInterval(update, 50);
338
349
  }, 200)
339
350
  };
340
351
 
@@ -384,8 +395,8 @@ Scrollable.defaultProps = {
384
395
 
385
396
  if (process.env.NODE_ENV !== 'production') {
386
397
  Scrollable.propTypes = {
387
- scrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE]),
388
- horizontalScrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE]),
398
+ scrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE, SCROLLBAR_RESIZE_DISABLED]),
399
+ horizontalScrollBarMode: PropTypes.oneOf([SCROLLBAR_MODE_AUTO, SCROLLBAR_MODE_HIDDEN, SCROLLBAR_MODE_VISIBLE, SCROLLBAR_RESIZE_DISABLED]),
389
400
  [ReactConstants[5]]: PropTypes.string,
390
401
  style: PropTypes.object,
391
402
  onScrolledToBottom: PropTypes.func,
@@ -34,6 +34,10 @@
34
34
  max-width: unset;
35
35
  }
36
36
 
37
+ &.undefined-horizontal {
38
+ max-width: unset;
39
+ }
40
+
37
41
  &.without-scroll {
38
42
  padding-right: 0;
39
43
  max-height: unset;
@@ -1,28 +1,10 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import React from 'react';
1
+ import React from 'react';
2
2
  import ReactCreateElement from './ReactCreateElement';
3
3
  import {isUndefined} from "./Tools";
4
4
 
5
- const Size = ({value}) => (
6
- <span className="Size">
7
- {formatNumber(value, 1)}&nbsp;{formatAbbreviation(value)}
8
- </span>
9
- );
5
+ export type ToAbbreviationType = 'B' | 'KB' | 'MB' | 'GB';
10
6
 
11
- export const formatNumberWithMaxLength = (size, fractionalLength, toAbbreviation, maxLength) => {
12
- let result;
13
- if (isUndefined(fractionalLength))
14
- fractionalLength = 1;
15
- if (isUndefined(maxLength))
16
- maxLength = -1;
17
-
18
- do {
19
- result = formatNumber(size, fractionalLength, toAbbreviation);
20
- fractionalLength--;
21
- } while (maxLength !== -1 && fractionalLength >= 0 && __length(result) > maxLength);
22
- return result;
23
- };
24
-
25
- function formatNumber(size, fractionalLength, toAbbreviation) {
7
+ const formatNumber = (size: number, fractionalLength: number, toAbbreviation?: ToAbbreviationType) => {
26
8
  if (size < 1000 && !toAbbreviation || toAbbreviation === 'B')
27
9
  return size + '';
28
10
  size /= 1024;
@@ -35,7 +17,21 @@ function formatNumber(size, fractionalLength, toAbbreviation) {
35
17
  return size.toFixed(fractionalLength);
36
18
  };
37
19
 
38
- export const formatAbbreviation = (size) => {
20
+ export const formatNumberWithMaxLength = (size: number, fractionalLength: number, toAbbreviation?: ToAbbreviationType, maxLength?: number) => {
21
+ let result;
22
+ if (isUndefined(fractionalLength))
23
+ fractionalLength = 1;
24
+ if (isUndefined(maxLength))
25
+ maxLength = -1;
26
+
27
+ do {
28
+ result = formatNumber(size, fractionalLength, toAbbreviation);
29
+ fractionalLength--;
30
+ } while (maxLength !== -1 && fractionalLength >= 0 && result.length > maxLength);
31
+ return result;
32
+ };
33
+
34
+ export const formatAbbreviation = (size: number) => {
39
35
  if (size < 1000)
40
36
  return 'B';
41
37
  size /= 1024;
@@ -48,4 +44,10 @@ export const formatAbbreviation = (size) => {
48
44
  return 'GB';
49
45
  };
50
46
 
47
+ const Size = ({value}: { value: number }) => (
48
+ <span className="Size">
49
+ {formatNumber(value, 1)}&nbsp;{formatAbbreviation(value)}
50
+ </span>
51
+ );
52
+
51
53
  export default Size
@@ -1,14 +1,25 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import './Snackbar.css'; import React from 'react';
1
+ import React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
3
  import ReactCreateElement from './ReactCreateElement';
4
- import PropTypes from "prop-types";
5
4
  import './Snackbar.css'
6
5
  import {classNames, setTimeout, clearTimeout} from "./Tools";
7
6
  import {componentWillUnmount, render, props, className, PureComponent, stateGSs} from "./ReactConstants";
8
7
 
9
8
  const shown = 'shown';
10
9
 
11
- class Snackbar extends PureComponent {
10
+ export interface SnackbarProps {
11
+ className?: string,
12
+ text?: string,
13
+ container?: Element,
14
+ }
15
+
16
+ type SnackbarState = [
17
+ (v?: boolean) => boolean,
18
+ (v?: string) => string,
19
+ (v?: string) => string,
20
+ ]
21
+
22
+ class Snackbar extends PureComponent<SnackbarProps> {
12
23
 
13
24
  constructor(properties) {
14
25
  super(properties);
@@ -18,28 +29,28 @@ class Snackbar extends PureComponent {
18
29
  isShow,
19
30
  getText,
20
31
  clazzName
21
- ] = stateGSs(this, 3);
32
+ ] = stateGSs(this, 3) as SnackbarState;
22
33
 
23
34
  let timeout;
24
- that[ReactConstants[1]] = () => {
35
+ that[componentWillUnmount] = () => {
25
36
  clearTimeout(timeout);
26
37
  };
27
- that[ReactConstants[3]] = () => {
38
+ that[render] = () => {
28
39
  const _props = props(that);
29
40
  const {container} = _props;
30
41
 
31
- const el = <div className={classNames(`Snackbar`, _props[ReactConstants[5]], isShow() && shown, clazzName())}>
42
+ const el = <div className={classNames(`Snackbar`, _props[className], isShow() && shown, clazzName())}>
32
43
  <div className="message">{getText() || _props.text}</div>
33
44
  </div>;
34
45
  return container ? ReactDOM.createPortal(el, container) : el;
35
46
  };
36
47
 
37
- const hide = ()=>{
48
+ const hide = () => {
38
49
  isShow(false)
39
50
  clazzName(null)
40
51
  }
41
52
 
42
- that.show = (text, className) => {
53
+ that.show = (text: string, className: string) => {
43
54
  if (isShow()) {
44
55
  clearTimeout(timeout);
45
56
  isShow(false);
@@ -52,14 +63,9 @@ class Snackbar extends PureComponent {
52
63
  }
53
64
  }
54
65
  }
55
- }
56
66
 
57
- if (process.env.NODE_ENV !== 'production') {
58
- Snackbar.propTypes = {
59
- [ReactConstants[5]]: PropTypes.string,
60
- text: PropTypes.string,
61
- container: PropTypes.node,
62
- };
67
+ show(text: string, className: string) {
68
+ }
63
69
  }
64
70
 
65
71
  export default Snackbar;
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import ReactCreateElement from './ReactCreateElement';
3
+ import './SpinningProgress.css'
4
+
5
+ const SpinningProgress = () => (
6
+ <div className="SpinningProgress">
7
+ <svg className="circular" viewBox="0 0 24 24">
8
+ <circle className="line" cx="12" cy="12" r="8.75" fill="none"/>
9
+ </svg>
10
+ </div>
11
+ );
12
+
13
+ export default SpinningProgress;
package/src/Switch.tsx ADDED
@@ -0,0 +1,42 @@
1
+ import React, {ChangeEventHandler, MouseEventHandler, ReactElement} from 'react';
2
+ import ReactCreateElement from './ReactCreateElement';
3
+ import './Switch.css'
4
+ import {getRandomId, classNames} from "./Tools";
5
+ import {PureComponent, render} from "./ReactConstants";
6
+
7
+ export interface SwitchProps {
8
+ value: boolean,
9
+ id?: string | number,
10
+ label?: string | ReactElement,
11
+ className?: string,
12
+ labelOn?: string | ReactElement,
13
+ labelOff?: string | ReactElement,
14
+ onChange?: ChangeEventHandler,
15
+ onClick?: MouseEventHandler
16
+ }
17
+
18
+ class Switch extends PureComponent<SwitchProps> {
19
+
20
+ constructor(props) {
21
+ super(props);
22
+ const randomId = getRandomId('sw-');
23
+
24
+ this[render] = () => {
25
+ const {label, className, labelOn, labelOff, onChange, value, onClick} = this.props;
26
+ const id = (this.props.id || randomId) + '';
27
+ return (
28
+ <div className={classNames("Switch", className)} onClick={onClick}>
29
+ <input type="checkbox" id={id} className="switch-input" onChange={onChange} checked={value}/>
30
+
31
+ <label htmlFor={id} className="switch-label">
32
+ {label && <span className="label">{label}</span>}
33
+ {labelOn && <span className="toggle--on">{labelOn}</span>}
34
+ {labelOff && <span className="toggle--off">{labelOff}</span>}
35
+ </label>
36
+ </div>
37
+ )
38
+ }
39
+ }
40
+ }
41
+
42
+ export default Switch
package/src/Table.tsx CHANGED
@@ -386,7 +386,7 @@ class Row<T> extends PureComponent<RowProps<T>> {
386
386
  stopPropagation(e);
387
387
  preventDefault(e);
388
388
  setValue(!value, item, column.field)
389
- }} value={value}/>
389
+ }} value={!!value}/>
390
390
  )}
391
391
  {displayEditor && isFunction(column.editor)
392
392
  && (column.editor as ((t: T, cancel: () => void, isEditing: boolean) => ReactElement))(item, cancelEditing, isEditing)}
package/src/Tools.ts CHANGED
@@ -17,7 +17,7 @@ export const NOOP = () => {
17
17
 
18
18
  export const orNoop = <T>(f: (...a: any) => T) => f || NOOP;
19
19
 
20
- export const getRandomId = (prefix) => prefix + Math.random();
20
+ export const getRandomId = (prefix:string) => prefix + Math.random();
21
21
 
22
22
  export const ref = (name, component) => {
23
23
  const refKey = "__" + name;
@@ -1 +1 @@
1
- {"version":3,"file":"ProxyTools.js","sources":["../src/store/ProxyTools.js"],"sourcesContent":["import {UNDEFINED} from \"../Tools\";\n\nexport const createProxy = (target) => {\n if(!target)\n return target\n if (target.__isProxy)\n return target;\n\n let changedValue = UNDEFINED;\n let deletedKeys = UNDEFINED;\n let innerProxies = UNDEFINED\n const isChanged = () => changedValue || (innerProxies && Object.values(innerProxies).some(it => it.__changed));\n\n return new Proxy(target, {\n get: function (target, prop) {\n if (prop === '__isProxy')\n return true\n if (prop === '__changed')\n return isChanged();\n if (prop === 'bake')\n return () => {\n // console.log('bake', changedValue, innerProxies)\n if (!isChanged())\n return target\n\n if (changedValue && !innerProxies)\n return changedValue\n\n if (innerProxies) {\n const result = changedValue || (Array.isArray(target) ? [...target] : {...target});\n\n for (let key in innerProxies) {\n result[key] = innerProxies[key].bake()\n }\n return result\n }\n\n throw new Error('state not implemented yet')\n }\n\n // console.log('get', {target, prop})\n const innerProxy = innerProxies && innerProxies[prop];\n if (innerProxy)\n return innerProxy\n\n const changed = changedValue && changedValue[prop]\n if (changed !== UNDEFINED)\n return changed\n\n if (deletedKeys && deletedKeys[prop])\n return null\n\n const value = target[prop];\n if (value && typeof value === 'object') {\n !innerProxies && (innerProxies = {})\n return innerProxies[prop] = createProxy(value)\n }\n\n return value;\n },\n set: function (target, prop, newval) {\n // console.log('set', {target, prop, newval})\n if (!changedValue) changedValue = Array.isArray(target) ? [...target] : {...target}\n\n if (newval && typeof newval === 'object') {\n !innerProxies && (innerProxies = {})\n innerProxies[prop] = newval = createProxy(newval)\n } else {\n innerProxies && (delete innerProxies[prop])\n }\n changedValue[prop] = newval\n // console.log('changedValue', changedValue)\n return true;\n },\n deleteProperty: function (target, prop) {\n // console.log('delete', {target, prop})\n !changedValue && (changedValue = Array.isArray(target) ? [...target] : {...target})\n\n if (!prop in changedValue)\n return false;\n\n delete changedValue[prop]\n innerProxies && delete innerProxies[prop]\n !deletedKeys && (deletedKeys = {})\n deletedKeys[prop] = true;\n return true;\n }\n })\n}\n"],"names":["createProxy","target","__isProxy","changedValue","UNDEFINED","deletedKeys","innerProxies","isChanged","Object","values","some","it","__changed","Proxy","get","prop","result","Array","isArray","key","bake","Error","innerProxy","changed","value","set","newval","_objectSpread","deleteProperty"],"mappings":"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"}
1
+ {"version":3,"file":"ProxyTools.js","sources":["../src/store/ProxyTools.js"],"sourcesContent":["import {UNDEFINED} from \"../Tools\";\n\nexport const createProxy = (target) => {\n if(!target)\n return target\n if (target.__isProxy)\n return target;\n\n let changedValue = UNDEFINED;\n let deletedKeys = UNDEFINED;\n let innerProxies = UNDEFINED\n const isChanged = () => changedValue || (innerProxies && Object.values(innerProxies).some(it => it.__changed));\n\n return new Proxy(target, {\n get: function (target, prop) {\n if (prop === '__isProxy')\n return true\n if (prop === '__changed')\n return isChanged();\n if (prop === 'bake')\n return () => {\n // console.log('bake', changedValue, innerProxies)\n if (!isChanged())\n return target\n\n if (changedValue && !innerProxies)\n return changedValue\n\n if (innerProxies) {\n const result = changedValue || (Array.isArray(target) ? [...target] : {...target});\n\n for (let key in innerProxies) {\n result[key] = innerProxies[key].bake()\n }\n return result\n }\n\n throw new Error('state not implemented yet')\n }\n\n // console.log('get', {target, prop})\n const innerProxy = innerProxies && innerProxies[prop];\n if (innerProxy)\n return innerProxy\n\n const changed = changedValue && changedValue[prop]\n if (changed !== UNDEFINED)\n return changed\n\n if (deletedKeys && deletedKeys[prop])\n return null\n\n const value = target[prop];\n if (value && typeof value === 'object') {\n !innerProxies && (innerProxies = {})\n return innerProxies[prop] = createProxy(value)\n }\n\n return value;\n },\n set: function (target, prop, newval) {\n // console.log('set', {target, prop, newval})\n if (!changedValue) changedValue = Array.isArray(target) ? [...target] : {...target}\n\n if (newval && typeof newval === 'object') {\n !innerProxies && (innerProxies = {})\n innerProxies[prop] = newval = createProxy(newval)\n } else {\n innerProxies && (delete innerProxies[prop])\n }\n changedValue[prop] = newval\n // console.log('changedValue', changedValue)\n return true;\n },\n deleteProperty: function (target, prop) {\n // console.log('delete', {target, prop})\n !changedValue && (changedValue = Array.isArray(target) ? [...target] : {...target})\n\n if (!prop in changedValue)\n return false;\n\n delete changedValue[prop]\n innerProxies && delete innerProxies[prop]\n !deletedKeys && (deletedKeys = {})\n deletedKeys[prop] = true;\n return true;\n }\n })\n}\n"],"names":["createProxy","target","__isProxy","changedValue","UNDEFINED","deletedKeys","innerProxies","isChanged","Object","values","some","it","__changed","Proxy","get","prop","result","Array","isArray","_toConsumableArray","_objectSpread","key","bake","Error","innerProxy","changed","value","_typeof","set","newval","deleteProperty"],"mappings":"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"}
package/src/Checkbox.js DELETED
@@ -1,46 +0,0 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import './Checkbox.css'; import React from 'react';
2
- import ReactCreateElement from './ReactCreateElement';
3
- import './Checkbox.css'
4
- import {classNames, getRandomId} from "./Tools";
5
- import {PureComponent, render, propsGetter} from "./ReactConstants";
6
- import PropTypes from "prop-types";
7
-
8
- class Checkbox extends PureComponent {
9
-
10
- constructor(properties) {
11
- super(properties);
12
- const randomId = getRandomId('cb-');
13
- const props = propsGetter(this);
14
-
15
- this[ReactConstants[3]] = () => {
16
- const {label, name, onChange, value, className, disabled} = props();
17
- const id = props().id || randomId;
18
- return (
19
- <div className={classNames("Checkbox", className)}>
20
- <input name={name} id={id} type="checkbox" onChange={onChange} checked={value} disabled={disabled}/>
21
- <label htmlFor={id}>{label}</label>
22
- </div>
23
- )
24
- }
25
- }
26
- }
27
-
28
- if (process.env.NODE_ENV !== 'production') {
29
- Checkbox.propTypes = {
30
- [ReactConstants[7]]: PropTypes.func.isRequired,
31
- value: PropTypes.bool,
32
- disabled: PropTypes.bool,
33
- [ReactConstants[5]]: PropTypes.string,
34
- label: PropTypes.oneOfType([
35
- PropTypes.string,
36
- PropTypes.element
37
- ]),
38
- name: PropTypes.string,
39
- id: PropTypes.oneOfType([
40
- PropTypes.string,
41
- PropTypes.number
42
- ]),
43
- };
44
- }
45
-
46
- export default Checkbox
@@ -1,32 +0,0 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import './CircleProgress.css'; import React from 'react';
2
- import ReactCreateElement from './ReactCreateElement';
3
- import PropTypes from "prop-types";
4
- import './CircleProgress.css'
5
-
6
- const radius = 8.75;
7
- const length = 2 * Math.PI * radius;
8
-
9
- const dashoffset = (percent) => length * (100 - percent) / 100;
10
-
11
- const CircleProgress = ({value}) => {
12
- value = Number.parseFloat(value);
13
- return (
14
- <div className="CircleProgress">
15
- <svg viewBox="0 0 24 24">
16
- <path className="line" style={{strokeDashoffset: dashoffset(Number.isFinite(value) ? value : 0), strokeDasharray: length}}
17
- d="M12 3.25A8.75 8.75 0 1 1 3.25 12 A 8.75,8.75 0 0 1 12,3.25"/>
18
- </svg>
19
- </div>
20
- );
21
- };
22
-
23
- CircleProgress.defaultProps = {
24
- value: 0,
25
- };
26
- if (process.env.NODE_ENV !== 'production') {
27
- CircleProgress.propTypes = {
28
- value: PropTypes.number,
29
- };
30
- }
31
-
32
- export default CircleProgress;
@@ -1,39 +0,0 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import './DropFileInput.css'; import React from 'react';
2
- import ReactCreateElement from './ReactCreateElement';
3
- import './DropFileInput.css'
4
- import Dropzone from "./Dropzone";
5
- import PropTypes from "prop-types";
6
- import {classNames} from "./Tools";
7
- import MaterialIcon from "./MaterialIcon";
8
-
9
- const DropFileInput = ({icon, label, onDrop, droppable, multiple, accept}) => (
10
- <section className="DropFileInput">
11
- <Dropzone droppable={droppable} onDrop={onDrop} accept={accept} multiple={multiple}>
12
- <MaterialIcon className={classNames(`icon`, label && 'withText')} icon={icon}/>
13
- {label && <div>{label}</div>}
14
- </Dropzone>
15
- </section>
16
- );
17
-
18
- DropFileInput.defaultProps = {
19
- icon: 'cloud_upload',
20
- droppable: false,
21
- multiple: true,
22
- };
23
-
24
- if (process.env.NODE_ENV !== 'production') {
25
- DropFileInput.propTypes = {
26
- icon: MaterialIcon.propTypes.icon,
27
- label: PropTypes.oneOfType([
28
- PropTypes.string,
29
- PropTypes.element
30
- ]),
31
- droppable: PropTypes.bool,
32
- onDrop: PropTypes.func,
33
- multiple: PropTypes.bool,
34
- accept: PropTypes.string,
35
- };
36
- }
37
-
38
-
39
- export default DropFileInput;
@@ -1,29 +0,0 @@
1
- import ReactConstants from "./../ReactConstants"; import {clientHeight as __clientHeight, clientWidth as __clientWidth, createAccessor as __createAccessor, data as __data, height as __height, left as __left, length as __length, pageX as __pageX, pageY as __pageY, props as __props, scrollLeft as __scrollLeft, scrollTop as __scrollTop, state as __state, style as __style, target as __target, top as __top, value as __value, width as __width} from "./../CommonFields"; import {toConsumableArray as __toConsumableArray} from "./../_virtual/_rollupPluginBabelHelpers"; import {extends as __extends} from "./../_virtual/_rollupPluginBabelHelpers"; import {inherits as __inherits} from "./../_virtual/_rollupPluginBabelHelpers"; import './FloatingActionButton.css'; import React from 'react';
2
- import ReactCreateElement from './ReactCreateElement';
3
- import PropTypes from 'prop-types';
4
- import './FloatingActionButton.css'
5
- import Button from "./Button";
6
- import {classNames} from "./Tools";
7
- import MaterialIcon from "./MaterialIcon";
8
-
9
- const FloatingActionButton = ({icon, onClick, mini, className, hidden}) => {
10
- return <Button onClick={onClick} round={true} className={classNames("FloatingActionButton", className, mini && 'mini', hidden && 'hidden')}>
11
- <MaterialIcon icon={icon}/>
12
- </Button>;
13
- };
14
-
15
- if (process.env.NODE_ENV !== 'production') {
16
- FloatingActionButton.propTypes = {
17
- icon: MaterialIcon.propTypes.icon,
18
- mini: PropTypes.bool,
19
- hidden: PropTypes.bool,
20
- };
21
- }
22
-
23
- FloatingActionButton.defaultProps = {
24
- icon: 'add',
25
- mini: false,
26
- hidden: false,
27
- };
28
-
29
- export default FloatingActionButton;