react-ui-basics 0.0.174 → 0.0.177

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 (160) hide show
  1. package/Animated.js.map +1 -0
  2. package/AutocompleteSelect.js +9 -23
  3. package/AutocompleteSelect.js.map +1 -0
  4. package/Button.js.map +1 -0
  5. package/CalendarMonthView.css +20 -0
  6. package/CalendarMonthView.d.ts +12 -0
  7. package/CalendarMonthView.js +52 -0
  8. package/CalendarMonthView.js.map +1 -0
  9. package/Checkbox.js.map +1 -0
  10. package/CircleProgress.js.map +1 -0
  11. package/CommonFields.js.map +1 -0
  12. package/DNDContainer.js.map +1 -0
  13. package/DNDDraggable.js.map +1 -0
  14. package/DNDDroppable.js.map +1 -0
  15. package/DatePicker.css +93 -0
  16. package/DatePicker.d.ts +32 -0
  17. package/DatePicker.js +116 -0
  18. package/DatePicker.js.map +1 -0
  19. package/DateTools.d.ts +39 -0
  20. package/DateTools.js +73 -0
  21. package/DateTools.js.map +1 -0
  22. package/Dialog.js.map +1 -0
  23. package/DropFileInput.js.map +1 -0
  24. package/DroppableHorizontalList.js.map +1 -0
  25. package/DroppableList.js.map +1 -0
  26. package/Dropzone.js.map +1 -0
  27. package/FilteredList.js +234 -139
  28. package/FilteredList.js.map +1 -0
  29. package/FloatingActionButton.js.map +1 -0
  30. package/FormUploadProgress.js.map +1 -0
  31. package/ImageGallery.js.map +1 -0
  32. package/MaterialIcon.js.map +1 -0
  33. package/Modal.js.map +1 -0
  34. package/ModalMenu.js.map +1 -0
  35. package/ReactConstants.js.map +1 -0
  36. package/ReactCreateElement.js.map +1 -0
  37. package/ReadyListener.js.map +1 -0
  38. package/Scrollable.js.map +1 -0
  39. package/ScrollableTable.js.map +1 -0
  40. package/Size.js.map +1 -0
  41. package/Snackbar.js.map +1 -0
  42. package/SpinningProgress.js.map +1 -0
  43. package/Switch.js.map +1 -0
  44. package/Table.js.map +1 -0
  45. package/TextField.js.map +1 -0
  46. package/Tools.d.ts +2 -2
  47. package/Tools.js.map +1 -0
  48. package/bundle.css +816 -677
  49. package/index.js +4 -0
  50. package/index.js.map +1 -0
  51. package/package.json +1 -1
  52. package/router/HistoryTools.js.map +1 -1
  53. package/router/Link.js.map +1 -1
  54. package/router/NavLink.js.map +1 -1
  55. package/router/Route.js.map +1 -1
  56. package/router/index.js.map +1 -1
  57. package/src/Animated.css +7 -0
  58. package/src/Animated.js +219 -0
  59. package/src/Animated.scss +8 -0
  60. package/src/AutocompleteSelect.css +256 -0
  61. package/src/AutocompleteSelect.js +473 -0
  62. package/src/AutocompleteSelect.scss +322 -0
  63. package/src/Button.css +138 -0
  64. package/src/Button.js +104 -0
  65. package/src/Button.scss +177 -0
  66. package/src/CalendarMonthView.css +20 -0
  67. package/src/CalendarMonthView.scss +25 -0
  68. package/src/CalendarMonthView.tsx +80 -0
  69. package/src/Checkbox.css +56 -0
  70. package/src/Checkbox.js +52 -0
  71. package/src/Checkbox.scss +87 -0
  72. package/src/CircleProgress.css +11 -0
  73. package/src/CircleProgress.js +38 -0
  74. package/src/CircleProgress.scss +13 -0
  75. package/src/CommonFields.js +21 -0
  76. package/src/DNDContainer.css +26 -0
  77. package/src/DNDContainer.js +263 -0
  78. package/src/DNDContainer.scss +33 -0
  79. package/src/DNDDraggable.js +55 -0
  80. package/src/DNDDroppable.js +58 -0
  81. package/src/DatePicker.css +93 -0
  82. package/src/DatePicker.scss +118 -0
  83. package/src/DatePicker.tsx +179 -0
  84. package/src/DateTools.ts +85 -0
  85. package/src/Dialog.css +36 -0
  86. package/src/Dialog.js +160 -0
  87. package/src/Dialog.scss +42 -0
  88. package/src/DropFileInput.css +24 -0
  89. package/src/DropFileInput.js +45 -0
  90. package/src/DropFileInput.scss +28 -0
  91. package/src/DroppableHorizontalList.js +190 -0
  92. package/src/DroppableList.css +14 -0
  93. package/src/DroppableList.js +201 -0
  94. package/src/DroppableList.scss +27 -0
  95. package/src/Dropzone.css +54 -0
  96. package/src/Dropzone.js +140 -0
  97. package/src/Dropzone.scss +66 -0
  98. package/src/FilteredList.css +68 -0
  99. package/src/FilteredList.js +196 -0
  100. package/src/FilteredList.scss +86 -0
  101. package/src/FloatingActionButton.css +20 -0
  102. package/src/FloatingActionButton.js +35 -0
  103. package/src/FloatingActionButton.scss +25 -0
  104. package/src/FormUploadProgress.css +61 -0
  105. package/src/FormUploadProgress.js +87 -0
  106. package/src/FormUploadProgress.scss +78 -0
  107. package/src/ImageGallery.css +196 -0
  108. package/src/ImageGallery.js +935 -0
  109. package/src/ImageGallery.scss +256 -0
  110. package/src/MaterialIcon.js +1837 -0
  111. package/src/Modal.css +61 -0
  112. package/src/Modal.js +160 -0
  113. package/src/Modal.scss +73 -0
  114. package/src/ModalMenu.css +30 -0
  115. package/src/ModalMenu.js +59 -0
  116. package/src/ModalMenu.scss +36 -0
  117. package/src/ReactConstants.ts +42 -0
  118. package/src/ReactCreateElement.js +5 -0
  119. package/src/ReadyListener.js +53 -0
  120. package/src/ResizeObserver.ts +50 -0
  121. package/src/Scrollable.css +80 -0
  122. package/src/Scrollable.js +388 -0
  123. package/src/Scrollable.scss +100 -0
  124. package/src/ScrollableTable.css +6 -0
  125. package/src/ScrollableTable.scss +12 -0
  126. package/src/ScrollableTable.tsx +39 -0
  127. package/src/Size.js +56 -0
  128. package/src/Snackbar.css +40 -0
  129. package/src/Snackbar.js +71 -0
  130. package/src/Snackbar.scss +47 -0
  131. package/src/SpinningProgress.css +49 -0
  132. package/src/SpinningProgress.js +19 -0
  133. package/src/SpinningProgress.scss +57 -0
  134. package/src/Switch.css +69 -0
  135. package/src/Switch.js +54 -0
  136. package/src/Switch.scss +73 -0
  137. package/src/Table.css +94 -0
  138. package/src/Table.scss +121 -0
  139. package/src/Table.tsx +360 -0
  140. package/src/TextField.css +122 -0
  141. package/src/TextField.js +162 -0
  142. package/src/TextField.scss +160 -0
  143. package/src/Tools.test.js +105 -0
  144. package/src/Tools.ts +231 -0
  145. package/src/global.css +1 -0
  146. package/src/global.scss +6 -0
  147. package/src/index.js +84 -0
  148. package/src/router/HistoryTools.js +32 -0
  149. package/src/router/Link.js +27 -0
  150. package/src/router/NavLink.js +25 -0
  151. package/src/router/README.md +55 -0
  152. package/src/router/Route.js +209 -0
  153. package/src/router/Route.test.js +139 -0
  154. package/src/router/index.js +14 -0
  155. package/src/store/ProxyTools.js +91 -0
  156. package/src/store/ProxyTools.test.js +97 -0
  157. package/src/store/Store.ts +91 -0
  158. package/store/ProxyTools.js.map +1 -1
  159. package/store/Store.js.map +1 -1
  160. package/FilteredList.d.ts +0 -61
