@blokkli/editor 2.0.0-alpha.52 → 2.0.0-alpha.54

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 (373) hide show
  1. package/dist/chunks/tailwindConfig.mjs +3 -3
  2. package/dist/global/types/blockOptions.d.ts +18 -2
  3. package/dist/module.d.mts +2 -2
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +281 -18
  6. package/dist/modules/agent/index.d.mts +1 -1
  7. package/dist/modules/agent/runtime/app/composables/agentProvider.d.ts +1 -0
  8. package/dist/modules/agent/runtime/app/composables/agentProvider.js +7 -0
  9. package/dist/modules/agent/runtime/app/features/agent/Panel/DropHandler/index.d.vue.ts +2 -2
  10. package/dist/modules/agent/runtime/app/features/agent/Panel/DropHandler/index.vue +14 -49
  11. package/dist/modules/agent/runtime/app/features/agent/Panel/DropHandler/index.vue.d.ts +2 -2
  12. package/dist/modules/agent/runtime/app/features/agent/Panel/Feedback/index.d.vue.ts +10 -0
  13. package/dist/modules/agent/runtime/app/features/agent/Panel/Feedback/index.vue +102 -0
  14. package/dist/modules/agent/runtime/app/features/agent/Panel/Feedback/index.vue.d.ts +10 -0
  15. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +8 -5
  16. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.d.vue.ts +3 -3
  17. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue +9 -5
  18. package/dist/modules/agent/runtime/app/features/agent/Panel/ToolCard/index.vue.d.ts +3 -3
  19. package/dist/modules/agent/runtime/app/features/agent/Panel/index.d.vue.ts +7 -0
  20. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +16 -2
  21. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue.d.ts +7 -0
  22. package/dist/modules/agent/runtime/app/features/agent/index.vue +29 -0
  23. package/dist/modules/agent/runtime/app/features/agent/types.d.ts +16 -0
  24. package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/Component.vue +3 -1
  25. package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.d.ts +2 -0
  26. package/dist/modules/agent/runtime/app/tools/delegate_text_rewrite/index.js +8 -1
  27. package/dist/modules/charts/index.d.mts +1 -1
  28. package/dist/modules/charts/index.mjs +2 -3
  29. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypePicker/index.vue +1 -1
  30. package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.vue +1 -1
  31. package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +16 -0
  32. package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +9 -0
  33. package/dist/modules/drupal/graphql/features/agent.graphql +20 -0
  34. package/dist/modules/drupal/graphql/features/publishNew.graphql +14 -0
  35. package/dist/modules/drupal/graphql/features/referenced-entities.graphql +21 -0
  36. package/dist/modules/drupal/graphql/features/textFieldValues.graphql +20 -0
  37. package/dist/modules/drupal/graphql/features/workspace.graphql +23 -0
  38. package/dist/modules/drupal/graphql/mutations/bulk_translate_field_values.graphql +19 -0
  39. package/dist/modules/drupal/graphql/mutations/clear_outdated_translation.graphql +15 -0
  40. package/dist/modules/drupal/graphql/mutations/ignore_analyze.graphql +15 -0
  41. package/dist/modules/drupal/graphql/mutations/request_translation.graphql +10 -0
  42. package/dist/modules/drupal/graphql/mutations/unignore_analyze.graphql +15 -0
  43. package/dist/modules/drupal/index.d.mts +1 -1
  44. package/dist/modules/drupal/index.mjs +16 -0
  45. package/dist/modules/drupal/runtime/adapter/index.js +180 -11
  46. package/dist/modules/iframes/index.d.mts +31 -0
  47. package/dist/modules/iframes/index.mjs +52 -0
  48. package/dist/modules/iframes/runtime/components/BlokkliIframe/index.d.vue.ts +18 -0
  49. package/dist/modules/iframes/runtime/components/BlokkliIframe/index.vue +61 -0
  50. package/dist/modules/iframes/runtime/components/BlokkliIframe/index.vue.d.ts +18 -0
  51. package/dist/modules/iframes/runtime/components/index.d.ts +1 -0
  52. package/dist/modules/iframes/runtime/components/index.js +1 -0
  53. package/dist/modules/iframes/runtime/features/iframes/Editor/index.d.vue.ts +12 -0
  54. package/dist/modules/iframes/runtime/features/iframes/Editor/index.vue +220 -0
  55. package/dist/modules/iframes/runtime/features/iframes/Editor/index.vue.d.ts +12 -0
  56. package/dist/modules/iframes/runtime/types.d.ts +10 -0
  57. package/dist/modules/index.d.mts +1 -1
  58. package/dist/modules/table-of-contents/index.d.mts +1 -1
  59. package/dist/runtime/components/Blocks/NotImplemented/index.vue +57 -0
  60. package/dist/runtime/components/BlokkliEditable.vue +1 -1
  61. package/dist/runtime/editor/adapter/index.d.ts +8 -1
  62. package/dist/runtime/editor/components/Actions/Interactions/index.vue +77 -17
  63. package/dist/runtime/editor/components/Actions/{ItemDropdown.vue → ItemDropdown/index.vue} +9 -10
  64. package/dist/runtime/editor/components/Actions/index.vue +586 -23
  65. package/dist/runtime/editor/components/AnimationCanvas/index.vue +1 -0
  66. package/dist/runtime/editor/components/AppMenu/MenuButton.vue +185 -1
  67. package/dist/runtime/editor/components/AppMenu/index.vue +24 -10
  68. package/dist/runtime/editor/components/ArtboardTooltip/index.d.vue.ts +6 -2
  69. package/dist/runtime/editor/components/ArtboardTooltip/index.vue +223 -3
  70. package/dist/runtime/editor/components/ArtboardTooltip/index.vue.d.ts +6 -2
  71. package/dist/runtime/editor/components/AutoHeight/index.vue +23 -0
  72. package/dist/runtime/editor/components/Banner/Inner.d.vue.ts +30 -0
  73. package/dist/runtime/editor/components/Banner/Inner.vue +32 -0
  74. package/dist/runtime/editor/components/Banner/Inner.vue.d.ts +30 -0
  75. package/dist/runtime/editor/components/Banner/index.d.vue.ts +3 -13
  76. package/dist/runtime/editor/components/Banner/index.vue +2 -14
  77. package/dist/runtime/editor/components/Banner/index.vue.d.ts +3 -13
  78. package/dist/runtime/editor/components/BetaIndicator/index.d.vue.ts +6 -0
  79. package/dist/runtime/editor/components/BetaIndicator/index.vue +16 -0
  80. package/dist/runtime/editor/components/BetaIndicator/index.vue.d.ts +6 -0
  81. package/dist/runtime/editor/components/BlockPreviewItem/index.vue +51 -1
  82. package/dist/runtime/editor/components/BlockPreviewRenderer/index.vue +27 -1
  83. package/dist/runtime/editor/components/BlockProxy/index.vue +148 -1
  84. package/dist/runtime/editor/components/BlokkliRootErrorBoundary.vue +59 -0
  85. package/dist/runtime/editor/components/BundleSelector/index.vue +170 -20
  86. package/dist/runtime/editor/components/Dialog/index.d.vue.ts +2 -0
  87. package/dist/runtime/editor/components/Dialog/index.vue +341 -0
  88. package/dist/runtime/editor/components/Dialog/index.vue.d.ts +2 -0
  89. package/dist/runtime/editor/components/DiffApproval/Highlight/index.vue +117 -0
  90. package/dist/runtime/editor/components/DiffApproval/Toolbar/index.vue +224 -28
  91. package/dist/runtime/editor/components/DiffViewer/DiffValue.d.vue.ts +1 -0
  92. package/dist/runtime/editor/components/DiffViewer/DiffValue.vue +5 -1
  93. package/dist/runtime/editor/components/DiffViewer/DiffValue.vue.d.ts +1 -0
  94. package/dist/runtime/editor/components/DiffViewer/State.vue +319 -0
  95. package/dist/runtime/editor/components/DraggableList.vue +103 -0
  96. package/dist/runtime/editor/components/Dropdown/index.vue +84 -0
  97. package/dist/runtime/editor/components/EditProvider.vue +72 -15
  98. package/dist/runtime/editor/components/FileDropHandler/index.d.vue.ts +23 -0
  99. package/dist/runtime/editor/components/FileDropHandler/index.vue +108 -0
  100. package/dist/runtime/editor/components/FileDropHandler/index.vue.d.ts +23 -0
  101. package/dist/runtime/editor/components/FlexTextarea/index.vue +4 -2
  102. package/dist/runtime/editor/components/Form/Datepicker/index.vue +149 -0
  103. package/dist/runtime/editor/components/Form/Toggle/index.vue +205 -1
  104. package/dist/runtime/editor/components/FormOverlay/index.vue +90 -0
  105. package/dist/runtime/editor/components/Icon/index.vue +6 -0
  106. package/dist/runtime/editor/components/Indicators/index.vue +161 -0
  107. package/dist/runtime/editor/components/InfoBox/index.vue +65 -0
  108. package/dist/runtime/editor/components/Konami/index.vue +119 -0
  109. package/dist/runtime/editor/components/Loading/index.d.vue.ts +6 -3
  110. package/dist/runtime/editor/components/Loading/index.vue +10 -5
  111. package/dist/runtime/editor/components/Loading/index.vue.d.ts +6 -3
  112. package/dist/runtime/editor/components/Messages/index.vue +131 -0
  113. package/dist/runtime/editor/components/NestedEditorOverlay/index.d.vue.ts +1 -0
  114. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +246 -12
  115. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue.d.ts +1 -0
  116. package/dist/runtime/editor/components/NotEditStateInfo/index.d.vue.ts +3 -0
  117. package/dist/runtime/editor/components/NotEditStateInfo/index.vue +19 -0
  118. package/dist/runtime/editor/components/NotEditStateInfo/index.vue.d.ts +3 -0
  119. package/dist/runtime/editor/components/Overlay/index.vue +84 -0
  120. package/dist/runtime/editor/components/Pagination/index.vue +41 -0
  121. package/dist/runtime/editor/components/PluginConfigForm/index.vue +23 -0
  122. package/dist/runtime/editor/components/PluginConfigFormInline/FilterSelect/index.vue +429 -0
  123. package/dist/runtime/editor/components/PluginConfigFormInline/index.d.vue.ts +22 -0
  124. package/dist/runtime/editor/components/PluginConfigFormInline/index.vue +150 -0
  125. package/dist/runtime/editor/components/PluginConfigFormInline/index.vue.d.ts +22 -0
  126. package/dist/runtime/editor/components/Popup/index.vue +77 -2
  127. package/dist/runtime/editor/components/PreviewProvider.vue +7 -0
  128. package/dist/runtime/editor/components/Resizable/index.vue +90 -1
  129. package/dist/runtime/editor/components/ScaleToFit/index.vue +30 -1
  130. package/dist/runtime/editor/components/SearchOverlay/index.d.vue.ts +43 -0
  131. package/dist/runtime/editor/components/SearchOverlay/index.vue +264 -0
  132. package/dist/runtime/editor/components/SearchOverlay/index.vue.d.ts +43 -0
  133. package/dist/runtime/editor/components/StatusIcon/index.vue +104 -0
  134. package/dist/runtime/editor/components/StatusIndicator/index.d.vue.ts +9 -0
  135. package/dist/runtime/editor/components/StatusIndicator/index.vue +16 -0
  136. package/dist/runtime/editor/components/StatusIndicator/index.vue.d.ts +9 -0
  137. package/dist/runtime/editor/components/SystemRequirements/index.vue +57 -0
  138. package/dist/runtime/editor/components/Tabs/index.d.vue.ts +30 -0
  139. package/dist/runtime/editor/components/Tabs/index.vue +32 -0
  140. package/dist/runtime/editor/components/Tabs/index.vue.d.ts +30 -0
  141. package/dist/runtime/editor/components/Toolbar/index.vue +215 -4
  142. package/dist/runtime/editor/components/Tooltip/Context.d.vue.ts +7 -0
  143. package/dist/runtime/editor/components/Tooltip/Context.vue +13 -0
  144. package/dist/runtime/editor/components/Tooltip/Context.vue.d.ts +7 -0
  145. package/dist/runtime/editor/components/Tooltip/Status.d.vue.ts +8 -0
  146. package/dist/runtime/editor/components/Tooltip/Status.vue +27 -0
  147. package/dist/runtime/editor/components/Tooltip/Status.vue.d.ts +8 -0
  148. package/dist/runtime/editor/components/Tooltip/index.d.vue.ts +27 -0
  149. package/dist/runtime/editor/components/Tooltip/index.vue +40 -0
  150. package/dist/runtime/editor/components/Tooltip/index.vue.d.ts +27 -0
  151. package/dist/runtime/editor/components/index.d.ts +59 -49
  152. package/dist/runtime/editor/components/index.js +59 -98
  153. package/dist/runtime/editor/composables/defineHighlight.d.ts +2 -0
  154. package/dist/runtime/editor/composables/defineHighlight.js +10 -0
  155. package/dist/runtime/editor/composables/index.d.ts +1 -0
  156. package/dist/runtime/editor/composables/index.js +1 -0
  157. package/dist/runtime/editor/composables/useBlockRegistration.js +8 -0
  158. package/dist/runtime/editor/composables/useStickyToolbar.d.ts +1 -0
  159. package/dist/runtime/editor/composables/useStickyToolbar.js +16 -0
  160. package/dist/runtime/editor/css/output.css +1 -1
  161. package/dist/runtime/editor/events/index.d.ts +10 -0
  162. package/dist/runtime/editor/features/add-list/Help/index.vue +193 -0
  163. package/dist/runtime/editor/features/add-list/index.vue +441 -0
  164. package/dist/runtime/editor/features/analyze/Ignored/index.d.vue.ts +7 -0
  165. package/dist/runtime/editor/features/analyze/Ignored/index.vue +35 -0
  166. package/dist/runtime/editor/features/analyze/Ignored/index.vue.d.ts +7 -0
  167. package/dist/runtime/editor/features/analyze/Main.vue +148 -24
  168. package/dist/runtime/editor/features/analyze/Results/Results.d.vue.ts +1 -9
  169. package/dist/runtime/editor/features/analyze/Results/Results.vue +0 -2
  170. package/dist/runtime/editor/features/analyze/Results/Results.vue.d.ts +1 -9
  171. package/dist/runtime/editor/features/analyze/Results/ResultsItem.d.vue.ts +1 -9
  172. package/dist/runtime/editor/features/analyze/Results/ResultsItem.vue +1 -2
  173. package/dist/runtime/editor/features/analyze/Results/ResultsItem.vue.d.ts +1 -9
  174. package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.d.vue.ts +1 -9
  175. package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.vue +11 -8
  176. package/dist/runtime/editor/features/analyze/Results/ResultsItemNodes.vue.d.ts +1 -9
  177. package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.d.vue.ts +3 -10
  178. package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.vue +63 -25
  179. package/dist/runtime/editor/features/analyze/Results/ResultsItemNodesTarget.vue.d.ts +3 -10
  180. package/dist/runtime/editor/features/analyze/analyzers/altText.js +2 -0
  181. package/dist/runtime/editor/features/analyze/analyzers/headingStructure.js +3 -0
  182. package/dist/runtime/editor/features/analyze/analyzers/helpers/hashString.d.ts +7 -0
  183. package/dist/runtime/editor/features/analyze/analyzers/helpers/hashString.js +8 -0
  184. package/dist/runtime/editor/features/analyze/analyzers/readability.js +6 -12
  185. package/dist/runtime/editor/features/analyze/analyzers/types.d.ts +20 -0
  186. package/dist/runtime/editor/features/analyze/index.vue +458 -0
  187. package/dist/runtime/editor/features/analyze/types.d.ts +12 -0
  188. package/dist/runtime/editor/features/artboard/Overview/index.vue +37 -4
  189. package/dist/runtime/editor/features/artboard/Renderer.vue +79 -9
  190. package/dist/runtime/editor/features/artboard/Scrollbar/index.vue +84 -0
  191. package/dist/runtime/editor/features/block-scheduler/Dialog/index.vue +1 -1
  192. package/dist/runtime/editor/features/block-scheduler/index.vue +114 -0
  193. package/dist/runtime/editor/features/breadcrumbs/index.vue +150 -0
  194. package/dist/runtime/editor/features/changelog/Dialog/index.vue +62 -7
  195. package/dist/runtime/editor/features/changelog/changelog.json +9 -1
  196. package/dist/runtime/editor/features/clipboard/index.vue +153 -1
  197. package/dist/runtime/editor/features/command-palette/Palette/Item/index.vue +39 -16
  198. package/dist/runtime/editor/features/command-palette/Palette/index.vue +24 -130
  199. package/dist/runtime/editor/features/comments/index.vue +235 -0
  200. package/dist/runtime/editor/features/complex-options/index.vue +4 -1
  201. package/dist/runtime/editor/features/debug/Main.vue +1 -1
  202. package/dist/runtime/editor/features/debug/Section/Features.vue +2 -4
  203. package/dist/runtime/editor/features/debug/index.vue +168 -0
  204. package/dist/runtime/editor/features/dev-mode/index.vue +92 -27
  205. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue +1 -1
  206. package/dist/runtime/editor/features/dragging-overlay/index.vue +330 -0
  207. package/dist/runtime/editor/features/edit/index.vue +15 -17
  208. package/dist/runtime/editor/features/edit-form/Frame/index.vue +21 -4
  209. package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.d.vue.ts +10 -1
  210. package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.vue +47 -5
  211. package/dist/runtime/editor/features/editable-field/Overlay/Frame/index.vue.d.ts +10 -1
  212. package/dist/runtime/editor/features/editable-field/Overlay/ReadabilityIndicator/ChunkOverlay.vue +77 -0
  213. package/dist/runtime/editor/features/editable-field/Overlay/ReadabilityIndicator/index.vue +55 -56
  214. package/dist/runtime/editor/features/editable-field/Overlay/index.vue +417 -8
  215. package/dist/runtime/editor/features/editable-mask/index.vue +9 -0
  216. package/dist/runtime/editor/features/entity-title/index.vue +40 -56
  217. package/dist/runtime/editor/features/fragments/Dialog/index.vue +90 -0
  218. package/dist/runtime/editor/features/help/Shortcuts/index.vue +71 -0
  219. package/dist/runtime/editor/features/help/index.vue +17 -0
  220. package/dist/runtime/editor/features/highlights/Renderer/fragment.glsl +89 -0
  221. package/dist/runtime/editor/features/highlights/Renderer/index.vue +408 -0
  222. package/dist/runtime/editor/features/highlights/Renderer/vertex.glsl +87 -0
  223. package/dist/runtime/editor/features/highlights/index.d.vue.ts +3 -0
  224. package/dist/runtime/editor/features/highlights/index.vue +20 -0
  225. package/dist/runtime/editor/features/highlights/index.vue.d.ts +3 -0
  226. package/dist/runtime/editor/features/history/List/index.vue +209 -0
  227. package/dist/runtime/editor/features/history/index.vue +0 -1
  228. package/dist/runtime/editor/features/hover/Renderer/index.vue +1 -1
  229. package/dist/runtime/editor/features/hover/Renderer/vertex.glsl +1 -1
  230. package/dist/runtime/editor/features/import-existing/Dialog/index.vue +18 -0
  231. package/dist/runtime/editor/features/media-library/Library/index.vue +10 -30
  232. package/dist/runtime/editor/features/media-library/index.vue +331 -0
  233. package/dist/runtime/editor/features/options/Form/Checkbox/index.vue +1 -1
  234. package/dist/runtime/editor/features/options/Form/Checkboxes/index.vue +1 -1
  235. package/dist/runtime/editor/features/options/Form/ComplexType/index.vue +6 -2
  236. package/dist/runtime/editor/features/options/Form/Item.vue +21 -18
  237. package/dist/runtime/editor/features/options/Form/Radios/index.d.vue.ts +6 -0
  238. package/dist/runtime/editor/features/options/Form/Radios/index.vue +25 -6
  239. package/dist/runtime/editor/features/options/Form/Radios/index.vue.d.ts +6 -0
  240. package/dist/runtime/editor/features/options/Form/index.vue +1 -4
  241. package/dist/runtime/editor/features/options/index.vue +729 -0
  242. package/dist/runtime/editor/features/ownership/Banner/index.vue +9 -8
  243. package/dist/runtime/editor/features/ownership/index.vue +1 -1
  244. package/dist/runtime/editor/features/preview-grant/QrCode/index.vue +8 -3
  245. package/dist/runtime/editor/features/publish/Dialog/Item.vue +18 -20
  246. package/dist/runtime/editor/features/publish/Dialog/index.vue +5 -1
  247. package/dist/runtime/editor/features/publish/index.vue +835 -0
  248. package/dist/runtime/editor/features/publish/types.d.ts +5 -1
  249. package/dist/runtime/editor/features/referenced-entities/List/Item/index.d.vue.ts +4 -0
  250. package/dist/runtime/editor/features/referenced-entities/List/Item/index.vue +81 -0
  251. package/dist/runtime/editor/features/referenced-entities/List/Item/index.vue.d.ts +4 -0
  252. package/dist/runtime/editor/features/referenced-entities/List/index.d.vue.ts +11 -0
  253. package/dist/runtime/editor/features/referenced-entities/List/index.vue +78 -0
  254. package/dist/runtime/editor/features/referenced-entities/List/index.vue.d.ts +11 -0
  255. package/dist/runtime/editor/features/referenced-entities/index.d.vue.ts +3 -0
  256. package/dist/runtime/editor/features/referenced-entities/index.vue +36 -0
  257. package/dist/runtime/editor/features/referenced-entities/index.vue.d.ts +3 -0
  258. package/dist/runtime/editor/features/referenced-entities/types.d.ts +13 -0
  259. package/dist/runtime/editor/features/responsive-preview/Frame/index.vue +188 -0
  260. package/dist/runtime/editor/features/search/Overlay/Results/Page/index.vue +1 -1
  261. package/dist/runtime/editor/features/search/index.vue +511 -0
  262. package/dist/runtime/editor/features/selection/AddButtons/Renderer/index.vue +58 -0
  263. package/dist/runtime/editor/features/selection/index.vue +47 -15
  264. package/dist/runtime/editor/features/settings/Dialog/FeatureSetting/index.vue +23 -0
  265. package/dist/runtime/editor/features/settings/Dialog/index.vue +5 -2
  266. package/dist/runtime/editor/features/settings/index.vue +152 -0
  267. package/dist/runtime/editor/features/structure/List/Item/index.vue +7 -0
  268. package/dist/runtime/editor/features/structure/index.vue +178 -0
  269. package/dist/runtime/editor/features/templates/ManageDialog/Item.vue +3 -3
  270. package/dist/runtime/editor/features/templates/ManageDialog/index.vue +24 -3
  271. package/dist/runtime/editor/features/theme/index.vue +94 -0
  272. package/dist/runtime/editor/features/touch-action-bar/Bar/index.vue +34 -0
  273. package/dist/runtime/editor/features/tour/Overlay/index.vue +243 -13
  274. package/dist/runtime/editor/features/transform/Dialog/index.vue +132 -1
  275. package/dist/runtime/editor/features/translations/Banner/index.d.vue.ts +14 -1
  276. package/dist/runtime/editor/features/translations/Banner/index.vue +139 -12
  277. package/dist/runtime/editor/features/translations/Banner/index.vue.d.ts +14 -1
  278. package/dist/runtime/editor/features/translations/CsvDialog/Export/index.d.vue.ts +3 -0
  279. package/dist/runtime/editor/features/translations/CsvDialog/Export/index.vue +272 -0
  280. package/dist/runtime/editor/features/translations/CsvDialog/Export/index.vue.d.ts +3 -0
  281. package/dist/runtime/editor/features/translations/CsvDialog/Import/index.d.vue.ts +10 -0
  282. package/dist/runtime/editor/features/translations/CsvDialog/Import/index.vue +382 -0
  283. package/dist/runtime/editor/features/translations/CsvDialog/Import/index.vue.d.ts +10 -0
  284. package/dist/runtime/editor/features/translations/CsvDialog/csv.d.ts +22 -0
  285. package/dist/runtime/editor/features/translations/CsvDialog/csv.js +50 -0
  286. package/dist/runtime/editor/features/translations/CsvDialog/index.d.vue.ts +10 -0
  287. package/dist/runtime/editor/features/translations/CsvDialog/index.vue +37 -0
  288. package/dist/runtime/editor/features/translations/CsvDialog/index.vue.d.ts +10 -0
  289. package/dist/runtime/editor/features/translations/CsvDialog/po.d.ts +7 -0
  290. package/dist/runtime/editor/features/translations/CsvDialog/po.js +36 -0
  291. package/dist/runtime/editor/features/translations/SelectionTable/index.d.vue.ts +37 -0
  292. package/dist/runtime/editor/features/translations/SelectionTable/index.vue +102 -0
  293. package/dist/runtime/editor/features/translations/SelectionTable/index.vue.d.ts +37 -0
  294. package/dist/runtime/editor/features/translations/TranslateDialog/index.d.vue.ts +7 -0
  295. package/dist/runtime/editor/features/translations/TranslateDialog/index.vue +294 -0
  296. package/dist/runtime/editor/features/translations/TranslateDialog/index.vue.d.ts +7 -0
  297. package/dist/runtime/editor/features/translations/index.vue +276 -6
  298. package/dist/runtime/editor/features/translations/types.d.ts +47 -0
  299. package/dist/runtime/editor/features/validations/Overlay/index.vue +130 -0
  300. package/dist/runtime/editor/features/validations/index.vue +41 -0
  301. package/dist/runtime/editor/features/{assistant → workspace}/Overlay/index.d.vue.ts +2 -4
  302. package/dist/runtime/editor/features/workspace/Overlay/index.vue +177 -0
  303. package/dist/runtime/editor/features/{assistant → workspace}/Overlay/index.vue.d.ts +2 -4
  304. package/dist/runtime/editor/features/workspace/index.d.vue.ts +3 -0
  305. package/dist/runtime/editor/features/workspace/index.vue +46 -0
  306. package/dist/runtime/editor/features/workspace/index.vue.d.ts +3 -0
  307. package/dist/runtime/editor/features/workspace/types.d.ts +59 -0
  308. package/dist/runtime/editor/features/workspace/types.js +0 -0
  309. package/dist/runtime/editor/icons/svg/spinner.svg +2 -2
  310. package/dist/runtime/editor/plugins/ContextMenu/Menu/index.vue +21 -7
  311. package/dist/runtime/editor/plugins/ContextMenu/index.vue +4 -0
  312. package/dist/runtime/editor/plugins/ItemAction/index.d.vue.ts +9 -2
  313. package/dist/runtime/editor/plugins/ItemAction/index.vue +26 -16
  314. package/dist/runtime/editor/plugins/ItemAction/index.vue.d.ts +9 -2
  315. package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue +24 -26
  316. package/dist/runtime/editor/plugins/Sidebar/index.vue +612 -27
  317. package/dist/runtime/editor/plugins/ToolbarButton/index.d.vue.ts +13 -84
  318. package/dist/runtime/editor/plugins/ToolbarButton/index.vue +36 -22
  319. package/dist/runtime/editor/plugins/ToolbarButton/index.vue.d.ts +13 -84
  320. package/dist/runtime/editor/plugins/ViewOption/index.vue +13 -14
  321. package/dist/runtime/editor/providers/blocks.js +1 -0
  322. package/dist/runtime/editor/providers/cache.d.ts +23 -0
  323. package/dist/runtime/editor/providers/cache.js +29 -0
  324. package/dist/runtime/editor/providers/directive.d.ts +25 -0
  325. package/dist/runtime/editor/providers/directive.js +20 -0
  326. package/dist/runtime/editor/providers/fieldValue.d.ts +5 -5
  327. package/dist/runtime/editor/providers/fieldValue.js +8 -7
  328. package/dist/runtime/editor/providers/plugin.d.ts +14 -0
  329. package/dist/runtime/editor/providers/plugin.js +9 -0
  330. package/dist/runtime/editor/providers/readability.js +1 -1
  331. package/dist/runtime/editor/providers/selection.js +1 -1
  332. package/dist/runtime/editor/providers/state.d.ts +1 -0
  333. package/dist/runtime/editor/providers/state.js +1 -0
  334. package/dist/runtime/editor/providers/texts.js +11 -1
  335. package/dist/runtime/editor/providers/ui.d.ts +11 -0
  336. package/dist/runtime/editor/providers/ui.js +5 -1
  337. package/dist/runtime/editor/translations/de.json +316 -56
  338. package/dist/runtime/editor/translations/fr.json +310 -50
  339. package/dist/runtime/editor/translations/gsw_CH.json +311 -51
  340. package/dist/runtime/editor/translations/it.json +310 -50
  341. package/dist/runtime/editor/types/app.d.ts +2 -0
  342. package/dist/runtime/editor/types/definitions.d.ts +8 -0
  343. package/dist/runtime/editor/types/field.d.ts +1 -0
  344. package/dist/runtime/editor/types/state.d.ts +10 -0
  345. package/dist/runtime/editor/types/ui.d.ts +3 -1
  346. package/dist/runtime/helpers/tw.d.ts +15 -0
  347. package/dist/runtime/helpers/tw.js +3 -0
  348. package/dist/runtime/types/field.d.ts +1 -0
  349. package/dist/shared/{editor.DsGJIlGn.d.mts → editor.BTOBvmaz.d.mts} +20 -3
  350. package/dist/types.d.mts +1 -1
  351. package/package.json +16 -3
  352. package/dist/runtime/editor/features/analyze/Renderer/fragment.glsl +0 -74
  353. package/dist/runtime/editor/features/analyze/Renderer/index.d.vue.ts +0 -24
  354. package/dist/runtime/editor/features/analyze/Renderer/index.vue +0 -330
  355. package/dist/runtime/editor/features/analyze/Renderer/index.vue.d.ts +0 -24
  356. package/dist/runtime/editor/features/analyze/Renderer/vertex.glsl +0 -94
  357. package/dist/runtime/editor/features/assistant/Overlay/ResultMarkup/index.d.vue.ts +0 -7
  358. package/dist/runtime/editor/features/assistant/Overlay/ResultMarkup/index.vue +0 -17
  359. package/dist/runtime/editor/features/assistant/Overlay/ResultMarkup/index.vue.d.ts +0 -7
  360. package/dist/runtime/editor/features/assistant/Overlay/index.vue +0 -108
  361. package/dist/runtime/editor/features/assistant/docs.md +0 -7
  362. package/dist/runtime/editor/features/assistant/index.vue +0 -66
  363. package/dist/runtime/editor/features/assistant/types.d.ts +0 -37
  364. package/dist/runtime/editor/features/media-library/Library/FilterSelect/index.vue +0 -168
  365. package/dist/runtime/editor/providers/fieldValueAdapterTypes.d.ts +0 -13
  366. /package/dist/{runtime/editor/features/assistant → modules/iframes/runtime}/types.js +0 -0
  367. /package/dist/runtime/editor/components/Actions/{ItemDropdown.d.vue.ts → ItemDropdown/index.d.vue.ts} +0 -0
  368. /package/dist/runtime/editor/components/Actions/{ItemDropdown.vue.d.ts → ItemDropdown/index.vue.d.ts} +0 -0
  369. /package/dist/runtime/editor/{features/media-library/Library → components/PluginConfigFormInline}/FilterSelect/index.d.vue.ts +0 -0
  370. /package/dist/runtime/editor/{features/media-library/Library → components/PluginConfigFormInline}/FilterSelect/index.vue.d.ts +0 -0
  371. /package/dist/runtime/editor/features/{assistant → highlights/Renderer}/index.d.vue.ts +0 -0
  372. /package/dist/runtime/editor/features/{assistant → highlights/Renderer}/index.vue.d.ts +0 -0
  373. /package/dist/runtime/editor/{providers/fieldValueAdapterTypes.js → features/referenced-entities/types.js} +0 -0
