@pantheon-systems/puck-css 0.4.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 (805) hide show
  1. package/dist/agent/agentPlugin.d.ts +3 -0
  2. package/dist/agent/agentPlugin.d.ts.map +1 -0
  3. package/dist/agent/agentPlugin.js +6 -0
  4. package/dist/agent/agentPlugin.js.map +1 -0
  5. package/dist/agent/components/AgentActionButton.d.ts +38 -0
  6. package/dist/agent/components/AgentActionButton.d.ts.map +1 -0
  7. package/dist/agent/components/AgentActionButton.js +76 -0
  8. package/dist/agent/components/AgentActionButton.js.map +1 -0
  9. package/dist/agent/components/AgentActionModal.d.ts +28 -0
  10. package/dist/agent/components/AgentActionModal.d.ts.map +1 -0
  11. package/dist/agent/components/AgentActionModal.js +85 -0
  12. package/dist/agent/components/AgentActionModal.js.map +1 -0
  13. package/dist/agent/components/AgentStatusPanel.d.ts +27 -0
  14. package/dist/agent/components/AgentStatusPanel.d.ts.map +1 -0
  15. package/dist/agent/components/AgentStatusPanel.js +51 -0
  16. package/dist/agent/components/AgentStatusPanel.js.map +1 -0
  17. package/dist/agent/components/index.d.ts +12 -0
  18. package/dist/agent/components/index.d.ts.map +1 -0
  19. package/dist/agent/components/index.js +9 -0
  20. package/dist/agent/components/index.js.map +1 -0
  21. package/dist/agent/index.d.ts +6 -0
  22. package/dist/agent/index.d.ts.map +1 -0
  23. package/dist/agent/index.js +4 -0
  24. package/dist/agent/index.js.map +1 -0
  25. package/dist/agent/useAgentEdit.d.ts +68 -0
  26. package/dist/agent/useAgentEdit.d.ts.map +1 -0
  27. package/dist/agent/useAgentEdit.js +125 -0
  28. package/dist/agent/useAgentEdit.js.map +1 -0
  29. package/dist/agent/useAgentTrigger.d.ts +69 -0
  30. package/dist/agent/useAgentTrigger.d.ts.map +1 -0
  31. package/dist/agent/useAgentTrigger.js +131 -0
  32. package/dist/agent/useAgentTrigger.js.map +1 -0
  33. package/dist/auth/AuthGate.d.ts +5 -0
  34. package/dist/auth/AuthGate.d.ts.map +1 -0
  35. package/dist/auth/AuthGate.js +17 -0
  36. package/dist/auth/AuthGate.js.map +1 -0
  37. package/dist/auth/P1AuthProvider.d.ts +59 -0
  38. package/dist/auth/P1AuthProvider.d.ts.map +1 -0
  39. package/dist/auth/P1AuthProvider.js +254 -0
  40. package/dist/auth/P1AuthProvider.js.map +1 -0
  41. package/dist/auth/P1LoginPage.d.ts +26 -0
  42. package/dist/auth/P1LoginPage.d.ts.map +1 -0
  43. package/dist/auth/P1LoginPage.js +105 -0
  44. package/dist/auth/P1LoginPage.js.map +1 -0
  45. package/dist/auth/index.d.ts +14 -0
  46. package/dist/auth/index.d.ts.map +1 -0
  47. package/dist/auth/index.js +12 -0
  48. package/dist/auth/index.js.map +1 -0
  49. package/dist/collaboration/collaborationPlugin.d.ts +3 -0
  50. package/dist/collaboration/collaborationPlugin.d.ts.map +1 -0
  51. package/dist/collaboration/collaborationPlugin.js +6 -0
  52. package/dist/collaboration/collaborationPlugin.js.map +1 -0
  53. package/dist/collaboration/components/AgentActivityBanner.d.ts +26 -0
  54. package/dist/collaboration/components/AgentActivityBanner.d.ts.map +1 -0
  55. package/dist/collaboration/components/AgentActivityBanner.js +50 -0
  56. package/dist/collaboration/components/AgentActivityBanner.js.map +1 -0
  57. package/dist/collaboration/components/CollaboratorAvatars.d.ts +25 -0
  58. package/dist/collaboration/components/CollaboratorAvatars.d.ts.map +1 -0
  59. package/dist/collaboration/components/CollaboratorAvatars.js +75 -0
  60. package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -0
  61. package/dist/collaboration/components/FocusRegionHighlight.d.ts +20 -0
  62. package/dist/collaboration/components/FocusRegionHighlight.d.ts.map +1 -0
  63. package/dist/collaboration/components/FocusRegionHighlight.js +35 -0
  64. package/dist/collaboration/components/FocusRegionHighlight.js.map +1 -0
  65. package/dist/collaboration/components/PresenceIndicator.d.ts +23 -0
  66. package/dist/collaboration/components/PresenceIndicator.d.ts.map +1 -0
  67. package/dist/collaboration/components/PresenceIndicator.js +25 -0
  68. package/dist/collaboration/components/PresenceIndicator.js.map +1 -0
  69. package/dist/collaboration/index.d.ts +21 -0
  70. package/dist/collaboration/index.d.ts.map +1 -0
  71. package/dist/collaboration/index.js +12 -0
  72. package/dist/collaboration/index.js.map +1 -0
  73. package/dist/collaboration/useBranchPresence.d.ts +54 -0
  74. package/dist/collaboration/useBranchPresence.d.ts.map +1 -0
  75. package/dist/collaboration/useBranchPresence.js +94 -0
  76. package/dist/collaboration/useBranchPresence.js.map +1 -0
  77. package/dist/collaboration/useFocusRegionReporting.d.ts +69 -0
  78. package/dist/collaboration/useFocusRegionReporting.d.ts.map +1 -0
  79. package/dist/collaboration/useFocusRegionReporting.js +199 -0
  80. package/dist/collaboration/useFocusRegionReporting.js.map +1 -0
  81. package/dist/collaboration/usePresence.d.ts +62 -0
  82. package/dist/collaboration/usePresence.d.ts.map +1 -0
  83. package/dist/collaboration/usePresence.js +105 -0
  84. package/dist/collaboration/usePresence.js.map +1 -0
  85. package/dist/collaboration/useSitePresence.d.ts +54 -0
  86. package/dist/collaboration/useSitePresence.d.ts.map +1 -0
  87. package/dist/collaboration/useSitePresence.js +94 -0
  88. package/dist/collaboration/useSitePresence.js.map +1 -0
  89. package/dist/collaboration/utils/avatarColor.d.ts +11 -0
  90. package/dist/collaboration/utils/avatarColor.d.ts.map +1 -0
  91. package/dist/collaboration/utils/avatarColor.js +42 -0
  92. package/dist/collaboration/utils/avatarColor.js.map +1 -0
  93. package/dist/collaboration/utils/focusHighlightConfig.d.ts +54 -0
  94. package/dist/collaboration/utils/focusHighlightConfig.d.ts.map +1 -0
  95. package/dist/collaboration/utils/focusHighlightConfig.js +98 -0
  96. package/dist/collaboration/utils/focusHighlightConfig.js.map +1 -0
  97. package/dist/collaboration/utils/focusRegionMap.d.ts +82 -0
  98. package/dist/collaboration/utils/focusRegionMap.d.ts.map +1 -0
  99. package/dist/collaboration/utils/focusRegionMap.js +188 -0
  100. package/dist/collaboration/utils/focusRegionMap.js.map +1 -0
  101. package/dist/core/FocusHighlightContext.d.ts +54 -0
  102. package/dist/core/FocusHighlightContext.d.ts.map +1 -0
  103. package/dist/core/FocusHighlightContext.js +46 -0
  104. package/dist/core/FocusHighlightContext.js.map +1 -0
  105. package/dist/core/NotificationContext.d.ts +63 -0
  106. package/dist/core/NotificationContext.d.ts.map +1 -0
  107. package/dist/core/NotificationContext.js +194 -0
  108. package/dist/core/NotificationContext.js.map +1 -0
  109. package/dist/core/P1PuckContext.d.ts +36 -0
  110. package/dist/core/P1PuckContext.d.ts.map +1 -0
  111. package/dist/core/P1PuckContext.js +44 -0
  112. package/dist/core/P1PuckContext.js.map +1 -0
  113. package/dist/core/PresenceContext.d.ts +70 -0
  114. package/dist/core/PresenceContext.d.ts.map +1 -0
  115. package/dist/core/PresenceContext.js +31 -0
  116. package/dist/core/PresenceContext.js.map +1 -0
  117. package/dist/core/config.d.ts +26 -0
  118. package/dist/core/config.d.ts.map +1 -0
  119. package/dist/core/config.js +78 -0
  120. package/dist/core/config.js.map +1 -0
  121. package/dist/core/featureConfig.d.ts +56 -0
  122. package/dist/core/featureConfig.d.ts.map +1 -0
  123. package/dist/core/featureConfig.js +77 -0
  124. package/dist/core/featureConfig.js.map +1 -0
  125. package/dist/core/index.d.ts +17 -0
  126. package/dist/core/index.d.ts.map +1 -0
  127. package/dist/core/index.js +11 -0
  128. package/dist/core/index.js.map +1 -0
  129. package/dist/core/plugin-types.d.ts +30 -0
  130. package/dist/core/plugin-types.d.ts.map +1 -0
  131. package/dist/core/plugin-types.js +2 -0
  132. package/dist/core/plugin-types.js.map +1 -0
  133. package/dist/core/types.d.ts +710 -0
  134. package/dist/core/types.d.ts.map +1 -0
  135. package/dist/core/types.js +5 -0
  136. package/dist/core/types.js.map +1 -0
  137. package/dist/core/utils/debounce.d.ts +27 -0
  138. package/dist/core/utils/debounce.d.ts.map +1 -0
  139. package/dist/core/utils/debounce.js +77 -0
  140. package/dist/core/utils/debounce.js.map +1 -0
  141. package/dist/core/utils/retry.d.ts +57 -0
  142. package/dist/core/utils/retry.d.ts.map +1 -0
  143. package/dist/core/utils/retry.js +70 -0
  144. package/dist/core/utils/retry.js.map +1 -0
  145. package/dist/core/utils/throttle.d.ts +29 -0
  146. package/dist/core/utils/throttle.d.ts.map +1 -0
  147. package/dist/core/utils/throttle.js +66 -0
  148. package/dist/core/utils/throttle.js.map +1 -0
  149. package/dist/data/cross-reference-resolve.d.ts +6 -0
  150. package/dist/data/cross-reference-resolve.d.ts.map +1 -0
  151. package/dist/data/cross-reference-resolve.js +58 -0
  152. package/dist/data/cross-reference-resolve.js.map +1 -0
  153. package/dist/data/cross-reference.d.ts +32 -0
  154. package/dist/data/cross-reference.d.ts.map +1 -0
  155. package/dist/data/cross-reference.js +188 -0
  156. package/dist/data/cross-reference.js.map +1 -0
  157. package/dist/data/dal/index.d.ts +32 -0
  158. package/dist/data/dal/index.d.ts.map +1 -0
  159. package/dist/data/dal/index.js +72 -0
  160. package/dist/data/dal/index.js.map +1 -0
  161. package/dist/data/dal/init.d.ts +28 -0
  162. package/dist/data/dal/init.d.ts.map +1 -0
  163. package/dist/data/dal/init.js +76 -0
  164. package/dist/data/dal/init.js.map +1 -0
  165. package/dist/data/dal/p1-store.d.ts +52 -0
  166. package/dist/data/dal/p1-store.d.ts.map +1 -0
  167. package/dist/data/dal/p1-store.js +121 -0
  168. package/dist/data/dal/p1-store.js.map +1 -0
  169. package/dist/data/dal/request-auth.d.ts +3 -0
  170. package/dist/data/dal/request-auth.d.ts.map +1 -0
  171. package/dist/data/dal/request-auth.js +9 -0
  172. package/dist/data/dal/request-auth.js.map +1 -0
  173. package/dist/data/dal/types.d.ts +31 -0
  174. package/dist/data/dal/types.d.ts.map +1 -0
  175. package/dist/data/dal/types.js +2 -0
  176. package/dist/data/dal/types.js.map +1 -0
  177. package/dist/data/get-page.d.ts +5 -0
  178. package/dist/data/get-page.d.ts.map +1 -0
  179. package/dist/data/get-page.js +5 -0
  180. package/dist/data/get-page.js.map +1 -0
  181. package/dist/data/page-editor-meta.d.ts +16 -0
  182. package/dist/data/page-editor-meta.d.ts.map +1 -0
  183. package/dist/data/page-editor-meta.js +99 -0
  184. package/dist/data/page-editor-meta.js.map +1 -0
  185. package/dist/data/page-store.d.ts +65 -0
  186. package/dist/data/page-store.d.ts.map +1 -0
  187. package/dist/data/page-store.js +302 -0
  188. package/dist/data/page-store.js.map +1 -0
  189. package/dist/data/page-structure.d.ts +13 -0
  190. package/dist/data/page-structure.d.ts.map +1 -0
  191. package/dist/data/page-structure.js +95 -0
  192. package/dist/data/page-structure.js.map +1 -0
  193. package/dist/data/paths.d.ts +16 -0
  194. package/dist/data/paths.d.ts.map +1 -0
  195. package/dist/data/paths.js +36 -0
  196. package/dist/data/paths.js.map +1 -0
  197. package/dist/data/query-provider.d.ts +5 -0
  198. package/dist/data/query-provider.d.ts.map +1 -0
  199. package/dist/data/query-provider.js +16 -0
  200. package/dist/data/query-provider.js.map +1 -0
  201. package/dist/data/remote-datasources/fetch-http-json.d.ts +8 -0
  202. package/dist/data/remote-datasources/fetch-http-json.d.ts.map +1 -0
  203. package/dist/data/remote-datasources/fetch-http-json.js +89 -0
  204. package/dist/data/remote-datasources/fetch-http-json.js.map +1 -0
  205. package/dist/data/remote-datasources/index.d.ts +5 -0
  206. package/dist/data/remote-datasources/index.d.ts.map +1 -0
  207. package/dist/data/remote-datasources/index.js +3 -0
  208. package/dist/data/remote-datasources/index.js.map +1 -0
  209. package/dist/data/remote-datasources/loader.d.ts +44 -0
  210. package/dist/data/remote-datasources/loader.d.ts.map +1 -0
  211. package/dist/data/remote-datasources/loader.js +126 -0
  212. package/dist/data/remote-datasources/loader.js.map +1 -0
  213. package/dist/data/remote-datasources/remote-datasource-registry.d.ts +21 -0
  214. package/dist/data/remote-datasources/remote-datasource-registry.d.ts.map +1 -0
  215. package/dist/data/remote-datasources/remote-datasource-registry.js +15 -0
  216. package/dist/data/remote-datasources/remote-datasource-registry.js.map +1 -0
  217. package/dist/data/remote-datasources/user-remote-datasource-store.d.ts +14 -0
  218. package/dist/data/remote-datasources/user-remote-datasource-store.d.ts.map +1 -0
  219. package/dist/data/remote-datasources/user-remote-datasource-store.js +125 -0
  220. package/dist/data/remote-datasources/user-remote-datasource-store.js.map +1 -0
  221. package/dist/data/remote-datasources/user-remote-datasource-types.d.ts +15 -0
  222. package/dist/data/remote-datasources/user-remote-datasource-types.d.ts.map +1 -0
  223. package/dist/data/remote-datasources/user-remote-datasource-types.js +2 -0
  224. package/dist/data/remote-datasources/user-remote-datasource-types.js.map +1 -0
  225. package/dist/data/resolve-data-templates.d.ts +12 -0
  226. package/dist/data/resolve-data-templates.d.ts.map +1 -0
  227. package/dist/data/resolve-data-templates.js +286 -0
  228. package/dist/data/resolve-data-templates.js.map +1 -0
  229. package/dist/data/route-templates.d.ts +43 -0
  230. package/dist/data/route-templates.d.ts.map +1 -0
  231. package/dist/data/route-templates.js +146 -0
  232. package/dist/data/route-templates.js.map +1 -0
  233. package/dist/data/semantic-ops.d.ts +47 -0
  234. package/dist/data/semantic-ops.d.ts.map +1 -0
  235. package/dist/data/semantic-ops.js +335 -0
  236. package/dist/data/semantic-ops.js.map +1 -0
  237. package/dist/data/styles.d.ts +87 -0
  238. package/dist/data/styles.d.ts.map +1 -0
  239. package/dist/data/styles.js +87 -0
  240. package/dist/data/styles.js.map +1 -0
  241. package/dist/data/template-autocomplete.d.ts +22 -0
  242. package/dist/data/template-autocomplete.d.ts.map +1 -0
  243. package/dist/data/template-autocomplete.js +71 -0
  244. package/dist/data/template-autocomplete.js.map +1 -0
  245. package/dist/data/template-functions.d.ts +5 -0
  246. package/dist/data/template-functions.d.ts.map +1 -0
  247. package/dist/data/template-functions.js +90 -0
  248. package/dist/data/template-functions.js.map +1 -0
  249. package/dist/data/utils.d.ts +3 -0
  250. package/dist/data/utils.d.ts.map +1 -0
  251. package/dist/data/utils.js +11 -0
  252. package/dist/data/utils.js.map +1 -0
  253. package/dist/editor/P1App.d.ts +14 -0
  254. package/dist/editor/P1App.d.ts.map +1 -0
  255. package/dist/editor/P1App.js +138 -0
  256. package/dist/editor/P1App.js.map +1 -0
  257. package/dist/editor/P1PuckProvider.d.ts +69 -0
  258. package/dist/editor/P1PuckProvider.d.ts.map +1 -0
  259. package/dist/editor/P1PuckProvider.js +1473 -0
  260. package/dist/editor/P1PuckProvider.js.map +1 -0
  261. package/dist/editor/components/BranchSelector.d.ts +49 -0
  262. package/dist/editor/components/BranchSelector.d.ts.map +1 -0
  263. package/dist/editor/components/BranchSelector.js +55 -0
  264. package/dist/editor/components/BranchSelector.js.map +1 -0
  265. package/dist/editor/components/NotificationContainer.d.ts +41 -0
  266. package/dist/editor/components/NotificationContainer.d.ts.map +1 -0
  267. package/dist/editor/components/NotificationContainer.js +32 -0
  268. package/dist/editor/components/NotificationContainer.js.map +1 -0
  269. package/dist/editor/components/PublishButton.d.ts +52 -0
  270. package/dist/editor/components/PublishButton.d.ts.map +1 -0
  271. package/dist/editor/components/PublishButton.js +58 -0
  272. package/dist/editor/components/PublishButton.js.map +1 -0
  273. package/dist/editor/components/PublishedStatusBadge.d.ts +6 -0
  274. package/dist/editor/components/PublishedStatusBadge.d.ts.map +1 -0
  275. package/dist/editor/components/PublishedStatusBadge.js +25 -0
  276. package/dist/editor/components/PublishedStatusBadge.js.map +1 -0
  277. package/dist/editor/components/PuckDataCapture.d.ts +22 -0
  278. package/dist/editor/components/PuckDataCapture.d.ts.map +1 -0
  279. package/dist/editor/components/PuckDataCapture.js +30 -0
  280. package/dist/editor/components/PuckDataCapture.js.map +1 -0
  281. package/dist/editor/components/PuckDataSynchronizer.d.ts +49 -0
  282. package/dist/editor/components/PuckDataSynchronizer.d.ts.map +1 -0
  283. package/dist/editor/components/PuckDataSynchronizer.js +126 -0
  284. package/dist/editor/components/PuckDataSynchronizer.js.map +1 -0
  285. package/dist/editor/components/PuckSelectionTracker.d.ts +47 -0
  286. package/dist/editor/components/PuckSelectionTracker.d.ts.map +1 -0
  287. package/dist/editor/components/PuckSelectionTracker.js +93 -0
  288. package/dist/editor/components/PuckSelectionTracker.js.map +1 -0
  289. package/dist/editor/components/SaveIndicator.d.ts +77 -0
  290. package/dist/editor/components/SaveIndicator.d.ts.map +1 -0
  291. package/dist/editor/components/SaveIndicator.js +114 -0
  292. package/dist/editor/components/SaveIndicator.js.map +1 -0
  293. package/dist/editor/components/Toast.d.ts +40 -0
  294. package/dist/editor/components/Toast.d.ts.map +1 -0
  295. package/dist/editor/components/Toast.js +92 -0
  296. package/dist/editor/components/Toast.js.map +1 -0
  297. package/dist/editor/components/VersionBannerOverride.d.ts +10 -0
  298. package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -0
  299. package/dist/editor/components/VersionBannerOverride.js +22 -0
  300. package/dist/editor/components/VersionBannerOverride.js.map +1 -0
  301. package/dist/editor/components/connectable.d.ts +22 -0
  302. package/dist/editor/components/connectable.d.ts.map +1 -0
  303. package/dist/editor/components/connectable.js +84 -0
  304. package/dist/editor/components/connectable.js.map +1 -0
  305. package/dist/editor/components/merge-preview/MergePreviewPanel.d.ts +13 -0
  306. package/dist/editor/components/merge-preview/MergePreviewPanel.d.ts.map +1 -0
  307. package/dist/editor/components/merge-preview/MergePreviewPanel.js +32 -0
  308. package/dist/editor/components/merge-preview/MergePreviewPanel.js.map +1 -0
  309. package/dist/editor/components/merge-preview/MergePreviewRenderer.d.ts +58 -0
  310. package/dist/editor/components/merge-preview/MergePreviewRenderer.d.ts.map +1 -0
  311. package/dist/editor/components/merge-preview/MergePreviewRenderer.js +150 -0
  312. package/dist/editor/components/merge-preview/MergePreviewRenderer.js.map +1 -0
  313. package/dist/editor/components/merge-preview/ScaledContent.d.ts +11 -0
  314. package/dist/editor/components/merge-preview/ScaledContent.d.ts.map +1 -0
  315. package/dist/editor/components/merge-preview/ScaledContent.js +31 -0
  316. package/dist/editor/components/merge-preview/ScaledContent.js.map +1 -0
  317. package/dist/editor/components/merge-preview/ViewModeSelector.d.ts +8 -0
  318. package/dist/editor/components/merge-preview/ViewModeSelector.d.ts.map +1 -0
  319. package/dist/editor/components/merge-preview/ViewModeSelector.js +11 -0
  320. package/dist/editor/components/merge-preview/ViewModeSelector.js.map +1 -0
  321. package/dist/editor/components/merge-preview/index.d.ts +12 -0
  322. package/dist/editor/components/merge-preview/index.d.ts.map +1 -0
  323. package/dist/editor/components/merge-preview/index.js +9 -0
  324. package/dist/editor/components/merge-preview/index.js.map +1 -0
  325. package/dist/editor/composePlugins.d.ts +10 -0
  326. package/dist/editor/composePlugins.d.ts.map +1 -0
  327. package/dist/editor/composePlugins.js +47 -0
  328. package/dist/editor/composePlugins.js.map +1 -0
  329. package/dist/editor/defaultPlugins.d.ts +3 -0
  330. package/dist/editor/defaultPlugins.d.ts.map +1 -0
  331. package/dist/editor/defaultPlugins.js +7 -0
  332. package/dist/editor/defaultPlugins.js.map +1 -0
  333. package/dist/editor/icons/GenericThumbnailIcon.d.ts +3 -0
  334. package/dist/editor/icons/GenericThumbnailIcon.d.ts.map +1 -0
  335. package/dist/editor/icons/GenericThumbnailIcon.js +5 -0
  336. package/dist/editor/icons/GenericThumbnailIcon.js.map +1 -0
  337. package/dist/editor/icons/GripHandleIcon.d.ts +3 -0
  338. package/dist/editor/icons/GripHandleIcon.d.ts.map +1 -0
  339. package/dist/editor/icons/GripHandleIcon.js +5 -0
  340. package/dist/editor/icons/GripHandleIcon.js.map +1 -0
  341. package/dist/editor/icons/MergePreviewIcon.d.ts +3 -0
  342. package/dist/editor/icons/MergePreviewIcon.d.ts.map +1 -0
  343. package/dist/editor/icons/MergePreviewIcon.js +5 -0
  344. package/dist/editor/icons/MergePreviewIcon.js.map +1 -0
  345. package/dist/editor/icons/WarningTriangleIcon.d.ts +3 -0
  346. package/dist/editor/icons/WarningTriangleIcon.d.ts.map +1 -0
  347. package/dist/editor/icons/WarningTriangleIcon.js +5 -0
  348. package/dist/editor/icons/WarningTriangleIcon.js.map +1 -0
  349. package/dist/editor/icons/index.d.ts +5 -0
  350. package/dist/editor/icons/index.d.ts.map +1 -0
  351. package/dist/editor/icons/index.js +5 -0
  352. package/dist/editor/icons/index.js.map +1 -0
  353. package/dist/editor/index.d.ts +43 -0
  354. package/dist/editor/index.d.ts.map +1 -0
  355. package/dist/editor/index.js +30 -0
  356. package/dist/editor/index.js.map +1 -0
  357. package/dist/editor/plugin/P1Plugin.d.ts +161 -0
  358. package/dist/editor/plugin/P1Plugin.d.ts.map +1 -0
  359. package/dist/editor/plugin/P1Plugin.js +358 -0
  360. package/dist/editor/plugin/P1Plugin.js.map +1 -0
  361. package/dist/editor/plugin/createP1Overrides.d.ts +161 -0
  362. package/dist/editor/plugin/createP1Overrides.d.ts.map +1 -0
  363. package/dist/editor/plugin/createP1Overrides.js +103 -0
  364. package/dist/editor/plugin/createP1Overrides.js.map +1 -0
  365. package/dist/editor/plugin/index.d.ts +13 -0
  366. package/dist/editor/plugin/index.d.ts.map +1 -0
  367. package/dist/editor/plugin/index.js +10 -0
  368. package/dist/editor/plugin/index.js.map +1 -0
  369. package/dist/editor/plugin/mergePreviewPlugin.d.ts +9 -0
  370. package/dist/editor/plugin/mergePreviewPlugin.d.ts.map +1 -0
  371. package/dist/editor/plugin/mergePreviewPlugin.js +26 -0
  372. package/dist/editor/plugin/mergePreviewPlugin.js.map +1 -0
  373. package/dist/editor/presets.d.ts +8 -0
  374. package/dist/editor/presets.d.ts.map +1 -0
  375. package/dist/editor/presets.js +24 -0
  376. package/dist/editor/presets.js.map +1 -0
  377. package/dist/editor/useAutoSave.d.ts +37 -0
  378. package/dist/editor/useAutoSave.d.ts.map +1 -0
  379. package/dist/editor/useAutoSave.js +118 -0
  380. package/dist/editor/useAutoSave.js.map +1 -0
  381. package/dist/editor/useBranches.d.ts +67 -0
  382. package/dist/editor/useBranches.d.ts.map +1 -0
  383. package/dist/editor/useBranches.js +78 -0
  384. package/dist/editor/useBranches.js.map +1 -0
  385. package/dist/editor/useComponentRegistry.d.ts +31 -0
  386. package/dist/editor/useComponentRegistry.d.ts.map +1 -0
  387. package/dist/editor/useComponentRegistry.js +237 -0
  388. package/dist/editor/useComponentRegistry.js.map +1 -0
  389. package/dist/editor/useDocuments.d.ts +66 -0
  390. package/dist/editor/useDocuments.d.ts.map +1 -0
  391. package/dist/editor/useDocuments.js +112 -0
  392. package/dist/editor/useDocuments.js.map +1 -0
  393. package/dist/editor/useMergePreview.d.ts +15 -0
  394. package/dist/editor/useMergePreview.d.ts.map +1 -0
  395. package/dist/editor/useMergePreview.js +56 -0
  396. package/dist/editor/useMergePreview.js.map +1 -0
  397. package/dist/editor/useP1Editor.d.ts +125 -0
  398. package/dist/editor/useP1Editor.d.ts.map +1 -0
  399. package/dist/editor/useP1Editor.js +339 -0
  400. package/dist/editor/useP1Editor.js.map +1 -0
  401. package/dist/editor/useP1Overrides.d.ts +52 -0
  402. package/dist/editor/useP1Overrides.d.ts.map +1 -0
  403. package/dist/editor/useP1Overrides.js +74 -0
  404. package/dist/editor/useP1Overrides.js.map +1 -0
  405. package/dist/editor/useP1Plugin.d.ts +95 -0
  406. package/dist/editor/useP1Plugin.d.ts.map +1 -0
  407. package/dist/editor/useP1Plugin.js +112 -0
  408. package/dist/editor/useP1Plugin.js.map +1 -0
  409. package/dist/editor/useRealtime.d.ts +148 -0
  410. package/dist/editor/useRealtime.d.ts.map +1 -0
  411. package/dist/editor/useRealtime.js +244 -0
  412. package/dist/editor/useRealtime.js.map +1 -0
  413. package/dist/editor/utils/buildThumbnailOverride.d.ts +28 -0
  414. package/dist/editor/utils/buildThumbnailOverride.d.ts.map +1 -0
  415. package/dist/editor/utils/buildThumbnailOverride.js +39 -0
  416. package/dist/editor/utils/buildThumbnailOverride.js.map +1 -0
  417. package/dist/editor/utils/componentRegistry.d.ts +141 -0
  418. package/dist/editor/utils/componentRegistry.d.ts.map +1 -0
  419. package/dist/editor/utils/componentRegistry.js +238 -0
  420. package/dist/editor/utils/componentRegistry.js.map +1 -0
  421. package/dist/editor/utils/createStablePluginArray.d.ts +27 -0
  422. package/dist/editor/utils/createStablePluginArray.d.ts.map +1 -0
  423. package/dist/editor/utils/createStablePluginArray.js +40 -0
  424. package/dist/editor/utils/createStablePluginArray.js.map +1 -0
  425. package/dist/editor/utils/path.d.ts +2 -0
  426. package/dist/editor/utils/path.d.ts.map +1 -0
  427. package/dist/editor/utils/path.js +20 -0
  428. package/dist/editor/utils/path.js.map +1 -0
  429. package/dist/editor/utils/puckYjsBinding.d.ts +66 -0
  430. package/dist/editor/utils/puckYjsBinding.d.ts.map +1 -0
  431. package/dist/editor/utils/puckYjsBinding.js +272 -0
  432. package/dist/editor/utils/puckYjsBinding.js.map +1 -0
  433. package/dist/index.d.ts +121 -0
  434. package/dist/index.d.ts.map +1 -0
  435. package/dist/index.js +109 -0
  436. package/dist/index.js.map +1 -0
  437. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.d.ts +35 -0
  438. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.d.ts.map +1 -0
  439. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js +59 -0
  440. package/dist/merge/components/conflict-notifications/ConflictNotificationToast.js.map +1 -0
  441. package/dist/merge/components/conflict-notifications/index.d.ts +10 -0
  442. package/dist/merge/components/conflict-notifications/index.d.ts.map +1 -0
  443. package/dist/merge/components/conflict-notifications/index.js +8 -0
  444. package/dist/merge/components/conflict-notifications/index.js.map +1 -0
  445. package/dist/merge/components/conflict-notifications/useConflictNotifications.d.ts +69 -0
  446. package/dist/merge/components/conflict-notifications/useConflictNotifications.d.ts.map +1 -0
  447. package/dist/merge/components/conflict-notifications/useConflictNotifications.js +151 -0
  448. package/dist/merge/components/conflict-notifications/useConflictNotifications.js.map +1 -0
  449. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.d.ts +55 -0
  450. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.d.ts.map +1 -0
  451. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js +112 -0
  452. package/dist/merge/components/conflict-resolution/ComponentConflictGroup.js.map +1 -0
  453. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.d.ts +51 -0
  454. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.d.ts.map +1 -0
  455. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js +75 -0
  456. package/dist/merge/components/conflict-resolution/PuckFieldResolutionPanel.js.map +1 -0
  457. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.d.ts +37 -0
  458. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.d.ts.map +1 -0
  459. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js +42 -0
  460. package/dist/merge/components/conflict-resolution/RenderedResolutionPreview.js.map +1 -0
  461. package/dist/merge/components/conflict-resolution/index.d.ts +12 -0
  462. package/dist/merge/components/conflict-resolution/index.d.ts.map +1 -0
  463. package/dist/merge/components/conflict-resolution/index.js +9 -0
  464. package/dist/merge/components/conflict-resolution/index.js.map +1 -0
  465. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.d.ts +44 -0
  466. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.d.ts.map +1 -0
  467. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js +186 -0
  468. package/dist/merge/components/merge-resolution/CherryPickVisualPanel.js.map +1 -0
  469. package/dist/merge/components/merge-resolution/ComponentClickOverlay.d.ts +34 -0
  470. package/dist/merge/components/merge-resolution/ComponentClickOverlay.d.ts.map +1 -0
  471. package/dist/merge/components/merge-resolution/ComponentClickOverlay.js +141 -0
  472. package/dist/merge/components/merge-resolution/ComponentClickOverlay.js.map +1 -0
  473. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts +26 -0
  474. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.d.ts.map +1 -0
  475. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js +167 -0
  476. package/dist/merge/components/merge-resolution/DocumentResolutionDetail.js.map +1 -0
  477. package/dist/merge/components/merge-resolution/DocumentResolutionList.d.ts +21 -0
  478. package/dist/merge/components/merge-resolution/DocumentResolutionList.d.ts.map +1 -0
  479. package/dist/merge/components/merge-resolution/DocumentResolutionList.js +106 -0
  480. package/dist/merge/components/merge-resolution/DocumentResolutionList.js.map +1 -0
  481. package/dist/merge/components/merge-resolution/MergeResolutionPage.d.ts +15 -0
  482. package/dist/merge/components/merge-resolution/MergeResolutionPage.d.ts.map +1 -0
  483. package/dist/merge/components/merge-resolution/MergeResolutionPage.js +90 -0
  484. package/dist/merge/components/merge-resolution/MergeResolutionPage.js.map +1 -0
  485. package/dist/merge/components/merge-resolution/MergeResolutionToolbar.d.ts +26 -0
  486. package/dist/merge/components/merge-resolution/MergeResolutionToolbar.d.ts.map +1 -0
  487. package/dist/merge/components/merge-resolution/MergeResolutionToolbar.js +23 -0
  488. package/dist/merge/components/merge-resolution/MergeResolutionToolbar.js.map +1 -0
  489. package/dist/merge/components/merge-resolution/MergeReviewPage.d.ts +11 -0
  490. package/dist/merge/components/merge-resolution/MergeReviewPage.d.ts.map +1 -0
  491. package/dist/merge/components/merge-resolution/MergeReviewPage.js +26 -0
  492. package/dist/merge/components/merge-resolution/MergeReviewPage.js.map +1 -0
  493. package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.d.ts +16 -0
  494. package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.d.ts.map +1 -0
  495. package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.js +15 -0
  496. package/dist/merge/components/merge-resolution/ResolutionStrategyPicker.js.map +1 -0
  497. package/dist/merge/components/merge-resolution/index.d.ts +20 -0
  498. package/dist/merge/components/merge-resolution/index.d.ts.map +1 -0
  499. package/dist/merge/components/merge-resolution/index.js +12 -0
  500. package/dist/merge/components/merge-resolution/index.js.map +1 -0
  501. package/dist/merge/index.d.ts +8 -0
  502. package/dist/merge/index.d.ts.map +1 -0
  503. package/dist/merge/index.js +6 -0
  504. package/dist/merge/index.js.map +1 -0
  505. package/dist/merge/useMergeResolution.d.ts +65 -0
  506. package/dist/merge/useMergeResolution.d.ts.map +1 -0
  507. package/dist/merge/useMergeResolution.js +444 -0
  508. package/dist/merge/useMergeResolution.js.map +1 -0
  509. package/dist/merge/utils/puckFieldClassifier.d.ts +151 -0
  510. package/dist/merge/utils/puckFieldClassifier.d.ts.map +1 -0
  511. package/dist/merge/utils/puckFieldClassifier.js +427 -0
  512. package/dist/merge/utils/puckFieldClassifier.js.map +1 -0
  513. package/dist/p1/editor/client.d.ts +17 -0
  514. package/dist/p1/editor/client.d.ts.map +1 -0
  515. package/dist/p1/editor/client.js +79 -0
  516. package/dist/p1/editor/client.js.map +1 -0
  517. package/dist/p1/editor/connect/connect-field-modal.d.ts +11 -0
  518. package/dist/p1/editor/connect/connect-field-modal.d.ts.map +1 -0
  519. package/dist/p1/editor/connect/connect-field-modal.js +127 -0
  520. package/dist/p1/editor/connect/connect-field-modal.js.map +1 -0
  521. package/dist/p1/editor/connect/connect-preview-config.d.ts +7 -0
  522. package/dist/p1/editor/connect/connect-preview-config.d.ts.map +1 -0
  523. package/dist/p1/editor/connect/connect-preview-config.js +76 -0
  524. package/dist/p1/editor/connect/connect-preview-config.js.map +1 -0
  525. package/dist/p1/editor/connect/field-connect-plugin.d.ts +10 -0
  526. package/dist/p1/editor/connect/field-connect-plugin.d.ts.map +1 -0
  527. package/dist/p1/editor/connect/field-connect-plugin.js +46 -0
  528. package/dist/p1/editor/connect/field-connect-plugin.js.map +1 -0
  529. package/dist/p1/editor/editor-preview-resolve.d.ts +11 -0
  530. package/dist/p1/editor/editor-preview-resolve.d.ts.map +1 -0
  531. package/dist/p1/editor/editor-preview-resolve.js +115 -0
  532. package/dist/p1/editor/editor-preview-resolve.js.map +1 -0
  533. package/dist/p1/editor/hooks.d.ts +42 -0
  534. package/dist/p1/editor/hooks.d.ts.map +1 -0
  535. package/dist/p1/editor/hooks.js +219 -0
  536. package/dist/p1/editor/hooks.js.map +1 -0
  537. package/dist/p1/editor/icons/button-block-icon.d.ts +2 -0
  538. package/dist/p1/editor/icons/button-block-icon.d.ts.map +1 -0
  539. package/dist/p1/editor/icons/button-block-icon.js +5 -0
  540. package/dist/p1/editor/icons/button-block-icon.js.map +1 -0
  541. package/dist/p1/editor/icons/default-block-icon.d.ts +2 -0
  542. package/dist/p1/editor/icons/default-block-icon.d.ts.map +1 -0
  543. package/dist/p1/editor/icons/default-block-icon.js +5 -0
  544. package/dist/p1/editor/icons/default-block-icon.js.map +1 -0
  545. package/dist/p1/editor/icons/divider-block-icon.d.ts +2 -0
  546. package/dist/p1/editor/icons/divider-block-icon.d.ts.map +1 -0
  547. package/dist/p1/editor/icons/divider-block-icon.js +5 -0
  548. package/dist/p1/editor/icons/divider-block-icon.js.map +1 -0
  549. package/dist/p1/editor/icons/grid-block-icon.d.ts +2 -0
  550. package/dist/p1/editor/icons/grid-block-icon.d.ts.map +1 -0
  551. package/dist/p1/editor/icons/grid-block-icon.js +5 -0
  552. package/dist/p1/editor/icons/grid-block-icon.js.map +1 -0
  553. package/dist/p1/editor/icons/heading-block-icon.d.ts +2 -0
  554. package/dist/p1/editor/icons/heading-block-icon.d.ts.map +1 -0
  555. package/dist/p1/editor/icons/heading-block-icon.js +5 -0
  556. package/dist/p1/editor/icons/heading-block-icon.js.map +1 -0
  557. package/dist/p1/editor/icons/image-block-icon.d.ts +2 -0
  558. package/dist/p1/editor/icons/image-block-icon.d.ts.map +1 -0
  559. package/dist/p1/editor/icons/image-block-icon.js +5 -0
  560. package/dist/p1/editor/icons/image-block-icon.js.map +1 -0
  561. package/dist/p1/editor/icons/list-block-icon.d.ts +2 -0
  562. package/dist/p1/editor/icons/list-block-icon.d.ts.map +1 -0
  563. package/dist/p1/editor/icons/list-block-icon.js +5 -0
  564. package/dist/p1/editor/icons/list-block-icon.js.map +1 -0
  565. package/dist/p1/editor/icons/paragraph-block-icon.d.ts +2 -0
  566. package/dist/p1/editor/icons/paragraph-block-icon.d.ts.map +1 -0
  567. package/dist/p1/editor/icons/paragraph-block-icon.js +5 -0
  568. package/dist/p1/editor/icons/paragraph-block-icon.js.map +1 -0
  569. package/dist/p1/editor/icons/quote-block-icon.d.ts +2 -0
  570. package/dist/p1/editor/icons/quote-block-icon.d.ts.map +1 -0
  571. package/dist/p1/editor/icons/quote-block-icon.js +5 -0
  572. package/dist/p1/editor/icons/quote-block-icon.js.map +1 -0
  573. package/dist/p1/editor/icons/spacer-block-icon.d.ts +2 -0
  574. package/dist/p1/editor/icons/spacer-block-icon.d.ts.map +1 -0
  575. package/dist/p1/editor/icons/spacer-block-icon.js +5 -0
  576. package/dist/p1/editor/icons/spacer-block-icon.js.map +1 -0
  577. package/dist/p1/editor/index.d.ts +9 -0
  578. package/dist/p1/editor/index.d.ts.map +1 -0
  579. package/dist/p1/editor/index.js +9 -0
  580. package/dist/p1/editor/index.js.map +1 -0
  581. package/dist/p1/editor/json-tree.d.ts +6 -0
  582. package/dist/p1/editor/json-tree.d.ts.map +1 -0
  583. package/dist/p1/editor/json-tree.js +64 -0
  584. package/dist/p1/editor/json-tree.js.map +1 -0
  585. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts +11 -0
  586. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts.map +1 -0
  587. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +62 -0
  588. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -0
  589. package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.d.ts +23 -0
  590. package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.d.ts.map +1 -0
  591. package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.js +39 -0
  592. package/dist/p1/editor/remote-datasources/remote-datasource-form-helpers.js.map +1 -0
  593. package/dist/p1/editor/remote-datasources/remote-datasource-manager.d.ts +4 -0
  594. package/dist/p1/editor/remote-datasources/remote-datasource-manager.d.ts.map +1 -0
  595. package/dist/p1/editor/remote-datasources/remote-datasource-manager.js +72 -0
  596. package/dist/p1/editor/remote-datasources/remote-datasource-manager.js.map +1 -0
  597. package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.d.ts +6 -0
  598. package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.d.ts.map +1 -0
  599. package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js +67 -0
  600. package/dist/p1/editor/remote-datasources/template-preview-params-toolbar.js.map +1 -0
  601. package/dist/p1/editor/template-autocomplete-layer.d.ts +11 -0
  602. package/dist/p1/editor/template-autocomplete-layer.d.ts.map +1 -0
  603. package/dist/p1/editor/template-autocomplete-layer.js +386 -0
  604. package/dist/p1/editor/template-autocomplete-layer.js.map +1 -0
  605. package/dist/p1/pages/add-override-for-template.d.ts +4 -0
  606. package/dist/p1/pages/add-override-for-template.d.ts.map +1 -0
  607. package/dist/p1/pages/add-override-for-template.js +47 -0
  608. package/dist/p1/pages/add-override-for-template.js.map +1 -0
  609. package/dist/p1/pages/create-page-form.d.ts +2 -0
  610. package/dist/p1/pages/create-page-form.d.ts.map +1 -0
  611. package/dist/p1/pages/create-page-form.js +28 -0
  612. package/dist/p1/pages/create-page-form.js.map +1 -0
  613. package/dist/p1/pages/create-template-form.d.ts +2 -0
  614. package/dist/p1/pages/create-template-form.d.ts.map +1 -0
  615. package/dist/p1/pages/create-template-form.js +36 -0
  616. package/dist/p1/pages/create-template-form.js.map +1 -0
  617. package/dist/p1/pages/delete-row-button.d.ts +7 -0
  618. package/dist/p1/pages/delete-row-button.d.ts.map +1 -0
  619. package/dist/p1/pages/delete-row-button.js +23 -0
  620. package/dist/p1/pages/delete-row-button.js.map +1 -0
  621. package/dist/p1/pages/hooks.d.ts +5 -0
  622. package/dist/p1/pages/hooks.d.ts.map +1 -0
  623. package/dist/p1/pages/hooks.js +55 -0
  624. package/dist/p1/pages/hooks.js.map +1 -0
  625. package/dist/p1/pages/index.d.ts +7 -0
  626. package/dist/p1/pages/index.d.ts.map +1 -0
  627. package/dist/p1/pages/index.js +7 -0
  628. package/dist/p1/pages/index.js.map +1 -0
  629. package/dist/p1/pages/render-client.d.ts +6 -0
  630. package/dist/p1/pages/render-client.d.ts.map +1 -0
  631. package/dist/p1/pages/render-client.js +7 -0
  632. package/dist/p1/pages/render-client.js.map +1 -0
  633. package/dist/p1/pages/structure-page.d.ts +2 -0
  634. package/dist/p1/pages/structure-page.d.ts.map +1 -0
  635. package/dist/p1/pages/structure-page.js +46 -0
  636. package/dist/p1/pages/structure-page.js.map +1 -0
  637. package/dist/p1/router-context.d.ts +11 -0
  638. package/dist/p1/router-context.d.ts.map +1 -0
  639. package/dist/p1/router-context.js +11 -0
  640. package/dist/p1/router-context.js.map +1 -0
  641. package/dist/pds/components/AgentChip.d.ts +26 -0
  642. package/dist/pds/components/AgentChip.d.ts.map +1 -0
  643. package/dist/pds/components/AgentChip.js +15 -0
  644. package/dist/pds/components/AgentChip.js.map +1 -0
  645. package/dist/pds/components/AgentChip.module.css +141 -0
  646. package/dist/pds/components/DocStateBadge.d.ts +7 -0
  647. package/dist/pds/components/DocStateBadge.d.ts.map +1 -0
  648. package/dist/pds/components/DocStateBadge.js +24 -0
  649. package/dist/pds/components/DocStateBadge.js.map +1 -0
  650. package/dist/pds/components/NavIcon.d.ts +7 -0
  651. package/dist/pds/components/NavIcon.d.ts.map +1 -0
  652. package/dist/pds/components/NavIcon.js +6 -0
  653. package/dist/pds/components/NavIcon.js.map +1 -0
  654. package/dist/pds/components/P1EditorHeader.d.ts +41 -0
  655. package/dist/pds/components/P1EditorHeader.d.ts.map +1 -0
  656. package/dist/pds/components/P1EditorHeader.js +138 -0
  657. package/dist/pds/components/P1EditorHeader.js.map +1 -0
  658. package/dist/pds/components/P1EditorHeader.module.css +253 -0
  659. package/dist/pds/components/P1EditorSubheader.d.ts +42 -0
  660. package/dist/pds/components/P1EditorSubheader.d.ts.map +1 -0
  661. package/dist/pds/components/P1EditorSubheader.js +27 -0
  662. package/dist/pds/components/P1EditorSubheader.js.map +1 -0
  663. package/dist/pds/components/P1EditorSubheader.module.css +81 -0
  664. package/dist/pds/components/PageNavigator.d.ts +38 -0
  665. package/dist/pds/components/PageNavigator.d.ts.map +1 -0
  666. package/dist/pds/components/PageNavigator.js +60 -0
  667. package/dist/pds/components/PageNavigator.js.map +1 -0
  668. package/dist/pds/components/PageNavigator.module.css +276 -0
  669. package/dist/pds/components/PresenceStack.d.ts +17 -0
  670. package/dist/pds/components/PresenceStack.d.ts.map +1 -0
  671. package/dist/pds/components/PresenceStack.js +14 -0
  672. package/dist/pds/components/PresenceStack.js.map +1 -0
  673. package/dist/pds/components/PresenceStack.module.css +48 -0
  674. package/dist/pds/components/PublishControl.d.ts +15 -0
  675. package/dist/pds/components/PublishControl.d.ts.map +1 -0
  676. package/dist/pds/components/PublishControl.js +46 -0
  677. package/dist/pds/components/PublishControl.js.map +1 -0
  678. package/dist/pds/components/PublishControl.module.css +36 -0
  679. package/dist/pds/components/WorkstreamSwitcher.d.ts +26 -0
  680. package/dist/pds/components/WorkstreamSwitcher.d.ts.map +1 -0
  681. package/dist/pds/components/WorkstreamSwitcher.js +134 -0
  682. package/dist/pds/components/WorkstreamSwitcher.js.map +1 -0
  683. package/dist/pds/components/WorkstreamSwitcher.module.css +320 -0
  684. package/dist/pds/index.d.ts +33 -0
  685. package/dist/pds/index.d.ts.map +1 -0
  686. package/dist/pds/index.js +46 -0
  687. package/dist/pds/index.js.map +1 -0
  688. package/dist/pds/theme/pds-core-content.d.ts +2 -0
  689. package/dist/pds/theme/pds-core-content.d.ts.map +1 -0
  690. package/dist/pds/theme/pds-core-content.js +8 -0
  691. package/dist/pds/theme/pds-core-content.js.map +1 -0
  692. package/dist/pds/types.d.ts +7 -0
  693. package/dist/pds/types.d.ts.map +1 -0
  694. package/dist/pds/types.js +2 -0
  695. package/dist/pds/types.js.map +1 -0
  696. package/dist/pds/utils/deriveDocState.d.ts +8 -0
  697. package/dist/pds/utils/deriveDocState.d.ts.map +1 -0
  698. package/dist/pds/utils/deriveDocState.js +14 -0
  699. package/dist/pds/utils/deriveDocState.js.map +1 -0
  700. package/dist/server.d.ts +23 -0
  701. package/dist/server.d.ts.map +1 -0
  702. package/dist/server.js +24 -0
  703. package/dist/server.js.map +1 -0
  704. package/dist/versioning/components/HistoricalVersionBanner.d.ts +28 -0
  705. package/dist/versioning/components/HistoricalVersionBanner.d.ts.map +1 -0
  706. package/dist/versioning/components/HistoricalVersionBanner.js +23 -0
  707. package/dist/versioning/components/HistoricalVersionBanner.js.map +1 -0
  708. package/dist/versioning/components/VersionPublishedBadge.d.ts +5 -0
  709. package/dist/versioning/components/VersionPublishedBadge.d.ts.map +1 -0
  710. package/dist/versioning/components/VersionPublishedBadge.js +8 -0
  711. package/dist/versioning/components/VersionPublishedBadge.js.map +1 -0
  712. package/dist/versioning/components/version-compare/BranchDiffHeader.d.ts +53 -0
  713. package/dist/versioning/components/version-compare/BranchDiffHeader.d.ts.map +1 -0
  714. package/dist/versioning/components/version-compare/BranchDiffHeader.js +15 -0
  715. package/dist/versioning/components/version-compare/BranchDiffHeader.js.map +1 -0
  716. package/dist/versioning/components/version-compare/BranchMergeCompare.d.ts +43 -0
  717. package/dist/versioning/components/version-compare/BranchMergeCompare.d.ts.map +1 -0
  718. package/dist/versioning/components/version-compare/BranchMergeCompare.js +70 -0
  719. package/dist/versioning/components/version-compare/BranchMergeCompare.js.map +1 -0
  720. package/dist/versioning/components/version-compare/ComponentNode.d.ts +34 -0
  721. package/dist/versioning/components/version-compare/ComponentNode.d.ts.map +1 -0
  722. package/dist/versioning/components/version-compare/ComponentNode.js +40 -0
  723. package/dist/versioning/components/version-compare/ComponentNode.js.map +1 -0
  724. package/dist/versioning/components/version-compare/ComponentTree.d.ts +34 -0
  725. package/dist/versioning/components/version-compare/ComponentTree.d.ts.map +1 -0
  726. package/dist/versioning/components/version-compare/ComponentTree.js +35 -0
  727. package/dist/versioning/components/version-compare/ComponentTree.js.map +1 -0
  728. package/dist/versioning/components/version-compare/DiffHeader.d.ts +45 -0
  729. package/dist/versioning/components/version-compare/DiffHeader.d.ts.map +1 -0
  730. package/dist/versioning/components/version-compare/DiffHeader.js +11 -0
  731. package/dist/versioning/components/version-compare/DiffHeader.js.map +1 -0
  732. package/dist/versioning/components/version-compare/DocumentDiffList.d.ts +39 -0
  733. package/dist/versioning/components/version-compare/DocumentDiffList.d.ts.map +1 -0
  734. package/dist/versioning/components/version-compare/DocumentDiffList.js +32 -0
  735. package/dist/versioning/components/version-compare/DocumentDiffList.js.map +1 -0
  736. package/dist/versioning/components/version-compare/PropDiffPanel.d.ts +30 -0
  737. package/dist/versioning/components/version-compare/PropDiffPanel.d.ts.map +1 -0
  738. package/dist/versioning/components/version-compare/PropDiffPanel.js +34 -0
  739. package/dist/versioning/components/version-compare/PropDiffPanel.js.map +1 -0
  740. package/dist/versioning/components/version-compare/PropDiffRow.d.ts +22 -0
  741. package/dist/versioning/components/version-compare/PropDiffRow.d.ts.map +1 -0
  742. package/dist/versioning/components/version-compare/PropDiffRow.js +12 -0
  743. package/dist/versioning/components/version-compare/PropDiffRow.js.map +1 -0
  744. package/dist/versioning/components/version-compare/PropValueDisplay.d.ts +36 -0
  745. package/dist/versioning/components/version-compare/PropValueDisplay.d.ts.map +1 -0
  746. package/dist/versioning/components/version-compare/PropValueDisplay.js +79 -0
  747. package/dist/versioning/components/version-compare/PropValueDisplay.js.map +1 -0
  748. package/dist/versioning/components/version-compare/VersionComparePage.d.ts +34 -0
  749. package/dist/versioning/components/version-compare/VersionComparePage.d.ts.map +1 -0
  750. package/dist/versioning/components/version-compare/VersionComparePage.js +61 -0
  751. package/dist/versioning/components/version-compare/VersionComparePage.js.map +1 -0
  752. package/dist/versioning/components/version-compare/VisualBranchCompare.d.ts +41 -0
  753. package/dist/versioning/components/version-compare/VisualBranchCompare.d.ts.map +1 -0
  754. package/dist/versioning/components/version-compare/VisualBranchCompare.js +84 -0
  755. package/dist/versioning/components/version-compare/VisualBranchCompare.js.map +1 -0
  756. package/dist/versioning/components/version-compare/VisualVersionCompare.d.ts +67 -0
  757. package/dist/versioning/components/version-compare/VisualVersionCompare.d.ts.map +1 -0
  758. package/dist/versioning/components/version-compare/VisualVersionCompare.js +84 -0
  759. package/dist/versioning/components/version-compare/VisualVersionCompare.js.map +1 -0
  760. package/dist/versioning/components/version-compare/index.d.ts +30 -0
  761. package/dist/versioning/components/version-compare/index.d.ts.map +1 -0
  762. package/dist/versioning/components/version-compare/index.js +18 -0
  763. package/dist/versioning/components/version-compare/index.js.map +1 -0
  764. package/dist/versioning/components/version-history/AgentCheckpointBadge.d.ts +22 -0
  765. package/dist/versioning/components/version-history/AgentCheckpointBadge.d.ts.map +1 -0
  766. package/dist/versioning/components/version-history/AgentCheckpointBadge.js +55 -0
  767. package/dist/versioning/components/version-history/AgentCheckpointBadge.js.map +1 -0
  768. package/dist/versioning/components/version-history/VersionItem.d.ts +30 -0
  769. package/dist/versioning/components/version-history/VersionItem.d.ts.map +1 -0
  770. package/dist/versioning/components/version-history/VersionItem.js +39 -0
  771. package/dist/versioning/components/version-history/VersionItem.js.map +1 -0
  772. package/dist/versioning/components/version-history/index.d.ts +10 -0
  773. package/dist/versioning/components/version-history/index.d.ts.map +1 -0
  774. package/dist/versioning/components/version-history/index.js +8 -0
  775. package/dist/versioning/components/version-history/index.js.map +1 -0
  776. package/dist/versioning/index.d.ts +17 -0
  777. package/dist/versioning/index.d.ts.map +1 -0
  778. package/dist/versioning/index.js +10 -0
  779. package/dist/versioning/index.js.map +1 -0
  780. package/dist/versioning/useCheckpoints.d.ts +66 -0
  781. package/dist/versioning/useCheckpoints.d.ts.map +1 -0
  782. package/dist/versioning/useCheckpoints.js +100 -0
  783. package/dist/versioning/useCheckpoints.js.map +1 -0
  784. package/dist/versioning/useVersions.d.ts +81 -0
  785. package/dist/versioning/useVersions.d.ts.map +1 -0
  786. package/dist/versioning/useVersions.js +110 -0
  787. package/dist/versioning/useVersions.js.map +1 -0
  788. package/dist/versioning/utils/branchDiff.d.ts +136 -0
  789. package/dist/versioning/utils/branchDiff.d.ts.map +1 -0
  790. package/dist/versioning/utils/branchDiff.js +172 -0
  791. package/dist/versioning/utils/branchDiff.js.map +1 -0
  792. package/dist/versioning/utils/diff.d.ts +63 -0
  793. package/dist/versioning/utils/diff.d.ts.map +1 -0
  794. package/dist/versioning/utils/diff.js +318 -0
  795. package/dist/versioning/utils/diff.js.map +1 -0
  796. package/dist/versioning/utils/highlightConfig.d.ts +41 -0
  797. package/dist/versioning/utils/highlightConfig.d.ts.map +1 -0
  798. package/dist/versioning/utils/highlightConfig.js +130 -0
  799. package/dist/versioning/utils/highlightConfig.js.map +1 -0
  800. package/package.json +113 -0
  801. package/src/pds/theme/PuckEditorTheme.css +277 -0
  802. package/src/pds/theme/PuckEditorTheme.test.ts +136 -0
  803. package/src/pds/theme/pds-core-content.ts +7 -0
  804. package/src/pds/theme/pds-core.css +2 -0
  805. package/src/styles.css +2366 -0
