@blokkli/editor 2.0.0-alpha.13 → 2.0.0-alpha.15

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 (289) hide show
  1. package/dist/module.d.mts +1 -1
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +4873 -1167
  4. package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
  5. package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +1 -0
  6. package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +5 -0
  7. package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
  8. package/dist/modules/drupal/graphql/features/publishNew.graphql +1 -4
  9. package/dist/modules/drupal/graphql/features/scheduler.graphql +31 -0
  10. package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
  11. package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
  12. package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
  13. package/dist/modules/drupal/index.d.mts +1 -1
  14. package/dist/modules/drupal/index.mjs +37 -7
  15. package/dist/modules/drupal/runtime/adapter/index.js +140 -5
  16. package/dist/runtime/adapter/index.d.ts +90 -1
  17. package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
  18. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
  19. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
  20. package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +3 -0
  21. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
  22. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
  23. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
  24. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
  25. package/dist/runtime/blokkliPlugins/MenuButton/index.vue.d.ts +2 -2
  26. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
  27. package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
  28. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +1 -1
  29. package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
  30. package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
  31. package/dist/runtime/blokkliPlugins/index.js +15 -13
  32. package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
  33. package/dist/runtime/components/BlokkliProvider.vue +1 -0
  34. package/dist/runtime/components/BlokkliProvider.vue.d.ts +1 -0
  35. package/dist/runtime/components/Edit/Actions/index.vue +39 -67
  36. package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
  37. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
  38. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
  39. package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
  40. package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
  41. package/dist/runtime/components/Edit/Dialog/index.vue +5 -1
  42. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +1 -1
  43. package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
  44. package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
  45. package/dist/runtime/components/Edit/DragInteractions/index.vue +35 -6
  46. package/dist/runtime/components/Edit/EditProvider.vue +46 -35
  47. package/dist/runtime/components/Edit/Features/AddList/index.vue +15 -25
  48. package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
  49. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +168 -0
  50. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
  51. package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
  52. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
  53. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
  54. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
  55. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
  56. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
  57. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
  58. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
  59. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
  60. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +101 -0
  61. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
  62. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
  63. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
  64. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
  65. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
  66. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
  67. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
  68. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
  69. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
  70. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
  71. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
  72. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
  73. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
  74. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
  75. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
  76. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
  77. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
  78. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
  79. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
  80. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
  81. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
  82. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
  83. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
  84. package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
  85. package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
  86. package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
  87. package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +136 -0
  88. package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
  89. package/dist/runtime/components/Edit/Features/Anchors/index.vue.d.ts +2 -0
  90. package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
  91. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +296 -0
  92. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
  93. package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -245
  94. package/dist/runtime/components/Edit/Features/Assistant/index.vue +3 -2
  95. package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +4 -4
  96. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +161 -28
  97. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +16 -4
  98. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue.d.ts +0 -1
  99. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +4 -53
  100. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +3 -2
  101. package/dist/runtime/components/Edit/Features/Conversions/index.vue +12 -14
  102. package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
  103. package/dist/runtime/components/Edit/Features/Debug/index.vue +27 -24
  104. package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
  105. package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
  106. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +4 -4
  107. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +1 -1
  108. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +35 -71
  109. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +1 -1
  110. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +62 -48
  111. package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
  112. package/dist/runtime/components/Edit/Features/EditForm/index.vue +3 -3
  113. package/dist/runtime/components/Edit/Features/EditableField/index.vue +6 -2
  114. package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
  115. package/dist/runtime/components/Edit/Features/EntityTitle/index.vue +33 -1
  116. package/dist/runtime/components/Edit/Features/Fragments/index.vue +3 -2
  117. package/dist/runtime/components/Edit/Features/History/index.vue +35 -12
  118. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
  119. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
  120. package/dist/runtime/components/Edit/Features/Library/index.vue +11 -9
  121. package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +5 -8
  122. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
  123. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +9 -4
  124. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
  125. package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +8 -14
  126. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
  127. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
  128. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +9 -3
  129. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
  130. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
  131. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
  132. package/dist/runtime/components/Edit/Features/Options/Form/index.vue +81 -37
  133. package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
  134. package/dist/runtime/components/Edit/Features/Options/index.vue +30 -6
  135. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
  136. package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue +41 -14
  137. package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue.d.ts +2 -0
  138. package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue +47 -0
  139. package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue.d.ts +19 -0
  140. package/dist/runtime/components/Edit/Features/Publish/Dialog/ScheduleDate.vue +183 -0
  141. package/dist/runtime/components/Edit/Features/Publish/Dialog/ScheduleDate.vue.d.ts +13 -0
  142. package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue +83 -0
  143. package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue.d.ts +9 -0
  144. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +381 -128
  145. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue.d.ts +3 -14
  146. package/dist/runtime/components/Edit/Features/Publish/index.vue +37 -22
  147. package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
  148. package/dist/runtime/components/Edit/Features/Search/index.vue +3 -2
  149. package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue +54 -0
  150. package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue.d.ts +14 -0
  151. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +120 -0
  152. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue.d.ts +15 -0
  153. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +459 -0
  154. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
  155. package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +14 -9
  156. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +32 -11
  157. package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +1 -1
  158. package/dist/runtime/components/Edit/Features/Selection/index.vue +76 -7
  159. package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
  160. package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
  161. package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
  162. package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
  163. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
  164. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
  165. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
  166. package/dist/runtime/components/Edit/Features/Transform/index.vue +155 -44
  167. package/dist/runtime/components/Edit/Form/Datepicker/index.vue +198 -0
  168. package/dist/runtime/components/Edit/Form/Datepicker/index.vue.d.ts +15 -0
  169. package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
  170. package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
  171. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
  172. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
  173. package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
  174. package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
  175. package/dist/runtime/components/Edit/Form/Text/index.vue +33 -0
  176. package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +19 -0
  177. package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
  178. package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
  179. package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
  180. package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
  181. package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
  182. package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
  183. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
  184. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
  185. package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
  186. package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
  187. package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
  188. package/dist/runtime/components/Edit/Konami/Game/index.vue +752 -0
  189. package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
  190. package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
  191. package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
  192. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
  193. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
  194. package/dist/runtime/components/Edit/Konami/index.vue +44 -0
  195. package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
  196. package/dist/runtime/components/Edit/Loading/index.vue +6 -2
  197. package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
  198. package/dist/runtime/components/Edit/Messages/index.vue +8 -3
  199. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
  200. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
  201. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
  202. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
  203. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
  204. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
  205. package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
  206. package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
  207. package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
  208. package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
  209. package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +8 -3
  210. package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
  211. package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
  212. package/dist/runtime/components/Edit/Transition/index.vue +41 -0
  213. package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
  214. package/dist/runtime/components/Edit/index.d.ts +24 -15
  215. package/dist/runtime/components/Edit/index.js +46 -28
  216. package/dist/runtime/composables/defineBlokkli.js +7 -3
  217. package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
  218. package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
  219. package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
  220. package/dist/runtime/composables/useBlokkliHelper.js +1 -1
  221. package/dist/runtime/constants/index.d.ts +3 -0
  222. package/dist/runtime/constants/index.js +3 -0
  223. package/dist/runtime/css/output.css +1 -1
  224. package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
  225. package/dist/runtime/helpers/addElementClasses.js +24 -0
  226. package/dist/runtime/helpers/animationProvider.d.ts +4 -2
  227. package/dist/runtime/helpers/animationProvider.js +7 -2
  228. package/dist/runtime/helpers/bundles/index.d.ts +1 -0
  229. package/dist/runtime/helpers/bundles/index.js +4 -0
  230. package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +20 -0
  231. package/dist/runtime/helpers/composables/useStickyToolbar.js +215 -0
  232. package/dist/runtime/helpers/definitionProvider.d.ts +2 -1
  233. package/dist/runtime/helpers/definitionProvider.js +17 -0
  234. package/dist/runtime/helpers/domProvider.d.ts +2 -1
  235. package/dist/runtime/helpers/domProvider.js +89 -43
  236. package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
  237. package/dist/runtime/helpers/dropTargets/index.js +49 -0
  238. package/dist/runtime/helpers/eventBus.d.ts +1 -1
  239. package/dist/runtime/helpers/eventBus.js +2 -2
  240. package/dist/runtime/helpers/index.d.ts +10 -1
  241. package/dist/runtime/helpers/index.js +57 -0
  242. package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
  243. package/dist/runtime/helpers/indicatorsProvider.js +23 -0
  244. package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
  245. package/dist/runtime/helpers/keyboardProvider.js +17 -1
  246. package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
  247. package/dist/runtime/helpers/pluginProvider.js +33 -0
  248. package/dist/runtime/helpers/renderCycle.d.ts +1 -0
  249. package/dist/runtime/helpers/renderCycle.js +10 -0
  250. package/dist/runtime/helpers/runtimeHelpers/index.js +14 -11
  251. package/dist/runtime/helpers/selectionProvider.d.ts +16 -0
  252. package/dist/runtime/helpers/selectionProvider.js +47 -35
  253. package/dist/runtime/helpers/stateProvider.d.ts +7 -2
  254. package/dist/runtime/helpers/stateProvider.js +89 -14
  255. package/dist/runtime/helpers/storageProvider.d.ts +4 -3
  256. package/dist/runtime/helpers/storageProvider.js +56 -3
  257. package/dist/runtime/helpers/symbols.d.ts +1 -0
  258. package/dist/runtime/helpers/symbols.js +1 -0
  259. package/dist/runtime/helpers/textProvider.js +6 -0
  260. package/dist/runtime/helpers/themeProvider.d.ts +2 -0
  261. package/dist/runtime/helpers/themeProvider.js +4 -1
  262. package/dist/runtime/helpers/transform.js +1 -3
  263. package/dist/runtime/helpers/uiProvider.d.ts +9 -2
  264. package/dist/runtime/helpers/uiProvider.js +72 -47
  265. package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
  266. package/dist/runtime/helpers/useTransitionedValue.js +57 -0
  267. package/dist/runtime/icons/anchor.svg +1 -0
  268. package/dist/runtime/icons/arrow-left.svg +1 -1
  269. package/dist/runtime/icons/arrow-right.svg +1 -1
  270. package/dist/runtime/icons/arrow-top-right.svg +1 -0
  271. package/dist/runtime/icons/calendar-clock.svg +1 -0
  272. package/dist/runtime/icons/chart.svg +1 -0
  273. package/dist/runtime/icons/copy.svg +1 -0
  274. package/dist/runtime/icons/cursor-move.svg +1 -1
  275. package/dist/runtime/icons/diff.svg +1 -1
  276. package/dist/runtime/icons/eye-off.svg +1 -0
  277. package/dist/runtime/icons/eye.svg +1 -1
  278. package/dist/runtime/icons/info.svg +1 -1
  279. package/dist/runtime/icons/link.svg +1 -0
  280. package/dist/runtime/icons/speedometer.svg +1 -0
  281. package/dist/runtime/types/blokkOptions.d.ts +8 -0
  282. package/dist/runtime/types/index.d.ts +172 -6
  283. package/dist/runtime/types/theme.d.ts +2 -1
  284. package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
  285. package/package.json +20 -5
  286. package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
  287. package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
  288. /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay → Analyze}/index.vue.d.ts +0 -0
  289. /package/dist/runtime/components/Edit/Features/{FieldAreas/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>arrow-left</title><path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>arrow-right</title><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15,13H16.5V15.82L18.94,17.23L18.19,18.53L15,16.69V13M19,8H5V19H9.67C9.24,18.09 9,17.07 9,16A7,7 0 0,1 16,9C17.07,9 18.09,9.24 19,9.67V8M5,21C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H6V1H8V3H16V1H18V3H19A2,2 0 0,1 21,5V11.1C22.24,12.36 23,14.09 23,16A7,7 0 0,1 16,23C14.09,23 12.36,22.24 11.1,21H5M16,11.15A4.85,4.85 0 0,0 11.15,16C11.15,18.68 13.32,20.85 16,20.85A4.85,4.85 0 0,0 20.85,16C20.85,13.32 18.68,11.15 16,11.15Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>cursor-move</title><path d="M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>select-compare</title><path d="M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2,5.27L3.28,4L20,20.72L18.73,22L15.65,18.92C14.5,19.3 13.28,19.5 12,19.5C7,19.5 2.73,16.39 1,12C1.69,10.24 2.79,8.69 4.19,7.46L2,5.27M12,9A3,3 0 0,1 15,12C15,12.35 14.94,12.69 14.83,13L11,9.17C11.31,9.06 11.65,9 12,9M12,4.5C17,4.5 21.27,7.61 23,12C22.18,14.08 20.79,15.88 19,17.19L17.58,15.76C18.94,14.82 20.06,13.54 20.82,12C19.17,8.64 15.76,6.5 12,6.5C10.91,6.5 9.84,6.68 8.84,7L7.3,5.47C8.74,4.85 10.33,4.5 12,4.5M3.18,12C4.83,15.36 8.24,17.5 12,17.5C12.69,17.5 13.37,17.43 14,17.29L11.72,15C10.29,14.85 9.15,13.71 9,12.28L5.6,8.87C4.61,9.72 3.78,10.78 3.18,12Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>eye</title><path d="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>information-slab-circle</title><path d="M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M11 7H13V9H11V7M14 17H10V15H11V13H10V11H13V15H14V17Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M11 7H13V9H11V7M14 17H10V15H11V13H10V11H13V15H14V17Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,16A3,3 0 0,1 9,13C9,11.88 9.61,10.9 10.5,10.39L20.21,4.77L14.68,14.35C14.18,15.33 13.17,16 12,16M12,3C13.81,3 15.5,3.5 16.97,4.32L14.87,5.53C14,5.19 13,5 12,5A8,8 0 0,0 4,13C4,15.21 4.89,17.21 6.34,18.65H6.35C6.74,19.04 6.74,19.67 6.35,20.06C5.96,20.45 5.32,20.45 4.93,20.07V20.07C3.12,18.26 2,15.76 2,13A10,10 0 0,1 12,3M22,13C22,15.76 20.88,18.26 19.07,20.07V20.07C18.68,20.45 18.05,20.45 17.66,20.06C17.27,19.67 17.27,19.04 17.66,18.65V18.65C19.11,17.2 20,15.21 20,13C20,12 19.81,11 19.46,10.1L20.67,8C21.5,9.5 22,11.18 22,13Z" /></svg>
@@ -3,6 +3,7 @@ type DefinitionOptionText = {
3
3
  type: 'text';
4
4
  default: string;
5
5
  label: string;
6
+ description?: string;
6
7
  inputType?: 'text' | 'number' | 'date';
7
8
  group?: string;
8
9
  };
@@ -10,6 +11,7 @@ type DefinitionOptionNumber = {
10
11
  type: 'number';
11
12
  default: number;
12
13
  label: string;
14
+ description?: string;
13
15
  min: number;
14
16
  max: number;
15
17
  group?: string;
@@ -18,6 +20,7 @@ type DefinitionOptionRange = {
18
20
  type: 'range';
19
21
  default: number;
20
22
  label: string;
23
+ description?: string;
21
24
  min: number;
22
25
  max: number;
23
26
  step: number;
@@ -26,6 +29,7 @@ type DefinitionOptionRange = {
26
29
  type DefinitionOptionDateTimeLocal = {
27
30
  type: 'datetime-local';
28
31
  label: string;
32
+ description?: string;
29
33
  default?: string;
30
34
  min?: string;
31
35
  max?: string;
@@ -35,17 +39,20 @@ type DefinitionOptionCheckbox = {
35
39
  type: 'checkbox';
36
40
  default: boolean;
37
41
  label: string;
42
+ description?: string;
38
43
  group?: string;
39
44
  };
40
45
  type DefinitionOptionColor = {
41
46
  type: 'color';
42
47
  default: `#${string}`;
43
48
  label: string;
49
+ description?: string;
44
50
  group?: string;
45
51
  };
46
52
  type DefinitionOptionCheckboxes = {
47
53
  type: 'checkboxes';
48
54
  label: string;
55
+ description?: string;
49
56
  /**
50
57
  * The default values.
51
58
  */
@@ -85,6 +92,7 @@ type DefinitionOptionRadiosIcons = {
85
92
  type DefinitionOptionRadios = {
86
93
  type: 'radios';
87
94
  label: string;
95
+ description?: string;
88
96
  default: string;
89
97
  group?: string;
90
98
  } & (DefinitionOptionRadiosColors | DefinitionOptionRadiosGrid | DefinitionOptionRadiosRadios | DefinitionOptionRadiosIcons);
@@ -9,6 +9,7 @@ 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
11
  import type { TextProvider } from '../helpers/textProvider.js';
12
+ import type { PluginProvider } from '../helpers/pluginProvider.js';
12
13
  import type { eventBus } from './../helpers/eventBus.js';
13
14
  import type { BlockOptionDefinition } from './blokkOptions.js';
14
15
  import type { BlokkliAdapter, AdapterContext, MutationResponseLike } from './../adapter/index.js';
@@ -26,6 +27,7 @@ import type { RGB } from './theme.js';
26
27
  import type { DebugProvider } from '#blokkli/helpers/debugProvider';
27
28
  import type getVideoId from 'get-video-id';
28
29
  import type { DefinitionProvider } from '../helpers/definitionProvider.js';
30
+ import type { IndicatorsProvider } from '#blokkli/helpers/indicatorsProvider';
29
31
  export type MutateWithLoadingStateFunction = (promise: () => Promise<MutationResponseLike<any>> | undefined, errorMessage?: string, successMessage?: string) => Promise<boolean>;
30
32
  type GetType<T> = T extends {
31
33
  options: infer O;
@@ -89,6 +91,15 @@ export type DefineBlokkliContext<T extends BlockDefinitionOptionsInput = BlockDe
89
91
  */
90
92
  provider: ComputedRef<BlokkliProviderEntityContext | null>;
91
93
  };
94
+ export type DefineProviderContext<T extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, G extends ValidGlobalConfigKeys | undefined = undefined> = {
95
+ /**
96
+ * The reactive runtime options.
97
+ *
98
+ * This includes both the locally defined options and the inherited global
99
+ * options.
100
+ */
101
+ options: ComputedRef<(T extends BlockDefinitionOptionsInput ? WithOptions<T> : object) & (G extends ValidGlobalConfigKeys ? GlobalOptionsKeyTypes<G> : object)>;
102
+ };
92
103
  type DetermineVisibleOptionsContext<T extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, G extends GlobalOptionsKey[] | undefined = undefined, B extends BundleKey | string = string> = {
93
104
  options: (T extends BlockDefinitionOptionsInput ? WithOptions<T> : object) & (G extends ValidGlobalConfigKeys ? GlobalOptionsKeyTypes<G> : object);
94
105
  parentType: BlockBundleWithNested | undefined;
@@ -99,7 +110,7 @@ type DetermineVisibleOptionsContext<T extends BlockDefinitionOptionsInput = Bloc
99
110
  type ExtractGlobalOptions<G extends GlobalOptionsKey[]> = G[number] extends GlobalOptionsKey ? G[number] : never;
100
111
  type CombineKeysAndGlobalOptions<T extends BlockDefinitionOptionsInput, G extends GlobalOptionsKey[] | undefined> = keyof T | ExtractGlobalOptions<NonNullable<G>>;
101
112
  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> = {
113
+ 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
114
  /**
104
115
  * Determine which options should be visible in the editor based on the
105
116
  * given context.
@@ -234,7 +245,7 @@ export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsI
234
245
  * You can also return HTML as the value. The feature uses an HTML differ to
235
246
  * render the diff.
236
247
  */
237
- mapDiffProps?: (props?: any) => Record<string, string>;
248
+ mapDiffProps?: (props?: PropsType) => Record<string, string>;
238
249
  };
239
250
  export type BlockDefinitionRenderForParent = {
240
251
  parentBundle: BlockBundleWithNested;
@@ -396,6 +407,50 @@ export interface ConversionItem {
396
407
  sourceBundle: string;
397
408
  targetBundle: string;
398
409
  }
410
+ export type PluginConfigInputText = {
411
+ type: 'text';
412
+ name: string;
413
+ label: string;
414
+ description?: string;
415
+ required: boolean;
416
+ defaultValue?: string;
417
+ minLength?: number;
418
+ maxLength?: number;
419
+ placeholder?: string;
420
+ pattern?: string;
421
+ multiline?: boolean;
422
+ rows?: number;
423
+ };
424
+ export type PluginConfigInputSeed = {
425
+ type: 'seed';
426
+ name: string;
427
+ label: string;
428
+ description?: string;
429
+ required: boolean;
430
+ };
431
+ export type PluginConfigInputCheckbox = {
432
+ type: 'checkbox';
433
+ name: string;
434
+ label: string;
435
+ description?: string;
436
+ required: boolean;
437
+ checkboxLabel?: string;
438
+ defaultValue: boolean;
439
+ };
440
+ export type PluginConfigInputOptions = {
441
+ type: 'options';
442
+ name: string;
443
+ label: string;
444
+ description?: string;
445
+ required: boolean;
446
+ defaultValue?: string;
447
+ variant: 'select' | 'radio';
448
+ options: {
449
+ value: string;
450
+ label: string;
451
+ }[];
452
+ };
453
+ export type PluginConfigInput = PluginConfigInputText | PluginConfigInputSeed | PluginConfigInputCheckbox | PluginConfigInputOptions;
399
454
  export interface TransformPlugin {
400
455
  /**
401
456
  * The ID of the plugin.
@@ -412,7 +467,7 @@ export interface TransformPlugin {
412
467
  /**
413
468
  * The array of bundles that the transform might create.
414
469
  */
415
- targetBundles: string[];
470
+ targetBundles?: string[];
416
471
  /**
417
472
  * The minimum number of items required.
418
473
  */
@@ -421,6 +476,38 @@ export interface TransformPlugin {
421
476
  * The maximum number of items.
422
477
  */
423
478
  max: number;
479
+ configInputs?: PluginConfigInput[];
480
+ description?: string;
481
+ /**
482
+ * Whether the transform plugin supports previewing the changes first.
483
+ *
484
+ * If true, the plugin is expected to to defer producing any side effects
485
+ * to when it's executed in non-preview mode.
486
+ */
487
+ preview?: boolean;
488
+ }
489
+ export type PluginConfigInputItem = {
490
+ name: string;
491
+ value: string;
492
+ };
493
+ export interface HostTransformPlugin {
494
+ /**
495
+ * The ID of the plugin.
496
+ */
497
+ id: string;
498
+ /**
499
+ * The label of the transform plugin which is shown in the editor.
500
+ */
501
+ label: string;
502
+ configInputs?: PluginConfigInput[];
503
+ description?: string;
504
+ /**
505
+ * Whether the transform plugin supports previewing the changes first.
506
+ *
507
+ * If true, the plugin is expected to to defer producing any side effects
508
+ * to when it's executed in non-preview mode.
509
+ */
510
+ preview?: boolean;
424
511
  }
425
512
  export interface LibraryItem {
426
513
  uuid: string;
@@ -465,9 +552,11 @@ export interface MappedState {
465
552
  ownerName: string;
466
553
  mutatedState?: {
467
554
  mutatedOptions?: any;
555
+ mutatedHostOptions?: Record<string, string>;
468
556
  fields?: MutatedField[];
469
557
  violations?: Validation[];
470
558
  };
559
+ publishOptions: PublishOptions;
471
560
  entity: EditEntity;
472
561
  mutatedEntity?: any;
473
562
  translationState: TranslationState;
@@ -718,6 +807,10 @@ export type UpdateBlockOptionEvent = {
718
807
  key: string;
719
808
  value: string;
720
809
  };
810
+ export type UpdateHostOptionEvent = {
811
+ key: string;
812
+ value: string;
813
+ };
721
814
  export type EditBlockEvent = {
722
815
  uuid: string;
723
816
  bundle: string;
@@ -743,6 +836,7 @@ export type Message = {
743
836
  type: 'success' | 'error';
744
837
  message: string;
745
838
  additional?: string | Error | unknown;
839
+ replace?: boolean;
746
840
  };
747
841
  export type Size = {
748
842
  width: number;
@@ -789,6 +883,11 @@ export type ScrollIntoViewEvent = {
789
883
  uuid: string;
790
884
  center?: boolean;
791
885
  immediate?: boolean;
886
+ } | {
887
+ element: HTMLElement;
888
+ center?: boolean;
889
+ immediate?: boolean;
890
+ highlight?: boolean;
792
891
  };
793
892
  export type PluginMountEvent = {
794
893
  type: 'ItemDropdown';
@@ -840,7 +939,7 @@ export type BlokkliFieldElement = {
840
939
  dropAlignment?: 'vertical' | 'horizontal';
841
940
  };
842
941
  export type ActionPlacedEvent = {
843
- action: DraggableActionItem;
942
+ id: string;
844
943
  preceedingUuid?: string;
845
944
  host: DraggableHostData;
846
945
  field: BlokkliFieldElement;
@@ -906,9 +1005,17 @@ export type AnimationFrameBeforeEvent = {
906
1005
  mouseX: number;
907
1006
  mouseY: number;
908
1007
  };
1008
+ type MultiSelectStartEvent = {
1009
+ x: number;
1010
+ y: number;
1011
+ };
909
1012
  export type EventbusEvents = {
910
1013
  select: string | string[];
911
1014
  'select:unselect': undefined;
1015
+ 'select:force': string | string[];
1016
+ 'select:host': undefined;
1017
+ 'select:host:unselect': undefined;
1018
+ 'multi-select:start': MultiSelectStartEvent;
912
1019
  'item:edit': EditBlockEvent;
913
1020
  batchTranslate: undefined;
914
1021
  'dragging:start': DraggableStartEvent;
@@ -950,6 +1057,7 @@ export type EventbusEvents = {
950
1057
  'sidebar:close': undefined;
951
1058
  'sidebar:open': string;
952
1059
  'action:placed': ActionPlacedEvent;
1060
+ 'action:selected': undefined;
953
1061
  'animator:add': AnimatorAddEvent;
954
1062
  'ui:resized': undefined;
955
1063
  'add-list:change': undefined;
@@ -961,10 +1069,27 @@ export type EventbusEvents = {
961
1069
  * Emitted when publishing failed.
962
1070
  */
963
1071
  'publish:failed': undefined;
1072
+ /**
1073
+ * Show the publish dialog.
1074
+ */
1075
+ 'publish:show-dialog': undefined;
964
1076
  /**
965
1077
  * Edit a library item.
966
1078
  */
967
1079
  'library:edit-item': LibraryEditItemEvent;
1080
+ /**
1081
+ * Emitted when a view option is being toggled.
1082
+ */
1083
+ 'view-option:toggle': {
1084
+ id: string;
1085
+ };
1086
+ /**
1087
+ * An analyze node target was clicked.
1088
+ */
1089
+ 'analyze:click-node': {
1090
+ id: string;
1091
+ target: HTMLElement;
1092
+ };
968
1093
  };
969
1094
  export type Eventbus = Emitter<EventbusEvents>;
970
1095
  export type ItemEditContext = {
@@ -1002,6 +1127,8 @@ export interface BlokkliApp {
1002
1127
  tour: TourProvider;
1003
1128
  dropAreas: DropAreaProvider;
1004
1129
  debug: DebugProvider;
1130
+ indicators: IndicatorsProvider;
1131
+ plugins: PluginProvider;
1005
1132
  }
1006
1133
  export type PasteExistingBlocksEvent = {
1007
1134
  uuids: string[];
@@ -1132,7 +1259,7 @@ export type DropArea = {
1132
1259
  label: string;
1133
1260
  icon?: BlokkliIcon;
1134
1261
  element: HTMLElement;
1135
- onDrop: () => Promise<any>;
1262
+ onDrop: () => Promise<any> | any;
1136
1263
  };
1137
1264
  export type ContextMenuRule = {
1138
1265
  type: 'rule';
@@ -1181,6 +1308,26 @@ export type FragmentDefinitionInput<Options extends BlockDefinitionOptionsInput
1181
1308
  */
1182
1309
  editor?: BlokkliDefinitionInputEditor<Options, GlobalOptions>;
1183
1310
  };
1311
+ export type ProviderDefinitionInput<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined> = {
1312
+ /**
1313
+ * The entity type.
1314
+ */
1315
+ entityType: string;
1316
+ /**
1317
+ * The bundle.
1318
+ */
1319
+ bundle: string;
1320
+ /**
1321
+ * Define options available for this block.
1322
+ */
1323
+ options?: Options;
1324
+ /**
1325
+ * Global options to use.
1326
+ *
1327
+ * These options will be merged with the component-specific options.
1328
+ */
1329
+ globalOptions?: GlobalOptions;
1330
+ };
1184
1331
  export type TourItem = {
1185
1332
  id: string;
1186
1333
  title: string;
@@ -1210,7 +1357,10 @@ export type PublishOptions = {
1210
1357
  canPublish: boolean;
1211
1358
  isRevisionable: boolean;
1212
1359
  hasRevisionLogMessage: boolean;
1213
- lastChanged?: string | null;
1360
+ lastChanged: string | null;
1361
+ canSchedule: boolean;
1362
+ publishOn: string | null;
1363
+ revisionLogMessage: string | null;
1214
1364
  };
1215
1365
  export type GetEditStatesItem = {
1216
1366
  hostEntityType: string;
@@ -1218,5 +1368,21 @@ export type GetEditStatesItem = {
1218
1368
  entity: EditEntity;
1219
1369
  currentUserIsOwner: boolean;
1220
1370
  };
1371
+ export type BlockIndicator = {
1372
+ id: string;
1373
+ uuid: string;
1374
+ element: HTMLElement;
1375
+ position: 'left' | 'right';
1376
+ };
1377
+ export type AddActionColor = 'rose' | 'lime' | 'accent';
1378
+ export type AddAction = {
1379
+ id: string;
1380
+ icon: BlokkliIcon;
1381
+ color: AddActionColor;
1382
+ itemBundle?: string;
1383
+ title: string;
1384
+ description?: string;
1385
+ enabled?: boolean;
1386
+ };
1221
1387
  declare const _default: {};
1222
1388
  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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blokkli/editor",
3
- "version": "2.0.0-alpha.13",
3
+ "version": "2.0.0-alpha.15",
4
4
  "description": "Interactive page building experience for Nuxt",
5
5
  "repository": "blokkli/editor",
6
6
  "type": "module",
@@ -57,31 +57,37 @@
57
57
  "license": "MIT",
58
58
  "dependencies": {
59
59
  "@types/micromatch": "^4.0.9",
60
- "artboard-deluxe": "^0.1.1",
60
+ "artboard-deluxe": "^0.1.2",
61
61
  "estree-walker-ts": "^1.1.0",
62
+ "flesch": "^2.0.1",
62
63
  "fzf": "^0.5.2",
63
64
  "get-video-id": "^4.1.7",
64
65
  "html-diff-ts": "^1.4.2",
66
+ "hyphen": "^1.10.6",
65
67
  "mitt": "^3.0.1",
68
+ "parse-latin": "^7.0.0",
66
69
  "qrcode.vue": "^3.6.0",
67
70
  "twgl.js": "^7.0.0"
68
71
  },
69
72
  "devDependencies": {
70
73
  "@ckeditor/ckeditor5-build-classic": "^44.3.0",
71
74
  "@ckeditor/ckeditor5-vue": "^7.3.0",
75
+ "@lunarisapp/readability": "^1.0.2",
72
76
  "@nuxt/devtools": "latest",
73
77
  "@nuxt/eslint-config": "^1.9.0",
74
- "@nuxt/kit": "^4.0.3",
78
+ "@nuxt/kit": "^4.1.2",
75
79
  "@nuxt/module-builder": "^1.0.2",
76
- "@nuxt/schema": "^4.0.3",
80
+ "@nuxt/schema": "^4.1.2",
77
81
  "@nuxt/test-utils": "^3.19.2",
78
82
  "@nuxtjs/tailwindcss": "^6.14.0",
79
83
  "@tailwindcss/forms": "^0.5.10",
80
84
  "@tailwindcss/typography": "^0.5.16",
81
85
  "@thedutchcoder/postcss-rem-to-px": "^0.0.2",
82
86
  "@types/gettext-parser": "^8.0.0",
87
+ "@types/hyphen": "^1.6.7",
83
88
  "@types/node": "^24.3.0",
84
89
  "@vue/test-utils": "^2.4.6",
90
+ "axe-core": "^4.10.3",
85
91
  "changelogen": "^0.6.2",
86
92
  "cypress": "^15.0.0",
87
93
  "eslint": "^9.33.0",
@@ -89,10 +95,11 @@
89
95
  "eslint-plugin-tailwindcss": "^3.18.2",
90
96
  "gettext-parser": "^8.0.0",
91
97
  "happy-dom": "^18.0.1",
92
- "nuxt": "^4.0.3",
98
+ "nuxt": "^4.1.2",
93
99
  "nuxt-graphql-middleware": "^5.2.1",
94
100
  "nuxt-svg-icon-sprite": "^2.0.2",
95
101
  "openai": "^5.13.1",
102
+ "oxc-walker": "^0.5.2",
96
103
  "playwright-core": "^1.55.0",
97
104
  "postcss": "^8.5.6",
98
105
  "postcss-cli": "^11.0.1",
@@ -109,5 +116,13 @@
109
116
  "vitepress": "^1.6.4",
110
117
  "vitest": "^3.2.4",
111
118
  "vue-tsc": "^2.2.12"
119
+ },
120
+ "peerDependencies": {
121
+ "@lunarisapp/readability": "^1.0.2"
122
+ },
123
+ "peerDependenciesMeta": {
124
+ "@lunarisapp/readability": {
125
+ "optional": true
126
+ }
112
127
  }
113
128
  }
@@ -1,22 +0,0 @@
1
- <template>
2
- <div v-show="!selection.isDragging.value" class="bk">
3
- <div
4
- v-for="area in areas"
5
- :key="area.key"
6
- class="bk-field-area"
7
- :style="area.style"
8
- :class="{ 'bk-is-active': area.key === selection.activeFieldKey.value }"
9
- @click="eventBus.emit('setActiveFieldKey', area.key)"
10
- >
11
- <div>
12
- <span>{{ area.label }}</span>
13
- </div>
14
- </div>
15
- </div>
16
- </template>
17
-
18
- <script setup>
19
- import { ref, useBlokkli } from "#imports";
20
- const { eventBus, selection } = useBlokkli();
21
- const areas = ref([]);
22
- </script>
@@ -1,41 +0,0 @@
1
- <template>
2
- <PluginViewOption
3
- id="fieldAreas"
4
- v-slot="{ isActive }"
5
- :label="$t('fieldAreasToggle', 'Toggle block fields')"
6
- :title-on="$t('fieldAreasShow', 'Show block fields')"
7
- :title-off="$t('fieldAreasHide', 'Hide block fields')"
8
- :tour-text="
9
- $t(
10
- 'fieldAreasTourText',
11
- 'Toggle between showing or hiding the areas where blocks can be placed.'
12
- )
13
- "
14
- icon="area"
15
- key-code="I"
16
- >
17
- <Teleport v-if="isActive" to="body">
18
- <Overlay />
19
- </Teleport>
20
- </PluginViewOption>
21
- </template>
22
-
23
- <script setup>
24
- import { useBlokkli, defineBlokkliFeature } from "#imports";
25
- import Overlay from "./Overlay/index.vue";
26
- import { PluginViewOption } from "#blokkli/plugins";
27
- defineBlokkliFeature({
28
- id: "field-areas",
29
- label: "Field Areas",
30
- icon: "area",
31
- description: "Provides a view option to render the field areas with labels.",
32
- viewports: ["desktop"]
33
- });
34
- const { $t } = useBlokkli();
35
- </script>
36
-
37
- <script>
38
- export default {
39
- name: "FieldAreas"
40
- };
41
- </script>