@@ -0,0 +1,18 @@
1
+ import type { IframeHeightMap } from '../../types.js';
2
+ type __VLS_Props = {
3
+ src: string;
4
+ heights: IframeHeightMap;
5
+ };
6
+ declare var __VLS_1: {};
7
+ type __VLS_Slots = {} & {
8
+ default?: (props: typeof __VLS_1) => any;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
12
+ declare const _default: typeof __VLS_export;
13
+ export default _default;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1 @@
1
+ export { default as BlokkliIframe } from './BlokkliIframe/index.vue.js';
@@ -0,0 +1 @@
1
+ export { default as BlokkliIframe } from "./BlokkliIframe/index.vue";
@@ -0,0 +1,12 @@
1
+ import type { IframeHeightMap } from '../../../types.js';
2
+ type __VLS_Props = {
3
+ data: IframeHeightMap | null;
4
+ uuid: string;
5
+ optionKey: string;
6
+ };
7
+ declare function getData(): IframeHeightMap;
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
9
+ getData: typeof getData;
10
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -0,0 +1,220 @@
1
+ <template>
2
+ <div class="_bk_flex _bk_h-full" @wheel.capture.stop>
3
+ <!-- Preview area -->
4
+ <div class="_bk_flex-1 _bk_min-w-0">
5
+ <div
6
+ v-if="iframeSrc"
7
+ class="_bk_overflow-auto _bk_bg-mono-50 _bk_rounded _bk_p-20 _bk_h-full"
8
+ >
9
+ <div class="_bk_relative _bk_mx-auto" :style="{ width: containerWidth + 'px' }">
10
+ <div class="_bk_border _bk_border-mono-200 _bk_overflow-hidden">
11
+ <iframe
12
+ :src="iframeSrc"
13
+ class="_bk_overflow-hidden"
14
+ scrolling="no"
15
+ :style="{
16
+ width: '100%',
17
+ height: resolved.height + 'px',
18
+ border: 'none',
19
+ display: 'block',
20
+ pointerEvents: isDragging ? 'none' : 'auto'
21
+ }"
22
+ />
23
+ </div>
24
+
25
+ <!-- Bottom resize handle -->
26
+ <div
27
+ class="_bk_flex _bk_items-center _bk_justify-center _bk_cursor-ns-resize _bk_bg-mono-200 _bk_hover:bg-accent-300"
28
+ style="height: 8px"
29
+ @pointerdown.prevent="onPointerDown('height', $event)"
30
+ />
31
+
32
+ <!-- Right resize handle -->
33
+ <div
34
+ class="_bk_absolute _bk_top-0 _bk_cursor-ew-resize _bk_bg-mono-200 _bk_hover:bg-accent-300"
35
+ :style="{
36
+ right: '-8px',
37
+ width: '8px',
38
+ height: '100%'
39
+ }"
40
+ @pointerdown.prevent="onPointerDown('width', $event)"
41
+ />
42
+
43
+ <!-- Corner resize handle -->
44
+ <div
45
+ class="_bk_absolute _bk_cursor-nwse-resize _bk_bg-mono-300 _bk_hover:bg-accent-400"
46
+ :style="{
47
+ right: '-8px',
48
+ bottom: '0',
49
+ width: '8px',
50
+ height: '8px'
51
+ }"
52
+ @pointerdown.prevent="onPointerDown('both', $event)"
53
+ />
54
+ </div>
55
+ </div>
56
+
57
+ <div v-else class="_bk_text-mono-500 _bk_p-20 _bk_text-center">
58
+ The block must be rendered on the page before iframe heights can be
59
+ configured.
60
+ </div>
61
+ </div>
62
+
63
+ <!-- Sidebar -->
64
+ <div
65
+ class="_bk_flex _bk_flex-col _bk_gap-15 _bk_border-l _bk_border-mono-200 _bk_p-15"
66
+ style="width: 200px; flex-shrink: 0"
67
+ >
68
+ <!-- Current dimensions -->
69
+ <div class="_bk_text-mono-500 _bk_font-mono _bk_text-center" style="font-size: 11px">
70
+ {{ containerWidth }}px &times; {{ resolved.height }}px
71
+ </div>
72
+
73
+ <!-- Viewport presets -->
74
+ <div class="_bk_flex _bk_flex-col _bk_gap-3">
75
+ <div
76
+ class="_bk_text-mono-500 _bk_font-mono"
77
+ style="
78
+ font-size: 10px;
79
+ text-transform: uppercase;
80
+ letter-spacing: 0.05em;
81
+ "
82
+ >
83
+ Presets
84
+ </div>
85
+ <button
86
+ v-for="(vp, key) in VIEWPORTS"
87
+ :key="key"
88
+ type="button"
89
+ class="bk-button bk-is-small"
90
+ :class="{ 'bk-is-primary': containerWidth === vp.width }"
91
+ @click="containerWidth = vp.width"
92
+ >
93
+ {{ vp.label }} ({{ vp.width }}px)
94
+ </button>
95
+ </div>
96
+
97
+ <!-- Breakpoints list -->
98
+ <div v-if="sortedEntries.length" class="_bk_flex _bk_flex-col _bk_gap-3">
99
+ <div
100
+ class="_bk_text-mono-500 _bk_font-mono"
101
+ style="
102
+ font-size: 10px;
103
+ text-transform: uppercase;
104
+ letter-spacing: 0.05em;
105
+ "
106
+ >
107
+ Breakpoints
108
+ </div>
109
+ <div
110
+ v-for="entry in sortedEntries"
111
+ :key="entry.key"
112
+ class="_bk_flex _bk_items-center _bk_gap-5 _bk_rounded _bk_px-5 _bk_cursor-pointer"
113
+ :class="
114
+ entry.key === resolved.widthKey ? '_bk_bg-accent-100 _bk_text-accent-900' : '_bk_hover:bg-mono-100'
115
+ "
116
+ style="height: 30px"
117
+ @click="containerWidth = entry.width"
118
+ >
119
+ <span class="_bk_font-mono _bk_flex-1" style="font-size: 12px">
120
+ {{ entry.width }}px &rarr; {{ entry.height }}px
121
+ </span>
122
+ <button
123
+ type="button"
124
+ class="_bk_text-mono-400 _bk_hover:text-red-normal"
125
+ style="font-size: 14px; line-height: 1"
126
+ @click.stop="deleteEntry(entry.key)"
127
+ >
128
+ &times;
129
+ </button>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ </div>
134
+ </template>
135
+
136
+ <script setup>
137
+ import { ref, computed, onBeforeUnmount, useBlokkli } from "#imports";
138
+ import { VIEWPORTS } from "#blokkli-build/iframes-config";
139
+ const props = defineProps({
140
+ data: { type: [Object, null], required: true },
141
+ uuid: { type: String, required: true },
142
+ optionKey: { type: String, required: true }
143
+ });
144
+ const DEFAULT_HEIGHT = 400;
145
+ const { directive } = useBlokkli();
146
+ const iframeSrc = computed(
147
+ () => directive.getValueElement(props.uuid, "iframe") || ""
148
+ );
149
+ const heights = ref(
150
+ props.data && Object.keys(props.data).length > 0 ? { ...props.data } : Object.values(VIEWPORTS).reduce((acc, vp) => {
151
+ acc[String(vp.width)] = DEFAULT_HEIGHT;
152
+ return acc;
153
+ }, {})
154
+ );
155
+ const firstViewport = Object.values(VIEWPORTS)[0];
156
+ const containerWidth = ref(firstViewport?.width ?? 375);
157
+ const sortedEntries = computed(
158
+ () => Object.entries(heights.value).map(([w, h]) => ({ width: Number(w), height: h, key: w })).filter((e) => !Number.isNaN(e.width)).sort((a, b) => a.width - b.width)
159
+ );
160
+ const resolved = computed(() => {
161
+ const sorted = sortedEntries.value;
162
+ if (!sorted.length) {
163
+ return { height: DEFAULT_HEIGHT, widthKey: "" };
164
+ }
165
+ const match = sorted.find((bp) => bp.width >= containerWidth.value);
166
+ if (match) {
167
+ return { height: match.height, widthKey: match.key };
168
+ }
169
+ const largest = sorted[sorted.length - 1];
170
+ return { height: largest.height, widthKey: largest.key };
171
+ });
172
+ function deleteEntry(key) {
173
+ const { [key]: _, ...rest } = heights.value;
174
+ heights.value = rest;
175
+ }
176
+ const isDragging = ref(false);
177
+ let dragAxis = "height";
178
+ let dragStartX = 0;
179
+ let dragStartY = 0;
180
+ let dragStartWidth = 0;
181
+ let dragStartHeight = 0;
182
+ function onPointerDown(axis, e) {
183
+ isDragging.value = true;
184
+ dragAxis = axis;
185
+ dragStartX = e.clientX;
186
+ dragStartY = e.clientY;
187
+ dragStartWidth = containerWidth.value;
188
+ dragStartHeight = resolved.value.height;
189
+ document.addEventListener("pointermove", onPointerMove);
190
+ document.addEventListener("pointerup", onPointerUp);
191
+ }
192
+ function onPointerMove(e) {
193
+ if (dragAxis === "width" || dragAxis === "both") {
194
+ const deltaX = e.clientX - dragStartX;
195
+ containerWidth.value = Math.max(
196
+ 200,
197
+ Math.round(dragStartWidth + deltaX * 2)
198
+ );
199
+ }
200
+ if (dragAxis === "height" || dragAxis === "both") {
201
+ const deltaY = e.clientY - dragStartY;
202
+ const newHeight = Math.max(50, Math.round(dragStartHeight + deltaY));
203
+ const widthKey = String(containerWidth.value);
204
+ heights.value = { ...heights.value, [widthKey]: newHeight };
205
+ }
206
+ }
207
+ function onPointerUp() {
208
+ isDragging.value = false;
209
+ document.removeEventListener("pointermove", onPointerMove);
210
+ document.removeEventListener("pointerup", onPointerUp);
211
+ }
212
+ onBeforeUnmount(() => {
213
+ document.removeEventListener("pointermove", onPointerMove);
214
+ document.removeEventListener("pointerup", onPointerUp);
215
+ });
216
+ function getData() {
217
+ return heights.value;
218
+ }
219
+ defineExpose({ getData });
220
+ </script>
@@ -0,0 +1,12 @@
1
+ import type { IframeHeightMap } from '../../../types.js';
2
+ type __VLS_Props = {
3
+ data: IframeHeightMap | null;
4
+ uuid: string;
5
+ optionKey: string;
6
+ };
7
+ declare function getData(): IframeHeightMap;
8
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
9
+ getData: typeof getData;
10
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * A map of container widths (as strings) to iframe heights in pixels.
3
+ *
4
+ * The keys correspond to `@container` query breakpoints. For example,
5
+ * `{ "375": 400, "768": 600, "1440": 800 }` means:
6
+ * - At container width ≤ 375px, the iframe is 400px tall
7
+ * - At container width ≤ 768px, the iframe is 600px tall
8
+ * - At container width > 768px (default), the iframe is 800px tall
9
+ */
10
+ export type IframeHeightMap = Record<string, number>;
@@ -1,4 +1,4 @@
1
- export { b as Blokkli, B as BlokkliModule, d as defineBlokkliModule } from '../shared/editor.DsGJIlGn.mjs';
1
+ export { b as Blokkli, B as BlokkliModule, d as defineBlokkliModule } from '../shared/editor.BTOBvmaz.mjs';
2
2
  import 'nuxt/schema';
