@powerhousedao/powerhouse-vetra-packages 6.2.0-dev.3 → 6.2.0-dev.30
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/browser/assets/{entry-Bzani6_n.js → entry-BzMQu_A8.js} +2 -2
- package/dist/browser/assets/{projection-entry-Bpu-8SnI.js → projection-entry-CQb9a2Bz.js} +2 -2
- package/dist/browser/{connect-ZnLjvmRt.js → connect-CdR7HnG_.js} +104 -104
- package/dist/browser/connect-CdR7HnG_.js.map +1 -0
- package/dist/browser/{dist-DLFI75Zd.js → dist-DXM8ccKa.js} +46 -7
- package/dist/browser/dist-DXM8ccKa.js.map +1 -0
- package/dist/browser/{dist-C1nRM9t2.js → dist-HgA907mh.js} +95 -61
- package/dist/browser/dist-HgA907mh.js.map +1 -0
- package/dist/browser/{document-drive-oqv68jDU.js → document-drive-sTKoi6L4.js} +314 -9
- package/dist/browser/document-drive-sTKoi6L4.js.map +1 -0
- package/dist/browser/document-models/index.js +1 -1
- package/dist/browser/{editor-DC3bigBu.js → editor-Bzkc8cBh.js} +5 -5
- package/dist/browser/{editor-DC3bigBu.js.map → editor-Bzkc8cBh.js.map} +1 -1
- package/dist/browser/{editor-CoTq6fqT.js → editor-CwLkXRMi.js} +21 -21
- package/dist/browser/editor-CwLkXRMi.js.map +1 -0
- package/dist/browser/editors/document-model-editor/module.js +1 -1
- package/dist/browser/editors/generic-drive-explorer/index.js +5 -5
- package/dist/browser/editors/generic-drive-explorer/index.js.map +1 -1
- package/dist/browser/editors/generic-drive-explorer/module.js +1 -1
- package/dist/browser/{folder-view-DmYBf2pP.js → folder-view-SEF40UJw.js} +7 -7
- package/dist/browser/folder-view-SEF40UJw.js.map +1 -0
- package/dist/browser/{graphql-editor-CiGd_Li7.js → graphql-editor-DMG1SdS3.js} +3 -3
- package/dist/browser/{graphql-editor-CiGd_Li7.js.map → graphql-editor-DMG1SdS3.js.map} +1 -1
- package/dist/browser/index.js +2 -2
- package/dist/browser/{json-editor-sEqd5piI.js → json-editor-C9wagvps.js} +3 -3
- package/dist/browser/{json-editor-sEqd5piI.js.map → json-editor-C9wagvps.js.map} +1 -1
- package/dist/browser/{state-schemas-DJmzG_M8.js → state-schemas-CDE7-WSq.js} +12 -12
- package/dist/browser/state-schemas-CDE7-WSq.js.map +1 -0
- package/dist/node/{connect-BLC4PXD9.mjs → connect-C5Fwy1TV.mjs} +93 -93
- package/dist/node/connect-C5Fwy1TV.mjs.map +1 -0
- package/dist/node/{dist-Bm05eoTg.mjs → dist-BCpGdShB.mjs} +95 -61
- package/dist/node/dist-BCpGdShB.mjs.map +1 -0
- package/dist/node/{dist-Cn3iExnV.mjs → dist-C88eUERe.mjs} +46 -7
- package/dist/node/dist-C88eUERe.mjs.map +1 -0
- package/dist/node/{document-drive-sM33juXr.mjs → document-drive-DjL9iikf.mjs} +314 -9
- package/dist/node/document-drive-DjL9iikf.mjs.map +1 -0
- package/dist/node/document-models/index.mjs +1 -1
- package/dist/node/{editor-BrS98lEH.mjs → editor-CIR848q-.mjs} +5 -5
- package/dist/node/{editor-BrS98lEH.mjs.map → editor-CIR848q-.mjs.map} +1 -1
- package/dist/node/{editor-BFBa9nsO.mjs → editor-DmB3aE4K.mjs} +21 -21
- package/dist/node/editor-DmB3aE4K.mjs.map +1 -0
- package/dist/node/editors/document-model-editor/module.mjs +1 -1
- package/dist/node/editors/generic-drive-explorer/index.mjs +5 -5
- package/dist/node/editors/generic-drive-explorer/index.mjs.map +1 -1
- package/dist/node/editors/generic-drive-explorer/module.mjs +1 -1
- package/dist/node/{folder-view-DHph3Yuu.mjs → folder-view-OzKx5KyJ.mjs} +7 -7
- package/dist/node/folder-view-OzKx5KyJ.mjs.map +1 -0
- package/dist/node/{graphql-editor-CPq7oIbf.mjs → graphql-editor-CG9Wyp7N.mjs} +3 -3
- package/dist/node/{graphql-editor-CPq7oIbf.mjs.map → graphql-editor-CG9Wyp7N.mjs.map} +1 -1
- package/dist/node/index.mjs +2 -2
- package/dist/node/{json-editor-L32CP7TS.mjs → json-editor-CfA5q_6F.mjs} +3 -3
- package/dist/node/{json-editor-L32CP7TS.mjs.map → json-editor-CfA5q_6F.mjs.map} +1 -1
- package/dist/node/{state-schemas-XTTjQZOe.mjs → state-schemas-DVr0xm_W.mjs} +12 -12
- package/dist/node/state-schemas-DVr0xm_W.mjs.map +1 -0
- package/package.json +6 -6
- package/dist/browser/connect-ZnLjvmRt.js.map +0 -1
- package/dist/browser/dist-C1nRM9t2.js.map +0 -1
- package/dist/browser/dist-DLFI75Zd.js.map +0 -1
- package/dist/browser/document-drive-oqv68jDU.js.map +0 -1
- package/dist/browser/editor-CoTq6fqT.js.map +0 -1
- package/dist/browser/folder-view-DmYBf2pP.js.map +0 -1
- package/dist/browser/state-schemas-DJmzG_M8.js.map +0 -1
- package/dist/node/connect-BLC4PXD9.mjs.map +0 -1
- package/dist/node/dist-Bm05eoTg.mjs.map +0 -1
- package/dist/node/dist-Cn3iExnV.mjs.map +0 -1
- package/dist/node/document-drive-sM33juXr.mjs.map +0 -1
- package/dist/node/editor-BFBa9nsO.mjs.map +0 -1
- package/dist/node/folder-view-DHph3Yuu.mjs.map +0 -1
- package/dist/node/state-schemas-XTTjQZOe.mjs.map +0 -1
package/dist/browser/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as driveDocumentModelModule, u as documentModelDocumentModelModule } from "./document-drive-
|
|
2
|
-
import { t as reactorDriveDocumentModelModule } from "./dist-
|
|
1
|
+
import { r as driveDocumentModelModule, u as documentModelDocumentModelModule } from "./document-drive-sTKoi6L4.js";
|
|
2
|
+
import { t as reactorDriveDocumentModelModule } from "./dist-DXM8ccKa.js";
|
|
3
3
|
import { DocumentModelEditor } from "./editors/document-model-editor/module.js";
|
|
4
4
|
import { GenericDriveExplorer } from "./editors/generic-drive-explorer/module.js";
|
|
5
5
|
//#region powerhouse.manifest.json
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./document-drive-
|
|
2
|
-
import { D as useTheme } from "./dist-
|
|
1
|
+
import "./document-drive-sTKoi6L4.js";
|
|
2
|
+
import { D as useTheme } from "./dist-HgA907mh.js";
|
|
3
3
|
import { C as linter, D as EditorState, E as Compartment, S as forceLinting, T as keymap, _ as foldNodeProp, a as makeFocusHandler, b as tags, c as baseEditorExtensions, d as ayuLight, f as LRLanguage, g as foldInside, i as useHandlerReconfiguration, l as baseKeymap, m as continuedIndent, n as useEditorCleanup, o as makePasteHandler, p as LanguageSupport, r as useEditorRefs, s as makeUpdateHandler, t as useDocumentSync, u as dracula, v as indentNodeProp, w as EditorView, x as LRParser, y as styleTags } from "./hooks-CORHBNHb.js";
|
|
4
4
|
import { memo, useEffect, useRef } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -151,4 +151,4 @@ const JSONEditor = memo(function JSONEditor(props) {
|
|
|
151
151
|
//#endregion
|
|
152
152
|
export { JSONEditor as default };
|
|
153
153
|
|
|
154
|
-
//# sourceMappingURL=json-editor-
|
|
154
|
+
//# sourceMappingURL=json-editor-C9wagvps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-editor-
|
|
1
|
+
{"version":3,"file":"json-editor-C9wagvps.js","names":[],"sources":["../../../../node_modules/.pnpm/@lezer+json@1.0.3/node_modules/@lezer/json/dist/index.js","../../../../node_modules/.pnpm/@codemirror+lang-json@6.0.1/node_modules/@codemirror/lang-json/dist/index.js","../../editors/document-model-editor/components/code-editors/json-editor.tsx"],"sourcesContent":["import { LRParser } from '@lezer/lr';\nimport { styleTags, tags } from '@lezer/highlight';\n\nconst jsonHighlighting = styleTags({\n String: tags.string,\n Number: tags.number,\n \"True False\": tags.bool,\n PropertyName: tags.propertyName,\n Null: tags.null,\n \", :\": tags.separator,\n \"[ ]\": tags.squareBracket,\n \"{ }\": tags.brace\n});\n\n// This file was generated by lezer-generator. You probably shouldn't edit it.\nconst parser = LRParser.deserialize({\n version: 14,\n states: \"$bOVQPOOOOQO'#Cb'#CbOnQPO'#CeOvQPO'#ClOOQO'#Cr'#CrQOQPOOOOQO'#Cg'#CgO}QPO'#CfO!SQPO'#CtOOQO,59P,59PO![QPO,59PO!aQPO'#CuOOQO,59W,59WO!iQPO,59WOVQPO,59QOqQPO'#CmO!nQPO,59`OOQO1G.k1G.kOVQPO'#CnO!vQPO,59aOOQO1G.r1G.rOOQO1G.l1G.lOOQO,59X,59XOOQO-E6k-E6kOOQO,59Y,59YOOQO-E6l-E6l\",\n stateData: \"#O~OeOS~OQSORSOSSOTSOWQO_ROgPO~OVXOgUO~O^[O~PVO[^O~O]_OVhX~OVaO~O]bO^iX~O^dO~O]_OVha~O]bO^ia~O\",\n goto: \"!kjPPPPPPkPPkqwPPPPk{!RPPP!XP!e!hXSOR^bQWQRf_TVQ_Q`WRg`QcZRicQTOQZRQe^RhbRYQR]R\",\n nodeNames: \"⚠ JsonText True False Null Number String } { Object Property PropertyName : , ] [ Array\",\n maxTerm: 25,\n nodeProps: [\n [\"isolate\", -2,6,11,\"\"],\n [\"openedBy\", 7,\"{\",14,\"[\"],\n [\"closedBy\", 8,\"}\",15,\"]\"]\n ],\n propSources: [jsonHighlighting],\n skippedNodes: [0],\n repeatNodeCount: 2,\n tokenData: \"(|~RaXY!WYZ!W]^!Wpq!Wrs!]|}$u}!O$z!Q!R%T!R![&c![!]&t!}#O&y#P#Q'O#Y#Z'T#b#c'r#h#i(Z#o#p(r#q#r(w~!]Oe~~!`Wpq!]qr!]rs!xs#O!]#O#P!}#P;'S!];'S;=`$o<%lO!]~!}Og~~#QXrs!]!P!Q!]#O#P!]#U#V!]#Y#Z!]#b#c!]#f#g!]#h#i!]#i#j#m~#pR!Q![#y!c!i#y#T#Z#y~#|R!Q![$V!c!i$V#T#Z$V~$YR!Q![$c!c!i$c#T#Z$c~$fR!Q![!]!c!i!]#T#Z!]~$rP;=`<%l!]~$zO]~~$}Q!Q!R%T!R![&c~%YRT~!O!P%c!g!h%w#X#Y%w~%fP!Q![%i~%nRT~!Q![%i!g!h%w#X#Y%w~%zR{|&T}!O&T!Q![&Z~&WP!Q![&Z~&`PT~!Q![&Z~&hST~!O!P%c!Q![&c!g!h%w#X#Y%w~&yO[~~'OO_~~'TO^~~'WP#T#U'Z~'^P#`#a'a~'dP#g#h'g~'jP#X#Y'm~'rOR~~'uP#i#j'x~'{P#`#a(O~(RP#`#a(U~(ZOS~~(^P#f#g(a~(dP#i#j(g~(jP#X#Y(m~(rOQ~~(wOW~~(|OV~\",\n tokenizers: [0],\n topRules: {\"JsonText\":[0,1]},\n tokenPrec: 0\n});\n\nexport { parser };\n","import { parser } from '@lezer/json';\nimport { LRLanguage, indentNodeProp, continuedIndent, foldNodeProp, foldInside, LanguageSupport } from '@codemirror/language';\n\n/**\nCalls\n[`JSON.parse`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse)\non the document and, if that throws an error, reports it as a\nsingle diagnostic.\n*/\nconst jsonParseLinter = () => (view) => {\n try {\n JSON.parse(view.state.doc.toString());\n }\n catch (e) {\n if (!(e instanceof SyntaxError))\n throw e;\n const pos = getErrorPosition(e, view.state.doc);\n return [{\n from: pos,\n message: e.message,\n severity: 'error',\n to: pos\n }];\n }\n return [];\n};\nfunction getErrorPosition(error, doc) {\n let m;\n if (m = error.message.match(/at position (\\d+)/))\n return Math.min(+m[1], doc.length);\n if (m = error.message.match(/at line (\\d+) column (\\d+)/))\n return Math.min(doc.line(+m[1]).from + (+m[2]) - 1, doc.length);\n return 0;\n}\n\n/**\nA language provider that provides JSON parsing.\n*/\nconst jsonLanguage = /*@__PURE__*/LRLanguage.define({\n name: \"json\",\n parser: /*@__PURE__*/parser.configure({\n props: [\n /*@__PURE__*/indentNodeProp.add({\n Object: /*@__PURE__*/continuedIndent({ except: /^\\s*\\}/ }),\n Array: /*@__PURE__*/continuedIndent({ except: /^\\s*\\]/ })\n }),\n /*@__PURE__*/foldNodeProp.add({\n \"Object Array\": foldInside\n })\n ]\n }),\n languageData: {\n closeBrackets: { brackets: [\"[\", \"{\", '\"'] },\n indentOnInput: /^\\s*[\\}\\]]$/\n }\n});\n/**\nJSON language support.\n*/\nfunction json() {\n return new LanguageSupport(jsonLanguage);\n}\n\nexport { json, jsonLanguage, jsonParseLinter };\n","import { json, jsonLanguage, jsonParseLinter } from \"@codemirror/lang-json\";\nimport { forceLinting, linter } from \"@codemirror/lint\";\nimport { Compartment, EditorState } from \"@codemirror/state\";\nimport { EditorView, keymap } from \"@codemirror/view\";\nimport { useTheme } from \"@powerhousedao/reactor-browser\";\nimport { memo, useEffect, useRef } from \"react\";\nimport { ayuLight, dracula } from \"thememirror\";\nimport { baseEditorExtensions, baseKeymap } from \"./constants.js\";\nimport {\n makeFocusHandler,\n makePasteHandler,\n makeUpdateHandler,\n} from \"./factories.js\";\nimport {\n useDocumentSync,\n useEditorCleanup,\n useEditorRefs,\n useHandlerReconfiguration,\n} from \"./hooks.js\";\n\ntype Props = {\n doc: string;\n readonly?: boolean;\n /* Updates the document in the model, should be wrapped in `useCallback` in the parent */\n updateDocumentInModel?: (newDoc: string) => void;\n};\n\nconst JSONEditor = memo(function JSONEditor(props: Props) {\n const { doc, readonly = false, updateDocumentInModel } = props;\n const {\n editorRef,\n viewRef,\n updateListenerCompartment,\n focusHandlerCompartment,\n pasteHandlerCompartment,\n timeoutRef,\n } = useEditorRefs();\n const { theme } = useTheme();\n const themeCompartment = useRef(new Compartment());\n\n useEffect(() => {\n if (!viewRef.current) {\n viewRef.current = new EditorView({\n state: EditorState.create({\n doc,\n extensions: [\n ...baseEditorExtensions,\n keymap.of(baseKeymap),\n themeCompartment.current.of(theme === \"light\" ? ayuLight : dracula),\n jsonLanguage,\n json(),\n linter(jsonParseLinter()),\n updateListenerCompartment.current.of(\n makeUpdateHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n focusHandlerCompartment.current.of(\n makeFocusHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n pasteHandlerCompartment.current.of(\n makePasteHandler(readonly, timeoutRef, updateDocumentInModel),\n ),\n EditorState.readOnly.of(readonly),\n ],\n }),\n parent: editorRef.current!,\n });\n forceLinting(viewRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!viewRef.current) return;\n viewRef.current.dispatch({\n effects: themeCompartment.current.reconfigure(\n theme === \"light\" ? ayuLight : dracula,\n ),\n });\n }, [theme]);\n\n useEditorCleanup(viewRef);\n\n useHandlerReconfiguration(\n viewRef.current,\n readonly,\n timeoutRef,\n updateDocumentInModel,\n {\n updateListener: updateListenerCompartment.current,\n focusHandler: focusHandlerCompartment.current,\n pasteHandler: pasteHandlerCompartment.current,\n },\n );\n\n useDocumentSync(viewRef.current, doc);\n\n return <div ref={editorRef} />;\n});\n\nexport default JSONEditor;\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const Button = forwardRef((props, ref) => {
|
|
|
12
12
|
return /* @__PURE__ */ jsx("button", {
|
|
13
13
|
ref,
|
|
14
14
|
...rest,
|
|
15
|
-
className: twMerge("h-10 rounded-md border border-
|
|
15
|
+
className: twMerge("h-10 rounded-md border border-border bg-background px-4 py-2 text-sm font-medium whitespace-nowrap text-foreground transition-colors hover:hover-effect focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:disabled-effect", className)
|
|
16
16
|
});
|
|
17
17
|
});
|
|
18
18
|
//#endregion
|
|
@@ -64,13 +64,13 @@ function StateValidationErrorMessage({ error }) {
|
|
|
64
64
|
const Tabs = Root2;
|
|
65
65
|
const TabsList = React$1.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(List, {
|
|
66
66
|
ref,
|
|
67
|
-
className: twMerge("flex items-center justify-center rounded-xl bg-
|
|
67
|
+
className: twMerge("flex items-center justify-center rounded-xl bg-background p-1 shadow-inner", className),
|
|
68
68
|
...props
|
|
69
69
|
}));
|
|
70
70
|
TabsList.displayName = List.displayName;
|
|
71
71
|
const TabsTrigger = React$1.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(Trigger, {
|
|
72
72
|
ref,
|
|
73
|
-
className: twMerge("flex w-full items-center justify-center rounded-lg p-1 text-sm whitespace-nowrap text-
|
|
73
|
+
className: twMerge("flex w-full items-center justify-center rounded-lg p-1 text-sm whitespace-nowrap text-muted-foreground transition-all disabled:disabled-effect data-[state=active]:bg-accent data-[state=active]:text-foreground data-[state=active]:shadow-tab", className),
|
|
74
74
|
...props
|
|
75
75
|
}));
|
|
76
76
|
TabsTrigger.displayName = Trigger.displayName;
|
|
@@ -82,8 +82,8 @@ const TabsContent = React$1.forwardRef(({ className, ...props }, ref) => /* @__P
|
|
|
82
82
|
TabsContent.displayName = Content.displayName;
|
|
83
83
|
//#endregion
|
|
84
84
|
//#region editors/document-model-editor/components/state-schemas.tsx
|
|
85
|
-
const GraphqlEditor = lazy(() => import("./graphql-editor-
|
|
86
|
-
const JSONEditor = lazy(() => import("./json-editor-
|
|
85
|
+
const GraphqlEditor = lazy(() => import("./graphql-editor-DMG1SdS3.js"));
|
|
86
|
+
const JSONEditor = lazy(() => import("./json-editor-C9wagvps.js"));
|
|
87
87
|
function StateEditor({ modelName, stateSchema, initialValue, setStateSchema, setInitialState, scope }) {
|
|
88
88
|
const { sharedSchema: sharedSchemaSdl, error: sharedSchemaError } = useSchemaContext();
|
|
89
89
|
const [showStandardLib, setShowStandardLib] = useState(false);
|
|
@@ -159,7 +159,7 @@ function StateEditor({ modelName, stateSchema, initialValue, setStateSchema, set
|
|
|
159
159
|
className: "grid grid-cols-2 gap-4",
|
|
160
160
|
children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
161
161
|
/* @__PURE__ */ jsxs("h3", {
|
|
162
|
-
className: "mb-2 text-lg text-
|
|
162
|
+
className: "mb-2 text-lg text-foreground capitalize",
|
|
163
163
|
children: [scope, " state schema *"]
|
|
164
164
|
}),
|
|
165
165
|
/* @__PURE__ */ jsxs(Button, {
|
|
@@ -193,17 +193,17 @@ function StateEditor({ modelName, stateSchema, initialValue, setStateSchema, set
|
|
|
193
193
|
customLinter
|
|
194
194
|
}),
|
|
195
195
|
schemaErrors.length > 0 && /* @__PURE__ */ jsx("p", {
|
|
196
|
-
className: "mt-2 text-sm text-
|
|
196
|
+
className: "mt-2 text-sm text-destructive",
|
|
197
197
|
children: schemaErrors[0].message
|
|
198
198
|
})
|
|
199
199
|
] })
|
|
200
200
|
] }), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
201
201
|
className: "flex flex-col items-end",
|
|
202
202
|
children: [/* @__PURE__ */ jsxs("h3", {
|
|
203
|
-
className: "mb-2 text-right text-lg text-
|
|
203
|
+
className: "mb-2 text-right text-lg text-foreground capitalize",
|
|
204
204
|
children: [scope, " state initial value *"]
|
|
205
205
|
}), /* @__PURE__ */ jsxs("label", {
|
|
206
|
-
className: "mb-2 flex w-fit items-center gap-2 rounded-md border border-
|
|
206
|
+
className: "mb-2 flex w-fit items-center gap-2 rounded-md border border-border bg-background p-2 text-sm font-medium whitespace-nowrap text-foreground transition-colors hover:hover-effect focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none",
|
|
207
207
|
children: [
|
|
208
208
|
/* @__PURE__ */ jsx("input", {
|
|
209
209
|
type: "checkbox",
|
|
@@ -233,7 +233,7 @@ function StateEditor({ modelName, stateSchema, initialValue, setStateSchema, set
|
|
|
233
233
|
doc: initialValue,
|
|
234
234
|
updateDocumentInModel: handleInitialStateUpdate
|
|
235
235
|
}), initialValueErrors.map((error, index) => /* @__PURE__ */ jsx("p", {
|
|
236
|
-
className: "mt-2 text-sm text-
|
|
236
|
+
className: "mt-2 text-sm text-destructive",
|
|
237
237
|
children: error instanceof StateValidationError ? /* @__PURE__ */ jsx(StateValidationErrorMessage, { error }) : error.message
|
|
238
238
|
}, index))] })] })]
|
|
239
239
|
});
|
|
@@ -284,7 +284,7 @@ function StateSchemas({ modelName, globalStateSchema, localStateSchema, globalSt
|
|
|
284
284
|
children: !localStateSchema ? /* @__PURE__ */ jsxs("div", {
|
|
285
285
|
className: "",
|
|
286
286
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
287
|
-
className: "mb-2 text-lg text-
|
|
287
|
+
className: "mb-2 text-lg text-foreground capitalize",
|
|
288
288
|
children: "local state schema *"
|
|
289
289
|
}), /* @__PURE__ */ jsx(Button, {
|
|
290
290
|
onClick: handleAddLocalState,
|
|
@@ -305,4 +305,4 @@ function StateSchemas({ modelName, globalStateSchema, localStateSchema, globalSt
|
|
|
305
305
|
//#endregion
|
|
306
306
|
export { StateSchemas as default };
|
|
307
307
|
|
|
308
|
-
//# sourceMappingURL=state-schemas-
|
|
308
|
+
//# sourceMappingURL=state-schemas-CDE7-WSq.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-schemas-CDE7-WSq.js","names":["TabsPrimitive.Root","React","TabsPrimitive.List","TabsPrimitive.Trigger","TabsPrimitive.Content"],"sources":["../../editors/document-model-editor/components/button.tsx","../../editors/document-model-editor/components/state-error.tsx","../../editors/document-model-editor/components/tabs.tsx","../../editors/document-model-editor/components/state-schemas.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from \"react\";\nimport { forwardRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = ComponentPropsWithRef<\"button\">;\n\nexport const Button = forwardRef<HTMLButtonElement, Props>((props, ref) => {\n const { className, ...rest } = props;\n return (\n <button\n ref={ref}\n {...rest}\n className={twMerge(\n \"h-10 rounded-md border border-border bg-background px-4 py-2 text-sm font-medium whitespace-nowrap text-foreground transition-colors hover:hover-effect focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:disabled-effect\",\n className,\n )}\n />\n );\n});\n","import type { StateValidationError } from \"../utils/helpers.js\";\n\nexport function StateValidationErrorMessage({\n error,\n}: {\n error: StateValidationError;\n}) {\n const { payload } = error;\n\n switch (payload.kind) {\n case \"MISSING\":\n return (\n <span>\n Field <strong>{payload.field}</strong> is missing.\n </span>\n );\n\n case \"MISSING_OPTIONAL\":\n return (\n <span>\n Optional field <strong>{payload.field}</strong> is not defined.\n </span>\n );\n\n case \"UNKNOWN_FIELD\":\n return (\n <span>\n Field <strong>{payload.field}</strong> is not a known field.\n </span>\n );\n\n case \"NON_NULL\":\n return (\n <span>\n Field <strong>{payload.field}</strong> cannot be null.\n </span>\n );\n\n case \"TYPE\":\n return (\n <span>\n Field <strong>{payload.field}</strong>\n {payload.expectedType ? (\n <>\n {\" \"}\n must be a{\" \"}\n <strong>{payload.expectedType.replace(/!/g, \"\")}</strong>.\n </>\n ) : (\n <> has an invalid value.</>\n )}\n </span>\n );\n\n case \"RECURSIVE_TYPE\":\n return (\n <span>\n Field <strong>{payload.typeName}</strong> has a recursive type. It\n must be optional.\n </span>\n );\n\n default:\n return <span>Invalid value.</span>;\n }\n}\n","import * as TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nconst Tabs = TabsPrimitive.Root;\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={twMerge(\n \"flex items-center justify-center rounded-xl bg-background p-1 shadow-inner\",\n className,\n )}\n {...props}\n />\n));\nTabsList.displayName = TabsPrimitive.List.displayName;\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={twMerge(\n \"flex w-full items-center justify-center rounded-lg p-1 text-sm whitespace-nowrap text-muted-foreground transition-all disabled:disabled-effect data-[state=active]:bg-accent data-[state=active]:text-foreground data-[state=active]:shadow-tab\",\n className,\n )}\n {...props}\n />\n));\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName;\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content ref={ref} className={className} {...props} />\n));\nTabsContent.displayName = TabsPrimitive.Content.displayName;\n\nexport { Tabs, TabsContent, TabsList, TabsTrigger };\n","import { twMerge } from \"tailwind-merge\";\nimport { Checkbox } from \"@powerhousedao/design-system/ui\";\nimport { Kind } from \"graphql\";\nimport {\n lazy,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { typeDefsDoc } from \"../constants/documents.js\";\nimport { safeParseSdl, useSchemaContext } from \"../context/schema-context.js\";\nimport type { Scope } from \"../types/documents.js\";\nimport {\n makeInitialSchemaDoc,\n makeMinimalObjectForStateType,\n makeStateSchemaNameForScope,\n StateValidationError,\n validateStateObject,\n} from \"../utils/helpers.js\";\nimport { ensureValidStateSchemaName } from \"../utils/linting.js\";\nimport { Button } from \"./button.js\";\nimport { StateValidationErrorMessage } from \"./state-error.js\";\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"./tabs.js\";\nconst GraphqlEditor = lazy(() => import(\"./code-editors/graphql-editor.js\"));\nconst JSONEditor = lazy(() => import(\"./code-editors/json-editor.js\"));\ntype Props = {\n modelName: string;\n globalStateSchema: string;\n localStateSchema: string;\n globalStateInitialValue: string;\n localStateInitialValue: string;\n setStateSchema: (doc: string, scope: Scope) => void;\n setInitialState: (doc: string, scope: Scope) => void;\n currentScope: Scope;\n onScopeChange: (scope: Scope) => void;\n};\n\ntype StateEditorProps = {\n modelName: string;\n stateSchema: string;\n initialValue: string;\n setStateSchema: (doc: string, scope: Scope) => void;\n setInitialState: (doc: string, scope: Scope) => void;\n scope: Scope;\n};\n\nfunction StateEditor({\n modelName,\n stateSchema,\n initialValue,\n setStateSchema,\n setInitialState,\n scope,\n}: StateEditorProps) {\n const { sharedSchema: sharedSchemaSdl, error: sharedSchemaError } =\n useSchemaContext();\n const [showStandardLib, setShowStandardLib] = useState(false);\n const [syncWithSchema, setSyncWithSchema] = useState(true);\n\n const customLinter = useCallback(\n (doc: string) => ensureValidStateSchemaName(doc, modelName, scope),\n [modelName, scope],\n );\n\n const schemaErrors = useMemo(() => {\n const errors = ensureValidStateSchemaName(stateSchema, modelName, scope);\n if (sharedSchemaError) {\n return [...errors, sharedSchemaError];\n }\n return errors;\n }, [stateSchema, modelName, scope, sharedSchemaError]);\n\n const handleToggleStandardLib = useCallback(() => {\n setShowStandardLib((prev) => !prev);\n }, []);\n\n const handleSchemaUpdate = useCallback(\n (newDoc: string) => setStateSchema(newDoc, scope),\n [setStateSchema, scope],\n );\n\n const handleInitialStateUpdate = useCallback(\n (newDoc: string) => setInitialState(newDoc, scope),\n [setInitialState, scope],\n );\n\n // Track if we've already synced to prevent double-calls in StrictMode\n const hasSyncedRef = useRef(false);\n\n const { initialValueErrors, fixedState } = useMemo(() => {\n const existingValue = initialValue || \"{}\";\n const sharedSchemaDocumentNode = safeParseSdl(sharedSchemaSdl);\n if (!sharedSchemaDocumentNode)\n return { initialValueErrors: [], fixedState: null };\n const stateTypeName = makeStateSchemaNameForScope(modelName, scope);\n if (!stateTypeName) return { initialValueErrors: [], fixedState: null };\n const stateTypeDefinitionNode = sharedSchemaDocumentNode.definitions.find(\n (def) =>\n def.kind === Kind.OBJECT_TYPE_DEFINITION &&\n def.name.value === stateTypeName,\n );\n if (\n !stateTypeDefinitionNode ||\n stateTypeDefinitionNode.kind !== Kind.OBJECT_TYPE_DEFINITION\n )\n return { initialValueErrors: [], fixedState: null };\n\n const errors = validateStateObject(\n sharedSchemaDocumentNode,\n stateTypeDefinitionNode,\n existingValue,\n );\n\n if (errors.length && syncWithSchema) {\n const computedFixedState = makeMinimalObjectForStateType({\n sharedSchemaDocumentNode,\n stateTypeDefinitionNode,\n existingValue,\n });\n if (initialValue !== computedFixedState) {\n return { initialValueErrors: [], fixedState: computedFixedState };\n }\n }\n return { initialValueErrors: errors, fixedState: null };\n }, [sharedSchemaSdl, initialValue, syncWithSchema, scope, modelName]);\n\n // Handle the side effect of syncing initial state separately\n useEffect(() => {\n if (fixedState && !hasSyncedRef.current) {\n hasSyncedRef.current = true;\n setInitialState(fixedState, scope);\n } else if (!fixedState) {\n // Reset the ref when there's no fix needed\n hasSyncedRef.current = false;\n }\n }, [fixedState, setInitialState, scope]);\n\n return (\n <div className=\"grid grid-cols-2 gap-4\">\n <div>\n <h3 className=\"mb-2 text-lg text-foreground capitalize\">\n {scope} state schema *\n </h3>\n <Button\n onClick={handleToggleStandardLib}\n className=\"mb-2 flex w-fit items-center gap-2\"\n >\n {showStandardLib ? \"Hide\" : \"Show\"} standard library\n <svg\n className={twMerge(\n \"inline-block transition-transform\",\n showStandardLib ? \"rotate-180\" : \"rotate-0\",\n )}\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path\n d=\"M11.9883 6.01172C11.4363 6.01172 10.9883 6.45972 10.9883 7.01172V13.0117H6.98828L11.9883 18.0117L16.9883 13.0117H12.9883V7.01172C12.9883 6.45972 12.5403 6.01172 11.9883 6.01172Z\"\n fill=\"currentColor\"\n />\n </svg>\n </Button>\n <Suspense>\n {showStandardLib && <GraphqlEditor doc={typeDefsDoc} readonly />}\n <GraphqlEditor\n doc={stateSchema}\n updateDocumentInModel={handleSchemaUpdate}\n customLinter={customLinter}\n />\n {schemaErrors.length > 0 && (\n <p className=\"mt-2 text-sm text-destructive\">\n {schemaErrors[0].message}\n </p>\n )}\n </Suspense>\n </div>\n <div>\n <div className=\"flex flex-col items-end\">\n <h3 className=\"mb-2 text-right text-lg text-foreground capitalize\">\n {scope} state initial value *\n </h3>\n <label className=\"mb-2 flex w-fit items-center gap-2 rounded-md border border-border bg-background p-2 text-sm font-medium whitespace-nowrap text-foreground transition-colors hover:hover-effect focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none\">\n <input\n type=\"checkbox\"\n className=\"\"\n value={syncWithSchema.toString()}\n onChange={(e) => {\n setSyncWithSchema(\n e.currentTarget.value === \"true\" ? true : false,\n );\n }}\n />\n Sync with schema{\" \"}\n <svg\n className=\"inline-block\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n >\n <path\n d=\"M8.00521 1.99219C6.63588 1.99219 5.32788 2.45152 4.27588 3.28419C3.98721 3.51219 3.94321 3.93285 4.17188 4.22151C4.40054 4.51018 4.82055 4.55418 5.10921 4.32552C5.92721 3.67819 6.93921 3.32552 8.00521 3.32552C10.5825 3.32552 12.6719 5.41485 12.6719 7.99218H11.3385L13.3385 10.6588L15.3385 7.99218H14.0052C14.0052 4.67818 11.3192 1.99219 8.00521 1.99219ZM2.67188 5.32552L0.671875 7.99218H2.00521C2.00521 11.3062 4.69121 13.9922 8.00521 13.9922C9.37521 13.9922 10.6825 13.5335 11.7345 12.7002C12.0232 12.4722 12.0672 12.0515 11.8385 11.7628C11.6099 11.4742 11.1899 11.4302 10.9012 11.6588C10.0825 12.3068 9.07188 12.6588 8.00521 12.6588C5.42788 12.6588 3.33854 10.5695 3.33854 7.99218H4.67188L2.67188 5.32552Z\"\n fill=\"currentColor\"\n />\n </svg>\n </label>\n </div>\n <Suspense>\n <JSONEditor\n doc={initialValue}\n updateDocumentInModel={handleInitialStateUpdate}\n />\n {initialValueErrors.map((error, index) => (\n <p key={index} className=\"mt-2 text-sm text-destructive\">\n {error instanceof StateValidationError ? (\n <StateValidationErrorMessage error={error} />\n ) : (\n error.message\n )}\n </p>\n ))}\n </Suspense>\n </div>\n </div>\n );\n}\n\nexport default function StateSchemas({\n modelName,\n globalStateSchema,\n localStateSchema,\n globalStateInitialValue,\n localStateInitialValue,\n setStateSchema,\n setInitialState,\n currentScope,\n onScopeChange,\n}: Props) {\n const handleAddLocalState = useCallback(() => {\n const initialDoc = makeInitialSchemaDoc(modelName, \"local\");\n setStateSchema(initialDoc, \"local\");\n setInitialState(\"\", \"local\");\n }, [modelName, setStateSchema, setInitialState]);\n\n return (\n <Tabs\n className=\"pb-8\"\n activationMode=\"manual\"\n value={currentScope}\n onValueChange={(value) => onScopeChange(value as Scope)}\n >\n <div className=\"my-6\">\n <TabsList className=\"mx-auto flex max-w-sm\">\n <TabsTrigger value=\"global\">Global</TabsTrigger>\n <TabsTrigger value=\"local\">Local</TabsTrigger>\n </TabsList>\n </div>\n\n <TabsContent value=\"global\" tabIndex={-1}>\n <StateEditor\n modelName={modelName}\n stateSchema={globalStateSchema}\n initialValue={globalStateInitialValue}\n setStateSchema={setStateSchema}\n setInitialState={setInitialState}\n scope=\"global\"\n />\n </TabsContent>\n\n <TabsContent value=\"local\" tabIndex={-1}>\n {!localStateSchema ? (\n <div className=\"\">\n <h3 className=\"mb-2 text-lg text-foreground capitalize\">\n local state schema *\n </h3>\n <Button onClick={handleAddLocalState}>Add local state</Button>\n </div>\n ) : (\n <StateEditor\n modelName={modelName}\n stateSchema={localStateSchema}\n initialValue={localStateInitialValue}\n setStateSchema={setStateSchema}\n setInitialState={setInitialState}\n scope=\"local\"\n />\n )}\n </TabsContent>\n </Tabs>\n );\n}\n"],"mappings":"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"}
|