@blokkli/editor 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (428) hide show
  1. package/dist/module.d.mts +1 -1
  2. package/dist/module.json +5 -5
  3. package/dist/module.mjs +5549 -1269
  4. package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
  5. package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +9 -0
  6. package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +5 -0
  7. package/dist/modules/drupal/graphql/base/fragment.paragraphsFieldItem.graphql +9 -0
  8. package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +1 -10
  9. package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
  10. package/dist/modules/drupal/graphql/features/comments.graphql +11 -8
  11. package/dist/modules/drupal/graphql/features/publishNew.graphql +1 -4
  12. package/dist/modules/drupal/graphql/features/scheduler.graphql +31 -0
  13. package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
  14. package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
  15. package/dist/modules/drupal/graphql/mutations/set_paragraph_schedule.graphql +15 -0
  16. package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
  17. package/dist/modules/drupal/index.d.mts +1 -1
  18. package/dist/modules/drupal/index.mjs +79 -9
  19. package/dist/modules/drupal/runtime/adapter/index.d.ts +3 -0
  20. package/dist/modules/drupal/{adapter/index.mjs → runtime/adapter/index.js} +166 -20
  21. package/dist/runtime/adapter/index.d.ts +111 -1
  22. package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
  23. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
  24. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
  25. package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +6 -0
  26. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
  27. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue.d.ts +2 -19
  28. package/dist/runtime/blokkliPlugins/DebugOverlay/index.vue.d.ts +2 -7
  29. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
  30. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue.d.ts +2 -19
  31. package/dist/runtime/blokkliPlugins/ItemAction/index.vue +23 -15
  32. package/dist/runtime/blokkliPlugins/ItemAction/index.vue.d.ts +21 -44
  33. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
  34. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
  35. package/dist/runtime/blokkliPlugins/MenuButton/index.vue.d.ts +3 -3
  36. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
  37. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue.d.ts +2 -51
  38. package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
  39. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +15 -9
  40. package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue.d.ts +1 -1
  41. package/dist/runtime/blokkliPlugins/TourItem/index.vue +10 -5
  42. package/dist/runtime/blokkliPlugins/TourItem/index.vue.d.ts +2 -4
  43. package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
  44. package/dist/runtime/blokkliPlugins/ViewOption/index.vue.d.ts +4 -3
  45. package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
  46. package/dist/runtime/blokkliPlugins/index.js +15 -13
  47. package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
  48. package/dist/runtime/components/Blocks/FromLibrary/index.vue +4 -2
  49. package/dist/runtime/components/BlokkliEditable.vue +34 -16
  50. package/dist/runtime/components/BlokkliEditable.vue.d.ts +2 -1
  51. package/dist/runtime/components/BlokkliField.vue +31 -27
  52. package/dist/runtime/components/BlokkliField.vue.d.ts +61 -17
  53. package/dist/runtime/components/BlokkliItem.vue +2 -2
  54. package/dist/runtime/components/BlokkliItem.vue.d.ts +4 -2
  55. package/dist/runtime/components/BlokkliProvider.vue +60 -45
  56. package/dist/runtime/components/BlokkliProvider.vue.d.ts +45 -7
  57. package/dist/runtime/components/Edit/Actions/index.vue +69 -78
  58. package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
  59. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
  60. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
  61. package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
  62. package/dist/runtime/components/Edit/AnimationCanvas/index.vue +436 -25
  63. package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
  64. package/dist/runtime/components/Edit/ArtboardTooltip/index.vue +83 -0
  65. package/dist/runtime/components/Edit/ArtboardTooltip/index.vue.d.ts +32 -0
  66. package/dist/runtime/components/Edit/Banner/index.vue +51 -0
  67. package/dist/runtime/components/Edit/Banner/index.vue.d.ts +18 -0
  68. package/dist/runtime/components/Edit/BlockProxy/index.vue +3 -1
  69. package/dist/runtime/components/Edit/BlokkliErrorBoundary.vue.d.ts +2 -13
  70. package/dist/runtime/components/Edit/Dialog/index.vue +14 -5
  71. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +4 -2
  72. package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
  73. package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
  74. package/dist/runtime/components/Edit/DraggableList.vue +20 -50
  75. package/dist/runtime/components/Edit/DraggableList.vue.d.ts +7 -7
  76. package/dist/runtime/components/Edit/EditIndicator.vue +118 -44
  77. package/dist/runtime/components/Edit/EditIndicator.vue.d.ts +3 -0
  78. package/dist/runtime/components/Edit/EditProvider.vue +192 -80
  79. package/dist/runtime/components/Edit/EditProvider.vue.d.ts +3 -0
  80. package/dist/runtime/components/Edit/Features/AddList/index.vue +24 -36
  81. package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
  82. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +170 -0
  83. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
  84. package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
  85. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
  86. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
  87. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
  88. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
  89. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
  90. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
  91. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
  92. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
  93. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +105 -0
  94. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
  95. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
  96. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
  97. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
  98. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
  99. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
  100. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
  101. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
  102. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
  103. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
  104. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
  105. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
  106. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
  107. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
  108. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
  109. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
  110. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
  111. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
  112. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
  113. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
  114. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
  115. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
  116. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
  117. package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
  118. package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
  119. package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
  120. package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +53 -0
  121. package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
  122. package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
  123. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +299 -0
  124. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
  125. package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -217
  126. package/dist/runtime/components/Edit/Features/Assistant/index.vue +5 -3
  127. package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +33 -57
  128. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/ScheduleSection.vue +154 -0
  129. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/ScheduleSection.vue.d.ts +27 -0
  130. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue +222 -0
  131. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue.d.ts +11 -0
  132. package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue +96 -0
  133. package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue.d.ts +2 -0
  134. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +177 -46
  135. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue +51 -0
  136. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue.d.ts +17 -0
  137. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +48 -117
  138. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +5 -2
  139. package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue +35 -20
  140. package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue.d.ts +5 -3
  141. package/dist/runtime/components/Edit/Features/Comments/CommentInput/index.vue +29 -0
  142. package/dist/runtime/components/Edit/Features/Comments/CommentInput/index.vue.d.ts +13 -0
  143. package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue +22 -16
  144. package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue.d.ts +1 -0
  145. package/dist/runtime/components/Edit/Features/Comments/Overlay/index.vue +15 -6
  146. package/dist/runtime/components/Edit/Features/Comments/index.vue +21 -9
  147. package/dist/runtime/components/Edit/Features/Conversions/index.vue +16 -21
  148. package/dist/runtime/components/Edit/Features/Debug/Rects/index.vue +26 -35
  149. package/dist/runtime/components/Edit/Features/Debug/Renderer.vue +240 -0
  150. package/dist/runtime/components/Edit/Features/Debug/Renderer.vue.d.ts +6 -0
  151. package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
  152. package/dist/runtime/components/Edit/Features/Debug/index.vue +7 -162
  153. package/dist/runtime/components/Edit/Features/Delete/index.vue +1 -1
  154. package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
  155. package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
  156. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +18 -10
  157. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +8 -2
  158. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +111 -121
  159. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue.d.ts +3 -132
  160. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +2 -1
  161. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +87 -61
  162. package/dist/runtime/components/Edit/Features/Duplicate/index.vue +6 -8
  163. package/dist/runtime/components/Edit/Features/Edit/index.vue +16 -22
  164. package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
  165. package/dist/runtime/components/Edit/Features/EditForm/index.vue +10 -9
  166. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Frame/index.vue +69 -4
  167. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Frame/index.vue.d.ts +2 -2
  168. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Plaintext/index.vue +13 -9
  169. package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue +45 -87
  170. package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue.d.ts +2 -2
  171. package/dist/runtime/components/Edit/Features/EditableField/index.vue +45 -43
  172. package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
  173. package/dist/runtime/components/Edit/Features/EntityTitle/index.vue +33 -1
  174. package/dist/runtime/components/Edit/Features/Fragments/Dialog/index.vue +11 -9
  175. package/dist/runtime/components/Edit/Features/Fragments/index.vue +8 -6
  176. package/dist/runtime/components/Edit/Features/History/index.vue +39 -13
  177. package/dist/runtime/components/Edit/Features/Hover/Overlay/fragment.glsl +139 -0
  178. package/dist/runtime/components/Edit/Features/Hover/Overlay/index.vue +261 -0
  179. package/dist/runtime/components/Edit/Features/Hover/Overlay/index.vue.d.ts +6 -0
  180. package/dist/runtime/components/Edit/Features/Hover/Overlay/vertex.glsl +117 -0
  181. package/dist/runtime/components/Edit/Features/Hover/index.vue +25 -0
  182. package/dist/runtime/components/Edit/Features/Hover/index.vue.d.ts +2 -0
  183. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
  184. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
  185. package/dist/runtime/components/Edit/Features/Library/EditReusable/index.vue +5 -7
  186. package/dist/runtime/components/Edit/Features/Library/LibraryDialog/index.vue +19 -27
  187. package/dist/runtime/components/Edit/Features/Library/ReusableDialog/index.vue +32 -28
  188. package/dist/runtime/components/Edit/Features/Library/index.vue +40 -32
  189. package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +11 -11
  190. package/dist/runtime/components/Edit/Features/MediaLibrary/index.vue +15 -12
  191. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
  192. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +44 -32
  193. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
  194. package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +10 -18
  195. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
  196. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
  197. package/dist/runtime/components/Edit/Features/Options/Form/Group.vue.d.ts +2 -11
  198. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +14 -3
  199. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
  200. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
  201. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
  202. package/dist/runtime/components/Edit/Features/Options/Form/index.vue +88 -42
  203. package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
  204. package/dist/runtime/components/Edit/Features/Options/index.vue +35 -11
  205. package/dist/runtime/components/Edit/Features/Ownership/Renderer.vue +35 -0
  206. package/dist/runtime/components/Edit/Features/Ownership/Renderer.vue.d.ts +6 -0
  207. package/dist/runtime/components/Edit/Features/Ownership/index.vue +7 -25
  208. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
  209. package/dist/runtime/components/Edit/Features/ProxyView/index.vue +5 -1
  210. package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue +41 -14
  211. package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue.d.ts +2 -0
  212. package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue +47 -0
  213. package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue.d.ts +19 -0
  214. package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue +83 -0
  215. package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue.d.ts +9 -0
  216. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +439 -123
  217. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue.d.ts +3 -14
  218. package/dist/runtime/components/Edit/Features/Publish/index.vue +57 -24
  219. package/dist/runtime/components/Edit/Features/ResponsivePreview/Frame/index.vue.d.ts +2 -13
  220. package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
  221. package/dist/runtime/components/Edit/Features/Search/Overlay/Results/Page/index.vue +15 -15
  222. package/dist/runtime/components/Edit/Features/Search/index.vue +7 -3
  223. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +85 -0
  224. package/dist/runtime/components/Edit/Features/{CommandPalette/Palette/Group → Selection/AddButtons/Overlay}/index.vue.d.ts +8 -13
  225. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/fragment.glsl +106 -0
  226. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/index.vue +440 -0
  227. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/index.vue.d.ts +32 -0
  228. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/vertex.glsl +102 -0
  229. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +387 -0
  230. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
  231. package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +15 -10
  232. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +105 -25
  233. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue.d.ts +5 -3
  234. package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +12 -3
  235. package/dist/runtime/components/Edit/Features/Selection/OverlayFallback/index.vue +2 -2
  236. package/dist/runtime/components/Edit/Features/Selection/index.vue +135 -25
  237. package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
  238. package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
  239. package/dist/runtime/components/Edit/Features/Structure/List/Field/index.vue +2 -2
  240. package/dist/runtime/components/Edit/Features/Structure/List/Item/index.vue +13 -6
  241. package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
  242. package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
  243. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
  244. package/dist/runtime/components/Edit/Features/Tour/Overlay/index.vue +3 -0
  245. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
  246. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
  247. package/dist/runtime/components/Edit/Features/Transform/index.vue +156 -70
  248. package/dist/runtime/components/Edit/Features/Translations/Banner/index.vue +17 -11
  249. package/dist/runtime/components/Edit/Features/Translations/index.vue +20 -23
  250. package/dist/runtime/components/Edit/Features/Validations/SidebarItem/index.vue +5 -5
  251. package/dist/runtime/components/Edit/Features/index.vue +17 -7
  252. package/dist/runtime/components/Edit/Form/Datepicker/index.vue +198 -0
  253. package/dist/runtime/components/Edit/Form/Datepicker/index.vue.d.ts +15 -0
  254. package/dist/runtime/components/Edit/Form/Group/index.vue.d.ts +2 -4
  255. package/dist/runtime/components/Edit/Form/Item/index.vue.d.ts +2 -4
  256. package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
  257. package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
  258. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
  259. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
  260. package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
  261. package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
  262. package/dist/runtime/components/Edit/Form/Text/index.vue +34 -0
  263. package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +20 -0
  264. package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
  265. package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
  266. package/dist/runtime/components/Edit/Form/Toggle/index.vue +4 -3
  267. package/dist/runtime/components/Edit/Form/Toggle/index.vue.d.ts +12 -2
  268. package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
  269. package/dist/runtime/components/Edit/FormOverlay/index.vue.d.ts +3 -2
  270. package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
  271. package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
  272. package/dist/runtime/components/Edit/InfoBox/index.vue +6 -2
  273. package/dist/runtime/components/Edit/InfoBox/index.vue.d.ts +12 -2
  274. package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
  275. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
  276. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
  277. package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
  278. package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
  279. package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
  280. package/dist/runtime/components/Edit/Konami/Game/index.vue +752 -0
  281. package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
  282. package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
  283. package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
  284. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
  285. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
  286. package/dist/runtime/components/Edit/Konami/index.vue +44 -0
  287. package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
  288. package/dist/runtime/components/Edit/Loading/index.vue +6 -2
  289. package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
  290. package/dist/runtime/components/Edit/Messages/index.vue +8 -3
  291. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
  292. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
  293. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
  294. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
  295. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
  296. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
  297. package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
  298. package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
  299. package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
  300. package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
  301. package/dist/runtime/components/Edit/RelativeTime/index.vue.d.ts +2 -2
  302. package/dist/runtime/components/Edit/Resizable/index.vue.d.ts +1 -1
  303. package/dist/runtime/components/Edit/ScaleToFit/index.vue.d.ts +1 -1
  304. package/dist/runtime/components/Edit/ScheduleDate/index.vue +131 -0
  305. package/dist/runtime/components/Edit/ScheduleDate/index.vue.d.ts +23 -0
  306. package/dist/runtime/components/Edit/ScrollBoundary/index.vue.d.ts +2 -7
  307. package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +11 -3
  308. package/dist/runtime/components/Edit/Sortli/index.vue.d.ts +1 -1
  309. package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
  310. package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
  311. package/dist/runtime/components/Edit/Transition/Height.vue +95 -0
  312. package/dist/runtime/components/Edit/Transition/Height.vue.d.ts +36 -0
  313. package/dist/runtime/components/Edit/Transition/index.vue +41 -0
  314. package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
  315. package/dist/runtime/components/Edit/ViewportBlockingRect/index.vue.d.ts +2 -7
  316. package/dist/runtime/components/Edit/index.d.ts +28 -15
  317. package/dist/runtime/components/Edit/index.js +54 -28
  318. package/dist/runtime/composables/defineBlokkli.js +16 -3
  319. package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
  320. package/dist/runtime/composables/defineBlokkliFragment.js +8 -1
  321. package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
  322. package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
  323. package/dist/runtime/composables/useBlokkliHelper.d.ts +19 -0
  324. package/dist/runtime/composables/useBlokkliHelper.js +95 -0
  325. package/dist/runtime/constants/index.d.ts +3 -0
  326. package/dist/runtime/constants/index.js +3 -0
  327. package/dist/runtime/css/output.css +1 -1
  328. package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
  329. package/dist/runtime/helpers/addElementClasses.js +24 -0
  330. package/dist/runtime/helpers/animationProvider.d.ts +38 -2
  331. package/dist/runtime/helpers/animationProvider.js +188 -47
  332. package/dist/runtime/helpers/bundles/index.d.ts +1 -0
  333. package/dist/runtime/helpers/bundles/index.js +4 -0
  334. package/dist/runtime/helpers/composables/defineRenderer.d.ts +8 -0
  335. package/dist/runtime/helpers/composables/defineRenderer.js +8 -0
  336. package/dist/runtime/helpers/composables/useBlockRegistration.d.ts +5 -0
  337. package/dist/runtime/helpers/composables/useBlockRegistration.js +23 -0
  338. package/dist/runtime/helpers/composables/useDelayedIntersectionObserver.d.ts +1 -1
  339. package/dist/runtime/helpers/composables/useDelayedIntersectionObserver.js +3 -2
  340. package/dist/runtime/helpers/composables/useStateBasedCache.d.ts +4 -0
  341. package/dist/runtime/helpers/composables/useStateBasedCache.js +13 -0
  342. package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +23 -0
  343. package/dist/runtime/helpers/composables/useStickyToolbar.js +233 -0
  344. package/dist/runtime/helpers/definitionProvider.d.ts +3 -2
  345. package/dist/runtime/helpers/definitionProvider.js +17 -0
  346. package/dist/runtime/helpers/dom/index.d.ts +60 -0
  347. package/dist/runtime/helpers/dom/index.js +48 -0
  348. package/dist/runtime/helpers/domProvider.d.ts +58 -17
  349. package/dist/runtime/helpers/domProvider.js +320 -245
  350. package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
  351. package/dist/runtime/helpers/dropTargets/index.js +49 -0
  352. package/dist/runtime/helpers/eventBus.d.ts +1 -1
  353. package/dist/runtime/helpers/eventBus.js +2 -2
  354. package/dist/runtime/helpers/index.d.ts +10 -14
  355. package/dist/runtime/helpers/index.js +58 -121
  356. package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
  357. package/dist/runtime/helpers/indicatorsProvider.js +23 -0
  358. package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
  359. package/dist/runtime/helpers/keyboardProvider.js +17 -1
  360. package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
  361. package/dist/runtime/helpers/pluginProvider.js +33 -0
  362. package/dist/runtime/helpers/providers/blocks.d.ts +10 -0
  363. package/dist/runtime/helpers/providers/blocks.js +91 -0
  364. package/dist/runtime/helpers/providers/directive.d.ts +25 -0
  365. package/dist/runtime/helpers/providers/directive.js +208 -0
  366. package/dist/runtime/helpers/providers/element.d.ts +6 -0
  367. package/dist/runtime/helpers/providers/element.js +35 -0
  368. package/dist/runtime/helpers/providers/fields.d.ts +8 -0
  369. package/dist/runtime/helpers/providers/fields.js +47 -0
  370. package/dist/runtime/helpers/renderCycle.d.ts +1 -0
  371. package/dist/runtime/helpers/renderCycle.js +10 -0
  372. package/dist/runtime/helpers/runtimeHelpers/index.js +15 -12
  373. package/dist/runtime/helpers/selectionProvider.d.ts +27 -11
  374. package/dist/runtime/helpers/selectionProvider.js +79 -74
  375. package/dist/runtime/helpers/stateProvider.d.ts +12 -2
  376. package/dist/runtime/helpers/stateProvider.js +164 -20
  377. package/dist/runtime/helpers/storageProvider.d.ts +5 -3
  378. package/dist/runtime/helpers/storageProvider.js +61 -4
  379. package/dist/runtime/helpers/symbols.d.ts +2 -0
  380. package/dist/runtime/helpers/symbols.js +2 -0
  381. package/dist/runtime/helpers/textProvider.js +6 -0
  382. package/dist/runtime/helpers/themeProvider.d.ts +4 -1
  383. package/dist/runtime/helpers/themeProvider.js +28 -15
  384. package/dist/runtime/helpers/transform.js +1 -3
  385. package/dist/runtime/helpers/typesProvider.js +10 -26
  386. package/dist/runtime/helpers/uiProvider.d.ts +18 -3
  387. package/dist/runtime/helpers/uiProvider.js +114 -61
  388. package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
  389. package/dist/runtime/helpers/useTransitionedValue.js +57 -0
  390. package/dist/runtime/helpers/webgl/index.d.ts +11 -2
  391. package/dist/runtime/helpers/webgl/index.js +162 -7
  392. package/dist/runtime/icons/anchor.svg +1 -0
  393. package/dist/runtime/icons/arrow-left.svg +1 -1
  394. package/dist/runtime/icons/arrow-right.svg +1 -1
  395. package/dist/runtime/icons/arrow-top-right.svg +1 -0
  396. package/dist/runtime/icons/calendar-clock.svg +1 -0
  397. package/dist/runtime/icons/calendar.svg +1 -0
  398. package/dist/runtime/icons/chart.svg +1 -0
  399. package/dist/runtime/icons/clock.svg +1 -0
  400. package/dist/runtime/icons/comment_add.svg +1 -5
  401. package/dist/runtime/icons/copy.svg +1 -0
  402. package/dist/runtime/icons/cursor-move.svg +1 -1
  403. package/dist/runtime/icons/delete.svg +1 -8
  404. package/dist/runtime/icons/diff.svg +1 -1
  405. package/dist/runtime/icons/duplicate.svg +1 -12
  406. package/dist/runtime/icons/edit.svg +1 -8
  407. package/dist/runtime/icons/eye-off.svg +1 -0
  408. package/dist/runtime/icons/eye.svg +1 -1
  409. package/dist/runtime/icons/info.svg +1 -1
  410. package/dist/runtime/icons/link.svg +1 -0
  411. package/dist/runtime/icons/reusable.svg +1 -5
  412. package/dist/runtime/icons/speedometer.svg +1 -0
  413. package/dist/runtime/plugins/blokkliDirectives.js +109 -0
  414. package/dist/runtime/types/blokkOptions.d.ts +8 -0
  415. package/dist/runtime/types/index.d.ts +278 -42
  416. package/dist/runtime/types/theme.d.ts +2 -1
  417. package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
  418. package/package.json +55 -38
  419. package/dist/modules/drupal/adapter/index.d.mts +0 -6
  420. package/dist/runtime/components/Edit/DragInteractions/index.vue +0 -364
  421. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +0 -51
  422. package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
  423. package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
  424. package/dist/runtime/plugins/blokkliEditable.js +0 -31
  425. /package/dist/runtime/components/Edit/{DragInteractions → Features/Analyze}/index.vue.d.ts +0 -0
  426. /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
  427. /package/dist/runtime/components/Edit/Features/{FieldAreas → Anchors}/index.vue.d.ts +0 -0
  428. /package/dist/runtime/plugins/{blokkliEditable.d.ts → blokkliDirectives.d.ts} +0 -0
