eddev 0.2.0-beta.0 → 0.2.0-beta.12

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 (92) hide show
  1. package/build/build-favicon.d.ts +1 -0
  2. package/build/build-favicon.js +71 -0
  3. package/build/create-serverless-dev-worker.d.ts +3 -0
  4. package/build/create-serverless-dev-worker.js +99 -0
  5. package/build/get-webpack-config.js +19 -11
  6. package/build/reporter.js +0 -109
  7. package/build/serverless/create-next-app.d.ts +3 -0
  8. package/build/serverless/create-next-app.js +213 -70
  9. package/build/state/serverless-state.d.ts +26 -0
  10. package/build/state/serverless-state.js +2 -0
  11. package/build/workers/serverless-worker-dev-script.d.ts +1 -0
  12. package/build/workers/serverless-worker-dev-script.js +21 -0
  13. package/{cli/prepare-next.d.ts → build/workers/serverless-worker-script.d.ts} +0 -0
  14. package/{cli/prepare-next.js → build/workers/serverless-worker-script.js} +0 -0
  15. package/cli/build.dev.js +30 -7
  16. package/cli/build.prod.js +5 -0
  17. package/cli/cli.js +24 -5
  18. package/cli/display/components/DevCLIDisplay.d.ts +3 -0
  19. package/cli/display/components/DevCLIDisplay.js +20 -1
  20. package/cli/display/components/ServerlessDisplay.d.ts +9 -0
  21. package/cli/display/components/ServerlessDisplay.js +68 -0
  22. package/components/NextRouter.d.ts +9 -0
  23. package/components/NextRouter.js +36 -0
  24. package/config/config-schema.d.ts +50 -0
  25. package/config/config-schema.js +18 -0
  26. package/config/create-schema-file.d.ts +1 -0
  27. package/config/create-schema-file.js +20 -0
  28. package/config/get-config.d.ts +36 -0
  29. package/config/get-config.js +32 -0
  30. package/config/index.d.ts +2 -0
  31. package/config/index.js +14 -0
  32. package/config/parse-config.d.ts +23 -0
  33. package/config/parse-config.js +8 -0
  34. package/config/print-zod-errors.d.ts +2 -0
  35. package/config/print-zod-errors.js +14 -0
  36. package/dev-ui/components/BreakpointItemHeader.d.ts +11 -0
  37. package/dev-ui/components/BreakpointItemHeader.js +50 -0
  38. package/dev-ui/components/BreakpointList.d.ts +6 -0
  39. package/dev-ui/components/BreakpointList.js +38 -0
  40. package/dev-ui/components/DevUI.d.ts +2 -0
  41. package/dev-ui/components/DevUI.js +19 -0
  42. package/dev-ui/components/Launcher.d.ts +9 -0
  43. package/dev-ui/components/Launcher.js +118 -0
  44. package/dev-ui/components/PanelWrapper.d.ts +4 -0
  45. package/dev-ui/components/PanelWrapper.js +21 -0
  46. package/dev-ui/components/Pill.d.ts +0 -0
  47. package/dev-ui/components/Pill.js +1 -0
  48. package/dev-ui/components/SpacingEditor.d.ts +2 -0
  49. package/dev-ui/components/SpacingEditor.js +10 -0
  50. package/dev-ui/components/Text.d.ts +39 -0
  51. package/dev-ui/components/Text.js +13 -0
  52. package/dev-ui/components/panels/SpacingEditor.d.ts +2 -0
  53. package/dev-ui/components/panels/SpacingEditor.js +56 -0
  54. package/dev-ui/hooks/usePersistState.d.ts +1 -0
  55. package/dev-ui/hooks/usePersistState.js +28 -0
  56. package/dev-ui/icons.d.ts +11 -0
  57. package/dev-ui/icons.js +25 -0
  58. package/dev-ui/index.d.ts +1 -0
  59. package/dev-ui/index.js +5 -0
  60. package/dev-ui/panels.d.ts +11 -0
  61. package/dev-ui/panels.js +31 -0
  62. package/dev-ui/theme.d.ts +135 -0
  63. package/dev-ui/theme.js +45 -0
  64. package/entry/Root.js +6 -5
  65. package/hooks/useAppData.js +0 -1
  66. package/package.json +8 -7
  67. package/serverless/create-rpc-client.d.ts +32 -0
  68. package/serverless/create-rpc-client.js +20 -0
  69. package/serverless/define-api.d.ts +2 -0
  70. package/serverless/define-api.js +66 -0
  71. package/serverless/define-rpc-router.d.ts +2 -0
  72. package/serverless/define-rpc-router.js +27 -0
  73. package/serverless/error-codes.d.ts +2 -0
  74. package/serverless/error-codes.js +14 -0
  75. package/serverless/index.d.ts +4 -0
  76. package/serverless/index.js +16 -0
  77. package/serverless/rpc-provider.d.ts +1 -0
  78. package/serverless/rpc-provider.js +5 -0
  79. package/serverless-template/_utils/ed-config.ts +5 -0
  80. package/serverless-template/_utils/fetch-wordpress-props.ts +39 -0
  81. package/serverless-template/next.config.js +63 -42
  82. package/serverless-template/pages/[...slug].tsx +6 -7
  83. package/serverless-template/pages/_app.tsx +9 -5
  84. package/serverless-template/pages/_document.tsx +19 -0
  85. package/serverless-template/pages/index.tsx +3 -2
  86. package/style/createStitches.d.ts +63 -1
  87. package/style/createStitches.js +182 -40
  88. package/utils/getRepoName.d.ts +2 -2
  89. package/utils/getRepoName.js +14 -52
  90. package/build/prepare-next.d.ts +0 -1
  91. package/build/prepare-next.js +0 -5
  92. package/serverless-template/package-lock.json +0 -641