3
3
  import 'consola';
4
4
  import '../../dist/global/types/definitions.js';
@@ -1,4 +1,4 @@
1
- import { B as BlokkliModule } from '../../shared/editor.DsGJIlGn.mjs';
1
+ import { B as BlokkliModule } from '../../shared/editor.BTOBvmaz.mjs';
2
2
  import 'nuxt/schema';
3
3
  import 'consola';
4
4
  import '../../../dist/global/types/definitions.js';
@@ -22,3 +22,60 @@ const text = computed(() => {
22
22
  });
23
23
  useBlockRegistration(dom, props.uuid);
24
24
  </script>
25
+
26
+ <style>
27
+ .bk.bk-block-not-implemented {
28
+
29
+ --bk-tw-bg-opacity: 1;
30
+
31
+ background-color: rgb(var(--bk-theme-red-light) / var(--bk-tw-bg-opacity, 1));
32
+
33
+ padding-top: 15px;
34
+
35
+ padding-bottom: 15px;
36
+
37
+ font-family: PB Inter, sans-serif;
38
+
39
+ font-weight: 500;
40
+
41
+ --bk-tw-text-opacity: 1;
42
+
43
+ color: rgb(var(--bk-theme-red-normal) / var(--bk-tw-text-opacity, 1));
44
+
45
+ border-radius: 6px;
46
+
47
+ font-size: 18px;
48
+
49
+ line-height: 28px;
50
+
51
+ outline-style: solid;
52
+
53
+ outline-width: 1px;
54
+
55
+ outline-offset: -1px;
56
+
57
+ outline-color: rgb(var(--bk-theme-red-normal) / 0.3);
58
+
59
+ display: flex;
60
+
61
+ align-items: center;
62
+
63
+ justify-content: center;
64
+
65
+ gap: 5px
66
+ }
67
+
68
+ .bk.bk-block-not-implemented strong {
69
+
70
+ font-weight: 700 !important
71
+ }
72
+
73
+ .bk.bk-block-not-implemented svg {
74
+
75
+ fill: currentColor;
76
+
77
+ width: 25px;
78
+
79
+ height: 25px
80
+ }
81
+ </style>
@@ -32,7 +32,6 @@ const props = defineProps({
32
32
  });