package/FilteredList.js CHANGED
@@ -1,156 +1,251 @@
1
1
  import ReactConstants from "./ReactConstants";
2
2
  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";
3
-
4
- import { jsx as jsxRuntime_2 } from 'react/jsx-runtime';
3
+ import { inherits as _inherits, createSuper as _createSuper, classCallCheck as _classCallCheck, createClass as _createClass, objectSpread2 as _objectSpread2 } from './_virtual/_rollupPluginBabelHelpers.js';
5
4
  import {toConsumableArray as __toConsumableArray} from "./_virtual/_rollupPluginBabelHelpers";
6
5
  import {extends as __extends} from "./_virtual/_rollupPluginBabelHelpers";
7
6
  import {inherits as __inherits} from "./_virtual/_rollupPluginBabelHelpers";
8
7
  import './FilteredList.css';
9
8
  import React from 'react';
9
+ import ReactCreateElement from './ReactCreateElement.js';
10
10
  import Scrollable from './Scrollable.js';
11
- import { UNDEFINED, orNoop, classNames, ref, isFunction, stopPropagation, isObject } from './Tools.js';
11
+ import { orNoop, classNames, ref, isFunction, stopPropagation, isObject } from './Tools.js';
12
12
  import { PureComponent } from './ReactConstants.js';
13
13
 