@@ -8,7 +8,9 @@ import type { KeyboardProvider } from '../helpers/keyboardProvider.js';
8
8
  import type { UiProvider } from '../helpers/uiProvider.js';
9
9
  import type { AnimationProvider } from '../helpers/animationProvider.js';
10
10
  import type { StateProvider } from '../helpers/stateProvider.js';
11
+ import type { DirectiveProvider } from '../helpers/providers/directive.js';
11
12
  import type { TextProvider } from '../helpers/textProvider.js';
13
+ import type { PluginProvider } from '../helpers/pluginProvider.js';
12
14
  import type { eventBus } from './../helpers/eventBus.js';
13
15
  import type { BlockOptionDefinition } from './blokkOptions.js';
14
16
  import type { BlokkliAdapter, AdapterContext, MutationResponseLike } from './../adapter/index.js';
@@ -18,7 +20,7 @@ import type { BlokkliIcon } from '#blokkli-build/icons';
18
20
  import type { SettingsGroup, Viewport } from '#blokkli/constants';
19
21
  import type { BlockBundleWithNested, FieldListItemTyped, GlobalOptionsKey, ValidChunkNames, ValidFieldListTypes, ValidGlobalConfigKeys, BundleProps } from '#blokkli-build/generated-types';
20
22
  import type { ThemeProvider } from '#blokkli/helpers/themeProvider';
