UNPKG

2.35 kBJavaScriptView Raw
1"use strict";
2
3var _button = _interopRequireDefault(require("./button"));
4
5var _sections = _interopRequireDefault(require("./sections"));
6
7var _columns = _interopRequireDefault(require("./columns"));
8
9var _inputText = _interopRequireDefault(require("./input-text"));
10
11var _textarea = _interopRequireDefault(require("./textarea"));
12
13var _head = _interopRequireDefault(require("./head"));
14
15var _paragraph = _interopRequireDefault(require("./paragraph"));
16
17var _upload = _interopRequireDefault(require("./upload"));
18
19var _plotly = _interopRequireDefault(require("./plotly"));
20
21var _loading = _interopRequireDefault(require("./loading"));
22
23var _string = _interopRequireDefault(require("./types/string"));
24
25var _find = _interopRequireDefault(require("./find"));
26
27var _update = _interopRequireDefault(require("./update"));
28
29var _merge = _interopRequireDefault(require("merge"));
30
31function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
33var Builder = function Builder(type, Element) {
34 return function () {
35 var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
36 var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
37 if (props.hasOwnProperty('props')) props = props.props;
38 if (key === '') throw new Error("You must have a key for ".concat(type));
39 var builder = Element(props);
40 builder.className = (0, _string.default)(builder, 'className', props);
41
42 builder.merge = function (newProps) {
43 props = (0, _merge.default)(props, newProps);
44 return builder;
45 };
46
47 builder.build = function () {
48 return {
49 key: key,
50 type: type,
51 props: props
52 };
53 };
54
55 return builder;
56 };
57};
58
59exports.Sections = _sections.default;
60exports.Columns = Builder('columns', _columns.default);
61exports.Button = Builder('button', _button.default);
62exports.InputText = Builder('input-text', _inputText.default);
63exports.Textarea = Builder('textarea', _textarea.default);
64exports.Head = Builder('head', _head.default);
65exports.Paragraph = Builder('paragraph', _paragraph.default);
66exports.Upload = Builder('upload', _upload.default);
67exports.Plotly = Builder('plotly', _plotly.default);
68exports.Loading = Builder('loading', _loading.default);
69exports.find = _find.default;
70exports.update = _update.default;
\No newline at end of file