@pantheon-systems/puck-css 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/auth/P1AuthProvider.d.ts +1 -0
  2. package/dist/auth/P1AuthProvider.d.ts.map +1 -1
  3. package/dist/auth/P1AuthProvider.js +9 -0
  4. package/dist/auth/P1AuthProvider.js.map +1 -1
  5. package/dist/auth/index.d.ts +1 -1
  6. package/dist/auth/index.d.ts.map +1 -1
  7. package/dist/auth/index.js +1 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/core/types.d.ts +31 -4
  10. package/dist/core/types.d.ts.map +1 -1
  11. package/dist/data/dal/init.d.ts +7 -0
  12. package/dist/data/dal/init.d.ts.map +1 -1
  13. package/dist/data/dal/init.js +32 -0
  14. package/dist/data/dal/init.js.map +1 -1
  15. package/dist/data/dal/p1-store.d.ts +2 -0
  16. package/dist/data/dal/p1-store.d.ts.map +1 -1
  17. package/dist/data/dal/p1-store.js +14 -10
  18. package/dist/data/dal/p1-store.js.map +1 -1
  19. package/dist/data/page-store.d.ts +4 -3
  20. package/dist/data/page-store.d.ts.map +1 -1
  21. package/dist/data/page-store.js +6 -6
  22. package/dist/data/page-store.js.map +1 -1
  23. package/dist/data/paths.js +1 -1
  24. package/dist/data/paths.js.map +1 -1
  25. package/dist/data/route-templates.js +1 -1
  26. package/dist/data/route-templates.js.map +1 -1
  27. package/dist/editor/P1PuckProvider.d.ts.map +1 -1
  28. package/dist/editor/P1PuckProvider.js +102 -17
  29. package/dist/editor/P1PuckProvider.js.map +1 -1
  30. package/dist/editor/plugin/P1Plugin.d.ts +12 -2
  31. package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
  32. package/dist/editor/plugin/P1Plugin.js +30 -9
  33. package/dist/editor/plugin/P1Plugin.js.map +1 -1
  34. package/dist/editor/plugin/createP1Overrides.d.ts +7 -0
  35. package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -1
  36. package/dist/editor/plugin/createP1Overrides.js +72 -2
  37. package/dist/editor/plugin/createP1Overrides.js.map +1 -1
  38. package/dist/editor/useDocuments.d.ts +1 -0
  39. package/dist/editor/useDocuments.d.ts.map +1 -1
  40. package/dist/editor/useDocuments.js +15 -2
  41. package/dist/editor/useDocuments.js.map +1 -1
  42. package/dist/editor/useP1Editor.d.ts.map +1 -1
  43. package/dist/editor/useP1Editor.js +41 -23
  44. package/dist/editor/useP1Editor.js.map +1 -1
  45. package/dist/editor/useP1Plugin.d.ts +3 -1
  46. package/dist/editor/useP1Plugin.d.ts.map +1 -1
  47. package/dist/editor/useP1Plugin.js +2 -0
  48. package/dist/editor/useP1Plugin.js.map +1 -1
  49. package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts +3 -7
  50. package/dist/features/content-type-templates/editor/useTemplateScaffold.d.ts.map +1 -1
  51. package/dist/features/content-type-templates/editor/useTemplateScaffold.js +6 -14
  52. package/dist/features/content-type-templates/editor/useTemplateScaffold.js.map +1 -1
  53. package/dist/features/content-type-templates/hooks/useTemplateList.d.ts +3 -3
  54. package/dist/features/content-type-templates/hooks/useTemplateList.d.ts.map +1 -1
  55. package/dist/features/content-type-templates/hooks/useTemplateList.js +5 -3
  56. package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -1
  57. package/dist/features/content-type-templates/index.d.ts +1 -1
  58. package/dist/features/content-type-templates/index.d.ts.map +1 -1
  59. package/dist/features/content-type-templates/index.js.map +1 -1
  60. package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts +8 -3
  61. package/dist/features/content-type-templates/permissions/createPuckPermissions.d.ts.map +1 -1
  62. package/dist/features/content-type-templates/permissions/createPuckPermissions.js +18 -27
  63. package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
  64. package/dist/features/content-type-templates/stores/template-store.d.ts +4 -4
  65. package/dist/features/content-type-templates/stores/template-store.d.ts.map +1 -1
  66. package/dist/features/content-type-templates/stores/template-store.js +33 -10
  67. package/dist/features/content-type-templates/stores/template-store.js.map +1 -1
  68. package/dist/features/content-type-templates/types.d.ts +1 -88
  69. package/dist/features/content-type-templates/types.d.ts.map +1 -1
  70. package/dist/features/content-type-templates/ui/ActionBarPinButton.d.ts.map +1 -1
  71. package/dist/features/content-type-templates/ui/ActionBarPinButton.js +16 -34
  72. package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -1
  73. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.d.ts +24 -0
  74. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.d.ts.map +1 -0
  75. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js +124 -0
  76. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js.map +1 -0
  77. package/dist/features/content-type-templates/ui/TemplateSelector.d.ts +2 -2
  78. package/dist/features/content-type-templates/ui/TemplateSelector.d.ts.map +1 -1
  79. package/dist/features/content-type-templates/validation/structural-validation.d.ts.map +1 -1
  80. package/dist/features/content-type-templates/validation/structural-validation.js +7 -4
  81. package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
  82. package/dist/index.d.ts +3 -4
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +2 -3
  85. package/dist/index.js.map +1 -1
  86. package/dist/p1/editor/connect/connect-field-modal.d.ts.map +1 -1
  87. package/dist/p1/editor/connect/connect-field-modal.js +1 -1
  88. package/dist/p1/editor/connect/connect-field-modal.js.map +1 -1
  89. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts.map +1 -1
  90. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +91 -29
  91. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
  92. package/dist/p1/pages/index.d.ts +0 -10
  93. package/dist/p1/pages/index.d.ts.map +1 -1
  94. package/dist/p1/pages/index.js +0 -10
  95. package/dist/p1/pages/index.js.map +1 -1
  96. package/dist/pds/components/CreatePageModal.d.ts +109 -0
  97. package/dist/pds/components/CreatePageModal.d.ts.map +1 -0
  98. package/dist/pds/components/CreatePageModal.js +527 -0
  99. package/dist/pds/components/CreatePageModal.js.map +1 -0
  100. package/dist/pds/components/CreatePageModal.module.css +745 -0
  101. package/dist/pds/components/DocStateBadge.js +1 -1
  102. package/dist/pds/components/DocStateBadge.js.map +1 -1
  103. package/dist/pds/components/P1EditorHeader.d.ts +17 -5
  104. package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
  105. package/dist/pds/components/P1EditorHeader.js +32 -6
  106. package/dist/pds/components/P1EditorHeader.js.map +1 -1
  107. package/dist/pds/components/P1EditorSubheader.d.ts +7 -1
  108. package/dist/pds/components/P1EditorSubheader.d.ts.map +1 -1
  109. package/dist/pds/components/P1EditorSubheader.js +2 -2
  110. package/dist/pds/components/P1EditorSubheader.js.map +1 -1
  111. package/dist/pds/components/PageNavigator.d.ts +15 -4
  112. package/dist/pds/components/PageNavigator.d.ts.map +1 -1
  113. package/dist/pds/components/PageNavigator.js +23 -5
  114. package/dist/pds/components/PageNavigator.js.map +1 -1
  115. package/dist/pds/components/PageNavigator.module.css +29 -0
  116. package/dist/pds/components/WizardQuestion.d.ts +29 -0
  117. package/dist/pds/components/WizardQuestion.d.ts.map +1 -0
  118. package/dist/pds/components/WizardQuestion.js +57 -0
  119. package/dist/pds/components/WizardQuestion.js.map +1 -0
  120. package/dist/pds/utils/deriveLiveDocState.d.ts +18 -0
  121. package/dist/pds/utils/deriveLiveDocState.d.ts.map +1 -0
  122. package/dist/pds/utils/deriveLiveDocState.js +20 -0
  123. package/dist/pds/utils/deriveLiveDocState.js.map +1 -0
  124. package/dist/server.d.ts +1 -2
  125. package/dist/server.d.ts.map +1 -1
  126. package/dist/server.js +1 -3
  127. package/dist/server.js.map +1 -1
  128. package/package.json +4 -2
  129. package/src/pds/theme/PuckEditorTheme.css +3 -1
  130. package/src/pds/theme/PuckEditorTheme.test.ts +4 -3
  131. package/dist/features/content-type-templates/editor/useTemplateEditor.d.ts +0 -20
  132. package/dist/features/content-type-templates/editor/useTemplateEditor.d.ts.map +0 -1
  133. package/dist/features/content-type-templates/editor/useTemplateEditor.js +0 -62
  134. package/dist/features/content-type-templates/editor/useTemplateEditor.js.map +0 -1
  135. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.d.ts +0 -18
  136. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.d.ts.map +0 -1
  137. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.js +0 -167
  138. package/dist/features/content-type-templates/ui/TemplateManagerOverlay.js.map +0 -1
  139. package/dist/features/content-type-templates/ui/TemplatePinPanel.d.ts +0 -18
  140. package/dist/features/content-type-templates/ui/TemplatePinPanel.d.ts.map +0 -1
  141. package/dist/features/content-type-templates/ui/TemplatePinPanel.js +0 -11
  142. package/dist/features/content-type-templates/ui/TemplatePinPanel.js.map +0 -1
  143. package/dist/features/content-type-templates/ui/dataToTemplate.d.ts +0 -25
  144. package/dist/features/content-type-templates/ui/dataToTemplate.d.ts.map +0 -1
  145. package/dist/features/content-type-templates/ui/dataToTemplate.js +0 -37
  146. package/dist/features/content-type-templates/ui/dataToTemplate.js.map +0 -1
  147. package/dist/p1/editor/json-tree.d.ts +0 -6
  148. package/dist/p1/editor/json-tree.d.ts.map +0 -1
  149. package/dist/p1/editor/json-tree.js +0 -64
  150. package/dist/p1/editor/json-tree.js.map +0 -1
  151. package/dist/p1/pages/add-override-for-template.d.ts +0 -4
  152. package/dist/p1/pages/add-override-for-template.d.ts.map +0 -1
  153. package/dist/p1/pages/add-override-for-template.js +0 -47
  154. package/dist/p1/pages/add-override-for-template.js.map +0 -1
  155. package/dist/p1/pages/conflict-resolution-panel.d.ts +0 -17
  156. package/dist/p1/pages/conflict-resolution-panel.d.ts.map +0 -1
  157. package/dist/p1/pages/conflict-resolution-panel.js +0 -74
  158. package/dist/p1/pages/conflict-resolution-panel.js.map +0 -1
  159. package/dist/p1/pages/content-type-template-list.d.ts +0 -7
  160. package/dist/p1/pages/content-type-template-list.d.ts.map +0 -1
  161. package/dist/p1/pages/content-type-template-list.js +0 -108
  162. package/dist/p1/pages/content-type-template-list.js.map +0 -1
  163. package/dist/p1/pages/create-content-type-form.d.ts +0 -7
  164. package/dist/p1/pages/create-content-type-form.d.ts.map +0 -1
  165. package/dist/p1/pages/create-content-type-form.js +0 -102
  166. package/dist/p1/pages/create-content-type-form.js.map +0 -1
  167. package/dist/p1/pages/create-page-form.d.ts +0 -9
  168. package/dist/p1/pages/create-page-form.d.ts.map +0 -1
  169. package/dist/p1/pages/create-page-form.js +0 -87
  170. package/dist/p1/pages/create-page-form.js.map +0 -1
  171. package/dist/p1/pages/create-template-form.d.ts +0 -7
  172. package/dist/p1/pages/create-template-form.d.ts.map +0 -1
  173. package/dist/p1/pages/create-template-form.js +0 -82
  174. package/dist/p1/pages/create-template-form.js.map +0 -1
  175. package/dist/p1/pages/delete-row-button.d.ts +0 -7
  176. package/dist/p1/pages/delete-row-button.d.ts.map +0 -1
  177. package/dist/p1/pages/delete-row-button.js +0 -23
  178. package/dist/p1/pages/delete-row-button.js.map +0 -1
  179. package/dist/p1/pages/hooks.d.ts +0 -10
  180. package/dist/p1/pages/hooks.d.ts.map +0 -1
  181. package/dist/p1/pages/hooks.js +0 -66
  182. package/dist/p1/pages/hooks.js.map +0 -1
  183. package/dist/p1/pages/migration-conflict-queue.d.ts +0 -8
  184. package/dist/p1/pages/migration-conflict-queue.d.ts.map +0 -1
  185. package/dist/p1/pages/migration-conflict-queue.js +0 -62
  186. package/dist/p1/pages/migration-conflict-queue.js.map +0 -1
  187. package/dist/p1/pages/migration-preview-panel.d.ts +0 -12
  188. package/dist/p1/pages/migration-preview-panel.d.ts.map +0 -1
  189. package/dist/p1/pages/migration-preview-panel.js +0 -157
  190. package/dist/p1/pages/migration-preview-panel.js.map +0 -1
  191. package/dist/p1/pages/migration-status-panel.d.ts +0 -7
  192. package/dist/p1/pages/migration-status-panel.d.ts.map +0 -1
  193. package/dist/p1/pages/migration-status-panel.js +0 -198
  194. package/dist/p1/pages/migration-status-panel.js.map +0 -1
  195. package/dist/p1/pages/structure-page.d.ts +0 -2
  196. package/dist/p1/pages/structure-page.d.ts.map +0 -1
  197. package/dist/p1/pages/structure-page.js +0 -103
  198. package/dist/p1/pages/structure-page.js.map +0 -1
  199. package/dist/p1/pages/structure-tabs.d.ts +0 -11
  200. package/dist/p1/pages/structure-tabs.d.ts.map +0 -1
  201. package/dist/p1/pages/structure-tabs.js +0 -45
  202. package/dist/p1/pages/structure-tabs.js.map +0 -1