@@ -0,0 +1,68 @@
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.ServerlessLog = exports.ServerlessDisplay = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var ink_1 = require("ink");
17
+ var react_1 = require("react");
18
+ var useObservable_1 = require("../../../utils/useObservable");
19
+ var StatusIcon_1 = require("./StatusIcon");
20
+ var statusLabels = {
21
+ starting: "Starting",
22
+ compiling: "Compiling...",
23
+ error: "Error! See log for details.",
24
+ packaging: "Updating packages...",
25
+ preparing: "Preparing...",
26
+ success: "Success!",
27
+ waiting: "Waiting...",
28
+ };
29
+ function StatusLabel(props) {
30
+ var color = (0, react_1.useMemo)(function () {
31
+ if (props.status === "packaging" ||
32
+ props.status === "preparing" ||
33
+ props.status === "waiting" ||
34
+ props.status === "compiling") {
35
+ return "yellowBright";
36
+ }
37
+ else if (props.status === "error") {
38
+ return "redBright";
39
+ }
40
+ else if (props.status === "success") {
41
+ return "greenBright";
42
+ }
43
+ else {
44
+ return "whiteBright";
45
+ }
46
+ }, [props.status]);
47
+ var label = props.statusLabel || statusLabels[props.status];
48
+ if (props.duration) {
49
+ label += " (".concat(props.duration, "ms)");
50
+ }
51
+ return ((0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ paddingX: 1, width: "100%", flexGrow: 1, flexDirection: "row", justifyContent: "space-between" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ color: color }, { children: label }), void 0), props.url && (0, jsx_runtime_1.jsxs)(ink_1.Text, __assign({ color: "white" }, { children: ["\u2728 ", props.url] }), void 0)] }), void 0));
52
+ }
53
+ function ServerlessDisplay(props) {
54
+ var data = (0, useObservable_1.useObservable)(props.serverless);
55
+ return ((0, jsx_runtime_1.jsx)(ink_1.Box, __assign({ width: "100%", flexDirection: "column" }, { children: (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ width: "100%", paddingX: 1, borderStyle: "round", borderColor: data.status === "success" ? "green" : data.status === "error" ? "red" : "yellow", flexDirection: "row" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Box, __assign({ width: 2, flexGrow: 0, flexShrink: 0 }, { children: (0, jsx_runtime_1.jsx)(StatusIcon_1.StatusIcon, { icon: data.status === "success"
56
+ ? "tick"
57
+ : data.status === "preparing" || data.status === "packaging" || data.status === "compiling"
58
+ ? "loading"
59
+ : data.status === "error"
60
+ ? "error"
61
+ : "none" }, void 0) }), void 0), (0, jsx_runtime_1.jsx)(ink_1.Box, { children: (0, jsx_runtime_1.jsxs)(ink_1.Box, __assign({ flexDirection: "row" }, { children: [(0, jsx_runtime_1.jsx)(ink_1.Text, __assign({ bold: true }, { children: data.title }), void 0), (0, jsx_runtime_1.jsx)(StatusLabel, { status: data.status, statusLabel: "", duration: data.status === "success" ? data.duration : undefined, url: data.url }, void 0)] }), void 0) }, void 0)] }), void 0) }), void 0));
62
+ }
63
+ exports.ServerlessDisplay = ServerlessDisplay;
64
+ function ServerlessLog(props) {
65
+ var log = (0, useObservable_1.useObservable)(props.serverless).log;
66
+ return (0, jsx_runtime_1.jsx)(ink_1.Text, { children: log }, void 0);
67
+ }
68
+ exports.ServerlessLog = ServerlessLog;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from "react";
2
+ import { RouteData } from "../routing/remoteProps";
3
+ declare type Props = {
4
+ children: ReactNode;
5
+ path: string;
6
+ data: RouteData;
7
+ };
8
+ export declare function NextRouter({ children, path, data }: Props): JSX.Element;
9
+ export {};
@@ -0,0 +1,36 @@
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.NextRouter = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var routing_1 = require("../routing");
17
+ var router_1 = require("next/router");
18
+ function NextRouter(_a) {
19
+ var children = _a.children, path = _a.path, data = _a.data;
20
+ var route = (0, router_1.useRouter)();
21
+ return ((0, jsx_runtime_1.jsx)(routing_1.RouterRoot, __assign({ url: path, data: data, onNavigateRequest: function (url) {
22
+ route.push(url);
23
+ // setPendingUrl({ popped: false, url })
24
+ }, onPreload: function (url) {
25
+ // if (isSameOrigin(url)) {
26
+ // fetchProps(url)
27
+ // }
28
+ }, onNavigated: function () {
29
+ // if (pending && typeof pending.scrollPosition === "number") {
30
+ // setScrollPosition({ value: pending.scrollPosition })
31
+ // } else {
32
+ // setScrollPosition({ value: 0 })
33
+ // }
34
+ } }, { children: children }), void 0));
35
+ }
36
+ exports.NextRouter = NextRouter;
@@ -0,0 +1,50 @@
1
+ import { z } from "zod";
2
+ export declare const EDConfigSchema: z.ZodObject<{
3
+ $schema: z.ZodOptional<z.ZodString>;
4
+ serverless: z.ZodOptional<z.ZodObject<{
5
+ enabled: z.ZodBoolean;
6
+ uploads: z.ZodEnum<["proxy", "remote"]>;
7
+ plugins: z.ZodEnum<["proxy", "remote"]>;
8
+ theme: z.ZodEnum<["proxy", "copy", "remote"]>;
9
+ devAssets: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
+ apiOnly: z.ZodOptional<z.ZodBoolean>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ devAssets?: string[] | undefined;
13
+ apiOnly?: boolean | undefined;
14
+ enabled: boolean;
15
+ uploads: "proxy" | "remote";
16
+ plugins: "proxy" | "remote";
17
+ theme: "copy" | "proxy" | "remote";
18
+ }, {
19
+ devAssets?: string[] | undefined;
20
+ apiOnly?: boolean | undefined;
21
+ enabled: boolean;
22
+ uploads: "proxy" | "remote";
23
+ plugins: "proxy" | "remote";
24
+ theme: "copy" | "proxy" | "remote";
25
+ }>>;
26
+ devUI: z.ZodEnum<["disabled", "enabled"]>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ $schema?: string | undefined;
29
+ serverless?: {
30
+ devAssets?: string[] | undefined;
31
+ apiOnly?: boolean | undefined;
32
+ enabled: boolean;
33
+ uploads: "proxy" | "remote";
34
+ plugins: "proxy" | "remote";
35
+ theme: "copy" | "proxy" | "remote";
36
+ } | undefined;
37
+ devUI: "disabled" | "enabled";
38
+ }, {
39
+ $schema?: string | undefined;
40
+ serverless?: {
41
+ devAssets?: string[] | undefined;
42
+ apiOnly?: boolean | undefined;
43
+ enabled: boolean;
44
+ uploads: "proxy" | "remote";
45
+ plugins: "proxy" | "remote";
46
+ theme: "copy" | "proxy" | "remote";
47
+ } | undefined;
48
+ devUI: "disabled" | "enabled";
49
+ }>;
50
+ export declare type EDConfig = z.infer<typeof EDConfigSchema>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EDConfigSchema = void 0;
4
+ var zod_1 = require("zod");
5
+ exports.EDConfigSchema = zod_1.z.object({
6
+ $schema: zod_1.z.string().optional(),
7
+ serverless: zod_1.z
8
+ .object({
9
+ enabled: zod_1.z.boolean(),
10
+ uploads: zod_1.z.enum(["proxy", "remote"]),
11
+ plugins: zod_1.z.enum(["proxy", "remote"]),
12
+ theme: zod_1.z.enum(["proxy", "copy", "remote"]),
13
+ devAssets: zod_1.z.array(zod_1.z.string()).optional(),
14
+ apiOnly: zod_1.z.boolean().optional(),
15
+ })
16
+ .optional(),
17
+ devUI: zod_1.z.enum(["disabled", "enabled"]),
18
+ });
@@ -0,0 +1 @@
1
+ export declare function createConfigSchemaFile(location: string): void;
@@ -0,0 +1,20 @@
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
+ exports.createConfigSchemaFile = void 0;
7
+ var fs_1 = require("fs");
8
+ var zod_to_json_schema_1 = __importDefault(require("zod-to-json-schema"));
9
+ var config_schema_1 = require("./config-schema");
10
+ function createConfigSchemaFile(location) {
11
+ var schema = (0, zod_to_json_schema_1.default)(config_schema_1.EDConfigSchema);
12
+ var content = JSON.stringify(schema, null, 2);
13
+ if ((0, fs_1.existsSync)(location)) {
14
+ var existingContent = (0, fs_1.readFileSync)(location).toString();
15
+ if (existingContent === content)
16
+ return;
17
+ }
18
+ (0, fs_1.writeFileSync)(location, content);
19
+ }
20
+ exports.createConfigSchemaFile = createConfigSchemaFile;
@@ -0,0 +1,36 @@
1
+ export declare function getEDConfig(dir?: string): import("zod").SafeParseReturnType<{
2
+ $schema?: string | undefined;
3
+ serverless?: {
4
+ devAssets?: string[] | undefined;
5
+ apiOnly?: boolean | undefined;
6
+ enabled: boolean;
7
+ uploads: "proxy" | "remote";
8
+ plugins: "proxy" | "remote";
9
+ theme: "copy" | "proxy" | "remote";
10
+ } | undefined;
11
+ devUI: "disabled" | "enabled";
12
+ }, {
13
+ $schema?: string | undefined;
14
+ serverless?: {
15
+ devAssets?: string[] | undefined;
16
+ apiOnly?: boolean | undefined;
17
+ enabled: boolean;
18
+ uploads: "proxy" | "remote";
19
+ plugins: "proxy" | "remote";
20
+ theme: "copy" | "proxy" | "remote";
21
+ } | undefined;
22
+ devUI: "disabled" | "enabled";
23
+ }>;
24
+ export declare function getEDConfigUnwrapped(dir?: string): {
25
+ $schema?: string | undefined;
26
+ serverless?: {
27
+ devAssets?: string[] | undefined;
28
+ apiOnly?: boolean | undefined;
29
+ enabled: boolean;
30
+ uploads: "proxy" | "remote";
31
+ plugins: "proxy" | "remote";
32
+ theme: "copy" | "proxy" | "remote";
33
+ } | undefined;
34
+ devUI: "disabled" | "enabled";
35
+ };
36
+ export declare function getEDConfigFile(dir?: string): string;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEDConfigFile = exports.getEDConfigUnwrapped = exports.getEDConfig = void 0;
4
+ var fs_1 = require("fs");
5
+ var path_1 = require("path");
6
+ var parse_config_1 = require("./parse-config");
7
+ function getEDConfig(dir) {
8
+ if (dir === void 0) { dir = process.cwd(); }
9
+ var configFile = getEDConfigFile(dir);
10
+ if (!(0, fs_1.existsSync)(configFile)) {
11
+ throw new Error("No config file found at ".concat(configFile));
12
+ }
13
+ var config = JSON.parse((0, fs_1.readFileSync)(configFile).toString());
14
+ return (0, parse_config_1.parseConfig)(config);
15
+ }
16
+ exports.getEDConfig = getEDConfig;
17
+ function getEDConfigUnwrapped(dir) {
18
+ if (dir === void 0) { dir = process.cwd(); }
19
+ var result = getEDConfig(dir);
20
+ if (result.success) {
21
+ return result.data;
22
+ }
23
+ else {
24
+ throw new Error(result.error.toString());
25
+ }
26
+ }
27
+ exports.getEDConfigUnwrapped = getEDConfigUnwrapped;
28
+ function getEDConfigFile(dir) {
29
+ if (dir === void 0) { dir = process.cwd(); }
30
+ return (0, path_1.join)(dir, "ed.config.json");
31
+ }
32
+ exports.getEDConfigFile = getEDConfigFile;
@@ -0,0 +1,2 @@
1
+ export * from "./config-schema";
2
+ export * from "./parse-config";
@@ -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("./config-schema"), exports);
14
+ __exportStar(require("./parse-config"), exports);
@@ -0,0 +1,23 @@
1
+ export declare function parseConfig(config: any): import("zod").SafeParseReturnType<{
2
+ $schema?: string | undefined;
3
+ serverless?: {
4
+ devAssets?: string[] | undefined;
5
+ apiOnly?: boolean | undefined;
6
+ enabled: boolean;
7
+ uploads: "proxy" | "remote";
8
+ plugins: "proxy" | "remote";
9
+ theme: "copy" | "proxy" | "remote";
10
+ } | undefined;
11
+ devUI: "disabled" | "enabled";
12
+ }, {
13
+ $schema?: string | undefined;
14
+ serverless?: {
15
+ devAssets?: string[] | undefined;
16
+ apiOnly?: boolean | undefined;
17
+ enabled: boolean;
18
+ uploads: "proxy" | "remote";
19
+ plugins: "proxy" | "remote";
20
+ theme: "copy" | "proxy" | "remote";
21
+ } | undefined;
22
+ devUI: "disabled" | "enabled";
23
+ }>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseConfig = void 0;
4
+ var config_schema_1 = require("./config-schema");
5
+ function parseConfig(config) {
6
+ return config_schema_1.EDConfigSchema.safeParse(config);
7
+ }
8
+ exports.parseConfig = parseConfig;
@@ -0,0 +1,2 @@
1
+ import type { ZodError } from "zod";
2
+ export declare function printZodErrors(err: ZodError): void;
@@ -0,0 +1,14 @@
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
+ exports.printZodErrors = void 0;
7
+ var chalk_1 = __importDefault(require("chalk"));
8
+ function printZodErrors(err) {
9
+ console.log(chalk_1.default.red("Error parsing ed.config.json:"));
10
+ err.issues.forEach(function (issue) {
11
+ console.log("- ".concat(issue.path.join("."), ": ").concat(issue.message));
12
+ });
13
+ }
14
+ exports.printZodErrors = printZodErrors;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ lerpStart?: boolean;
4
+ lerps?: boolean;
5
+ name: string;
6
+ defined: boolean;
7
+ onLerpChange?(lerpStart: boolean): void;
8
+ onDefinedChange?(defined: boolean): void;
9
+ };
10
+ export declare function BreakpointColumnHeader(props: Props): JSX.Element;
11
+ export {};
@@ -0,0 +1,50 @@
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.BreakpointColumnHeader = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var icons_1 = require("../icons");
17
+ var theme_1 = require("../theme");
18
+ function BreakpointColumnHeader(props) {
19
+ return ((0, jsx_runtime_1.jsxs)(Wrapper, { children: [(0, jsx_runtime_1.jsx)(NameWrapper, { children: props.name }, void 0), (0, jsx_runtime_1.jsx)(ToggleButton, __assign({ onClick: function () { var _a; return (_a = props.onDefinedChange) === null || _a === void 0 ? void 0 : _a.call(props, !props.defined); } }, { children: props.lerpStart ? icons_1.checkFilled : icons_1.checkEmpty }), void 0), (0, jsx_runtime_1.jsx)(ToggleButton, __assign({ onClick: function () { var _a; return (_a = props.onDefinedChange) === null || _a === void 0 ? void 0 : _a.call(props, !props.defined); } }, { children: props.defined ? icons_1.checkFilled : icons_1.checkEmpty }), void 0)] }, void 0));
20
+ }
21
+ exports.BreakpointColumnHeader = BreakpointColumnHeader;
22
+ var Wrapper = (0, theme_1.styled)("div", {
23
+ display: "flex",
24
+ width: "100%",
25
+ flexDirection: "column",
26
+ });
27
+ var ToggleButton = (0, theme_1.styled)("button", {
28
+ appearance: "none",
29
+ background: "transparent",
30
+ border: "0px",
31
+ padding: "3px",
32
+ height: "auto",
33
+ display: "flex",
34
+ alignItems: "center",
35
+ justifyContent: "center",
36
+ "&:hover": {
37
+ // backgroundColor: "$bgHover",
38
+ },
39
+ svg: {
40
+ fill: "$fg",
41
+ width: "14px",
42
+ height: "14px",
43
+ display: "block",
44
+ },
45
+ });
46
+ var NameWrapper = (0, theme_1.styled)("div", {
47
+ fontFamily: "$body",
48
+ fontSize: "$sm",
49
+ textAlign: "center",
50
+ });
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ declare type Props = {
3
+ renderBreakpoint: (breakpoint: string, index: number) => ReactNode;
4
+ };
5
+ export declare function BreakpointList(props: Props): JSX.Element;
6
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BreakpointList = void 0;
13
+ var jsx_runtime_1 = require("react/jsx-runtime");
14
+ // @ts-ignore
15
+ var _theme_1 = require("@theme");
16
+ var theme_1 = require("../theme");
17
+ function BreakpointList(props) {
18
+ var breakpoints = __spreadArray(["initial"], _theme_1.originalConfig.breakpoints, true);
19
+ return ((0, jsx_runtime_1.jsx)(Row, { children: breakpoints.map(function (breakpoint, index) {
20
+ return (0, jsx_runtime_1.jsx)(Cell, { children: props.renderBreakpoint(breakpoint, index) }, void 0);
21
+ }) }, void 0));
22
+ }
23
+ exports.BreakpointList = BreakpointList;
24
+ var Row = (0, theme_1.styled)("div", {
25
+ display: "flex",
26
+ });
27
+ var Cell = (0, theme_1.styled)("div", {
28
+ flex: "1 1 auto",
29
+ width: "100px",
30
+ display: "flex",
31
+ alignItems: "center",
32
+ justifyContent: "center",
33
+ borderLeft: "1px solid $colors$bgHoverLight",
34
+ borderBottom: "1px solid $colors$bgHoverLight",
35
+ "&:hover": {
36
+ // backgroundColor: "$bgHoverLight",
37
+ },
38
+ });
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function DevUI(): JSX.Element;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DevUI = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var react_1 = require("react");
6
+ var usePersistState_1 = require("../hooks/usePersistState");
7
+ var panels_1 = require("../panels");
8
+ var Launcher_1 = require("./Launcher");
9
+ var PanelWrapper_1 = require("./PanelWrapper");
10
+ function DevUI() {
11
+ var _a = (0, usePersistState_1.usePersistState)("launcher-is-open", false), open = _a[0], setOpen = _a[1];
12
+ var _b = (0, usePersistState_1.usePersistState)("panel", undefined), panel = _b[0], setPanel = _b[1];
13
+ var PanelComponent = panel && panel in panels_1.DEV_UI_PANELS ? panels_1.DEV_UI_PANELS[panel].component : undefined;
14
+ return ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Launcher_1.Launcher, { panel: panel, open: open, onChange: function (open, panel) {
15
+ setOpen(open);
16
+ setPanel(panel);
17
+ } }, void 0), open && PanelComponent && ((0, jsx_runtime_1.jsx)(PanelWrapper_1.PanelWrapper, { children: (0, jsx_runtime_1.jsx)(PanelComponent, {}, void 0) }, void 0))] }, void 0));
18
+ }
19
+ exports.DevUI = DevUI;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { PanelID } from "../panels";
3
+ declare type Props = {
4
+ open: boolean;
5
+ panel: PanelID | undefined;
6
+ onChange: (open: boolean, panel: PanelID | undefined) => void;
7
+ };
8
+ export declare function Launcher(props: Props): JSX.Element;
9
+ export {};
@@ -0,0 +1,118 @@
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.Launcher = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var icons_1 = require("../icons");
17
+ var panels_1 = require("../panels");
18
+ var theme_1 = require("../theme");
19
+ function Launcher(props) {
20
+ return ((0, jsx_runtime_1.jsxs)(LauncherWrapper, { children: [(0, jsx_runtime_1.jsx)(LauncherButton, __assign({ onClick: function (e) {
21
+ props.onChange(!props.open, props.panel);
22
+ } }, { children: props.open ? icons_1.close : icons_1.bolt }), void 0), (0, jsx_runtime_1.jsx)(Menu, __assign({ open: props.open }, { children: Object.entries(panels_1.DEV_UI_PANELS).map(function (_a) {
23
+ var key = _a[0], panel = _a[1];
24
+ return ((0, jsx_runtime_1.jsxs)(MenuItem, __assign({ state: key === props.panel ? "active" : props.panel ? "inactive" : undefined, onClick: function () { return props.onChange(true, key); } }, { children: [panel.icon, panel.label] }), key));
25
+ }) }), void 0)] }, void 0));
26
+ }
27
+ exports.Launcher = Launcher;
28
+ var LauncherWrapper = (0, theme_1.styled)("div", {
29
+ position: "fixed",
30
+ bottom: "5px",
31
+ left: "5px",
32
+ zIndex: 100000000,
33
+ fontFamily: "$body",
34
+ fontSize: "$md",
35
+ pointerEvents: "none",
36
+ $$height: "$space$buttonHeight",
37
+ userSelect: "none",
38
+ });
39
+ var LauncherButton = (0, theme_1.styled)("div", {
40
+ borderRadius: "100px",
41
+ width: "$$height",
42
+ height: "$$height",
43
+ bottom: "5px",
44
+ left: "5px",
45
+ background: "$bg",
46
+ display: "flex",
47
+ alignItems: "center",
48
+ justifyContent: "center",
49
+ pointerEvents: "all",
50
+ "&:hover": {
51
+ backgroundColor: "$bgHover",
52
+ },
53
+ svg: {
54
+ fill: "$fg",
55
+ display: "block",
56
+ width: "16px",
57
+ height: "16px",
58
+ },
59
+ cursor: "pointer",
60
+ });
61
+ var Menu = (0, theme_1.styled)("div", {
62
+ position: "absolute",
63
+ left: "calc($$height + 4px)",
64
+ bottom: 0,
65
+ display: "flex",
66
+ flexDirection: "row",
67
+ alignItems: "flex-start",
68
+ width: "calc(100vw - 40px)",
69
+ overflow: "auto",
70
+ "&::-webkit-scrollbar": {
71
+ width: 0,
72
+ height: 0,
73
+ background: "transparent",
74
+ },
75
+ variants: {
76
+ open: {
77
+ true: {
78
+ opacity: 1,
79
+ pointerEvents: "all",
80
+ },
81
+ false: {
82
+ opacity: 0,
83
+ },
84
+ },
85
+ },
86
+ });
87
+ var MenuItem = (0, theme_1.styled)("div", {
88
+ background: "$bg",
89
+ color: "$fg",
90
+ borderRadius: "100px",
91
+ whiteSpace: "nowrap",
92
+ marginRight: "4px",
93
+ padding: "4px 8px",
94
+ display: "flex",
95
+ alignItems: "center",
96
+ cursor: "pointer",
97
+ boxSizing: "border-box",
98
+ height: "$$height",
99
+ "&:hover": {
100
+ backgroundColor: "$bgHover",
101
+ color: "$fg",
102
+ },
103
+ svg: {
104
+ display: "block",
105
+ fill: "currentColor",
106
+ marginRight: "5px",
107
+ width: "14px",
108
+ height: "14px",
109
+ },
110
+ variants: {
111
+ state: {
112
+ active: {},
113
+ inactive: {
114
+ color: "$fgFaded",
115
+ },
116
+ },
117
+ },
118
+ });
@@ -0,0 +1,4 @@
1
+ import { PropsWithChildren } from "react";
2
+ declare type Props = PropsWithChildren<{}>;
3
+ export declare function PanelWrapper(props: Props): JSX.Element;
4
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PanelWrapper = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ var theme_1 = require("../theme");
6
+ function PanelWrapper(props) {
7
+ return (0, jsx_runtime_1.jsx)(Wrapper, { children: props.children }, void 0);
8
+ }
9
+ exports.PanelWrapper = PanelWrapper;
10
+ var Wrapper = (0, theme_1.styled)("div", {
11
+ position: "fixed",
12
+ left: "5px",
13
+ bottom: "calc($space$buttonHeight + 10px)",
14
+ backgroundColor: "$bg",
15
+ color: "$fg",
16
+ borderRadius: "$sm",
17
+ maxWidth: "calc(100vw - 10px)",
18
+ fontFamily: "$body",
19
+ fontSize: "$md",
20
+ zIndex: 10000000,
21
+ });
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare function SpacingEditor(): JSX.Element;