@alpaca-headless/alpaca-headless-nextjs 1.0.129 → 1.0.246

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 (364) hide show
  1. package/dist/editor.css +439 -49
  2. package/dist/esm/alpacaContext.js +16 -0
  3. package/dist/esm/client-components/ClientLink.js +34 -0
  4. package/dist/{cjs/components → esm/client-components}/LinkEditor.js +22 -19
  5. package/dist/esm/client-components/MultiComponentEditor.js +22 -0
  6. package/dist/esm/client-components/index.js +4 -0
  7. package/dist/esm/components/Error.js +10 -0
  8. package/dist/{cjs → esm}/components/Image.js +4 -7
  9. package/dist/esm/components/Link.js +32 -0
  10. package/dist/esm/components/LinkPreview.js +30 -0
  11. package/dist/esm/components/LockedFieldIndicator.js +21 -0
  12. package/dist/esm/components/Picture.js +133 -0
  13. package/dist/esm/components/PictureEditor.js +77 -0
  14. package/dist/esm/components/PictureEditorWrapper.js +6 -0
  15. package/dist/esm/components/Placeholder.js +117 -0
  16. package/dist/esm/components/RichText.js +30 -0
  17. package/dist/esm/components/RichTextEditor.js +92 -0
  18. package/dist/esm/components/RichTextEditorWrapper.js +7 -0
  19. package/dist/esm/components/Slot.js +6 -0
  20. package/dist/esm/components/Text.js +29 -0
  21. package/dist/esm/components/TextEditor.js +78 -0
  22. package/dist/esm/components/TextEditorWrapper.js +19 -0
  23. package/dist/esm/components/Translate.js +12 -0
  24. package/dist/esm/components/TranslateEditor.js +24 -0
  25. package/dist/esm/components/index.js +7 -0
  26. package/dist/esm/components/picture-shared.js +26 -0
  27. package/dist/esm/editor/ComponentInfo.js +12 -0
  28. package/dist/esm/editor/ConfirmationDialog.js +29 -0
  29. package/dist/{cjs → esm}/editor/ContentTree.js +55 -46
  30. package/dist/esm/editor/ContextMenu.js +90 -0
  31. package/dist/esm/editor/DialogButtons.js +4 -0
  32. package/dist/esm/editor/DictionaryEditor.js +37 -0
  33. package/dist/esm/editor/EditFrame.js +115 -0
  34. package/dist/esm/editor/EditFrameWrapper.js +7 -0
  35. package/dist/esm/editor/Editor.js +15 -0
  36. package/dist/esm/editor/EditorClient.js +877 -0
  37. package/dist/esm/editor/EditorClientHost.js +15 -0
  38. package/dist/esm/editor/EditorWarning.js +10 -0
  39. package/dist/esm/editor/EditorWarnings.js +13 -0
  40. package/dist/esm/editor/FieldEditorPopup.js +23 -0
  41. package/dist/esm/editor/FieldList.js +48 -0
  42. package/dist/esm/editor/FieldListField.js +137 -0
  43. package/dist/{cjs → esm}/editor/FloatingToolbar.js +20 -23
  44. package/dist/esm/editor/ItemInfo.js +14 -0
  45. package/dist/esm/editor/ItemNameDialog.js +32 -0
  46. package/dist/esm/editor/LinkEditorDialog.js +61 -0
  47. package/dist/esm/editor/MainLayout.js +18 -0
  48. package/dist/esm/editor/MediaSelector.js +85 -0
  49. package/dist/esm/editor/Outline.js +82 -0
  50. package/dist/esm/editor/PageViewer.js +41 -0
  51. package/dist/esm/editor/PictureEditorDialog.js +201 -0
  52. package/dist/esm/editor/PlaceholderDropZone.js +130 -0
  53. package/dist/esm/editor/PlaceholderDropZoneHost.js +7 -0
  54. package/dist/esm/editor/PreviewClient.js +5 -0
  55. package/dist/esm/editor/PreviewClientHost.js +7 -0
  56. package/dist/esm/editor/PreviewPanel.js +7 -0
  57. package/dist/esm/editor/PublishDialog.js +15 -0
  58. package/dist/esm/editor/Terminal.js +55 -0
  59. package/dist/esm/editor/ai/AiPopup.js +28 -0
  60. package/dist/esm/editor/ai/AiResponseMessage.js +20 -0
  61. package/dist/{cjs/editor → esm/editor/ai}/AiTerminal.js +67 -48
  62. package/dist/esm/editor/ai/AiToolCall.js +15 -0
  63. package/dist/esm/editor/commands/commands.js +1 -0
  64. package/dist/esm/editor/commands/componentCommands.js +287 -0
  65. package/dist/esm/editor/commands/createVersionCommand.js +26 -0
  66. package/dist/esm/editor/commands/undo.js +22 -0
  67. package/dist/esm/editor/componentTreeHelper.js +20 -0
  68. package/dist/esm/editor/config/config.js +261 -0
  69. package/dist/esm/editor/editContext.js +11 -0
  70. package/dist/esm/editor/editor-warnings/ItemLocked.js +40 -0
  71. package/dist/esm/editor/editor-warnings/ValidationErrors.js +22 -0
  72. package/dist/esm/editor/fieldTypes/CheckboxEditor.js +21 -0
  73. package/dist/esm/editor/fieldTypes/DropLinkEditor.js +50 -0
  74. package/dist/esm/editor/fieldTypes/InternalLinkFieldEditor.js +41 -0
  75. package/dist/{cjs → esm}/editor/fieldTypes/LinkFieldEditor.js +14 -16
  76. package/dist/esm/editor/fieldTypes/MultiLineText.js +25 -0
  77. package/dist/esm/editor/fieldTypes/PictureFieldEditor.js +33 -0
  78. package/dist/esm/editor/fieldTypes/RawEditor.js +26 -0
  79. package/dist/esm/editor/fieldTypes/RichTextEditor.js +7 -0
  80. package/dist/esm/editor/fieldTypes/RichTextEditorComponent.js +46 -0
  81. package/dist/esm/editor/fieldTypes/SingleLineText.js +25 -0
  82. package/dist/esm/editor/fieldTypes/TreeListEditor.js +57 -0
  83. package/dist/esm/editor/index.js +4 -0
  84. package/dist/esm/editor/itemCommands.js +27 -0
  85. package/dist/esm/editor/menubar/BrowseHistory.js +39 -0
  86. package/dist/esm/editor/menubar/ItemLanguageVersion.js +20 -0
  87. package/dist/esm/editor/menubar/LanguageSelector.js +18 -0
  88. package/dist/esm/editor/menubar/Menu.js +105 -0
  89. package/dist/esm/editor/menubar/PageViewerControls.js +66 -0
  90. package/dist/esm/editor/menubar/VersionSelector.js +18 -0
  91. package/dist/esm/editor/previewContext.js +5 -0
  92. package/dist/esm/editor/services/contentService.js +58 -0
  93. package/dist/esm/editor/services/editService.js +428 -0
  94. package/dist/esm/editor/sidebar/ComponentPalette.js +42 -0
  95. package/dist/esm/editor/sidebar/ComponentTree.js +237 -0
  96. package/dist/esm/editor/sidebar/Debug.js +46 -0
  97. package/dist/esm/editor/sidebar/EditHistory.js +66 -0
  98. package/dist/esm/editor/sidebar/EditorForm.js +24 -0
  99. package/dist/esm/editor/sidebar/GraphQL.js +85 -0
  100. package/dist/esm/editor/sidebar/Insert.js +7 -0
  101. package/dist/esm/editor/sidebar/MainContentTree.js +38 -0
  102. package/dist/esm/editor/sidebar/Sessions.js +11 -0
  103. package/dist/esm/editor/sidebar/Sidebar.js +13 -0
  104. package/dist/esm/editor/sidebar/SidebarView.js +69 -0
  105. package/dist/esm/editor/sidebar/Workbox.js +77 -0
  106. package/dist/esm/editor/ui/CopyToClipboardButton.js +14 -0
  107. package/dist/esm/editor/ui/Icons.js +19 -0
  108. package/dist/esm/editor/ui/Section.js +8 -0
  109. package/dist/esm/editor/utils/insertOptions.js +39 -0
  110. package/dist/esm/editor/utils.js +71 -0
  111. package/dist/esm/editor/views/ItemEditor.js +18 -0
  112. package/dist/esm/fieldTypes.js +1 -0
  113. package/dist/esm/graphQL.js +50 -0
  114. package/dist/esm/graphQLTypes.js +1 -0
  115. package/dist/esm/index.js +8 -0
  116. package/dist/{cjs → esm}/loadRouteData.js +23 -20
  117. package/dist/{cjs → esm}/mediaProtection.js +4 -11
  118. package/dist/esm/middleware/handleRequest.js +45 -0
  119. package/dist/esm/middleware/index.js +1 -0
  120. package/dist/esm/servertypes.js +1 -0
  121. package/dist/primereact/resources/themes/arya-blue/theme.css +854 -790
  122. package/dist/primereact/resources/themes/arya-green/theme.css +854 -790
  123. package/dist/primereact/resources/themes/arya-orange/theme.css +854 -790
  124. package/dist/primereact/resources/themes/arya-purple/theme.css +854 -790
  125. package/dist/primereact/resources/themes/bootstrap4-dark-blue/theme.css +678 -615
  126. package/dist/primereact/resources/themes/bootstrap4-dark-purple/theme.css +678 -615
  127. package/dist/primereact/resources/themes/bootstrap4-light-blue/theme.css +679 -616
  128. package/dist/primereact/resources/themes/bootstrap4-light-purple/theme.css +679 -616
  129. package/dist/primereact/resources/themes/fluent-light/theme.css +686 -638
  130. package/dist/primereact/resources/themes/lara-dark-amber/theme.css +679 -630
  131. package/dist/primereact/resources/themes/lara-dark-blue/theme.css +679 -630
  132. package/dist/primereact/resources/themes/lara-dark-cyan/theme.css +679 -630
  133. package/dist/primereact/resources/themes/lara-dark-green/theme.css +679 -630
  134. package/dist/primereact/resources/themes/lara-dark-indigo/theme.css +679 -630
  135. package/dist/primereact/resources/themes/lara-dark-pink/theme.css +679 -630
  136. package/dist/primereact/resources/themes/lara-dark-purple/theme.css +679 -630
  137. package/dist/primereact/resources/themes/lara-dark-teal/theme.css +679 -630
  138. package/dist/primereact/resources/themes/lara-light-amber/theme.css +776 -725
  139. package/dist/primereact/resources/themes/lara-light-blue/theme.css +1011 -960
  140. package/dist/primereact/resources/themes/lara-light-cyan/theme.css +776 -725
  141. package/dist/primereact/resources/themes/lara-light-green/theme.css +820 -769
  142. package/dist/primereact/resources/themes/lara-light-indigo/theme.css +1016 -965
  143. package/dist/primereact/resources/themes/lara-light-pink/theme.css +776 -725
  144. package/dist/primereact/resources/themes/lara-light-purple/theme.css +1016 -965
  145. package/dist/primereact/resources/themes/lara-light-teal/theme.css +776 -725
  146. package/dist/primereact/resources/themes/luna-amber/theme.css +950 -887
  147. package/dist/primereact/resources/themes/luna-blue/theme.css +950 -887
  148. package/dist/primereact/resources/themes/luna-green/theme.css +950 -887
  149. package/dist/primereact/resources/themes/luna-pink/theme.css +950 -887
  150. package/dist/primereact/resources/themes/md-dark-deeppurple/theme.css +918 -950
  151. package/dist/primereact/resources/themes/md-dark-indigo/theme.css +918 -950
  152. package/dist/primereact/resources/themes/md-light-deeppurple/theme.css +878 -910
  153. package/dist/primereact/resources/themes/md-light-indigo/theme.css +878 -910
  154. package/dist/primereact/resources/themes/mdc-dark-deeppurple/theme.css +918 -950
  155. package/dist/primereact/resources/themes/mdc-dark-indigo/theme.css +918 -950
  156. package/dist/primereact/resources/themes/mdc-light-deeppurple/theme.css +878 -910
  157. package/dist/primereact/resources/themes/mdc-light-indigo/theme.css +878 -910
  158. package/dist/primereact/resources/themes/mira/theme.css +1562 -1532
  159. package/dist/primereact/resources/themes/nano/theme.css +707 -641
  160. package/dist/primereact/resources/themes/nova/theme.css +705 -643
  161. package/dist/primereact/resources/themes/nova-accent/theme.css +701 -636
  162. package/dist/primereact/resources/themes/nova-alt/theme.css +705 -643
  163. package/dist/primereact/resources/themes/rhea/theme.css +876 -811
  164. package/dist/primereact/resources/themes/saga-blue/theme.css +896 -832
  165. package/dist/primereact/resources/themes/saga-green/theme.css +896 -832
  166. package/dist/primereact/resources/themes/saga-orange/theme.css +896 -832
  167. package/dist/primereact/resources/themes/saga-purple/theme.css +896 -832
  168. package/dist/primereact/resources/themes/soho-dark/theme.css +701 -643
  169. package/dist/primereact/resources/themes/soho-light/theme.css +690 -634
  170. package/dist/primereact/resources/themes/tailwind-light/theme.css +1370 -1306
  171. package/dist/primereact/resources/themes/vela-blue/theme.css +862 -798
  172. package/dist/primereact/resources/themes/vela-green/theme.css +862 -798
  173. package/dist/primereact/resources/themes/vela-orange/theme.css +862 -798
  174. package/dist/primereact/resources/themes/vela-purple/theme.css +862 -798
  175. package/dist/primereact/resources/themes/viva-dark/theme.css +655 -612
  176. package/dist/primereact/resources/themes/viva-light/theme.css +737 -694
  177. package/package.json +25 -22
  178. package/types/alpacaContext.d.ts +14 -8
  179. package/types/{components → client-components}/LinkEditor.d.ts +1 -1
  180. package/types/client-components/MultiComponentEditor.d.ts +4 -2
  181. package/types/client-components/index.d.ts +3 -2
  182. package/types/components/Image.d.ts +1 -0
  183. package/types/components/Link.d.ts +1 -0
  184. package/types/components/LinkPreview.d.ts +6 -0
  185. package/types/components/LockedFieldIndicator.d.ts +6 -0
  186. package/types/components/Picture.d.ts +4 -6
  187. package/types/components/PictureEditorWrapper.d.ts +3 -0
  188. package/types/components/Placeholder.d.ts +12 -11
  189. package/types/components/RichText.d.ts +2 -1
  190. package/types/components/RichTextEditor.d.ts +3 -290
  191. package/types/components/RichTextEditorWrapper.d.ts +2 -0
  192. package/types/components/Slot.d.ts +2 -1
  193. package/types/components/Text.d.ts +2 -1
  194. package/types/components/TextEditor.d.ts +3 -290
  195. package/types/components/TextEditorWrapper.d.ts +4 -0
  196. package/types/components/Translate.d.ts +1 -0
  197. package/types/components/picture-shared.d.ts +16 -0
  198. package/types/editor/ComponentInfo.d.ts +1 -1
  199. package/types/editor/ContentTree.d.ts +2 -2
  200. package/types/editor/ContextMenu.d.ts +14 -0
  201. package/types/editor/DictionaryEditor.d.ts +1 -4
  202. package/types/editor/EditFrameWrapper.d.ts +6 -0
  203. package/types/editor/Editor.d.ts +68 -5
  204. package/types/editor/EditorClient.d.ts +17 -5
  205. package/types/editor/EditorClientHost.d.ts +4 -2
  206. package/types/editor/EditorWarning.d.ts +6 -0
  207. package/types/editor/EditorWarnings.d.ts +9 -0
  208. package/types/editor/FieldEditorPopup.d.ts +10 -0
  209. package/types/editor/FieldList.d.ts +6 -2
  210. package/types/editor/FieldListField.d.ts +6 -2
  211. package/types/editor/ItemInfo.d.ts +1 -1
  212. package/types/editor/Outline.d.ts +11 -0
  213. package/types/editor/PageViewer.d.ts +1 -0
  214. package/types/editor/PictureEditorDialog.d.ts +4 -2
  215. package/types/editor/PlaceholderDropZone.d.ts +3 -2
  216. package/types/editor/PlaceholderDropZoneHost.d.ts +3 -2
  217. package/types/editor/PreviewClient.d.ts +4 -0
  218. package/types/editor/PreviewClientHost.d.ts +4 -0
  219. package/types/editor/PreviewPanel.d.ts +1 -0
  220. package/types/editor/PublishDialog.d.ts +7 -0
  221. package/types/editor/Terminal.d.ts +6 -2
  222. package/types/editor/{AiPopup.d.ts → ai/AiPopup.d.ts} +2 -3
  223. package/types/editor/ai/AiResponseMessage.d.ts +7 -0
  224. package/types/editor/ai/AiTerminal.d.ts +4 -0
  225. package/types/editor/ai/AiToolCall.d.ts +9 -0
  226. package/types/editor/commands/commands.d.ts +21 -0
  227. package/types/editor/commands/componentCommands.d.ts +5 -0
  228. package/types/editor/commands/createVersionCommand.d.ts +2 -0
  229. package/types/editor/commands/undo.d.ts +15 -0
  230. package/types/editor/componentTreeHelper.d.ts +2 -1
  231. package/types/editor/config/config.d.ts +2 -0
  232. package/types/editor/editContext.d.ts +70 -93
  233. package/types/editor/editor-warnings/ItemLocked.d.ts +2 -0
  234. package/types/editor/editor-warnings/ValidationErrors.d.ts +2 -0
  235. package/types/editor/fieldTypes/CheckboxEditor.d.ts +3 -2
  236. package/types/editor/fieldTypes/DropLinkEditor.d.ts +5 -0
  237. package/types/editor/fieldTypes/InternalLinkFieldEditor.d.ts +3 -2
  238. package/types/editor/fieldTypes/LinkFieldEditor.d.ts +3 -2
  239. package/types/editor/fieldTypes/MultiLineText.d.ts +3 -2
  240. package/types/editor/fieldTypes/PictureFieldEditor.d.ts +2 -1
  241. package/types/editor/fieldTypes/RawEditor.d.ts +5 -0
  242. package/types/editor/fieldTypes/RichTextEditor.d.ts +4 -3
  243. package/types/editor/fieldTypes/RichTextEditorComponent.d.ts +5 -0
  244. package/types/editor/fieldTypes/SingleLineText.d.ts +3 -2
  245. package/types/editor/fieldTypes/TreeListEditor.d.ts +2 -1
  246. package/types/editor/index.d.ts +2 -0
  247. package/types/editor/itemCommands.d.ts +3 -0
  248. package/types/editor/menubar/BrowseHistory.d.ts +4 -0
  249. package/types/editor/menubar/ItemLanguageVersion.d.ts +1 -0
  250. package/types/editor/menubar/LanguageSelector.d.ts +5 -0
  251. package/types/editor/menubar/Menu.d.ts +1 -0
  252. package/types/editor/menubar/PageViewerControls.d.ts +1 -0
  253. package/types/editor/menubar/VersionSelector.d.ts +5 -0
  254. package/types/editor/previewContext.d.ts +4 -0
  255. package/types/editor/{contentService.d.ts → services/contentService.d.ts} +2 -3
  256. package/types/editor/services/editService.d.ts +27 -0
  257. package/types/editor/sidebar/ComponentPalette.d.ts +1 -0
  258. package/types/editor/sidebar/ComponentTree.d.ts +1 -0
  259. package/types/editor/sidebar/Debug.d.ts +1 -0
  260. package/types/editor/sidebar/EditHistory.d.ts +1 -0
  261. package/types/editor/sidebar/EditorForm.d.ts +1 -0
  262. package/types/editor/sidebar/GraphQL.d.ts +1 -0
  263. package/types/editor/sidebar/Insert.d.ts +1 -0
  264. package/types/editor/sidebar/MainContentTree.d.ts +3 -0
  265. package/types/editor/sidebar/Sessions.d.ts +1 -0
  266. package/types/editor/sidebar/Sidebar.d.ts +4 -0
  267. package/types/editor/sidebar/SidebarView.d.ts +8 -0
  268. package/types/editor/sidebar/Workbox.d.ts +1 -0
  269. package/types/editor/ui/CopyToClipboardButton.d.ts +3 -0
  270. package/types/editor/ui/Icons.d.ts +16 -0
  271. package/types/editor/utils/insertOptions.d.ts +3 -0
  272. package/types/editor/utils.d.ts +8 -0
  273. package/types/editor/views/ItemEditor.d.ts +1 -0
  274. package/types/fieldTypes.d.ts +39 -11
  275. package/types/graphQL.d.ts +12 -0
  276. package/types/index.d.ts +4 -3
  277. package/types/loadRouteData.d.ts +7 -85
  278. package/types/middleware/handleRequest.d.ts +5 -0
  279. package/types/middleware/index.d.ts +1 -1
  280. package/types/servertypes.d.ts +306 -0
  281. package/dist/cjs/alpacaContext.js +0 -12
  282. package/dist/cjs/client-components/ClientLink.js +0 -36
  283. package/dist/cjs/client-components/MultiComponentEditor.js +0 -26
  284. package/dist/cjs/client-components/index.js +0 -19
  285. package/dist/cjs/components/Error.js +0 -15
  286. package/dist/cjs/components/Link.js +0 -36
  287. package/dist/cjs/components/Picture.js +0 -124
  288. package/dist/cjs/components/PictureEditor.js +0 -49
  289. package/dist/cjs/components/Placeholder.js +0 -118
  290. package/dist/cjs/components/RichText.js +0 -47
  291. package/dist/cjs/components/RichTextEditor.js +0 -94
  292. package/dist/cjs/components/Slot.js +0 -8
  293. package/dist/cjs/components/Text.js +0 -46
  294. package/dist/cjs/components/TextEditor.js +0 -77
  295. package/dist/cjs/components/Translate.js +0 -14
  296. package/dist/cjs/components/TranslateEditor.js +0 -28
  297. package/dist/cjs/components/index.js +0 -23
  298. package/dist/cjs/editor/AiPopup.js +0 -33
  299. package/dist/cjs/editor/ComponentInfo.js +0 -15
  300. package/dist/cjs/editor/ComponentPalette.js +0 -23
  301. package/dist/cjs/editor/ComponentTree.js +0 -217
  302. package/dist/cjs/editor/ConfirmationDialog.js +0 -31
  303. package/dist/cjs/editor/Debug.js +0 -26
  304. package/dist/cjs/editor/DialogButtons.js +0 -7
  305. package/dist/cjs/editor/DictionaryEditor.js +0 -41
  306. package/dist/cjs/editor/EditFrame.js +0 -129
  307. package/dist/cjs/editor/EditHistory.js +0 -43
  308. package/dist/cjs/editor/Editor.js +0 -27
  309. package/dist/cjs/editor/EditorClient.js +0 -753
  310. package/dist/cjs/editor/EditorClientHost.js +0 -37
  311. package/dist/cjs/editor/FieldList.js +0 -51
  312. package/dist/cjs/editor/FieldListField.js +0 -75
  313. package/dist/cjs/editor/GraphQL.js +0 -87
  314. package/dist/cjs/editor/ItemEditor.js +0 -9
  315. package/dist/cjs/editor/ItemInfo.js +0 -17
  316. package/dist/cjs/editor/ItemNameDialog.js +0 -37
  317. package/dist/cjs/editor/LanguageSelector.js +0 -21
  318. package/dist/cjs/editor/LinkEditorDialog.js +0 -67
  319. package/dist/cjs/editor/MainLayout.js +0 -24
  320. package/dist/cjs/editor/MediaSelector.js +0 -92
  321. package/dist/cjs/editor/PictureEditorDialog.js +0 -93
  322. package/dist/cjs/editor/PlaceholderDropZone.js +0 -93
  323. package/dist/cjs/editor/PlaceholderDropZoneHost.js +0 -37
  324. package/dist/cjs/editor/SidebarTabs.js +0 -47
  325. package/dist/cjs/editor/Terminal.js +0 -61
  326. package/dist/cjs/editor/Utils.js +0 -43
  327. package/dist/cjs/editor/VersionSelector.js +0 -21
  328. package/dist/cjs/editor/Workbox.js +0 -41
  329. package/dist/cjs/editor/componentCommands.js +0 -141
  330. package/dist/cjs/editor/componentTreeHelper.js +0 -18
  331. package/dist/cjs/editor/contentService.js +0 -80
  332. package/dist/cjs/editor/editContext.js +0 -40
  333. package/dist/cjs/editor/editService.js +0 -334
  334. package/dist/cjs/editor/fieldTypes/CheckboxEditor.js +0 -21
  335. package/dist/cjs/editor/fieldTypes/InternalLinkFieldEditor.js +0 -46
  336. package/dist/cjs/editor/fieldTypes/MultiLineText.js +0 -25
  337. package/dist/cjs/editor/fieldTypes/PictureFieldEditor.js +0 -19
  338. package/dist/cjs/editor/fieldTypes/RichTextEditor.js +0 -24
  339. package/dist/cjs/editor/fieldTypes/SingleLineText.js +0 -25
  340. package/dist/cjs/editor/fieldTypes/TreeListEditor.js +0 -59
  341. package/dist/cjs/editor/index.js +0 -18
  342. package/dist/cjs/editor/ui/Section.js +0 -8
  343. package/dist/cjs/fieldTypes.js +0 -2
  344. package/dist/cjs/graphQLTypes.js +0 -2
  345. package/dist/cjs/index.js +0 -36
  346. package/dist/cjs/layoutData.js +0 -2
  347. package/dist/cjs/middleware/authorization.js +0 -52
  348. package/dist/cjs/middleware/index.js +0 -17
  349. package/types/editor/AiTerminal.d.ts +0 -5
  350. package/types/editor/ComponentPalette.d.ts +0 -6
  351. package/types/editor/ComponentTree.d.ts +0 -5
  352. package/types/editor/Debug.d.ts +0 -6
  353. package/types/editor/EditHistory.d.ts +0 -4
  354. package/types/editor/GraphQL.d.ts +0 -5
  355. package/types/editor/ItemEditor.d.ts +0 -4
  356. package/types/editor/LanguageSelector.d.ts +0 -5
  357. package/types/editor/SidebarTabs.d.ts +0 -8
  358. package/types/editor/Utils.d.ts +0 -3
  359. package/types/editor/VersionSelector.d.ts +0 -5
  360. package/types/editor/Workbox.d.ts +0 -6
  361. package/types/editor/componentCommands.d.ts +0 -4
  362. package/types/editor/editService.d.ts +0 -20
  363. package/types/layoutData.d.ts +0 -92
  364. package/types/middleware/authorization.d.ts +0 -2
