graphql-form-mui 0.0.2

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 (44) hide show
  1. package/Readme.md +3 -0
  2. package/lib/components/ArrayField.d.ts +6 -0
  3. package/lib/components/ArrayField.js +64 -0
  4. package/lib/components/ArrayField.js.map +1 -0
  5. package/lib/components/BooleanField.d.ts +4 -0
  6. package/lib/components/BooleanField.js +27 -0
  7. package/lib/components/BooleanField.js.map +1 -0
  8. package/lib/components/EnumField.d.ts +4 -0
  9. package/lib/components/EnumField.js +38 -0
  10. package/lib/components/EnumField.js.map +1 -0
  11. package/lib/components/FormField.d.ts +4 -0
  12. package/lib/components/FormField.js +12 -0
  13. package/lib/components/FormField.js.map +1 -0
  14. package/lib/components/FormLabel.d.ts +4 -0
  15. package/lib/components/FormLabel.js +12 -0
  16. package/lib/components/FormLabel.js.map +1 -0
  17. package/lib/components/NullField.d.ts +3 -0
  18. package/lib/components/NullField.js +8 -0
  19. package/lib/components/NullField.js.map +1 -0
  20. package/lib/components/NumberField.d.ts +4 -0
  21. package/lib/components/NumberField.js +22 -0
  22. package/lib/components/NumberField.js.map +1 -0
  23. package/lib/components/ObjectField.d.ts +4 -0
  24. package/lib/components/ObjectField.js +37 -0
  25. package/lib/components/ObjectField.js.map +1 -0
  26. package/lib/components/UniversalField.d.ts +4 -0
  27. package/lib/components/UniversalField.js +22 -0
  28. package/lib/components/UniversalField.js.map +1 -0
  29. package/lib/index.d.ts +4 -0
  30. package/lib/index.js +42 -0
  31. package/lib/index.js.map +1 -0
  32. package/package.json +36 -0
  33. package/src/components/ArrayField.tsx +111 -0
  34. package/src/components/BooleanField.tsx +24 -0
  35. package/src/components/EnumField.tsx +31 -0
  36. package/src/components/FormField.tsx +5 -0
  37. package/src/components/FormLabel.tsx +9 -0
  38. package/src/components/NullField.tsx +2 -0
  39. package/src/components/NumberField.tsx +15 -0
  40. package/src/components/ObjectField.tsx +41 -0
  41. package/src/components/UniversalField.tsx +14 -0
  42. package/src/index.tsx +32 -0
  43. package/tsconfig.build.json +36 -0
  44. package/tsconfig.json +20 -0
