@goldenpine/react-form-builder2 0.18.4-patch.1

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 (54) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +250 -0
  3. package/dist/1.app.js +1 -0
  4. package/dist/app.css +38 -0
  5. package/dist/app.css.map +1 -0
  6. package/dist/app.js +71 -0
  7. package/lib/ItemTypes.js +11 -0
  8. package/lib/UUID.js +67 -0
  9. package/lib/dynamic-option-list.js +189 -0
  10. package/lib/fieldset/FieldSet.js +121 -0
  11. package/lib/fieldset/index.js +13 -0
  12. package/lib/form-dynamic-edit.js +57 -0
  13. package/lib/form-elements/component-drag-handle.js +91 -0
  14. package/lib/form-elements/component-drag-layer.js +69 -0
  15. package/lib/form-elements/component-drag-preview.js +61 -0
  16. package/lib/form-elements/component-header.js +30 -0
  17. package/lib/form-elements/component-label.js +30 -0
  18. package/lib/form-elements/custom-element.js +74 -0
  19. package/lib/form-elements/date-picker.js +185 -0
  20. package/lib/form-elements/header-bar.js +55 -0
  21. package/lib/form-elements/index.js +1144 -0
  22. package/lib/form-elements/myxss.js +30 -0
  23. package/lib/form-elements/star-rating.js +338 -0
  24. package/lib/form-elements-edit.js +740 -0
  25. package/lib/form-place-holder.js +52 -0
  26. package/lib/form-validator.js +104 -0
  27. package/lib/form.js +592 -0
  28. package/lib/functions/index.js +47 -0
  29. package/lib/index.js +142 -0
  30. package/lib/language-provider/IntlMessages.js +16 -0
  31. package/lib/language-provider/entries/en-us.js +17 -0
  32. package/lib/language-provider/entries/fa-ir.js +17 -0
  33. package/lib/language-provider/entries/it-it.js +17 -0
  34. package/lib/language-provider/entries/vi-vn.js +17 -0
  35. package/lib/language-provider/index.js +41 -0
  36. package/lib/language-provider/locales/en-us.json +117 -0
  37. package/lib/language-provider/locales/fa-ir.json +109 -0
  38. package/lib/language-provider/locales/it-it.json +109 -0
  39. package/lib/language-provider/locales/vi-vn.json +96 -0
  40. package/lib/multi-column/MultiColumnRow.js +137 -0
  41. package/lib/multi-column/dustbin.js +156 -0
  42. package/lib/multi-column/grip.js +52 -0
  43. package/lib/multi-column/index.js +24 -0
  44. package/lib/preview.js +392 -0
  45. package/lib/sortable-element.js +177 -0
  46. package/lib/sortable-form-elements.js +66 -0
  47. package/lib/stores/registry.js +42 -0
  48. package/lib/stores/requests.js +31 -0
  49. package/lib/stores/store.js +139 -0
  50. package/lib/toolbar-draggable-item.js +60 -0
  51. package/lib/toolbar-group-item.js +40 -0
  52. package/lib/toolbar.js +726 -0
  53. package/package.json +118 -0
  54. package/types/index.d.ts +184 -0
