@powerhousedao/codegen 5.0.0-staging.9 → 5.0.1-staging.10

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 (277) hide show
  1. package/README.md +0 -1
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js +8 -10
  7. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/resolvers.esm.t +1 -1
  8. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/schema.esm.t +1 -1
  9. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/actions.esm.t +3 -3
  10. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/creators.esm.t +3 -2
  11. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/customUtils.esm.t +1 -1
  12. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-models.esm.t +14 -0
  13. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-schema.esm.t +56 -0
  14. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/document-type.esm.t +6 -0
  15. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModel.esm.t +3 -3
  16. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/documentModelTest.esm.t +110 -15
  17. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/hooks.esm.t +49 -0
  18. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.esm.t +12 -6
  19. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js +128 -54
  20. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/lib.esm.t +4 -2
  21. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/module.esm.t +22 -0
  22. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/ph-factories.esm.t +29 -32
  23. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/reducer.esm.t +18 -10
  24. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/root-utils.esm.t +11 -0
  25. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootActions.esm.t +13 -0
  26. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/rootIndex.esm.t +6 -25
  27. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/schema.esm.t +2 -2
  28. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/src-index.esm.t +5 -0
  29. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/types.esm.t +21 -11
  30. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/utils.esm.t +59 -52
  31. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/creators.esm.t +11 -6
  32. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/customTest.esm.t +13 -18
  33. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js +67 -39
  34. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js +117 -21
  35. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/resolvers.esm.t +23 -12
  36. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/schema.esm.t +5 -10
  37. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/CreateDocument.esm.t +33 -39
  38. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveContents.esm.t +23 -0
  39. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/DriveExplorer.esm.t +10 -279
  40. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EmptyState.esm.t +19 -0
  41. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Files.esm.t +29 -0
  42. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/FolderTree.esm.t +92 -87
  43. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/Folders.esm.t +28 -0
  44. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/NavigationBreadcrumbs.esm.t +14 -0
  45. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/config.esm.t +11 -0
  46. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editor.esm.t +10 -35
  47. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/editors.esm.t +14 -0
  48. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js +29 -11
  49. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/lib.esm.t +4 -2
  50. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/module.esm.t +15 -0
  51. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/edit-name.esm.t +78 -0
  52. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editor.esm.t +9 -21
  53. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/editors.esm.t +14 -0
  54. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js +97 -16
  55. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/lib.esm.t +4 -2
  56. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/module.esm.t +16 -0
  57. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js +8 -10
  58. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/factory.esm.t +1 -1
  59. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.esm.t +3 -2
  60. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js +11 -15
  61. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.root.inject.esm.t +12 -0
  62. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/lib.esm.t +2 -2
  63. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/factory.esm.t +2 -2
  64. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.esm.t +3 -4
  65. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js +11 -15
  66. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.root.inject.esm.t +12 -0
  67. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/lib.esm.t +1 -1
  68. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/migrations.esm.t +1 -1
  69. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.esm.t +3 -3
  70. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js +9 -11
  71. package/dist/src/codegen/.hygen/templates/powerhouse/utils.js +43 -0
  72. package/dist/src/codegen/__tests__/config.d.ts +2 -0
  73. package/dist/src/codegen/__tests__/config.d.ts.map +1 -0
  74. package/dist/src/codegen/__tests__/config.js +2 -0
  75. package/dist/src/codegen/__tests__/config.js.map +1 -0
  76. package/dist/src/codegen/__tests__/constants.d.ts +16 -0
  77. package/dist/src/codegen/__tests__/constants.d.ts.map +1 -0
  78. package/dist/src/codegen/__tests__/constants.js +16 -0
  79. package/dist/src/codegen/__tests__/constants.js.map +1 -0
  80. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.d.ts +2 -0
  81. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.d.ts.map +1 -0
  82. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.js +9 -0
  83. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content-v3.js.map +1 -0
  84. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.d.ts +3 -0
  85. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.d.ts.map +1 -0
  86. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.js +33 -0
  87. package/dist/src/codegen/__tests__/fixtures/expected-reducer-content.js.map +1 -0
  88. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.d.ts +2 -0
  89. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.d.ts.map +1 -0
  90. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.js +23 -0
  91. package/dist/src/codegen/__tests__/fixtures/run-generated-tests.js.map +1 -0
  92. package/dist/src/codegen/__tests__/fixtures/typecheck.d.ts +2 -0
  93. package/dist/src/codegen/__tests__/fixtures/typecheck.d.ts.map +1 -0
  94. package/dist/src/codegen/__tests__/fixtures/typecheck.js +23 -0
  95. package/dist/src/codegen/__tests__/fixtures/typecheck.js.map +1 -0
  96. package/dist/src/codegen/__tests__/generate-doc-model.test.d.ts +2 -0
  97. package/dist/src/codegen/__tests__/generate-doc-model.test.d.ts.map +1 -0
  98. package/dist/src/codegen/__tests__/generate-doc-model.test.js +206 -0
  99. package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -0
  100. package/dist/src/codegen/__tests__/generate-drive-editor.test.d.ts +2 -0
  101. package/dist/src/codegen/__tests__/generate-drive-editor.test.d.ts.map +1 -0
  102. package/dist/src/codegen/__tests__/generate-drive-editor.test.js +153 -0
  103. package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -0
  104. package/dist/src/codegen/__tests__/generate-editor.test.d.ts +2 -0
  105. package/dist/src/codegen/__tests__/generate-editor.test.d.ts.map +1 -0
  106. package/dist/src/codegen/__tests__/generate-editor.test.js +94 -0
  107. package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -0
  108. package/dist/src/codegen/__tests__/generate-manifest.test.d.ts +2 -0
  109. package/dist/src/codegen/__tests__/generate-manifest.test.d.ts.map +1 -0
  110. package/dist/src/codegen/__tests__/generate-manifest.test.js +192 -0
  111. package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -0
  112. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +2 -0
  113. package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +1 -0
  114. package/dist/src/codegen/__tests__/generate-schemas.test.js +143 -0
  115. package/dist/src/codegen/__tests__/generate-schemas.test.js.map +1 -0
  116. package/dist/src/codegen/__tests__/global-setup.d.ts +2 -0
  117. package/dist/src/codegen/__tests__/global-setup.d.ts.map +1 -0
  118. package/dist/src/codegen/__tests__/global-setup.js +21 -0
  119. package/dist/src/codegen/__tests__/global-setup.js.map +1 -0
  120. package/dist/src/codegen/__tests__/ts-morph-generator.test.d.ts +2 -0
  121. package/dist/src/codegen/__tests__/ts-morph-generator.test.d.ts.map +1 -0
  122. package/dist/src/codegen/__tests__/ts-morph-generator.test.js +72 -0
  123. package/dist/src/codegen/__tests__/ts-morph-generator.test.js.map +1 -0
  124. package/dist/src/codegen/__tests__/utils.d.ts +7 -0
  125. package/dist/src/codegen/__tests__/utils.d.ts.map +1 -0
  126. package/dist/src/codegen/__tests__/utils.js +52 -0
  127. package/dist/src/codegen/__tests__/utils.js.map +1 -0
  128. package/dist/src/codegen/generate.d.ts +33 -0
  129. package/dist/src/codegen/generate.d.ts.map +1 -0
  130. package/dist/src/codegen/generate.js +205 -0
  131. package/dist/src/codegen/generate.js.map +1 -0
  132. package/dist/src/codegen/graphql.d.ts +2 -2
  133. package/dist/src/codegen/graphql.d.ts.map +1 -1
  134. package/dist/src/codegen/graphql.js.map +1 -1
  135. package/dist/src/codegen/hygen.d.ts +15 -12
  136. package/dist/src/codegen/hygen.d.ts.map +1 -1
  137. package/dist/src/codegen/hygen.js +72 -27
  138. package/dist/src/codegen/hygen.js.map +1 -1
  139. package/dist/src/codegen/index.d.ts +6 -34
  140. package/dist/src/codegen/index.d.ts.map +1 -1
  141. package/dist/src/codegen/index.js +6 -249
  142. package/dist/src/codegen/index.js.map +1 -1
  143. package/dist/src/codegen/types.d.ts +9 -0
  144. package/dist/src/codegen/types.d.ts.map +1 -0
  145. package/dist/src/codegen/types.js +2 -0
  146. package/dist/src/codegen/types.js.map +1 -0
  147. package/dist/src/codegen/utils.d.ts +5 -2
  148. package/dist/src/codegen/utils.d.ts.map +1 -1
  149. package/dist/src/codegen/utils.js +42 -4
  150. package/dist/src/codegen/utils.js.map +1 -1
  151. package/dist/src/create-lib/checkout-project.d.ts +13 -0
  152. package/dist/src/create-lib/checkout-project.d.ts.map +1 -0
  153. package/dist/src/create-lib/checkout-project.js +47 -0
  154. package/dist/src/create-lib/checkout-project.js.map +1 -0
  155. package/dist/src/create-lib/create-project.d.ts +9 -5
  156. package/dist/src/create-lib/create-project.d.ts.map +1 -1
  157. package/dist/src/create-lib/create-project.js +37 -30
  158. package/dist/src/create-lib/create-project.js.map +1 -1
  159. package/dist/src/create-lib/feature-flags.d.ts +4 -0
  160. package/dist/src/create-lib/feature-flags.d.ts.map +1 -0
  161. package/dist/src/create-lib/feature-flags.js +4 -0
  162. package/dist/src/create-lib/feature-flags.js.map +1 -0
  163. package/dist/src/create-lib/index.d.ts +1 -0
  164. package/dist/src/create-lib/index.d.ts.map +1 -1
  165. package/dist/src/create-lib/index.js +1 -0
  166. package/dist/src/create-lib/index.js.map +1 -1
  167. package/dist/src/{utils/package-manager.d.ts → create-lib/utils.d.ts} +3 -1
  168. package/dist/src/create-lib/utils.d.ts.map +1 -0
  169. package/dist/src/{utils/package-manager.js → create-lib/utils.js} +12 -1
  170. package/dist/src/create-lib/utils.js.map +1 -0
  171. package/dist/src/index.d.ts +5 -0
  172. package/dist/src/index.d.ts.map +1 -0
  173. package/dist/src/index.js +5 -0
  174. package/dist/src/index.js.map +1 -0
  175. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.d.ts +2 -0
  176. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.d.ts.map +1 -0
  177. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js +491 -0
  178. package/dist/src/ts-morph-generator/__tests__/ReducerGenerator.test.js.map +1 -0
  179. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts +5 -4
  180. package/dist/src/ts-morph-generator/core/FileGenerator.d.ts.map +1 -1
  181. package/dist/src/ts-morph-generator/core/FileGenerator.js +3 -1
  182. package/dist/src/ts-morph-generator/core/FileGenerator.js.map +1 -1
  183. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts +18 -9
  184. package/dist/src/ts-morph-generator/core/GenerationContext.d.ts.map +1 -1
  185. package/dist/src/ts-morph-generator/{file-generators → core}/ReducerGenerator.d.ts +2 -2
  186. package/dist/src/ts-morph-generator/core/ReducerGenerator.d.ts.map +1 -0
  187. package/dist/src/ts-morph-generator/{file-generators → core}/ReducerGenerator.js +17 -10
  188. package/dist/src/ts-morph-generator/core/ReducerGenerator.js.map +1 -0
  189. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts +4 -3
  190. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.d.ts.map +1 -1
  191. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js +9 -3
  192. package/dist/src/ts-morph-generator/core/TSMorphCodeGenerator.js.map +1 -1
  193. package/dist/src/ts-morph-generator/index.d.ts +2 -2
  194. package/dist/src/ts-morph-generator/index.d.ts.map +1 -1
  195. package/dist/src/ts-morph-generator/index.js +2 -2
  196. package/dist/src/ts-morph-generator/index.js.map +1 -1
  197. package/dist/src/ts-morph-generator/utilities/DeclarationManager.d.ts +5 -0
  198. package/dist/src/ts-morph-generator/utilities/DeclarationManager.d.ts.map +1 -0
  199. package/dist/src/ts-morph-generator/utilities/DeclarationManager.js +10 -0
  200. package/dist/src/ts-morph-generator/utilities/DeclarationManager.js.map +1 -0
  201. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts +2 -2
  202. package/dist/src/ts-morph-generator/utilities/DirectoryManager.d.ts.map +1 -1
  203. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts +2 -1
  204. package/dist/src/ts-morph-generator/utilities/ImportManager.d.ts.map +1 -1
  205. package/dist/src/ts-morph-generator/utilities/ImportManager.js +13 -3
  206. package/dist/src/ts-morph-generator/utilities/ImportManager.js.map +1 -1
  207. package/dist/src/ts-morph-generator/utilities/index.d.ts +1 -0
  208. package/dist/src/ts-morph-generator/utilities/index.d.ts.map +1 -1
  209. package/dist/src/ts-morph-generator/utilities/index.js +1 -0
  210. package/dist/src/ts-morph-generator/utilities/index.js.map +1 -1
  211. package/dist/src/utils/index.d.ts +0 -1
  212. package/dist/src/utils/index.d.ts.map +1 -1
  213. package/dist/src/utils/index.js +0 -1
  214. package/dist/src/utils/index.js.map +1 -1
  215. package/dist/src/utils/validation.d.ts +6 -6
  216. package/dist/src/utils/validation.d.ts.map +1 -1
  217. package/dist/src/utils/validation.js +5 -6
  218. package/dist/src/utils/validation.js.map +1 -1
  219. package/dist/tsconfig.tsbuildinfo +1 -0
  220. package/dist/vitest.config.d.ts +3 -0
  221. package/dist/vitest.config.d.ts.map +1 -0
  222. package/dist/vitest.config.js +16 -0
  223. package/dist/vitest.config.js.map +1 -0
  224. package/package.json +27 -35
  225. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts +0 -14
  226. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.d.ts.map +0 -1
  227. package/dist/src/codegen/.hygen/templates/powerhouse/generate-custom-subgraph/index.js.map +0 -1
  228. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts +0 -25
  229. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.d.ts.map +0 -1
  230. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/index.js.map +0 -1
  231. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/lib.inject_export.esm.t +0 -7
  232. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model/object.esm.t +0 -49
  233. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts +0 -27
  234. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.d.ts.map +0 -1
  235. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/index.js.map +0 -1
  236. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-module/object.esm.t +0 -32
  237. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts +0 -22
  238. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.d.ts.map +0 -1
  239. package/dist/src/codegen/.hygen/templates/powerhouse/generate-document-model-subgraph/index.js.map +0 -1
  240. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/components/EditorContainer.esm.t +0 -103
  241. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts +0 -16
  242. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.d.ts.map +0 -1
  243. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.esm.t +0 -19
  244. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/index.js.map +0 -1
  245. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/lib.inject_export.esm.t +0 -7
  246. package/dist/src/codegen/.hygen/templates/powerhouse/generate-drive-editor/types/css.d.esm.t +0 -8
  247. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts +0 -22
  248. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.d.ts.map +0 -1
  249. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.esm.t +0 -19
  250. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/index.js.map +0 -1
  251. package/dist/src/codegen/.hygen/templates/powerhouse/generate-editor/lib.inject_export.esm.t +0 -7
  252. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts +0 -14
  253. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.d.ts.map +0 -1
  254. package/dist/src/codegen/.hygen/templates/powerhouse/generate-import-script/index.js.map +0 -1
  255. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts +0 -20
  256. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.d.ts.map +0 -1
  257. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-analytics/index.js.map +0 -1
  258. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts +0 -20
  259. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.d.ts.map +0 -1
  260. package/dist/src/codegen/.hygen/templates/powerhouse/generate-processor-relationalDb/index.js.map +0 -1
  261. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts +0 -16
  262. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.d.ts.map +0 -1
  263. package/dist/src/codegen/.hygen/templates/powerhouse/generate-subgraph/index.js.map +0 -1
  264. package/dist/src/ts-morph-generator/core/index.d.ts +0 -4
  265. package/dist/src/ts-morph-generator/core/index.d.ts.map +0 -1
  266. package/dist/src/ts-morph-generator/core/index.js +0 -4
  267. package/dist/src/ts-morph-generator/core/index.js.map +0 -1
  268. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.d.ts.map +0 -1
  269. package/dist/src/ts-morph-generator/file-generators/ReducerGenerator.js.map +0 -1
  270. package/dist/src/ts-morph-generator/file-generators/index.d.ts +0 -2
  271. package/dist/src/ts-morph-generator/file-generators/index.d.ts.map +0 -1
  272. package/dist/src/ts-morph-generator/file-generators/index.js +0 -2
  273. package/dist/src/ts-morph-generator/file-generators/index.js.map +0 -1
  274. package/dist/src/utils/package-manager.d.ts.map +0 -1
  275. package/dist/src/utils/package-manager.js.map +0 -1
  276. package/dist/tsconfig.hygen.tsbuildinfo +0 -1
  277. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -2,300 +2,31 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/DriveExplorer.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import {
6
- Breadcrumbs,
7
- CreateDocumentModal,
8
- FileItem,
9
- FolderItem,
10
- useBreadcrumbs,
11
- } from "@powerhousedao/design-system";
12
- import {
13
- addDocument,
14
- type DriveEditorProps,
15
- getSyncStatusSync,
16
- setSelectedNode,
17
- useAllFolderNodes,
18
- useDocumentModelModules,
19
- useDriveContext,
20
- useDriveSharingType,
21
- useEditorModules,
22
- useFileChildNodes,
23
- useFolderChildNodes,
24
- useSelectedDrive,
25
- useSelectedFolder,
26
- useSelectedNodePath,
27
- useUserPermissions,
28
- } from "@powerhousedao/reactor-browser";
29
- import type { DocumentModelModule } from "document-model";
30
- import { useCallback, useRef, useState } from "react";
31
- import { CreateDocument } from "./CreateDocument.js";
32
- import { EditorContainer } from "./EditorContainer.js";
5
+ import type { EditorProps } from "document-model";
33
6
  import { FolderTree } from "./FolderTree.js";