@@ -0,0 +1,16 @@
1
+ export function getAlpacaContext() {
2
+ let context = globalThis.alpacaContext;
3
+ if (!context) {
4
+ context = {};
5
+ globalThis.alpacaContext = context;
6
+ }
7
+ return context;
8
+ }
9
+ /**
10
+ * @deprecated The method should not be used
11
+ */
12
+ export const useAlpacaContext = getAlpacaContext;
13
+ export function registerComponents(components) {
14
+ const context = useAlpacaContext();
15
+ context.components = components;
16
+ }
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { useEditContext, usePreviewContext } from "../editor";
15
+ import LinkEditor from "./LinkEditor";
16
+ import LinkPreview from "../components/LinkPreview";
17
+ export function ClientLink(_a) {
18
+ var { field, children } = _a, props = __rest(_a, ["field", "children"]);
19
+ if (!field)
20
+ return;
21
+ if (field.jsonValue) {
22
+ field = field.jsonValue;
23
+ }
24
+ if (!field.value)
25
+ return;
26
+ const previewContext = usePreviewContext();
27
+ if (previewContext) {
28
+ return (_jsx(LinkPreview, Object.assign({ field: field }, props, { children: children })));
29
+ }
30
+ const editing = useEditContext();
31
+ if (editing)
32
+ return (_jsx(LinkEditor, Object.assign({ field: field }, props, { children: children })));
33
+ return (_jsx("a", Object.assign({ href: field.value.url }, props, { children: children })));
34
+ }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  "use client";
3
2
  var __rest = (this && this.__rest) || function (s, e) {
4
3
  var t = {};
@@ -11,20 +10,22 @@ var __rest = (this && this.__rest) || function (s, e) {
11
10
  }
12
11
  return t;
13
12
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const jsx_runtime_1 = require("react/jsx-runtime");
16
- const react_1 = require("react");
17
- const LinkEditorDialog_1 = require("../editor/LinkEditorDialog");
18
- const __1 = require("..");
19
- function LinkEditor(_a) {
13
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
+ import { useEffect, useState } from "react";
15
+ //import { useEditContext } from "../editor/editContext";
16
+ import { LinkEditorDialog } from "../editor/LinkEditorDialog";
17
+ import { useEditContext } from "../editor/editContext";
18
+ export default function LinkEditor(_a) {
20
19
  var { field, children } = _a, props = __rest(_a, ["field", "children"]);
21
- const [showDialog, setShowDialog] = (0, react_1.useState)(false);
22
- const [link, setLink] = (0, react_1.useState)();
23
- const editContext = (0, __1.useEditContext)();
20
+ const [showDialog, setShowDialog] = useState(false);
21
+ const [link, setLink] = useState();
22
+ const editContext = useEditContext();
24
23
  if (!editContext)
25
24
  return;
26
- (0, react_1.useEffect)(() => {
25
+ useEffect(() => {
27
26
  var _a;
27
+ if (!field)
28
+ return;
28
29
  setLink({
29
30
  url: field.value.url,
30
31
  target: field.value.target,
@@ -33,17 +34,20 @@ function LinkEditor(_a) {
33
34
  itemId: (_a = field.value.targetItemLongId) === null || _a === void 0 ? void 0 : _a.split("/").pop(),
34
35
  queryString: field.value.queryString,
35
36
  });
37
+ editContext.registerAsRenderedField(field);
36
38
  }, [field]);
37
39
  if (!field)
38
- return;
39
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("a", Object.assign({ href: field.value.url }, props, { onClick: (e) => {
40
- editContext.setFocusedField(field);
40
+ return (_jsxs("a", Object.assign({}, props, { children: [_jsx("i", { className: "pi pi-exclamation-triangle a-text-sm a-text-red-500", title: "Unknown link field" }), children] })));
41
+ return (_jsxs(_Fragment, { children: [_jsxs("a", Object.assign({ href: field.value.url }, props, { onClick: (e) => {
42
+ var _a;
43
+ editContext.setFocusedField((_a = field._editor) === null || _a === void 0 ? void 0 : _a.descriptor, true);
41
44
  e.preventDefault();
42
- }, children: [children, " ", (0, jsx_runtime_1.jsx)("i", { onClick: (e) => {
45
+ }, children: [children, " ", _jsx("i", { onClick: (e) => {
46
+ var _a;
43
47
  setShowDialog(true);
44
- editContext.setFocusedField(field);
48
+ editContext.setFocusedField((_a = field._editor) === null || _a === void 0 ? void 0 : _a.descriptor, true);
45
49
  e.preventDefault();
46
- }, className: "pi pi-link a-cursor-pointer" })] })), showDialog && ((0, jsx_runtime_1.jsx)(LinkEditorDialog_1.LinkEditorDialog, { linkValue: link || { type: "internal" }, onOk: (link) => {
50
+ }, className: "pi pi-link a-cursor-pointer" })] })), showDialog && (_jsx(LinkEditorDialog, { linkValue: link || { type: "internal" }, onOk: (link) => {
47
51
  var _a, _b;
48
52
  const xml = link.type == "internal"
49
53
  ? '<link linktype="internal" querystring="' +
@@ -55,7 +59,7 @@ function LinkEditor(_a) {
55
59
  '" />'
56
60
  : '<link linktype="external" querystring="' +
57
61
  ((_b = link.queryString) !== null && _b !== void 0 ? _b : "") +
58
- ' url="' +
62
+ '" url="' +
59
63
  link.url +
60
64
  '" target="' +
61
65
  link.target +
@@ -65,4 +69,3 @@ function LinkEditor(_a) {
65
69
  setShowDialog(false);
66
70
  }, onCancel: () => setShowDialog(false) }))] }));
67
71
  }
68
- exports.default = LinkEditor;
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { EditFilterChildrenContextProvider, useEditContext, } from "../editor";
4
+ export function MultiComponentEditor({ component, children, thumbZoom = 0.2, thumbHeight = "150px", thumbWidth = "150px", numComponentsVisibleWhenNotEditing = 1, listClassName = "", listClassNameEditing = "a-flex a-gap-2 a-flex-wrap a-items-center", }) {
5
+ var editContext = useEditContext();
6
+ if (!editContext)
7
+ return null;
8
+ const style = {
9
+ "--a-mce-thumb-zoom": thumbZoom,
10
+ "--a-mce-thumb-width": thumbWidth,
11
+ "--a-mce-thumb-height": thumbHeight,
12
+ };
13
+ const filterChildCallback = ({ component, index, }) => {
14
+ var _a;
15
+ return index > numComponentsVisibleWhenNotEditing &&
16
+ ((_a = editContext === null || editContext === void 0 ? void 0 : editContext.selection) === null || _a === void 0 ? void 0 : _a.indexOf(component === null || component === void 0 ? void 0 : component.id)) === -1;
17
+ };
18
+ return (_jsxs("div", { className: "a-mce", style: style, children: [_jsxs("div", { className: listClassNameEditing + " a-mce-items", children: [children, _jsx("div", { onClick: (ev) => {
19
+ editContext === null || editContext === void 0 ? void 0 : editContext.setSelectedForInsertion(component.id);
20
+ ev.stopPropagation();
21
+ }, children: _jsx("i", { className: "pi pi-plus-circle text-3xl cursor-pointer" }) })] }), _jsx("div", { className: "a-mce-selected " + listClassName, children: _jsx(EditFilterChildrenContextProvider, { value: { filterChildCallback }, children: children }) })] }));
22
+ }
@@ -0,0 +1,4 @@
1
+ "use client";
2
+ export { ClientLink } from "./ClientLink";
3
+ export { MultiComponentEditor } from "./MultiComponentEditor";
4
+ export { useEditContext } from "../editor/editContext";
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ export function ErrorFallback() {
4
+ // Call resetErrorBoundary() to reset the error boundary and retry the render.
5
+ return (_jsx("div", { role: "alert", children: _jsx("p", { children: "Something went wrong." }) }));
6
+ }
7
+ export function ErrorFallbackWithDetails({ error }) {
8
+ // Call resetErrorBoundary() to reset the error boundary and retry the render.
9
+ return (_jsxs("div", { role: "alert", children: [_jsx("p", { children: "Something went wrong:" }), _jsxs("pre", { style: { color: "red" }, children: [error.message, " ", error.stack] })] }));
10
+ }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __rest = (this && this.__rest) || function (s, e) {
3
2
  var t = {};
4
3
  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -10,9 +9,8 @@ var __rest = (this && this.__rest) || function (s, e) {
10
9
  }
11
10
  return t;
12
11
  };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.Image = void 0;
15
- const jsx_runtime_1 = require("react/jsx-runtime");
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import "server-only";
16
14
  // const addClassName = (otherAttrs: { [key: string]: unknown }): void => {
17
15
  // if (otherAttrs.class) {
18
16
  // // if any classes are defined properly already
@@ -26,11 +24,10 @@ const jsx_runtime_1 = require("react/jsx-runtime");
26
24
  // delete otherAttrs.class;
27
25
  // }
28
26
  // };
29
- const Image = (_a) => {
27
+ export const Image = (_a) => {
30
28
  var { field } = _a, otherProps = __rest(_a, ["field"]);
31
29
  if (!field)
32
30
  return;
33
31
  const attrs = Object.assign(Object.assign({}, field.value), otherProps);
34
- return (0, jsx_runtime_1.jsx)("img", Object.assign({}, attrs, { alt: "" }));
32
+ return _jsx("img", Object.assign({}, attrs, { alt: "" }));
35
33
  };
36
- exports.Image = Image;
@@ -0,0 +1,32 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import "server-only";
14
+ import { useAlpacaContext } from "../alpacaContext";
15
+ import LinkEditor from "../client-components/LinkEditor";
16
+ import LinkPreview from "./LinkPreview";
17
+ export function Link(_a) {
18
+ var { field, children } = _a, props = __rest(_a, ["field", "children"]);
19
+ if (field === null || field === void 0 ? void 0 : field.jsonValue) {
20
+ field = field.jsonValue;
21
+ }
22
+ const pageContext = useAlpacaContext().pageContext;
23
+ const editing = pageContext === null || pageContext === void 0 ? void 0 : pageContext.pageEditing;
24
+ if (editing)
25
+ return (_jsx(LinkEditor, Object.assign({ field: field }, props, { children: children })));
26
+ if (!(field === null || field === void 0 ? void 0 : field.value))
27
+ return;
28
+ if (pageContext === null || pageContext === void 0 ? void 0 : pageContext.previewing) {
29
+ return (_jsx(LinkPreview, Object.assign({ field: field }, props, { children: children })));
30
+ }
31
+ return (_jsx("a", Object.assign({ href: field.value.url }, props, { children: children })));
32
+ }
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { usePathname, useSearchParams, useRouter } from "next/navigation";
15
+ export default function LinkPreview(_a) {
16
+ var { field, children } = _a, props = __rest(_a, ["field", "children"]);
17
+ const router = useRouter();
18
+ const searchParams = useSearchParams();
19
+ const pathname = usePathname();
20
+ return (_jsx("a", Object.assign({ href: field.value.url, onClick: (ev) => {
21
+ if (field.value.targetItemId) {
22
+ const current = new URLSearchParams(Array.from(searchParams.entries()));
23
+ current.set("itemid", field.value.targetItemId);
24
+ current.delete("version");
25
+ const newUrl = `${pathname}?${current.toString()}`;
26
+ router.push(newUrl);
27
+ ev.preventDefault();
28
+ }
29
+ } }, props, { children: children })));
30
+ }
@@ -0,0 +1,21 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEditContext } from "../editor/editContext";
3
+ import ReactDOM from "react-dom";
4
+ export function LockedFieldIndicator({ elementRef, field, }) {
5
+ var _a, _b, _c, _d;
6
+ const editContext = useEditContext();
7
+ if (!editContext)
8
+ return;
9
+ const rect = (_a = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
10
+ const editorRect = (_b = editContext.pageView.editorContainerRef.current) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect();
11
+ if ((elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) &&
12
+ rect &&
13
+ editorRect &&
14
+ editContext.pageView.editorContainerRef.current) {
15
+ return ReactDOM.createPortal(_jsx("div", { className: "a-absolute a-bg-pink-300 a-text-xs a-text-white a-p-0.5 a-rounded hover:a-opacity-100 a-opacity-90", style: {
16
+ left: rect.left - editorRect.left + "px",
17
+ top: rect.top - editorRect.top + "px",
18
+ }, children: (_d = (_c = field._editor) === null || _c === void 0 ? void 0 : _c.lockedBy) === null || _d === void 0 ? void 0 : _d.user.name }), editContext.pageView.editorContainerRef.current);
19
+ }
20
+ return null;
21
+ }
@@ -0,0 +1,133 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
+ import "server-only";
14
+ import { hashImageUrl } from "../mediaProtection";
15
+ import { getAlpacaContext } from "../alpacaContext";
16
+ import { getRenderedPictureVariant, } from "./picture-shared";
17
+ import { PictureEditorWrapper } from "./PictureEditorWrapper";
18
+ export const Picture = (_a) => {
19
+ var _b, _c, _d, _e;
20
+ var { field, params, renderJsonLinkedData, renderEditButton } = _a, otherProps = __rest(_a, ["field", "params", "renderJsonLinkedData", "renderEditButton"]);
21
+ if (!field)
22
+ return null;
23
+ if (field.jsonValue) {
24
+ field = field.jsonValue;
25
+ }
26
+ if (!((_b = field.value) === null || _b === void 0 ? void 0 : _b.variants) || field.value.variants.length === 0)
27
+ return;
28
+ const mediaParams = typeof params === "object" && "default" in params ? params : undefined;
29
+ const defaultParams = (_d = (_c = mediaParams === null || mediaParams === void 0 ? void 0 : mediaParams.default) !== null && _c !== void 0 ? _c : params) !== null && _d !== void 0 ? _d : { variant: "auto" };
30
+ const sources = Object.keys(mediaParams !== null && mediaParams !== void 0 ? mediaParams : {}).filter((x) => x != "default");
31
+ //const variants = field.value?.variants;
32
+ // const img =
33
+ // field.value?.variants.find(
34
+ // (x) => x.name.toUpperCase() == defaultVariant?.toUpperCase()
35
+ // ) ?? field.value?.variants[0];
36
+ //const attrs = { src: img?.src, ...otherProps };
37
+ //const video = img?.videoUrl;
38
+ //const videoAttr = { src: video, ...otherProps };
39
+ const renderPicture = () => {
40
+ var _a;
41
+ const defaultImg = (_jsx("img", Object.assign({}, otherProps, getSourceAttrs(field.value.variants, defaultParams), { alt: (_a = field.value) === null || _a === void 0 ? void 0 : _a.alt })));
42
+ if (!mediaParams || !(sources === null || sources === void 0 ? void 0 : sources.length))
43
+ return defaultImg;
44
+ else {
45
+ return (_jsxs("picture", Object.assign({}, otherProps, { children: [sources === null || sources === void 0 ? void 0 : sources.map((source) => (_jsx("source", Object.assign({}, getSourceAttrs(field.value.variants, mediaParams[source], source, defaultParams))))), defaultImg] })));
46
+ }
47
+ };
48
+ const picture = _jsx(_Fragment, { children: renderPicture() });
49
+ // {renderJsonLinkedData && !video ? (
50
+ // <script
51
+ // type="application/ld+json"
52
+ // dangerouslySetInnerHTML={{
53
+ // __html: JSON.stringify({
54
+ // "@context": "http://schema.org",
55
+ // "@type": "ImageObject",
56
+ // image: img?.src,
57
+ // description: field.value?.alt,
58
+ // name: field.value?.name,
59
+ // }),
60
+ // }}
61
+ // />
62
+ // ) : null}
63
+ // {video && <video {...videoAttr}></video>}
64
+ // {renderJsonLinkedData && video ? (
65
+ // <script
66
+ // type="application/ld+json"
67
+ // dangerouslySetInnerHTML={{
68
+ // __html: JSON.stringify({
69
+ // "@context": "http://schema.org",
70
+ // "@type": "VideoObject",
71
+ // contentUrl: img?.src,
72
+ // description: field.value?.alt,
73
+ // name: field.value?.name,
74
+ // }),
75
+ // }}
76
+ // />
77
+ // ) : null}
78
+ if ((_e = getAlpacaContext().pageContext) === null || _e === void 0 ? void 0 : _e.pageEditing)
79
+ return (_jsx(PictureEditorWrapper, { field: field, renderEditButton: renderEditButton, params: params, picture: picture }));
80
+ else
81
+ return picture;
82
+ };
83
+ const getScaledImage = (variant, params, maxWidth, scale = 1) => {
84
+ const width = (maxWidth !== null && maxWidth !== void 0 ? maxWidth : variant.width) * scale;
85
+ if (!params.aspectRatio) {
86
+ if (width >= variant.width)
87
+ return { src: variant.src, width: 0 };
88
+ else
89
+ return {
90
+ src: variant.src + `${variant.src.includes("?") ? "&" : "?"}mw=${width}`,
91
+ width: width,
92
+ };
93
+ }
94
+ else {
95
+ const height = width / params.aspectRatio;
96
+ if (width >= variant.width || height >= variant.height)
97
+ return { src: variant.src, width: 0 };
98
+ return {
99
+ src: variant.src +
100
+ `${variant.src.includes("?") ? "&" : "?"}w=${width}&h=${height}&crop=1`,
101
+ width: width,
102
+ };
103
+ }
104
+ };
105
+ function getSourceAttrs(variants, params, mediaQuery, defaultParams) {
106
+ var _a, _b;
107
+ const variant = getRenderedPictureVariant(params, variants);
108
+ if (!(variant === null || variant === void 0 ? void 0 : variant.src))
109
+ return;
110
+ const maxWidth = (_a = params.maxWidth) !== null && _a !== void 0 ? _a : defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams.maxWidth;
111
+ const srcSet = getSourceSet(variant, params, maxWidth, (_b = params.scales) !== null && _b !== void 0 ? _b : defaultParams === null || defaultParams === void 0 ? void 0 : defaultParams.scales);
112
+ const props = { srcSet };
113
+ if (mediaQuery)
114
+ props.media = mediaQuery;
115
+ return props;
116
+ }
117
+ function getSourceSet(variant, params, maxWidth, scales) {
118
+ if (!scales || scales.length === 0) {
119
+ const scaledImage = getScaledImage(variant, params);
120
+ const srcSet = hashImageUrl(scaledImage.src);
121
+ return srcSet;
122
+ }
123
+ let srcSet = "";
124
+ for (let w = 0; w < scales.length; w++) {
125
+ const scaledImage = getScaledImage(variant, params, maxWidth, scales[w]);
126
+ if (srcSet.length)
127
+ srcSet = srcSet + ", ";
128
+ srcSet += hashImageUrl(scaledImage.src) + " " + scales[w] + "x";
129
+ if (scaledImage.width === 0)
130
+ break;
131
+ }
132
+ return srcSet;
133
+ }
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import React, { useEffect, useState } from "react";
15
+ import { PictureEditorDialog } from "../editor/PictureEditorDialog";
16
+ import { getFieldContextMenu } from "../editor/ContextMenu";
17
+ import { isFieldActionExecuting } from "../editor/utils";
18
+ import { useEditContext, useEditFrameContext } from "../editor";
19
+ export const PictureEditor = (_a) => {
20
+ var _b, _c, _d, _e;
21
+ var { field, params, renderEditButton, picture } = _a, otherProps = __rest(_a, ["field", "params", "renderEditButton", "picture"]);
22
+ const editContext = useEditContext();
23
+ const [editorVisible, setEditorVisible] = useState(false);
24
+ if (!editContext)
25
+ return;
26
+ const editFrameContext = useEditFrameContext();
27
+ if (!editFrameContext)
28
+ return;
29
+ useEffect(() => {
30
+ var _a;
31
+ if (renderEditButton &&
32
+ editFrameContext.componentId === ((_a = field === null || field === void 0 ? void 0 : field._editor) === null || _a === void 0 ? void 0 : _a.descriptor.item.id) &&
33
+ !editFrameContext.customButtons.find((x) => { var _a; return x.id == "edit-image-" + ((_a = field === null || field === void 0 ? void 0 : field._editor) === null || _a === void 0 ? void 0 : _a.name); })) {
34
+ editFrameContext.setCustomButtons([
35
+ ...editFrameContext.customButtons,
36
+ {
37
+ id: "edit-image-" + (field === null || field === void 0 ? void 0 : field._editor.name),
38
+ icon: "pi pi-image",
39
+ label: "Edit " + (field === null || field === void 0 ? void 0 : field._editor.name),
40
+ onClick: () => {
41
+ launchEditor();
42
+ },
43
+ },
44
+ ]);
45
+ }
46
+ editContext.registerAsRenderedField(field);
47
+ }, []);
48
+ let className = (otherProps.className ? otherProps.className + " " : "") +
49
+ "a-cursor-pointer a-inline-block";
50
+ const onContextMenu = getFieldContextMenu(field, editContext, [
51
+ {
52
+ id: "edit-image-" + ((_b = field === null || field === void 0 ? void 0 : field._editor) === null || _b === void 0 ? void 0 : _b.name),
53
+ icon: "pi pi-image",
54
+ onClick: () => launchEditor(),
55
+ label: "Edit " + ((_c = field === null || field === void 0 ? void 0 : field._editor) === null || _c === void 0 ? void 0 : _c.name),
56
+ },
57
+ ]);
58
+ if (isFieldActionExecuting(field, editContext))
59
+ className += " a-executing-action a-focus-shadow ";
60
+ const launchEditor = () => {
61
+ var _a, _b, _c;
62
+ if (((_a = field._editor) === null || _a === void 0 ? void 0 : _a.canWrite) &&
63
+ ((_b = field._editor) === null || _b === void 0 ? void 0 : _b.hasLock) &&
64
+ editFrameContext.isSelected)
65
+ setEditorVisible(true);
66
+ editContext.setFocusedField((_c = field._editor) === null || _c === void 0 ? void 0 : _c.descriptor, true);
67
+ };
68
+ const props = Object.assign(Object.assign({}, otherProps), { onContextMenu,
69
+ className, onClick: (e) => {
70
+ //only handle primary mouse button
71
+ if ((e === null || e === void 0 ? void 0 : e.button) !== 0)
72
+ return;
73
+ if (!(e === null || e === void 0 ? void 0 : e.ctrlKey) && !(e === null || e === void 0 ? void 0 : e.altKey))
74
+ launchEditor();
75
+ } });
76
+ return (_jsxs(_Fragment, { children: [React.cloneElement(picture, props), !((_e = (_d = field === null || field === void 0 ? void 0 : field.value) === null || _d === void 0 ? void 0 : _d.variants) === null || _e === void 0 ? void 0 : _e.find((x) => x.src)) && (_jsx("div", Object.assign({}, props, { children: _jsx("div", { className: "pi pi-image a-text-6xl a-text-gray-300" }) }))), editorVisible && (_jsx(PictureEditorDialog, { field: field, params: params, onCancel: () => setEditorVisible(false), onOk: () => setEditorVisible(false) }))] }));
77
+ };
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import dynamic from "next/dynamic";
3
+ const PictureEditor = dynamic(() => import("./PictureEditor").then((dnd) => dnd.PictureEditor), { ssr: false });
4
+ export const PictureEditorWrapper = (props) => {
5
+ return _jsx(PictureEditor, Object.assign({}, props));
6
+ };
@@ -0,0 +1,117 @@
1
+ import { createElement as _createElement } from "react";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import "server-only";
4
+ import { useAlpacaContext } from "../alpacaContext";
5
+ import { PlaceholderDropZoneHost } from "../editor/PlaceholderDropZoneHost";
6
+ import { EditFrameWrapper } from "../editor/EditFrameWrapper";
7
+ import Slot from "./Slot";
8
+ import { ErrorBoundary } from "react-error-boundary";
9
+ import { ErrorFallback } from "./Error";
10
+ import React from "react";
11
+ export function Placeholder({ name, description, content, tag, className, mapComponent, getComponentProps, }) {
12
+ const data = content;
13
+ if (!data || !("placeholders" in data))
14
+ return;
15
+ const placeholderData = data.placeholders.find((x) => x.name == name);
16
+ if (!placeholderData)
17
+ return;
18
+ const context = useAlpacaContext();
19
+ const components = placeholderData === null || placeholderData === void 0 ? void 0 : placeholderData.components.filter((c) => c.visible).map((component, index) => {
20
+ if (component.componentType == "Slot")
21
+ return {
22
+ Component: Slot,
23
+ data: component,
24
+ parent: data,
25
+ };
26
+ const componentType = mapComponent
27
+ ? mapComponent({ data: component, index })
28
+ : component.componentType;
29
+ if (!context.components) {
30
+ console.log("No components registered");
31
+ return {
32
+ data: { name: componentType, id: "0" },
33
+ Component: ComponentNotFound,
34
+ };
35
+ }
36
+ const reactComponent = context.components[componentType];
37
+ if (!reactComponent) {
38
+ console.log("Could not find module for component type: " + componentType);
39
+ return {
40
+ data: { name: componentType, id: "0" },
41
+ Component: ComponentNotFound,
42
+ };
43
+ }
44
+ return {
45
+ parent: data,
46
+ data: component,
47
+ Component: reactComponent,
48
+ };
49
+ });
50
+ function wrap(children) {
51
+ if (!tag)
52
+ return children;
53
+ if (context.pageContext.pageEditing || components.length > 0) {
54
+ return React.createElement(tag, { className }, children);
55
+ }
56
+ }
57
+ // const mappedComponents = mapComponent
58
+ // ? components.map(({ Component, data, parent }, index) => ({
59
+ // Component: mapComponent({
60
+ // Component,
61
+ // data: data as ComponentData,
62
+ // index,
63
+ // }),
64
+ // data,
65
+ // parent,
66
+ // }))
67
+ // : components;
68
+ const componentsWithProps = components.map(({ Component, data, parent }, index) => {
69
+ const defaultProps = {
70
+ component: data,
71
+ index,
72
+ count: components.length,
73
+ };
74
+ var props = getComponentProps
75
+ ? getComponentProps(defaultProps)
76
+ : defaultProps;
77
+ return { Component, props, data, parent };
78
+ });
79
+ if (context.pageContext.pageEditing) {
80
+ let phIndex = 0;
81
+ return wrap(_jsxs(_Fragment, { children: [componentsWithProps.map(({ Component, props, data, parent }) => {
82
+ try {
83
+ return (_jsxs(_Fragment, { children: [(!data._editor.hostingPageItem ||
84
+ data.componentType == "Slot") && (_jsx(PlaceholderDropZoneHost, { parentName: parent === null || parent === void 0 ? void 0 : parent.name, description: description, placeholder: placeholderData, index: phIndex++ }, data.id + "_zone" + phIndex)), _jsx(EditFrameWrapper, { componentId: data.id, index: phIndex, children: _jsx(Component, Object.assign({}, props)) }, data.id)] }));
85
+ }
86
+ catch (e) {
87
+ return (_jsxs("div", { children: ["Error rendering component ", data.name, ": ", e.message] }));
88
+ }
89
+ }), (!data._editor.hostingPageItem ||
90
+ data.componentType == "Slot") && (_jsx(PlaceholderDropZoneHost, { parentName: data === null || data === void 0 ? void 0 : data.name, description: description, placeholder: placeholderData, index: phIndex++ }, data.id + "_zone" + phIndex))] }));
91
+ }
92
+ else {
93
+ return wrap(_jsx(_Fragment, { children: components.map(({ Component, data }, index) => {
94
+ var props = getComponentProps
95
+ ? getComponentProps({
96
+ component: data,
97
+ index,
98
+ count: components.length,
99
+ })
100
+ : {
101
+ component: data,
102
+ index,
103
+ count: components.length,
104
+ };
105
+ return (_jsx(_Fragment, { children: _jsx(ErrorBoundary, { FallbackComponent: ErrorFallback, children: _createElement(Component, Object.assign({}, props, { key: data.id })) }, data.id) }));
106
+ }) }));
107
+ }
108
+ }
109
+ function ComponentNotFound({ component }) {
110
+ return (_jsxs("div", { style: {
111
+ backgroundColor: "orange",
112
+ color: "red",
113
+ fontSize: 18,
114
+ padding: 10,
115
+ border: "3px solid red",
116
+ }, children: ["Component not found: ", component.name] }));
117
+ }