21
- import type { GlobalOptionsType } from '#blokkli-build/definitions';
23
+ import type { BlokkliFragmentName, GlobalOptionsType } from '#blokkli-build/definitions';
22
24
  import type { CommandsProvider } from '#blokkli/helpers/commandsProvider';
23
25
  import type { TourProvider } from '#blokkli/helpers/tourProvider';
24
26
  import type { DropAreaProvider } from '#blokkli/helpers/dropAreaProvider';
@@ -26,7 +28,11 @@ import type { RGB } from './theme.js';
26
28
  import type { DebugProvider } from '#blokkli/helpers/debugProvider';
27
29
  import type getVideoId from 'get-video-id';
28
30
  import type { DefinitionProvider } from '../helpers/definitionProvider.js';
29
- export type MutateWithLoadingStateFunction = (promise: () => Promise<MutationResponseLike<any>> | undefined, errorMessage?: string, successMessage?: string) => Promise<boolean>;
31
+ import type { IndicatorsProvider } from '#blokkli/helpers/indicatorsProvider';
32
+ import type { BlocksProvider } from '#blokkli/helpers/providers/blocks';
33
+ import type { FieldsProvider } from '#blokkli/helpers/providers/fields';
34
+ import type { ElementProvider } from '#blokkli/helpers/providers/element';
35
+ export type MutateWithLoadingStateFunction = (promise: () => Promise<MutationResponseLike<any>> | undefined, errorMessage?: string | false, successMessage?: string) => Promise<boolean>;
30
36
  type GetType<T> = T extends {
31
37
  options: infer O;
32
38
  } ? T extends {
@@ -89,6 +95,15 @@ export type DefineBlokkliContext<T extends BlockDefinitionOptionsInput = BlockDe
89
95
  */
90
96
  provider: ComputedRef<BlokkliProviderEntityContext | null>;
91
97
  };