package/Readme.md ADDED
@@ -0,0 +1,3 @@
1
+ # Starter
2
+
3
+ Copy this starter folder to start the new form library
@@ -0,0 +1,6 @@
1
+ import { PassedFormProps } from 'graphql-form';
2
+ import React from 'react';
3
+ declare const ArrayField: React.FC<PassedFormProps & {
4
+ open?: boolean;
5
+ }>;
6
+ export default ArrayField;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var material_1 = require("@mui/material");
18
+ var graphql_form_1 = require("graphql-form");
19
+ var graphql_js_tree_1 = require("graphql-js-tree");
20
+ var react_1 = __importDefault(require("react"));
21
+ var icons_material_1 = require("@mui/icons-material");
22
+ var ArrayField = function (props) {
23
+ var formObject = props.formObject, onChange = props.onChange, f = props.f;
24
+ formObject.value || (formObject.value = []);
25
+ if (f.type.fieldType.type !== graphql_js_tree_1.Options.array) {
26
+ throw new Error('Invalid Array node');
27
+ }
28
+ var nodeWithoutArray = __assign(__assign({}, f), { type: __assign(__assign({}, f.type), { fieldType: __assign({}, f.type.fieldType.nest) }) });
29
+ var formValuePointer = formObject.value;
30
+ return (react_1.default.createElement(material_1.Stack, null,
31
+ formValuePointer.map(function (v, i, all) {
32
+ formValuePointer[i] || (formValuePointer[i] = { node: nodeWithoutArray });
33
+ return (react_1.default.createElement(material_1.Stack, { key: f.name + i },
34
+ react_1.default.createElement(graphql_form_1.Renderer, __assign({ key: i }, props, { f: __assign(__assign({}, nodeWithoutArray), { name: "".concat(nodeWithoutArray.name, "[").concat(i, "]") }), onChange: function (e) {
35
+ formValuePointer[i] = e;
36
+ onChange(__assign(__assign({}, formObject), { value: formValuePointer }));
37
+ }, formObject: v }),
38
+ react_1.default.createElement(material_1.Stack, { direction: "row" },
39
+ react_1.default.createElement(material_1.IconButton, { onClick: function () {
40
+ onChange(__assign(__assign({}, formObject), { value: formValuePointer.filter(function (_, index) { return i !== index; }) }));
41
+ } },
42
+ react_1.default.createElement(icons_material_1.Close, null)),
43
+ i !== 0 && (react_1.default.createElement(material_1.IconButton, { onClick: function () {
44
+ var switched = v;
45
+ formValuePointer[i] = formValuePointer[i - 1];
46
+ formValuePointer[i - 1] = switched;
47
+ onChange(__assign(__assign({}, formObject), { value: formValuePointer }));
48
+ } },
49
+ react_1.default.createElement(icons_material_1.ArrowUpward, null))),
50
+ i !== all.length - 1 && (react_1.default.createElement(material_1.IconButton, { onClick: function () {
51
+ var switched = v;
52
+ formValuePointer[i] = formValuePointer[i + 1];
53
+ formValuePointer[i + 1] = switched;
54
+ onChange(__assign(__assign({}, formObject), { value: formValuePointer }));
55
+ } },
56
+ react_1.default.createElement(icons_material_1.ArrowDownward, null)))))));
57
+ }),
58
+ react_1.default.createElement(material_1.Button, { onClick: function () {
59
+ formValuePointer.push({});
60
+ onChange(__assign(__assign({}, formObject), { value: formValuePointer }));
61
+ }, endIcon: react_1.default.createElement(icons_material_1.PlusOne, null) }, "Add ".concat(f.name))));
62
+ };
63
+ exports.default = ArrayField;
64
+ //# sourceMappingURL=ArrayField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayField.js","sourceRoot":"","sources":["../../src/components/ArrayField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { PassedFormProps } from 'graphql-form';
3
+ declare const _default: ({ f, formObject, onChange }: PassedFormProps) => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var material_1 = require("@mui/material");
18
+ var react_1 = __importDefault(require("react"));
19
+ exports.default = (function (_a) {
20
+ var f = _a.f, formObject = _a.formObject, onChange = _a.onChange;
21
+ var value = formObject.value;
22
+ return (react_1.default.createElement(material_1.FormGroup, null,
23
+ react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.Checkbox, { value: value, onChange: function () {
24
+ return onChange(__assign(__assign({}, formObject), { value: value === true ? undefined : true }));
25
+ } }), label: f.name })));
26
+ });
27
+ //# sourceMappingURL=BooleanField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanField.js","sourceRoot":"","sources":["../../src/components/BooleanField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAsE;AAEtE,gDAA0B;AAC1B,mBAAe,UAAC,EAA4C;QAA1C,CAAC,OAAA,EAAE,UAAU,gBAAA,EAAE,QAAQ,cAAA;IACrC,IAAM,KAAK,GAAG,UAAU,CAAC,KAA4B,CAAC;IACtD,OAAO,CACH,8BAAC,oBAAS;QACN,8BAAC,2BAAgB,IACb,OAAO,EACH,8BAAC,mBAAQ,IACL,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE;oBACN,OAAA,QAAQ,uBACD,UAAU,KACb,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAC1C;gBAHF,CAGE,GAER,EAEN,KAAK,EAAE,CAAC,CAAC,IAAI,GACf,CACM,CACf,CAAC;AACN,CAAC,EAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { PassedFormProps } from 'graphql-form';
3
+ declare const _default: ({ nodes, onChange, formObject, f }: PassedFormProps) => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var material_1 = require("@mui/material");
18
+ var graphql_js_tree_1 = require("graphql-js-tree");
19
+ var react_1 = __importDefault(require("react"));
20
+ exports.default = (function (_a) {
21
+ var _b;
22
+ var nodes = _a.nodes, onChange = _a.onChange, formObject = _a.formObject, f = _a.f;
23
+ var seekNode = nodes.find(function (n) { return n.name === (0, graphql_js_tree_1.getTypeName)(f.type.fieldType); });
24
+ if (!seekNode) {
25
+ throw new Error('Invalid enum field');
26
+ }
27
+ var options = ((_b = seekNode.args) === null || _b === void 0 ? void 0 : _b.map(function (_a) {
28
+ var label = _a.name;
29
+ return ({
30
+ label: label,
31
+ value: label,
32
+ });
33
+ })) || [];
34
+ return (react_1.default.createElement(material_1.Select, { placeholder: f.name, value: formObject.value, onChange: function (e) {
35
+ onChange(__assign(__assign({}, formObject), { value: e.target.value }));
36
+ } }, options.map(function (o) { return (react_1.default.createElement(material_1.MenuItem, { value: o.value }, o.label)); })));
37
+ });
38
+ //# sourceMappingURL=EnumField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumField.js","sourceRoot":"","sources":["../../src/components/EnumField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAiD;AAEjD,mDAA8C;AAC9C,gDAA0B;AAC1B,mBAAe,UAAC,EAAmD;;QAAjD,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,UAAU,gBAAA,EAAE,CAAC,OAAA;IAC5C,IAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAA,6BAAW,EAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAxC,CAAwC,CAAC,CAAC;IAC7E,IAAI,CAAC,QAAQ,EAAE;QACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACzC;IACD,IAAM,OAAO,GACT,CAAA,MAAA,QAAQ,CAAC,IAAI,0CAAE,GAAG,CAAC,UAAC,EAAe;YAAP,KAAK,UAAA;QAAO,OAAA,CAAC;YACrC,KAAK,OAAA;YACL,KAAK,EAAE,KAAK;SACf,CAAC;IAHsC,CAGtC,CAAC,KAAI,EAAE,CAAC;IACd,OAAO,CACH,8BAAC,iBAAM,IACH,WAAW,EAAE,CAAC,CAAC,IAAI,EACnB,KAAK,EAAE,UAAU,CAAC,KAA2B,EAC7C,QAAQ,EAAE,UAAC,CAAC;YACR,QAAQ,uBACD,UAAU,KACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IACvB,CAAC;QACP,CAAC,IAEA,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAChB,8BAAC,mBAAQ,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,IAAG,CAAC,CAAC,KAAK,CAAY,CACjD,EAFmB,CAEnB,CAAC,CACG,CACZ,CAAC;AACN,CAAC,EAAC"}
@@ -0,0 +1,4 @@
1
+ import { PassedFormProps } from 'graphql-form';
2
+ import React from 'react';
3
+ declare const FormField: React.FC<PassedFormProps>;
4
+ export default FormField;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var FormField = function (_a) {
8
+ var children = _a.children;
9
+ return react_1.default.createElement("div", null, children);
10
+ };
11
+ exports.default = FormField;
12
+ //# sourceMappingURL=FormField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../src/components/FormField.tsx"],"names":[],"mappings":";;;;;AACA,gDAA0B;AAC1B,IAAM,SAAS,GAA8B,UAAC,EAAY;QAAV,QAAQ,cAAA;IAAO,OAAA,2CAAM,QAAQ,CAAO;AAArB,CAAqB,CAAC;AAErF,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { PassedFormProps } from 'graphql-form';
2
+ import React from 'react';
3
+ declare const FormLabel: React.FC<PassedFormProps>;
4
+ export default FormLabel;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ var FormLabel = function (props) { return (react_1.default.createElement("div", null,
8
+ props.f.name,
9
+ " ",
10
+ props.children)); };
11
+ exports.default = FormLabel;
12
+ //# sourceMappingURL=FormLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormLabel.js","sourceRoot":"","sources":["../../src/components/FormLabel.tsx"],"names":[],"mappings":";;;;;AACA,gDAA0B;AAC1B,IAAM,SAAS,GAA8B,UAAC,KAAK,IAAK,OAAA,CACpD;IACK,KAAK,CAAC,CAAC,CAAC,IAAI;;IAAG,KAAK,CAAC,QAAQ,CAC5B,CACT,EAJuD,CAIvD,CAAC;AAEF,kBAAe,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: () => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ var react_1 = __importDefault(require("react"));
7
+ exports.default = (function () { return react_1.default.createElement("div", null, "No value"); });
8
+ //# sourceMappingURL=NullField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullField.js","sourceRoot":"","sources":["../../src/components/NullField.tsx"],"names":[],"mappings":";;;;;AAAA,gDAA0B;AAC1B,mBAAe,cAAM,OAAA,sDAAmB,EAAnB,CAAmB,EAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { PassedFormProps } from 'graphql-form';
3
+ declare const _default: (props: PassedFormProps) => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var material_1 = require("@mui/material");
18
+ var react_1 = __importDefault(require("react"));
19
+ exports.default = (function (props) { return (react_1.default.createElement(material_1.TextField, { type: "number", value: props.formObject.value || '', onChange: function (e) {
20
+ props.onChange(__assign(__assign({}, props.formObject), { value: e.target.value }));
21
+ } })); });
22
+ //# sourceMappingURL=NumberField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberField.js","sourceRoot":"","sources":["../../src/components/NumberField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAA0C;AAE1C,gDAA0B;AAC1B,mBAAe,UAAC,KAAsB,IAAK,OAAA,CACvC,8BAAC,oBAAS,IACN,IAAI,EAAC,QAAQ,EACb,KAAK,EAAG,KAAK,CAAC,UAAU,CAAC,KAA4B,IAAI,EAAE,EAC3D,QAAQ,EAAE,UAAC,CAAC;QACR,KAAK,CAAC,QAAQ,uBACP,KAAK,CAAC,UAAU,KACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IACvB,CAAC;IACP,CAAC,GACH,CACL,EAX0C,CAW1C,EAAC"}
@@ -0,0 +1,4 @@
1
+ import { PassedFormProps } from 'graphql-form';
2
+ import React from 'react';
3
+ declare const ObjectField: React.FC<PassedFormProps>;
4
+ export default ObjectField;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var material_1 = require("@mui/material");
18
+ var graphql_form_1 = require("graphql-form");
19
+ var react_1 = __importDefault(require("react"));
20
+ var ObjectField = function (props) {
21
+ var _a;
22
+ var formObject = props.formObject, f = props.f;
23
+ formObject.value || (formObject.value = {});
24
+ var fV = formObject.value;
25
+ return (react_1.default.createElement(material_1.Stack, { pl: 4 }, (_a = f.args) === null || _a === void 0 ? void 0 : _a.sort(function (a, b) {
26
+ return b.name > a.name ? -1 : 1;
27
+ }).map(function (a) {
28
+ var _a;
29
+ fV[_a = a.name] || (fV[_a] = { node: a });
30
+ return (react_1.default.createElement(graphql_form_1.Renderer, __assign({}, props, { currentPath: "".concat(props.currentPath, ".").concat(a.name), key: a.name, formObject: fV[a.name], required: false, onChange: function (fv) {
31
+ var _a;
32
+ props.onChange(__assign(__assign({}, formObject), { value: __assign(__assign({}, fV), (_a = {}, _a[a.name] = fv, _a)) }));
33
+ }, f: a, children: undefined })));
34
+ })));
35
+ };
36
+ exports.default = ObjectField;
37
+ //# sourceMappingURL=ObjectField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectField.js","sourceRoot":"","sources":["../../src/components/ObjectField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAsC;AACtC,6CAAqE;AACrE,gDAA0B;AAE1B,IAAM,WAAW,GAA8B,UAAC,KAAK;;IACzC,IAAA,UAAU,GAAQ,KAAK,WAAb,EAAE,CAAC,GAAK,KAAK,EAAV,CAAW;IAChC,UAAU,CAAC,KAAK,KAAhB,UAAU,CAAC,KAAK,GAAK,EAAE,EAAC;IACxB,IAAM,EAAE,GAAG,UAAU,CAAC,KAAoC,CAAC;IAC3D,OAAO,CACH,8BAAC,gBAAK,IAAC,EAAE,EAAE,CAAC,IACP,MAAA,CAAC,CAAC,IAAI,0CACD,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QACR,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,EACA,GAAG,CAAC,UAAC,CAAC;;QACH,EAAE,MAAC,CAAC,CAAC,IAAI,MAAT,EAAE,OAAa,EAAE,IAAI,EAAE,CAAC,EAAE,EAAC;QAC3B,OAAO,CACH,8BAAC,uBAAQ,eACD,KAAK,IACT,WAAW,EAAE,UAAG,KAAK,CAAC,WAAW,cAAI,CAAC,CAAC,IAAI,CAAE,EAC7C,GAAG,EAAE,CAAC,CAAC,IAAI,EACX,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EACtB,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,UAAC,EAAE;;gBACT,KAAK,CAAC,QAAQ,uBACP,UAAU,KACb,KAAK,wBACE,EAAE,gBACJ,CAAC,CAAC,IAAI,IAAG,EAAE,UAElB,CAAC;YACP,CAAC,EACD,CAAC,EAAE,CAAC,EACJ,QAAQ,EAAE,SAAS,IACrB,CACL,CAAC;IACN,CAAC,CAAC,CACF,CACX,CAAC;AACN,CAAC,CAAC;AACF,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import { PassedFormProps } from 'graphql-form';
3
+ declare const _default: (props: PassedFormProps) => JSX.Element;
4
+ export default _default;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var material_1 = require("@mui/material");
18
+ var react_1 = __importDefault(require("react"));
19
+ exports.default = (function (props) { return (react_1.default.createElement(material_1.TextField, { value: props.formObject.value || '', onChange: function (e) {
20
+ props.onChange(__assign(__assign({}, props.formObject), { value: e.target.value }));
21
+ } })); });
22
+ //# sourceMappingURL=UniversalField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalField.js","sourceRoot":"","sources":["../../src/components/UniversalField.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAA0C;AAE1C,gDAA0B;AAC1B,mBAAe,UAAC,KAAsB,IAAK,OAAA,CACvC,8BAAC,oBAAS,IACN,KAAK,EAAG,KAAK,CAAC,UAAU,CAAC,KAA4B,IAAI,EAAE,EAC3D,QAAQ,EAAE,UAAC,CAAC;QACR,KAAK,CAAC,QAAQ,uBACP,KAAK,CAAC,UAAU,KACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,IACvB,CAAC;IACP,CAAC,GACH,CACL,EAV0C,CAU1C,EAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ import { FormLibraryProps } from 'graphql-form';
2
+ import React from 'react';
3
+ declare const MuiForm: React.FC<FormLibraryProps>;
4
+ export default MuiForm;
package/lib/index.js ADDED
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ var ArrayField_1 = __importDefault(require("./components/ArrayField"));
18
+ var BooleanField_1 = __importDefault(require("./components/BooleanField"));
19
+ var EnumField_1 = __importDefault(require("./components/EnumField"));
20
+ var FormField_1 = __importDefault(require("./components/FormField"));
21
+ var FormLabel_1 = __importDefault(require("./components/FormLabel"));
22
+ var NullField_1 = __importDefault(require("./components/NullField"));
23
+ var NumberField_1 = __importDefault(require("./components/NumberField"));
24
+ var ObjectField_1 = __importDefault(require("./components/ObjectField"));
25
+ var UniversalField_1 = __importDefault(require("./components/UniversalField"));
26
+ var graphql_form_1 = require("graphql-form");
27
+ var react_1 = __importDefault(require("react"));
28
+ var MuiForm = function (props) {
29
+ return (react_1.default.createElement(graphql_form_1.FormDisplayer, __assign({}, props, { components: {
30
+ ArrayField: ArrayField_1.default,
31
+ BooleanField: BooleanField_1.default,
32
+ EnumField: EnumField_1.default,
33
+ FormField: FormField_1.default,
34
+ FormLabel: FormLabel_1.default,
35
+ NullField: NullField_1.default,
36
+ NumberField: NumberField_1.default,
37
+ ObjectField: ObjectField_1.default,
38
+ UniversalField: UniversalField_1.default,
39
+ } })));
40
+ };
41
+ exports.default = MuiForm;
42
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uEAAiD;AACjD,2EAAqD;AACrD,qEAA+C;AAC/C,qEAA+C;AAC/C,qEAA+C;AAC/C,qEAA+C;AAC/C,yEAAmD;AACnD,yEAAmD;AACnD,+EAAyD;AACzD,6CAA+D;AAC/D,gDAA0B;AAE1B,IAAM,OAAO,GAA+B,UAAC,KAAK;IAC9C,OAAO,CACH,8BAAC,4BAAa,eACN,KAAK,IACT,UAAU,EAAE;YACR,UAAU,EAAE,oBAAU;YACtB,YAAY,EAAE,sBAAY;YAC1B,SAAS,EAAE,mBAAS;YACpB,SAAS,EAAE,mBAAS;YACpB,SAAS,EAAE,mBAAS;YACpB,SAAS,EAAE,mBAAS;YACpB,WAAW,EAAE,qBAAW;YACxB,WAAW,EAAE,qBAAW;YACxB,cAAc,EAAE,wBAAc;SACjC,IACH,CACL,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "graphql-form-mui",
3
+ "version": "0.0.2",
4
+ "description": "Easy form creation with GraphQL Editor and React",
5
+ "main": "lib/index.js",
6
+ "scripts": {
7
+ "test": "jest",
8
+ "test:watch": "jest --watch",
9
+ "build": "ttsc --build tsconfig.build.json",
10
+ "start": "ttsc --build tsconfig.build.json --watch",
11
+ "lint": "eslint '*/**/*.{js,ts,tsx}' --quiet --fix"
12
+ },
13
+ "types": "lib/index.d.ts",
14
+ "private": false,
15
+ "publishConfig": {
16
+ "access": "public"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/graphql-editor/graphql-form.git"
21
+ },
22
+ "author": "Aexol <aexol@aexol.com> (http://aexol.com)",
23
+ "license": "MIT",
24
+ "homepage": "https://form.graphqleditor.com",
25
+ "peerDependencies": {
26
+ "graphql-form": "*",
27
+ "react": ">=16.8.0",
28
+ "react-dom": ">=16.8.0"
29
+ },
30
+ "dependencies": {
31
+ "@emotion/react": "^11.9.0",
32
+ "@emotion/styled": "^11.8.1",
33
+ "@mui/icons-material": "^5.8.0",
34
+ "@mui/material": "^5.8.0"
35
+ }
36
+ }
@@ -0,0 +1,111 @@
1
+ import { Button, IconButton, Stack } from '@mui/material';
2
+ import { FormObject, FormValue, PassedFormProps, Renderer } from 'graphql-form';
3
+ import { Options, ParserField } from 'graphql-js-tree';
4
+ import React from 'react';
5
+ import { ArrowDownward, ArrowUpward, Close, PlusOne } from '@mui/icons-material';
6
+
7
+ const ArrayField: React.FC<
8
+ PassedFormProps & {
9
+ open?: boolean;
10
+ }
11
+ > = (props) => {
12
+ const { formObject, onChange, f } = props;
13
+ formObject.value ||= [];
14
+ if (f.type.fieldType.type !== Options.array) {
15
+ throw new Error('Invalid Array node');
16
+ }
17
+ const nodeWithoutArray: ParserField = {
18
+ ...f,
19
+ type: {
20
+ ...f.type,
21
+ fieldType: {
22
+ ...f.type.fieldType.nest,
23
+ },
24
+ },
25
+ };
26
+ const formValuePointer = formObject.value as Array<FormValue>;
27
+ return (
28
+ <Stack>
29
+ {formValuePointer.map((v, i: number, all) => {
30
+ formValuePointer[i] ||= { node: nodeWithoutArray };
31
+ return (
32
+ <Stack key={f.name + i}>
33
+ <Renderer
34
+ key={i}
35
+ {...props}
36
+ f={{
37
+ ...nodeWithoutArray,
38
+ name: `${nodeWithoutArray.name}[${i}]`,
39
+ }}
40
+ onChange={(e) => {
41
+ formValuePointer[i] = e;
42
+ onChange({
43
+ ...formObject,
44
+ value: formValuePointer,
45
+ });
46
+ }}
47
+ formObject={v as FormObject}
48
+ >
49
+ <Stack direction="row">
50
+ <IconButton
51
+ onClick={() => {
52
+ onChange({
53
+ ...formObject,
54
+ value: formValuePointer.filter((_, index) => i !== index),
55
+ });
56
+ }}
57
+ >
58
+ <Close />
59
+ </IconButton>
60
+ {i !== 0 && (
61
+ <IconButton
62
+ onClick={() => {
63
+ const switched = v;
64
+ formValuePointer[i] = formValuePointer[i - 1];
65
+ formValuePointer[i - 1] = switched;
66
+ onChange({
67
+ ...formObject,
68
+ value: formValuePointer,
69
+ });
70
+ }}
71
+ >
72
+ <ArrowUpward />
73
+ </IconButton>
74
+ )}
75
+ {i !== all.length - 1 && (
76
+ <IconButton
77
+ onClick={() => {
78
+ const switched = v;
79
+ formValuePointer[i] = formValuePointer[i + 1];
80
+ formValuePointer[i + 1] = switched;
81
+ onChange({
82
+ ...formObject,
83
+ value: formValuePointer,
84
+ });
85
+ }}
86
+ >
87
+ <ArrowDownward />
88
+ </IconButton>
89
+ )}
90
+ </Stack>
91
+ </Renderer>
92
+ </Stack>
93
+ );
94
+ })}
95
+
96
+ <Button
97
+ onClick={() => {
98
+ formValuePointer.push({});
99
+ onChange({
100
+ ...formObject,
101
+ value: formValuePointer,
102
+ });
103
+ }}
104
+ endIcon={<PlusOne />}
105
+ >
106
+ {`Add ${f.name}`}
107
+ </Button>
108
+ </Stack>
109
+ );
110
+ };
111
+ export default ArrayField;
@@ -0,0 +1,24 @@
1
+ import { Checkbox, FormControlLabel, FormGroup } from '@mui/material';
2
+ import { PassedFormProps } from 'graphql-form';
3
+ import React from 'react';
4
+ export default ({ f, formObject, onChange }: PassedFormProps) => {
5
+ const value = formObject.value as boolean | undefined;
6
+ return (
7
+ <FormGroup>
8
+ <FormControlLabel
9
+ control={
10
+ <Checkbox
11
+ value={value}
12
+ onChange={() =>
13
+ onChange({
14
+ ...formObject,
15
+ value: value === true ? undefined : true,
16
+ })
17
+ }
18
+ />
19
+ }
20
+ label={f.name}
21
+ />
22
+ </FormGroup>
23
+ );
24
+ };
@@ -0,0 +1,31 @@
1
+ import { MenuItem, Select } from '@mui/material';
2
+ import { PassedFormProps } from 'graphql-form';
3
+ import { getTypeName } from 'graphql-js-tree';
4
+ import React from 'react';
5
+ export default ({ nodes, onChange, formObject, f }: PassedFormProps) => {
6
+ const seekNode = nodes.find((n) => n.name === getTypeName(f.type.fieldType));
7
+ if (!seekNode) {
8
+ throw new Error('Invalid enum field');
9
+ }
10
+ const options =
11
+ seekNode.args?.map(({ name: label }) => ({
12
+ label,
13
+ value: label,
14
+ })) || [];
15
+ return (
16
+ <Select
17
+ placeholder={f.name}
18
+ value={formObject.value as string | undefined}
19
+ onChange={(e) => {
20
+ onChange({
21
+ ...formObject,
22
+ value: e.target.value,
23
+ });
24
+ }}
25
+ >
26
+ {options.map((o) => (
27
+ <MenuItem value={o.value}>{o.label}</MenuItem>
28
+ ))}
29
+ </Select>
30
+ );
31
+ };
@@ -0,0 +1,5 @@
1
+ import { PassedFormProps } from 'graphql-form';
2
+ import React from 'react';
3
+ const FormField: React.FC<PassedFormProps> = ({ children }) => <div>{children}</div>;
4
+
5
+ export default FormField;
@@ -0,0 +1,9 @@
1
+ import { PassedFormProps } from 'graphql-form';
2
+ import React from 'react';
3
+ const FormLabel: React.FC<PassedFormProps> = (props) => (
4
+ <div>
5
+ {props.f.name} {props.children}
6
+ </div>
7
+ );
8
+
9
+ export default FormLabel;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export default () => <div>No value</div>;
@@ -0,0 +1,15 @@
1
+ import { TextField } from '@mui/material';
2
+ import { PassedFormProps } from 'graphql-form';
3
+ import React from 'react';
4
+ export default (props: PassedFormProps) => (
5
+ <TextField
6
+ type="number"
7
+ value={(props.formObject.value as string | undefined) || ''}
8
+ onChange={(e) => {
9
+ props.onChange({
10
+ ...props.formObject,
11
+ value: e.target.value,
12
+ });
13
+ }}
14
+ />
15
+ );
@@ -0,0 +1,41 @@
1
+ import { Stack } from '@mui/material';
2
+ import { PassedFormProps, FormObject, Renderer } from 'graphql-form';
3
+ import React from 'react';
4
+
5
+ const ObjectField: React.FC<PassedFormProps> = (props) => {
6
+ const { formObject, f } = props;
7
+ formObject.value ||= {};
8
+ const fV = formObject.value as { [x: string]: FormObject };
9
+ return (
10
+ <Stack pl={4}>
11
+ {f.args
12
+ ?.sort((a, b) => {
13
+ return b.name > a.name ? -1 : 1;
14
+ })
15
+ .map((a) => {
16
+ fV[a.name] ||= { node: a };
17
+ return (
18
+ <Renderer
19
+ {...props}
20
+ currentPath={`${props.currentPath}.${a.name}`}
21
+ key={a.name}
22
+ formObject={fV[a.name]}
23
+ required={false}
24
+ onChange={(fv) => {
25
+ props.onChange({
26
+ ...formObject,
27
+ value: {
28
+ ...fV,
29
+ [a.name]: fv,
30
+ },
31
+ });
32
+ }}
33
+ f={a}
34
+ children={undefined}
35
+ />
36
+ );
37
+ })}
38
+ </Stack>
39
+ );
40
+ };
41
+ export default ObjectField;
@@ -0,0 +1,14 @@
1
+ import { TextField } from '@mui/material';
2
+ import { PassedFormProps } from 'graphql-form';
3
+ import React from 'react';
4
+ export default (props: PassedFormProps) => (
5
+ <TextField
6
+ value={(props.formObject.value as string | undefined) || ''}
7
+ onChange={(e) => {
8
+ props.onChange({
9
+ ...props.formObject,
10
+ value: e.target.value,
11
+ });
12
+ }}
13
+ />
14
+ );
package/src/index.tsx ADDED
@@ -0,0 +1,32 @@
1
+ import ArrayField from '@/components/ArrayField';
2
+ import BooleanField from '@/components/BooleanField';
3
+ import EnumField from '@/components/EnumField';
4
+ import FormField from '@/components/FormField';
5
+ import FormLabel from '@/components/FormLabel';
6
+ import NullField from '@/components/NullField';
7
+ import NumberField from '@/components/NumberField';
8
+ import ObjectField from '@/components/ObjectField';
9
+ import UniversalField from '@/components/UniversalField';
10
+ import { FormDisplayer, FormLibraryProps } from 'graphql-form';
11
+ import React from 'react';
12
+
13
+ const MuiForm: React.FC<FormLibraryProps> = (props) => {
14
+ return (
15
+ <FormDisplayer
16
+ {...props}
17
+ components={{
18
+ ArrayField: ArrayField,
19
+ BooleanField: BooleanField,
20
+ EnumField: EnumField,
21
+ FormField: FormField,
22
+ FormLabel: FormLabel,
23
+ NullField: NullField,
24
+ NumberField: NumberField,
25
+ ObjectField: ObjectField,
26
+ UniversalField: UniversalField,
27
+ }}
28
+ />
29
+ );
30
+ };
31
+
32
+ export default MuiForm;
@@ -0,0 +1,36 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
4
+ "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
5
+ "jsx": "react" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */,
6
+ "declaration": true /* Generates corresponding '.d.ts' file. */,
7
+
8
+ "sourceMap": true /* Generates corresponding '.map' file. */,
9
+
10
+ "outDir": "./lib" /* Redirect output structure to the directory. */,
11
+ "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
12
+
13
+ "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */,
14
+
15
+ "strict": true /* Enable all strict type-checking options. */,
16
+
17
+ "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */,
18
+ "paths": {
19
+ "@/*": ["./*"]
20
+ } /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,
21
+
22
+ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
23
+ "skipLibCheck": true /* Skip type checking of declaration files. */,
24
+ "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */,
25
+ "plugins": [
26
+ {
27
+ "transform": "typescript-transform-paths"
28
+ },
29
+ {
30
+ "transform": "typescript-transform-paths",
31
+ "afterDeclarations": true
32
+ }
33
+ ]
34
+ },
35
+ "exclude": ["**/__tests__/*", "**/__sandbox__/*", "./lib", "node_modules"]
36
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
4
+ "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
5
+ "jsx": "react" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */,
6
+ "sourceMap": true /* Generates corresponding '.map' file. */,
7
+ "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,
8
+ "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */,
9
+ "strict": true /* Enable all strict type-checking options. */,
10
+ "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */,
11
+ "outDir": "./lib",
12
+ "paths": {
13
+ "@/*": ["./*"]
14
+ } /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,
15
+ "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
16
+ "skipLibCheck": true /* Skip type checking of declaration files. */,
17
+ "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */,
18
+ "composite": true
19
+ }
20
+ }