33
33
  defineSlots();
34
34
  const isEditingBuild = import.meta.blokkliEditing;
35
- const root = useTemplateRef("root");
36
35
  const valueOverride = ref("");
37
36
  const renderedValue = computed(() => valueOverride.value || props.value || "");
38
37
  if (isEditingBuild) {
@@ -63,6 +62,7 @@ if (isEditingBuild) {
63
62
  "editable"
64
63
  );
65
64
  };
65
+ const root = useTemplateRef("root");
66
66
  const isEditing = inject(INJECT_IS_EDITING, false);
67
67
  const entity = inject(INJECT_ENTITY_CONTEXT, null);
68
68
  const editContext = inject(INJECT_EDIT_CONTEXT, null);
@@ -2,7 +2,7 @@ import type { ComputedRef } from 'vue';
2
2
  import type { AddNewBlockEvent, AddNewBlocksEvent, MoveBlockEvent, MoveMultipleBlocksEvent } from '../events/index.js';
3
3
  import type { PluginConfigInput } from '../types/pluginConfig.js';
4
4
  import type { EntityTranslation, MappedState } from '../types/state.js';
5
- import type { BlockBundleDefinition, FieldConfig } from '../types/definitions.js';
5
+ import type { BlockBundleDefinition, EntityTypeBundleInfo, EntityTypeInfo, FieldConfig } from '../types/definitions.js';
6
6
  import type { EditBlockEvent } from '../features/edit/types.js';
