@pantheon-systems/puck-css 0.11.1 → 0.13.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 (492) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/components/AgentActionButton.js +0 -13
  3. package/dist/agent/components/AgentActionButton.js.map +1 -1
  4. package/dist/agent/components/AgentActionModal.js +0 -13
  5. package/dist/agent/components/AgentActionModal.js.map +1 -1
  6. package/dist/agent/components/AgentStatusPanel.js +0 -10
  7. package/dist/agent/components/AgentStatusPanel.js.map +1 -1
  8. package/dist/agent/components/index.js +0 -5
  9. package/dist/agent/components/index.js.map +1 -1
  10. package/dist/agent/useAgentEdit.js +0 -12
  11. package/dist/agent/useAgentEdit.js.map +1 -1
  12. package/dist/agent/useAgentTrigger.js +0 -29
  13. package/dist/agent/useAgentTrigger.js.map +1 -1
  14. package/dist/auth/P1AuthProvider.d.ts +9 -2
  15. package/dist/auth/P1AuthProvider.d.ts.map +1 -1
  16. package/dist/auth/P1AuthProvider.js +21 -44
  17. package/dist/auth/P1AuthProvider.js.map +1 -1
  18. package/dist/auth/P1LoginPage.js +0 -18
  19. package/dist/auth/P1LoginPage.js.map +1 -1
  20. package/dist/auth/index.d.ts +2 -0
  21. package/dist/auth/index.d.ts.map +1 -1
  22. package/dist/auth/index.js +1 -9
  23. package/dist/auth/index.js.map +1 -1
  24. package/dist/auth/logout.d.ts +23 -0
  25. package/dist/auth/logout.d.ts.map +1 -0
  26. package/dist/auth/logout.js +14 -0
  27. package/dist/auth/logout.js.map +1 -0
  28. package/dist/auth/storage-keys.d.ts +5 -0
  29. package/dist/auth/storage-keys.d.ts.map +1 -0
  30. package/dist/auth/storage-keys.js +3 -0
  31. package/dist/auth/storage-keys.js.map +1 -0
  32. package/dist/collaboration/components/AgentActivityBanner.js +0 -15
  33. package/dist/collaboration/components/AgentActivityBanner.js.map +1 -1
  34. package/dist/collaboration/components/CollaboratorAvatars.js +0 -17
  35. package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -1
  36. package/dist/collaboration/components/FocusRegionHighlight.js +0 -9
  37. package/dist/collaboration/components/FocusRegionHighlight.js.map +1 -1
  38. package/dist/collaboration/components/PresenceIndicator.js +0 -9
  39. package/dist/collaboration/components/PresenceIndicator.js.map +1 -1
  40. package/dist/collaboration/useBranchPresence.js +0 -36
  41. package/dist/collaboration/useBranchPresence.js.map +1 -1
  42. package/dist/collaboration/useFocusRegionReporting.js +0 -75
  43. package/dist/collaboration/useFocusRegionReporting.js.map +1 -1
  44. package/dist/collaboration/usePresence.js +0 -37
  45. package/dist/collaboration/usePresence.js.map +1 -1
  46. package/dist/collaboration/useSitePresence.js +0 -36
  47. package/dist/collaboration/useSitePresence.js.map +1 -1
  48. package/dist/collaboration/utils/avatarColor.js +0 -3
  49. package/dist/collaboration/utils/avatarColor.js.map +1 -1
  50. package/dist/collaboration/utils/focusHighlightConfig.js +0 -61
  51. package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -1
  52. package/dist/collaboration/utils/focusRegionMap.js +1 -80
  53. package/dist/collaboration/utils/focusRegionMap.js.map +1 -1
  54. package/dist/collaboration/utils/initials.js +0 -14
  55. package/dist/collaboration/utils/initials.js.map +1 -1
  56. package/dist/collaboration/utils/presenceIdentity.js +0 -26
  57. package/dist/collaboration/utils/presenceIdentity.js.map +1 -1
  58. package/dist/core/FocusHighlightContext.js +0 -31
  59. package/dist/core/FocusHighlightContext.js.map +1 -1
  60. package/dist/core/NotificationContext.js +2 -67
  61. package/dist/core/NotificationContext.js.map +1 -1
  62. package/dist/core/P1PuckContext.js +0 -31
  63. package/dist/core/P1PuckContext.js.map +1 -1
  64. package/dist/core/PresenceContext.js +0 -18
  65. package/dist/core/PresenceContext.js.map +1 -1
  66. package/dist/core/config.d.ts +9 -0
  67. package/dist/core/config.d.ts.map +1 -1
  68. package/dist/core/config.js +6 -2
  69. package/dist/core/config.js.map +1 -1
  70. package/dist/core/featureConfig.js +0 -32
  71. package/dist/core/featureConfig.js.map +1 -1
  72. package/dist/core/types.d.ts +18 -5
  73. package/dist/core/types.d.ts.map +1 -1
  74. package/dist/core/types.js +0 -3
  75. package/dist/core/types.js.map +1 -1
  76. package/dist/core/utils/debounce.js +0 -18
  77. package/dist/core/utils/debounce.js.map +1 -1
  78. package/dist/core/utils/requestError.d.ts +7 -0
  79. package/dist/core/utils/requestError.d.ts.map +1 -0
  80. package/dist/core/utils/requestError.js +7 -0
  81. package/dist/core/utils/requestError.js.map +1 -0
  82. package/dist/core/utils/retry.js +0 -31
  83. package/dist/core/utils/retry.js.map +1 -1
  84. package/dist/core/utils/throttle.js +0 -24
  85. package/dist/core/utils/throttle.js.map +1 -1
  86. package/dist/data/cross-reference-resolve.js +0 -6
  87. package/dist/data/cross-reference-resolve.js.map +1 -1
  88. package/dist/data/cross-reference.js +0 -15
  89. package/dist/data/cross-reference.js.map +1 -1
  90. package/dist/data/css-queries/css-query-registry.d.ts +2 -2
  91. package/dist/data/css-queries/css-query-registry.js +1 -1
  92. package/dist/data/css-queries/css-query-registry.js.map +1 -1
  93. package/dist/data/dal/index.js +0 -21
  94. package/dist/data/dal/index.js.map +1 -1
  95. package/dist/data/dal/init.d.ts.map +1 -1
  96. package/dist/data/dal/init.js +4 -39
  97. package/dist/data/dal/init.js.map +1 -1
  98. package/dist/data/dal/p1-store.d.ts +1 -1
  99. package/dist/data/dal/p1-store.d.ts.map +1 -1
  100. package/dist/data/dal/p1-store.js +50 -38
  101. package/dist/data/dal/p1-store.js.map +1 -1
  102. package/dist/data/data-list-block/create-data-list-block.js +0 -7
  103. package/dist/data/data-list-block/create-data-list-block.js.map +1 -1
  104. package/dist/data/data-list-block/utils.js +0 -1
  105. package/dist/data/data-list-block/utils.js.map +1 -1
  106. package/dist/data/fields/pds-field-helpers.js +1 -4
  107. package/dist/data/fields/pds-field-helpers.js.map +1 -1
  108. package/dist/data/fields/visible-when.js +0 -5
  109. package/dist/data/fields/visible-when.js.map +1 -1
  110. package/dist/data/fields.d.ts.map +1 -1
  111. package/dist/data/fields.js +1 -3
  112. package/dist/data/fields.js.map +1 -1
  113. package/dist/data/get-page.js +0 -1
  114. package/dist/data/get-page.js.map +1 -1
  115. package/dist/data/page-editor-meta.js +0 -7
  116. package/dist/data/page-editor-meta.js.map +1 -1
  117. package/dist/data/page-store.js +0 -32
  118. package/dist/data/page-store.js.map +1 -1
  119. package/dist/data/page-structure.js +0 -3
  120. package/dist/data/page-structure.js.map +1 -1
  121. package/dist/data/paths.js +0 -16
  122. package/dist/data/paths.js.map +1 -1
  123. package/dist/data/remote-datasources/fetch-http-json.js +0 -5
  124. package/dist/data/remote-datasources/fetch-http-json.js.map +1 -1
  125. package/dist/data/remote-datasources/loader.js +0 -21
  126. package/dist/data/remote-datasources/loader.js.map +1 -1
  127. package/dist/data/remote-datasources/remote-datasource-registry.js +0 -4
  128. package/dist/data/remote-datasources/remote-datasource-registry.js.map +1 -1
  129. package/dist/data/resolve-data-templates.js +0 -24
  130. package/dist/data/resolve-data-templates.js.map +1 -1
  131. package/dist/data/route-templates.js +0 -29
  132. package/dist/data/route-templates.js.map +1 -1
  133. package/dist/data/semantic-ops.js +0 -11
  134. package/dist/data/semantic-ops.js.map +1 -1
  135. package/dist/data/styles.js +0 -2
  136. package/dist/data/styles.js.map +1 -1
  137. package/dist/data/template-autocomplete.js +0 -8
  138. package/dist/data/template-autocomplete.js.map +1 -1
  139. package/dist/data/utils.d.ts +2 -0
  140. package/dist/data/utils.d.ts.map +1 -1
  141. package/dist/data/utils.js +3 -1
  142. package/dist/data/utils.js.map +1 -1
  143. package/dist/editor/P1App.d.ts.map +1 -1
  144. package/dist/editor/P1App.js +6 -45
  145. package/dist/editor/P1App.js.map +1 -1
  146. package/dist/editor/P1PuckProvider.d.ts +1 -1
  147. package/dist/editor/P1PuckProvider.d.ts.map +1 -1
  148. package/dist/editor/P1PuckProvider.js +63 -548
  149. package/dist/editor/P1PuckProvider.js.map +1 -1
  150. package/dist/editor/aiPanelStore.js +0 -7
  151. package/dist/editor/aiPanelStore.js.map +1 -1
  152. package/dist/editor/components/BranchSelector.js +0 -21
  153. package/dist/editor/components/BranchSelector.js.map +1 -1
  154. package/dist/editor/components/CollapsibleSectionHeader.js +1 -4
  155. package/dist/editor/components/CollapsibleSectionHeader.js.map +1 -1
  156. package/dist/editor/components/DraggableRow.js +0 -1
  157. package/dist/editor/components/DraggableRow.js.map +1 -1
  158. package/dist/editor/components/EditorReloadOverlay.d.ts +16 -0
  159. package/dist/editor/components/EditorReloadOverlay.d.ts.map +1 -0
  160. package/dist/editor/components/EditorReloadOverlay.js +13 -0
  161. package/dist/editor/components/EditorReloadOverlay.js.map +1 -0
  162. package/dist/editor/components/NotificationContainer.js +0 -20
  163. package/dist/editor/components/NotificationContainer.js.map +1 -1
  164. package/dist/editor/components/OutlinePanel.js +1 -12
  165. package/dist/editor/components/OutlinePanel.js.map +1 -1
  166. package/dist/editor/components/P1InspectorFields.d.ts.map +1 -1
  167. package/dist/editor/components/P1InspectorFields.js +12 -14
  168. package/dist/editor/components/P1InspectorFields.js.map +1 -1
  169. package/dist/editor/components/P1TemplateFields.js +6 -12
  170. package/dist/editor/components/P1TemplateFields.js.map +1 -1
  171. package/dist/editor/components/PanelHeader.d.ts.map +1 -1
  172. package/dist/editor/components/PanelHeader.js +3 -2
  173. package/dist/editor/components/PanelHeader.js.map +1 -1
  174. package/dist/editor/components/PublishButton.js +0 -21
  175. package/dist/editor/components/PublishButton.js.map +1 -1
  176. package/dist/editor/components/PuckDataCapture.js +0 -14
  177. package/dist/editor/components/PuckDataCapture.js.map +1 -1
  178. package/dist/editor/components/PuckDataSynchronizer.js +0 -67
  179. package/dist/editor/components/PuckDataSynchronizer.js.map +1 -1
  180. package/dist/editor/components/PuckSelectionTracker.js +0 -62
  181. package/dist/editor/components/PuckSelectionTracker.js.map +1 -1
  182. package/dist/editor/components/SaveIndicator.js +0 -41
  183. package/dist/editor/components/SaveIndicator.js.map +1 -1
  184. package/dist/editor/components/Toast.js +1 -32
  185. package/dist/editor/components/Toast.js.map +1 -1
  186. package/dist/editor/components/VersionBannerOverride.js +2 -14
  187. package/dist/editor/components/VersionBannerOverride.js.map +1 -1
  188. package/dist/editor/components/collapsibleSectionContext.js +0 -10
  189. package/dist/editor/components/collapsibleSectionContext.js.map +1 -1
  190. package/dist/editor/components/componentIconName.js +0 -23
  191. package/dist/editor/components/componentIconName.js.map +1 -1
  192. package/dist/editor/components/connectable.js +0 -5
  193. package/dist/editor/components/connectable.js.map +1 -1
  194. package/dist/editor/components/merge-preview/MergePreviewRenderer.js +2 -74
  195. package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -1
  196. package/dist/editor/components/merge-preview/ScaledContent.js +0 -6
  197. package/dist/editor/components/merge-preview/ScaledContent.js.map +1 -1
  198. package/dist/editor/components/merge-preview/index.js +0 -5
  199. package/dist/editor/components/merge-preview/index.js.map +1 -1
  200. package/dist/editor/components/outlineTree.js +0 -31
  201. package/dist/editor/components/outlineTree.js.map +1 -1
  202. package/dist/editor/components/useDragReorder.js +0 -1
  203. package/dist/editor/components/useDragReorder.js.map +1 -1
  204. package/dist/editor/defaultPlugins.d.ts +1 -1
  205. package/dist/editor/defaultPlugins.js +1 -1
  206. package/dist/editor/logout-store.d.ts +13 -0
  207. package/dist/editor/logout-store.d.ts.map +1 -0
  208. package/dist/editor/logout-store.js +23 -0
  209. package/dist/editor/logout-store.js.map +1 -0
  210. package/dist/editor/plugin/P1Plugin.d.ts +6 -3
  211. package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
  212. package/dist/editor/plugin/P1Plugin.js +20 -170
  213. package/dist/editor/plugin/P1Plugin.js.map +1 -1
  214. package/dist/editor/plugin/context-sync-key.js +0 -19
  215. package/dist/editor/plugin/context-sync-key.js.map +1 -1
  216. package/dist/editor/plugin/createP1Overrides.js +1 -49
  217. package/dist/editor/plugin/createP1Overrides.js.map +1 -1
  218. package/dist/editor/plugin/document-sync-plugin.js +0 -50
  219. package/dist/editor/plugin/document-sync-plugin.js.map +1 -1
  220. package/dist/editor/plugin/fieldGuidance.js +0 -5
  221. package/dist/editor/plugin/fieldGuidance.js.map +1 -1
  222. package/dist/editor/plugin/index.js +0 -6
  223. package/dist/editor/plugin/index.js.map +1 -1
  224. package/dist/editor/plugin/selectHeaderCollaborators.js +0 -8
  225. package/dist/editor/plugin/selectHeaderCollaborators.js.map +1 -1
  226. package/dist/editor/presets.js +2 -2
  227. package/dist/editor/thumbnails/LiveThumbnail.js +1 -49
  228. package/dist/editor/thumbnails/LiveThumbnail.js.map +1 -1
  229. package/dist/editor/thumbnails/ThumbnailCard.js +0 -25
  230. package/dist/editor/thumbnails/ThumbnailCard.js.map +1 -1
  231. package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js +0 -21
  232. package/dist/editor/thumbnails/buildLiveThumbnailDrawer.js.map +1 -1
  233. package/dist/editor/thumbnails/humanizeComponentName.js +0 -17
  234. package/dist/editor/thumbnails/humanizeComponentName.js.map +1 -1
  235. package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js +0 -11
  236. package/dist/editor/thumbnails/resolveLiveThumbnailDrawer.js.map +1 -1
  237. package/dist/editor/thumbnails/thumbnailCache.js +0 -38
  238. package/dist/editor/thumbnails/thumbnailCache.js.map +1 -1
  239. package/dist/editor/useAutoSave.js +0 -32
  240. package/dist/editor/useAutoSave.js.map +1 -1
  241. package/dist/editor/useBranches.js +0 -30
  242. package/dist/editor/useBranches.js.map +1 -1
  243. package/dist/editor/useComponentRegistry.d.ts +1 -1
  244. package/dist/editor/useComponentRegistry.js +0 -28
  245. package/dist/editor/useComponentRegistry.js.map +1 -1
  246. package/dist/editor/useDocuments.js +0 -51
  247. package/dist/editor/useDocuments.js.map +1 -1
  248. package/dist/editor/useMergePreview.js +8 -12
  249. package/dist/editor/useMergePreview.js.map +1 -1
  250. package/dist/editor/useP1Editor.d.ts +27 -7
  251. package/dist/editor/useP1Editor.d.ts.map +1 -1
  252. package/dist/editor/useP1Editor.js +107 -233
  253. package/dist/editor/useP1Editor.js.map +1 -1
  254. package/dist/editor/useP1Overrides.js +15 -50
  255. package/dist/editor/useP1Overrides.js.map +1 -1
  256. package/dist/editor/useP1Plugin.d.ts +7 -3
  257. package/dist/editor/useP1Plugin.d.ts.map +1 -1
  258. package/dist/editor/useP1Plugin.js +28 -56
  259. package/dist/editor/useP1Plugin.js.map +1 -1
  260. package/dist/editor/useRealtime.d.ts +15 -3
  261. package/dist/editor/useRealtime.d.ts.map +1 -1
  262. package/dist/editor/useRealtime.js +12 -91
  263. package/dist/editor/useRealtime.js.map +1 -1
  264. package/dist/editor/useResponsivePanels.js +2 -35
  265. package/dist/editor/useResponsivePanels.js.map +1 -1
  266. package/dist/editor/useSidebarScrollPreservation.js +0 -14
  267. package/dist/editor/useSidebarScrollPreservation.js.map +1 -1
  268. package/dist/editor/utils/buildThumbnailOverride.js +0 -9
  269. package/dist/editor/utils/buildThumbnailOverride.js.map +1 -1
  270. package/dist/editor/utils/componentRegistry.d.ts +6 -11
  271. package/dist/editor/utils/componentRegistry.d.ts.map +1 -1
  272. package/dist/editor/utils/componentRegistry.js +1 -71
  273. package/dist/editor/utils/componentRegistry.js.map +1 -1
  274. package/dist/editor/utils/createStablePluginArray.js +0 -27
  275. package/dist/editor/utils/createStablePluginArray.js.map +1 -1
  276. package/dist/editor/utils/path.js +0 -6
  277. package/dist/editor/utils/path.js.map +1 -1
  278. package/dist/editor/utils/puckYjsBinding.d.ts +1 -1
  279. package/dist/editor/utils/puckYjsBinding.js +0 -99
  280. package/dist/editor/utils/puckYjsBinding.js.map +1 -1
  281. package/dist/editor/utils/restoreDocumentVersion.js +0 -12
  282. package/dist/editor/utils/restoreDocumentVersion.js.map +1 -1
  283. package/dist/editor/utils/sanitizeRichtextDefaults.js +0 -26
  284. package/dist/editor/utils/sanitizeRichtextDefaults.js.map +1 -1
  285. package/dist/editor/utils/snapshotToPuckData.js +0 -8
  286. package/dist/editor/utils/snapshotToPuckData.js.map +1 -1
  287. package/dist/editor/utils/syncComponentRegistry.d.ts +2 -2
  288. package/dist/editor/utils/syncComponentRegistry.js +1 -76
  289. package/dist/editor/utils/syncComponentRegistry.js.map +1 -1
  290. package/dist/editor/utils/syncComponentRegistryWriteOnly.d.ts +7 -7
  291. package/dist/editor/utils/syncComponentRegistryWriteOnly.js +0 -22
  292. package/dist/editor/utils/syncComponentRegistryWriteOnly.js.map +1 -1
  293. package/dist/editor/utils/templatePath.js +0 -5
  294. package/dist/editor/utils/templatePath.js.map +1 -1
  295. package/dist/features/content-type-templates/editor/useTemplatePermissions.js +0 -3
  296. package/dist/features/content-type-templates/editor/useTemplatePermissions.js.map +1 -1
  297. package/dist/features/content-type-templates/hooks/useTemplateList.d.ts.map +1 -1
  298. package/dist/features/content-type-templates/hooks/useTemplateList.js +1 -29
  299. package/dist/features/content-type-templates/hooks/useTemplateList.js.map +1 -1
  300. package/dist/features/content-type-templates/index.js +0 -8
  301. package/dist/features/content-type-templates/index.js.map +1 -1
  302. package/dist/features/content-type-templates/permissions/createPuckPermissions.js +1 -43
  303. package/dist/features/content-type-templates/permissions/createPuckPermissions.js.map +1 -1
  304. package/dist/features/content-type-templates/permissions/role-permissions.d.ts +1 -0
  305. package/dist/features/content-type-templates/permissions/role-permissions.d.ts.map +1 -1
  306. package/dist/features/content-type-templates/permissions/role-permissions.js +1 -28
  307. package/dist/features/content-type-templates/permissions/role-permissions.js.map +1 -1
  308. package/dist/features/content-type-templates/permissions/useContentRole.js +0 -24
  309. package/dist/features/content-type-templates/permissions/useContentRole.js.map +1 -1
  310. package/dist/features/content-type-templates/permissions/useResolveContentRole.d.ts +5 -5
  311. package/dist/features/content-type-templates/permissions/useResolveContentRole.js +2 -22
  312. package/dist/features/content-type-templates/permissions/useResolveContentRole.js.map +1 -1
  313. package/dist/features/content-type-templates/stores/index.js +0 -5
  314. package/dist/features/content-type-templates/stores/index.js.map +1 -1
  315. package/dist/features/content-type-templates/stores/template-store-api.js +0 -14
  316. package/dist/features/content-type-templates/stores/template-store-api.js.map +1 -1
  317. package/dist/features/content-type-templates/stores/template-store.d.ts +1 -1
  318. package/dist/features/content-type-templates/stores/template-store.js +0 -12
  319. package/dist/features/content-type-templates/stores/template-store.js.map +1 -1
  320. package/dist/features/content-type-templates/types.d.ts +2 -1
  321. package/dist/features/content-type-templates/types.d.ts.map +1 -1
  322. package/dist/features/content-type-templates/types.js +0 -5
  323. package/dist/features/content-type-templates/types.js.map +1 -1
  324. package/dist/features/content-type-templates/ui/ActionBarPinButton.js +12 -21
  325. package/dist/features/content-type-templates/ui/ActionBarPinButton.js.map +1 -1
  326. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js +0 -23
  327. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js.map +1 -1
  328. package/dist/features/content-type-templates/ui/TemplateSelector.js +0 -19
  329. package/dist/features/content-type-templates/ui/TemplateSelector.js.map +1 -1
  330. package/dist/features/content-type-templates/validation/structural-validation.js +0 -40
  331. package/dist/features/content-type-templates/validation/structural-validation.js.map +1 -1
  332. package/dist/index.d.ts +6 -4
  333. package/dist/index.d.ts.map +1 -1
  334. package/dist/index.js +2 -43
  335. package/dist/index.js.map +1 -1
  336. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js +0 -19
  337. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js.map +1 -1
  338. package/dist/merge/components/conflict-notifications/index.js +0 -5
  339. package/dist/merge/components/conflict-notifications/index.js.map +1 -1
  340. package/dist/merge/components/conflict-notifications/useConflictNotifications.js +0 -48
  341. package/dist/merge/components/conflict-notifications/useConflictNotifications.js.map +1 -1
  342. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js +0 -36
  343. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js.map +1 -1
  344. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js +0 -40
  345. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js.map +1 -1
  346. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js +0 -21
  347. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js.map +1 -1
  348. package/dist/merge/components/conflict-resolution/index.js +0 -5
  349. package/dist/merge/components/conflict-resolution/index.js.map +1 -1
  350. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +0 -44
  351. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -1
  352. package/dist/merge/components/merge-resolution/ComponentClickOverlay.js +0 -24
  353. package/dist/merge/components/merge-resolution/ComponentClickOverlay.js.map +1 -1
  354. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts.map +1 -1
  355. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +6 -31
  356. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -1
  357. package/dist/merge/components/merge-resolution/index.js +0 -3
  358. package/dist/merge/components/merge-resolution/index.js.map +1 -1
  359. package/dist/merge/useMergeResolution.d.ts +1 -1
  360. package/dist/merge/useMergeResolution.d.ts.map +1 -1
  361. package/dist/merge/useMergeResolution.js +6 -75
  362. package/dist/merge/useMergeResolution.js.map +1 -1
  363. package/dist/merge/utils/namespacePuckData.d.ts.map +1 -1
  364. package/dist/merge/utils/namespacePuckData.js +8 -8
  365. package/dist/merge/utils/namespacePuckData.js.map +1 -1
  366. package/dist/merge/utils/puckFieldClassifier.js +0 -183
  367. package/dist/merge/utils/puckFieldClassifier.js.map +1 -1
  368. package/dist/p1/editor/connect/connect-preview-config.js +0 -5
  369. package/dist/p1/editor/connect/connect-preview-config.js.map +1 -1
  370. package/dist/p1/editor/connect/field-connect-plugin.d.ts +8 -2
  371. package/dist/p1/editor/connect/field-connect-plugin.d.ts.map +1 -1
  372. package/dist/p1/editor/connect/field-connect-plugin.js +6 -2
  373. package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -1
  374. package/dist/p1/editor/editor-preview-resolve.js +0 -13
  375. package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
  376. package/dist/p1/editor/hooks/api-hooks.js +0 -7
  377. package/dist/p1/editor/hooks/api-hooks.js.map +1 -1
  378. package/dist/p1/editor/hooks/index.d.ts +1 -0
  379. package/dist/p1/editor/hooks/index.d.ts.map +1 -1
  380. package/dist/p1/editor/hooks/index.js +1 -0
  381. package/dist/p1/editor/hooks/index.js.map +1 -1
  382. package/dist/p1/editor/hooks/useLiveEditorContext.d.ts +24 -0
  383. package/dist/p1/editor/hooks/useLiveEditorContext.d.ts.map +1 -0
  384. package/dist/p1/editor/hooks/useLiveEditorContext.js +24 -0
  385. package/dist/p1/editor/hooks/useLiveEditorContext.js.map +1 -0
  386. package/dist/p1/editor/hooks/useLiveRemoteDatasources.d.ts +11 -7
  387. package/dist/p1/editor/hooks/useLiveRemoteDatasources.d.ts.map +1 -1
  388. package/dist/p1/editor/hooks/useLiveRemoteDatasources.js +4 -35
  389. package/dist/p1/editor/hooks/useLiveRemoteDatasources.js.map +1 -1
  390. package/dist/p1/editor/hooks/useP1Plugins.d.ts +5 -0
  391. package/dist/p1/editor/hooks/useP1Plugins.d.ts.map +1 -1
  392. package/dist/p1/editor/hooks/useP1Plugins.js +5 -18
  393. package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -1
  394. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +0 -7
  395. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
  396. package/dist/p1/editor/template-autocomplete-layer.js +0 -4
  397. package/dist/p1/editor/template-autocomplete-layer.js.map +1 -1
  398. package/dist/pds/components/AgentChip.js +0 -3
  399. package/dist/pds/components/AgentChip.js.map +1 -1
  400. package/dist/pds/components/CreatePageModal.js +1 -97
  401. package/dist/pds/components/CreatePageModal.js.map +1 -1
  402. package/dist/pds/components/LoadingMessage.d.ts.map +1 -1
  403. package/dist/pds/components/LoadingMessage.js +2 -1
  404. package/dist/pds/components/LoadingMessage.js.map +1 -1
  405. package/dist/pds/components/LoadingMessage.module.css +2 -21
  406. package/dist/pds/components/LoadingOverlay.d.ts +17 -0
  407. package/dist/pds/components/LoadingOverlay.d.ts.map +1 -0
  408. package/dist/pds/components/LoadingOverlay.js +7 -0
  409. package/dist/pds/components/LoadingOverlay.js.map +1 -0
  410. package/dist/pds/components/LoadingOverlay.module.css +28 -0
  411. package/dist/pds/components/P1EditorHeader.d.ts +9 -2
  412. package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
  413. package/dist/pds/components/P1EditorHeader.js +6 -26
  414. package/dist/pds/components/P1EditorHeader.js.map +1 -1
  415. package/dist/pds/components/P1EditorHeader.module.css +26 -0
  416. package/dist/pds/components/PageNavigator.js +0 -16
  417. package/dist/pds/components/PageNavigator.js.map +1 -1
  418. package/dist/pds/components/PresenceStack.js +0 -9
  419. package/dist/pds/components/PresenceStack.js.map +1 -1
  420. package/dist/pds/components/PublishControl.js +0 -6
  421. package/dist/pds/components/PublishControl.js.map +1 -1
  422. package/dist/pds/components/WorkstreamSwitcher.js +1 -25
  423. package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
  424. package/dist/pds/index.d.ts +2 -0
  425. package/dist/pds/index.d.ts.map +1 -1
  426. package/dist/pds/index.js +1 -29
  427. package/dist/pds/index.js.map +1 -1
  428. package/dist/pds/theme/pds-core-content.js +0 -5
  429. package/dist/pds/theme/pds-core-content.js.map +1 -1
  430. package/dist/pds/utils/deriveDocState.js +0 -1
  431. package/dist/pds/utils/deriveDocState.js.map +1 -1
  432. package/dist/pds/utils/deriveLiveDocState.js +0 -13
  433. package/dist/pds/utils/deriveLiveDocState.js.map +1 -1
  434. package/dist/registry-sync.js +0 -4
  435. package/dist/registry-sync.js.map +1 -1
  436. package/dist/server.js +0 -7
  437. package/dist/server.js.map +1 -1
  438. package/dist/versioning/components/ReadOnlyFieldsGuard.js +0 -3
  439. package/dist/versioning/components/ReadOnlyFieldsGuard.js.map +1 -1
  440. package/dist/versioning/components/VersionBannerActions.js +0 -1
  441. package/dist/versioning/components/VersionBannerActions.js.map +1 -1
  442. package/dist/versioning/components/version-compare/BranchDiffHeader.js +0 -7
  443. package/dist/versioning/components/version-compare/BranchDiffHeader.js.map +1 -1
  444. package/dist/versioning/components/version-compare/BranchMergeCompare.js +0 -19
  445. package/dist/versioning/components/version-compare/BranchMergeCompare.js.map +1 -1
  446. package/dist/versioning/components/version-compare/ComponentNode.js +0 -8
  447. package/dist/versioning/components/version-compare/ComponentNode.js.map +1 -1
  448. package/dist/versioning/components/version-compare/ComponentTree.js +0 -10
  449. package/dist/versioning/components/version-compare/ComponentTree.js.map +1 -1
  450. package/dist/versioning/components/version-compare/DiffHeader.js +0 -3
  451. package/dist/versioning/components/version-compare/DiffHeader.js.map +1 -1
  452. package/dist/versioning/components/version-compare/DocumentDiffList.js +0 -14
  453. package/dist/versioning/components/version-compare/DocumentDiffList.js.map +1 -1
  454. package/dist/versioning/components/version-compare/PropDiffPanel.js +0 -7
  455. package/dist/versioning/components/version-compare/PropDiffPanel.js.map +1 -1
  456. package/dist/versioning/components/version-compare/PropDiffRow.js +0 -3
  457. package/dist/versioning/components/version-compare/PropDiffRow.js.map +1 -1
  458. package/dist/versioning/components/version-compare/PropValueDisplay.js +0 -22
  459. package/dist/versioning/components/version-compare/PropValueDisplay.js.map +1 -1
  460. package/dist/versioning/components/version-compare/VersionComparePage.js +0 -13
  461. package/dist/versioning/components/version-compare/VersionComparePage.js.map +1 -1
  462. package/dist/versioning/components/version-compare/VisualBranchCompare.js +0 -17
  463. package/dist/versioning/components/version-compare/VisualBranchCompare.js.map +1 -1
  464. package/dist/versioning/components/version-compare/VisualVersionCompare.js +0 -23
  465. package/dist/versioning/components/version-compare/VisualVersionCompare.js.map +1 -1
  466. package/dist/versioning/components/version-compare/index.js +0 -5
  467. package/dist/versioning/components/version-compare/index.js.map +1 -1
  468. package/dist/versioning/components/version-history/AgentCheckpointBadge.js +0 -14
  469. package/dist/versioning/components/version-history/AgentCheckpointBadge.js.map +1 -1
  470. package/dist/versioning/components/version-history/VersionItem.js +0 -7
  471. package/dist/versioning/components/version-history/VersionItem.js.map +1 -1
  472. package/dist/versioning/components/version-history/index.js +0 -5
  473. package/dist/versioning/components/version-history/index.js.map +1 -1
  474. package/dist/versioning/useCheckpoints.js +0 -28
  475. package/dist/versioning/useCheckpoints.js.map +1 -1
  476. package/dist/versioning/useVersions.js +0 -31
  477. package/dist/versioning/useVersions.js.map +1 -1
  478. package/dist/versioning/utils/branchDiff.js +0 -93
  479. package/dist/versioning/utils/branchDiff.js.map +1 -1
  480. package/dist/versioning/utils/diff.js +0 -79
  481. package/dist/versioning/utils/diff.js.map +1 -1
  482. package/dist/versioning/utils/formatVersionDate.js +0 -12
  483. package/dist/versioning/utils/formatVersionDate.js.map +1 -1
  484. package/dist/versioning/utils/highlightConfig.js +0 -42
  485. package/dist/versioning/utils/highlightConfig.js.map +1 -1
  486. package/dist/versioning/utils/versionKind.js +0 -10
  487. package/dist/versioning/utils/versionKind.js.map +1 -1
  488. package/package.json +7 -7
  489. package/src/pds/theme/PuckEditorTheme.css +23 -5
  490. package/src/styles.css +1 -1
  491. package/src/pds/theme/PuckEditorTheme.test.ts +0 -186
  492. package/src/pds/theme/pds-core-content.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"syncComponentRegistryWriteOnly.js","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistryWriteOnly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAE,kBAAkB,EAAgD,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMvE,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,WAAkC;IAElC,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACtB,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;QACpC,QAAQ,EAAE,UAAgD;KAC3D,CAAC,CACH,CACF,CAAC;IAEF,0EAA0E;IAC1E,mEAAmE;IACnE,wEAAwE;IACxE,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,KAAK,GAAkB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAA2C;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"syncComponentRegistryWriteOnly.js","sourceRoot":"","sources":["../../../src/editor/utils/syncComponentRegistryWriteOnly.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAgD,MAAM,wBAAwB,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAMvE,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,MAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,WAAkC;IAElC,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7B,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QACtB,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;QACpC,QAAQ,EAAE,UAAgD;KAC3D,CAAC,CACH,CACF,CAAC;IAOF,MAAM,KAAK,GAAkB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACzG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5B,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,KAA2C;KACtD,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC;AACvC,CAAC"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Resolve the template being edited from a document path. Templates are stored