package/dist/server.d.ts CHANGED
@@ -3,7 +3,7 @@ export { isRouteTemplatePath, pagePathFromCatchAllSegments, isCanonicalTemplateP
3
3
  export { buildRemoteDatasourceRegistry } from "./data/remote-datasources/remote-datasource-registry.js";
4
4
  export type { RemoteDatasourceDefinition, RemoteDatasourceFieldDoc } from "./data/remote-datasources/remote-datasource-registry.js";
5
5
  export type { RouteRow, RouteKind } from "./data/page-store.js";
6
- export { flattenStructureRoutes, isSemanticPatchEntry, isOverrideEntry } from "./data/page-store.js";
6
+ export { isSemanticPatchEntry, isOverrideEntry } from "./data/page-store.js";
7
7
  export type { RemoteDatasourceScope } from "./data/remote-datasources/user-remote-datasource-types.js";
8
8
  export { resolveCrossPageTemplates } from "./data/cross-reference-resolve.js";
9
9
  export { resolveStringTemplates, resolveDataTemplates, } from "./data/resolve-data-templates.js";
@@ -19,5 +19,4 @@ export { runWithAuthToken } from "./data/dal/request-auth.js";
19
19
  export { createStaticPage, createCollectionTemplate, deletePageAtPath, resolvePageData, resolveCanonicalForPatchBase, persistPublishedPage, listRoutes, listRouteTemplateKeysFromDatabase, createCollectionOverride, listOverridePathsForBase, } from "./data/page-store.js";
20
20
  export type { HttpJsonRemoteDatasourceDefinition, RemoteDatasourceFieldDocInput, } from "./data/remote-datasources/user-remote-datasource-types.js";
21
21
  export { normalizeRemoteDatasourceDefinition, listGlobalRemoteDatasources, upsertGlobalRemoteDatasource, deleteGlobalRemoteDatasource, listPageRemoteDatasources, upsertPageRemoteDatasource, deletePageRemoteDatasource, listRemoteDatasourcesForPage, idConflictsForRemoteDatasourceScope, } from "./data/remote-datasources/user-remote-datasource-store.js";
22
- export { default as StructurePage } from "./p1/pages/structure-page.js";
23
22
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iCAAiC,EACjC,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACxG,YAAY,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AACpI,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrG,YAAY,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAGvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,GACrC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,UAAU,EACV,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kCAAkC,EAClC,6BAA6B,GAC9B,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,2DAA2D,CAAC;AAGnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iCAAiC,EACjC,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AACxG,YAAY,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,yDAAyD,CAAC;AACpI,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC7E,YAAY,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAGvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAC5B,KAAK,+BAA+B,GACrC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC,YAAY,EACV,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,UAAU,EACV,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EACV,kCAAkC,EAClC,6BAA6B,GAC9B,MAAM,2DAA2D,CAAC;AAEnE,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,2DAA2D,CAAC"}
package/dist/server.js CHANGED
@@ -5,7 +5,7 @@
5
5
  export { normalizePath, stripTrailingSlash, isReservedPath, PATH_REGEX } from "./data/paths.js";
6
6
  export { isRouteTemplatePath, pagePathFromCatchAllSegments, isCanonicalTemplatePath, templatePathParamNames, defaultInstancePathFromTemplate, editorPathHref, publicPagePathHref, listRouteTemplateKeys, matchConcretePathToTemplateParams, pathSegments, } from "./data/route-templates.js";
7
7
  export { buildRemoteDatasourceRegistry } from "./data/remote-datasources/remote-datasource-registry.js";
8
- export { flattenStructureRoutes, isSemanticPatchEntry, isOverrideEntry } from "./data/page-store.js";
8
+ export { isSemanticPatchEntry, isOverrideEntry } from "./data/page-store.js";
9
9
  // --- Server-only lib exports ---
10
10
  export { resolveCrossPageTemplates } from "./data/cross-reference-resolve.js";
11
11
  export { resolveStringTemplates, resolveDataTemplates, } from "./data/resolve-data-templates.js";
@@ -19,6 +19,4 @@ export { ensureInitialized } from "./data/dal/init.js";
19
19
  export { runWithAuthToken } from "./data/dal/request-auth.js";
20
20
  export { createStaticPage, createCollectionTemplate, deletePageAtPath, resolvePageData, resolveCanonicalForPatchBase, persistPublishedPage, listRoutes, listRouteTemplateKeysFromDatabase, createCollectionOverride, listOverridePathsForBase, } from "./data/page-store.js";
21
21
  export { normalizeRemoteDatasourceDefinition, listGlobalRemoteDatasources, upsertGlobalRemoteDatasource, deleteGlobalRemoteDatasource, listPageRemoteDatasources, upsertPageRemoteDatasource, deletePageRemoteDatasource, listRemoteDatasourcesForPage, idConflictsForRemoteDatasourceScope, } from "./data/remote-datasources/user-remote-datasource-store.js";
22
- // --- Server page component exports ---
23
- export { default as StructurePage } from "./p1/pages/structure-page.js";
24
22
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,yDAAyD;AAEzD,kFAAkF;AAClF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iCAAiC,EACjC,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAGxG,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGrG,kCAAkC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAK/B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAGL,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EACL,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,UAAU,EACV,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,2DAA2D,CAAC;AAEnE,wCAAwC;AACxC,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,yEAAyE;AACzE,yDAAyD;AAEzD,kFAAkF;AAClF,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,4BAA4B,EAC5B,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,EAC/B,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACrB,iCAAiC,EACjC,YAAY,GACb,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yDAAyD,CAAC;AAGxG,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG7E,kCAAkC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAE9E,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,GAK/B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAGL,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EACL,SAAS,EACT,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,GAChB,MAAM,qBAAqB,CAAC;AAE7B,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAqB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,UAAU,EACV,iCAAiC,EACjC,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EACL,mCAAmC,EACnC,2BAA2B,EAC3B,4BAA4B,EAC5B,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,4BAA4B,EAC5B,mCAAmC,GACpC,MAAM,2DAA2D,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pantheon-systems/puck-css",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "Puck editor integration with Collaborative State System",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -75,8 +75,9 @@
75
75
  "dependencies": {
76
76
  "fast-json-patch": "^3.1.1",
77
77
  "jsep": "^1.4.0",
78
+ "lodash.isequal": "^4.5.0",
78
79
  "yjs": "^13.6.29",
79
- "@pantheon-systems/css-client": "0.4.3"
80
+ "@pantheon-systems/css-client": "0.5.0"
80
81
  },
81
82
  "devDependencies": {
82
83
  "@floating-ui/react": "^0.27.19",
@@ -85,6 +86,7 @@
85
86
  "@testing-library/dom": "^10.4.1",
86
87
  "@testing-library/jest-dom": "^6.9.1",
87
88
  "@testing-library/react": "^16.3.2",
89
+ "@types/lodash.isequal": "^4.5.8",
88
90
  "@types/react": "^19.2.14",
89
91
  "@types/react-dom": "^19.2.3",
90
92
  "@vitejs/plugin-react": "^4.7.0",
@@ -44,7 +44,9 @@
44
44
  --puck-color-grey-01: var(--pds-color-fg-default);
45
45
  /* grey-02/04: required by tests — map to near-dark fallbacks */
46
46
  --puck-color-grey-02: oklch(0.96 0 0);
47
- --puck-color-grey-03: var(--pds-color-border-default);
47
+ /* grey-03: outline sidebar item text (unselected). Secondary foreground gives
48
+ legible mid-grey in light mode while keeping visual hierarchy vs selected. */
49
+ --puck-color-grey-03: var(--pds-color-fg-default-secondary);
48
50
  --puck-color-grey-04: oklch(0.88 0 0);
49
51
  /* grey-05 (section header text, array labels, disabled text)
50
52
  Puck uses #767676 by default — map to PDSv2 secondary foreground.
@@ -53,10 +53,11 @@ describe('PuckEditorTheme.css', () => {
53
53
  expect(css).toContain('var(--pds-color-bg-default-secondary)');
54
54
  });
55
55
 
56
- it('maps --puck-color-grey-03 to PDS default border', () => {
56
+ it('maps --puck-color-grey-03 to PDS secondary foreground', () => {
57
57
  const css = readThemeCSS();
58
- expect(css).toContain('--puck-color-grey-03');
59
- expect(css).toContain('var(--pds-color-border-default)');
58
+ expect(css).toMatch(
59
+ /--puck-color-grey-03:\s*var\(--pds-color-fg-default-secondary\)/,
60
+ );
60
61
  });
61
62
 
62
63
  it('maps --puck-color-grey-05 to PDS input border', () => {
@@ -1,20 +0,0 @@
1
- /**
2
- * useTemplateEditor Hook
3
- *
4
- * Hook for editing templates.
5
- */
6
- import type { Template, UpdateTemplateParams } from '../types.js';
7
- import type { TemplateStore } from '../stores/template-store.js';
8
- export interface UseTemplateEditorReturn {
9
- template: Template | undefined;
10
- loading: boolean;
11
- saving: boolean;
12
- error: Error | null;
13
- save: (params: UpdateTemplateParams) => Promise<void>;
14
- reload: () => Promise<void>;
15
- }
16
- /**
17
- * Hook for editing a template.
18
- */
19
- export declare function useTemplateEditor(templateId: string, store: TemplateStore): UseTemplateEditorReturn;
20
- //# sourceMappingURL=useTemplateEditor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTemplateEditor.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/editor/useTemplateEditor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,uBAAuB,CAuDzB"}
@@ -1,62 +0,0 @@
1
- /**
2
- * useTemplateEditor Hook
3
- *
4
- * Hook for editing templates.
5
- */
6
- import { useState, useEffect, useCallback } from 'react';
7
- /**
8
- * Hook for editing a template.
9
- */
10
- export function useTemplateEditor(templateId, store) {
11
- const [template, setTemplate] = useState();
12
- const [loading, setLoading] = useState(true);
13
- const [saving, setSaving] = useState(false);
14
- const [error, setError] = useState(null);
15
- const load = useCallback(async (signal) => {
16
- setLoading(true);
17
- setError(null);
18
- try {
19
- const loaded = await store.get(templateId);
20
- if (!signal?.aborted) {
21
- setTemplate(loaded);
22
- }
23
- }
24
- catch (err) {
25
- if (!signal?.aborted) {
26
- setError(err instanceof Error ? err : new Error(String(err)));
27
- }
28
- }
29
- finally {
30
- if (!signal?.aborted) {
31
- setLoading(false);
32
- }
33
- }
34
- }, [templateId, store]);
35
- useEffect(() => {
36
- const controller = new AbortController();
37
- void load(controller.signal);
38
- return () => controller.abort();
39
- }, [load]);
40
- const save = useCallback(async (params) => {
41
- try {
42
- setSaving(true);
43
- const updated = await store.update(templateId, params);
44
- setTemplate(updated);
45
- setSaving(false);
46
- }
47
- catch (err) {
48
- setSaving(false);
49
- setError(err instanceof Error ? err : new Error(String(err)));
50
- throw err;
51
- }
52
- }, [templateId, store]);
53
- return {
54
- template,
55
- loading,
56
- saving,
57
- error,
58
- save,
59
- reload: load,
60
- };
61
- }
62
- //# sourceMappingURL=useTemplateEditor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTemplateEditor.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/editor/useTemplateEditor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAazD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,KAAoB;IAEpB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAwB,CAAC;IACjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,EAAE,MAAoB,EAAE,EAAE;QACtD,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,WAAW,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,IAAI,GAAG,WAAW,CACtB,KAAK,EAAE,MAA4B,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACvD,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,QAAQ,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,EACD,CAAC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,OAAO;QACP,MAAM;QACN,KAAK;QACL,IAAI;QACJ,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC"}
@@ -1,18 +0,0 @@
1
- /**
2
- * TemplateManagerOverlay
3
- *
4
- * Full-screen overlay for managing content type templates.
5
- * Provides a list view of templates and a Puck-based editor for
6
- * creating and editing templates.
7
- */
8
- import React from 'react';
9
- import type { P1Client } from '@pantheon-systems/css-client';
10
- export interface TemplateManagerOverlayProps {
11
- client: P1Client;
12
- siteId: string;
13
- branchId: string;
14
- puckConfig: unknown;
15
- onClose: () => void;
16
- }
17
- export declare function TemplateManagerOverlay({ client, siteId, branchId, puckConfig, onClose, }: TemplateManagerOverlayProps): React.ReactElement;
18
- //# sourceMappingURL=TemplateManagerOverlay.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplateManagerOverlay.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/TemplateManagerOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAQ7D,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,GACR,EAAE,2BAA2B,GAAG,KAAK,CAAC,YAAY,CAkSlD"}
@@ -1,167 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * TemplateManagerOverlay
4
- *
5
- * Full-screen overlay for managing content type templates.
6
- * Provides a list view of templates and a Puck-based editor for
7
- * creating and editing templates.
8
- */
9
- import { useState, useCallback, useEffect } from 'react';
10
- import { createPortal } from 'react-dom';
11
- import { useTemplateList } from '../hooks/useTemplateList.js';
12
- import { scaffoldFromTemplate } from '../editor/useTemplateScaffold.js';
13
- import { TemplatePinPanel } from './TemplatePinPanel.js';
14
- import { dataToCreateParams, dataToUpdateParams } from './dataToTemplate.js';
15
- export function TemplateManagerOverlay({ client, siteId, branchId, puckConfig, onClose, }) {
16
- const { templates, loading, refresh } = useTemplateList(client, siteId, branchId);
17
- const [mode, setMode] = useState('list');
18
- const [editingTemplate, setEditingTemplate] = useState(null);
19
- const [saving, setSaving] = useState(false);
20
- const [error, setError] = useState(null);
21
- // Editor state
22
- const [editorData, setEditorData] = useState({
23
- content: [],
24
- root: { props: {} },
25
- });
26
- const [pinMap, setPinMap] = useState(new Map());
27
- const [metadata, setMetadata] = useState({
28
- name: '',
29
- label: '',
30
- description: '',
31
- });
32
- const handleCreate = useCallback(() => {
33
- setMode('create');
34
- setEditingTemplate(null);
35
- setEditorData({ content: [], root: { props: {} } });
36
- setPinMap(new Map());
37
- setMetadata({ name: '', label: '', description: '' });
38
- setError(null);
39
- }, []);
40
- const handleEdit = useCallback((template) => {
41
- setMode('edit');
42
- setEditingTemplate(template);
43
- const data = scaffoldFromTemplate(template);
44
- setEditorData(data);
45
- const newPinMap = new Map();
46
- data.content.forEach((comp, idx) => {
47
- const compId = comp.props.id;
48
- newPinMap.set(compId, (template.components ?? [])[idx]?.pinned ?? false);
49
- });
50
- setPinMap(newPinMap);
51
- setMetadata({
52
- name: template.name,
53
- label: template.label,
54
- description: template.description ?? '',
55
- defaultUrlPattern: template.defaultUrlPattern ?? '',
56
- });
57
- setError(null);
58
- }, []);
59
- const handleDelete = useCallback(async (templateId) => {
60
- if (!window.confirm('Delete this template? Documents using it will not be affected.'))
61
- return;
62
- try {
63
- await client.templates.delete(siteId, branchId, templateId);
64
- await refresh();
65
- }
66
- catch (err) {
67
- setError(err instanceof Error ? err.message : 'Failed to delete template');
68
- }
69
- }, [client, siteId, branchId, refresh]);
70
- const handleSave = useCallback(async () => {
71
- if (!metadata.name.trim() || !metadata.label.trim()) {
72
- setError('Name and label are required');
73
- return;
74
- }
75
- const pattern = metadata.defaultUrlPattern?.trim() ?? '';
76
- if (pattern && !pattern.startsWith('/')) {
77
- setError('URL pattern must start with /');
78
- return;
79
- }
80
- if (pattern && /[?#]/.test(pattern)) {
81
- setError('URL pattern must not contain ? or #');
82
- return;
83
- }
84
- if (saving)
85
- return;
86
- setSaving(true);
87
- setError(null);
88
- try {
89
- if (mode === 'create') {
90
- const params = dataToCreateParams(editorData, pinMap, metadata);
91
- await client.templates.create(siteId, branchId, params);
92
- }
93
- else if (editingTemplate) {
94
- const params = dataToUpdateParams(editorData, pinMap, metadata);
95
- await client.templates.update(siteId, branchId, editingTemplate.id, params);
96
- }
97
- await refresh();
98
- setMode('list');
99
- }
100
- catch (err) {
101
- setError(err instanceof Error ? err.message : 'Failed to save template');
102
- }
103
- finally {
104
- setSaving(false);
105
- }
106
- }, [mode, editingTemplate, editorData, pinMap, metadata, client, siteId, branchId, refresh]);
107
- const handleCancel = useCallback(() => {
108
- setMode('list');
109
- setEditingTemplate(null);
110
- setError(null);
111
- }, []);
112
- const handleTogglePin = useCallback((componentId, pinned) => {
113
- setPinMap((prev) => {
114
- const next = new Map(prev);
115
- next.set(componentId, pinned);
116
- return next;
117
- });
118
- }, []);
119
- const handlePuckChange = useCallback((data) => {
120
- const d = data;
121
- setEditorData(d);
122
- // Preserve pin state for existing components, default new ones to unpinned
123
- setPinMap((prev) => {
124
- const next = new Map();
125
- for (const comp of d.content) {
126
- const id = comp.props.id;
127
- next.set(id, prev.get(id) ?? false);
128
- }
129
- return next;
130
- });
131
- }, []);
132
- // Close on Escape
133
- useEffect(() => {
134
- const handler = (e) => {
135
- if (e.key === 'Escape') {
136
- if (mode === 'list')
137
- onClose();
138
- else
139
- handleCancel();
140
- }
141
- };
142
- window.addEventListener('keydown', handler);
143
- return () => window.removeEventListener('keydown', handler);
144
- }, [mode, onClose, handleCancel]);
145
- const components = editorData.content.map((c) => ({
146
- id: c.props.id,
147
- type: c.type,
148
- }));
149
- const overlay = (_jsxs("div", { className: "template-manager-overlay", role: "dialog", "aria-label": "Template Manager", children: [_jsxs("div", { className: "template-manager-overlay__header", children: [_jsx("h2", { className: "template-manager-overlay__title", children: mode === 'list' ? 'Manage Templates' : mode === 'create' ? 'New Template' : `Edit: ${editingTemplate?.label}` }), _jsx("button", { type: "button", className: "template-manager-overlay__close", onClick: mode === 'list' ? onClose : handleCancel, "aria-label": "Close template manager", children: mode === 'list' ? '×' : '← Back' })] }), error && (_jsx("div", { role: "alert", className: "template-manager-overlay__error", children: error })), mode === 'list' ? (_jsxs("div", { className: "template-manager-overlay__list", children: [_jsx("button", { type: "button", className: "pds-button pds-button--primary", onClick: handleCreate, children: "+ New Template" }), loading ? (_jsx("div", { className: "template-manager-overlay__loading", children: "Loading templates..." })) : templates.length === 0 ? (_jsx("div", { className: "template-manager-overlay__empty", children: "No templates yet. Create one to get started." })) : (_jsx("ul", { className: "template-manager-overlay__template-list", children: templates.map((t) => (_jsxs("li", { className: "template-manager-overlay__template-item", children: [_jsxs("div", { className: "template-manager-overlay__template-info", children: [_jsx("span", { className: "template-manager-overlay__template-label", children: t.label || t.name }), _jsxs("span", { className: "template-manager-overlay__template-meta", children: [(t.components ?? []).length, " component", (t.components ?? []).length !== 1 ? 's' : '', " \u00B7 v", t.version] })] }), _jsxs("div", { className: "template-manager-overlay__template-actions", children: [_jsx("button", { type: "button", className: "pds-button pds-button--secondary pds-button--sm", onClick: () => handleEdit(t), children: "Edit" }), _jsx("button", { type: "button", className: "pds-button pds-button--critical-secondary pds-button--sm", onClick: () => handleDelete(t.id), "aria-label": `Delete ${t.label}`, children: "Delete" })] })] }, t.id))) }))] })) : (_jsxs("div", { className: "template-manager-overlay__editor", children: [_jsxs("div", { className: "template-manager-overlay__editor-sidebar", children: [_jsxs("div", { className: "template-manager-overlay__metadata", children: [_jsxs("label", { className: "template-manager-overlay__field", children: [_jsx("span", { className: "template-manager-overlay__field-label", children: "Name" }), _jsx("input", { type: "text", value: metadata.name, onChange: (e) => setMetadata((m) => ({ ...m, name: e.target.value })), placeholder: "blog-post", disabled: mode === 'edit', className: "template-manager-overlay__input" })] }), _jsxs("label", { className: "template-manager-overlay__field", children: [_jsx("span", { className: "template-manager-overlay__field-label", children: "Label" }), _jsx("input", { type: "text", value: metadata.label, onChange: (e) => setMetadata((m) => ({ ...m, label: e.target.value })), placeholder: "Blog Post", className: "template-manager-overlay__input" })] }), _jsxs("label", { className: "template-manager-overlay__field", children: [_jsx("span", { className: "template-manager-overlay__field-label", children: "Description" }), _jsx("textarea", { value: metadata.description, onChange: (e) => setMetadata((m) => ({ ...m, description: e.target.value })), placeholder: "Optional description", rows: 2, className: "template-manager-overlay__textarea" })] }), _jsxs("label", { className: "template-manager-overlay__field", children: [_jsx("span", { className: "template-manager-overlay__field-label", children: "Default URL pattern" }), _jsx("input", { type: "text", value: metadata.defaultUrlPattern ?? '', onChange: (e) => setMetadata((m) => ({ ...m, defaultUrlPattern: e.target.value })), placeholder: "/blog/:year/:month/:slug", className: "template-manager-overlay__input" })] })] }), _jsx(TemplatePinPanel, { components: components, pinMap: pinMap, onTogglePin: handleTogglePin }), _jsxs("div", { className: "template-manager-overlay__save-actions", children: [_jsx("button", { type: "button", className: "pds-button pds-button--primary", onClick: handleSave, disabled: saving, children: saving ? 'Saving...' : mode === 'create' ? 'Create Template' : 'Save Changes' }), _jsx("button", { type: "button", className: "pds-button pds-button--secondary", onClick: handleCancel, children: "Cancel" })] })] }), _jsx("div", { className: "template-manager-overlay__editor-canvas", children: _jsx(PuckEditor, { config: puckConfig, data: editorData, onChange: handlePuckChange }) })] }))] }));
150
- return createPortal(overlay, document.body);
151
- }
152
- /**
153
- * Wrapper that lazily loads and renders Puck for template editing.
154
- */
155
- function PuckEditor({ config, data, onChange, }) {
156
- const [Puck, setPuck] = useState(null);
157
- useEffect(() => {
158
- import('@puckeditor/core').then((mod) => {
159
- setPuck(() => mod.Puck);
160
- });
161
- }, []);
162
- if (!Puck) {
163
- return _jsx("div", { className: "template-manager-overlay__puck-loading", children: "Loading editor..." });
164
- }
165
- return _jsx(Puck, { config: config, data: data, onChange: onChange });
166
- }
167
- //# sourceMappingURL=TemplateManagerOverlay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplateManagerOverlay.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/TemplateManagerOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- /**
2
- * TemplatePinPanel
3
- *
4
- * Displays a list of components in the template editor with pin toggles.
5
- * Admins use this to mark which components are "pinned" (locked in position).
6
- */
7
- import React from 'react';
8
- export interface TemplatePinPanelComponent {
9
- id: string;
10
- type: string;
11
- }
12
- export interface TemplatePinPanelProps {
13
- components: TemplatePinPanelComponent[];
14
- pinMap: Map<string, boolean>;
15
- onTogglePin: (componentId: string, pinned: boolean) => void;
16
- }
17
- export declare function TemplatePinPanel({ components, pinMap, onTogglePin, }: TemplatePinPanelProps): React.ReactElement;
18
- //# sourceMappingURL=TemplatePinPanel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplatePinPanel.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/TemplatePinPanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,yBAAyB,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,WAAW,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,EACV,MAAM,EACN,WAAW,GACZ,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAgC5C"}
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function TemplatePinPanel({ components, pinMap, onTogglePin, }) {
3
- if (components.length === 0) {
4
- return (_jsx("div", { className: "template-pin-panel template-pin-panel--empty", children: _jsx("p", { children: "No components added yet. Drag components into the canvas to build your template." }) }));
5
- }
6
- return (_jsxs("div", { className: "template-pin-panel", children: [_jsx("div", { className: "template-pin-panel__header", children: "Components" }), _jsx("ul", { className: "template-pin-panel__list", children: components.map((comp) => {
7
- const isPinned = pinMap.get(comp.id) ?? false;
8
- return (_jsxs("li", { className: "template-pin-panel__item", children: [_jsx("span", { className: "template-pin-panel__type", children: comp.type }), _jsxs("label", { className: "template-pin-panel__pin-label", children: [_jsx("input", { type: "checkbox", checked: isPinned, onChange: (e) => onTogglePin(comp.id, e.target.checked) }), "Pinned"] })] }, comp.id));
9
- }) })] }));
10
- }
11
- //# sourceMappingURL=TemplatePinPanel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TemplatePinPanel.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/TemplatePinPanel.tsx"],"names":[],"mappings":";AAoBA,MAAM,UAAU,gBAAgB,CAAC,EAC/B,UAAU,EACV,MAAM,EACN,WAAW,GACW;IACtB,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CACL,cAAK,SAAS,EAAC,8CAA8C,YAC3D,2GAAuF,GACnF,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,oBAAoB,aACjC,cAAK,SAAS,EAAC,4BAA4B,2BAAiB,EAC5D,aAAI,SAAS,EAAC,0BAA0B,YACrC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;oBAC9C,OAAO,CACL,cAAkB,SAAS,EAAC,0BAA0B,aACpD,eAAM,SAAS,EAAC,0BAA0B,YAAE,IAAI,CAAC,IAAI,GAAQ,EAC7D,iBAAO,SAAS,EAAC,+BAA+B,aAC9C,gBACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GACvD,cAEI,KATD,IAAI,CAAC,EAAE,CAUX,CACN,CAAC;gBACJ,CAAC,CAAC,GACC,IACD,CACP,CAAC;AACJ,CAAC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Convert Puck data + pin map to template creation/update params.
3
- */
4
- import type { CreateTemplateParams, UpdateTemplateParams } from '../types.js';
5
- interface PuckComponent {
6
- type: string;
7
- props: Record<string, unknown>;
8
- }
9
- interface PuckDataShape {
10
- content: PuckComponent[];
11
- root: {
12
- props: Record<string, unknown>;
13
- };
14
- zones?: Record<string, PuckComponent[]>;
15
- }
16
- export interface TemplateMetadataInput {
17
- name: string;
18
- label: string;
19
- description?: string;
20
- defaultUrlPattern?: string;
21
- }
22
- export declare function dataToCreateParams(data: PuckDataShape, pinMap: Map<string, boolean>, metadata: TemplateMetadataInput): CreateTemplateParams;
23
- export declare function dataToUpdateParams(data: PuckDataShape, pinMap: Map<string, boolean>, metadata: Partial<TemplateMetadataInput>): UpdateTemplateParams;
24
- export {};
25
- //# sourceMappingURL=dataToTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataToTemplate.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/dataToTemplate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAqB,MAAM,aAAa,CAAC;AAEjG,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,UAAU,aAAa;IACrB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,EAAE,qBAAqB,GAC9B,oBAAoB,CAiBtB;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,aAAa,EACnB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5B,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACvC,oBAAoB,CAgBtB"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Convert Puck data + pin map to template creation/update params.
3
- */
4
- export function dataToCreateParams(data, pinMap, metadata) {
5
- const components = data.content.map((comp) => {
6
- const { id: _id, ...defaultProps } = comp.props;
7
- return {
8
- type: comp.type,
9
- pinned: pinMap.get(comp.props.id) ?? false,
10
- defaultProps,
11
- };
12
- });
13
- return {
14
- name: metadata.name,
15
- label: metadata.label,
16
- description: metadata.description,
17
- defaultUrlPattern: metadata.defaultUrlPattern,
18
- components,
19
- };
20
- }
21
- export function dataToUpdateParams(data, pinMap, metadata) {
22
- const components = data.content.map((comp) => {
23
- const { id: _id, ...defaultProps } = comp.props;
24
- return {
25
- type: comp.type,
26
- pinned: pinMap.get(comp.props.id) ?? false,
27
- defaultProps,
28
- };
29
- });
30
- return {
31
- label: metadata.label,
32
- description: metadata.description,
33
- defaultUrlPattern: metadata.defaultUrlPattern,
34
- components,
35
- };
36
- }
37
- //# sourceMappingURL=dataToTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dataToTemplate.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/dataToTemplate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAsBH,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,MAA4B,EAC5B,QAA+B;IAE/B,MAAM,UAAU,GAAwB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAChD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAY,CAAC,IAAI,KAAK;YACpD,YAAY;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,UAAU;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAmB,EACnB,MAA4B,EAC5B,QAAwC;IAExC,MAAM,UAAU,GAAwB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAChE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAChD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAY,CAAC,IAAI,KAAK;YACpD,YAAY;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,6 +0,0 @@
1
- import { mono, muted } from "../../data/styles";
2
- export { mono, muted };
3
- export declare function JsonTree({ data }: {
4
- data: unknown;
5
- }): import("react/jsx-runtime").JSX.Element;
6
- //# sourceMappingURL=json-tree.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json-tree.d.ts","sourceRoot":"","sources":["../../../src/p1/editor/json-tree.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AAkJvB,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,2CAmBnD"}
@@ -1,64 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { mono, muted } from "../../data/styles";
4
- export { mono, muted };
5
- const stringColor = "var(--puck-color-rose-04, #be123c)";
6
- const numberColor = "var(--puck-color-azure-04, #2563eb)";
7
- const boolColor = "var(--puck-color-violet-04, #6d28d9)";
8
- function JsonPrimitive({ value }) {
9
- if (value === null) {
10
- return _jsx("span", { style: { ...muted, fontStyle: "italic" }, children: "null" });
11
- }
12
- if (typeof value === "string") {
13
- return _jsx("span", { style: { color: stringColor }, children: JSON.stringify(value) });
14
- }
15
- if (typeof value === "number") {
16
- return _jsx("span", { style: { color: numberColor }, children: value });
17
- }
18
- return _jsx("span", { style: { color: boolColor }, children: String(value) });
19
- }
20
- function JsonTreeValue({ name, value, depth, }) {
21
- const pad = depth * 12;
22
- if (value === null || value === undefined) {
23
- return (_jsxs("div", { style: { paddingLeft: pad, ...mono, fontSize: 11, marginBottom: 2 }, children: [name != null && (_jsxs(_Fragment, { children: [_jsx("span", { style: { color: "var(--puck-color-grey-05, #4b5563)" }, children: name }), _jsx("span", { style: muted, children: ": " })] })), value === null ? (_jsx(JsonPrimitive, { value: null })) : (_jsx("span", { style: { ...muted, fontStyle: "italic" }, children: "undefined" }))] }));
24
- }
25
- if (typeof value !== "object") {
26
- return (_jsxs("div", { style: { paddingLeft: pad, ...mono, fontSize: 11, marginBottom: 2 }, children: [name != null && (_jsxs(_Fragment, { children: [_jsx("span", { style: { color: "var(--puck-color-grey-05, #4b5563)" }, children: name }), _jsx("span", { style: muted, children: ": " })] })), _jsx(JsonPrimitive, { value: value })] }));
27
- }
28
- if (Array.isArray(value)) {
29
- if (value.length === 0) {
30
- return (_jsxs("div", { style: { paddingLeft: pad, ...mono, fontSize: 11, marginBottom: 2 }, children: [name != null && (_jsxs(_Fragment, { children: [_jsx("span", { style: { color: "var(--puck-color-grey-05, #4b5563)" }, children: name }), _jsx("span", { style: muted, children: ": " })] })), _jsx("span", { style: muted, children: "[]" })] }));
31
- }
32
- return (_jsxs("details", { open: depth < 1, style: { marginBottom: 2 }, children: [_jsxs("summary", { style: {
33
- paddingLeft: pad,
34
- cursor: "pointer",
35
- ...mono,
36
- fontSize: 11,
37
- }, children: [name != null && (_jsxs("span", { style: { color: "var(--puck-color-grey-05, #4b5563)" }, children: [name, ": "] })), _jsxs("span", { style: muted, children: ["[", value.length, "]"] })] }), _jsx("div", { style: { borderLeft: "1px solid var(--puck-color-grey-09, #e5e7eb)", marginLeft: pad + 4 }, children: value.map((item, i) => (_jsx(JsonTreeValue, { name: `${i}`, value: item, depth: depth + 1 }, i))) })] }));
38
- }
39
- const entries = Object.entries(value).sort(([a], [b]) => a.localeCompare(b));
40
- if (entries.length === 0) {
41
- return (_jsxs("div", { style: { paddingLeft: pad, ...mono, fontSize: 11, marginBottom: 2 }, children: [name != null && (_jsxs(_Fragment, { children: [_jsx("span", { style: { color: "var(--puck-color-grey-05, #4b5563)" }, children: name }), _jsx("span", { style: muted, children: ": " })] })), _jsx("span", { style: muted, children: `{}` })] }));
42
- }
43
- return (_jsxs("details", { open: depth < 2, style: { marginBottom: 2 }, children: [_jsxs("summary", { style: {
44
- paddingLeft: pad,
45
- cursor: "pointer",
46
- ...mono,
47
- fontSize: 11,
48
- }, children: [name != null && (_jsxs("span", { style: { color: "var(--puck-color-grey-05, #4b5563)" }, children: [name, ": "] })), _jsx("span", { style: muted, children: `{${entries.length} keys}` })] }), _jsx("div", { style: { borderLeft: "1px solid var(--puck-color-grey-09, #e5e7eb)", marginLeft: pad + 4 }, children: entries.map(([k, v]) => (_jsx(JsonTreeValue, { name: k, value: v, depth: depth + 1 }, k))) })] }));
49
- }
50
- export function JsonTree({ data }) {
51
- if (data === null || data === undefined) {
52
- return _jsx("p", { style: { ...muted, margin: 0 }, children: "\u2014" });
53
- }
54
- return (_jsx("div", { style: {
55
- marginTop: 8,
56
- padding: 8,
57
- background: "var(--puck-color-white, #fff)",
58
- borderRadius: 4,
59
- border: "1px solid var(--puck-color-grey-09, #e5e7eb)",
60
- maxHeight: 320,
61
- overflow: "auto",
62
- }, children: _jsx(JsonTreeValue, { name: null, value: data, depth: 0 }) }));
63
- }
64
- //# sourceMappingURL=json-tree.js.map