7
7
  import type { UserPermissions } from '../types/permissions.js';
8
8
  export interface MutationResponseLike<T> {
@@ -10,6 +10,11 @@ export interface MutationResponseLike<T> {
10
10
  state?: T;
11
11
  errors?: string[];
12
12
  }
13
+ export interface GenericAdapterResponse<T> {
14
+ success: boolean;
15
+ data: T;
16
+ errors?: string[];
17
+ }
13
18
  export type UpdateEntityFieldValueEvent = {
14
19
  fieldName: string;
15
20
  fieldValue: string;
@@ -120,6 +125,8 @@ export interface BlokkliAdapter<T> {
120
125
  */
121
126
  persist: (settings: string) => Promise<undefined>;
122
127
  };
128
+ getEntityTypeInfo?: (entityType: string) => EntityTypeInfo | null;
129
+ getEntityBundleInfo?: (entityType: string, bundle: string) => EntityTypeBundleInfo | null;
123
130
  }
124
131
  /**
125
132
  * Methods that adapter extensions can implement.
@@ -3,39 +3,43 @@
3
3
  <button
4
4
  type="button"
5
5
  :disabled="!canSelectParent"
6
+ class="_bk_group/tooltip"
6
7
  @click.prevent="onClickSelectParent"
7
8
  >
8
9
  <Icon name="bk_mdi_arrow_top_left" />
9
- <div class="bk-tooltip">
10
- {{
11
- parentLabel ? $t("actionsSelectParent", "Select parent (@label)").replace(
12
- "@label",
13
- parentLabel
14
- ) : $t("actionsSelectPage", "Select page")
15
- }}
16
- </div>
10
+ <Tooltip
11
+ :label="
12
+ parentLabel ? $t('actionsSelectParent', 'Select parent (@label)').replace(
13
+ '@label',
14
+ parentLabel
15
+ ) : $t('actionsSelectPage', 'Select page')
16
+ "
17
+ placement="above-left"
18
+ />
17
19
  </button>
18
20
  <button
19
21
  type="button"
22
+ class="_bk_group/tooltip"
20
23
  :disabled="!canMove"
21
24
  @pointerdown.stop.prevent="onMovePointerDown"
22
25
  >
23
26
  <Icon name="bk_mdi_drag_pan" />
24
- <div class="bk-tooltip">
25
- {{
26
- selection.uuids.value.length === 1 ? $t("actionsMoveBlock", "Move block") : $t("actionsMoveBlocks", "Move @count blocks").replace(
27
- "@count",
28
- String(selection.uuids.value.length)
29
- )
30
- }}
31
- </div>
27
+ <Tooltip
28
+ :label="
29
+ selection.uuids.value.length === 1 ? $t('actionsMoveBlock', 'Move block') : $t('actionsMoveBlocks', 'Move @count blocks').replace(
30
+ '@count',
31
+ String(selection.uuids.value.length)
32
+ )
33
+ "
34
+ placement="above-left"
35
+ />
32
36
  </button>
33
37
  </div>
34
38
  </template>
35
39
 
36
40
  <script setup>
37
41
  import { computed, useBlokkli } from "#imports";
38
- import { Icon } from "#blokkli/editor/components";
42
+ import { Icon, Tooltip } from "#blokkli/editor/components";
39
43
  import { toDraggableExisting } from "#blokkli/editor/helpers/draggable";
40
44
  const { selection, $t, state, eventBus, ui, types } = useBlokkli();
41
45
  const canMove = computed(() => {
@@ -108,3 +112,59 @@ export default {
108
112
  name: "Interactions"
109
113
  };
110
114
  </script>
115
+
116
+ <style>
117
+ .bk .bk-blokkli-item-actions-interactions {
118
+ position: relative;
119
+ height: 50px;
120
+ width: 25px
121
+ }
122
+ @media (min-width: 1024px) {
123
+ .bk .bk-blokkli-item-actions-interactions {
124
+ border-right-width: 1px;
125
+ --bk-tw-border-opacity: 1;
126
+ border-right-color: rgb(var(--bk-theme-mono-500) / var(--bk-tw-border-opacity, 1))
127
+ }
128
+ }
129
+
130
+ .bk .bk-blokkli-item-actions-interactions > button {
131
+ width: 25px;
132
+ height: 25px;
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ --bk-tw-text-opacity: 1;
137
+ color: rgb(var(--bk-theme-mono-300) / var(--bk-tw-text-opacity, 1))
138
+ }
139
+
140
+ .bk .bk-blokkli-item-actions-interactions > button:hover {
141
+ --bk-tw-bg-opacity: 1;
142
+ background-color: rgb(var(--bk-theme-mono-700) / var(--bk-tw-bg-opacity, 1));
143
+ --bk-tw-text-opacity: 1;
144
+ color: rgb(var(--bk-theme-mono-50) / var(--bk-tw-text-opacity, 1))
145
+ }
146
+
147
+ .bk .bk-blokkli-item-actions-interactions > button[disabled] {
148
+ pointer-events: none;
149
+ --bk-tw-text-opacity: 1;
150
+ color: rgb(var(--bk-theme-mono-500) / var(--bk-tw-text-opacity, 1))
151
+ }
152
+
153
+ .bk .bk-blokkli-item-actions-interactions > button:first-child {
154
+ border-top-left-radius: 6px;
155
+ border-bottom-width: 1px;
156
+ --bk-tw-border-opacity: 1;
157
+ border-bottom-color: rgb(var(--bk-theme-mono-500) / var(--bk-tw-border-opacity, 1))
158
+ }
159
+
160
+ .bk .bk-blokkli-item-actions-interactions > button:nth-child(2) {
161
+ cursor: grab;
162
+ border-bottom-left-radius: 6px
163
+ }
164
+
165
+ .bk .bk-blokkli-item-actions-interactions > button svg {
166
+ width: 13px;
167
+ height: 13px;
168
+ fill: currentColor
169
+ }
170
+ </style>
@@ -1,8 +1,5 @@
1
1
  <template>
2
- <div
3
- id="bk-blokkli-item-actions-dropdown"
4
- class="bk-blokkli-item-actions-type-dropdown"
5
- >
2
+ <div>
6
3
  <div
7
4
  v-for="group in groups"
8
5
  :key="group.name"
@@ -11,8 +8,8 @@
11
8
  <ol>
12
9
  <li v-for="action in group.actions" :key="action.id">
13
10
  <button
14
- class="bk-blokkli-item-actions-type-dropdown-button"
15
- :class="'bk-is-variant-' + action.variant || 'default'"
11
+ class="bk-blokkli-item-actions-type-dropdown-button _bk_group/tooltip"
12
+ :class="'bk-is-variant-' + action.variant || '_bk_default'"
16
13
  :disabled="action.enabled === false"
17
14
  @click.prevent="onActionClick(action)"
18
15
  >
@@ -23,9 +20,11 @@
23
20
  <div>
24
21
  <div>{{ action.label }}</div>
25
22
  </div>
26
- <div v-if="action.description" class="bk-tooltip">
27
- {{ action.description }}
28
- </div>
23
+ <Tooltip
24
+ v-if="action.description"
25
+ :label="action.description"
26
+ placement="center-after"
27
+ />
29
28
  </button>
30
29
  </li>
31
30
  </ol>
@@ -35,7 +34,7 @@
35
34
 
36
35
  <script setup>
37
36
  import { useBlokkli } from "#imports";
38
- import { ItemIcon, Icon } from "#blokkli/editor/components";
37
+ import { ItemIcon, Icon, Tooltip } from "#blokkli/editor/components";
39
38
  const emit = defineEmits(["close"]);
40
39
  const { plugins } = useBlokkli();
41
40
  function getGroupedActions() {