7
+ import { DriveContents } from "./DriveContents.js";
34
8
 
35
9
  /**
36
10
  * Main drive explorer component with sidebar navigation and content area.
37
11
  * Layout: Left sidebar (folder tree) + Right content area (files/folders + document editor)
38
12
  */
39
- export function DriveExplorer(props: DriveEditorProps) {
40
- // === DOCUMENT EDITOR STATE ===
41
- // Customize document opening/closing behavior here
42
- const [activeDocumentId, setActiveDocumentId] = useState<
43
- string | undefined
44
- >();
45
- const [openModal, setOpenModal] = useState(false);
46
- const selectedDocumentModel = useRef<DocumentModelModule | null>(null);
47
- const editorModules = useEditorModules();
48
- // === DRIVE CONTEXT HOOKS ===
49
- // Core drive operations and document models
50
- const {
51
- onAddFile,
52
- onAddFolder,
53
- onCopyNode,
54
- onDuplicateNode,
55
- onMoveNode,
56
- onRenameNode,
57
- showDeleteNodeModal,
58
- } = useDriveContext();
13
+ export function DriveExplorer({ children }: EditorProps) {
14
+ // if a document is selected then it's editor will be passed as children
15
+ const showDocumentEditor = !!children;
59
16
 
60
- const { isAllowedToCreateDocuments } = useUserPermissions();
61
- // === STATE MANAGEMENT HOOKS ===
62
- // Core state hooks for drive navigation
63
- const [selectedDrive] = useSelectedDrive(); // Currently selected drive
64
- const selectedFolder = useSelectedFolder(); // Currently selected folder
65
- const selectedNodePath = useSelectedNodePath();
66
- const sharingType = useDriveSharingType(selectedDrive?.header.id);
67
-
68
- // === NAVIGATION SETUP ===
69
- // Breadcrumbs for folder navigation
70
- const { breadcrumbs, onBreadcrumbSelected } = useBreadcrumbs({
71
- selectedNodePath,
72
- setSelectedNode,
73
- });
74
-
75
- const folderChildren = useFolderChildNodes();
76
- const fileChildren = useFileChildNodes();
77
-
78
- // All folders for the sidebar tree view
79
- const allFolders = useAllFolderNodes();
80
-
81
- // === EVENT HANDLERS ===
82
-
83
- // Handle folder creation with optional name parameter
84
- const handleCreateFolder = useCallback(
85
- async (folderName?: string) => {
86
- let name: string | undefined = folderName;
87
-
88
- // If no name provided, prompt for it (for manual folder creation)
89
- if (!name) {
90
- const promptResult = prompt("Enter folder name:");
91
- name = promptResult || undefined;
92
- }
93
-
94
- if (name?.trim()) {
95
- try {
96
- await onAddFolder(name.trim(), selectedFolder);
97
- } catch (error) {
98
- console.error("Failed to create folder:", error);
99
- }
100
- }
101
- },
102
- [onAddFolder, selectedFolder],
103
- );
104
-
105
- // Handle document creation from modal
106
- const onCreateDocument = useCallback(
107
- async (fileName: string) => {
108
- setOpenModal(false);
109
-
110
- const documentModel = selectedDocumentModel.current;
111
- if (!documentModel || !selectedDrive?.header.id) return;
112
-
113
- try {
114
- const node = await addDocument(
115
- selectedDrive.header.id,
116
- fileName,
117
- documentModel.documentModel.id,
118
- selectedFolder?.id,
119
- );
120
-
121
- selectedDocumentModel.current = null;
122
-
123
- if (node) {
124
- // Customize: Auto-open created document by uncommenting below
125
- // setActiveDocumentId(node.id);
126
- }
127
- } catch (error) {
128
- console.error("Failed to create document:", error);
129
- }
130
- },
131
- [addDocument, editorModules, selectedDrive?.header.id, selectedFolder?.id],
132
- );
133
-
134
- // === DOCUMENT EDITOR DATA ===
135
- // Filter available document types here if needed
136
- const documentModelModules = useDocumentModelModules();
137
-
138
- // Get active document and its editor components
139
- const activeDocument = activeDocumentId
140
- ? fileChildren.find((file) => file.id === activeDocumentId)
141
- : undefined;
142
-
143
- const documentModelModule = activeDocument
144
- ? documentModelModules?.find(
145
- (m) => m.documentModel.id === activeDocument.documentType,
146
- )
147
- : null;
148
-
149
- const editorModule = activeDocument
150
- ? editorModules?.find((e) =>
151
- e.documentTypes.includes(activeDocument.documentType),
152
- )
153
- : null;
154
-
155
- // === RENDER ===
156
17
  return (
157
18
  <div className="flex h-full">
158
- {/* === LEFT SIDEBAR: Folder Navigation === */}
159
- {/* Customize sidebar width by changing w-64 */}
160
- <div className="w-64 overflow-y-auto border-r border-gray-200 bg-white">
161
- <div className="p-4">
162
- {/* Customize sidebar title here */}
163
- <h2 className="mb-4 text-lg font-semibold text-gray-700">
164
- Drive Explorer
165
- </h2>
166
-
167
- {/* Folder tree navigation component */}
168
- <FolderTree folders={allFolders} onSelectNode={setSelectedNode} />
169
- </div>
170
- </div>
171
-
172
- {/* === RIGHT CONTENT AREA: Files/Folders or Document Editor === */}
19
+ <FolderTree />
173
20
  <div className="flex-1 overflow-y-auto p-4">
174
21
  {/* Conditional rendering: Document editor or folder contents */}
175
- {activeDocument && documentModelModule && editorModule ? (
176
- // Document editor view
177
- <EditorContainer handleClose={() => setActiveDocumentId(undefined)} />
22
+ {showDocumentEditor ? (
23
+ /* Document editor view */
24
+ children
178
25
  ) : (
179
26
  /* Folder contents view */
180
- <div className="space-y-6">
181
- {/* === HEADER SECTION === */}
182
- <div className="space-y-3">
183
- <div className="flex items-center justify-between">
184
- {/* Folder title */}
185
- <h2 className="text-lg font-semibold">
186
- {selectedFolder
187
- ? `Contents of "${selectedFolder.name}"`
188
- : "Root Contents"}
189
- </h2>
190
- {/* Customize: Add more action buttons here */}
191
- {isAllowedToCreateDocuments && (
192
- <button
193
- onClick={() => handleCreateFolder()}
194
- className="rounded bg-blue-500 px-3 py-1 text-sm text-white hover:bg-blue-600"
195
- >
196
- + New Folder
197
- </button>
198
- )}
199
- </div>
200
-
201
- {/* Navigation breadcrumbs */}
202
- {breadcrumbs.length > 1 && (
203
- <div className="border-b border-gray-200 pb-3">
204
- <Breadcrumbs
205
- breadcrumbs={breadcrumbs}
206
- createEnabled={isAllowedToCreateDocuments}
207
- onCreate={handleCreateFolder}
208
- onBreadcrumbSelected={onBreadcrumbSelected}
209
- />
210
- </div>
211
- )}
212
- </div>
213
-
214
- {/* === FOLDERS SECTION === */}
215
- {/* Customize grid layout by changing grid-cols-1 */}
216
- {folderChildren.length > 0 && (
217
- <div>
218
- <h3 className="mb-2 text-sm font-medium text-gray-500">
219
- 📁 Folders
220
- </h3>
221
- <div className="grid grid-cols-1 gap-2">
222
- {folderChildren.map((folderNode) => (
223
- <FolderItem
224
- key={folderNode.id}
225
- folderNode={folderNode}
226
- isAllowedToCreateDocuments={isAllowedToCreateDocuments}
227
- sharingType={sharingType || "LOCAL"}
228
- getSyncStatusSync={getSyncStatusSync}
229
- setSelectedNode={setSelectedNode}
230
- onAddFile={onAddFile}
231
- onCopyNode={onCopyNode}
232
- onMoveNode={onMoveNode}
233
- onRenameNode={onRenameNode}
234
- onDuplicateNode={onDuplicateNode}
235
- onAddFolder={onAddFolder}
236
- onAddAndSelectNewFolder={handleCreateFolder}
237
- showDeleteNodeModal={showDeleteNodeModal}
238
- />
239
- ))}
240
- </div>
241
- </div>
242
- )}
243
-
244
- {/* === FILES/DOCUMENTS SECTION === */}
245
- {/* Customize grid layout by changing grid-cols-1 */}
246
- {fileChildren.length > 0 && (
247
- <div>
248
- <h3 className="mb-2 text-sm font-medium text-gray-500">
249
- 📄 Documents
250
- </h3>
251
- <div className="grid grid-cols-1 gap-2">
252
- {fileChildren.map((fileNode) => (
253
- <FileItem
254
- key={fileNode.id}
255
- fileNode={fileNode}
256
- isAllowedToCreateDocuments={isAllowedToCreateDocuments}
257
- sharingType={sharingType || "LOCAL"}
258
- getSyncStatusSync={getSyncStatusSync}
259
- setSelectedNode={setSelectedNode}
260
- showDeleteNodeModal={showDeleteNodeModal}
261
- onRenameNode={onRenameNode}
262
- onDuplicateNode={onDuplicateNode}
263
- onAddFile={onAddFile}
264
- onCopyNode={onCopyNode}
265
- onMoveNode={onMoveNode}
266
- onAddFolder={onAddFolder}
267
- onAddAndSelectNewFolder={handleCreateFolder}
268
- />
269
- ))}
270
- </div>
271
- </div>
272
- )}
273
-
274
- {/* === EMPTY STATE === */}
275
- {/* Customize empty state message and styling here */}
276
- {folderChildren.length === 0 && fileChildren.length === 0 && (
277
- <div className="py-12 text-center text-gray-500">
278
- <p className="text-lg">📁 This folder is empty</p>
279
- <p className="mt-2 text-sm">
280
- Create your first document or folder below
281
- </p>
282
- </div>
283
- )}
284
-
285
- {/* === DOCUMENT CREATION SECTION === */}
286
- {/* Component for creating new documents */}
287
- <CreateDocument />
288
- </div>
27
+ <DriveContents />
289
28
  )}
290
29
  </div>
291
-
292
- {/* === DOCUMENT CREATION MODAL === */}
293
- {/* Modal for entering document name after selecting type */}
294
- <CreateDocumentModal
295
- onContinue={onCreateDocument}
296
- onOpenChange={(open) => setOpenModal(open)}
297
- open={openModal}
298
- />
299
30
  </div>
300
31
  );
301
32
  }
@@ -0,0 +1,19 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/EmptyState.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { useNodesInSelectedDriveOrFolder } from "@powerhousedao/reactor-browser";
6
+
7
+ /** Shows a message when the selected drive or folder is empty */
8
+ export function EmptyState() {
9
+ const nodes = useNodesInSelectedDriveOrFolder();
10
+ const hasNodes = nodes.length > 0;
11
+ if (hasNodes) return null;
12
+
13
+ return (
14
+ <div className="py-12 text-center text-gray-500">
15
+ <p className="text-lg">This folder is empty</p>
16
+ <p className="mt-2 text-sm">Create your first document or folder below</p>
17
+ </div>
18
+ );
19
+ }
@@ -0,0 +1,29 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/Files.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { FileItem } from "@powerhousedao/design-system/connect";
6
+ import {
7
+ useNodesInSelectedDriveOrFolder,
8
+ isFileNodeKind,
9
+ } from "@powerhousedao/reactor-browser";
10
+
11
+ /** Shows the files in the selected drive or folder */
12
+ export function Files() {
13
+ const nodes = useNodesInSelectedDriveOrFolder();
14
+ const fileNodes = nodes.filter((n) => isFileNodeKind(n));
15
+ const hasFiles = fileNodes.length > 0;
16
+
17
+ if (!hasFiles) return null;
18
+
19
+ return (
20
+ <div>
21
+ <h3 className="mb-2 text-sm font-semibold text-gray-600">Documents</h3>
22
+ <div className="flex flex-wrap gap-4">
23
+ {fileNodes.map((fileNode) => (
24
+ <FileItem key={fileNode.id} fileNode={fileNode} />
25
+ ))}
26
+ </div>
27
+ </div>
28
+ );
29
+ }
@@ -2,102 +2,107 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/FolderTree.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import type { FolderNode } from "document-drive";
6
- import { useState } from "react";
5
+ import {
6
+ Sidebar,
7
+ SidebarProvider,
8
+ type SidebarNode,
9
+ } from "@powerhousedao/document-engineering";
10
+ import {
11
+ setSelectedNode,
12
+ useNodesInSelectedDrive,
13
+ useSelectedDrive,
14
+ useSelectedNode,
15
+ } from "@powerhousedao/reactor-browser";
16
+ import type { Node } from "document-drive";
17
+ import { useMemo } from "react";
7
18
 
8
- interface FolderTreeProps {
9
- folders: FolderNode[];
10
- selectedNodeId?: string;
11
- onSelectNode: (nodeId: string | undefined) => void;
19
+ function buildSidebarNodes(
20
+ nodes: Node[],
21
+ parentId: string | null | undefined,
22
+ ): SidebarNode[] {
23
+ return nodes
24
+ .filter((n) => {
25
+ if (parentId == null) {
26
+ return n.parentFolder == null;
27
+ }
28
+ return n.parentFolder === parentId;
29
+ })
30
+ .map((node): SidebarNode => {
31
+ if (node.kind === "folder") {
32
+ return {
33
+ id: node.id,
34
+ title: node.name,
35
+ icon: "FolderClose" as const,
36
+ expandedIcon: "FolderOpen" as const,
37
+ children: buildSidebarNodes(nodes, node.id),
38
+ };
39
+ }
40
+ return {
41
+ id: node.id,
42
+ title: node.name,
43
+ icon: "File" as const,
44
+ };
45
+ });
46
+ }
47
+
48
+ function transformNodesToSidebarNodes(
49
+ nodes: Node[],
50
+ driveName: string,
51
+ ): SidebarNode[] {
52
+ return [
53
+ {
54
+ id: "root",
55
+ title: driveName,
56
+ icon: "Drive" as const,
57
+ children: buildSidebarNodes(nodes, null),
58
+ },
59
+ ];
12
60
  }
13
61
 
14
62
  /**
15
- * Hierarchical folder tree navigation component.
16
- * Displays folders in a tree structure with expand/collapse functionality.
63
+ * Hierarchical folder tree navigation component using Sidebar from document-engineering.
64
+ * Displays folders and files in a tree structure with expand/collapse functionality, search, and resize support.
17
65
  */
18
- export function FolderTree({
19
- folders,
20
- selectedNodeId,
21
- onSelectNode,
22
- }: FolderTreeProps) {
23
- // Track which folders are expanded
24
- const [expandedFolders, setExpandedFolders] = useState<Set<string>>(
25
- new Set(),
66
+ export function FolderTree() {
67
+ const [selectedDrive] = useSelectedDrive();
68
+ const nodes = useNodesInSelectedDrive();
69
+ const selectedNode = useSelectedNode();
70
+ const driveName = selectedDrive.header.name;
71
+ // Transform Node[] to hierarchical SidebarNode structure
72
+ const sidebarNodes = useMemo(
73
+ () => transformNodesToSidebarNodes(nodes || [], driveName),
74
+ [nodes, driveName],
26
75
  );
27
76
 
28
- // Toggle folder expansion state
29
- const toggleFolder = (folderId: string) => {
30
- setExpandedFolders((prev) => {
31
- const next = new Set(prev);
32
- if (next.has(folderId)) {
33
- next.delete(folderId);
34
- } else {
35
- next.add(folderId);
36
- }
37
- return next;
38
- });
39
- };
40
-
41
- // Recursive function to render folder tree structure
42
- const renderFolder = (folder: FolderNode, level = 0) => {
43
- const hasChildren = folders.some((f) => f.parentFolder === folder.id);
44
- const isExpanded = expandedFolders.has(folder.id);
45
- const isSelected = selectedNodeId === folder.id;
46
-
47
- return (
48
- <div key={folder.id}>
49
- <div
50
- className={`flex cursor-pointer items-center rounded px-2 py-1 text-sm hover:bg-gray-100 ${
51
- isSelected ? "bg-blue-100 text-blue-800" : ""
52
- }`}
53
- style={{ paddingLeft: `${level * 16 + 8}px` }} // Customize indentation here
54
- onClick={() => onSelectNode(folder.id)}
55
- >
56
- {/* Expand/collapse button for folders with children */}
57
- {hasChildren && (
58
- <button
59
- className="mr-1 flex h-4 w-4 items-center justify-center"
60
- onClick={(e) => {
61
- e.stopPropagation();
62
- toggleFolder(folder.id);
63
- }}
64
- >
65
- {isExpanded ? "▼" : "▶"} {/* Customize expand icons here */}
66
- </button>
67
- )}
68
- {!hasChildren && <div className="mr-1 w-5" />}
69
- {/* Customize folder icon and styling here */}
70
- <span>📁 {folder.name}</span>
71
- </div>
72
- {/* Recursively render child folders when expanded */}
73
- {isExpanded && hasChildren && (
74
- <div>
75
- {folders
76
- .filter((f) => f.parentFolder === folder.id)
77
- .map((child) => renderFolder(child, level + 1))}
78
- </div>
79
- )}
80
- </div>
81
- );
77
+ const handleActiveNodeChange = (node: SidebarNode) => {
78
+ // If root node is selected, pass undefined to match existing behavior
79
+ if (node.id === "root") {
80
+ setSelectedNode(undefined);
81
+ } else {
82
+ setSelectedNode(node.id);
83
+ }
82
84
  };
85
+ // Map selectedNodeId to activeNodeId (use "root" when undefined)
86
+ const activeNodeId =
87
+ !selectedNode || selectedNode.id === selectedDrive.header.id
88
+ ? "root"
89
+ : selectedNode.id;
83
90
 
84
91
  return (
85
- <div className="space-y-1">
86
- {/* Root Directory Option */}
87
- {/* Customize root folder appearance here */}
88
- <div
89
- className={`flex cursor-pointer items-center rounded px-2 py-1 text-sm hover:bg-gray-100 ${
90
- !selectedNodeId ? "bg-blue-100 text-blue-800" : ""
91
- }`}
92
- onClick={() => onSelectNode(undefined)}
93
- >
94
- <span>🏠 Root</span>
95
- </div>
96
-
97
- {/* Render top-level folders (no parent) */}
98
- {folders
99
- .filter((folder) => !folder.parentFolder)
100
- .map((folder) => renderFolder(folder))}
101
- </div>
92
+ <SidebarProvider nodes={sidebarNodes}>
93
+ <Sidebar
94
+ className="pt-1"
95
+ nodes={sidebarNodes}
96
+ activeNodeId={activeNodeId}
97
+ onActiveNodeChange={handleActiveNodeChange}
98
+ sidebarTitle="Drive Explorer"
99
+ showSearchBar={true}
100
+ resizable={true}
101
+ allowPinning={false}
102
+ showStatusFilter={false}
103
+ initialWidth={256}
104
+ defaultLevel={2}
105
+ />
106
+ </SidebarProvider>
102
107
  );
103
108
  }
@@ -0,0 +1,28 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/Folders.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { FolderItem } from "@powerhousedao/design-system/connect";
6
+ import {
7
+ useNodesInSelectedDriveOrFolder,
8
+ isFolderNodeKind,
9
+ } from "@powerhousedao/reactor-browser";
10
+
11
+ /** Shows the folders in the selected drive or folder */
12
+ export function Folders() {
13
+ const nodes = useNodesInSelectedDriveOrFolder();
14
+ const folderNodes = nodes.filter((n) => isFolderNodeKind(n));
15
+ const hasFolders = folderNodes.length > 0;
16
+ if (!hasFolders) return null;
17
+
18
+ return (
19
+ <div>
20
+ <h3 className="mb-2 text-sm font-bold text-gray-600">Folders</h3>
21
+ <div className="flex flex-wrap gap-4">
22
+ {folderNodes.map((folderNode) => (
23
+ <FolderItem key={folderNode.id} folderNode={folderNode} />
24
+ ))}
25
+ </div>
26
+ </div>
27
+ );
28
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/components/NavigationBreadcrumbs.tsx"
3
+ unless_exists: true
4
+ ---
5
+ import { Breadcrumbs } from "@powerhousedao/design-system/connect";
6
+
7
+ /** Shows the navigation breadcrumbs for the selected drive or folder */
8
+ export function NavigationBreadcrumbs() {
9
+ return (
10
+ <div className="border-b border-gray-200 pb-3 space-y-3">
11
+ <Breadcrumbs />
12
+ </div>
13
+ );
14
+ }
@@ -0,0 +1,11 @@
1
+ ---
2
+ to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/config.ts"
3
+ unless_exists: true
4
+ ---
5
+ import type { PHDriveEditorConfig } from "@powerhousedao/reactor-browser";
6
+
7
+ /** Editor config for the <%= pascalCaseDriveEditorName %> */
8
+ export const editorConfig: PHDriveEditorConfig = {
9
+ isDragAndDropEnabled: <%- isDragAndDropEnabled %>,
10
+ allowedDocumentTypes: <%- allowedDocumentTypes %>
11
+ };
@@ -2,42 +2,17 @@
2
2
  to: "<%= rootDir %>/<%= h.changeCase.param(name) %>/editor.tsx"
3
3
  unless_exists: true
4
4
  ---
5
- import { WagmiContext } from "@powerhousedao/design-system";
6
- import {
7
- AnalyticsProvider,
8
- DriveContextProvider,
9
- useAppConfig,
10
- type DriveEditorProps,
11
- } from "@powerhousedao/reactor-browser";
5
+ import { useSetPHDriveEditorConfig } from "@powerhousedao/reactor-browser";
6
+ import type { EditorProps } from "document-model";
12
7
  import { DriveExplorer } from "./components/DriveExplorer.js";
8
+ import { editorConfig } from "./config.js";
13
9
 
14
- /**
15
- * Base editor component that renders the drive explorer interface.
16
- * Customize document opening behavior and drive-level actions here.
17
- */
18
- export function BaseEditor(props: DriveEditorProps) {
19
- const { context, document } = props;
10
+ /** Editor component for the <%= pascalCaseDriveEditorName %> drive editor */
11
+ export default function Editor(props: EditorProps) {
12
+ // set the config for this drive editor
13
+ // you can update these configs in `./config.ts`
14
+ useSetPHDriveEditorConfig(editorConfig);
20
15
  return (
21
- <div className="new-drive-explorer" style={{ height: "100%" }}>
22
- <DriveExplorer document={document} context={context} />
23
- </div>
16
+ <DriveExplorer {...props} />
24
17
  );
25
- }
26
-
27
- /**
28
- * Main editor entry point with required providers.
29
- */
30
- export default function Editor(props: DriveEditorProps) {
31
- const appConfig = useAppConfig();
32
- const analyticsDatabaseName = appConfig?.analyticsDatabaseName;
33
- return (
34
- // Required context providers for drive functionality
35
- <DriveContextProvider value={props.context}>
36
- <WagmiContext>
37
- <AnalyticsProvider databaseName={analyticsDatabaseName}>
38
- <BaseEditor {...props} />
39
- </AnalyticsProvider>
40
- </WagmiContext>
41
- </DriveContextProvider>
42
- );
43
- }
18
+ }
@@ -0,0 +1,14 @@
1
+ ---
2
+ force: true
3
+ to: "<%= rootDir %>/editors.ts"
4
+ ---
5
+ import type { EditorModule } from "document-model";
6
+ <% moduleExports.forEach(me => { _%>
7
+ import { <%= me.pascalCaseName %> } from "./<%= me.paramCaseName %>/module.js";
8
+ <% }); _%>
9
+
10
+ export const editors: EditorModule[] = [
11
+ <% moduleExports.forEach(me => { _%>
12
+ <%= me.pascalCaseName %>,
13
+ <% }); _%>
14
+ ]