@@ -0,0 +1,1144 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
18
+ var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch"));
19
+ var _fileSaver = require("file-saver");
20
+ var _react = _interopRequireDefault(require("react"));
21
+ var _reactSelect = _interopRequireDefault(require("react-select"));
22
+ var _reactSignatureCanvas = _interopRequireDefault(require("react-signature-canvas"));
23
+ var _reactBootstrapSlider = _interopRequireDefault(require("react-bootstrap-slider"));
24
+ var _starRating = _interopRequireDefault(require("./star-rating"));
25
+ var _datePicker = _interopRequireDefault(require("./date-picker"));
26
+ var _componentHeader = _interopRequireDefault(require("./component-header"));
27
+ var _componentLabel = _interopRequireDefault(require("./component-label"));
28
+ var _myxss = _interopRequireDefault(require("./myxss"));
29
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
32
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // eslint-disable-next-line max-classes-per-file
33
+ var FormElements = {};
34
+ var Header = /*#__PURE__*/function (_React$Component) {
35
+ (0, _inherits2["default"])(Header, _React$Component);
36
+ var _super = _createSuper(Header);
37
+ function Header() {
38
+ (0, _classCallCheck2["default"])(this, Header);
39
+ return _super.apply(this, arguments);
40
+ }
41
+ (0, _createClass2["default"])(Header, [{
42
+ key: "render",
43
+ value: function render() {
44
+ // const headerClasses = `dynamic-input ${this.props.data.element}-input`;
45
+ var classNames = 'static';
46
+ if (this.props.data.bold) {
47
+ classNames += ' bold';
48
+ }
49
+ if (this.props.data.italic) {
50
+ classNames += ' italic';
51
+ }
52
+ var baseClasses = 'SortableItem rfb-item';
53
+ if (this.props.data.pageBreakBefore) {
54
+ baseClasses += ' alwaysbreak';
55
+ }
56
+ return /*#__PURE__*/_react["default"].createElement("div", {
57
+ style: _objectSpread({}, this.props.style),
58
+ className: baseClasses
59
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("h3", {
60
+ className: classNames,
61
+ dangerouslySetInnerHTML: {
62
+ __html: _myxss["default"].process(this.props.data.content)
63
+ }
64
+ }));
65
+ }
66
+ }]);
67
+ return Header;
68
+ }(_react["default"].Component);
69
+ var Paragraph = /*#__PURE__*/function (_React$Component2) {
70
+ (0, _inherits2["default"])(Paragraph, _React$Component2);
71
+ var _super2 = _createSuper(Paragraph);
72
+ function Paragraph() {
73
+ (0, _classCallCheck2["default"])(this, Paragraph);
74
+ return _super2.apply(this, arguments);
75
+ }
76
+ (0, _createClass2["default"])(Paragraph, [{
77
+ key: "render",
78
+ value: function render() {
79
+ var classNames = 'static';
80
+ if (this.props.data.bold) {
81
+ classNames += ' bold';
82
+ }
83
+ if (this.props.data.italic) {
84
+ classNames += ' italic';
85
+ }
86
+ var baseClasses = 'SortableItem rfb-item';
87
+ if (this.props.data.pageBreakBefore) {
88
+ baseClasses += ' alwaysbreak';
89
+ }
90
+ return /*#__PURE__*/_react["default"].createElement("div", {
91
+ style: _objectSpread({}, this.props.style),
92
+ className: baseClasses
93
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("p", {
94
+ className: classNames,
95
+ dangerouslySetInnerHTML: {
96
+ __html: _myxss["default"].process(this.props.data.content)
97
+ }
98
+ }));
99
+ }
100
+ }]);
101
+ return Paragraph;
102
+ }(_react["default"].Component);
103
+ var Label = /*#__PURE__*/function (_React$Component3) {
104
+ (0, _inherits2["default"])(Label, _React$Component3);
105
+ var _super3 = _createSuper(Label);
106
+ function Label() {
107
+ (0, _classCallCheck2["default"])(this, Label);
108
+ return _super3.apply(this, arguments);
109
+ }
110
+ (0, _createClass2["default"])(Label, [{
111
+ key: "render",
112
+ value: function render() {
113
+ var classNames = 'static';
114
+ if (this.props.data.bold) {
115
+ classNames += ' bold';
116
+ }
117
+ if (this.props.data.italic) {
118
+ classNames += ' italic';
119
+ }
120
+ var baseClasses = 'SortableItem rfb-item';
121
+ if (this.props.data.pageBreakBefore) {
122
+ baseClasses += ' alwaysbreak';
123
+ }
124
+ return /*#__PURE__*/_react["default"].createElement("div", {
125
+ style: _objectSpread({}, this.props.style),
126
+ className: baseClasses
127
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("label", {
128
+ className: "".concat(classNames, " form-label"),
129
+ dangerouslySetInnerHTML: {
130
+ __html: _myxss["default"].process(this.props.data.content)
131
+ }
132
+ }));
133
+ }
134
+ }]);
135
+ return Label;
136
+ }(_react["default"].Component);
137
+ var LineBreak = /*#__PURE__*/function (_React$Component4) {
138
+ (0, _inherits2["default"])(LineBreak, _React$Component4);
139
+ var _super4 = _createSuper(LineBreak);
140
+ function LineBreak() {
141
+ (0, _classCallCheck2["default"])(this, LineBreak);
142
+ return _super4.apply(this, arguments);
143
+ }
144
+ (0, _createClass2["default"])(LineBreak, [{
145
+ key: "render",
146
+ value: function render() {
147
+ var baseClasses = 'SortableItem rfb-item';
148
+ if (this.props.data.pageBreakBefore) {
149
+ baseClasses += ' alwaysbreak';
150
+ }
151
+ return /*#__PURE__*/_react["default"].createElement("div", {
152
+ style: _objectSpread({}, this.props.style),
153
+ className: baseClasses
154
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("hr", null));
155
+ }
156
+ }]);
157
+ return LineBreak;
158
+ }(_react["default"].Component);
159
+ var TextInput = /*#__PURE__*/function (_React$Component5) {
160
+ (0, _inherits2["default"])(TextInput, _React$Component5);
161
+ var _super5 = _createSuper(TextInput);
162
+ function TextInput(props) {
163
+ var _this;
164
+ (0, _classCallCheck2["default"])(this, TextInput);
165
+ _this = _super5.call(this, props);
166
+ _this.inputField = /*#__PURE__*/_react["default"].createRef();
167
+ return _this;
168
+ }
169
+ (0, _createClass2["default"])(TextInput, [{
170
+ key: "render",
171
+ value: function render() {
172
+ var props = {};
173
+ props.type = 'text';
174
+ props.className = 'form-control';
175
+ props.name = this.props.data.field_name;
176
+ if (this.props.mutable) {
177
+ props.defaultValue = this.props.defaultValue;
178
+ props.ref = this.inputField;
179
+ }
180
+ var baseClasses = 'SortableItem rfb-item';
181
+ if (this.props.data.pageBreakBefore) {
182
+ baseClasses += ' alwaysbreak';
183
+ }
184
+ if (this.props.read_only) {
185
+ props.disabled = 'disabled';
186
+ }
187
+ return /*#__PURE__*/_react["default"].createElement("div", {
188
+ style: _objectSpread({}, this.props.style),
189
+ className: baseClasses
190
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
191
+ className: "form-group"
192
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)));
193
+ }
194
+ }]);
195
+ return TextInput;
196
+ }(_react["default"].Component);
197
+ var EmailInput = /*#__PURE__*/function (_React$Component6) {
198
+ (0, _inherits2["default"])(EmailInput, _React$Component6);
199
+ var _super6 = _createSuper(EmailInput);
200
+ function EmailInput(props) {
201
+ var _this2;
202
+ (0, _classCallCheck2["default"])(this, EmailInput);
203
+ _this2 = _super6.call(this, props);
204
+ _this2.inputField = /*#__PURE__*/_react["default"].createRef();
205
+ return _this2;
206
+ }
207
+ (0, _createClass2["default"])(EmailInput, [{
208
+ key: "render",
209
+ value: function render() {
210
+ var props = {};
211
+ props.type = 'text';
212
+ props.className = 'form-control';
213
+ props.name = this.props.data.field_name;
214
+ if (this.props.mutable) {
215
+ props.defaultValue = this.props.defaultValue;
216
+ props.ref = this.inputField;
217
+ }
218
+ var baseClasses = 'SortableItem rfb-item';
219
+ if (this.props.data.pageBreakBefore) {
220
+ baseClasses += ' alwaysbreak';
221
+ }
222
+ if (this.props.read_only) {
223
+ props.disabled = 'disabled';
224
+ }
225
+ return /*#__PURE__*/_react["default"].createElement("div", {
226
+ style: _objectSpread({}, this.props.style),
227
+ className: baseClasses
228
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
229
+ className: "form-group"
230
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)));
231
+ }
232
+ }]);
233
+ return EmailInput;
234
+ }(_react["default"].Component);
235
+ var PhoneNumber = /*#__PURE__*/function (_React$Component7) {
236
+ (0, _inherits2["default"])(PhoneNumber, _React$Component7);
237
+ var _super7 = _createSuper(PhoneNumber);
238
+ function PhoneNumber(props) {
239
+ var _this3;
240
+ (0, _classCallCheck2["default"])(this, PhoneNumber);
241
+ _this3 = _super7.call(this, props);
242
+ _this3.inputField = /*#__PURE__*/_react["default"].createRef();
243
+ return _this3;
244
+ }
245
+ (0, _createClass2["default"])(PhoneNumber, [{
246
+ key: "render",
247
+ value: function render() {
248
+ var props = {};
249
+ props.type = 'tel';
250
+ props.className = 'form-control';
251
+ props.name = this.props.data.field_name;
252
+ if (this.props.mutable) {
253
+ props.defaultValue = this.props.defaultValue;
254
+ props.ref = this.inputField;
255
+ }
256
+ var baseClasses = 'SortableItem rfb-item';
257
+ if (this.props.data.pageBreakBefore) {
258
+ baseClasses += ' alwaysbreak';
259
+ }
260
+ if (this.props.read_only) {
261
+ props.disabled = 'disabled';
262
+ }
263
+ return /*#__PURE__*/_react["default"].createElement("div", {
264
+ style: _objectSpread({}, this.props.style),
265
+ className: baseClasses
266
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
267
+ className: "form-group"
268
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)));
269
+ }
270
+ }]);
271
+ return PhoneNumber;
272
+ }(_react["default"].Component);
273
+ var NumberInput = /*#__PURE__*/function (_React$Component8) {
274
+ (0, _inherits2["default"])(NumberInput, _React$Component8);
275
+ var _super8 = _createSuper(NumberInput);
276
+ function NumberInput(props) {
277
+ var _this4;
278
+ (0, _classCallCheck2["default"])(this, NumberInput);
279
+ _this4 = _super8.call(this, props);
280
+ _this4.inputField = /*#__PURE__*/_react["default"].createRef();
281
+ return _this4;
282
+ }
283
+ (0, _createClass2["default"])(NumberInput, [{
284
+ key: "render",
285
+ value: function render() {
286
+ var props = {};
287
+ props.type = 'number';
288
+ props.className = 'form-control';
289
+ props.name = this.props.data.field_name;
290
+ if (this.props.mutable) {
291
+ props.defaultValue = this.props.defaultValue;
292
+ props.ref = this.inputField;
293
+ }
294
+ if (this.props.read_only) {
295
+ props.disabled = 'disabled';
296
+ }
297
+ var baseClasses = 'SortableItem rfb-item';
298
+ if (this.props.data.pageBreakBefore) {
299
+ baseClasses += ' alwaysbreak';
300
+ }
301
+ return /*#__PURE__*/_react["default"].createElement("div", {
302
+ style: _objectSpread({}, this.props.style),
303
+ className: baseClasses
304
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
305
+ className: "form-group"
306
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("input", props)));
307
+ }
308
+ }]);
309
+ return NumberInput;
310
+ }(_react["default"].Component);
311
+ var TextArea = /*#__PURE__*/function (_React$Component9) {
312
+ (0, _inherits2["default"])(TextArea, _React$Component9);
313
+ var _super9 = _createSuper(TextArea);
314
+ function TextArea(props) {
315
+ var _this5;
316
+ (0, _classCallCheck2["default"])(this, TextArea);
317
+ _this5 = _super9.call(this, props);
318
+ _this5.inputField = /*#__PURE__*/_react["default"].createRef();
319
+ return _this5;
320
+ }
321
+ (0, _createClass2["default"])(TextArea, [{
322
+ key: "render",
323
+ value: function render() {
324
+ var props = {};
325
+ props.className = 'form-control';
326
+ props.name = this.props.data.field_name;
327
+ if (this.props.read_only) {
328
+ props.disabled = 'disabled';
329
+ }
330
+ if (this.props.mutable) {
331
+ props.defaultValue = this.props.defaultValue;
332
+ props.ref = this.inputField;
333
+ }
334
+ var baseClasses = 'SortableItem rfb-item';
335
+ if (this.props.data.pageBreakBefore) {
336
+ baseClasses += ' alwaysbreak';
337
+ }
338
+ return /*#__PURE__*/_react["default"].createElement("div", {
339
+ style: _objectSpread({}, this.props.style),
340
+ className: baseClasses
341
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
342
+ className: "form-group"
343
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("textarea", props)));
344
+ }
345
+ }]);
346
+ return TextArea;
347
+ }(_react["default"].Component);
348
+ var Dropdown = /*#__PURE__*/function (_React$Component10) {
349
+ (0, _inherits2["default"])(Dropdown, _React$Component10);
350
+ var _super10 = _createSuper(Dropdown);
351
+ function Dropdown(props) {
352
+ var _this6;
353
+ (0, _classCallCheck2["default"])(this, Dropdown);
354
+ _this6 = _super10.call(this, props);
355
+ _this6.inputField = /*#__PURE__*/_react["default"].createRef();
356
+ return _this6;
357
+ }
358
+ (0, _createClass2["default"])(Dropdown, [{
359
+ key: "render",
360
+ value: function render() {
361
+ var props = {};
362
+ props.className = 'form-control';
363
+ props.name = this.props.data.field_name;
364
+ if (this.props.mutable) {
365
+ props.defaultValue = this.props.defaultValue;
366
+ props.ref = this.inputField;
367
+ }
368
+ if (this.props.read_only) {
369
+ props.disabled = 'disabled';
370
+ }
371
+ var baseClasses = 'SortableItem rfb-item';
372
+ if (this.props.data.pageBreakBefore) {
373
+ baseClasses += ' alwaysbreak';
374
+ }
375
+ return /*#__PURE__*/_react["default"].createElement("div", {
376
+ style: _objectSpread({}, this.props.style),
377
+ className: baseClasses
378
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
379
+ className: "form-group"
380
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("select", props, this.props.data.options.map(function (option) {
381
+ var this_key = "preview_".concat(option.key);
382
+ return /*#__PURE__*/_react["default"].createElement("option", {
383
+ value: option.value,
384
+ key: this_key
385
+ }, option.text);
386
+ }))));
387
+ }
388
+ }]);
389
+ return Dropdown;
390
+ }(_react["default"].Component);
391
+ var Signature = /*#__PURE__*/function (_React$Component11) {
392
+ (0, _inherits2["default"])(Signature, _React$Component11);
393
+ var _super11 = _createSuper(Signature);
394
+ function Signature(props) {
395
+ var _this7;
396
+ (0, _classCallCheck2["default"])(this, Signature);
397
+ _this7 = _super11.call(this, props);
398
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this7), "clear", function () {
399
+ if (_this7.state.defaultValue) {
400
+ _this7.setState({
401
+ defaultValue: ''
402
+ });
403
+ } else if (_this7.canvas.current) {
404
+ _this7.canvas.current.clear();
405
+ }
406
+ });
407
+ _this7.state = {
408
+ defaultValue: props.defaultValue
409
+ };
410
+ _this7.inputField = /*#__PURE__*/_react["default"].createRef();
411
+ _this7.canvas = /*#__PURE__*/_react["default"].createRef();
412
+ return _this7;
413
+ }
414
+ (0, _createClass2["default"])(Signature, [{
415
+ key: "render",
416
+ value: function render() {
417
+ var defaultValue = this.state.defaultValue;
418
+ var canClear = !!defaultValue;
419
+ var props = {};
420
+ props.type = 'hidden';
421
+ props.name = this.props.data.field_name;
422
+ if (this.props.mutable) {
423
+ props.defaultValue = defaultValue;
424
+ props.ref = this.inputField;
425
+ }
426
+ var pad_props = {};
427
+ // umd requires canvasProps={{ width: 400, height: 150 }}
428
+ if (this.props.mutable) {
429
+ pad_props.defaultValue = defaultValue;
430
+ pad_props.ref = this.canvas;
431
+ canClear = !this.props.read_only;
432
+ }
433
+ pad_props.clearOnResize = false;
434
+ var baseClasses = 'SortableItem rfb-item';
435
+ if (this.props.data.pageBreakBefore) {
436
+ baseClasses += ' alwaysbreak';
437
+ }
438
+ var sourceDataURL;
439
+ if (defaultValue && defaultValue.length > 0) {
440
+ sourceDataURL = "data:image/png;base64,".concat(defaultValue);
441
+ }
442
+ return /*#__PURE__*/_react["default"].createElement("div", {
443
+ style: _objectSpread({}, this.props.style),
444
+ className: baseClasses
445
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
446
+ className: "form-group"
447
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.read_only === true || !!sourceDataURL ? /*#__PURE__*/_react["default"].createElement("img", {
448
+ src: sourceDataURL
449
+ }) : /*#__PURE__*/_react["default"].createElement(_reactSignatureCanvas["default"], pad_props), canClear && /*#__PURE__*/_react["default"].createElement("i", {
450
+ className: "fas fa-times clear-signature",
451
+ onClick: this.clear,
452
+ title: "Clear Signature"
453
+ }), /*#__PURE__*/_react["default"].createElement("input", props)));
454
+ }
455
+ }]);
456
+ return Signature;
457
+ }(_react["default"].Component);
458
+ var Tags = /*#__PURE__*/function (_React$Component12) {
459
+ (0, _inherits2["default"])(Tags, _React$Component12);
460
+ var _super12 = _createSuper(Tags);
461
+ function Tags(props) {
462
+ var _this8;
463
+ (0, _classCallCheck2["default"])(this, Tags);
464
+ _this8 = _super12.call(this, props);
465
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this8), "handleChange", function (e) {
466
+ _this8.setState({
467
+ value: e || []
468
+ });
469
+ });
470
+ _this8.inputField = /*#__PURE__*/_react["default"].createRef();
471
+ var defaultValue = props.defaultValue,
472
+ data = props.data;
473
+ _this8.state = {
474
+ value: _this8.getDefaultValue(defaultValue, data.options)
475
+ };
476
+ return _this8;
477
+ }
478
+ (0, _createClass2["default"])(Tags, [{
479
+ key: "getDefaultValue",
480
+ value: function getDefaultValue(defaultValue, options) {
481
+ if (defaultValue) {
482
+ if (typeof defaultValue === 'string') {
483
+ var vals = defaultValue.split(',').map(function (x) {
484
+ return x.trim();
485
+ });
486
+ return options.filter(function (x) {
487
+ return vals.indexOf(x.value) > -1;
488
+ });
489
+ }
490
+ return options.filter(function (x) {
491
+ return defaultValue.indexOf(x.value) > -1;
492
+ });
493
+ }
494
+ return [];
495
+ }
496
+
497
+ // state = { value: this.props.defaultValue !== undefined ? this.props.defaultValue.split(',') : [] };
498
+ }, {
499
+ key: "render",
500
+ value: function render() {
501
+ var options = this.props.data.options.map(function (option) {
502
+ option.label = option.text;
503
+ return option;
504
+ });
505
+ var props = {};
506
+ props.isMulti = true;
507
+ props.name = this.props.data.field_name;
508
+ props.onChange = this.handleChange;
509
+ props.options = options;
510
+ if (!this.props.mutable) {
511
+ props.value = options[0].text;
512
+ } // to show a sample of what tags looks like
513
+ if (this.props.mutable) {
514
+ props.isDisabled = this.props.read_only;
515
+ props.value = this.state.value;
516
+ props.ref = this.inputField;
517
+ }
518
+ var baseClasses = 'SortableItem rfb-item';
519
+ if (this.props.data.pageBreakBefore) {
520
+ baseClasses += ' alwaysbreak';
521
+ }
522
+ return /*#__PURE__*/_react["default"].createElement("div", {
523
+ style: _objectSpread({}, this.props.style),
524
+ className: baseClasses
525
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
526
+ className: "form-group"
527
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement(_reactSelect["default"], props)));
528
+ }
529
+ }]);
530
+ return Tags;
531
+ }(_react["default"].Component);
532
+ var Checkboxes = /*#__PURE__*/function (_React$Component13) {
533
+ (0, _inherits2["default"])(Checkboxes, _React$Component13);
534
+ var _super13 = _createSuper(Checkboxes);
535
+ function Checkboxes(props) {
536
+ var _this9;
537
+ (0, _classCallCheck2["default"])(this, Checkboxes);
538
+ _this9 = _super13.call(this, props);
539
+ _this9.options = {};
540
+ return _this9;
541
+ }
542
+ (0, _createClass2["default"])(Checkboxes, [{
543
+ key: "render",
544
+ value: function render() {
545
+ var _this10 = this;
546
+ var self = this;
547
+ var classNames = 'custom-control custom-checkbox';
548
+ if (this.props.data.inline) {
549
+ classNames += ' option-inline';
550
+ }
551
+ var baseClasses = 'SortableItem rfb-item';
552
+ if (this.props.data.pageBreakBefore) {
553
+ baseClasses += ' alwaysbreak';
554
+ }
555
+ return /*#__PURE__*/_react["default"].createElement("div", {
556
+ style: _objectSpread({}, this.props.style),
557
+ className: baseClasses
558
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
559
+ className: "form-group"
560
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.data.options.map(function (option) {
561
+ var this_key = "preview_".concat(option.key);
562
+ var props = {};
563
+ props.name = "option_".concat(option.key);
564
+ props.type = 'checkbox';
565
+ props.value = option.value;
566
+ if (self.props.mutable) {
567
+ props.defaultChecked = self.props.defaultValue !== undefined && (self.props.defaultValue.indexOf(option.key) > -1 || self.props.defaultValue.indexOf(option.value) > -1);
568
+ }
569
+ if (_this10.props.read_only) {
570
+ props.disabled = 'disabled';
571
+ }
572
+ return /*#__PURE__*/_react["default"].createElement("div", {
573
+ className: classNames,
574
+ key: this_key
575
+ }, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
576
+ id: "fid_".concat(this_key),
577
+ className: "custom-control-input",
578
+ ref: function ref(c) {
579
+ if (c && self.props.mutable) {
580
+ self.options["child_ref_".concat(option.key)] = c;
581
+ }
582
+ }
583
+ }, props)), /*#__PURE__*/_react["default"].createElement("label", {
584
+ className: "custom-control-label",
585
+ htmlFor: "fid_".concat(this_key)
586
+ }, option.text));
587
+ })));
588
+ }
589
+ }]);
590
+ return Checkboxes;
591
+ }(_react["default"].Component);
592
+ var RadioButtons = /*#__PURE__*/function (_React$Component14) {
593
+ (0, _inherits2["default"])(RadioButtons, _React$Component14);
594
+ var _super14 = _createSuper(RadioButtons);
595
+ function RadioButtons(props) {
596
+ var _this11;
597
+ (0, _classCallCheck2["default"])(this, RadioButtons);
598
+ _this11 = _super14.call(this, props);
599
+ _this11.options = {};
600
+ return _this11;
601
+ }
602
+ (0, _createClass2["default"])(RadioButtons, [{
603
+ key: "render",
604
+ value: function render() {
605
+ var _this12 = this;
606
+ var self = this;
607
+ var classNames = 'custom-control custom-radio';
608
+ if (this.props.data.inline) {
609
+ classNames += ' option-inline';
610
+ }
611
+ var baseClasses = 'SortableItem rfb-item';
612
+ if (this.props.data.pageBreakBefore) {
613
+ baseClasses += ' alwaysbreak';
614
+ }
615
+ return /*#__PURE__*/_react["default"].createElement("div", {
616
+ style: _objectSpread({}, this.props.style),
617
+ className: baseClasses
618
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
619
+ className: "form-group"
620
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.data.options.map(function (option) {
621
+ var this_key = "preview_".concat(option.key);
622
+ var props = {};
623
+ props.name = self.props.data.field_name;
624
+ props.type = 'radio';
625
+ props.value = option.value;
626
+ if (self.props.mutable) {
627
+ props.defaultChecked = self.props.defaultValue !== undefined && (self.props.defaultValue.indexOf(option.key) > -1 || self.props.defaultValue.indexOf(option.value) > -1);
628
+ }
629
+ if (_this12.props.read_only) {
630
+ props.disabled = 'disabled';
631
+ }
632
+ return /*#__PURE__*/_react["default"].createElement("div", {
633
+ className: classNames,
634
+ key: this_key
635
+ }, /*#__PURE__*/_react["default"].createElement("input", (0, _extends2["default"])({
636
+ id: "fid_".concat(this_key),
637
+ className: "custom-control-input",
638
+ ref: function ref(c) {
639
+ if (c && self.props.mutable) {
640
+ self.options["child_ref_".concat(option.key)] = c;
641
+ }
642
+ }
643
+ }, props)), /*#__PURE__*/_react["default"].createElement("label", {
644
+ className: "custom-control-label",
645
+ htmlFor: "fid_".concat(this_key)
646
+ }, option.text));
647
+ })));
648
+ }
649
+ }]);
650
+ return RadioButtons;
651
+ }(_react["default"].Component);
652
+ var Image = /*#__PURE__*/function (_React$Component15) {
653
+ (0, _inherits2["default"])(Image, _React$Component15);
654
+ var _super15 = _createSuper(Image);
655
+ function Image() {
656
+ (0, _classCallCheck2["default"])(this, Image);
657
+ return _super15.apply(this, arguments);
658
+ }
659
+ (0, _createClass2["default"])(Image, [{
660
+ key: "render",
661
+ value: function render() {
662
+ var style = this.props.data.center ? {
663
+ textAlign: 'center'
664
+ } : null;
665
+ var baseClasses = 'SortableItem rfb-item';
666
+ if (this.props.data.pageBreakBefore) {
667
+ baseClasses += ' alwaysbreak';
668
+ }
669
+ return /*#__PURE__*/_react["default"].createElement("div", {
670
+ style: _objectSpread(_objectSpread({}, this.props.style), style),
671
+ className: baseClasses
672
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), this.props.data.src && /*#__PURE__*/_react["default"].createElement("img", {
673
+ src: this.props.data.src,
674
+ width: this.props.data.width,
675
+ height: this.props.data.height
676
+ }), !this.props.data.src && /*#__PURE__*/_react["default"].createElement("div", {
677
+ className: "no-image"
678
+ }, "No Image"));
679
+ }
680
+ }]);
681
+ return Image;
682
+ }(_react["default"].Component);
683
+ var Rating = /*#__PURE__*/function (_React$Component16) {
684
+ (0, _inherits2["default"])(Rating, _React$Component16);
685
+ var _super16 = _createSuper(Rating);
686
+ function Rating(props) {
687
+ var _this13;
688
+ (0, _classCallCheck2["default"])(this, Rating);
689
+ _this13 = _super16.call(this, props);
690
+ _this13.inputField = /*#__PURE__*/_react["default"].createRef();
691
+ return _this13;
692
+ }
693
+ (0, _createClass2["default"])(Rating, [{
694
+ key: "render",
695
+ value: function render() {
696
+ var props = {};
697
+ props.name = this.props.data.field_name;
698
+ props.ratingAmount = 5;
699
+ if (this.props.mutable) {
700
+ props.rating = this.props.defaultValue !== undefined ? parseFloat(this.props.defaultValue, 10) : 0;
701
+ props.editing = true;
702
+ props.disabled = this.props.read_only;
703
+ props.ref = this.inputField;
704
+ }
705
+ var baseClasses = 'SortableItem rfb-item';
706
+ if (this.props.data.pageBreakBefore) {
707
+ baseClasses += ' alwaysbreak';
708
+ }
709
+ return /*#__PURE__*/_react["default"].createElement("div", {
710
+ style: _objectSpread({}, this.props.style),
711
+ className: baseClasses
712
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
713
+ className: "form-group"
714
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement(_starRating["default"], props)));
715
+ }
716
+ }]);
717
+ return Rating;
718
+ }(_react["default"].Component);
719
+ var HyperLink = /*#__PURE__*/function (_React$Component17) {
720
+ (0, _inherits2["default"])(HyperLink, _React$Component17);
721
+ var _super17 = _createSuper(HyperLink);
722
+ function HyperLink() {
723
+ (0, _classCallCheck2["default"])(this, HyperLink);
724
+ return _super17.apply(this, arguments);
725
+ }
726
+ (0, _createClass2["default"])(HyperLink, [{
727
+ key: "render",
728
+ value: function render() {
729
+ var baseClasses = 'SortableItem rfb-item';
730
+ if (this.props.data.pageBreakBefore) {
731
+ baseClasses += ' alwaysbreak';
732
+ }
733
+ return /*#__PURE__*/_react["default"].createElement("div", {
734
+ style: _objectSpread({}, this.props.style),
735
+ className: baseClasses
736
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
737
+ className: "form-group"
738
+ }, /*#__PURE__*/_react["default"].createElement("label", {
739
+ className: 'form-label'
740
+ }, /*#__PURE__*/_react["default"].createElement("a", {
741
+ target: "_blank",
742
+ href: this.props.data.href,
743
+ dangerouslySetInnerHTML: {
744
+ __html: _myxss["default"].process(this.props.data.content)
745
+ }
746
+ }))));
747
+ }
748
+ }]);
749
+ return HyperLink;
750
+ }(_react["default"].Component);
751
+ var Download = /*#__PURE__*/function (_React$Component18) {
752
+ (0, _inherits2["default"])(Download, _React$Component18);
753
+ var _super18 = _createSuper(Download);
754
+ function Download() {
755
+ (0, _classCallCheck2["default"])(this, Download);
756
+ return _super18.apply(this, arguments);
757
+ }
758
+ (0, _createClass2["default"])(Download, [{
759
+ key: "render",
760
+ value: function render() {
761
+ var baseClasses = 'SortableItem rfb-item';
762
+ if (this.props.data.pageBreakBefore) {
763
+ baseClasses += ' alwaysbreak';
764
+ }
765
+ return /*#__PURE__*/_react["default"].createElement("div", {
766
+ style: _objectSpread({}, this.props.style),
767
+ className: baseClasses
768
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
769
+ className: "form-group"
770
+ }, /*#__PURE__*/_react["default"].createElement("a", {
771
+ href: "".concat(this.props.download_path, "?id=").concat(this.props.data.file_path)
772
+ }, this.props.data.content)));
773
+ }
774
+ }]);
775
+ return Download;
776
+ }(_react["default"].Component);
777
+ var Camera = /*#__PURE__*/function (_React$Component19) {
778
+ (0, _inherits2["default"])(Camera, _React$Component19);
779
+ var _super19 = _createSuper(Camera);
780
+ function Camera(props) {
781
+ var _this14;
782
+ (0, _classCallCheck2["default"])(this, Camera);
783
+ _this14 = _super19.call(this, props);
784
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this14), "displayImage", function (e) {
785
+ var self = (0, _assertThisInitialized2["default"])(_this14);
786
+ var target = e.target;
787
+ if (target.files && target.files.length) {
788
+ self.setState({
789
+ img: target.files[0],
790
+ previewImg: URL.createObjectURL(target.files[0])
791
+ });
792
+ }
793
+ });
794
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this14), "clearImage", function () {
795
+ _this14.setState({
796
+ img: null,
797
+ previewImg: null
798
+ });
799
+ });
800
+ _this14.state = {
801
+ img: null,
802
+ previewImg: null
803
+ };
804
+ return _this14;
805
+ }
806
+ (0, _createClass2["default"])(Camera, [{
807
+ key: "getImageSizeProps",
808
+ value: function getImageSizeProps(_ref) {
809
+ var width = _ref.width,
810
+ height = _ref.height;
811
+ var imgProps = {
812
+ width: '100%'
813
+ };
814
+ if (width) {
815
+ imgProps.width = width < window.innerWidth ? width : 0.9 * window.innerWidth;
816
+ }
817
+ if (height) {
818
+ imgProps.height = height;
819
+ }
820
+ return imgProps;
821
+ }
822
+ }, {
823
+ key: "render",
824
+ value: function render() {
825
+ var _this15 = this;
826
+ var imageStyle = {
827
+ objectFit: 'scale-down',
828
+ objectPosition: this.props.data.center ? 'center' : 'left'
829
+ };
830
+ var baseClasses = 'SortableItem rfb-item';
831
+ var name = this.props.data.field_name;
832
+ var fileInputStyle = this.state.img ? {
833
+ display: 'none'
834
+ } : null;
835
+ if (this.props.data.pageBreakBefore) {
836
+ baseClasses += ' alwaysbreak';
837
+ }
838
+ var sourceDataURL;
839
+ if (this.props.read_only === true && this.props.defaultValue && this.props.defaultValue.length > 0) {
840
+ if (this.props.defaultValue.indexOf(name > -1)) {
841
+ sourceDataURL = this.props.defaultValue;
842
+ } else {
843
+ sourceDataURL = "data:image/png;base64,".concat(this.props.defaultValue);
844
+ }
845
+ }
846
+ return /*#__PURE__*/_react["default"].createElement("div", {
847
+ style: _objectSpread({}, this.props.style),
848
+ className: baseClasses
849
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
850
+ className: "form-group"
851
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.read_only === true && this.props.defaultValue && this.props.defaultValue.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("img", (0, _extends2["default"])({
852
+ style: imageStyle,
853
+ src: sourceDataURL
854
+ }, this.getImageSizeProps(this.props.data)))) : /*#__PURE__*/_react["default"].createElement("div", {
855
+ className: "image-upload-container"
856
+ }, /*#__PURE__*/_react["default"].createElement("div", {
857
+ style: fileInputStyle
858
+ }, /*#__PURE__*/_react["default"].createElement("input", {
859
+ name: name,
860
+ type: "file",
861
+ accept: "image/*",
862
+ capture: "camera",
863
+ className: "image-upload",
864
+ onChange: this.displayImage,
865
+ "data-clearlabel": this.props.data.label_after_photo_clear_icon,
866
+ disabled: this.props.read_only
867
+ }), /*#__PURE__*/_react["default"].createElement("div", {
868
+ className: "image-upload-control"
869
+ }, /*#__PURE__*/_react["default"].createElement("div", {
870
+ className: "btn btn-default"
871
+ }, /*#__PURE__*/_react["default"].createElement("i", {
872
+ className: "fas fa-camera"
873
+ }), " ", this.props.data.label_after_camera_icon), /*#__PURE__*/_react["default"].createElement("p", null, this.props.data.message_under_camera_icon))), this.state.img && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("img", {
874
+ onLoad: function onLoad() {
875
+ return URL.revokeObjectURL(_this15.state.previewImg);
876
+ },
877
+ src: this.state.previewImg,
878
+ height: "100",
879
+ className: "image-upload-preview"
880
+ }), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
881
+ className: "btn btn-image-clear",
882
+ onClick: this.clearImage
883
+ }, /*#__PURE__*/_react["default"].createElement("i", {
884
+ className: "fas fa-times"
885
+ }), " ", this.props.data.label_after_photo_clear_icon)))));
886
+ }
887
+ }]);
888
+ return Camera;
889
+ }(_react["default"].Component);
890
+ var FileUpload = /*#__PURE__*/function (_React$Component20) {
891
+ (0, _inherits2["default"])(FileUpload, _React$Component20);
892
+ var _super20 = _createSuper(FileUpload);
893
+ function FileUpload(props) {
894
+ var _this16;
895
+ (0, _classCallCheck2["default"])(this, FileUpload);
896
+ _this16 = _super20.call(this, props);
897
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this16), "displayFileUpload", function (e) {
898
+ var self = (0, _assertThisInitialized2["default"])(_this16);
899
+ var target = e.target;
900
+ var file;
901
+ if (target.files && target.files.length > 0) {
902
+ file = target.files[0];
903
+ self.setState({
904
+ fileUpload: file
905
+ });
906
+ }
907
+ });
908
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this16), "clearFileUpload", function () {
909
+ _this16.setState({
910
+ fileUpload: null
911
+ });
912
+ });
913
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this16), "saveFile", /*#__PURE__*/function () {
914
+ var _ref2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(e) {
915
+ var sourceUrl, response, dispositionHeader, resBlob, blob, fileName, _fileName;
916
+ return _regenerator["default"].wrap(function _callee$(_context) {
917
+ while (1) {
918
+ switch (_context.prev = _context.next) {
919
+ case 0:
920
+ e.preventDefault();
921
+ sourceUrl = _this16.props.defaultValue;
922
+ _context.next = 4;
923
+ return (0, _isomorphicFetch["default"])(sourceUrl, {
924
+ method: 'GET',
925
+ headers: {
926
+ Accept: 'application/json',
927
+ 'Content-Type': 'application/json; charset=utf-8'
928
+ },
929
+ responseType: 'blob'
930
+ });
931
+ case 4:
932
+ response = _context.sent;
933
+ dispositionHeader = response.headers.get('Content-Disposition');
934
+ _context.next = 8;
935
+ return response.blob();
936
+ case 8:
937
+ resBlob = _context.sent;
938
+ // eslint-disable-next-line no-undef
939
+ blob = new Blob([resBlob], {
940
+ type: _this16.props.data.fileType || response.headers.get('Content-Type')
941
+ });
942
+ if (dispositionHeader && dispositionHeader.indexOf(';filename=') > -1) {
943
+ fileName = dispositionHeader.split(';filename=')[1];
944
+ (0, _fileSaver.saveAs)(blob, fileName);
945
+ } else {
946
+ _fileName = sourceUrl.substring(sourceUrl.lastIndexOf('/') + 1);
947
+ (0, _fileSaver.saveAs)(response.url, _fileName);
948
+ }
949
+ case 11:
950
+ case "end":
951
+ return _context.stop();
952
+ }
953
+ }
954
+ }, _callee);
955
+ }));
956
+ return function (_x) {
957
+ return _ref2.apply(this, arguments);
958
+ };
959
+ }());
960
+ _this16.state = {
961
+ fileUpload: null
962
+ };
963
+ return _this16;
964
+ }
965
+ (0, _createClass2["default"])(FileUpload, [{
966
+ key: "render",
967
+ value: function render() {
968
+ var baseClasses = 'SortableItem rfb-item';
969
+ var name = this.props.data.field_name;
970
+ var fileInputStyle = this.state.fileUpload ? {
971
+ display: 'none'
972
+ } : null;
973
+ if (this.props.data.pageBreakBefore) {
974
+ baseClasses += ' alwaysbreak';
975
+ }
976
+ return /*#__PURE__*/_react["default"].createElement("div", {
977
+ style: _objectSpread({}, this.props.style),
978
+ className: baseClasses
979
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
980
+ className: "form-group"
981
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), this.props.read_only === true && this.props.defaultValue && this.props.defaultValue.length > 0 ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("button", {
982
+ className: "btn btn-default",
983
+ onClick: this.saveFile
984
+ }, /*#__PURE__*/_react["default"].createElement("i", {
985
+ className: "fas fa-download"
986
+ }), " Download File")) : /*#__PURE__*/_react["default"].createElement("div", {
987
+ className: "image-upload-container"
988
+ }, /*#__PURE__*/_react["default"].createElement("div", {
989
+ style: fileInputStyle
990
+ }, /*#__PURE__*/_react["default"].createElement("input", {
991
+ name: name,
992
+ type: "file",
993
+ accept: this.props.data.fileType || '*',
994
+ className: "image-upload",
995
+ onChange: this.displayFileUpload,
996
+ "data-clearlabel": this.props.data.label_after_file_clear_icon,
997
+ disabled: this.props.read_only
998
+ }), /*#__PURE__*/_react["default"].createElement("div", {
999
+ className: "image-upload-control"
1000
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1001
+ className: "btn btn-default"
1002
+ }, /*#__PURE__*/_react["default"].createElement("i", {
1003
+ className: "fas fa-file"
1004
+ }), " ", this.props.data.label_after_file_icon), /*#__PURE__*/_react["default"].createElement("p", null, this.props.data.message_under_file_icon))), this.state.fileUpload && /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
1005
+ className: "file-upload-preview"
1006
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1007
+ style: {
1008
+ display: 'inline-block',
1009
+ marginRight: '5px'
1010
+ }
1011
+ }, this.state.fileUpload.name), /*#__PURE__*/_react["default"].createElement("div", {
1012
+ style: {
1013
+ display: 'inline-block',
1014
+ marginLeft: '5px'
1015
+ }
1016
+ }, this.state.fileUpload.size.length > 6 ? " ".concat(Math.ceil(this.state.fileUpload.size / (1024 * 1024)), " mb") : " ".concat(Math.ceil(this.state.fileUpload.size / 1024), " kb"))), /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement("div", {
1017
+ className: "btn btn-file-upload-clear",
1018
+ onClick: this.clearFileUpload
1019
+ }, /*#__PURE__*/_react["default"].createElement("i", {
1020
+ className: "fas fa-times"
1021
+ }), " ", this.props.data.label_after_file_clear_icon)))));
1022
+ }
1023
+ }]);
1024
+ return FileUpload;
1025
+ }(_react["default"].Component);
1026
+ var Range = /*#__PURE__*/function (_React$Component21) {
1027
+ (0, _inherits2["default"])(Range, _React$Component21);
1028
+ var _super21 = _createSuper(Range);
1029
+ function Range(props) {
1030
+ var _this17;
1031
+ (0, _classCallCheck2["default"])(this, Range);
1032
+ _this17 = _super21.call(this, props);
1033
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this17), "changeValue", function (e) {
1034
+ var target = e.target;
1035
+ _this17.setState({
1036
+ value: target.value
1037
+ });
1038
+ });
1039
+ _this17.inputField = /*#__PURE__*/_react["default"].createRef();
1040
+ _this17.state = {
1041
+ value: props.defaultValue !== undefined ? parseInt(props.defaultValue, 10) : parseInt(props.data.default_value, 10)
1042
+ };
1043
+ return _this17;
1044
+ }
1045
+ (0, _createClass2["default"])(Range, [{
1046
+ key: "render",
1047
+ value: function render() {
1048
+ var props = {};
1049
+ var name = this.props.data.field_name;
1050
+ props.type = 'range';
1051
+ props.list = "tickmarks_".concat(name);
1052
+ props.min = this.props.data.min_value;
1053
+ props.max = this.props.data.max_value;
1054
+ props.step = this.props.data.step;
1055
+ props.value = this.state.value;
1056
+ props.change = this.changeValue;
1057
+ if (this.props.mutable) {
1058
+ props.ref = this.inputField;
1059
+ }
1060
+ var datalist = [];
1061
+ for (var i = parseInt(props.min, 10); i <= parseInt(props.max, 10); i += parseInt(props.step, 10)) {
1062
+ datalist.push(i);
1063
+ }
1064
+ var oneBig = 100 / (datalist.length - 1);
1065
+ var _datalist = datalist.map(function (d, idx) {
1066
+ return /*#__PURE__*/_react["default"].createElement("option", {
1067
+ key: "".concat(props.list, "_").concat(idx)
1068
+ }, d);
1069
+ });
1070
+ var visible_marks = datalist.map(function (d, idx) {
1071
+ var option_props = {};
1072
+ var w = oneBig;
1073
+ if (idx === 0 || idx === datalist.length - 1) {
1074
+ w = oneBig / 2;
1075
+ }
1076
+ option_props.key = "".concat(props.list, "_label_").concat(idx);
1077
+ option_props.style = {
1078
+ width: "".concat(w, "%")
1079
+ };
1080
+ if (idx === datalist.length - 1) {
1081
+ option_props.style = {
1082
+ width: "".concat(w, "%"),
1083
+ textAlign: 'right'
1084
+ };
1085
+ }
1086
+ return /*#__PURE__*/_react["default"].createElement("label", option_props, d);
1087
+ });
1088
+ if (this.props.read_only) {
1089
+ props.disabled = 'disabled';
1090
+ }
1091
+ var baseClasses = 'SortableItem rfb-item';
1092
+ if (this.props.data.pageBreakBefore) {
1093
+ baseClasses += ' alwaysbreak';
1094
+ }
1095
+ return /*#__PURE__*/_react["default"].createElement("div", {
1096
+ style: _objectSpread({}, this.props.style),
1097
+ className: baseClasses
1098
+ }, /*#__PURE__*/_react["default"].createElement(_componentHeader["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
1099
+ className: "form-group"
1100
+ }, /*#__PURE__*/_react["default"].createElement(_componentLabel["default"], this.props), /*#__PURE__*/_react["default"].createElement("div", {
1101
+ className: "range"
1102
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1103
+ className: "clearfix"
1104
+ }, /*#__PURE__*/_react["default"].createElement("span", {
1105
+ className: "float-left"
1106
+ }, this.props.data.min_label), /*#__PURE__*/_react["default"].createElement("span", {
1107
+ className: "float-right"
1108
+ }, this.props.data.max_label)), /*#__PURE__*/_react["default"].createElement(_reactBootstrapSlider["default"], props)), /*#__PURE__*/_react["default"].createElement("div", {
1109
+ className: "visible_marks"
1110
+ }, visible_marks), /*#__PURE__*/_react["default"].createElement("input", {
1111
+ name: name,
1112
+ value: this.state.value,
1113
+ type: "hidden"
1114
+ }), /*#__PURE__*/_react["default"].createElement("datalist", {
1115
+ id: props.list
1116
+ }, _datalist)));
1117
+ }
1118
+ }]);
1119
+ return Range;
1120
+ }(_react["default"].Component);
1121
+ FormElements.Header = Header;
1122
+ FormElements.Paragraph = Paragraph;
1123
+ FormElements.Label = Label;
1124
+ FormElements.LineBreak = LineBreak;
1125
+ FormElements.TextInput = TextInput;
1126
+ FormElements.EmailInput = EmailInput;
1127
+ FormElements.PhoneNumber = PhoneNumber;
1128
+ FormElements.NumberInput = NumberInput;
1129
+ FormElements.TextArea = TextArea;
1130
+ FormElements.Dropdown = Dropdown;
1131
+ FormElements.Signature = Signature;
1132
+ FormElements.Checkboxes = Checkboxes;
1133
+ FormElements.DatePicker = _datePicker["default"];
1134
+ FormElements.RadioButtons = RadioButtons;
1135
+ FormElements.Image = Image;
1136
+ FormElements.Rating = Rating;
1137
+ FormElements.Tags = Tags;
1138
+ FormElements.HyperLink = HyperLink;
1139
+ FormElements.Download = Download;
1140
+ FormElements.Camera = Camera;
1141
+ FormElements.FileUpload = FileUpload;
1142
+ FormElements.Range = Range;
1143
+ var _default = FormElements;
1144
+ exports["default"] = _default;