@powerhousedao/powerhouse-vetra-packages 6.0.0-dev.100

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 (256) hide show
  1. package/LICENSE +661 -0
  2. package/dist/document-models/document-models.d.ts +3 -0
  3. package/dist/document-models/document-models.d.ts.map +1 -0
  4. package/dist/document-models/document-models.js +2 -0
  5. package/dist/document-models/document-models.js.map +1 -0
  6. package/dist/editors/document-model-editor/components/button.d.ts +2 -0
  7. package/dist/editors/document-model-editor/components/button.d.ts.map +1 -0
  8. package/dist/editors/document-model-editor/components/button.js +8 -0
  9. package/dist/editors/document-model-editor/components/button.js.map +1 -0
  10. package/dist/editors/document-model-editor/components/code-editors/constants.d.ts +3 -0
  11. package/dist/editors/document-model-editor/components/code-editors/constants.d.ts.map +1 -0
  12. package/dist/editors/document-model-editor/components/code-editors/constants.js +38 -0
  13. package/dist/editors/document-model-editor/components/code-editors/constants.js.map +1 -0
  14. package/dist/editors/document-model-editor/components/code-editors/factories.d.ts +4 -0
  15. package/dist/editors/document-model-editor/components/code-editors/factories.d.ts.map +1 -0
  16. package/dist/editors/document-model-editor/components/code-editors/factories.js +47 -0
  17. package/dist/editors/document-model-editor/components/code-editors/factories.js.map +1 -0
  18. package/dist/editors/document-model-editor/components/code-editors/graphql-editor.d.ts +10 -0
  19. package/dist/editors/document-model-editor/components/code-editors/graphql-editor.d.ts.map +1 -0
  20. package/dist/editors/document-model-editor/components/code-editors/graphql-editor.js +73 -0
  21. package/dist/editors/document-model-editor/components/code-editors/graphql-editor.js.map +1 -0
  22. package/dist/editors/document-model-editor/components/code-editors/hooks.d.ts +23 -0
  23. package/dist/editors/document-model-editor/components/code-editors/hooks.d.ts.map +1 -0
  24. package/dist/editors/document-model-editor/components/code-editors/hooks.js +59 -0
  25. package/dist/editors/document-model-editor/components/code-editors/hooks.js.map +1 -0
  26. package/dist/editors/document-model-editor/components/code-editors/json-editor.d.ts +8 -0
  27. package/dist/editors/document-model-editor/components/code-editors/json-editor.d.ts.map +1 -0
  28. package/dist/editors/document-model-editor/components/code-editors/json-editor.js +47 -0
  29. package/dist/editors/document-model-editor/components/code-editors/json-editor.js.map +1 -0
  30. package/dist/editors/document-model-editor/components/code-editors/linting.d.ts +6 -0
  31. package/dist/editors/document-model-editor/components/code-editors/linting.d.ts.map +1 -0
  32. package/dist/editors/document-model-editor/components/code-editors/linting.js +59 -0
  33. package/dist/editors/document-model-editor/components/code-editors/linting.js.map +1 -0
  34. package/dist/editors/document-model-editor/components/divider.d.ts +8 -0
  35. package/dist/editors/document-model-editor/components/divider.d.ts.map +1 -0
  36. package/dist/editors/document-model-editor/components/divider.js +22 -0
  37. package/dist/editors/document-model-editor/components/divider.js.map +1 -0
  38. package/dist/editors/document-model-editor/components/errors.d.ts +6 -0
  39. package/dist/editors/document-model-editor/components/errors.d.ts.map +1 -0
  40. package/dist/editors/document-model-editor/components/errors.js +5 -0
  41. package/dist/editors/document-model-editor/components/errors.js.map +1 -0
  42. package/dist/editors/document-model-editor/components/form.d.ts +12 -0
  43. package/dist/editors/document-model-editor/components/form.d.ts.map +1 -0
  44. package/dist/editors/document-model-editor/components/form.js +43 -0
  45. package/dist/editors/document-model-editor/components/form.js.map +1 -0
  46. package/dist/editors/document-model-editor/components/input.d.ts +6 -0
  47. package/dist/editors/document-model-editor/components/input.d.ts.map +1 -0
  48. package/dist/editors/document-model-editor/components/input.js +9 -0
  49. package/dist/editors/document-model-editor/components/input.js.map +1 -0
  50. package/dist/editors/document-model-editor/components/label.d.ts +6 -0
  51. package/dist/editors/document-model-editor/components/label.d.ts.map +1 -0
  52. package/dist/editors/document-model-editor/components/label.js +10 -0
  53. package/dist/editors/document-model-editor/components/label.js.map +1 -0
  54. package/dist/editors/document-model-editor/components/model-metadata-form.d.ts +31 -0
  55. package/dist/editors/document-model-editor/components/model-metadata-form.d.ts.map +1 -0
  56. package/dist/editors/document-model-editor/components/model-metadata-form.js +70 -0
  57. package/dist/editors/document-model-editor/components/model-metadata-form.js.map +1 -0
  58. package/dist/editors/document-model-editor/components/module-form.d.ts +10 -0
  59. package/dist/editors/document-model-editor/components/module-form.d.ts.map +1 -0
  60. package/dist/editors/document-model-editor/components/module-form.js +22 -0
  61. package/dist/editors/document-model-editor/components/module-form.js.map +1 -0
  62. package/dist/editors/document-model-editor/components/module.d.ts +22 -0
  63. package/dist/editors/document-model-editor/components/module.d.ts.map +1 -0
  64. package/dist/editors/document-model-editor/components/module.js +10 -0
  65. package/dist/editors/document-model-editor/components/module.js.map +1 -0
  66. package/dist/editors/document-model-editor/components/modules.d.ts +20 -0
  67. package/dist/editors/document-model-editor/components/modules.d.ts.map +1 -0
  68. package/dist/editors/document-model-editor/components/modules.js +17 -0
  69. package/dist/editors/document-model-editor/components/modules.js.map +1 -0
  70. package/dist/editors/document-model-editor/components/operation-description-form.d.ts +9 -0
  71. package/dist/editors/document-model-editor/components/operation-description-form.d.ts.map +1 -0
  72. package/dist/editors/document-model-editor/components/operation-description-form.js +13 -0
  73. package/dist/editors/document-model-editor/components/operation-description-form.js.map +1 -0
  74. package/dist/editors/document-model-editor/components/operation-error-form.d.ts +13 -0
  75. package/dist/editors/document-model-editor/components/operation-error-form.d.ts.map +1 -0
  76. package/dist/editors/document-model-editor/components/operation-error-form.js +40 -0
  77. package/dist/editors/document-model-editor/components/operation-error-form.js.map +1 -0
  78. package/dist/editors/document-model-editor/components/operation-errors.d.ts +10 -0
  79. package/dist/editors/document-model-editor/components/operation-errors.d.ts.map +1 -0
  80. package/dist/editors/document-model-editor/components/operation-errors.js +17 -0
  81. package/dist/editors/document-model-editor/components/operation-errors.js.map +1 -0
  82. package/dist/editors/document-model-editor/components/operation-form.d.ts +13 -0
  83. package/dist/editors/document-model-editor/components/operation-form.d.ts.map +1 -0
  84. package/dist/editors/document-model-editor/components/operation-form.js +37 -0
  85. package/dist/editors/document-model-editor/components/operation-form.js.map +1 -0
  86. package/dist/editors/document-model-editor/components/operation.d.ts +23 -0
  87. package/dist/editors/document-model-editor/components/operation.d.ts.map +1 -0
  88. package/dist/editors/document-model-editor/components/operation.js +25 -0
  89. package/dist/editors/document-model-editor/components/operation.js.map +1 -0
  90. package/dist/editors/document-model-editor/components/operations.d.ts +18 -0
  91. package/dist/editors/document-model-editor/components/operations.d.ts.map +1 -0
  92. package/dist/editors/document-model-editor/components/operations.js +20 -0
  93. package/dist/editors/document-model-editor/components/operations.js.map +1 -0
  94. package/dist/editors/document-model-editor/components/state-error.d.ts +5 -0
  95. package/dist/editors/document-model-editor/components/state-error.d.ts.map +1 -0
  96. package/dist/editors/document-model-editor/components/state-error.js +21 -0
  97. package/dist/editors/document-model-editor/components/state-error.js.map +1 -0
  98. package/dist/editors/document-model-editor/components/state-schemas.d.ts +15 -0
  99. package/dist/editors/document-model-editor/components/state-schemas.d.ts.map +1 -0
  100. package/dist/editors/document-model-editor/components/state-schemas.js +81 -0
  101. package/dist/editors/document-model-editor/components/state-schemas.js.map +1 -0
  102. package/dist/editors/document-model-editor/components/tabs.d.ts +8 -0
  103. package/dist/editors/document-model-editor/components/tabs.d.ts.map +1 -0
  104. package/dist/editors/document-model-editor/components/tabs.js +13 -0
  105. package/dist/editors/document-model-editor/components/tabs.js.map +1 -0
  106. package/dist/editors/document-model-editor/components/text-area.d.ts +9 -0
  107. package/dist/editors/document-model-editor/components/text-area.d.ts.map +1 -0
  108. package/dist/editors/document-model-editor/components/text-area.js +27 -0
  109. package/dist/editors/document-model-editor/components/text-area.js.map +1 -0
  110. package/dist/editors/document-model-editor/components/text-field.d.ts +21 -0
  111. package/dist/editors/document-model-editor/components/text-field.d.ts.map +1 -0
  112. package/dist/editors/document-model-editor/components/text-field.js +80 -0
  113. package/dist/editors/document-model-editor/components/text-field.js.map +1 -0
  114. package/dist/editors/document-model-editor/config.d.ts +3 -0
  115. package/dist/editors/document-model-editor/config.d.ts.map +1 -0
  116. package/dist/editors/document-model-editor/config.js +4 -0
  117. package/dist/editors/document-model-editor/config.js.map +1 -0
  118. package/dist/editors/document-model-editor/constants/documents.d.ts +13 -0
  119. package/dist/editors/document-model-editor/constants/documents.d.ts.map +1 -0
  120. package/dist/editors/document-model-editor/constants/documents.js +18 -0
  121. package/dist/editors/document-model-editor/constants/documents.js.map +1 -0
  122. package/dist/editors/document-model-editor/constants/graphql-kinds.d.ts +9 -0
  123. package/dist/editors/document-model-editor/constants/graphql-kinds.d.ts.map +1 -0
  124. package/dist/editors/document-model-editor/constants/graphql-kinds.js +13 -0
  125. package/dist/editors/document-model-editor/constants/graphql-kinds.js.map +1 -0
  126. package/dist/editors/document-model-editor/context/form-context.d.ts +11 -0
  127. package/dist/editors/document-model-editor/context/form-context.d.ts.map +1 -0
  128. package/dist/editors/document-model-editor/context/form-context.js +4 -0
  129. package/dist/editors/document-model-editor/context/form-context.js.map +1 -0
  130. package/dist/editors/document-model-editor/context/schema-context.d.ts +18 -0
  131. package/dist/editors/document-model-editor/context/schema-context.d.ts.map +1 -0
  132. package/dist/editors/document-model-editor/context/schema-context.js +129 -0
  133. package/dist/editors/document-model-editor/context/schema-context.js.map +1 -0
  134. package/dist/editors/document-model-editor/editor.d.ts +2 -0
  135. package/dist/editors/document-model-editor/editor.d.ts.map +1 -0
  136. package/dist/editors/document-model-editor/editor.js +217 -0
  137. package/dist/editors/document-model-editor/editor.js.map +1 -0
  138. package/dist/editors/document-model-editor/hooks/index.d.ts +3 -0
  139. package/dist/editors/document-model-editor/hooks/index.d.ts.map +1 -0
  140. package/dist/editors/document-model-editor/hooks/index.js +3 -0
  141. package/dist/editors/document-model-editor/hooks/index.js.map +1 -0
  142. package/dist/editors/document-model-editor/hooks/useDocumentModelDocument.d.ts +5 -0
  143. package/dist/editors/document-model-editor/hooks/useDocumentModelDocument.d.ts.map +1 -0
  144. package/dist/editors/document-model-editor/hooks/useDocumentModelDocument.js +8 -0
  145. package/dist/editors/document-model-editor/hooks/useDocumentModelDocument.js.map +1 -0
  146. package/dist/editors/document-model-editor/hooks/useFormField.d.ts +13 -0
  147. package/dist/editors/document-model-editor/hooks/useFormField.d.ts.map +1 -0
  148. package/dist/editors/document-model-editor/hooks/useFormField.js +22 -0
  149. package/dist/editors/document-model-editor/hooks/useFormField.js.map +1 -0
  150. package/dist/editors/document-model-editor/index.d.ts +2 -0
  151. package/dist/editors/document-model-editor/index.d.ts.map +1 -0
  152. package/dist/editors/document-model-editor/index.js +2 -0
  153. package/dist/editors/document-model-editor/index.js.map +1 -0
  154. package/dist/editors/document-model-editor/module.d.ts +3 -0
  155. package/dist/editors/document-model-editor/module.d.ts.map +1 -0
  156. package/dist/editors/document-model-editor/module.js +10 -0
  157. package/dist/editors/document-model-editor/module.js.map +1 -0
  158. package/dist/editors/document-model-editor/schemas/inputs.d.ts +31 -0
  159. package/dist/editors/document-model-editor/schemas/inputs.d.ts.map +1 -0
  160. package/dist/editors/document-model-editor/schemas/inputs.js +71 -0
  161. package/dist/editors/document-model-editor/schemas/inputs.js.map +1 -0
  162. package/dist/editors/document-model-editor/schemas/utils.d.ts +3 -0
  163. package/dist/editors/document-model-editor/schemas/utils.d.ts.map +1 -0
  164. package/dist/editors/document-model-editor/schemas/utils.js +3 -0
  165. package/dist/editors/document-model-editor/schemas/utils.js.map +1 -0
  166. package/dist/editors/document-model-editor/types/documents.d.ts +26 -0
  167. package/dist/editors/document-model-editor/types/documents.d.ts.map +1 -0
  168. package/dist/editors/document-model-editor/types/documents.js +2 -0
  169. package/dist/editors/document-model-editor/types/documents.js.map +1 -0
  170. package/dist/editors/document-model-editor/types.d.ts +2 -0
  171. package/dist/editors/document-model-editor/types.d.ts.map +1 -0
  172. package/dist/editors/document-model-editor/types.js +2 -0
  173. package/dist/editors/document-model-editor/types.js.map +1 -0
  174. package/dist/editors/document-model-editor/utils/helpers.d.ts +112 -0
  175. package/dist/editors/document-model-editor/utils/helpers.d.ts.map +1 -0
  176. package/dist/editors/document-model-editor/utils/helpers.js +920 -0
  177. package/dist/editors/document-model-editor/utils/helpers.js.map +1 -0
  178. package/dist/editors/document-model-editor/utils/helpers.test.d.ts +2 -0
  179. package/dist/editors/document-model-editor/utils/helpers.test.d.ts.map +1 -0
  180. package/dist/editors/document-model-editor/utils/helpers.test.js +805 -0
  181. package/dist/editors/document-model-editor/utils/helpers.test.js.map +1 -0
  182. package/dist/editors/document-model-editor/utils/linting.d.ts +7 -0
  183. package/dist/editors/document-model-editor/utils/linting.d.ts.map +1 -0
  184. package/dist/editors/document-model-editor/utils/linting.js +49 -0
  185. package/dist/editors/document-model-editor/utils/linting.js.map +1 -0
  186. package/dist/editors/document-model-editor/utils/style.d.ts +3 -0
  187. package/dist/editors/document-model-editor/utils/style.d.ts.map +1 -0
  188. package/dist/editors/document-model-editor/utils/style.js +6 -0
  189. package/dist/editors/document-model-editor/utils/style.js.map +1 -0
  190. package/dist/editors/editors.d.ts +3 -0
  191. package/dist/editors/editors.d.ts.map +1 -0
  192. package/dist/editors/editors.js +7 -0
  193. package/dist/editors/editors.js.map +1 -0
  194. package/dist/editors/generic-drive-explorer/components/create-document.d.ts +2 -0
  195. package/dist/editors/generic-drive-explorer/components/create-document.d.ts.map +1 -0
  196. package/dist/editors/generic-drive-explorer/components/create-document.js +19 -0
  197. package/dist/editors/generic-drive-explorer/components/create-document.js.map +1 -0
  198. package/dist/editors/generic-drive-explorer/components/file-content-view.d.ts +2 -0
  199. package/dist/editors/generic-drive-explorer/components/file-content-view.d.ts.map +1 -0
  200. package/dist/editors/generic-drive-explorer/components/file-content-view.js +77 -0
  201. package/dist/editors/generic-drive-explorer/components/file-content-view.js.map +1 -0
  202. package/dist/editors/generic-drive-explorer/components/folder-view.d.ts +5 -0
  203. package/dist/editors/generic-drive-explorer/components/folder-view.d.ts.map +1 -0
  204. package/dist/editors/generic-drive-explorer/components/folder-view.js +19 -0
  205. package/dist/editors/generic-drive-explorer/components/folder-view.js.map +1 -0
  206. package/dist/editors/generic-drive-explorer/components/index.d.ts +6 -0
  207. package/dist/editors/generic-drive-explorer/components/index.d.ts.map +1 -0
  208. package/dist/editors/generic-drive-explorer/components/index.js +6 -0
  209. package/dist/editors/generic-drive-explorer/components/index.js.map +1 -0
  210. package/dist/editors/generic-drive-explorer/components/layout.d.ts +12 -0
  211. package/dist/editors/generic-drive-explorer/components/layout.d.ts.map +1 -0
  212. package/dist/editors/generic-drive-explorer/components/layout.js +21 -0
  213. package/dist/editors/generic-drive-explorer/components/layout.js.map +1 -0
  214. package/dist/editors/generic-drive-explorer/components/search-bar.d.ts +2 -0
  215. package/dist/editors/generic-drive-explorer/components/search-bar.d.ts.map +1 -0
  216. package/dist/editors/generic-drive-explorer/components/search-bar.js +38 -0
  217. package/dist/editors/generic-drive-explorer/components/search-bar.js.map +1 -0
  218. package/dist/editors/generic-drive-explorer/config.d.ts +3 -0
  219. package/dist/editors/generic-drive-explorer/config.d.ts.map +1 -0
  220. package/dist/editors/generic-drive-explorer/config.js +5 -0
  221. package/dist/editors/generic-drive-explorer/config.js.map +1 -0
  222. package/dist/editors/generic-drive-explorer/editor.d.ts +3 -0
  223. package/dist/editors/generic-drive-explorer/editor.d.ts.map +1 -0
  224. package/dist/editors/generic-drive-explorer/editor.js +16 -0
  225. package/dist/editors/generic-drive-explorer/editor.js.map +1 -0
  226. package/dist/editors/generic-drive-explorer/index.d.ts +3 -0
  227. package/dist/editors/generic-drive-explorer/index.d.ts.map +1 -0
  228. package/dist/editors/generic-drive-explorer/index.js +3 -0
  229. package/dist/editors/generic-drive-explorer/index.js.map +1 -0
  230. package/dist/editors/generic-drive-explorer/module.d.ts +3 -0
  231. package/dist/editors/generic-drive-explorer/module.d.ts.map +1 -0
  232. package/dist/editors/generic-drive-explorer/module.js +10 -0
  233. package/dist/editors/generic-drive-explorer/module.js.map +1 -0
  234. package/dist/editors/generic-drive-explorer/utils/cn.d.ts +3 -0
  235. package/dist/editors/generic-drive-explorer/utils/cn.d.ts.map +1 -0
  236. package/dist/editors/generic-drive-explorer/utils/cn.js +6 -0
  237. package/dist/editors/generic-drive-explorer/utils/cn.js.map +1 -0
  238. package/dist/editors/generic-drive-explorer/utils/index.d.ts +3 -0
  239. package/dist/editors/generic-drive-explorer/utils/index.d.ts.map +1 -0
  240. package/dist/editors/generic-drive-explorer/utils/index.js +3 -0
  241. package/dist/editors/generic-drive-explorer/utils/index.js.map +1 -0
  242. package/dist/editors/generic-drive-explorer/utils/types.d.ts +8 -0
  243. package/dist/editors/generic-drive-explorer/utils/types.d.ts.map +1 -0
  244. package/dist/editors/generic-drive-explorer/utils/types.js +2 -0
  245. package/dist/editors/generic-drive-explorer/utils/types.js.map +1 -0
  246. package/dist/editors/index.d.ts +3 -0
  247. package/dist/editors/index.d.ts.map +1 -0
  248. package/dist/editors/index.js +3 -0
  249. package/dist/editors/index.js.map +1 -0
  250. package/dist/editors/style.css +909 -0
  251. package/dist/index.d.ts +3 -0
  252. package/dist/index.d.ts.map +1 -0
  253. package/dist/index.js +3 -0
  254. package/dist/index.js.map +1 -0
  255. package/dist/tsconfig.tsbuildinfo +1 -0
  256. package/package.json +93 -0