98
+ export type DefineProviderContext<T extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, G extends ValidGlobalConfigKeys | undefined = undefined> = {
99
+ /**
100
+ * The reactive runtime options.
101
+ *
102
+ * This includes both the locally defined options and the inherited global
103
+ * options.
104
+ */
105
+ options: ComputedRef<(T extends BlockDefinitionOptionsInput ? WithOptions<T> : object) & (G extends ValidGlobalConfigKeys ? GlobalOptionsKeyTypes<G> : object)>;
106
+ };
92
107
  type DetermineVisibleOptionsContext<T extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, G extends GlobalOptionsKey[] | undefined = undefined, B extends BundleKey | string = string> = {
93
108
  options: (T extends BlockDefinitionOptionsInput ? WithOptions<T> : object) & (G extends ValidGlobalConfigKeys ? GlobalOptionsKeyTypes<G> : object);
94
109
  parentType: BlockBundleWithNested | undefined;
@@ -99,7 +114,7 @@ type DetermineVisibleOptionsContext<T extends BlockDefinitionOptionsInput = Bloc
99
114
  type ExtractGlobalOptions<G extends GlobalOptionsKey[]> = G[number] extends GlobalOptionsKey ? G[number] : never;
100
115
  type CombineKeysAndGlobalOptions<T extends BlockDefinitionOptionsInput, G extends GlobalOptionsKey[] | undefined> = keyof T | ExtractGlobalOptions<NonNullable<G>>;
101
116
  export type BlokkliDefinitionAddBehaviour = 'no-form' | 'form' | `editable:${string}`;
102
- export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined, Bundle extends BundleKey | string = string> = {
117
+ export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined, Bundle extends BundleKey | string = string, PropsType = Bundle extends BundleKey ? BundleProps[Bundle] : Record<string, any>> = {
103
118
  /**
104
119
  * Determine which options should be visible in the editor based on the
105
120
  * given context.
@@ -234,7 +249,7 @@ export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsI
234
249
  * You can also return HTML as the value. The feature uses an HTML differ to
235
250
  * render the diff.
236
251
  */
237
- mapDiffProps?: (props?: any) => Record<string, string>;
252
+ mapDiffProps?: (props?: PropsType) => Record<string, string>;
238
253
  };
239
254
  export type BlockDefinitionRenderForParent = {
240
255
  parentBundle: BlockBundleWithNested;
@@ -283,6 +298,37 @@ export type BlockDefinitionInput<Options extends BlockDefinitionOptionsInput = B
283
298
  * Settings for the behaviour in the editor.
284
299
  */
285
300
  editor?: BlokkliDefinitionInputEditor<Options, GlobalOptions, Bundle>;
301
+ /**
302
+ * Map which component prop maps to which field name.
303
+ *
304
+ * For example, if the field is named "field_paragraphs_header" and the prop
305
+ * is named "headerParagraphs", you would define it as such:
306
+ *
307
+ * @example
308
+ * ```vue
309
+ * <template>
310
+ * <div>
311
+ * <BlokkliField :list="headerParagraphs" name="field_paragraphs_header" />
312
+ * </div>
313
+ * <template>
314
+ *
315
+ * <script lang="ts" setup>
316
+ * import type { ParagraphTwoColumnsFragment } from '#graphql-operations'
317
+ *
318
+ * defineProps<{
319
+ * headerParagraphs: ParagraphTwoColumnsFragment['headerParagraphs']
320
+ * }>()
321
+ *
322
+ * defineBlokkli({
323
+ * bundle: 'section',
324
+ * propsFieldMapping: {
325
+ * headerParagraphs: 'field_paragraphs_header',
326
+ * }
327
+ * })
328
+ * </script>
329
+ * ```
330
+ */
331
+ propsFieldMapping?: Bundle extends BundleKey ? Partial<Record<keyof BundleProps[Bundle], string>> : never;
286
332
  };
287
333
  export type RuntimeBlockDefinitionInput = {
288
334
  bundle: string;
@@ -299,8 +345,9 @@ export type InjectedBlokkliItem = {
299
345
  export type FieldListItem = {
300
346
  uuid: string;
301
347
  bundle: string;
302
- isNew?: boolean;
348
+ isVisible: boolean;
303
349
  options?: Record<string, any>;
350
+ editContext?: BlockEditContext;
304
351
  props?: Record<string, any>;
305
352
  };
306
353
  export type MutatedField = {
@@ -339,6 +386,7 @@ export type BlokkliProviderEntityContext = {
339
386
  bundle: string;
340
387
  language?: string;
341
388
  };
389
+ export type EditPermission = 'view' | 'edit' | 'review';
342
390
  export type EditEntity = {
343
391
  label?: string;
344
392
  status?: boolean;
@@ -365,6 +413,50 @@ export interface ConversionItem {
365
413
  sourceBundle: string;
366
414
  targetBundle: string;
367
415
  }
416
+ export type PluginConfigInputText = {
417
+ type: 'text';
418
+ name: string;
419
+ label: string;
420
+ description?: string;
421
+ required: boolean;
422
+ defaultValue?: string;
423
+ minLength?: number;
424
+ maxLength?: number;
425
+ placeholder?: string;
426
+ pattern?: string;
427
+ multiline?: boolean;
428
+ rows?: number;
429
+ };
430
+ export type PluginConfigInputSeed = {
431
+ type: 'seed';
432
+ name: string;
433
+ label: string;
434
+ description?: string;
435
+ required: boolean;
436
+ };
437
+ export type PluginConfigInputCheckbox = {
438
+ type: 'checkbox';
439
+ name: string;
440
+ label: string;
441
+ description?: string;
442
+ required: boolean;
443
+ checkboxLabel?: string;
444
+ defaultValue: boolean;
445
+ };
446
+ export type PluginConfigInputOptions = {
447
+ type: 'options';
448
+ name: string;
449
+ label: string;
450
+ description?: string;
451
+ required: boolean;
452
+ defaultValue?: string;
453
+ variant: 'select' | 'radio';
454
+ options: {
455
+ value: string;
456
+ label: string;
457
+ }[];
458
+ };
459
+ export type PluginConfigInput = PluginConfigInputText | PluginConfigInputSeed | PluginConfigInputCheckbox | PluginConfigInputOptions;
368
460
  export interface TransformPlugin {
369
461
  /**
370
462
  * The ID of the plugin.
@@ -381,7 +473,7 @@ export interface TransformPlugin {
381
473
  /**
382
474
  * The array of bundles that the transform might create.
383
475
  */
384
- targetBundles: string[];
476
+ targetBundles?: string[];
385
477
  /**
386
478
  * The minimum number of items required.
387
479
  */
@@ -390,6 +482,38 @@ export interface TransformPlugin {
390
482
  * The maximum number of items.
391
483
  */
392
484
  max: number;
485
+ configInputs?: PluginConfigInput[];
486
+ description?: string;
487
+ /**
488
+ * Whether the transform plugin supports previewing the changes first.
489
+ *
490
+ * If true, the plugin is expected to to defer producing any side effects
491
+ * to when it's executed in non-preview mode.
492
+ */
493
+ preview?: boolean;
494
+ }
495
+ export type PluginConfigInputItem = {
496
+ name: string;
497
+ value: string;
498
+ };
499
+ export interface HostTransformPlugin {
500
+ /**
501
+ * The ID of the plugin.
502
+ */
503
+ id: string;
504
+ /**
505
+ * The label of the transform plugin which is shown in the editor.
506
+ */
507
+ label: string;
508
+ configInputs?: PluginConfigInput[];
509
+ description?: string;
510
+ /**
511
+ * Whether the transform plugin supports previewing the changes first.
512
+ *
513
+ * If true, the plugin is expected to to defer producing any side effects
514
+ * to when it's executed in non-preview mode.
515
+ */
516
+ preview?: boolean;
393
517
  }
394
518
  export interface LibraryItem {
395
519
  uuid: string;
@@ -434,9 +558,11 @@ export interface MappedState {
434
558
  ownerName: string;
435
559
  mutatedState?: {
436
560
  mutatedOptions?: any;
561
+ mutatedHostOptions?: Record<string, string>;
437
562
  fields?: MutatedField[];
438
563
  violations?: Validation[];
439
564
  };
565
+ publishOptions: PublishOptions;
440
566
  entity: EditEntity;
441
567
  mutatedEntity?: any;
442
568
  translationState: TranslationState;
@@ -448,8 +574,10 @@ export interface BlockBundleDefinition {
448
574
  description?: string;
449
575
  allowReusable?: boolean;
450
576
  isTranslatable?: boolean;
577
+ hasPublishOn?: boolean;
578
+ hasUnpublishOn?: boolean;
451
579
  }
452
- export type EditMode = 'readonly' | 'editing' | 'translating';
580
+ export type EditMode = 'readonly' | 'editing' | 'translating' | 'review';
453
581
  export type MutatedOptions = {
454
582
  [uuid: string]: {
455
583
  [key: string]: string;
@@ -564,36 +692,12 @@ export type DraggableStyle = {
564
692
  };
565
693
  export interface DraggableExistingStructureBlock {
566
694
  itemType: 'existing_structure';
567
- uuid: string;
568
- itemBundle: string;
695
+ block: RenderedFieldListItem;
569
696
  element: () => HTMLElement;
570
697
  }
571
698
  export interface DraggableExistingBlock {
572
699
  itemType: 'existing';
573
- element: () => HTMLElement;
574
- entityType: string;
575
- hostType: string;
576
- hostBundle: string;
577
- hostUuid: string;
578
- hostFieldName: string;
579
- hostFieldListType: ValidFieldListTypes;
580
- itemBundle: string;
581
- isNew: boolean;
582
- uuid: string;
583
- isNested: boolean;
584
- /**
585
- * The bundle if this item is reusable.
586
- */
587
- reusableBundle?: string;
588
- /**
589
- * The UUID of the library item this block belongs to.
590
- */
591
- libraryItemUuid?: string;
592
- /**
593
- * The title to use when displaying the block in lists during editing.
594
- */
595
- editTitle?: string;
596
- parentBlockBundle: BlockBundleWithNested | undefined;
700
+ block: RenderedFieldListItem;
597
701
  }
598
702
  export interface DraggableNewItem {
599
703
  itemType: 'new';
@@ -687,6 +791,10 @@ export type UpdateBlockOptionEvent = {
687
791
  key: string;
688
792
  value: string;
689
793
  };
794
+ export type UpdateHostOptionEvent = {
795
+ key: string;
796
+ value: string;
797
+ };
690
798
  export type EditBlockEvent = {
691
799
  uuid: string;
692
800
  bundle: string;
@@ -712,6 +820,7 @@ export type Message = {
712
820
  type: 'success' | 'error';
713
821
  message: string;
714
822
  additional?: string | Error | unknown;
823
+ replace?: boolean;
715
824
  };
716
825
  export type Size = {
717
826
  width: number;
@@ -723,11 +832,15 @@ export type Coord = {
723
832
  };
724
833
  export type Rectangle = Size & Coord;
725
834
  export type CanvasDrawEvent = {
835
+ gl: WebGLRenderingContext;
726
836
  mouseX: number;
727
837
  mouseY: number;
838
+ mouseArtboard: Coord;
728
839
  artboardOffset: Coord;
729
840
  artboardScale: number;
841
+ artboardSize: Size;
730
842
  time: number;
843
+ selectedUuids: string[];
731
844
  };
732
845
  export type MakeReusableEvent = {
733
846
  label: string;
@@ -758,6 +871,11 @@ export type ScrollIntoViewEvent = {
758
871
  uuid: string;
759
872
  center?: boolean;
760
873
  immediate?: boolean;
874
+ } | {
875
+ element: HTMLElement;
876
+ center?: boolean;
877
+ immediate?: boolean;
878
+ highlight?: boolean;
761
879
  };
762
880
  export type PluginMountEvent = {
763
881
  type: 'ItemDropdown';
@@ -806,10 +924,11 @@ export type BlokkliFieldElement = {
806
924
  allowedFragments: string[];
807
925
  cardinality: number;
808
926
  element: HTMLElement;
809
- dropAlignment?: 'vertical' | 'horizontal';
927
+ dropAlignment: FieldDropAlignment | null;
810
928
  };
929
+ export type FieldDropAlignment = 'vertical' | 'horizontal';
811
930
  export type ActionPlacedEvent = {
812
- action: DraggableActionItem;
931
+ id: string;
813
932
  preceedingUuid?: string;
814
933
  host: DraggableHostData;
815
934
  field: BlokkliFieldElement;
@@ -870,15 +989,27 @@ export type LibraryEditItemEvent = {
870
989
  uuid: string;
871
990
  label?: string;
872
991
  };
992
+ export type AnimationFrameBeforeEvent = {
993
+ time: number;
994
+ mouseX: number;
995
+ mouseY: number;
996
+ };
997
+ type MultiSelectStartEvent = {
998
+ x: number;
999
+ y: number;
1000
+ };
873
1001
  export type EventbusEvents = {
874
1002
  select: string | string[];
875
1003
  'select:unselect': undefined;
1004
+ 'select:force': string | string[];
1005
+ 'select:host': undefined;
1006
+ 'select:host:unselect': undefined;
1007
+ 'multi-select:start': MultiSelectStartEvent;
876
1008
  'item:edit': EditBlockEvent;
877
1009
  batchTranslate: undefined;
878
1010
  'dragging:start': DraggableStartEvent;
879
1011
  'dragging:drop': DropTargetEvent;
880
1012
  'dragging:end': undefined;
881
- setActiveFieldKey: string;
882
1013
  'add:block:new': AddNewBlockEvent;
883
1014
  updateMutatedFields: UpdateMutatedFieldsEvent;
884
1015
  animationFrame: AnimationFrameEvent;
@@ -893,17 +1024,20 @@ export type EventbusEvents = {
893
1024
  'select:toggle': string;
894
1025
  'select:shiftToggle': string;
895
1026
  'select:end': string[] | undefined;
896
- 'select:previous': undefined;
897
- 'select:next': undefined;
898
1027
  'item:dropped': undefined;
899
1028
  'block:append': BlockAppendEvent;
900
- 'item:doubleClick': DraggableExistingBlock;
1029
+ 'item:doubleClick': RenderedFieldListItem;
901
1030
  scrollIntoView: ScrollIntoViewEvent;
902
- 'animationFrame:before': number;
1031
+ 'animationFrame:before': AnimationFrameBeforeEvent;
1032
+ 'animationFrame:after': undefined;
903
1033
  'canvas:draw': CanvasDrawEvent;
904
1034
  'state:reloaded': undefined;
905
1035
  addContentSearchItem: AddContentSearchItemEvent;
906
1036
  'option:update': UpdateBlockOptionEvent;
1037
+ /**
1038
+ * Emitted after finishing changing options.
1039
+ */
1040
+ 'option:finish-change': undefined;
907
1041
  'plugin:mount': PluginMountEvent;
908
1042
  'plugin:unmount': PluginUnmountEvent;
909
1043
  'editable:focus': EditableFieldFocusEvent;
@@ -914,6 +1048,7 @@ export type EventbusEvents = {
914
1048
  'sidebar:close': undefined;
915
1049
  'sidebar:open': string;
916
1050
  'action:placed': ActionPlacedEvent;
1051
+ 'action:selected': undefined;
917
1052
  'animator:add': AnimatorAddEvent;
918
1053
  'ui:resized': undefined;
919
1054
  'add-list:change': undefined;
@@ -925,10 +1060,27 @@ export type EventbusEvents = {
925
1060
  * Emitted when publishing failed.
926
1061
  */
927
1062
  'publish:failed': undefined;
1063
+ /**
1064
+ * Show the publish dialog.
1065
+ */
1066
+ 'publish:show-dialog': undefined;
928
1067
  /**
929
1068
  * Edit a library item.
930
1069
  */
931
1070
  'library:edit-item': LibraryEditItemEvent;
1071
+ /**
1072
+ * Emitted when a view option is being toggled.
1073
+ */
1074
+ 'view-option:toggle': {
1075
+ id: string;
1076
+ };
1077
+ /**
1078
+ * An analyze node target was clicked.
1079
+ */
1080
+ 'analyze:click-node': {
1081
+ id: string;
1082
+ target: HTMLElement;
1083
+ };
932
1084
  };
933
1085
  export type Eventbus = Emitter<EventbusEvents>;
934
1086
  export type ItemEditContext = {
@@ -936,6 +1088,7 @@ export type ItemEditContext = {
936
1088
  mutatedOptions: MutatedOptions;
937
1089
  dom?: DomProvider;
938
1090
  definitions: DefinitionProvider;
1091
+ useBlockRegistration?: (dom: DomProvider, uuid: string) => void;
939
1092
  };
940
1093
  export interface BlokkliApp {
941
1094
  /**
@@ -951,7 +1104,9 @@ export interface BlokkliApp {
951
1104
  storage: StorageProvider;
952
1105
  types: BlockDefinitionProvider;
953
1106
  selection: SelectionProvider;
1107
+ blocks: BlocksProvider;
954
1108
  keyboard: KeyboardProvider;
1109
+ element: ElementProvider;
955
1110
  ui: UiProvider;
956
1111
  animation: AnimationProvider;
957
1112
  definitions: DefinitionProvider;
@@ -965,6 +1120,10 @@ export interface BlokkliApp {
965
1120
  tour: TourProvider;
966
1121
  dropAreas: DropAreaProvider;
967
1122
  debug: DebugProvider;
1123
+ indicators: IndicatorsProvider;
1124
+ plugins: PluginProvider;
1125
+ directive: DirectiveProvider;
1126
+ fields: FieldsProvider;
968
1127
  }
969
1128
  export type PasteExistingBlocksEvent = {
970
1129
  uuids: string[];
@@ -1095,7 +1254,7 @@ export type DropArea = {
1095
1254
  label: string;
1096
1255
  icon?: BlokkliIcon;
1097
1256
  element: HTMLElement;
1098
- onDrop: () => Promise<any>;
1257
+ onDrop: () => Promise<any> | any;
1099
1258
  };
1100
1259
  export type ContextMenuRule = {
1101
1260
  type: 'rule';
@@ -1144,6 +1303,26 @@ export type FragmentDefinitionInput<Options extends BlockDefinitionOptionsInput
1144
1303
  */
1145
1304
  editor?: BlokkliDefinitionInputEditor<Options, GlobalOptions>;
1146
1305
  };
1306
+ export type ProviderDefinitionInput<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined> = {
1307
+ /**
1308
+ * The entity type.
1309
+ */
1310
+ entityType: string;
1311
+ /**
1312
+ * The bundle.
1313
+ */
1314
+ bundle: string;
1315
+ /**
1316
+ * Define options available for this block.
1317
+ */
1318
+ options?: Options;
1319
+ /**
1320
+ * Global options to use.
1321
+ *
1322
+ * These options will be merged with the component-specific options.
1323
+ */
1324
+ globalOptions?: GlobalOptions;
1325
+ };
1147
1326
  export type TourItem = {
1148
1327
  id: string;
1149
1328
  title: string;
@@ -1173,7 +1352,10 @@ export type PublishOptions = {
1173
1352
  canPublish: boolean;
1174
1353
  isRevisionable: boolean;
1175
1354
  hasRevisionLogMessage: boolean;
1176
- lastChanged?: string | null;
1355
+ lastChanged: string | null;
1356
+ canSchedule: boolean;
1357
+ publishOn: string | null;
1358
+ revisionLogMessage: string | null;
1177
1359
  };
1178
1360
  export type GetEditStatesItem = {
1179
1361
  hostEntityType: string;
@@ -1181,5 +1363,59 @@ export type GetEditStatesItem = {
1181
1363
  entity: EditEntity;
1182
1364
  currentUserIsOwner: boolean;
1183
1365
  };
1366
+ export type BlockIndicator = {
1367
+ id: string;
1368
+ uuid: string;
1369
+ element: HTMLElement;
1370
+ position: 'left' | 'right';
1371
+ };
1372
+ export type AddActionColor = 'rose' | 'lime' | 'accent';
1373
+ export type AddAction = {
1374
+ id: string;
1375
+ icon: BlokkliIcon;
1376
+ color: AddActionColor;
1377
+ itemBundle?: string;
1378
+ title: string;
1379
+ description?: string;
1380
+ enabled?: boolean;
1381
+ };
1382
+ export type BlockEditContext = {
1383
+ isPublished: boolean;
1384
+ isNew: boolean;
1385
+ publishOn?: string | null;
1386
+ unpublishOn?: string | null;
1387
+ };
1388
+ export type RenderedFieldListItem = {
1389
+ uuid: string;
1390
+ bundle: string;
1391
+ isNew: boolean;
1392
+ isPublished: boolean;
1393
+ host: DraggableHostData & {
1394
+ bundle: string;
1395
+ };
1396
+ fieldListType: ValidFieldListTypes;
1397
+ parentBlockBundle: BlockBundleWithNested | null;
1398
+ library: {
1399
+ label: string;
1400
+ libraryItemUuid: string;
1401
+ reusableBundle: string;
1402
+ } | null;
1403
+ isNested: boolean;
1404
+ publishOn?: string | null;
1405
+ unpublishOn?: string | null;
1406
+ };
1407
+ export type BlokkliDirectiveType = 'editable' | 'droppable';
1408
+ export type RegisteredField = {
1409
+ element: HTMLElement;
1410
+ entity: EntityContext;
1411
+ fieldName: string;
1412
+ fieldListType: ValidFieldListTypes;
1413
+ allowedFragments: BlokkliFragmentName[];
1414
+ isNested: boolean;
1415
+ nestingLevel: number;
1416
+ dropAlignment: FieldDropAlignment | null;
1417
+ };
1418
+ export type RegisterFieldData = Pick<RegisteredField, 'fieldListType' | 'allowedFragments' | 'isNested' | 'nestingLevel' | 'dropAlignment'>;
1419
+ export type VueClassProp = string | Record<string, boolean> | VueClassProp[];
1184
1420
  declare const _default: {};
1185
1421
  export default _default;
@@ -25,7 +25,8 @@ export type ThemeContextColorGroup =
25
25
  /**
26
26
  * The lime color used for reusable blocks / library and status indicators.
27
27
  */
28
- | 'lime';
28
+ | 'lime' | 'orange';
29
+ export type ThemeColorName = ThemeColorGroup | ThemeContextColorGroup;
29
30
  export type ThemeColorShade = '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | '950';
30
31
  export type ThemeContextColorShade = 'light' | 'normal' | 'dark';
31
32
  export type ThemeColors = Record<ThemeColorShade, RGB>;
@@ -25,7 +25,7 @@ type ModuleFileTemplate = {
25
25
  };
26
26
  type ModuleTemplate = ModuleCodeTemplate | ModuleFileTemplate;
27
27
 
28
- type CollectedBlockType = 'main' | 'context' | 'fragment';
28
+ type CollectedBlockType = 'main' | 'context' | 'fragment' | 'provider';
29
29
  declare class CollectedBlockFile extends CollectedFile {
30
30
  folder: string;
31
31
  iconPath: string | null;