3
- * as documents at `_registry/templates/<name>`; returns the matching template
4
- * (by name) or null for ordinary pages.
5
- */
6
1
  export function templateFromRegistryPath(path, templates) {
7
2
  if (!path || !templates)
8
3
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"templatePath.js","sourceRoot":"","sources":["../../../src/editor/utils/templatePath.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAA+B,EAC/B,SAAwC;IAExC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"templatePath.js","sourceRoot":"","sources":["../../../src/editor/utils/templatePath.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,wBAAwB,CACtC,IAA+B,EAC/B,SAAwC;IAExC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5D,CAAC"}
@@ -1,6 +1,3 @@
1
- /**
2
- * useTemplatePermissions Hook
3
- */
4
1
  import { useMemo } from 'react';
5
2
  import { getPermissionsForRole, mergePermissions, } from '../permissions/role-permissions.js';
6
3
  export function useTemplatePermissions(role, isHistoricalVersion) {
@@ -1 +1 @@
1
- {"version":3,"file":"useTemplatePermissions.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/editor/useTemplatePermissions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,UAAU,sBAAsB,CACpC,IAAiB,EACjB,mBAA4B;IAE5B,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"useTemplatePermissions.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/editor/useTemplatePermissions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,oCAAoC,CAAC;AAE5C,MAAM,UAAU,sBAAsB,CACpC,IAAiB,EACjB,mBAA4B;IAE5B,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC9C,OAAO,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC1D,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useTemplateList.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/hooks/useTemplateList.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,qBAAqB,CA8CvB"}
1
+ {"version":3,"file":"useTemplateList.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/hooks/useTemplateList.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,+CAA+C;IAC/C,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,8CAA8C;IAC9C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,qBAAqB,CAgDvB"}
@@ -1,37 +1,10 @@
1
- /**
2
- * useTemplateList Hook
3
- *
4
- * Fetches and manages the list of templates for a site/branch.
5
- */
6
1
  import { useState, useEffect, useCallback } from 'react';
7
- /**
8
- * Hook to fetch and manage template list.
9
- *
10
- * @param client - P1Client instance
11
- * @param siteId - Site ID
12
- * @param branchId - Branch ID
13
- * @returns Template list state and refresh function
14
- *
15
- * @example
16
- * ```tsx
17
- * const { templates, loading, error, refresh } = useTemplateList(client, siteId, branchId);
18
- *
19
- * if (loading) return <div>Loading templates...</div>;
20
- * if (error) return <div>Error: {error.message}</div>;
21
- *
22
- * return (
23
- * <ul>
24
- * {templates.map(t => <li key={t.id}>{t.label}</li>)}
25
- * </ul>
26
- * );
27
- * ```
28
- */
29
2
  export function useTemplateList(client, siteId, branchId) {
30
3
  const [templates, setTemplates] = useState([]);
31
4
  const [loading, setLoading] = useState(true);
32
5
  const [error, setError] = useState(null);
33
6
  const fetchTemplates = useCallback(async (signal) => {
34
- if (!client.templates) {
7
+ if (!client.templates || !branchId) {
35
8
  setTemplates([]);
36
9
  setLoading(false);
37
10
  return;
@@ -60,7 +33,6 @@ export function useTemplateList(client, siteId, branchId) {
60
33
  fetchTemplates(controller.signal);
61
34
  return () => controller.abort();
62
35
  }, [fetchTemplates]);
63
- // Expose refresh function
64
36
  const refresh = useCallback(async () => {
65
37
  await fetchTemplates();
66
38
  }, [fetchTemplates]);
@@ -1 +1 @@
1
- {"version":3,"file":"useTemplateList.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/hooks/useTemplateList.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAezD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,MAAoB,EAAE,EAAE;QAChE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,YAAY,CAAC,MAAM,CAAC,CAAC;YACvB,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,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,0BAA0B;IAC1B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO;QACL,SAAS;QACT,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useTemplateList.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/hooks/useTemplateList.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAqCzD,MAAM,UAAU,eAAe,CAC7B,MAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,MAAoB,EAAE,EAAE;QAGhE,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACrB,YAAY,CAAC,MAAM,CAAC,CAAC;YACvB,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,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAClC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAGrB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACrC,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO;QACL,SAAS;QACT,OAAO;QACP,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC"}
@@ -1,11 +1,3 @@
1
- /**
2
- * Content Type Templates Feature
3
- *
4
- * Enables site admins to define structural templates for documents
5
- * and enforce structural conformance via role-based permissions.
6
- *
7
- * Feature-gated via enableContentTypeTemplates flag (default: true).
8
- */
9
1
  export { createInMemoryTemplateStore, createApiTemplateStore } from './stores/index.js';
10
2
  export { getPermissionsForRole, canPerformStructuralAction, canEditProps, canOverrideUrl, mergePermissions, } from './permissions/role-permissions.js';
11
3
  export { useContentRole } from './permissions/useContentRole.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/content-type-templates/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAeH,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/features/content-type-templates/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGxF,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,cAAc,EACd,gBAAgB,GACjB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC"}
@@ -1,43 +1,3 @@
1
- /**
2
- * Puck Permissions Resolver
3
- *
4
- * Creates a resolvePermissions function for Puck that enforces template constraints.
5
- */
6
- /**
7
- * Create a Puck permissions resolver based on template and user role.
8
- *
9
- * A canvas component is pinned when its own `props.id` is a slot id that maps
10
- * to `true` in `root.props._pinMap` and has a matching component instance in
11
- * the template's content or zones. A same-typed component with a different id
12
- * (a local copy or duplicate) is never locked.
13
- *
14
- * Permission logic:
15
- * - **Pinned components**: drag=false, delete=false for all roles
16
- * - **Non-pinned components**:
17
- * - Admin/Editor: full permissions
18
- * - Junior Editor: no structural permissions (drag/delete/insert/duplicate)
19
- * - **Blank pages (no template)**:
20
- * - Admin/Editor: full permissions
21
- * - Junior Editor: no structural permissions
22
- * - **Historical versions**: all structural permissions false for all roles
23
- *
24
- * @param template - Template this document is bound to (null for blank pages;
25
- * a metadata-only summary carries no pins)
26
- * @param role - User's content role
27
- * @param isHistoricalVersion - Whether viewing a historical version (read-only)
28
- * @returns Permission resolver function for Puck
29
- *
30
- * @example
31
- * ```tsx
32
- * const resolvePermissions = createPuckPermissions(template, 'editor', false);
33
- *
34
- * <Puck
35
- * config={puckConfig}
36
- * data={puckData}
37
- * resolvePermissions={resolvePermissions}
38
- * />
39
- * ```
40
- */
41
1
  export function createPuckPermissions(template, role, isHistoricalVersion) {
42
2
  const pinnedSlotIds = new Set();
43
3
  if (template && 'content' in template) {
@@ -66,10 +26,9 @@ export function createPuckPermissions(template, role, isHistoricalVersion) {
66
26
  }
67
27
  }
68
28
  return (item) => {
69
- // Historical versions: all structural permissions false
70
29
  if (isHistoricalVersion) {
71
30
  return {
72
- edit: true, // Can still view props in read-only mode
31
+ edit: true,
73
32
  drag: false,
74
33
  delete: false,
75
34
  insert: false,
@@ -77,7 +36,6 @@ export function createPuckPermissions(template, role, isHistoricalVersion) {
77
36
  };
78
37
  }
79
38
  const juniorEditorRestricted = role === 'junior-editor';
80
- // Pinned slot: locked for all roles when the item carries a pinned slot id
81
39
  const itemId = item.props?.id;
82
40
  if (typeof itemId === 'string' && pinnedSlotIds.has(itemId)) {
83
41
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"createPuckPermissions.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/createPuckPermissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA2C,EAC3C,IAAiB,EACjB,mBAA4B;IAE5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACxC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAI,IAAqC,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC7D,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;wBAC3B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3C,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAc,EAAmB,EAAE;QACzC,wDAAwD;QACxD,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO;gBACL,IAAI,EAAE,IAAI,EAAE,yCAAyC;gBACrD,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,KAAK,eAAe,CAAC;QAExD,2EAA2E;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,CAAC,sBAAsB;gBAC/B,SAAS,EAAE,CAAC,sBAAsB;aACnC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,CAAC,sBAAsB;YAC7B,MAAM,EAAE,CAAC,sBAAsB;YAC/B,MAAM,EAAE,CAAC,sBAAsB;YAC/B,SAAS,EAAE,CAAC,sBAAsB;SACnC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"createPuckPermissions.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/createPuckPermissions.ts"],"names":[],"mappings":"AAgFA,MAAM,UAAU,qBAAqB,CACnC,QAA2C,EAC3C,IAAiB,EACjB,mBAA4B;IAE5B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,IAAI,QAAQ,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,OAAO,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC;gBACxC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAI,IAAqC,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC7D,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;wBAC3B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3C,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAc,EAAmB,EAAE;QAEzC,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,sBAAsB,GAAG,IAAI,KAAK,eAAe,CAAC;QAGxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9B,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,KAAK;gBACb,MAAM,EAAE,CAAC,sBAAsB;gBAC/B,SAAS,EAAE,CAAC,sBAAsB;aACnC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,CAAC,sBAAsB;YAC7B,MAAM,EAAE,CAAC,sBAAsB;YAC/B,MAAM,EAAE,CAAC,sBAAsB;YAC/B,SAAS,EAAE,CAAC,sBAAsB;SACnC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
@@ -24,6 +24,7 @@ export interface ComponentPermissions {
24
24
  *
25
25
  * - admin: Full access - can create/edit templates, full structural control
26
26
  * - editor: Pinned components locked (cannot move/delete), can add/remove non-pinned
27
+ * - author: Same component permissions as editor
27
28
  * - junior-editor: View/edit props only, no structural changes
28
29
  */
29
30
  export declare function getPermissionsForRole(role: ContentRole): ComponentPermissions;
@@ -1 +1 @@
1
- {"version":3,"file":"role-permissions.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/role-permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4BAA4B;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kCAAkC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,oBAAoB,CA2B7E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAGrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,oBAAoB,EACnC,mBAAmB,EAAE,OAAO,GAC3B,oBAAoB,CAatB"}
1
+ {"version":3,"file":"role-permissions.d.ts","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/role-permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4BAA4B;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kCAAkC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,+BAA+B;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,uCAAuC;IACvC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,WAAW,GAAG,oBAAoB,CA4B7E;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAGrE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,oBAAoB,EACnC,mBAAmB,EAAE,OAAO,GAC3B,oBAAoB,CAatB"}
@@ -1,15 +1,3 @@
1
- /**
2
- * Role-Based Permissions
3
- *
4
- * Permission calculations for content editing roles.
5
- */
6
- /**
7
- * Get permissions for a content role.
8
- *
9
- * - admin: Full access - can create/edit templates, full structural control
10
- * - editor: Pinned components locked (cannot move/delete), can add/remove non-pinned
11
- * - junior-editor: View/edit props only, no structural changes
12
- */
13
1
  export function getPermissionsForRole(role) {
14
2
  switch (role) {
15
3
  case 'admin':
@@ -21,6 +9,7 @@ export function getPermissionsForRole(role) {
21
9
  canOverrideUrl: true,
22
10
  };
23
11
  case 'editor':
12
+ case 'author':
24
13
  return {
25
14
  canAddComponents: true,
26
15
  canRemoveComponents: true,
@@ -38,34 +27,18 @@ export function getPermissionsForRole(role) {
38
27
  };
39
28
  }
40
29
  }
41
- /**
42
- * Check if a role can perform structural actions (add/remove/move components).
43
- */
44
30
  export function canPerformStructuralAction(role) {
45
31
  const perms = getPermissionsForRole(role);
46
32
  return perms.canAddComponents || perms.canRemoveComponents || perms.canMoveComponents;
47
33
  }
48
- /**
49
- * Check if a role can edit component props.
50
- */
51
34
  export function canEditProps(role) {
52
35
  return getPermissionsForRole(role).canEditProps;
53
36
  }
54
- /**
55
- * Check if a role can override default URL pattern.
56
- */
57
37
  export function canOverrideUrl(role) {
58
38
  return getPermissionsForRole(role).canOverrideUrl;
59
39
  }
60
- /**
61
- * Merge template-based permissions with historical version lock.
62
- *
63
- * When viewing a historical version, all editing is disabled.
64
- * This combines with role-based permissions to enforce the most restrictive policy.
65
- */
66
40
  export function mergePermissions(templatePerms, isHistoricalVersion) {
67
41
  if (isHistoricalVersion) {
68
- // Historical versions are read-only
69
42
  return {
70
43
  canAddComponents: false,
71
44
  canRemoveComponents: false,
@@ -1 +1 @@
1
- {"version":3,"file":"role-permissions.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/role-permissions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoBH;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO;gBACL,gBAAgB,EAAE,IAAI;gBACtB,mBAAmB,EAAE,IAAI;gBACzB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,KAAK,QAAQ;YACX,OAAO;gBACL,gBAAgB,EAAE,IAAI;gBACtB,mBAAmB,EAAE,IAAI;gBACzB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,KAAK;gBAC1B,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,KAAK;aACtB,CAAC;IACN,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAiB;IAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,iBAAiB,CAAC;AACxF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,aAAmC,EACnC,mBAA4B;IAE5B,IAAI,mBAAmB,EAAE,CAAC;QACxB,oCAAoC;QACpC,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"role-permissions.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/role-permissions.ts"],"names":[],"mappings":"AAgCA,MAAM,UAAU,qBAAqB,CAAC,IAAiB;IACrD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO;YACV,OAAO;gBACL,gBAAgB,EAAE,IAAI;gBACtB,mBAAmB,EAAE,IAAI;gBACzB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ;YACX,OAAO;gBACL,gBAAgB,EAAE,IAAI;gBACtB,mBAAmB,EAAE,IAAI;gBACzB,iBAAiB,EAAE,IAAI;gBACvB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,IAAI;aACrB,CAAC;QACJ,KAAK,eAAe;YAClB,OAAO;gBACL,gBAAgB,EAAE,KAAK;gBACvB,mBAAmB,EAAE,KAAK;gBAC1B,iBAAiB,EAAE,KAAK;gBACxB,YAAY,EAAE,IAAI;gBAClB,cAAc,EAAE,KAAK;aACtB,CAAC;IACN,CAAC;AACH,CAAC;AAKD,MAAM,UAAU,0BAA0B,CAAC,IAAiB;IAC1D,MAAM,KAAK,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,mBAAmB,IAAI,KAAK,CAAC,iBAAiB,CAAC;AACxF,CAAC;AAKD,MAAM,UAAU,YAAY,CAAC,IAAiB;IAC5C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC;AAClD,CAAC;AAKD,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC;AACpD,CAAC;AAQD,MAAM,UAAU,gBAAgB,CAC9B,aAAmC,EACnC,mBAA4B;IAE5B,IAAI,mBAAmB,EAAE,CAAC;QAExB,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,mBAAmB,EAAE,KAAK;YAC1B,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
@@ -1,29 +1,5 @@
1
- /**
2
- * useContentRole Hook
3
- *
4
- * React hook for managing content editing role and permissions.
5
- */
6
1
  import { useMemo } from 'react';
7
2
  import { getPermissionsForRole } from './role-permissions.js';
8
- /**
9
- * Hook for managing content editing role and permissions.
10
- *
11
- * @param role - Content editing role (defaults to 'admin')
12
- * @returns Current role and computed permissions
13
- *
14
- * @example
15
- * ```tsx
16
- * function Editor() {
17
- * const { role, permissions } = useContentRole('editor');
18
- *
19
- * if (!permissions.canAddComponents) {
20
- * return <div>Read-only mode</div>;
21
- * }
22
- *
23
- * return <PuckEditor />;
24
- * }
25
- * ```
26
- */
27
3
  export function useContentRole(role = 'admin') {
28
4
  const permissions = useMemo(() => getPermissionsForRole(role), [role]);
29
5
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useContentRole.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/useContentRole.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAA6B,MAAM,uBAAuB,CAAC;AAYzF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,OAAoB,OAAO;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,OAAO;QACL,IAAI;QACJ,WAAW;KACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useContentRole.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/useContentRole.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,qBAAqB,EAA6B,MAAM,uBAAuB,CAAC;AA+BzF,MAAM,UAAU,cAAc,CAAC,OAAoB,OAAO;IACxD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,OAAO;QACL,IAAI;QACJ,WAAW;KACZ,CAAC;AACJ,CAAC"}
@@ -1,19 +1,19 @@
1
1
  /**
2
2
  * useResolveContentRole Hook
3
3
  *
4
- * Auto-detects the user's ContentRole by querying the CSS backend's
4
+ * Auto-detects the user's ContentRole by querying the backend's
5
5
  * auth/me endpoint with site context. Falls back to the provided
6
6
  * default role if the backend doesn't return role info.
7
7
  *
8
- * CSS backend role mapping:
8
+ * Backend role mapping:
9
9
  * - ADMIN → 'admin'
10
10
  * - EDITOR → 'editor'
11
11
  * - VIEWER → 'junior-editor' (read-only structural access)
12
12
  * - NO_ACCESS → 'junior-editor' (most restrictive)
13
13
  */
14
14
  import type { ContentRole } from '../types.js';
15
- type CssRoleName = 'ADMIN' | 'EDITOR' | 'VIEWER' | 'NO_ACCESS';
16
- declare function mapCssRoleToContentRole(cssRole: CssRoleName): ContentRole;
15
+ type CcrRoleName = 'ADMIN' | 'EDITOR' | 'VIEWER' | 'NO_ACCESS';
16
+ declare function mapCssRoleToContentRole(ccrRole: CcrRoleName): ContentRole;
17
17
  export interface UseResolveContentRoleOptions {
18
18
  baseUrl: string;
19
19
  siteId: string;
@@ -27,7 +27,7 @@ export interface UseResolveContentRoleReturn {
27
27
  resolved: boolean;
28
28
  }
29
29
  /**
30
- * Hook to auto-resolve the user's ContentRole from the CSS backend.
30
+ * Hook to auto-resolve the user's ContentRole from the backend.
31
31
  *
32
32
  * Calls GET /api/sites/{siteId}/auth/role (when available) to determine
33
33
  * the user's effective role. Falls back to the provided fallbackRole
@@ -1,19 +1,6 @@
1
- /**
2
- * useResolveContentRole Hook
3
- *
4
- * Auto-detects the user's ContentRole by querying the CSS backend's
5
- * auth/me endpoint with site context. Falls back to the provided
6
- * default role if the backend doesn't return role info.
7
- *
8
- * CSS backend role mapping:
9
- * - ADMIN → 'admin'
10
- * - EDITOR → 'editor'
11
- * - VIEWER → 'junior-editor' (read-only structural access)
12
- * - NO_ACCESS → 'junior-editor' (most restrictive)
13
- */
14
1
  import { useState, useEffect } from 'react';
15
- function mapCssRoleToContentRole(cssRole) {
16
- switch (cssRole) {
2
+ function mapCssRoleToContentRole(ccrRole) {
3
+ switch (ccrRole) {
17
4
  case 'ADMIN':
18
5
  return 'admin';
19
6
  case 'EDITOR':
@@ -24,13 +11,6 @@ function mapCssRoleToContentRole(cssRole) {
24
11
  return 'junior-editor';
25
12
  }
26
13
  }
27
- /**
28
- * Hook to auto-resolve the user's ContentRole from the CSS backend.
29
- *
30
- * Calls GET /api/sites/{siteId}/auth/role (when available) to determine
31
- * the user's effective role. Falls back to the provided fallbackRole
32
- * if the endpoint is unavailable or returns an error.
33
- */
34
14
  export function useResolveContentRole({ baseUrl, siteId, branchId, token, fallbackRole = 'junior-editor', }) {
35
15
  const [role, setRole] = useState(fallbackRole);
36
16
  const [loading, setLoading] = useState(true);
@@ -1 +1 @@
1
- {"version":3,"file":"useResolveContentRole.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/useResolveContentRole.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK5C,SAAS,uBAAuB,CAAC,OAAoB;IACnD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,GAAG,eAAe,GACD;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,YAAY,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,CAAC;YACtB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,OAAO,GAA2B;oBACtC,aAAa,EAAE,UAAU,KAAK,EAAE;iBACjC,CAAC;gBACF,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,OAAO,cAAc,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EACvG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAC3B,CAAC;gBAEF,IAAI,SAAS;oBAAE,OAAO;gBAEtB,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+B,CAAC;oBAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChD,WAAW,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,YAAY,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,YAAY,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,SAAS;oBAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAErD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"useResolveContentRole.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/permissions/useResolveContentRole.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK5C,SAAS,uBAAuB,CAAC,OAAoB;IACnD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB;YACE,OAAO,eAAe,CAAC;IAC3B,CAAC;AACH,CAAC;AAuBD,MAAM,UAAU,qBAAqB,CAAC,EACpC,OAAO,EACP,MAAM,EACN,QAAQ,EACR,KAAK,EACL,YAAY,GAAG,eAAe,GACD;IAC7B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAc,YAAY,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAClC,OAAO,CAAC,YAAY,CAAC,CAAC;YACtB,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,OAAO,GAA2B;oBACtC,aAAa,EAAE,UAAU,KAAK,EAAE;iBACjC,CAAC;gBACF,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,OAAO,cAAc,kBAAkB,CAAC,MAAM,CAAC,aAAa,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EACvG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAC3B,CAAC;gBAEF,IAAI,SAAS;oBAAE,OAAO;gBAEtB,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAA+B,CAAC;oBAC9D,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAChD,WAAW,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,YAAY,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,YAAY,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,SAAS;oBAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,SAAS;oBAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAErD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACrC,CAAC;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Template Stores
3
- *
4
- * Store implementations for template persistence.
5
- */
6
1
  export { createInMemoryTemplateStore } from './template-store.js';
7
2
  export { createApiTemplateStore } from './template-store-api.js';
8
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/stores/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/stores/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -1,16 +1,3 @@
1
- /**
2
- * API-Backed Template Store
3
- *
4
- * Production template store implementation using the backend API.
5
- */
6
- /**
7
- * Create a template store backed by the P1 API.
8
- *
9
- * @param client - P1Client instance
10
- * @param siteId - Site ID
11
- * @param branchId - Branch ID
12
- * @returns TemplateStore instance
13
- */
14
1
  export function createApiTemplateStore(client, siteId, branchId) {
15
2
  return {
16
3
  async create(params) {
@@ -23,7 +10,6 @@ export function createApiTemplateStore(client, siteId, branchId) {
23
10
  return template;
24
11
  }
25
12
  catch (error) {
26
- // Return undefined for 404s
27
13
  if (error && typeof error === 'object' && 'status' in error && error.status === 404) {
28
14
  return undefined;
29
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"template-store-api.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/stores/template-store-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,MAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,MAA4B;YACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,EAAU;YAClB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClE,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,4BAA4B;gBAC5B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACpF,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI;YACR,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA4B;YACnD,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAU;YACrB,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,WAAmB;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,WAAmB,EACnB,gBAAwB;YAExB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAChI,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,WAAmB;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,WAAmB;YACrC,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;QACnI,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"template-store-api.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/stores/template-store-api.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,sBAAsB,CACpC,MAAgB,EAChB,MAAc,EACd,QAAgB;IAEhB,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,MAA4B;YACvC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,EAAU;YAClB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClE,OAAO,QAAQ,CAAC;YAClB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAEf,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACpF,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI;YACR,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,MAA4B;YACnD,OAAO,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,EAAU;YACrB,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,WAAmB;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,KAAK,CAAC,UAAU,CACd,WAAmB,EACnB,WAAmB,EACnB,gBAAwB;YAExB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAC;QAChI,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,WAAmB;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,WAAmB;YACrC,MAAM,IAAI,KAAK,CAAC,+GAA+G,CAAC,CAAC;QACnI,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Template Store Interface
3
3
  *
4
4
  * Defines the contract for template storage and retrieval.
5
- * Implementations can use localStorage, CSS documents, or backend API.
5
+ * Implementations can use localStorage, backend documents, or a backend API.
6
6
  */
7
7
  import type { Template, TemplateSummary, TemplateBinding, CreateTemplateParams, UpdateTemplateParams } from '../types.js';
8
8
  /**
@@ -1,18 +1,6 @@
1
- /**
2
- * Template Store Interface
3
- *
4
- * Defines the contract for template storage and retrieval.
5
- * Implementations can use localStorage, CSS documents, or backend API.
6
- */
7
- /**
8
- * Generate a unique template ID.
9
- */
10
1
  function generateId() {
11
2
  return `tmpl_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
12
3
  }
13
- /**
14
- * Create an in-memory template store for testing and development.
15
- */
16
4
  export function createInMemoryTemplateStore() {
17
5
  const templates = new Map();
18
6
  const bindings = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"template-store.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/stores/template-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"template-store.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/stores/template-store.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,10 @@
8
8
  *
9
9
  * - admin: Full access - can create/edit templates, full structural control
10
10
  * - editor: Pinned components locked (cannot move/delete), can add/remove non-pinned
11
+ * - author: Same component permissions as editor
11
12
  * - junior-editor: View/edit props only, no structural changes
12
13
  */
13
- export type ContentRole = 'admin' | 'editor' | 'junior-editor';
14
+ export type ContentRole = 'admin' | 'editor' | 'author' | 'junior-editor';
14
15
  export type { Template, TemplateSummary, TemplateMetadata, TemplateContentItem, TemplateRootProps, CreateTemplateParams, UpdateTemplateParams, } from '@pantheon-systems/css-client';
15
16
  /**
16
17
  * Document-to-template binding.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/content-type-templates/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE/D,YAAY,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/features/content-type-templates/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAAC;AAE1E,YAAY,EACV,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAEtC;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IAEnB,qEAAqE;IACrE,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -1,7 +1,2 @@
1
- /**
2
- * Content Type Templates - Core Types
3
- *
4
- * TypeScript types and interfaces for the content type templates feature.
5
- */
6
1
  export {};
7
2
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/content-type-templates/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/features/content-type-templates/types.ts"],"names":[],"mappings":""}
@@ -1,34 +1,27 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useCallback } from 'react';
3
- import { ActionBar, createUsePuck, usePuck } from '@puckeditor/core';
3
+ import { ActionBar, createUsePuck } from '@puckeditor/core';
4
4
  import { Icon } from '@pantheon-systems/pds-toolkit-react';
5
5
  import { useP1PuckOptional } from '../../../core/P1PuckContext.js';
6
6
  const usePuckState = createUsePuck();
7
- /**
8
- * Resolve the template being edited in template mode (document path
9
- * `_registry/templates/<name>`). Pinning is a template-authoring capability,
10
- * so ordinary pages (including template-bound ones) resolve to null.
11
- */
12
- function resolveTemplate(css) {
13
- const path = css.currentDocument?.path;
7
+ function resolveTemplate(ccr) {
8
+ const path = ccr.currentDocument?.path;
14
9
  if (!path)
15
10
  return null;
16
11
  const match = path.match(/^_registry\/templates\/(.+)$/);
17
12
  if (!match)
18
13
  return null;
19
- return css.templates.find((t) => t.name === match[1]) ?? null;
14
+ return ccr.templates.find((t) => t.name === match[1]) ?? null;
20
15
  }
21
16
  export function ActionBarPinButton() {
22
- const css = useP1PuckOptional();
17
+ const ccr = useP1PuckOptional();
23
18
  const selectedItem = usePuckState((s) => s.selectedItem);
24
19
  const rootProps = usePuckState((s) => s.appState?.data?.root?.props);
25
- const { dispatch } = usePuck();
26
- const template = css ? resolveTemplate(css) : null;
20
+ const dispatch = usePuckState((s) => s.dispatch);
21
+ const template = ccr ? resolveTemplate(ccr) : null;
27
22
  const pinMap = rootProps?._pinMap ?? {};
28
- // Pin state lives in the document's root props (_pinMap) and persists
29
- // through the normal document autosave.
30
23
  const handleTogglePin = useCallback(() => {
31
- if (!css || !template || !selectedItem || css.isViewingHistoricalVersion)
24
+ if (!ccr || !template || !selectedItem || ccr.isViewingHistoricalVersion)
32
25
  return;
33
26
  const compId = selectedItem.props.id;
34
27
  const newPinned = !pinMap[compId];
@@ -46,14 +39,12 @@ export function ActionBarPinButton() {
46
39
  },
47
40
  }),
48
41
  });
49
- }, [css, template, selectedItem, pinMap, dispatch]);
50
- if (!css || !template || !selectedItem) {
42
+ }, [ccr, template, selectedItem, pinMap, dispatch]);
43
+ if (!ccr || !template || !selectedItem) {
51
44
  return null;
52
45
  }
53
- const isAdmin = css.userRole === 'admin';
46
+ const isAdmin = ccr.userRole === 'admin';
54
47
  const isPinned = pinMap[selectedItem.props.id] ?? false;
55
- return (_jsx(ActionBar.Action, { label: isPinned ? 'Unpin component' : 'Pin component', onClick: handleTogglePin, active: isPinned,
56
- // Historical versions are read-only; a toggle there would never persist.
57
- disabled: !isAdmin || css.isViewingHistoricalVersion, children: _jsx(Icon, { iconName: isPinned ? 'lock' : 'lockOpen', size: "s", "aria-hidden": "true" }) }));
48
+ return (_jsx(ActionBar.Action, { label: isPinned ? 'Unpin component' : 'Pin component', onClick: handleTogglePin, active: isPinned, disabled: !isAdmin || ccr.isViewingHistoricalVersion, children: _jsx(Icon, { iconName: isPinned ? 'lock' : 'lockOpen', size: "s", "aria-hidden": "true" }) }));
58
49
  }
59
50
  //# sourceMappingURL=ActionBarPinButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBarPinButton.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/ActionBarPinButton.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,qCAAqC,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAGnE,MAAM,YAAY,GAAG,aAAa,EAAE,CAAC;AASrC;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAGxB;IACC,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC;IACvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAuB,CAAC;IAC/E,MAAM,SAAS,GAAG,YAAY,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAE,CAAqF,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAC1H,CAAC;IAEF,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAE/B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnD,MAAM,MAAM,GAAkB,SAAS,EAAE,OAAwB,IAAI,EAAE,CAAC;IAExE,sEAAsE;IACtE,wCAAwC;IACxC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,0BAA0B;YAAE,OAAO;QAEjF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,aAAa,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;QACzD,QAAQ,CAAC;YACP,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,IAAI;gBACP,IAAI,EAAE;oBACJ,GAAI,IAAI,CAAC,IAAgC;oBACzC,KAAK,EAAE;wBACL,GAAK,IAAI,CAAC,IAAgC,CAAC,KAAiC;wBAC5E,OAAO,EAAE,aAAa;qBACvB;iBACF;aACF,CAAC;SACM,CAAC,CAAC;IACd,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpD,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;IAExD,OAAO,CACL,KAAC,SAAS,CAAC,MAAM,IACf,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,eAAe,EACrD,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,QAAQ;QAChB,yEAAyE;QACzE,QAAQ,EAAE,CAAC,OAAO,IAAI,GAAG,CAAC,0BAA0B,YAEpD,KAAC,IAAI,IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EACxC,IAAI,EAAC,GAAG,iBACI,MAAM,GAClB,GACe,CACpB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ActionBarPinButton.js","sourceRoot":"","sources":["../../../../src/features/content-type-templates/ui/ActionBarPinButton.tsx"],"names":[],"mappings":"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"}