@sanity/workbench 0.0.1-alpha.0

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.
package/dist/index.cjs ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: !0 });
3
+ var jsxRuntime = require("react/jsx-runtime"), react = require("react"), client = require("react-dom/client");
4
+ function Workbench(_props) {
5
+ return /* @__PURE__ */ jsxRuntime.jsx("h1", { children: "Hello World" });
6
+ }
7
+ function renderWorkbench(rootElement, config, options) {
8
+ if (!rootElement)
9
+ throw new Error("Missing root element to mount application into");
10
+ const root = client.createRoot(rootElement), workbench = /* @__PURE__ */ jsxRuntime.jsx(Workbench, { config });
11
+ return root.render(
12
+ options?.reactStrictMode ? /* @__PURE__ */ jsxRuntime.jsx(react.StrictMode, { children: workbench }) : workbench
13
+ ), () => root.unmount();
14
+ }
15
+ exports.renderWorkbench = renderWorkbench;
16
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../src/index.tsx"],"sourcesContent":["import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\n\ninterface WorkbenchProps {\n config: undefined;\n}\n\nfunction Workbench(_props: WorkbenchProps) {\n return <h1>Hello World</h1>;\n}\n\ninterface RenderWorkbenchOptions {\n reactStrictMode: boolean;\n}\n\nexport function renderWorkbench(\n rootElement: HTMLElement,\n config: Config,\n options?: RenderWorkbenchOptions,\n): () => void {\n if (!rootElement) {\n throw new Error(\"Missing root element to mount application into\");\n }\n\n const root = createRoot(rootElement);\n const workbench = <Workbench config={config} />;\n\n root.render(\n options?.reactStrictMode ? <StrictMode>{workbench}</StrictMode> : workbench,\n );\n\n return () => root.unmount();\n}\n\nexport type Config = WorkbenchProps[\"config\"];\n"],"names":["jsx","createRoot","StrictMode"],"mappings":";;;AAOA,SAAS,UAAU,QAAwB;AACzC,SAAOA,2BAAAA,IAAC,QAAG,UAAA,cAAA,CAAW;AACxB;AAMO,SAAS,gBACd,aACA,QACA,SACY;AACZ,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,gDAAgD;AAGlE,QAAM,OAAOC,OAAAA,WAAW,WAAW,GAC7B,YAAYD,+BAAC,aAAU,QAAgB;AAE7C,SAAA,KAAK;AAAA,IACH,SAAS,kBAAkBA,+BAACE,MAAAA,YAAA,EAAY,qBAAU,IAAgB;AAAA,EAAA,GAG7D,MAAM,KAAK,QAAA;AACpB;;"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { StrictMode } from "react";
3
+ import { createRoot } from "react-dom/client";
4
+ function Workbench(_props) {
5
+ return /* @__PURE__ */ jsx("h1", { children: "Hello World" });
6
+ }
7
+ function renderWorkbench(rootElement, config, options) {
8
+ if (!rootElement)
9
+ throw new Error("Missing root element to mount application into");
10
+ const root = createRoot(rootElement), workbench = /* @__PURE__ */ jsx(Workbench, { config });
11
+ return root.render(
12
+ options?.reactStrictMode ? /* @__PURE__ */ jsx(StrictMode, { children: workbench }) : workbench
13
+ ), () => root.unmount();
14
+ }
15
+ export {
16
+ renderWorkbench
17
+ };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom/client\";\n\ninterface WorkbenchProps {\n config: undefined;\n}\n\nfunction Workbench(_props: WorkbenchProps) {\n return <h1>Hello World</h1>;\n}\n\ninterface RenderWorkbenchOptions {\n reactStrictMode: boolean;\n}\n\nexport function renderWorkbench(\n rootElement: HTMLElement,\n config: Config,\n options?: RenderWorkbenchOptions,\n): () => void {\n if (!rootElement) {\n throw new Error(\"Missing root element to mount application into\");\n }\n\n const root = createRoot(rootElement);\n const workbench = <Workbench config={config} />;\n\n root.render(\n options?.reactStrictMode ? <StrictMode>{workbench}</StrictMode> : workbench,\n );\n\n return () => root.unmount();\n}\n\nexport type Config = WorkbenchProps[\"config\"];\n"],"names":[],"mappings":";;;AAOA,SAAS,UAAU,QAAwB;AACzC,SAAO,oBAAC,QAAG,UAAA,cAAA,CAAW;AACxB;AAMO,SAAS,gBACd,aACA,QACA,SACY;AACZ,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,gDAAgD;AAGlE,QAAM,OAAO,WAAW,WAAW,GAC7B,YAAY,oBAAC,aAAU,QAAgB;AAE7C,SAAA,KAAK;AAAA,IACH,SAAS,kBAAkB,oBAAC,YAAA,EAAY,qBAAU,IAAgB;AAAA,EAAA,GAG7D,MAAM,KAAK,QAAA;AACpB;"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@sanity/workbench",
3
+ "version": "0.0.1-alpha.0",
4
+ "description": "Workbench component for the Sanity Content Operating System",
5
+ "keywords": [],
6
+ "homepage": "https://github.com/sanity-io/workbench/packages/@sanity/workbench#readme",
7
+ "bugs": {
8
+ "url": "https://github.com/sanity-io/workbench/issues"
9
+ },
10
+ "license": "MIT",
11
+ "author": "Sanity.io <hello@sanity.io>",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+ssh://git@github.com/sanity-io/workbench.git"
15
+ },
16
+ "files": [
17
+ "dist",
18
+ "src"
19
+ ],
20
+ "type": "module",
21
+ "sideEffects": false,
22
+ "exports": {
23
+ ".": {
24
+ "source": "./src/index.tsx",
25
+ "require": "./dist/index.cjs",
26
+ "default": "./dist/index.js"
27
+ },
28
+ "./package.json": "./package.json"
29
+ },
30
+ "scripts": {
31
+ "build": "pkg build --strict --clean --check",
32
+ "check:lint": "oxlint",
33
+ "check:lint:fix": "oxlint --fix",
34
+ "check:types": "tsc --noEmit",
35
+ "dev": "pkg watch"
36
+ },
37
+ "devDependencies": {
38
+ "@repo/oxc-config": "workspace:*",
39
+ "@repo/tsconfig": "workspace:*",
40
+ "@sanity/pkg-utils": "^9.2.3",
41
+ "@types/react": "catalog:",
42
+ "@types/react-dom": "catalog:",
43
+ "react": "catalog:",
44
+ "react-dom": "catalog:",
45
+ "typescript": "catalog:"
46
+ },
47
+ "peerDependencies": {
48
+ "react": "catalog:",
49
+ "react-dom": "catalog:"
50
+ },
51
+ "browserslist": "extends @sanity/browserslist-config",
52
+ "engines": {
53
+ "node": ">=20.19.1 <22 || >=22.12"
54
+ }
55
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,35 @@
1
+ import { StrictMode } from "react";
2
+ import { createRoot } from "react-dom/client";
3
+
4
+ interface WorkbenchProps {
5
+ config: undefined;
6
+ }
7
+
8
+ function Workbench(_props: WorkbenchProps) {
9
+ return <h1>Hello World</h1>;
10
+ }
11
+
12
+ interface RenderWorkbenchOptions {
13
+ reactStrictMode: boolean;
14
+ }
15
+
16
+ export function renderWorkbench(
17
+ rootElement: HTMLElement,
18
+ config: Config,
19
+ options?: RenderWorkbenchOptions,
20
+ ): () => void {
21
+ if (!rootElement) {
22
+ throw new Error("Missing root element to mount application into");
23
+ }
24
+
25
+ const root = createRoot(rootElement);
26
+ const workbench = <Workbench config={config} />;
27
+
28
+ root.render(
29
+ options?.reactStrictMode ? <StrictMode>{workbench}</StrictMode> : workbench,
30
+ );
31
+
32
+ return () => root.unmount();
33
+ }
34
+
35
+ export type Config = WorkbenchProps["config"];