@@ -0,0 +1,112 @@
1
+ /**
2
+ * useP1Plugin Hook
3
+ *
4
+ * Creates a referentially stable CSS plugin instance for Puck.
5
+ * Internally reads context values and wires them through a Proxy pattern
6
+ * so the plugin object never changes identity, avoiding Puck re-renders.
7
+ */
8
+ import { useRef, useMemo } from 'react';
9
+ import { useP1Puck } from '../core/P1PuckContext.js';
10
+ import { createP1Plugin } from './plugin/P1Plugin.js';
11
+ /**
12
+ * Creates a referentially stable CSS plugin for Puck.
13
+ *
14
+ * Reads branches, documents, and other state from P1PuckProvider context.
15
+ * The returned plugin object is stable across re-renders — it uses a Proxy
16
+ * pattern to always delegate to the latest options without changing identity.
17
+ *
18
+ * Must be used inside a P1PuckProvider.
19
+ *
20
+ * @param options - Optional customization (selection tracking, version display, etc.)
21
+ * @returns A stable PuckPlugin instance
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * function Editor() {
26
+ * const plugin = useP1Plugin();
27
+ * return <Puck plugins={[plugin]} config={config} data={data} />;
28
+ * }
29
+ * ```
30
+ */
31
+ export function useP1Plugin(options = {}) {
32
+ const css = useP1Puck();
33
+ const fc = css.featureConfig ?? {
34
+ enableBranchSelector: true,
35
+ enableDocumentBrowser: true,
36
+ enableVersionHistory: true,
37
+ enableMergeControl: true,
38
+ enableAutoSave: true,
39
+ enablePublishButton: true,
40
+ enableCollaboratorAvatars: true,
41
+ enableAgentBanner: true,
42
+ enableFocusHighlighting: true,
43
+ enableRealtime: true,
44
+ presenceEnabled: true,
45
+ agentModeEnabled: false,
46
+ };
47
+ // Build the full plugin options from context + consumer options,
48
+ // gating features by the resolved featureConfig flags.
49
+ const pluginOptions = {
50
+ branches: fc.enableBranchSelector ? css.branches : [],
51
+ currentBranch: fc.enableBranchSelector ? css.currentBranch : null,
52
+ onBranchSwitch: fc.enableBranchSelector ? css.switchBranch : () => { },
53
+ getHasUnsavedChanges: css.getHasUnsavedChanges,
54
+ documents: fc.enableDocumentBrowser ? css.documents : [],
55
+ selectedDocumentPath: options.selectedDocumentPath ?? css.currentDocument?.path ?? null,
56
+ onDocumentSelect: fc.enableDocumentBrowser
57
+ ? (options.onDocumentSelect ?? css.loadDocument) : undefined,
58
+ onDocumentCreate: fc.enableDocumentBrowser
59
+ ? (options.onDocumentCreate ?? css.createDocument) : undefined,
60
+ onDocumentDelete: fc.enableDocumentBrowser
61
+ ? (options.onDocumentDelete ?? css.deleteDocument) : undefined,
62
+ documentsLoading: css.documentsLoading,
63
+ versions: fc.enableVersionHistory ? options.versions : undefined,
64
+ versionsLoading: fc.enableVersionHistory ? options.versionsLoading : false,
65
+ selectedVersionId: fc.enableVersionHistory ? options.selectedVersionId : undefined,
66
+ onVersionSelect: fc.enableVersionHistory ? options.onVersionSelect : undefined,
67
+ // Context-based sync is the default — no need for getter or legacy sync
68
+ useContextSync: true,
69
+ // Selection tracking
70
+ onSelectionChange: options.onSelectionChange,
71
+ // Merge comparison — gated by enableMergeControl
72
+ puckConfig: options.puckConfig,
73
+ onCompareWithLive: fc.enableMergeControl ? options.onCompareWithLive : undefined,
74
+ // Presence/Agent features — gated by featureConfig flags
75
+ showPresenceIndicator: fc.enableCollaboratorAvatars
76
+ ? options.showPresenceIndicator : false,
77
+ presence: fc.enableCollaboratorAvatars
78
+ ? (options.presence ?? css.presence?.actors) : undefined,
79
+ showAgentActivity: fc.enableAgentBanner ? options.showAgentActivity : false,
80
+ activeAgents: fc.enableAgentBanner
81
+ ? (options.activeAgents ?? css.presence?.agents?.filter(a => a.state === 'editing'))
82
+ : undefined,
83
+ showAgentActions: options.showAgentActions,
84
+ availableAgents: options.availableAgents,
85
+ onAgentAction: options.onAgentAction,
86
+ onStopAgent: css.stopAgent,
87
+ showFocusRegions: fc.enableFocusHighlighting ? options.showFocusRegions : false,
88
+ agentEditingRegions: options.agentEditingRegions,
89
+ // P1 Editor Header / Subheader
90
+ siteName: options.siteName,
91
+ siteMenuItems: options.siteMenuItems,
92
+ currentUser: options.currentUser,
93
+ onLogout: options.onLogout,
94
+ onPublish: fc.enablePublishButton ? options.onPublish : undefined,
95
+ onReviewAndPublish: options.onReviewAndPublish,
96
+ onCreateWorkstream: options.onCreateWorkstream,
97
+ onCreateBranch: options.onCreateBranch,
98
+ };
99
+ // Store options in a ref updated each render
100
+ const optionsRef = useRef(pluginOptions);
101
+ optionsRef.current = pluginOptions;
102
+ // Create a stable Proxy-backed options object that always reads from the ref
103
+ const stableOptions = useMemo(() => new Proxy({}, {
104
+ get(_target, prop) {
105
+ return optionsRef.current[prop];
106
+ },
107
+ }), []);
108
+ // Create plugin once with stable proxy options
109
+ const plugin = useMemo(() => createP1Plugin(stableOptions), [stableOptions]);
110
+ return plugin;
111
+ }
112
+ //# sourceMappingURL=useP1Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useP1Plugin.js","sourceRoot":"","sources":["../../src/editor/useP1Plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ /**
2
+ * Phase 3.2: useRealtime Hook
3
+ *
4
+ * React hook for real-time collaborative editing with Puck.
5
+ * Manages WebSocket connection and Yjs CRDT synchronization.
6
+ */
7
+ import type { PuckData, ActorPresence, ActorState, PublishResult } from '@pantheon-systems/css-client';
8
+ /**
9
+ * Parameters for the useRealtime hook.
10
+ */
11
+ export interface UseRealtimeParams {
12
+ /** WebSocket base URL (ws:// or wss://) */
13
+ baseUrl: string;
14
+ /** API key for authentication */
15
+ apiKey?: string;
16
+ /** Site ID */
17
+ siteId: string;
18
+ /** Branch ID */
19
+ branchId: string;
20
+ /** Document path (null means no document loaded yet) */
21
+ documentPath: string | null;
22
+ /** Actor ID (user or agent ID) */
23
+ actorId: string;
24
+ /** Actor type */
25
+ actorType: 'user' | 'agent';
26
+ /**
27
+ * Session ID for agent authorization.
28
+ * Obtained from startEdit() response.
29
+ * When provided, enables server-side enforcement of Agent Politeness Protocol.
30
+ */
31
+ sessionId?: string;
32
+ /**
33
+ * Initial data to seed the Y.Doc with before connecting.
34
+ * When provided, the Y.Doc will be populated with this data before
35
+ * the WebSocket connects, allowing the server to send only a delta
36
+ * instead of the full CRDT state. This eliminates the redundant
37
+ * full-doc re-render on page load.
38
+ *
39
+ * Tracked via ref (not in effect deps) to avoid triggering reconnection
40
+ * when data changes during editing.
41
+ */
42
+ initialData?: PuckData | null;
43
+ /** Whether real-time is enabled */
44
+ enabled?: boolean;
45
+ /** Callback when remote changes arrive */
46
+ onRemoteUpdate?: (data: PuckData) => void;
47
+ /**
48
+ * Callback when presence update is received from server via WebSocket.
49
+ * Called with the full list of actors in the document.
50
+ */
51
+ onPresenceUpdate?: (actors: ActorPresence[]) => void;
52
+ /**
53
+ * Callback when another actor updates their focus regions.
54
+ * Called with the actor ID and their new focus regions.
55
+ */
56
+ onFocusRegionBroadcast?: (actorId: string, focusRegions: string[]) => void;
57
+ /**
58
+ * Optional token refresher for WebSocket reconnection.
59
+ * Called when the WebSocket connection closes unexpectedly.
60
+ * Should return a fresh token or null if the session cannot be refreshed.
61
+ */
62
+ tokenRefresher?: () => Promise<string | null>;
63
+ }
64
+ /**
65
+ * Return value from the useRealtime hook.
66
+ */
67
+ export interface UseRealtimeReturn {
68
+ /** Whether currently connected to the real-time session */
69
+ connected: boolean;
70
+ /** Apply a local change (will be synced to other clients) */
71
+ applyLocalChange: (data: PuckData, actionMeta?: {
72
+ actionType: string;
73
+ actionMetadata: Record<string, unknown>;
74
+ }) => void;
75
+ /** Get the current snapshot from the Yjs document. Returns null if not connected. */
76
+ getSnapshot: () => PuckData | null;
77
+ /** Any error that occurred */
78
+ error: Error | null;
79
+ /**
80
+ * Send focus regions update to the server.
81
+ * @param regions - JSON paths the actor is focused on
82
+ * @returns true if message was sent, false if not connected
83
+ */
84
+ sendFocusRegions: (regions: string[]) => boolean;
85
+ /**
86
+ * Send a presence heartbeat to keep the connection alive.
87
+ * @param state - Optional state update (active, idle, editing)
88
+ */
89
+ sendHeartbeat: (state?: ActorState) => void;
90
+ /**
91
+ * Whether presence updates are available via WebSocket.
92
+ * Returns true when connected and able to send/receive presence messages.
93
+ */
94
+ presenceViaWebSocket: boolean;
95
+ /**
96
+ * The document path that the realtime connection is currently bound to.
97
+ * Captured at the moment of connection establishment. Returns null when
98
+ * disconnected or during connection transitions. Used by callers to verify
99
+ * that data being sent matches the active connection's document.
100
+ */
101
+ connectedDocumentPath: string | null;
102
+ /**
103
+ * Wait for the server to acknowledge that all preceding WebSocket messages
104
+ * have been processed. Used before publish to ensure the DO has the latest edits.
105
+ * @returns Promise that resolves when the server confirms delivery
106
+ * @throws Error if not connected or if timeout expires
107
+ */
108
+ waitForDelivery: () => Promise<void>;
109
+ /**
110
+ * Request the server to publish the current document via WebSocket.
111
+ * The Durable Object handles flush + publish internally, eliminating
112
+ * client-side orchestration and race conditions.
113
+ * @returns Promise that resolves with the publish result
114
+ * @throws Error if not connected or if timeout expires
115
+ */
116
+ requestPublish: () => Promise<PublishResult>;
117
+ }
118
+ /**
119
+ * Hook for real-time collaborative editing with Puck.
120
+ *
121
+ * @example
122
+ * ```tsx
123
+ * function Editor() {
124
+ * const realtime = useRealtime({
125
+ * baseUrl: 'wss://api.example.com',
126
+ * siteId: 'site-123',
127
+ * branchId: 'branch-456',
128
+ * documentPath: 'pages/home',
129
+ * actorId: 'user-789',
130
+ * actorType: 'user',
131
+ * enabled: true,
132
+ * onRemoteUpdate: (data) => setPuckData(data),
133
+ * });
134
+ *
135
+ * return (
136
+ * <Puck
137
+ * data={puckData}
138
+ * onChange={(data) => {
139
+ * setPuckData(data);
140
+ * realtime.applyLocalChange(data);
141
+ * }}
142
+ * />
143
+ * );
144
+ * }
145
+ * ```
146
+ */
147
+ export declare function useRealtime(params: UseRealtimeParams): UseRealtimeReturn;
148
+ //# sourceMappingURL=useRealtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRealtime.d.ts","sourceRoot":"","sources":["../../src/editor/useRealtime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAMvG;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IAEf,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,wDAAwD;IACxD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB;IACjB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE9B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAE1C;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;IAErD;;;OAGG;IACH,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE3E;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IAEnB,6DAA6D;IAC7D,gBAAgB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAEzH,qFAAqF;IACrF,WAAW,EAAE,MAAM,QAAQ,GAAG,IAAI,CAAC;IAEnC,8BAA8B;IAC9B,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC;IAEjD;;;OAGG;IACH,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAE5C;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC;;;;;OAKG;IACH,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,iBAAiB,CAkPxE"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Phase 3.2: useRealtime Hook
3
+ *
4
+ * React hook for real-time collaborative editing with Puck.
5
+ * Manages WebSocket connection and Yjs CRDT synchronization.
6
+ */
7
+ import { useState, useEffect, useLayoutEffect, useRef, useCallback } from 'react';
8
+ import { RealtimeClient } from '@pantheon-systems/css-client';
9
+ import { createPuckYjsBinding, } from './utils/puckYjsBinding.js';
10
+ /**
11
+ * Hook for real-time collaborative editing with Puck.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * function Editor() {
16
+ * const realtime = useRealtime({
17
+ * baseUrl: 'wss://api.example.com',
18
+ * siteId: 'site-123',
19
+ * branchId: 'branch-456',
20
+ * documentPath: 'pages/home',
21
+ * actorId: 'user-789',
22
+ * actorType: 'user',
23
+ * enabled: true,
24
+ * onRemoteUpdate: (data) => setPuckData(data),
25
+ * });
26
+ *
27
+ * return (
28
+ * <Puck
29
+ * data={puckData}
30
+ * onChange={(data) => {
31
+ * setPuckData(data);
32
+ * realtime.applyLocalChange(data);
33
+ * }}
34
+ * />
35
+ * );
36
+ * }
37
+ * ```
38
+ */
39
+ export function useRealtime(params) {
40
+ const { baseUrl, apiKey, tokenRefresher, siteId, branchId, documentPath, actorId, actorType, sessionId, enabled = true, onRemoteUpdate, onPresenceUpdate, onFocusRegionBroadcast, } = params;
41
+ const [connected, setConnected] = useState(false);
42
+ const [error, setError] = useState(null);
43
+ const [presenceViaWebSocket, setPresenceViaWebSocket] = useState(false);
44
+ // Track the document path that the active connection is bound to.
45
+ // Captured at connection time, cleared on disconnect. Used to prevent
46
+ // cross-document state bleed: callers can compare this against their
47
+ // current document path before sending data through the binding.
48
+ const connectedDocumentPathRef = useRef(null);
49
+ // Refs to avoid recreating callbacks
50
+ const clientRef = useRef(null);
51
+ const bindingRef = useRef(null);
52
+ const onRemoteUpdateRef = useRef(onRemoteUpdate);
53
+ const onPresenceUpdateRef = useRef(onPresenceUpdate);
54
+ const onFocusRegionBroadcastRef = useRef(onFocusRegionBroadcast);
55
+ // Keep tokenRefresher in a ref so the RealtimeClient always calls the
56
+ // latest version without needing to be recreated on reference changes.
57
+ const tokenRefresherRef = useRef(tokenRefresher);
58
+ tokenRefresherRef.current = tokenRefresher;
59
+ const initialDataRef = useRef(params.initialData);
60
+ // Keep ref in sync but do NOT add to effect deps — changing data
61
+ // during editing must not trigger a WebSocket reconnection.
62
+ initialDataRef.current = params.initialData;
63
+ // Keep callback refs up to date
64
+ useEffect(() => {
65
+ onRemoteUpdateRef.current = onRemoteUpdate;
66
+ }, [onRemoteUpdate]);
67
+ useEffect(() => {
68
+ onPresenceUpdateRef.current = onPresenceUpdate;
69
+ }, [onPresenceUpdate]);
70
+ useEffect(() => {
71
+ onFocusRegionBroadcastRef.current = onFocusRegionBroadcast;
72
+ }, [onFocusRegionBroadcast]);
73
+ // Eagerly clean up binding and client refs when dependencies change.
74
+ // useLayoutEffect cleanup runs BEFORE regular useEffect callbacks (including
75
+ // children's effects like PuckDataSynchronizer). This prevents a race condition
76
+ // where PuckDataSynchronizer dispatches setData during a document switch, Puck
77
+ // fires onChange, and saveData sends data through a stale binding that still
78
+ // points to the previous document's Y.Doc — causing cross-document state bleed.
79
+ useLayoutEffect(() => {
80
+ return () => {
81
+ connectedDocumentPathRef.current = null;
82
+ bindingRef.current?.destroy();
83
+ bindingRef.current = null;
84
+ clientRef.current?.disconnect();
85
+ clientRef.current = null;
86
+ };
87
+ }, [baseUrl, apiKey, siteId, branchId, documentPath, actorId, actorType, sessionId, enabled]);
88
+ // Effect to manage connection lifecycle
89
+ useEffect(() => {
90
+ // Don't connect if disabled, no document path, or missing required params
91
+ if (!enabled || !documentPath || !branchId || !siteId) {
92
+ return;
93
+ }
94
+ // Create new client
95
+ // NOTE: We don't use RealtimeClient.onUpdate because it would cause double callbacks.
96
+ // The Puck-Yjs binding observer already handles remote updates properly by checking
97
+ // transaction origin to distinguish local vs remote changes.
98
+ const client = new RealtimeClient({
99
+ baseUrl,
100
+ apiKey,
101
+ // Use ref-wrapped refresher so the client always calls the latest version
102
+ // without needing to be recreated when the function reference changes.
103
+ tokenRefresher: tokenRefresherRef.current
104
+ ? () => {
105
+ const refresher = tokenRefresherRef.current;
106
+ return refresher ? refresher() : Promise.resolve(null);
107
+ }
108
+ : undefined,
109
+ onConnect: () => {
110
+ // Guard: ignore callbacks from stale clients.
111
+ // When dependencies change, the old client is destroyed and a new one
112
+ // created. The old WebSocket's close event fires asynchronously and may
113
+ // arrive AFTER the new client has already connected. Without this guard,
114
+ // the stale onDisconnect would overwrite the new client's connection
115
+ // state (connectedDocumentPathRef, connected, presenceViaWebSocket),
116
+ // permanently breaking sync in one direction and corrupting presence.
117
+ if (clientRef.current !== client)
118
+ return;
119
+ // Capture the document path this connection is bound to.
120
+ // documentPath here is from the effect closure — it's the value
121
+ // that was current when this effect ran, which is the document
122
+ // the WebSocket was created for.
123
+ connectedDocumentPathRef.current = documentPath;
124
+ setConnected(true);
125
+ setPresenceViaWebSocket(true);
126
+ setError(null);
127
+ },
128
+ onDisconnect: () => {
129
+ // Guard: ignore callbacks from stale clients (see onConnect comment).
130
+ if (clientRef.current !== client)
131
+ return;
132
+ connectedDocumentPathRef.current = null;
133
+ setConnected(false);
134
+ setPresenceViaWebSocket(false);
135
+ },
136
+ onError: (err) => {
137
+ setError(err);
138
+ },
139
+ // onUpdate intentionally omitted - binding handles this
140
+ onPresenceUpdate: (actors) => {
141
+ onPresenceUpdateRef.current?.(actors);
142
+ },
143
+ onFocusRegionBroadcast: (actorId, focusRegions) => {
144
+ onFocusRegionBroadcastRef.current?.(actorId, focusRegions);
145
+ },
146
+ });
147
+ clientRef.current = client;
148
+ // Create Puck-Yjs binding - this is the ONLY place that calls onRemoteUpdate
149
+ // The binding observes Yjs changes and filters out local changes (origin === 'local')
150
+ const binding = createPuckYjsBinding(client.getYDoc(), (data) => {
151
+ onRemoteUpdateRef.current?.(data);
152
+ });
153
+ bindingRef.current = binding;
154
+ // Seed Y.Doc with initial REST data before connecting.
155
+ // This populates the client's Y.Doc so the server can send a delta
156
+ // instead of the full CRDT state on initial connect.
157
+ // Safe because:
158
+ // - applyLocalChange uses LOCAL_ORIGIN (observer ignores local changes)
159
+ // - this.ws is null at this point (update listener won't try to send)
160
+ if (initialDataRef.current) {
161
+ binding.applyLocalChange(initialDataRef.current);
162
+ }
163
+ // Connect to the document session
164
+ client.connect({
165
+ siteId,
166
+ branchId,
167
+ documentPath,
168
+ actorId,
169
+ actorType,
170
+ sessionId,
171
+ });
172
+ // Cleanup on unmount or when dependencies change
173
+ return () => {
174
+ connectedDocumentPathRef.current = null;
175
+ binding.destroy();
176
+ bindingRef.current = null;
177
+ client.disconnect();
178
+ clientRef.current = null;
179
+ setConnected(false);
180
+ setPresenceViaWebSocket(false);
181
+ };
182
+ }, [baseUrl, apiKey, siteId, branchId, documentPath, actorId, actorType, sessionId, enabled]);
183
+ // Apply local change function
184
+ const applyLocalChange = useCallback((data, actionMeta) => {
185
+ if (bindingRef.current) {
186
+ // Set action metadata on the RealtimeClient before applying the change.
187
+ // The client's ydoc 'update' handler will send it after the CRDT update.
188
+ if (actionMeta && clientRef.current) {
189
+ clientRef.current.setActionMetadata(actionMeta);
190
+ }
191
+ bindingRef.current.applyLocalChange(data);
192
+ }
193
+ }, [connected]);
194
+ // Get current snapshot from Yjs document
195
+ const getSnapshot = useCallback(() => {
196
+ if (clientRef.current) {
197
+ const snapshot = clientRef.current.getSnapshot();
198
+ if (snapshot && (snapshot.content || snapshot.root)) {
199
+ return snapshot;
200
+ }
201
+ }
202
+ return null;
203
+ }, []);
204
+ // Send focus regions update to server
205
+ const sendFocusRegions = useCallback((regions) => {
206
+ if (clientRef.current) {
207
+ return clientRef.current.sendFocusRegions(regions);
208
+ }
209
+ return false;
210
+ }, []);
211
+ // Send presence heartbeat to server
212
+ const sendHeartbeat = useCallback((state) => {
213
+ if (clientRef.current) {
214
+ clientRef.current.sendHeartbeat(state);
215
+ }
216
+ }, []);
217
+ // Wait for delivery acknowledgment from server
218
+ const waitForDelivery = useCallback(() => {
219
+ if (clientRef.current) {
220
+ return clientRef.current.waitForDelivery();
221
+ }
222
+ return Promise.reject(new Error('Not connected'));
223
+ }, []);
224
+ // Request publish via WebSocket (DO handles flush + publish)
225
+ const requestPublish = useCallback(() => {
226
+ if (clientRef.current) {
227
+ return clientRef.current.requestPublish();
228
+ }
229
+ return Promise.reject(new Error('Not connected'));
230
+ }, []);
231
+ return {
232
+ connected,
233
+ applyLocalChange,
234
+ getSnapshot,
235
+ error,
236
+ sendFocusRegions,
237
+ sendHeartbeat,
238
+ presenceViaWebSocket,
239
+ connectedDocumentPath: connectedDocumentPathRef.current,
240
+ waitForDelivery,
241
+ requestPublish,
242
+ };
243
+ }
244
+ //# sourceMappingURL=useRealtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRealtime.js","sourceRoot":"","sources":["../../src/editor/useRealtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * buildThumbnailOverride
3
+ *
4
+ * Builds a Puck `componentItem` override that shows a schematic SVG thumbnail
5
+ * alongside the component name and a drag-handle affordance.
6
+ *
7
+ * The caller provides a `thumbnailMap` — a plain record from component name to
8
+ * a zero-argument React function component that renders the SVG wireframe.
9
+ * Unknown names fall back to a generic line-stub placeholder so the drawer
10
+ * always looks consistent even if a thumbnail hasn't been designed yet.
11
+ *
12
+ * Layout: [thumbnail 48×32] [name — flex 1] [grip dots]
13
+ */
14
+ import React from 'react';
15
+ import type { PuckOverrides } from '../plugin/index.js';
16
+ /** A zero-argument React component that renders a thumbnail SVG. */
17
+ export type ThumbnailFC = React.FC;
18
+ /** Map from Puck component name to its thumbnail component. */
19
+ export type ThumbnailMap = Record<string, ThumbnailFC>;
20
+ /**
21
+ * Returns a partial `PuckOverrides` object containing a `componentItem` override
22
+ * that renders a thumbnail, the component name, and a drag-handle affordance.
23
+ *
24
+ * Pass the result to `useP1Editor`'s `additionalOverrides` or merge it with
25
+ * your existing overrides.
26
+ */
27
+ export declare function buildThumbnailOverride(thumbnailMap: ThumbnailMap): Partial<PuckOverrides>;
28
+ //# sourceMappingURL=buildThumbnailOverride.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildThumbnailOverride.d.ts","sourceRoot":"","sources":["../../../src/editor/utils/buildThumbnailOverride.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;AAEnC,+DAA+D;AAC/D,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAkBvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC,CAiCzF"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { GenericThumbnailIcon } from '../icons/GenericThumbnailIcon.js';
3
+ import { GripHandleIcon } from '../icons/GripHandleIcon.js';
4
+ // ─── Thumbnail wrapper ─────────────────────────────────────────────────────────
5
+ function Thumbnail({ name, thumbnailMap }) {
6
+ const ThumbnailFn = thumbnailMap[name] ?? GenericThumbnailIcon;
7
+ return (_jsx("div", { style: { width: 48, height: 32, flexShrink: 0, borderRadius: 3, overflow: 'hidden' }, "aria-label": `${name} layout preview`, children: _jsx(ThumbnailFn, {}) }));
8
+ }
9
+ // ─── Public builder ───────────────────────────────────────────────────────────
10
+ /**
11
+ * Returns a partial `PuckOverrides` object containing a `componentItem` override
12
+ * that renders a thumbnail, the component name, and a drag-handle affordance.
13
+ *
14
+ * Pass the result to `useP1Editor`'s `additionalOverrides` or merge it with
15
+ * your existing overrides.
16
+ */
17
+ export function buildThumbnailOverride(thumbnailMap) {
18
+ return {
19
+ drawerItem: ({ name }) => (_jsxs("div", { style: {
20
+ display: 'flex',
21
+ alignItems: 'center',
22
+ gap: 10,
23
+ width: '100%',
24
+ padding: '6px 8px',
25
+ borderRadius: 6,
26
+ cursor: 'grab',
27
+ boxSizing: 'border-box',
28
+ }, children: [_jsx(Thumbnail, { name: name, thumbnailMap: thumbnailMap }), _jsx("span", { style: {
29
+ flex: 1,
30
+ fontSize: 13,
31
+ fontWeight: 500,
32
+ color: 'inherit',
33
+ overflow: 'hidden',
34
+ textOverflow: 'ellipsis',
35
+ whiteSpace: 'nowrap',
36
+ }, children: name }), _jsx(GripHandleIcon, {})] })),
37
+ };
38
+ }
39
+ //# sourceMappingURL=buildThumbnailOverride.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildThumbnailOverride.js","sourceRoot":"","sources":["../../../src/editor/utils/buildThumbnailOverride.tsx"],"names":[],"mappings":";AAgBA,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAQ5D,kFAAkF;AAElF,SAAS,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAgD;IACrF,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;IAC/D,OAAO,CACL,cACE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBACxE,GAAG,IAAI,iBAAiB,YAEpC,KAAC,WAAW,KAAG,GACX,CACP,CAAC;AACJ,CAAC;AAED,iFAAiF;AAEjF;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,YAA0B;IAC/D,OAAO;QACL,UAAU,EAAE,CAAC,EAAE,IAAI,EAA+C,EAAE,EAAE,CAAC,CACrE,eACE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,QAAQ;gBACpB,GAAG,EAAE,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,SAAS;gBAClB,YAAY,EAAE,CAAC;gBACf,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,YAAY;aACxB,aAED,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,GAAI,EACrD,eACE,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC;wBACP,QAAQ,EAAE,EAAE;wBACZ,UAAU,EAAE,GAAG;wBACf,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,QAAQ;wBAClB,YAAY,EAAE,UAAU;wBACxB,UAAU,EAAE,QAAQ;qBACrB,YAEA,IAAI,GACA,EACP,KAAC,cAAc,KAAG,IACd,CACP;KACF,CAAC;AACJ,CAAC"}