@@ -0,0 +1,129 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createDefaultRules } from "@graphql-tools/utils";
3
+ import { buildASTSchema, buildSchema, Kind, parse, printSchema, validate, } from "graphql";
4
+ import { createContext, useContext, useEffect, useState } from "react";
5
+ import { hiddenQueryTypeDefDoc, initialSchema, initialSchemaStr, typeDefsDoc, } from "../constants/documents.js";
6
+ /* Required to make the schema "count" as an actual schema */
7
+ const hiddenQueryTypeDefinitions = safeParseSdl(hiddenQueryTypeDefDoc)?.definitions ?? [];
8
+ /* Scalar definitions from the Powerhouse standard library */
9
+ const standardLibCustomScalarDefinitions = safeParseSdl(typeDefsDoc)?.definitions ?? [];
10
+ /* These are always included when updating the shared schema, because they do not change */
11
+ const alwaysIncludedDefinitions = [
12
+ ...hiddenQueryTypeDefinitions,
13
+ ...standardLibCustomScalarDefinitions,
14
+ ];
15
+ /* We use almost all of the standard graphql rules, but not the ExecutableDefinitionsRule because our schemas are not intended to be executed */
16
+ const rules = createDefaultRules().filter((rule) => rule.name !== "ExecutableDefinitionsRule");
17
+ /*
18
+ Makes one SDL string from all of the definitions in the state and operation schemas
19
+ */
20
+ function makeSharedSchemaSdl(existingSchemaSdl, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl) {
21
+ const existingSchema = buildSchema(existingSchemaSdl);
22
+ const sdls = [
23
+ globalStateSchemaSdl,
24
+ localStateSchemaSdl,
25
+ operationSchemasSdl,
26
+ ].filter(Boolean);
27
+ const asts = sdls
28
+ .map((sdl) => (sdl ? safeParseSdl(sdl) : null))
29
+ .filter((ast) => ast !== null);
30
+ const documentNode = makeSafeDocumentNode(existingSchema, asts);
31
+ const schemaSdl = printSchema(buildASTSchema(documentNode));
32
+ return schemaSdl;
33
+ }
34
+ /*
35
+ Combines all of the definitions in the state and operation schemas into one document node
36
+ Uses try catch to prevent errors from breaking the editor
37
+ */
38
+ function makeSafeDocumentNode(schema, asts) {
39
+ try {
40
+ const definitions = [...alwaysIncludedDefinitions];
41
+ for (const ast of asts) {
42
+ for (const definition of ast.definitions) {
43
+ const definitionDocumentNode = {
44
+ kind: Kind.DOCUMENT,
45
+ definitions: [definition],
46
+ };
47
+ if (safeValidateAst(schema, definitionDocumentNode)) {
48
+ definitions.push(definition);
49
+ }
50
+ }
51
+ }
52
+ const documentNode = {
53
+ kind: Kind.DOCUMENT,
54
+ definitions,
55
+ };
56
+ return documentNode;
57
+ }
58
+ catch (error) {
59
+ console.debug("in make safe document node", error);
60
+ return {
61
+ kind: Kind.DOCUMENT,
62
+ definitions: alwaysIncludedDefinitions,
63
+ };
64
+ }
65
+ }
66
+ /*
67
+ Validates an ast against the schema
68
+ Uses try catch to prevent errors from breaking the editor
69
+ */
70
+ function safeValidateAst(schema, ast) {
71
+ try {
72
+ const errors = validate(schema, ast, rules);
73
+ return !errors.length;
74
+ }
75
+ catch (error) {
76
+ console.debug("in safe validate", error);
77
+ return false;
78
+ }
79
+ }
80
+ /*
81
+ Parses an SDL string into an ast
82
+ Uses try catch abd checks if the SDL is a valid document string to prevent errors from breaking the editor
83
+ */
84
+ export function safeParseSdl(sdl) {
85
+ try {
86
+ if (!sdl)
87
+ return null;
88
+ return parse(sdl);
89
+ }
90
+ catch (error) {
91
+ return null;
92
+ }
93
+ }
94
+ export const SchemaContext = createContext({
95
+ sharedSchema: initialSchemaStr,
96
+ error: undefined,
97
+ });
98
+ export function parseSharedSchemaSdl(initialSchema, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl) {
99
+ try {
100
+ return {
101
+ sharedSchema: makeSharedSchemaSdl(initialSchema, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl),
102
+ error: undefined,
103
+ };
104
+ }
105
+ catch (error) {
106
+ return {
107
+ sharedSchema: initialSchema,
108
+ error: error instanceof Error
109
+ ? error
110
+ : new Error(typeof error === "string" ? error : JSON.stringify(error), { cause: error }),
111
+ };
112
+ }
113
+ }
114
+ /*
115
+ Provides the shared schema to the editor
116
+ We use the sdl string form to make memoization easier
117
+ */
118
+ export function SchemaContextProvider(props) {
119
+ const { children, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl, } = props;
120
+ const [sharedSchemaSdl, setSharedSchemaSdl] = useState(() => parseSharedSchemaSdl(printSchema(initialSchema), globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl));
121
+ useEffect(() => {
122
+ setSharedSchemaSdl((prev) => parseSharedSchemaSdl(prev.sharedSchema, globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl));
123
+ }, [globalStateSchemaSdl, localStateSchemaSdl, operationSchemasSdl]);
124
+ return (_jsx(SchemaContext.Provider, { value: sharedSchemaSdl, children: children }));
125
+ }
126
+ export function useSchemaContext() {
127
+ return useContext(SchemaContext);
128
+ }
129
+ //# sourceMappingURL=schema-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-context.js","sourceRoot":"","sources":["../../../../editors/document-model-editor/context/schema-context.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function Editor(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=editor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../../editors/document-model-editor/editor.tsx"],"names":[],"mappings":"AA4CA,MAAM,CAAC,OAAO,UAAU,MAAM,4CA0V7B"}
@@ -0,0 +1,217 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { DocumentToolbar } from "@powerhousedao/design-system/connect";
3
+ import { usePHToast, useSetPHDocumentEditorConfig, } from "@powerhousedao/reactor-browser";
4
+ import { pascalCase } from "change-case";
5
+ import { addModule, addOperation, addOperationError, deleteModule, deleteOperation, deleteOperationError, setAuthorName, setAuthorWebsite, setInitialState, setModelDescription, setModelExtension, setModelId, setModelName, setModuleName, setOperationDescription, setOperationErrorName, setOperationName, setOperationSchema, setStateSchema, } from "document-model";
6
+ import { generateId } from "document-model/core";
7
+ import { lazy, Suspense, useEffect, useRef, useState } from "react";
8
+ import { Divider } from "./components/divider.js";
9
+ import ModelMetadata from "./components/model-metadata-form.js";
10
+ import Modules from "./components/modules.js";
11
+ import { editorConfig } from "./config.js";
12
+ import { SchemaContextProvider } from "./context/schema-context.js";
13
+ import { useSelectedDocumentModelDocument } from "./hooks/useDocumentModelDocument.js";
14
+ import { compareStringsWithoutWhitespace, initializeModelSchema, makeEmptyOperationSchema, makeOperationInitialDoc, } from "./utils/helpers.js";
15
+ const StateSchemas = lazy(() => import("./components/state-schemas.js"));
16
+ export default function Editor() {
17
+ useSetPHDocumentEditorConfig(editorConfig);
18
+ const toast = usePHToast();
19
+ const [document, dispatch] = useSelectedDocumentModelDocument();
20
+ const [scope, setScope] = useState("global");
21
+ const documentNodeName = document.header.name;
22
+ const { name: modelName, id: documentType, extension, description, author: { name: authorName, website: authorWebsite }, } = document.state.global;
23
+ const { state: { global: { schema: globalStateSchema, initialValue: globalStateInitialValue, }, local: { schema: localStateSchema, initialValue: localStateInitialValue }, }, modules, } = document.state.global.specifications[0];
24
+ const operations = modules.flatMap((module) => module.operations);
25
+ const shouldSetInitialName = useRef(!modelName && !!documentNodeName && operations.length === 0);
26
+ useEffect(() => {
27
+ if (!shouldSetInitialName.current || !documentNodeName)
28
+ return;
29
+ const initialSchemaDoc = initializeModelSchema(documentNodeName);
30
+ const actions = [
31
+ setModelName({ name: documentNodeName }),
32
+ setStateSchema({ schema: initialSchemaDoc, scope: "global" }),
33
+ ];
34
+ dispatch(actions);
35
+ shouldSetInitialName.current = false;
36
+ }, [documentNodeName, dispatch]);
37
+ const operationSchemasSdl = operations
38
+ .flatMap((operation) => operation.schema ?? [])
39
+ .join("\n");
40
+ const handleSetModelId = (id) => {
41
+ if (compareStringsWithoutWhitespace(id, documentType))
42
+ return;
43
+ dispatch([setModelId({ id })]);
44
+ };
45
+ const handleSetModelDescription = (newDescription) => {
46
+ if (compareStringsWithoutWhitespace(newDescription, description))
47
+ return;
48
+ dispatch(setModelDescription({ description: newDescription }));
49
+ };
50
+ const handleSetModelExtension = (newExtension) => {
51
+ if (compareStringsWithoutWhitespace(newExtension, extension))
52
+ return;
53
+ dispatch(setModelExtension({ extension: newExtension }));
54
+ };
55
+ const handleSetModelName = (newName) => {
56
+ if (compareStringsWithoutWhitespace(newName, modelName))
57
+ return;
58
+ dispatch(setModelName({ name: newName }));
59
+ };
60
+ const handleSetAuthorName = (newAuthorName) => {
61
+ if (compareStringsWithoutWhitespace(newAuthorName, authorName))
62
+ return;
63
+ dispatch(setAuthorName({ authorName: newAuthorName }));
64
+ };
65
+ const handleSetAuthorWebsite = (newAuthorWebsite) => {
66
+ if (compareStringsWithoutWhitespace(newAuthorWebsite, authorWebsite ?? ""))
67
+ return;
68
+ dispatch(setAuthorWebsite({ authorWebsite: newAuthorWebsite }));
69
+ };
70
+ const handleSetStateSchema = (newSchema, scope) => {
71
+ const oldSchema = scope === "global" ? globalStateSchema : localStateSchema;
72
+ if (compareStringsWithoutWhitespace(newSchema, oldSchema))
73
+ return;
74
+ dispatch(setStateSchema({ schema: newSchema, scope }));
75
+ };
76
+ const handleSetInitialState = (newInitialValue, scope) => {
77
+ const oldInitialValue = scope === "global" ? globalStateInitialValue : localStateInitialValue;
78
+ if (compareStringsWithoutWhitespace(newInitialValue, oldInitialValue))
79
+ return;
80
+ dispatch(setInitialState({ initialValue: newInitialValue, scope }));
81
+ };
82
+ const handleAddModule = (name) => {
83
+ return new Promise((resolve) => {
84
+ try {
85
+ if (modules.some((module) => compareStringsWithoutWhitespace(module.name, name))) {
86
+ resolve(undefined);
87
+ return;
88
+ }
89
+ const id = generateId();
90
+ dispatch(addModule({ id, name }));
91
+ resolve(id);
92
+ }
93
+ catch (error) {
94
+ console.error("Failed to add module:", error);
95
+ resolve(undefined);
96
+ }
97
+ });
98
+ };
99
+ const handleSetModuleName = (id, name) => {
100
+ if (modules.some((module) => compareStringsWithoutWhitespace(module.name, name)))
101
+ return;
102
+ dispatch(setModuleName({ id, name }));
103
+ };
104
+ const handleDeleteModule = (id) => {
105
+ dispatch(deleteModule({ id }));
106
+ };
107
+ const handleAddOperation = (moduleId, name) => {
108
+ return new Promise((resolve) => {
109
+ const id = generateId();
110
+ dispatch(addOperation({ id, moduleId, name, scope }), (errors) => {
111
+ if (errors.length > 0) {
112
+ if (toast) {
113
+ toast(errors[0].message, { type: "connect-warning" });
114
+ }
115
+ resolve(undefined);
116
+ }
117
+ else {
118
+ resolve(id);
119
+ }
120
+ }, () => resolve(id));
121
+ });
122
+ };
123
+ const handleSetOperationName = (id, name) => {
124
+ dispatch(setOperationName({ id, name }), (errors) => {
125
+ if (errors.length > 0 && toast) {
126
+ toast(errors[0].message, { type: "connect-warning" });
127
+ }
128
+ });
129
+ };
130
+ const handleSetOperationSchema = (id, newSchema) => {
131
+ const operation = operations.find((operation) => operation.id === id);
132
+ if (operation?.schema &&
133
+ compareStringsWithoutWhitespace(newSchema, operation.schema))
134
+ return;
135
+ dispatch(setOperationSchema({ id, schema: newSchema }));
136
+ };
137
+ const handleToggleNoInputRequired = (id, noInputRequired) => {
138
+ const operation = operations.find((op) => op.id === id);
139
+ if (!operation?.name)
140
+ return;
141
+ if (noInputRequired) {
142
+ dispatch(setOperationSchema({
143
+ id,
144
+ schema: makeEmptyOperationSchema(operation.name),
145
+ }));
146
+ }
147
+ else {
148
+ dispatch(setOperationSchema({
149
+ id,
150
+ schema: makeOperationInitialDoc(operation.name),
151
+ }));
152
+ }
153
+ };
154
+ const handleSetOperationDescription = (id, newDescription) => {
155
+ const operationDescription = operations.find((operation) => operation.id === id)?.description ?? "";
156
+ if (compareStringsWithoutWhitespace(operationDescription, newDescription))
157
+ return;
158
+ dispatch(setOperationDescription({ id, description: newDescription }));
159
+ };
160
+ const handleDeleteOperation = (id) => {
161
+ dispatch(deleteOperation({ id }));
162
+ };
163
+ const handleAddOperationError = (operationId, errorName) => {
164
+ return new Promise((resolve) => {
165
+ try {
166
+ const operation = operations.find((operation) => operation.id === operationId);
167
+ const operationErrorNames = operation?.errors.map((error) => error.name).filter(Boolean) ?? [];
168
+ if (operationErrorNames.some((name) => compareStringsWithoutWhitespace(name, errorName))) {
169
+ resolve(undefined);
170
+ return;
171
+ }
172
+ const id = generateId();
173
+ const errorCode = pascalCase(errorName);
174
+ dispatch(addOperationError({ id, operationId, errorName, errorCode }));
175
+ resolve(id);
176
+ }
177
+ catch (error) {
178
+ console.error("Failed to add operation error:", error);
179
+ resolve(undefined);
180
+ }
181
+ });
182
+ };
183
+ const handleDeleteOperationError = (id) => {
184
+ dispatch(deleteOperationError({ id }));
185
+ };
186
+ const handleSetOperationErrorName = (operationId, errorId, errorName) => {
187
+ const operation = operations.find((operation) => operation.id === operationId);
188
+ const operationErrorNames = operation?.errors.map((error) => error.name).filter(Boolean) ?? [];
189
+ if (operationErrorNames.some((name) => compareStringsWithoutWhitespace(name, errorName)))
190
+ return;
191
+ dispatch(setOperationErrorName({ id: errorId, errorName }));
192
+ };
193
+ const addOperationAndInitialSchema = async (moduleId, name) => {
194
+ try {
195
+ const id = await handleAddOperation(moduleId, name);
196
+ if (!id)
197
+ return undefined;
198
+ try {
199
+ handleSetOperationSchema(id, makeOperationInitialDoc(name));
200
+ return id;
201
+ }
202
+ catch (error) {
203
+ console.error("Failed to update operation schema:", error);
204
+ return undefined;
205
+ }
206
+ }
207
+ catch (error) {
208
+ console.error("Failed to add operation and schema:", error);
209
+ return undefined;
210
+ }
211
+ };
212
+ return (_jsxs("main", { className: "min-h-dvh bg-gray-50 p-6", children: [_jsx(DocumentToolbar, {}), _jsx(SchemaContextProvider, { globalStateSchemaSdl: globalStateSchema, localStateSchemaSdl: localStateSchema, operationSchemasSdl: operationSchemasSdl, children: _jsxs("div", { className: "mx-auto max-w-6xl px-4 pt-8", children: [_jsx(ModelMetadata, { name: modelName, documentType: documentType, extension: extension, description: description, authorName: authorName, authorWebsite: authorWebsite ?? "", globalStateSchema: globalStateSchema, localStateSchema: localStateSchema, setModelId: handleSetModelId, setModelDescription: handleSetModelDescription, setModelExtension: handleSetModelExtension, setModelName: handleSetModelName, setAuthorName: handleSetAuthorName, setAuthorWebsite: handleSetAuthorWebsite, setStateSchema: handleSetStateSchema }), _jsx(Divider, {}), _jsxs("div", { children: [_jsx(Suspense, { children: _jsx(StateSchemas, { modelName: modelName, globalStateSchema: globalStateSchema, globalStateInitialValue: globalStateInitialValue, localStateSchema: localStateSchema, localStateInitialValue: localStateInitialValue, setStateSchema: handleSetStateSchema, setInitialState: handleSetInitialState, currentScope: scope, onScopeChange: setScope }) }), _jsx(Divider, {}), _jsxs("h3", { className: "mb-6 text-lg capitalize", children: [scope, " Operations"] }), _jsx(Modules, { modules: modules.map((module) => ({
213
+ ...module,
214
+ operations: module.operations.filter((op) => op.scope === scope),
215
+ })), allOperations: operations, addModule: handleAddModule, updateModuleName: handleSetModuleName, deleteModule: handleDeleteModule, updateOperationName: handleSetOperationName, updateOperationSchema: handleSetOperationSchema, setOperationDescription: handleSetOperationDescription, deleteOperation: handleDeleteOperation, addOperationError: handleAddOperationError, deleteOperationError: handleDeleteOperationError, setOperationErrorName: handleSetOperationErrorName, addOperationAndInitialSchema: addOperationAndInitialSchema, toggleNoInputRequired: handleToggleNoInputRequired })] })] }) })] }));
216
+ }
217
+ //# sourceMappingURL=editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../editors/document-model-editor/editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./useDocumentModelDocument.js";
2
+ export * from "./useFormField.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../editors/document-model-editor/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./useDocumentModelDocument.js";
2
+ export * from "./useFormField.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../editors/document-model-editor/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { useDocumentOfType, useSelectedDocumentOfType } from "@powerhousedao/reactor-browser";
2
+ import type { DocumentModelAction, DocumentModelDocument } from "document-model";
3
+ export declare function useDocumentModelDocument(documentId: string | undefined | null): ReturnType<typeof useDocumentOfType<DocumentModelDocument, DocumentModelAction>>;
4
+ export declare function useSelectedDocumentModelDocument(): ReturnType<typeof useSelectedDocumentOfType<DocumentModelDocument, DocumentModelAction>>;
5
+ //# sourceMappingURL=useDocumentModelDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentModelDocument.d.ts","sourceRoot":"","sources":["../../../../editors/document-model-editor/hooks/useDocumentModelDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EAC1B,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GACpC,UAAU,CACX,OAAO,iBAAiB,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CACrE,CAKA;AAED,wBAAgB,gCAAgC,IAAI,UAAU,CAC5D,OAAO,yBAAyB,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAC7E,CAIA"}
@@ -0,0 +1,8 @@
1
+ import { useDocumentOfType, useSelectedDocumentOfType, } from "@powerhousedao/reactor-browser";
2
+ export function useDocumentModelDocument(documentId) {
3
+ return useDocumentOfType(documentId, "powerhouse/document-model");
4
+ }
5
+ export function useSelectedDocumentModelDocument() {
6
+ return useSelectedDocumentOfType("powerhouse/document-model");
7
+ }
8
+ //# sourceMappingURL=useDocumentModelDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentModelDocument.js","sourceRoot":"","sources":["../../../../editors/document-model-editor/hooks/useDocumentModelDocument.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,gCAAgC,CAAC;AAMxC,MAAM,UAAU,wBAAwB,CACtC,UAAqC;IAIrC,OAAO,iBAAiB,CACtB,UAAU,EACV,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gCAAgC;IAG9C,OAAO,yBAAyB,CAC9B,2BAA2B,CAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const useFormField: () => {
2
+ invalid: boolean;
3
+ isDirty: boolean;
4
+ isTouched: boolean;
5
+ isValidating: boolean;
6
+ error?: import("react-hook-form").FieldError;
7
+ id: string;
8
+ name: string;
9
+ formItemId: string;
10
+ formDescriptionId: string;
11
+ formMessageId: string;
12
+ };
13
+ //# sourceMappingURL=useFormField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormField.d.ts","sourceRoot":"","sources":["../../../../editors/document-model-editor/hooks/useFormField.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;;;;;;;;CAqBxB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { useFormContext } from "react-hook-form";
3
+ import { FormFieldContext, FormItemContext } from "../context/form-context.js";
4
+ export const useFormField = () => {
5
+ const fieldContext = React.useContext(FormFieldContext);
6
+ const itemContext = React.useContext(FormItemContext);
7
+ const { getFieldState, formState } = useFormContext();
8
+ const fieldState = getFieldState(fieldContext.name, formState);
9
+ if (!fieldContext) {
10
+ throw new Error("useFormField should be used within <FormField>");
11
+ }
12
+ const { id } = itemContext;
13
+ return {
14
+ id,
15
+ name: fieldContext.name,
16
+ formItemId: `${id}-form-item`,
17
+ formDescriptionId: `${id}-form-item-description`,
18
+ formMessageId: `${id}-form-item-message`,
19
+ ...fieldState,
20
+ };
21
+ };
22
+ //# sourceMappingURL=useFormField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFormField.js","sourceRoot":"","sources":["../../../../editors/document-model-editor/hooks/useFormField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE/E,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IACtD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEtD,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAE/D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,CAAC;IAE3B,OAAO;QACL,EAAE;QACF,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,UAAU,EAAE,GAAG,EAAE,YAAY;QAC7B,iBAAiB,EAAE,GAAG,EAAE,wBAAwB;QAChD,aAAa,EAAE,GAAG,EAAE,oBAAoB;QACxC,GAAG,UAAU;KACd,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../editors/document-model-editor/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../editors/document-model-editor/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ import type { EditorModule } from "document-model";
2
+ export declare const DocumentModelEditor: EditorModule;
3
+ //# sourceMappingURL=module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../editors/document-model-editor/module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,eAAO,MAAM,mBAAmB,EAAE,YAOjC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { lazy } from "react";
2
+ export const DocumentModelEditor = {
3
+ config: {
4
+ id: "document-model-editor-v2",
5
+ name: "Document Model Editor",
6
+ },
7
+ documentTypes: ["powerhouse/document-model"],
8
+ Component: lazy(() => import("./editor.js")),
9
+ };
10
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../editors/document-model-editor/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAE7B,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C,MAAM,EAAE;QACN,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,uBAAuB;KAC9B;IACD,aAAa,EAAE,CAAC,2BAA2B,CAAC;IAC5C,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;CAC7C,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { z } from "zod/v3";
2
+ export declare function containsSpaces(s: string): boolean;
3
+ export declare function replaceSpaces(s: string): string;
4
+ type SchemaOptions = {
5
+ required?: boolean;
6
+ allowEmpty?: boolean;
7
+ unique?: string[];
8
+ };
9
+ export declare function createNameSchema(options?: SchemaOptions): z.ZodString | z.ZodEffects<z.ZodString, string, string> | z.ZodOptional<z.ZodString> | z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
10
+ export declare function createConstantCaseSchema(options?: SchemaOptions): z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, string | undefined, string | undefined> | z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, string | undefined, string | undefined>, string | undefined, string | undefined> | z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string | undefined, string>, string | undefined, string> | z.ZodEffects<z.ZodEffects<z.ZodString, string | undefined, string>, string | undefined, string>;
11
+ export declare function createLowercaseSnakeCaseSchema(options?: SchemaOptions): z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, string | undefined, string | undefined> | z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>, string | undefined, string | undefined>, string | undefined, string | undefined> | z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string | undefined, string>, string | undefined, string> | z.ZodEffects<z.ZodEffects<z.ZodString, string | undefined, string>, string | undefined, string>;
12
+ export declare function toLowercaseSnakeCase(value: string, options?: SchemaOptions): LowercaseSnakeCase;
13
+ export declare function toConstantCase(value: string, options?: SchemaOptions): ConstantCase;
14
+ export type SnakeCase = `${string}_${string}`;
15
+ export type LowercaseSnakeCase = Lowercase<SnakeCase>;
16
+ export type ConstantCase = Uppercase<SnakeCase>;
17
+ export type Prettify<T> = {
18
+ [K in keyof T]: T[K];
19
+ } & {};
20
+ export declare const AuthorSchema: z.ZodDefault<z.ZodObject<{
21
+ name: z.ZodString | z.ZodEffects<z.ZodString, string, string> | z.ZodOptional<z.ZodString> | z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
22
+ website: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodLiteral<"">]>>>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ website: string;
25
+ name?: string | undefined;
26
+ }, {
27
+ name?: string | undefined;
28
+ website?: string | undefined;
29
+ }>>;
30
+ export {};
31
+ //# sourceMappingURL=inputs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../../../editors/document-model-editor/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAM3B,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,WAEvC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,UAEtC;AAED,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,aAAkB,2KAkC3D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,GAAE,aAAkB,2iBAMnE;AAED,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,aAAkB,2iBAMzE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAItB,kBAAkB,CACxB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAGlE,YAAY,CAClB;AAED,MAAM,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;AAC9C,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;AAChD,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACrB,GAAG,EAAE,CAAC;AAEP,eAAO,MAAM,YAAY;;;;;;;;;GAWrB,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { z } from "zod/v3";
2
+ import validator from "validator";
3
+ import { snakeCase, constantCase } from "change-case";
4
+ const whitespaceRegex = /\s+/g;
5
+ export function containsSpaces(s) {
6
+ return whitespaceRegex.test(s);
7
+ }
8
+ export function replaceSpaces(s) {
9
+ return s.replace(whitespaceRegex, "_");
10
+ }
11
+ export function createNameSchema(options = {}) {
12
+ const { required = false, allowEmpty = false, unique = [] } = options;
13
+ const baseSchema = allowEmpty ? z.string() : z.string().min(1);
14
+ const uniqueRefinement = baseSchema.refine((value) => {
15
+ if (!value && allowEmpty)
16
+ return true;
17
+ return !unique
18
+ .map((n) => n.toLowerCase())
19
+ .includes(value.replace(/^\s+|\s+$/g, "_").toLowerCase());
20
+ }, { message: "Item with this name already exists" });
21
+ if (!required) {
22
+ return unique.length > 0
23
+ ? z
24
+ .string()
25
+ .optional()
26
+ .refine((value) => {
27
+ if (value === undefined)
28
+ return true;
29
+ if (!value && allowEmpty)
30
+ return true;
31
+ return !unique
32
+ .map((n) => n.toLowerCase())
33
+ .includes(value.replace(/^\s+|\s+$/g, "_").toLowerCase());
34
+ }, { message: "Item with this name already exists" })
35
+ : z.string().optional();
36
+ }
37
+ return unique.length > 0 ? uniqueRefinement : baseSchema;
38
+ }
39
+ export function createConstantCaseSchema(options = {}) {
40
+ return createNameSchema(options)
41
+ .transform((value) => (value ? value.toUpperCase() : value))
42
+ .refine((value) => !value || validator.isUppercase(value), {
43
+ message: "Must be uppercase",
44
+ });
45
+ }
46
+ export function createLowercaseSnakeCaseSchema(options = {}) {
47
+ return createNameSchema(options)
48
+ .transform((value) => (value ? value.toLowerCase() : value))
49
+ .refine((value) => !value || validator.isLowercase(value), {
50
+ message: "Must be lowercase",
51
+ });
52
+ }
53
+ export function toLowercaseSnakeCase(value, options = {}) {
54
+ return createLowercaseSnakeCaseSchema(options).parse(snakeCase(value));
55
+ }
56
+ export function toConstantCase(value, options = {}) {
57
+ return createConstantCaseSchema(options).parse(constantCase(value));
58
+ }
59
+ export const AuthorSchema = z
60
+ .object({
61
+ name: createNameSchema({ allowEmpty: true }),
62
+ website: z
63
+ .union([z.string().url(), z.literal("")])
64
+ .optional()
65
+ .default(""),
66
+ })
67
+ .default({
68
+ name: "",
69
+ website: "",
70
+ });
71
+ //# sourceMappingURL=inputs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../../../editors/document-model-editor/schemas/inputs.ts"],"names":[],"mappings":"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"}