14
- var getLabel = function (labels, id) { return isFunction(labels) ? labels(id) : (labels ? labels[id] : id); };
15
- var FilteredList = /** @class */ (function (_super) {
16
- __inherits(FilteredList, _super);
17
- function FilteredList(props) {
18
- var _this = _super.call(this, props) || this;
19
- _this.hidden = {};
20
- _this.list = [];
21
- _this.elements = {};
22
- _this.el = null;
23
- _this.updateList = function (props) {
24
- var data = __data(props);
25
- var selected = __state(_this).selected;
26
- _this.list = data || [];
27
- if (!_this.list.includes(selected))
28
- _this.setState({ selected: -1 });
29
- };
30
- _this.onSelect = function (id) {
31
- _this.setState({ selected: id });
32
- __props(_this).onSelect(id);
33
- };
34
- _this.selected = function () {
35
- var value = __state(_this).selected;
36
- var selectSingle = __props(_this).selectSingle;
37
- if (value === -1 || _this.hidden[value + '']) {
38
- var filtered = _this.list.filter(function (id) { return !_this.hidden[id]; });
39
- if ((selectSingle === UNDEFINED || selectSingle) && __length(filtered) === 1)
40
- return filtered[0];
41
- return null;
42
- }
43
- else {
44
- return value;
45
- }
46
- };
47
- _this.next = function () {
48
- var list = _this.list;
49
- var selected = __state(_this).selected;
50
- var position = list.findIndex(function (id) { return selected === id; });
51
- if (_this.hidden[list[position]])
52
- position = -1;
53
- while (++position < __length(list)) {
54
- if (!_this.hidden[list[position]])
55
- break;
56
- }
57
- if (position < __length(list)) {
58
- var id = list[position];
59
- _this.setState({ selected: id });
60
- _this.updateScroll(id);
61
- }
62
- };
63
- _this.prev = function () {
64
- var list = _this.list;
65
- var selected = __state(_this).selected;
66
- var position = list.findIndex(function (id) { return selected === id; });
67
- if (_this.hidden[list[position]])
68
- position = __length(list);
69
- while (--position >= 0) {
70
- if (!_this.hidden[list[position]])
71
- break;
72
- }
73
- if (position >= 0) {
74
- var id = list[position];
75
- _this.setState({ selected: id });
76
- _this.updateScroll(id);
77
- }
78
- };
79
- _this.updateScroll = function (id) {
80
- var child = _this.elements[id];
81
- var container = _this.el;
82
- var scrollTop = container.getScroll();
83
- var height = container.getHeight();
84
- var isVisible = scrollTop <= child.offsetTop && scrollTop + height >= child.offsetTop + __clientHeight(child);
85
- if (!isVisible) {
86
- var scrollToBottom = child.offsetTop + __clientHeight(child) - height;
87
- var scrollToTop = child.offsetTop;
88
- if (Math.abs(scrollTop - scrollToTop) < Math.abs(scrollTop - scrollToBottom)) {
89
- container.setScroll(scrollToTop);
90
- }
91
- else {
92
- container.setScroll(scrollToBottom);
93
- }
94
- }
95
- };
96
- _this.reset = function () {
97
- _this.setState({ selected: -1 });
98
- _this.el.scrollTop = 0;
99
- };
100
- _this.scrollTo = function (id) { return _this.el.setScroll(_this.elements[id] && _this.elements[id].offsetTop); };
101
- _this.state = { selected: -1 };
102
- return _this;
103
- }
104
- FilteredList.prototype[ReactConstants[0]] = function () {
105
- orNoop(__props(this).nextProvider)(this.next);
106
- orNoop(__props(this).prevProvider)(this.prev);
107
- orNoop(__props(this).selectedProvider)(this.selected);
108
- orNoop(__props(this).resetProvider)(this.reset);
109
- this.updateList(__props(this));
14
+ var getLabel = function getLabel(labels, id) {
15
+ return isFunction(labels) ? labels(id) : labels[id];
16
+ };
17
+ var FilteredList = function (_PureComponent) {
18
+ _inherits(FilteredList, _PureComponent);
19
+ var _super = _createSuper(FilteredList);
20
+ function FilteredList(_props) {
21
+ var _this;
22
+ _classCallCheck(this, FilteredList);
23
+ _this = _super.call(this, _props);
24
+ _this.updateList = function (props) {
25
+ var data = __data(props);
26
+ var selected = __state(_this).selected;
27
+ _this.list = data || [];
28
+ if (!_this.list.includes(selected)) _this.setState({
29
+ selected: -1
30
+ });
110
31
  };
111
- FilteredList.prototype[ReactConstants[2]] = function (prevProps, prevState, snapshot) {
112
- if (__props(this).data === __data(prevProps))
113
- return;
114
- this.updateList(__props(this));
32
+ _this.onSelect = function (id) {
33
+ _this.setState({
34
+ selected: id
35
+ });
36
+ __props(_this).onSelect(id);
115
37
  };
116
- FilteredList.prototype[ReactConstants[3]] = function () {
117
- var _this = this;
118
- var _a = __props(this), data = __data(_a), labels = _a.labels, filter = _a.filter, className = _a[ReactConstants[5]], selected = _a.selected, inline = _a.inline, childComponent = _a.childComponent, childProps = _a.childProps, style = __style(_a), scroll = _a.scroll;
119
- return (jsxRuntime_2(Scrollable, __extends({ [ReactConstants[5]]: classNames('FilteredList', className, inline ? 'inline' : 'popup'), ref: ref('el', this), style: style, scrollBarMode: scroll }, { [ReactConstants[4]]: (data || []).filter(function (id) { return id !== false && id != null; }).map(function (id) {
120
- var key = '' + id;
121
- return jsxRuntime_2(ItemWrapper, { id: id, label: getLabel(labels, id), childComponent: childComponent, childProps: childProps, element: function (el) { return _this.elements[key] = el; }, [ReactConstants[6]]: function (e) {
122
- stopPropagation(e);
123
- _this.onSelect(id);
124
- }, onMouseEnter: function (e) { return _this.setState({ selected: id }); }, onMouseLeave: function (e) { return id === __state(_this).selected && _this.setState({ selected: -1 }); }, [ReactConstants[5]]: classNames('child', __state(_this).selected === id && 'active', selected === id || (selected && isObject(selected) && selected[key]) && 'selected'), classProvider: function (it) { return (_this.hidden[key] = !(!filter || filter(it))) && 'hidden'; } }, key);
125
- }) })));
38
+ _this.selected = function () {
39
+ var value = __state(_this).selected;
40
+ var selectSingle = __props(_this).selectSingle;
41
+ if (value === -1 || _this.hidden[value]) {
42
+ var filtered = _this.list.filter(function (id) {
43
+ return !_this.hidden[id];
44
+ });
45
+ if (selectSingle && __length(filtered) === 1) return filtered[0];
46
+ return null;
47
+ } else {
48
+ return value;
49
+ }
126
50
  };
127
- return FilteredList;
128
- }(PureComponent));
129
- var ItemWrapper = /** @class */ (function (_super) {
130
- __inherits(ItemWrapper, _super);
131
- function ItemWrapper() {
132
- var _this = _super !== null && _super.apply(this, arguments) || this;
133
- _this.el = null;
134
- _this.data = null;
135
- return _this;
136
- }
137
- ItemWrapper.prototype[ReactConstants[3]] = function () {
138
- var _this = this;
139
- var _a = __props(this), id = _a.id, label = _a.label, onClick = _a[ReactConstants[6]], onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, classProvider = _a.classProvider, className = _a[ReactConstants[5]], childComponent = _a.childComponent, childProps = _a.childProps;
140
- var child = React.createElement(childComponent, __extends(__extends({}, childProps), { id: id, label: label, dataConsumer: function (data) {
141
- _this.data = data;
142
- } }));
143
- var cssClass = orNoop(classProvider)(__data(this));
144
- return (jsxRuntime_2("div", __extends({ [ReactConstants[5]]: classNames('ItemWrapper', cssClass, className), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave,
145
- // onMouseDown={onMouseDown}
146
- [ReactConstants[6]]: onClick, ref: ref('el', this) }, { [ReactConstants[4]]: child })));
51
+ _this.next = function () {
52
+ var list = _this.list;
53
+ var selected = __state(_this).selected;
54
+ var position = list.findIndex(function (id) {
55
+ return selected === id;
56
+ });
57
+ if (_this.hidden[list[position]]) position = -1;
58
+ while (++position < __length(list)) {
59
+ if (!_this.hidden[list[position]]) break;
60
+ }
61
+ if (position < __length(list)) {
62
+ var id = list[position];
63
+ _this.setState({
64
+ selected: id
65
+ });
66
+ _this.updateScroll(id);
67
+ }
68
+ };
69
+ _this.prev = function () {
70
+ var list = _this.list;
71
+ var selected = __state(_this).selected;
72
+ var position = list.findIndex(function (id) {
73
+ return selected === id;
74
+ });
75
+ if (_this.hidden[list[position]]) position = __length(list);
76
+ while (--position >= 0) {
77
+ if (!_this.hidden[list[position]]) break;
78
+ }
79
+ if (position >= 0) {
80
+ var id = list[position];
81
+ _this.setState({
82
+ selected: id
83
+ });
84
+ _this.updateScroll(id);
85
+ }
86
+ };
87
+ _this.updateScroll = function (id) {
88
+ var child = _this.elements[id];
89
+ var container = _this.el;
90
+ var scrollTop = container.getScroll();
91
+ var height = container.getHeight();
92
+ var isVisible = scrollTop <= child.offsetTop && scrollTop + height >= child.offsetTop + __clientHeight(child);
93
+ if (!isVisible) {
94
+ var scrollToBottom = child.offsetTop + __clientHeight(child) - height;
95
+ var scrollToTop = child.offsetTop;
96
+ if (Math.abs(scrollTop - scrollToTop) < Math.abs(scrollTop - scrollToBottom)) {
97
+ container.setScroll(scrollToTop);
98
+ } else {
99
+ container.setScroll(scrollToBottom);
100
+ }
101
+ }
102
+ };
103
+ _this.reset = function () {
104
+ _this.setState({
105
+ selected: -1
106
+ });
107
+ _this.el.scrollTop = 0;
147
108
  };
148
- ItemWrapper.prototype[ReactConstants[0]] = function () {
149
- orNoop(__props(this).element)(this.el);
150
- this.forceUpdate();
109
+ _this.scrollTo = function (id) {
110
+ return _this.el.setScroll(_this.elements[id] && _this.elements[id].offsetTop);
151
111
  };
152
- return ItemWrapper;
153
- }(React.Component));
112
+ _this.state = {
113
+ selected: -1
114
+ };
115
+ _this.hidden = {};
116
+ _this.elements = {};
117
+ return _this;
118
+ }
119
+ _createClass(FilteredList, [{
120
+ key: [ReactConstants[0]],
121
+ value: function componentDidMount() {
122
+ orNoop(__props(this).nextProvider)(this.next);
123
+ orNoop(__props(this).prevProvider)(this.prev);
124
+ orNoop(__props(this).selectedProvider)(this.selected);
125
+ orNoop(__props(this).resetProvider)(this.reset);
126
+ this.updateList(__props(this));
127
+ }
128
+ }, {
129
+ key: [ReactConstants[2]],
130
+ value: function componentDidUpdate(prevProps, prevState, snapshot) {
131
+ if (__props(this).data === __data(prevProps)) return;
132
+ this.updateList(__props(this));
133
+ }
134
+ }, {
135
+ key: [ReactConstants[3]],
136
+ value: function render() {
137
+ var _this2 = this;
138
+ var _this$props = __props(this),
139
+ data = __data(_this$props),
140
+ labels = _this$props.labels,
141
+ filter = _this$props.filter,
142
+ className = _this$props[ReactConstants[5]],
143
+ selected = _this$props.selected,
144
+ inline = _this$props.inline,
145
+ childComponent = _this$props.childComponent,
146
+ childProps = _this$props.childProps,
147
+ style = __style(_this$props),
148
+ scroll = _this$props.scroll;
149
+ return ReactCreateElement(Scrollable, {
150
+ [ReactConstants[5]]: classNames('FilteredList', className, inline ? 'inline' : 'popup'),
151
+ ref: ref('el', this),
152
+ style: style,
153
+ scrollBarMode: scroll
154
+ }, (data || []).filter(function (id) {
155
+ return id !== false && id != null;
156
+ }).map(function (id) {
157
+ return ReactCreateElement(ItemWrapper, {
158
+ id: id,
159
+ key: id,
160
+ label: getLabel(labels, id),
161
+ childComponent: childComponent,
162
+ childProps: childProps,
163
+ element: function element(el) {
164
+ return _this2.elements[id] = el;
165
+ },
166
+ [ReactConstants[6]]: function onClick(e) {
167
+ stopPropagation(e);
168
+ _this2.onSelect(id);
169
+ },
170
+ onMouseEnter: function onMouseEnter(e) {
171
+ return _this2.setState({
172
+ selected: id
173
+ });
174
+ },
175
+ onMouseLeave: function onMouseLeave(e) {
176
+ return id === __state(_this2).selected && _this2.setState({
177
+ selected: -1
178
+ });
179
+ },
180
+ [ReactConstants[5]]: classNames('child', __state(_this2).selected === id && 'active', selected === id || isObject(selected) && selected[id] && 'selected'),
181
+ classProvider: function classProvider(it) {
182
+ return (_this2.hidden[id] = !filter(it)) && 'hidden';
183
+ }
184
+ });
185
+ }));
186
+ }
187
+ }]);
188
+ return FilteredList;
189
+ }(PureComponent);
190
+ FilteredList.defaultProps = {
191
+ data: [],
192
+ labels: {},
193
+ selected: {},
194
+ inline: false,
195
+ selectSingle: true,
196
+ filter: function filter() {
197
+ return true;
198
+ }
199
+ };
200
+ var FilteredList$1 = FilteredList;
201
+ var ItemWrapper = function (_React$Component) {
202
+ _inherits(ItemWrapper, _React$Component);
203
+ var _super2 = _createSuper(ItemWrapper);
204
+ function ItemWrapper() {
205
+ _classCallCheck(this, ItemWrapper);
206
+ return _super2.apply(this, arguments);
207
+ }
208
+ _createClass(ItemWrapper, [{
209
+ key: [ReactConstants[3]],
210
+ value: function render() {
211
+ var _this3 = this;
212
+ var _this$props2 = __props(this),
213
+ id = _this$props2.id,
214
+ label = _this$props2.label,
215
+ onClick = _this$props2[ReactConstants[6]],
216
+ onMouseDown = _this$props2.onMouseDown,
217
+ onMouseEnter = _this$props2.onMouseEnter,
218
+ onMouseLeave = _this$props2.onMouseLeave,
219
+ classProvider = _this$props2.classProvider,
220
+ className = _this$props2[ReactConstants[5]],
221
+ childComponent = _this$props2.childComponent,
222
+ childProps = _this$props2.childProps;
223
+ var child = React.createElement(childComponent, _objectSpread2(_objectSpread2({}, childProps), {}, {
224
+ id: id,
225
+ label: label,
226
+ dataConsumer: function dataConsumer(data) {
227
+ return _this3.data = data;
228
+ }
229
+ }));
230
+ var cssClass = orNoop(classProvider)(__data(this));
231
+ return ReactCreateElement("div", {
232
+ [ReactConstants[5]]: classNames('ItemWrapper', cssClass, className),
233
+ onMouseEnter: onMouseEnter,
234
+ onMouseLeave: onMouseLeave,
235
+ onMouseDown: onMouseDown,
236
+ [ReactConstants[6]]: onClick,
237
+ ref: ref('el', this)
238
+ }, child);
239
+ }
240
+ }, {
241
+ key: [ReactConstants[0]],
242
+ value: function componentDidMount() {
243
+ orNoop(__props(this).element)(this.el);
244
+ this.forceUpdate();
245
+ }
246
+ }]);
247
+ return ItemWrapper;
248
+ }(React.Component);
154
249
 
155
- export { FilteredList as default, getLabel };
250
+ export { FilteredList$1 as default, getLabel };
156
251
  //# sourceMappingURL=FilteredList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilteredList.js","sources":["./src/FilteredList.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './FilteredList.css'\nimport Scrollable from \"./Scrollable\";\nimport {classNames, orNoop, ref, stopPropagation, isFunction, isObject} from \"./Tools\";\nimport {PureComponent} from \"./ReactConstants\";\n\nexport const getLabel = (labels, id) => isFunction(labels) ? labels(id) : labels[id]\n\nclass FilteredList extends PureComponent {\n\n static defaultProps = {\n data: [],\n labels: {},\n selected: {},\n inline: false,\n selectSingle: true,\n filter: () => true,\n };\n\n constructor(props) {\n super(props);\n this.state = {selected: -1};\n this.hidden = {};\n this.elements = {};\n }\n\n componentDidMount() {\n orNoop(this.props.nextProvider)(this.next);\n orNoop(this.props.prevProvider)(this.prev);\n orNoop(this.props.selectedProvider)(this.selected);\n orNoop(this.props.resetProvider)(this.reset);\n\n this.updateList(this.props)\n }\n\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (this.props.data === prevProps.data)\n return;\n\n this.updateList(this.props)\n }\n\n updateList = (props) => {\n const {data} = props;\n const {selected} = this.state;\n this.list = data || [];\n\n if (!this.list.includes(selected))\n this.setState({selected: -1})\n };\n\n render() {\n const {data, labels, filter, className, selected, inline, childComponent, childProps, style, scroll} = this.props;\n return (\n <Scrollable className={classNames('FilteredList', className, inline ? 'inline' : 'popup')}\n ref={ref('el', this)} style={style} scrollBarMode={scroll}>\n {(data || []).filter(id => id !== false && id != null).map(id => <ItemWrapper\n id={id}\n key={id}\n label={getLabel(labels, id)}\n childComponent={childComponent}\n childProps={childProps}\n element={el => this.elements[id] = el}\n onClick={e => {\n stopPropagation(e);\n this.onSelect(id);\n }}\n onMouseEnter={e => this.setState({selected: id})}\n onMouseLeave={e => id === this.state.selected && this.setState({selected: -1})}\n className={classNames('child', this.state.selected === id && 'active', selected === id || (isObject(selected) && selected[id]) && 'selected')}\n classProvider={it => (this.hidden[id] = !filter(it)) && 'hidden'}\n />)}\n </Scrollable>\n )\n }\n\n onSelect = (id) => {\n this.setState({selected: id});\n this.props.onSelect(id);\n };\n\n selected = () => {\n const {selected: value} = this.state;\n const {selectSingle} = this.props;\n\n\n if (value === -1 || this.hidden[value]) {\n let filtered = this.list.filter(id => !this.hidden[id]);\n if (selectSingle && filtered.length === 1)\n return filtered[0];\n\n return null;\n } else {\n return value;\n }\n };\n\n next = () => {\n const list = this.list;\n const selected = this.state.selected;\n let position = list.findIndex(id => selected === id);\n if (this.hidden[list[position]])\n position = -1;\n\n while (++position < list.length) {\n if (!this.hidden[list[position]])\n break\n }\n if (position < list.length) {\n let id = list[position];\n this.setState({selected: id});\n this.updateScroll(id)\n }\n };\n\n prev = () => {\n const list = this.list;\n const selected = this.state.selected;\n let position = list.findIndex(id => selected === id);\n if (this.hidden[list[position]])\n position = list.length;\n\n while (--position >= 0) {\n if (!this.hidden[list[position]])\n break\n }\n if (position >= 0) {\n let id = list[position];\n this.setState({selected: id});\n this.updateScroll(id)\n }\n };\n\n updateScroll = (id) => {\n let child = this.elements[id];\n let container = this.el;\n const scrollTop = container.getScroll();\n const height = container.getHeight();\n let isVisible = scrollTop <= child.offsetTop && scrollTop + height >= child.offsetTop + child.clientHeight;\n if (!isVisible) {\n let scrollToBottom = child.offsetTop + child.clientHeight - height;\n let scrollToTop = child.offsetTop;\n if (Math.abs(scrollTop - scrollToTop) < Math.abs(scrollTop - scrollToBottom)) {\n container.setScroll(scrollToTop)\n } else {\n container.setScroll(scrollToBottom)\n }\n }\n };\n\n reset = () => {\n this.setState({selected: -1});\n this.el.scrollTop = 0;\n };\n\n scrollTo = (id) => this.el.setScroll(this.elements[id] && this.elements[id].offsetTop);\n}\n\nexport default FilteredList;\n\nclass ItemWrapper extends React.Component {\n render() {\n const {id, label, onClick, onMouseDown, onMouseEnter, onMouseLeave, classProvider, className, childComponent, childProps} = this.props;\n const child = React.createElement(childComponent, {\n ...childProps,\n id,\n label,\n dataConsumer: (data) => this.data = data,\n });\n\n const cssClass = orNoop(classProvider)(this.data);\n return (\n <div className={classNames('ItemWrapper', cssClass, className)}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseDown={onMouseDown}\n onClick={onClick}\n ref={ref('el', this)}\n >\n {child}\n </div>\n )\n }\n\n componentDidMount() {\n orNoop(this.props.element)(this.el);\n this.forceUpdate();\n }\n}\n"],"names":["getLabel","labels","id","isFunction","FilteredList","props","updateList","data","selected","state","list","includes","setState","onSelect","value","selectSingle","hidden","filtered","filter","length","next","position","findIndex","updateScroll","prev","child","elements","container","el","scrollTop","getScroll","height","getHeight","isVisible","offsetTop","clientHeight","scrollToBottom","scrollToTop","Math","abs","setScroll","reset","scrollTo","orNoop","nextProvider","prevProvider","selectedProvider","resetProvider","prevProps","prevState","snapshot","className","inline","childComponent","childProps","style","scroll","classNames","ref","map","e","stopPropagation","isObject","it","PureComponent","defaultProps","ItemWrapper","label","onClick","onMouseDown","onMouseEnter","onMouseLeave","classProvider","React","createElement","dataConsumer","cssClass","element","forceUpdate","Component"],"mappings":";;;;;;;AAOO,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAASC,EAAT,EAAA;AAAA,EAAA,OAAgBC,UAAU,CAACF,MAAD,CAAV,GAAqBA,MAAM,CAACC,EAAD,CAA3B,GAAkCD,MAAM,CAACC,EAAD,CAAxD,CAAA;AAAA,EAAjB;IAEDE;;;AAWF,EAAA,SAAA,YAAA,CAAYC,MAAZ,EAAmB;AAAA,IAAA,IAAA,KAAA,CAAA;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAA;AACf,IAAA,KAAA,GAAA,MAAA,CAAA,IAAA,CAAA,IAAA,EAAMA,MAAN,CAAA,CAAA;AADe,IAAA,KAAA,CAuBnBC,UAvBmB,GAuBN,UAACD,KAAD,EAAW;AACpB,MAAA,IAAOE,IAAP,GAAeF,KAAf,CAAOE,IAAP,CAAA;AACA,MAAA,IAAOC,QAAP,GAAmB,KAAKC,CAAAA,KAAxB,CAAOD,QAAP,CAAA;AACA,MAAA,KAAA,CAAKE,IAAL,GAAYH,IAAI,IAAI,EAApB,CAAA;AAEA,MAAI,IAAA,CAAC,KAAKG,CAAAA,IAAL,CAAUC,QAAV,CAAmBH,QAAnB,CAAL,EACI,KAAKI,CAAAA,QAAL,CAAc;AAACJ,QAAAA,QAAQ,EAAE,CAAC,CAAA;AAAZ,OAAd,CAAA,CAAA;AACP,KA9BkB,CAAA;AAAA,IAAA,KAAA,CAyDnBK,QAzDmB,GAyDR,UAACX,EAAD,EAAQ;AACf,MAAA,KAAA,CAAKU,QAAL,CAAc;AAACJ,QAAAA,QAAQ,EAAEN,EAAAA;AAAX,OAAd,CAAA,CAAA;AACA,MAAA,KAAA,CAAKG,KAAL,CAAWQ,QAAX,CAAoBX,EAApB,CAAA,CAAA;AACH,KA5DkB,CAAA;AAAA,IA8DnBM,KAAAA,CAAAA,QA9DmB,GA8DR,YAAM;AACb,MAAA,IAAiBM,KAAjB,GAA0B,KAAKL,CAAAA,KAA/B,CAAOD,QAAP,CAAA;AACA,MAAA,IAAOO,YAAP,GAAuB,KAAKV,CAAAA,KAA5B,CAAOU,YAAP,CAAA;AAGA,MAAID,IAAAA,KAAK,KAAK,CAAC,CAAX,IAAgB,MAAKE,MAAL,CAAYF,KAAZ,CAApB,EAAwC;AACpC,QAAIG,IAAAA,QAAQ,GAAG,KAAKP,CAAAA,IAAL,CAAUQ,MAAV,CAAiB,UAAAhB,EAAE,EAAA;AAAA,UAAA,OAAI,CAAC,KAAA,CAAKc,MAAL,CAAYd,EAAZ,CAAL,CAAA;AAAA,SAAnB,CAAf,CAAA;AACA,QAAA,IAAIa,YAAY,IAAIE,QAAQ,CAACE,MAAT,KAAoB,CAAxC,EACI,OAAOF,QAAQ,CAAC,CAAD,CAAf,CAAA;AAEJ,QAAA,OAAO,IAAP,CAAA;AACH,OAND,MAMO;AACH,QAAA,OAAOH,KAAP,CAAA;AACH,OAAA;AACJ,KA5EkB,CAAA;AAAA,IA8EnBM,KAAAA,CAAAA,IA9EmB,GA8EZ,YAAM;AACT,MAAMV,IAAAA,IAAI,GAAG,KAAA,CAAKA,IAAlB,CAAA;AACA,MAAA,IAAMF,QAAQ,GAAG,KAAKC,CAAAA,KAAL,CAAWD,QAA5B,CAAA;AACA,MAAA,IAAIa,QAAQ,GAAGX,IAAI,CAACY,SAAL,CAAe,UAAApB,EAAE,EAAA;AAAA,QAAIM,OAAAA,QAAQ,KAAKN,EAAjB,CAAA;AAAA,OAAjB,CAAf,CAAA;AACA,MAAA,IAAI,KAAKc,CAAAA,MAAL,CAAYN,IAAI,CAACW,QAAD,CAAhB,CAAJ,EACIA,QAAQ,GAAG,CAAC,CAAZ,CAAA;AAEJ,MAAA,OAAO,EAAEA,QAAF,GAAaX,IAAI,CAACS,MAAzB,EAAiC;AAC7B,QAAI,IAAA,CAAC,MAAKH,MAAL,CAAYN,IAAI,CAACW,QAAD,CAAhB,CAAL,EACI,MAAA;AACP,OAAA;AACD,MAAA,IAAIA,QAAQ,GAAGX,IAAI,CAACS,MAApB,EAA4B;AACxB,QAAA,IAAIjB,EAAE,GAAGQ,IAAI,CAACW,QAAD,CAAb,CAAA;AACA,QAAA,KAAA,CAAKT,QAAL,CAAc;AAACJ,UAAAA,QAAQ,EAAEN,EAAAA;AAAX,SAAd,CAAA,CAAA;AACA,QAAKqB,KAAAA,CAAAA,YAAL,CAAkBrB,EAAlB,CAAA,CAAA;AACH,OAAA;AACJ,KA9FkB,CAAA;AAAA,IAgGnBsB,KAAAA,CAAAA,IAhGmB,GAgGZ,YAAM;AACT,MAAMd,IAAAA,IAAI,GAAG,KAAA,CAAKA,IAAlB,CAAA;AACA,MAAA,IAAMF,QAAQ,GAAG,KAAKC,CAAAA,KAAL,CAAWD,QAA5B,CAAA;AACA,MAAA,IAAIa,QAAQ,GAAGX,IAAI,CAACY,SAAL,CAAe,UAAApB,EAAE,EAAA;AAAA,QAAIM,OAAAA,QAAQ,KAAKN,EAAjB,CAAA;AAAA,OAAjB,CAAf,CAAA;AACA,MAAA,IAAI,KAAKc,CAAAA,MAAL,CAAYN,IAAI,CAACW,QAAD,CAAhB,CAAJ,EACIA,QAAQ,GAAGX,IAAI,CAACS,MAAhB,CAAA;AAEJ,MAAA,OAAO,EAAEE,QAAF,IAAc,CAArB,EAAwB;AACpB,QAAI,IAAA,CAAC,MAAKL,MAAL,CAAYN,IAAI,CAACW,QAAD,CAAhB,CAAL,EACI,MAAA;AACP,OAAA;AACD,MAAIA,IAAAA,QAAQ,IAAI,CAAhB,EAAmB;AACf,QAAA,IAAInB,EAAE,GAAGQ,IAAI,CAACW,QAAD,CAAb,CAAA;AACA,QAAA,KAAA,CAAKT,QAAL,CAAc;AAACJ,UAAAA,QAAQ,EAAEN,EAAAA;AAAX,SAAd,CAAA,CAAA;AACA,QAAKqB,KAAAA,CAAAA,YAAL,CAAkBrB,EAAlB,CAAA,CAAA;AACH,OAAA;AACJ,KAhHkB,CAAA;AAAA,IAAA,KAAA,CAkHnBqB,YAlHmB,GAkHJ,UAACrB,EAAD,EAAQ;AACnB,MAAA,IAAIuB,KAAK,GAAG,KAAA,CAAKC,QAAL,CAAcxB,EAAd,CAAZ,CAAA;AACA,MAAIyB,IAAAA,SAAS,GAAG,KAAA,CAAKC,EAArB,CAAA;AACA,MAAA,IAAMC,SAAS,GAAGF,SAAS,CAACG,SAAV,EAAlB,CAAA;AACA,MAAA,IAAMC,MAAM,GAAGJ,SAAS,CAACK,SAAV,EAAf,CAAA;AACA,MAAA,IAAIC,SAAS,GAAGJ,SAAS,IAAIJ,KAAK,CAACS,SAAnB,IAAgCL,SAAS,GAAGE,MAAZ,IAAsBN,KAAK,CAACS,SAAN,GAAkBT,KAAK,CAACU,YAA9F,CAAA;AACA,MAAI,IAAA,CAACF,SAAL,EAAgB;AACZ,QAAIG,IAAAA,cAAc,GAAGX,KAAK,CAACS,SAAN,GAAkBT,KAAK,CAACU,YAAxB,GAAuCJ,MAA5D,CAAA;AACA,QAAA,IAAIM,WAAW,GAAGZ,KAAK,CAACS,SAAxB,CAAA;AACA,QAAA,IAAII,IAAI,CAACC,GAAL,CAASV,SAAS,GAAGQ,WAArB,CAAA,GAAoCC,IAAI,CAACC,GAAL,CAASV,SAAS,GAAGO,cAArB,CAAxC,EAA8E;AAC1ET,UAAAA,SAAS,CAACa,SAAV,CAAoBH,WAApB,CAAA,CAAA;AACH,SAFD,MAEO;AACHV,UAAAA,SAAS,CAACa,SAAV,CAAoBJ,cAApB,CAAA,CAAA;AACH,SAAA;AACJ,OAAA;AACJ,KAjIkB,CAAA;AAAA,IAmInBK,KAAAA,CAAAA,KAnImB,GAmIX,YAAM;AACV,MAAA,KAAA,CAAK7B,QAAL,CAAc;AAACJ,QAAAA,QAAQ,EAAE,CAAC,CAAA;AAAZ,OAAd,CAAA,CAAA;AACA,MAAA,KAAA,CAAKoB,EAAL,CAAQC,SAAR,GAAoB,CAApB,CAAA;AACH,KAtIkB,CAAA;AAAA,IAwInBa,KAAAA,CAAAA,QAxImB,GAwIR,UAACxC,EAAD,EAAA;AAAA,MAAA,OAAQ,MAAK0B,EAAL,CAAQY,SAAR,CAAkB,MAAKd,QAAL,CAAcxB,EAAd,CAAA,IAAqB,MAAKwB,QAAL,CAAcxB,EAAd,CAAA,CAAkBgC,SAAzD,CAAR,CAAA;AAAA,KAxIQ,CAAA;AAEf,IAAA,KAAA,CAAKzB,KAAL,GAAa;AAACD,MAAAA,QAAQ,EAAE,CAAC,CAAA;AAAZ,KAAb,CAAA;AACA,IAAKQ,KAAAA,CAAAA,MAAL,GAAc,EAAd,CAAA;AACA,IAAKU,KAAAA,CAAAA,QAAL,GAAgB,EAAhB,CAAA;AAJe,IAAA,OAAA,KAAA,CAAA;AAKlB,GAAA;;;WAED,SAAoB,iBAAA,GAAA;AAChBiB,MAAAA,MAAM,CAAC,IAAKtC,CAAAA,KAAL,CAAWuC,YAAZ,CAAN,CAAgC,IAAA,CAAKxB,IAArC,CAAA,CAAA;AACAuB,MAAAA,MAAM,CAAC,IAAKtC,CAAAA,KAAL,CAAWwC,YAAZ,CAAN,CAAgC,IAAA,CAAKrB,IAArC,CAAA,CAAA;AACAmB,MAAAA,MAAM,CAAC,IAAKtC,CAAAA,KAAL,CAAWyC,gBAAZ,CAAN,CAAoC,IAAA,CAAKtC,QAAzC,CAAA,CAAA;AACAmC,MAAAA,MAAM,CAAC,IAAKtC,CAAAA,KAAL,CAAW0C,aAAZ,CAAN,CAAiC,IAAA,CAAKN,KAAtC,CAAA,CAAA;AAEA,MAAKnC,IAAAA,CAAAA,UAAL,CAAgB,IAAA,CAAKD,KAArB,CAAA,CAAA;AACH,KAAA;;;AAED,IAAA,KAAA,EAAA,SAAA,kBAAA,CAAmB2C,SAAnB,EAA8BC,SAA9B,EAAyCC,QAAzC,EAAmD;AAC/C,MAAI,IAAA,IAAA,CAAK7C,KAAL,CAAWE,IAAX,KAAoByC,SAAS,CAACzC,IAAlC,EACI,OAAA;AAEJ,MAAKD,IAAAA,CAAAA,UAAL,CAAgB,IAAA,CAAKD,KAArB,CAAA,CAAA;AACH,KAAA;;;WAWD,SAAS,MAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;AACL,MAAA,IAAA,WAAA,GAAuG,KAAKA,KAA5G;AAAA,UAAOE,IAAP,eAAOA,IAAP;AAAA,UAAaN,MAAb,eAAaA,MAAb;AAAA,UAAqBiB,MAArB,eAAqBA,MAArB;AAAA,UAA6BiC,SAA7B,eAA6BA,SAA7B;AAAA,UAAwC3C,QAAxC,eAAwCA,QAAxC;AAAA,UAAkD4C,MAAlD,eAAkDA,MAAlD;AAAA,UAA0DC,cAA1D,eAA0DA,cAA1D;AAAA,UAA0EC,UAA1E,eAA0EA,UAA1E;AAAA,UAAsFC,KAAtF,eAAsFA,KAAtF;AAAA,UAA6FC,MAA7F,eAA6FA,MAA7F,CAAA;AACA,MAAA,OACI,mBAAC,UAAD,EAAA;AAAY,QAAA,SAAS,EAAEC,UAAU,CAAC,cAAD,EAAiBN,SAAjB,EAA4BC,MAAM,GAAG,QAAH,GAAc,OAAhD,CAAjC;AACY,QAAA,GAAG,EAAEM,GAAG,CAAC,IAAD,EAAO,IAAP,CADpB;AACkC,QAAA,KAAK,EAAEH,KADzC;AACgD,QAAA,aAAa,EAAEC,MAAAA;AAD/D,OAEK,EAAA,CAACjD,IAAI,IAAI,EAAT,EAAaW,MAAb,CAAoB,UAAAhB,EAAE,EAAA;AAAA,QAAA,OAAIA,EAAE,KAAK,KAAP,IAAgBA,EAAE,IAAI,IAA1B,CAAA;AAAA,OAAtB,CAAsDyD,CAAAA,GAAtD,CAA0D,UAAAzD,EAAE,EAAA;AAAA,QAAA,OAAI,mBAAC,WAAD,EAAA;AAC7D,UAAA,EAAE,EAAEA,EADyD;AAE7D,UAAA,GAAG,EAAEA,EAFwD;AAG7D,UAAA,KAAK,EAAEF,QAAQ,CAACC,MAAD,EAASC,EAAT,CAH8C;AAI7D,UAAA,cAAc,EAAEmD,cAJ6C;AAK7D,UAAA,UAAU,EAAEC,UALiD;AAM7D,UAAA,OAAO,EAAE,SAAA,OAAA,CAAA1B,EAAE,EAAA;AAAA,YAAA,OAAI,MAAI,CAACF,QAAL,CAAcxB,EAAd,IAAoB0B,EAAxB,CAAA;AAAA,WANkD;AAO7D,UAAA,OAAO,EAAE,SAAAgC,OAAAA,CAAAA,CAAC,EAAI;AACVC,YAAAA,eAAe,CAACD,CAAD,CAAf,CAAA;AACA,YAAA,MAAI,CAAC/C,QAAL,CAAcX,EAAd,CAAA,CAAA;AACH,WAV4D;AAW7D,UAAA,YAAY,EAAE,SAAA,YAAA,CAAA0D,CAAC,EAAA;AAAA,YAAI,OAAA,MAAI,CAAChD,QAAL,CAAc;AAACJ,cAAAA,QAAQ,EAAEN,EAAAA;AAAX,aAAd,CAAJ,CAAA;AAAA,WAX8C;AAY7D,UAAA,YAAY,EAAE,SAAA,YAAA,CAAA0D,CAAC,EAAA;AAAA,YAAI1D,OAAAA,EAAE,KAAK,MAAI,CAACO,KAAL,CAAWD,QAAlB,IAA8B,MAAI,CAACI,QAAL,CAAc;AAACJ,cAAAA,QAAQ,EAAE,CAAC,CAAA;AAAZ,aAAd,CAAlC,CAAA;AAAA,WAZ8C;AAa7D,UAAA,SAAS,EAAEiD,UAAU,CAAC,OAAD,EAAU,MAAI,CAAChD,KAAL,CAAWD,QAAX,KAAwBN,EAAxB,IAA8B,QAAxC,EAAkDM,QAAQ,KAAKN,EAAb,IAAoB4D,QAAQ,CAACtD,QAAD,CAAR,IAAsBA,QAAQ,CAACN,EAAD,CAA/B,IAAwC,UAA7G,CAbwC;AAc7D,UAAA,aAAa,EAAE,SAAA,aAAA,CAAA6D,EAAE,EAAA;AAAA,YAAA,OAAI,CAAC,MAAI,CAAC/C,MAAL,CAAYd,EAAZ,CAAkB,GAAA,CAACgB,MAAM,CAAC6C,EAAD,CAA1B,KAAmC,QAAvC,CAAA;AAAA,WAAA;AAd4C,SAAJ,CAAA,CAAA;AAAA,OAA5D,CAFL,CADJ,CAAA;AAqBH,KAAA;;;EAlEsBC;AAArB5D,aAEK6D,eAAe;AAClB1D,EAAAA,IAAI,EAAE,EADY;AAElBN,EAAAA,MAAM,EAAE,EAFU;AAGlBO,EAAAA,QAAQ,EAAE,EAHQ;AAIlB4C,EAAAA,MAAM,EAAE,KAJU;AAKlBrC,EAAAA,YAAY,EAAE,IALI;AAMlBG,EAAAA,MAAM,EAAE,SAAA,MAAA,GAAA;AAAA,IAAA,OAAM,IAAN,CAAA;AAAA,GAAA;AANU;AAoJ1B,qBAAed,YAAf,CAAA;IAEM8D;;;;;;;;;WACF,SAAS,MAAA,GAAA;AAAA,MAAA,IAAA,MAAA,GAAA,IAAA,CAAA;AACL,MAAA,IAAA,YAAA,GAA4H,KAAK7D,KAAjI;AAAA,UAAOH,EAAP,gBAAOA,EAAP;AAAA,UAAWiE,KAAX,gBAAWA,KAAX;AAAA,UAAkBC,OAAlB,gBAAkBA,OAAlB;AAAA,UAA2BC,WAA3B,gBAA2BA,WAA3B;AAAA,UAAwCC,YAAxC,gBAAwCA,YAAxC;AAAA,UAAsDC,YAAtD,gBAAsDA,YAAtD;AAAA,UAAoEC,aAApE,gBAAoEA,aAApE;AAAA,UAAmFrB,SAAnF,gBAAmFA,SAAnF;AAAA,UAA8FE,cAA9F,gBAA8FA,cAA9F;AAAA,UAA8GC,UAA9G,gBAA8GA,UAA9G,CAAA;AACA,MAAM7B,IAAAA,KAAK,GAAGgD,KAAK,CAACC,aAAN,CAAoBrB,cAApB,oCACPC,UADO,CAAA,EAAA,EAAA,EAAA;AAEVpD,QAAAA,EAAE,EAAFA,EAFU;AAGViE,QAAAA,KAAK,EAALA,KAHU;AAIVQ,QAAAA,YAAY,EAAE,SAAA,YAAA,CAACpE,IAAD,EAAA;AAAA,UAAA,OAAU,MAAI,CAACA,IAAL,GAAYA,IAAtB,CAAA;AAAA,SAAA;AAJJ,OAAd,CAAA,CAAA,CAAA;AAOA,MAAMqE,IAAAA,QAAQ,GAAGjC,MAAM,CAAC6B,aAAD,CAAN,CAAsB,IAAKjE,CAAAA,IAA3B,CAAjB,CAAA;AACA,MACI,OAAA,kBAAA,CAAA,KAAA,EAAA;AAAK,QAAA,SAAS,EAAEkD,UAAU,CAAC,aAAD,EAAgBmB,QAAhB,EAA0BzB,SAA1B,CAA1B;AACK,QAAA,YAAY,EAAEmB,YADnB;AAEK,QAAA,YAAY,EAAEC,YAFnB;AAGK,QAAA,WAAW,EAAEF,WAHlB;AAIK,QAAA,OAAO,EAAED,OAJd;AAKK,QAAA,GAAG,EAAEV,GAAG,CAAC,IAAD,EAAO,IAAP,CAAA;AALb,OAAA,EAOKjC,KAPL,CADJ,CAAA;AAWH,KAAA;;;WAED,SAAoB,iBAAA,GAAA;AAChBkB,MAAAA,MAAM,CAAC,IAAKtC,CAAAA,KAAL,CAAWwE,OAAZ,CAAN,CAA2B,IAAA,CAAKjD,EAAhC,CAAA,CAAA;AACA,MAAA,IAAA,CAAKkD,WAAL,EAAA,CAAA;AACH,KAAA;;;AA3BqBL,CAAAA,CAAAA,KAAK,CAACM;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloatingActionButton.js","sources":["./src/FloatingActionButton.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport PropTypes from 'prop-types';\nimport './FloatingActionButton.css'\nimport Button from \"./Button\";\nimport {classNames} from \"./Tools\";\nimport MaterialIcon from \"./MaterialIcon\";\n\nconst FloatingActionButton = ({icon, onClick, mini, className, hidden}) => {\n return <Button onClick={onClick} round={true} className={classNames(\"FloatingActionButton\", className, mini && 'mini', hidden && 'hidden')}>\n <MaterialIcon icon={icon}/>\n </Button>;\n};\n\nif (window.isNotProductionEnvironment) {\n FloatingActionButton.propTypes = {\n icon: MaterialIcon.propTypes.icon,\n mini: PropTypes.bool,\n hidden: PropTypes.bool,\n };\n}\n\nFloatingActionButton.defaultProps = {\n icon: 'add',\n mini: false,\n hidden: false,\n};\n\nexport default FloatingActionButton;"],"names":["FloatingActionButton","icon","onClick","mini","className","hidden","classNames","window","isNotProductionEnvironment","propTypes","MaterialIcon","PropTypes","bool","defaultProps"],"mappings":";;;;;;;AAQA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAA8C,IAAA,EAAA;AAAA,EAA5CC,IAAAA,IAA4C,QAA5CA,IAA4C;AAAA,MAAtCC,OAAsC,QAAtCA,OAAsC;AAAA,MAA7BC,IAA6B,QAA7BA,IAA6B;AAAA,MAAvBC,SAAuB,QAAvBA,SAAuB;AAAA,MAAZC,MAAY,QAAZA,MAAY,CAAA;AACvE,EAAA,OAAO,mBAAC,MAAD,EAAA;AAAQ,IAAA,OAAO,EAAEH,OAAjB;AAA0B,IAAA,KAAK,EAAE,IAAjC;AAAuC,IAAA,SAAS,EAAEI,UAAU,CAAC,sBAAD,EAAyBF,SAAzB,EAAoCD,IAAI,IAAI,MAA5C,EAAoDE,MAAM,IAAI,QAA9D,CAAA;AAA5D,GAAA,EACH,mBAAC,YAAD,EAAA;AAAc,IAAA,IAAI,EAAEJ,IAAAA;AAApB,GAAA,CADG,CAAP,CAAA;AAGH,CAJD,CAAA;AAMA,IAAIM,MAAM,CAACC,0BAAX,EAAuC;AACnCR,EAAAA,oBAAoB,CAACS,SAArB,GAAiC;AAC7BR,IAAAA,IAAI,EAAES,YAAY,CAACD,SAAb,CAAuBR,IADA;AAE7BE,IAAAA,IAAI,EAAEQ,SAAS,CAACC,IAFa;AAG7BP,IAAAA,MAAM,EAAEM,SAAS,CAACC,IAAAA;AAHW,GAAjC,CAAA;AAKH,CAAA;AAEDZ,oBAAoB,CAACa,YAArB,GAAoC;AAChCZ,EAAAA,IAAI,EAAE,KAD0B;AAEhCE,EAAAA,IAAI,EAAE,KAF0B;AAGhCE,EAAAA,MAAM,EAAE,KAAA;AAHwB,CAApC,CAAA;AAMA,6BAAeL,oBAAf;;;;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormUploadProgress.js","sources":["./src/FormUploadProgress.js"],"sourcesContent":["import React from 'react';\nimport ReactCreateElement from './ReactCreateElement';\nimport './FormUploadProgress.css'\nimport Button from \"./Button\";\nimport Animated from \"./Animated\";\nimport CircleProgress from \"./CircleProgress\";\nimport SpinningProgress from \"./SpinningProgress\";\nimport {formatAbbreviation, formatNumberWithMaxLength} from \"./Size\";\nimport PropTypes from \"prop-types\";\nimport {preventDefault} from \"./Tools\";\n\n\nconst defaultValueFormat = (value, loaded, total) => {\n if (total == null)\n return Math.floor(Number.isFinite(value) ? value : 0) + '%';\n\n const abbreviation = formatAbbreviation(total);\n return <>\n {formatNumberWithMaxLength(loaded, 1, abbreviation, 4)}\n /\n {formatNumberWithMaxLength(total, 1, abbreviation, 4)}\n <br/>\n {abbreviation}\n </>\n};\n\nconst FormUploadProgress = ({\n value,\n cancel,\n loaded,\n total,\n formatValue,\n processingLabel,\n cancelLabel,\n }) => {\n return (\n <Animated value={total > 0}>\n <div className=\"FormUploadProgress\">\n <div className=\"wrapper\">\n <div className=\"progress\">\n {loaded === total && <SpinningProgress/>}\n {loaded !== total && <CircleProgress value={value}/>}\n <div className={'value'}>{formatValue(value, loaded, total)}</div>\n </div>\n {cancel && <Button className={\"cancel\"} disabled={loaded === total} onClick={e => {\n preventDefault(e);\n cancel();\n }}>\n {loaded === total && processingLabel}\n {loaded !== total && cancelLabel}\n </Button>}\n </div>\n </div>\n </Animated>\n );\n};\n\nFormUploadProgress.defaultProps = {\n value: 0,\n formatValue: defaultValueFormat,\n};\n\nif (window.isNotProductionEnvironment) {\n FormUploadProgress.propTypes = {\n value: PropTypes.number,\n loaded: PropTypes.number,\n total: PropTypes.number,\n formatValue: PropTypes.func,\n processingLabel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n cancelLabel: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element\n ]),\n cancel: PropTypes.func,\n };\n}\n\nexport default FormUploadProgress;\n"],"names":["defaultValueFormat","value","loaded","total","Math","floor","Number","isFinite","abbreviation","formatAbbreviation","formatNumberWithMaxLength","FormUploadProgress","cancel","formatValue","processingLabel","cancelLabel","e","preventDefault","defaultProps","window","isNotProductionEnvironment","propTypes","PropTypes","number","func","oneOfType","string","element"],"mappings":"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"}