eddev 0.1.44-beta-2 → 0.1.45

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.
@@ -1,5 +1,6 @@
1
1
  import { ReactElement } from "react";
2
2
  export declare type ContentBlock<T extends keyof BlockProps | string = any> = {
3
+ attrs: any;
3
4
  blockName: T;
4
5
  props: BlockProps extends keyof BlockProps ? BlockProps[T] : any;
5
6
  innerBlocks: ContentBlock[];
@@ -0,0 +1,2 @@
1
+ import { PropsWithChildren } from "react";
2
+ export declare function InspectorControls(props: PropsWithChildren<{}>): JSX.Element | null;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InspectorControls = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ // @ts-ignore
6
+ var block_editor_1 = require("@wordpress/block-editor");
7
+ function InspectorControls(props) {
8
+ if (process.admin) {
9
+ return (0, jsx_runtime_1.jsx)(block_editor_1.InspectorControls, { children: props.children }, void 0);
10
+ }
11
+ return null;
12
+ }
13
+ exports.InspectorControls = InspectorControls;
@@ -1,2 +1,2 @@
1
1
  import { ComponentType, ReactElement } from "react";
2
- export declare function defineBlock<Name extends keyof BlockProps>(name: Name, component: (props: BlockProps[Name]) => ReactElement): ComponentType<BlockProps[Name]>;
2
+ export declare function defineBlock<Name extends keyof BlockProps>(name: Name, component: (props: BlockProps[Name]) => ReactElement | null): ComponentType<BlockProps[Name]>;
package/blocks/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./defineBlock";
2
2
  export * from "./inlineEditing";
3
3
  export * from "./ContentBlocks";
4
+ export * from "./InspectorControls";
4
5
  export { useInlineEditableValue, useInnerBlocks } from "./blockAttributes";
package/blocks/index.js CHANGED
@@ -14,6 +14,7 @@ exports.useInnerBlocks = exports.useInlineEditableValue = void 0;
14
14
  __exportStar(require("./defineBlock"), exports);
15
15
  __exportStar(require("./inlineEditing"), exports);
16
16
  __exportStar(require("./ContentBlocks"), exports);
17
+ __exportStar(require("./InspectorControls"), exports);
17
18
  var blockAttributes_1 = require("./blockAttributes");
18
19
  Object.defineProperty(exports, "useInlineEditableValue", { enumerable: true, get: function () { return blockAttributes_1.useInlineEditableValue; } });
19
20
  Object.defineProperty(exports, "useInnerBlocks", { enumerable: true, get: function () { return blockAttributes_1.useInnerBlocks; } });
@@ -40,6 +40,10 @@ var BlockContext = (0, react_1.createContext)(undefined);
40
40
  // Store the block manifest as a local variable
41
41
  var blocksManifest = new Observable_1.Observable(blocks_1.default);
42
42
  function installEDGutenbergHooks() {
43
+ // Skip this if we're not in the block editor
44
+ // @ts-ignore
45
+ if (!window.wp.blockEditor)
46
+ return;
43
47
  (0, react_2.globalCss)({
44
48
  ".block-editor-block-list__block:hover": {
45
49
  outline: "1px solid #e1e1e1",
@@ -125,9 +129,10 @@ function installEDGutenbergHooks() {
125
129
  if (item.tags.length) {
126
130
  Object.defineProperty(item, "parent", {
127
131
  get: function () {
128
- return item.tags.reduce(function (acc, tag) {
132
+ var result = item.tags.reduce(function (acc, tag) {
129
133
  return __spreadArray(__spreadArray([], acc, true), getParentsForTag(tag), true);
130
134
  }, []);
135
+ return result;
131
136
  },
132
137
  });
133
138
  }
@@ -78,9 +78,9 @@ var autoprefixer_1 = __importDefault(require("autoprefixer"));
78
78
  var plugin_name_defined_components_1 = __importDefault(require("./babel/plugin-name-defined-components"));
79
79
  function getWebpackConfig(opts) {
80
80
  return __awaiter(this, void 0, void 0, function () {
81
- var compiling, ALIAS, ENTRY, PLUGINS, RULES, DEFINES, VIRTUAL_MODULES, EXTERNALS, virtualModules, isServerless, isBrowser, isSSR, isDev, entryDir, distSuffix, outputFolder, loadableManifestFile, writeVirtualModule, updateTemplateRouter, templateLookupPattern, _a, updateBlocksManifest, blockLookupManifest, _b, buildID;
82
- return __generator(this, function (_c) {
83
- switch (_c.label) {
81
+ var compiling, ALIAS, ENTRY, PLUGINS, RULES, DEFINES, VIRTUAL_MODULES, EXTERNALS, virtualModules, isServerless, isBrowser, isSSR, isDev, entryDir, distSuffix, outputFolder, loadableManifestFile, writeVirtualModule, updateTemplateRouter, templateLookupPattern, _a, updateFieldManifest, fieldTypeLookupPattern, _b, updateBlocksManifest, blockLookupManifest, _c, buildID;
82
+ return __generator(this, function (_d) {
83
+ switch (_d.label) {
84
84
  case 0:
85
85
  compiling = false;
86
86
  ALIAS = {};
@@ -283,15 +283,53 @@ function getWebpackConfig(opts) {
283
283
  if (!isDev) return [3 /*break*/, 3];
284
284
  return [4 /*yield*/, (0, file_tree_1.watchFileTree)(templateLookupPattern, updateTemplateRouter)];
285
285
  case 2:
286
- _c.sent();
286
+ _d.sent();
287
287
  return [3 /*break*/, 5];
288
288
  case 3:
289
289
  _a = updateTemplateRouter;
290
290
  return [4 /*yield*/, (0, file_tree_1.getFileTree)(templateLookupPattern)];
291
291
  case 4:
292
- _a.apply(void 0, [_c.sent()]);
293
- _c.label = 5;
292
+ _a.apply(void 0, [_d.sent()]);
293
+ _d.label = 5;
294
294
  case 5:
295
+ ALIAS["@manifest/fields"] = path_1.default.resolve(opts.baseDirectory, "_fields_manifest.js");
296
+ updateFieldManifest = function (fileNames) {
297
+ var files = fileNames
298
+ .filter(function (file) { return !file.includes("/_app"); })
299
+ .map(function (file) {
300
+ var relative = path_1.default.relative(opts.baseDirectory, file);
301
+ var name = path_1.default.basename(file).replace(/\.(jsx|tsx|ts|js)$/i, "");
302
+ var module = JSON.stringify("./" + relative);
303
+ var componentName = "FieldType" + (0, change_case_1.pascalCase)(name);
304
+ return { relative: relative, name: name, module: module, componentName: componentName };
305
+ });
306
+ writeVirtualModule(ALIAS["@manifest/fields"], "\n ".concat(files.map(function (_a) {
307
+ var componentName = _a.componentName, module = _a.module;
308
+ return "import ".concat(componentName, " from ").concat(module);
309
+ }).join("\n"), "\n\n export default {\n ").concat(files
310
+ .map(function (_a) {
311
+ var relative = _a.relative, componentName = _a.componentName, module = _a.module, name = _a.name;
312
+ return "\"".concat(name, "\": ").concat(componentName);
313
+ })
314
+ .join(",\n"), "\n }\n "));
315
+ };
316
+ fieldTypeLookupPattern = path_1.default.resolve(opts.baseDirectory, "backend/fields/**.tsx");
317
+ if (!!opts.isAdmin) return [3 /*break*/, 6];
318
+ writeVirtualModule(ALIAS["@manifest/fields"], "\n export default {}\n ");
319
+ return [3 /*break*/, 10];
320
+ case 6:
321
+ if (!isDev) return [3 /*break*/, 8];
322
+ return [4 /*yield*/, (0, file_tree_1.watchFileTree)(fieldTypeLookupPattern, updateFieldManifest)];
323
+ case 7:
324
+ _d.sent();
325
+ return [3 /*break*/, 10];
326
+ case 8:
327
+ _b = updateFieldManifest;
328
+ return [4 /*yield*/, (0, file_tree_1.getFileTree)(templateLookupPattern)];
329
+ case 9:
330
+ _b.apply(void 0, [_d.sent()]);
331
+ _d.label = 10;
332
+ case 10:
295
333
  ALIAS["@manifest/blocks"] = path_1.default.resolve(opts.baseDirectory, "_blocks_manifest.js");
296
334
  updateBlocksManifest = function (fileNames) {
297
335
  var files = fileNames
@@ -333,18 +371,18 @@ function getWebpackConfig(opts) {
333
371
  }
334
372
  };
335
373
  blockLookupManifest = path_1.default.resolve(opts.baseDirectory, "blocks/**/*.tsx");
336
- if (!isDev) return [3 /*break*/, 7];
374
+ if (!isDev) return [3 /*break*/, 12];
337
375
  return [4 /*yield*/, (0, file_tree_1.watchFileTree)(blockLookupManifest, updateBlocksManifest)];
338
- case 6:
339
- _c.sent();
340
- return [3 /*break*/, 9];
341
- case 7:
342
- _b = updateBlocksManifest;
376
+ case 11:
377
+ _d.sent();
378
+ return [3 /*break*/, 14];
379
+ case 12:
380
+ _c = updateBlocksManifest;
343
381
  return [4 /*yield*/, (0, file_tree_1.getFileTree)(blockLookupManifest)];
344
- case 8:
345
- _b.apply(void 0, [_c.sent()]);
346
- _c.label = 9;
347
- case 9:
382
+ case 13:
383
+ _c.apply(void 0, [_d.sent()]);
384
+ _d.label = 14;
385
+ case 14:
348
386
  // External Gutenberg
349
387
  EXTERNALS["@wordpress/components"] = ["wp", "components"];
350
388
  EXTERNALS["@wordpress/element"] = ["wp", "element"];
@@ -355,6 +393,7 @@ function getWebpackConfig(opts) {
355
393
  EXTERNALS["@wordpress/block-editor"] = ["wp", "blockEditor"];
356
394
  if (opts.isAdmin) {
357
395
  EXTERNALS["react"] = "React";
396
+ EXTERNALS["react-dom"] = "ReactDOM";
358
397
  }
359
398
  // Define some values
360
399
  DEFINES["process.browser"] = JSON.stringify(isBrowser);
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { CompilerState } from "../../../build/state/compiler-state";
2
3
  import { Observable } from "../../../utils/Observable";
3
4
  export declare function BundleDisplay(props: {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { CodegenState } from "../../../build/state/codegen-state";
2
3
  import { Observable } from "../../../utils/Observable";
3
4
  export declare function CodegenDisplay(props: {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { CodegenState } from "../../../build/state/codegen-state";
2
3
  import { CompilerState } from "../../../build/state/compiler-state";
3
4
  import { Observable } from "../../../utils/Observable";
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  declare type Props = {
2
3
  icon: "loading" | "tick" | "error" | "none";
3
4
  };
@@ -1 +1,2 @@
1
+ /// <reference types="react" />
1
2
  export declare function AdminBar(): JSX.Element;
package/entry/Root.d.ts CHANGED
@@ -1 +1,2 @@
1
+ /// <reference types="react" />
1
2
  export default function Root(): JSX.Element;
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var installGutenbergHooks_1 = require("../blocks/installGutenbergHooks");
4
4
  // @ts-ignore
5
5
  var _theme_1 = require("@theme");
6
+ var installFieldTypes_1 = require("../fields/installFieldTypes");
6
7
  (0, installGutenbergHooks_1.installEDGutenbergHooks)();
8
+ (0, installFieldTypes_1.installFieldTypes)();
7
9
  if (_theme_1.editorGlobalStyles) {
8
10
  (0, _theme_1.editorGlobalStyles)();
9
11
  }
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var installGutenbergHooks_1 = require("../blocks/installGutenbergHooks");
4
4
  // @ts-ignore
5
5
  var _theme_1 = require("@theme");
6
+ var installFieldTypes_1 = require("../fields/installFieldTypes");
6
7
  (0, installGutenbergHooks_1.installEDGutenbergHooks)();
8
+ (0, installFieldTypes_1.installFieldTypes)();
7
9
  if (_theme_1.editorGlobalStyles) {
8
10
  (0, _theme_1.editorGlobalStyles)();
9
11
  }
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ previewSize: string;
4
+ value: number;
5
+ onChange: (value: number | null) => void;
6
+ };
7
+ export declare function ImageWell(props: Props): JSX.Element;
8
+ export {};
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImageWell = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var react_1 = require("@stitches/react");
6
+ var react_2 = require("react");
7
+ function ImageWell(props) {
8
+ var _a = (0, react_2.useState)(null), selectedImage = _a[0], setSelectedImage = _a[1];
9
+ var _b = (0, react_2.useState)(false), imageIsLoading = _b[0], setImageIsLoading = _b[1];
10
+ (0, react_2.useEffect)(function () {
11
+ if (props.value) {
12
+ var cancelled = false;
13
+ setImageIsLoading(true);
14
+ fetch("/wp-json/ed/v1/media/" + Number(props.value))
15
+ .then(function (response) { return response.json(); })
16
+ .then(function (image) {
17
+ setImageIsLoading(false);
18
+ setSelectedImage(image);
19
+ });
20
+ }
21
+ }, [props.value]);
22
+ return ((0, jsx_runtime_1.jsxs)(Wrapper, { children: [imageIsLoading ? ((0, jsx_runtime_1.jsx)(Loading, { children: (0, jsx_runtime_1.jsx)(Spinner, {}, void 0) }, void 0)) : selectedImage ? ((0, jsx_runtime_1.jsx)(ImageContainer, { children: (0, jsx_runtime_1.jsx)("img", { src: selectedImage.sizes[props.previewSize] || selectedImage.sizes["thumbnail"] }, void 0) }, void 0)) : null, (0, jsx_runtime_1.jsx)(Toolbar, { children: selectedImage || imageIsLoading ? ((0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsx)(Button, { children: "Remove" }, void 0), (0, jsx_runtime_1.jsx)(Button, { children: "Edit" }, void 0), (0, jsx_runtime_1.jsx)(Button, { children: "View" }, void 0)] }, void 0)) : null }, void 0)] }, void 0));
23
+ }
24
+ exports.ImageWell = ImageWell;
25
+ var Wrapper = (0, react_1.styled)("div", {
26
+ position: "relative",
27
+ display: "block",
28
+ width: "100%",
29
+ border: "1px solid #aaaaaa",
30
+ });
31
+ var ImageContainer = (0, react_1.styled)("div", {
32
+ padding: "4px",
33
+ img: {
34
+ maxWidth: "100%",
35
+ },
36
+ });
37
+ var spin = (0, react_1.keyframes)({
38
+ from: {
39
+ transform: "rotate(0deg)",
40
+ },
41
+ to: {
42
+ transform: "rotate(360deg)",
43
+ },
44
+ });
45
+ var Spinner = (0, react_1.styled)("div", {
46
+ display: "block",
47
+ width: "32px",
48
+ height: "32px",
49
+ border: "4px solid transparent",
50
+ borderTop: "currentColor",
51
+ animation: "".concat(spin, " 1s linear infinite"),
52
+ });
53
+ var Loading = (0, react_1.styled)("div", {
54
+ display: "flex",
55
+ justifyContent: "center",
56
+ alignItems: "center",
57
+ padding: "8px",
58
+ });
59
+ var Toolbar = (0, react_1.styled)("div", {
60
+ position: "absolute",
61
+ top: 0,
62
+ right: 0,
63
+ padding: "4px",
64
+ });
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ previewSize: string;
4
+ aspects: string[];
5
+ value: number | null | undefined;
6
+ noBorder?: boolean;
7
+ onChange: (value: number | null) => void;
8
+ };
9
+ export declare function ImageWell(props: Props): JSX.Element;
10
+ export {};
@@ -0,0 +1,209 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ImageWell = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var react_1 = require("@stitches/react");
17
+ var react_2 = require("react");
18
+ var selectMedia_1 = require("../selectMedia");
19
+ var react_use_1 = require("react-use");
20
+ function ImageWell(props) {
21
+ // @ts-ignore
22
+ var acf = window.acf;
23
+ var _a = (0, react_2.useState)(null), selectedImage = _a[0], setSelectedImage = _a[1];
24
+ var _b = (0, react_2.useState)(false), imageIsLoading = _b[0], setImageIsLoading = _b[1];
25
+ (0, react_2.useEffect)(function () {
26
+ if (props.value) {
27
+ var cancelled_1 = false;
28
+ setImageIsLoading(true);
29
+ fetch("/wp-json/ed/v1/media/" + Number(props.value))
30
+ .then(function (response) { return response.json(); })
31
+ .then(function (image) {
32
+ if (cancelled_1)
33
+ return;
34
+ setImageIsLoading(false);
35
+ setSelectedImage(image);
36
+ });
37
+ return function () {
38
+ cancelled_1 = true;
39
+ };
40
+ }
41
+ else {
42
+ setSelectedImage(null);
43
+ setImageIsLoading(false);
44
+ }
45
+ }, [props.value]);
46
+ var _c = (0, react_use_1.useMeasure)(), imgRef = _c[0], size = _c[1];
47
+ return ((0, jsx_runtime_1.jsxs)(Wrapper, __assign({ noBorder: props.noBorder }, { children: [imageIsLoading ? ((0, jsx_runtime_1.jsx)(Loading, { children: (0, jsx_runtime_1.jsx)(Spinner, {}, void 0) }, void 0)) : selectedImage ? ((0, jsx_runtime_1.jsxs)(ImageContainer, { children: [(0, jsx_runtime_1.jsx)("img", { ref: imgRef, src: selectedImage.sizes[props.previewSize] || selectedImage.sizes["thumbnail"] }, void 0), (0, jsx_runtime_1.jsx)(AspectWrapper, __assign({ css: {
48
+ width: size.width,
49
+ height: size.height,
50
+ } }, { children: props.aspects &&
51
+ props.aspects.map(function (aspect) {
52
+ var _a;
53
+ var x, y, width, height, originalAspect = 0, ownAspect = 0;
54
+ try {
55
+ ;
56
+ _a = aspect.split(/\s*\/\s*/), x = _a[0], y = _a[1];
57
+ originalAspect = size.width / size.height;
58
+ ownAspect = Number(x) / Number(y);
59
+ }
60
+ catch (err) {
61
+ return null;
62
+ }
63
+ width = ownAspect > originalAspect ? size.width : size.height * ownAspect;
64
+ height = ownAspect > originalAspect ? size.width / ownAspect : size.height;
65
+ return (0, jsx_runtime_1.jsx)(AspectDisplay, { style: { width: width + "px", height: height + "px" } }, aspect);
66
+ }) }), void 0)] }, void 0)) : ((0, jsx_runtime_1.jsx)(NoSelection, { children: (0, jsx_runtime_1.jsx)(ChooseButton, __assign({ onClick: function (e) {
67
+ e.preventDefault();
68
+ (0, selectMedia_1.selectMedia)({
69
+ mode: "select",
70
+ type: "image",
71
+ title: "Select an image",
72
+ select: function (selected) {
73
+ if (selected) {
74
+ props.onChange(selected.id);
75
+ }
76
+ },
77
+ });
78
+ // acf.newMediaPopup({
79
+ // mode: "edit",
80
+ // type: "image",
81
+ // title: "Select Image",
82
+ // attachment: [props.value],
83
+ // select: (selected: any) => console.log("Selected", selected),
84
+ // })
85
+ } }, { children: "Choose an image" }), void 0) }, void 0)), (0, jsx_runtime_1.jsx)(Toolbar, { children: selectedImage || imageIsLoading ? ((0, jsx_runtime_1.jsxs)(react_2.Fragment, { children: [(0, jsx_runtime_1.jsx)(ToolbarButton, __assign({ onClick: function (e) {
86
+ e.preventDefault();
87
+ props.onChange(null);
88
+ } }, { children: (0, jsx_runtime_1.jsx)("span", { className: "dashicons dashicons-trash" }, void 0) }), void 0), (0, jsx_runtime_1.jsx)(ToolbarButton, __assign({ onClick: function (e) {
89
+ e.preventDefault();
90
+ (0, selectMedia_1.selectMedia)({
91
+ mode: "edit",
92
+ type: "image",
93
+ attachment: Number(props.value),
94
+ title: "Edit Image",
95
+ });
96
+ } }, { children: (0, jsx_runtime_1.jsx)("span", { className: "dashicons dashicons-edit" }, void 0) }), void 0), selectedImage && ((0, jsx_runtime_1.jsx)(ToolbarButton, __assign({ onClick: function (e) {
97
+ e.preventDefault();
98
+ window.open(selectedImage.url);
99
+ } }, { children: (0, jsx_runtime_1.jsx)("span", { className: "dashicons dashicons-external" }, void 0) }), void 0))] }, void 0)) : null }, void 0)] }), void 0));
100
+ }
101
+ exports.ImageWell = ImageWell;
102
+ var Wrapper = (0, react_1.styled)("div", {
103
+ position: "relative",
104
+ display: "block",
105
+ width: "100%",
106
+ border: "1px solid #eeeeee",
107
+ borderRadius: "4px",
108
+ variants: {
109
+ noBorder: {
110
+ true: {
111
+ border: "0px",
112
+ },
113
+ },
114
+ },
115
+ });
116
+ var ImageContainer = (0, react_1.styled)("div", {
117
+ margin: "4px",
118
+ display: "block",
119
+ position: "relative",
120
+ img: {
121
+ maxWidth: "min(100%, 300px)",
122
+ display: "block",
123
+ },
124
+ });
125
+ var spin = (0, react_1.keyframes)({
126
+ from: {
127
+ transform: "rotate(0deg)",
128
+ },
129
+ to: {
130
+ transform: "rotate(360deg)",
131
+ },
132
+ });
133
+ var Spinner = (0, react_1.styled)("div", {
134
+ display: "block",
135
+ width: "16px",
136
+ height: "16px",
137
+ borderRadius: "100px",
138
+ border: "4px solid transparent",
139
+ borderTopColor: "currentColor",
140
+ animation: "".concat(spin, " 0.5s linear infinite"),
141
+ });
142
+ var Loading = (0, react_1.styled)("div", {
143
+ display: "flex",
144
+ justifyContent: "center",
145
+ alignItems: "center",
146
+ padding: "10px",
147
+ });
148
+ var Toolbar = (0, react_1.styled)("div", {
149
+ position: "absolute",
150
+ top: "0",
151
+ right: "6px",
152
+ bottom: "0",
153
+ padding: "4px",
154
+ display: "flex",
155
+ flexDirection: "column",
156
+ justifyContent: "center",
157
+ });
158
+ var ToolbarButton = (0, react_1.styled)("button", {
159
+ width: "24px",
160
+ height: "24px",
161
+ fontSize: "12px",
162
+ borderRadius: "100px",
163
+ background: "white",
164
+ border: "none",
165
+ color: "black",
166
+ cursor: "pointer",
167
+ appearance: "none",
168
+ boxShadow: "rgba(0,0,0,0.2) 0px 1px 3px",
169
+ display: "flex",
170
+ alignItems: "center",
171
+ justifyContent: "center",
172
+ margin: "4px 0",
173
+ });
174
+ ToolbarButton.defaultProps = {
175
+ className: "dashicons",
176
+ };
177
+ var NoSelection = (0, react_1.styled)("div", {
178
+ display: "flex",
179
+ justifyContent: "center",
180
+ padding: "10px 0px",
181
+ });
182
+ var ChooseButton = (0, react_1.styled)("button", {
183
+ appearance: "none",
184
+ border: "0px",
185
+ background: "#f6f6f6",
186
+ color: "black",
187
+ padding: "10px 16px",
188
+ borderRadius: "100px",
189
+ cursor: "pointer",
190
+ });
191
+ var AspectWrapper = (0, react_1.styled)("div", {
192
+ position: "absolute",
193
+ left: 0,
194
+ top: 0,
195
+ width: "100%",
196
+ height: "100%",
197
+ opacity: 0.3,
198
+ transition: "opacity 0.3s",
199
+ "&:hover": {
200
+ opacity: 1,
201
+ },
202
+ });
203
+ var AspectDisplay = (0, react_1.styled)("div", {
204
+ position: "absolute",
205
+ border: "1px solid white",
206
+ left: "50%",
207
+ top: "50%",
208
+ transform: "translate(-50%, -50%)",
209
+ });
@@ -0,0 +1,14 @@
1
+ import { ReactElement } from "react";
2
+ export declare type FieldProps<T> = {
3
+ value: T;
4
+ onChange: (value: T) => void;
5
+ settings: {
6
+ [key: string]: any;
7
+ };
8
+ };
9
+ export declare type FieldTypeDefinition<T> = {
10
+ render: (props: FieldProps<T>) => ReactElement;
11
+ defaultValue?: T;
12
+ validate?: (value: T) => boolean | string;
13
+ };
14
+ export declare function defineField<T>(args: FieldTypeDefinition<T>): FieldTypeDefinition<T>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defineField = void 0;
4
+ function defineField(args) {
5
+ return args;
6
+ }
7
+ exports.defineField = defineField;
@@ -0,0 +1,2 @@
1
+ export * from "./defineFIeld";
2
+ export * from "./components/ImageWell";
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./defineFIeld"), exports);
14
+ __exportStar(require("./components/ImageWell"), exports);
@@ -0,0 +1 @@
1
+ export declare function installFieldTypes(): void;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.installFieldTypes = void 0;
26
+ var jsx_runtime_1 = require("react/jsx-runtime");
27
+ // @ts-ignore
28
+ var fields_1 = __importDefault(require("@manifest/fields"));
29
+ var ReactDOM = __importStar(require("react-dom"));
30
+ var react_1 = require("react");
31
+ function installFieldTypes() {
32
+ // @ts-ignore
33
+ var acf = window.acf;
34
+ var _loop_1 = function (name_1) {
35
+ var type = fields_1.default[name_1];
36
+ var Component = type.render;
37
+ var init = function (_a) {
38
+ var $el = _a.$el, cid = _a.cid, data = _a.data;
39
+ var input = $el.find("input[type='hidden']");
40
+ var container = document.createElement("div");
41
+ $el.append(container);
42
+ ReactDOM.render((0, jsx_runtime_1.jsx)(FieldWrapper, { defaultValue: type.defaultValue, validate: type.validate, field: data, input: input[0], settings: input.data("settings"), Component: Component }, void 0), container);
43
+ };
44
+ acf.addAction("ready_field/type=" + name_1, init);
45
+ acf.addAction("append_field/type=" + name_1, init);
46
+ };
47
+ for (var name_1 in fields_1.default) {
48
+ _loop_1(name_1);
49
+ }
50
+ }
51
+ exports.installFieldTypes = installFieldTypes;
52
+ function FieldWrapper(_a) {
53
+ var input = _a.input, defaultValue = _a.defaultValue, Component = _a.Component, settings = _a.settings;
54
+ var _b = (0, react_1.useState)(function () { var _a; return (_a = (input.value ? JSON.parse(input.value) : null)) !== null && _a !== void 0 ? _a : defaultValue; }), value = _b[0], setValue = _b[1];
55
+ (0, react_1.useEffect)(function () {
56
+ input.value = JSON.stringify(value);
57
+ console.log(input.value);
58
+ }, [value]);
59
+ return (0, jsx_runtime_1.jsx)(Component, { value: value, onChange: setValue, settings: settings }, void 0);
60
+ }
@@ -0,0 +1,31 @@
1
+ declare type Attachment = {
2
+ id: number;
3
+ filename: string;
4
+ mime: string;
5
+ height: number;
6
+ width: number;
7
+ attributes: any;
8
+ url: string;
9
+ sizes: {
10
+ [key: string]: {
11
+ width: number;
12
+ height: number;
13
+ url: string;
14
+ orientation: string;
15
+ };
16
+ };
17
+ };
18
+ declare type MediaPopupArgs = {
19
+ mode?: "select" | "edit";
20
+ type?: string;
21
+ title?: string;
22
+ button?: string;
23
+ allowedTypes?: string;
24
+ library?: string;
25
+ attachment?: number;
26
+ multiple?: boolean;
27
+ value?: string | string[];
28
+ select?: (attachments: Attachment[]) => void;
29
+ };
30
+ export declare function selectMedia(args: MediaPopupArgs): any;
31
+ export {};
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectMedia = void 0;
4
+ function selectMedia(args) {
5
+ // @ts-ignore
6
+ var acf = window.acf;
7
+ return acf.newMediaPopup(args);
8
+ }
9
+ exports.selectMedia = selectMedia;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eddev",
3
- "version": "0.1.44-beta-2",
3
+ "version": "0.1.45",
4
4
  "main": "./index.js",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { DefaultThemeMap } from "@stitches/react";
2
3
  import { ConfigType } from "@stitches/core/types/config";
3
4
  import { Properties as CSS } from "csstype";
@@ -1,2 +0,0 @@
1
- import type { GravityFormProps } from "./GravityFormDynamic";
2
- export declare function GravityForm(props: GravityFormProps): JSX.Element;
@@ -1,33 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.GravityForm = void 0;
23
- var jsx_runtime_1 = require("react/jsx-runtime");
24
- var react_1 = require("react");
25
- var react_2 = require("react");
26
- function GravityForm(props) {
27
- var _a = (0, react_1.useState)(null), FormComponent = _a[0], setFormComponent = _a[1];
28
- (0, react_2.useEffect)(function () {
29
- Promise.resolve().then(function () { return __importStar(require("./GravityFormDynamic")); }).then(function (module) { return setFormComponent(module.GravityFormDynamic); });
30
- });
31
- return (0, jsx_runtime_1.jsx)("div", {}, void 0);
32
- }
33
- exports.GravityForm = GravityForm;
@@ -1,7 +0,0 @@
1
- import type { GravityFormData } from "./gravity-forms";
2
- declare type Props = {
3
- form: GravityFormData;
4
- };
5
- export declare type GravityFormProps = Props;
6
- export declare function GravityFormDynamic(): void;
7
- export {};
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GravityFormDynamic = void 0;
4
- function GravityFormDynamic() { }
5
- exports.GravityFormDynamic = GravityFormDynamic;