@blokkli/editor 2.0.0-alpha.35 → 2.0.0-alpha.37

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 (320) hide show
  1. package/dist/global/types/blockOptions.d.ts +10 -2
  2. package/dist/global/types/definitions.d.ts +12 -5
  3. package/dist/module.d.mts +2 -2
  4. package/dist/module.json +1 -1
  5. package/dist/module.mjs +126 -7
  6. package/dist/modules/agent/index.d.mts +1 -1
  7. package/dist/modules/agent/index.mjs +273 -25
  8. package/dist/modules/agent/runtime/app/composables/agentProvider.d.ts +2 -2
  9. package/dist/modules/agent/runtime/app/composables/agentProvider.js +34 -17
  10. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.d.ts +2 -20
  11. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.js +0 -3
  12. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.vue +2 -2
  13. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.vue +1 -2
  14. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.vue +1 -2
  15. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.d.vue.ts +1 -0
  16. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +67 -86
  17. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue.d.ts +1 -0
  18. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.vue +10 -12
  19. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/de.md +2 -2
  20. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/en.md +2 -2
  21. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +1 -5
  22. package/dist/modules/agent/runtime/app/features/agent/Transcript/index.d.vue.ts +8 -0
  23. package/dist/modules/agent/runtime/app/features/agent/Transcript/index.vue +138 -0
  24. package/dist/modules/agent/runtime/app/features/agent/Transcript/index.vue.d.ts +8 -0
  25. package/dist/modules/agent/runtime/app/features/agent/index.vue +94 -38
  26. package/dist/modules/agent/runtime/app/helpers/index.d.ts +16 -19
  27. package/dist/modules/agent/runtime/app/helpers/index.js +22 -46
  28. package/dist/modules/agent/runtime/app/helpers/pageStructure.js +1 -1
  29. package/dist/modules/agent/runtime/app/tools/add_content_search_paragraph/index.js +5 -9
  30. package/dist/modules/agent/runtime/app/tools/add_fragment/index.js +2 -6
  31. package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.js +2 -6
  32. package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.js +2 -3
  33. package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.js +2 -6
  34. package/dist/modules/agent/runtime/app/tools/add_template/index.js +2 -6
  35. package/dist/modules/agent/runtime/app/tools/analyze_content/index.js +120 -0
  36. package/dist/modules/agent/runtime/app/tools/check_readability/index.d.ts +2 -0
  37. package/dist/modules/agent/runtime/app/tools/check_readability/index.js +57 -0
  38. package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.js +2 -6
  39. package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.js +1 -1
  40. package/dist/modules/agent/runtime/app/tools/get_bundle_info/index.d.ts +2 -0
  41. package/dist/modules/agent/runtime/app/tools/get_bundle_info/index.js +176 -0
  42. package/dist/modules/agent/runtime/app/tools/get_content_fields/index.js +1 -1
  43. package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.js +7 -5
  44. package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.js +2 -1
  45. package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.js +2 -3
  46. package/dist/modules/agent/runtime/app/tools/helpers.d.ts +53 -0
  47. package/dist/modules/agent/runtime/app/tools/helpers.js +187 -0
  48. package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.js +2 -6
  49. package/dist/modules/agent/runtime/app/tools/schemas.d.ts +1 -44
  50. package/dist/modules/agent/runtime/app/tools/schemas.js +0 -174
  51. package/dist/modules/agent/runtime/app/tools/search_content/index.js +40 -47
  52. package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.js +2 -5
  53. package/dist/modules/agent/runtime/app/types/index.d.ts +0 -61
  54. package/dist/modules/agent/runtime/server/Session.d.ts +29 -8
  55. package/dist/modules/agent/runtime/server/Session.js +168 -85
  56. package/dist/modules/agent/runtime/server/SessionManager.d.ts +3 -0
  57. package/dist/modules/agent/runtime/server/SessionManager.js +4 -1
  58. package/dist/modules/agent/runtime/server/agent.js +3 -2
  59. package/dist/modules/agent/runtime/server/agentPrompt.d.ts +9 -1
  60. package/dist/modules/agent/runtime/server/agentPrompt.js +26 -0
  61. package/dist/modules/agent/runtime/server/default-skills/fixReadability.d.ts +2 -0
  62. package/dist/modules/agent/runtime/server/default-skills/fixReadability.js +69 -0
  63. package/dist/modules/agent/runtime/server/default-system-prompts/page-context.js +28 -0
  64. package/dist/modules/agent/runtime/server/server-tools/index.d.ts +10 -2
  65. package/dist/modules/agent/runtime/server/server-tools/index.js +1 -1
  66. package/dist/modules/agent/runtime/server/server-tools/load_tools/index.js +1 -1
  67. package/dist/modules/agent/runtime/shared/types.d.ts +81 -12
  68. package/dist/modules/agent/runtime/shared/types.js +22 -10
  69. package/dist/modules/charts/index.d.mts +35 -0
  70. package/dist/modules/charts/index.mjs +57 -0
  71. package/dist/modules/charts/runtime/blokkli/skills/charts.d.ts +2 -0
  72. package/dist/modules/charts/runtime/blokkli/skills/charts.js +42 -0
  73. package/dist/modules/charts/runtime/blokkli/tools/chart_schemas.d.ts +86 -0
  74. package/dist/modules/charts/runtime/blokkli/tools/chart_schemas.js +136 -0
  75. package/dist/modules/charts/runtime/blokkli/tools/create_chart/index.d.ts +2 -0
  76. package/dist/modules/charts/runtime/blokkli/tools/create_chart/index.js +93 -0
  77. package/dist/modules/charts/runtime/blokkli/tools/get_chart_data/index.d.ts +2 -0
  78. package/dist/modules/charts/runtime/blokkli/tools/get_chart_data/index.js +66 -0
  79. package/dist/modules/charts/runtime/blokkli/tools/get_chart_type_options/index.d.ts +2 -0
  80. package/dist/modules/charts/runtime/blokkli/tools/get_chart_type_options/index.js +40 -0
  81. package/dist/modules/charts/runtime/blokkli/tools/update_chart/index.d.ts +2 -0
  82. package/dist/modules/charts/runtime/blokkli/tools/update_chart/index.js +89 -0
  83. package/dist/modules/charts/runtime/chartTypes/area.d.ts +7 -0
  84. package/dist/modules/charts/runtime/chartTypes/area.js +68 -0
  85. package/dist/modules/charts/runtime/chartTypes/bar.d.ts +8 -0
  86. package/dist/modules/charts/runtime/chartTypes/bar.js +76 -0
  87. package/dist/modules/charts/runtime/chartTypes/define.d.ts +2 -0
  88. package/dist/modules/charts/runtime/chartTypes/define.js +3 -0
  89. package/dist/modules/charts/runtime/chartTypes/donut.d.ts +6 -0
  90. package/dist/modules/charts/runtime/chartTypes/donut.js +45 -0
  91. package/dist/modules/charts/runtime/chartTypes/heatmap.d.ts +4 -0
  92. package/dist/modules/charts/runtime/chartTypes/heatmap.js +54 -0
  93. package/dist/modules/charts/runtime/chartTypes/index.d.ts +39 -0
  94. package/dist/modules/charts/runtime/chartTypes/index.js +47 -0
  95. package/dist/modules/charts/runtime/chartTypes/line.d.ts +7 -0
  96. package/dist/modules/charts/runtime/chartTypes/line.js +68 -0
  97. package/dist/modules/charts/runtime/chartTypes/pie.d.ts +5 -0
  98. package/dist/modules/charts/runtime/chartTypes/pie.js +28 -0
  99. package/dist/modules/charts/runtime/chartTypes/radar.d.ts +7 -0
  100. package/dist/modules/charts/runtime/chartTypes/radar.js +52 -0
  101. package/dist/modules/charts/runtime/chartTypes/radialBar.d.ts +6 -0
  102. package/dist/modules/charts/runtime/chartTypes/radialBar.js +44 -0
  103. package/dist/modules/charts/runtime/chartTypes/shared.d.ts +67 -0
  104. package/dist/modules/charts/runtime/chartTypes/shared.js +103 -0
  105. package/dist/modules/charts/runtime/chartTypes/types.d.ts +29 -0
  106. package/dist/modules/charts/runtime/chartTypes/types.js +0 -0
  107. package/dist/modules/charts/runtime/components/ChartRenderer/index.d.vue.ts +147 -0
  108. package/dist/modules/charts/runtime/components/ChartRenderer/index.vue +120 -0
  109. package/dist/modules/charts/runtime/components/ChartRenderer/index.vue.d.ts +147 -0
  110. package/dist/modules/charts/runtime/components/index.d.ts +1 -0
  111. package/dist/modules/charts/runtime/components/index.js +1 -0
  112. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypeOptions/index.d.vue.ts +16 -0
  113. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypeOptions/index.vue +97 -0
  114. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypeOptions/index.vue.d.ts +16 -0
  115. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypePicker/index.d.vue.ts +11 -0
  116. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypePicker/index.vue +34 -0
  117. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypePicker/index.vue.d.ts +11 -0
  118. package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.d.vue.ts +12 -0
  119. package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.vue +49 -0
  120. package/dist/modules/charts/runtime/features/charts/Editor/ColorDropdown/index.vue.d.ts +12 -0
  121. package/dist/modules/charts/runtime/features/charts/Editor/CsvImport/index.d.vue.ts +19 -0
  122. package/dist/modules/charts/runtime/features/charts/Editor/CsvImport/index.vue +89 -0
  123. package/dist/modules/charts/runtime/features/charts/Editor/CsvImport/index.vue.d.ts +19 -0
  124. package/dist/modules/charts/runtime/features/charts/Editor/DataTable/index.d.vue.ts +23 -0
  125. package/dist/modules/charts/runtime/features/charts/Editor/DataTable/index.vue +224 -0
  126. package/dist/modules/charts/runtime/features/charts/Editor/DataTable/index.vue.d.ts +23 -0
  127. package/dist/{runtime/editor/features/clipboard/List → modules/charts/runtime/features/charts/Editor/FootnoteEditor}/index.d.vue.ts +4 -5
  128. package/dist/modules/charts/runtime/features/charts/Editor/FootnoteEditor/index.vue +61 -0
  129. package/dist/{runtime/editor/features/clipboard/List → modules/charts/runtime/features/charts/Editor/FootnoteEditor}/index.vue.d.ts +4 -5
  130. package/dist/modules/charts/runtime/features/charts/Editor/Preview/index.d.vue.ts +10 -0
  131. package/dist/modules/charts/runtime/features/charts/Editor/Preview/index.vue +45 -0
  132. package/dist/modules/charts/runtime/features/charts/Editor/Preview/index.vue.d.ts +10 -0
  133. package/dist/modules/charts/runtime/features/charts/Editor/index.d.vue.ts +11 -0
  134. package/dist/modules/charts/runtime/features/charts/Editor/index.vue +249 -0
  135. package/dist/modules/charts/runtime/features/charts/Editor/index.vue.d.ts +11 -0
  136. package/dist/modules/charts/runtime/features/charts/Editor/useChartEditorState.d.ts +17 -0
  137. package/dist/modules/charts/runtime/features/charts/Editor/useChartEditorState.js +90 -0
  138. package/dist/modules/charts/runtime/features/charts/index.d.vue.ts +3 -0
  139. package/dist/modules/charts/runtime/features/charts/index.vue +72 -0
  140. package/dist/modules/charts/runtime/features/charts/index.vue.d.ts +3 -0
  141. package/dist/modules/charts/runtime/helpers/index.d.ts +26 -0
  142. package/dist/modules/charts/runtime/helpers/index.js +80 -0
  143. package/dist/modules/charts/runtime/types.d.ts +33 -0
  144. package/dist/modules/charts/runtime/types.js +0 -0
  145. package/dist/modules/drupal/graphql/features/fragments.graphql +2 -0
  146. package/dist/modules/drupal/index.d.mts +1 -1
  147. package/dist/modules/drupal/runtime/adapter/index.d.ts +3 -1
  148. package/dist/modules/drupal/runtime/adapter/index.js +16 -12
  149. package/dist/modules/table-of-contents/index.d.mts +11 -0
  150. package/dist/modules/table-of-contents/index.mjs +24 -0
  151. package/dist/modules/table-of-contents/runtime/components/BlokkliTableOfContents/index.d.vue.ts +44 -0
  152. package/dist/modules/table-of-contents/runtime/components/BlokkliTableOfContents/index.vue +43 -0
  153. package/dist/modules/table-of-contents/runtime/components/BlokkliTableOfContents/index.vue.d.ts +44 -0
  154. package/dist/modules/table-of-contents/runtime/types/index.d.ts +4 -0
  155. package/dist/modules/table-of-contents/runtime/types/index.js +0 -0
  156. package/dist/runtime/components/Blocks/Fragment/index.vue +6 -2
  157. package/dist/runtime/components/BlokkliItem.vue +9 -4
  158. package/dist/runtime/components/BlokkliProvider.d.vue.ts +7 -0
  159. package/dist/runtime/components/BlokkliProvider.vue +7 -1
  160. package/dist/runtime/components/BlokkliProvider.vue.d.ts +7 -0
  161. package/dist/runtime/composables/defineBlokkli.js +1 -1
  162. package/dist/runtime/composables/useBlokkliHelper.js +4 -2
  163. package/dist/runtime/editor/components/AnimationCanvas/index.vue +17 -27
  164. package/dist/runtime/editor/components/Banner/index.d.vue.ts +13 -2
  165. package/dist/runtime/editor/components/Banner/index.vue +4 -2
  166. package/dist/runtime/editor/components/Banner/index.vue.d.ts +13 -2
  167. package/dist/runtime/editor/components/Dropdown/index.d.vue.ts +27 -0
  168. package/dist/runtime/editor/components/Dropdown/index.vue +107 -0
  169. package/dist/runtime/editor/components/Dropdown/index.vue.d.ts +27 -0
  170. package/dist/{modules/agent/runtime/app/features/agent/Panel/Input/Actions → runtime/editor/components}/DropdownItem/index.d.vue.ts +1 -0
  171. package/dist/{modules/agent/runtime/app/features/agent/Panel/Input/Actions → runtime/editor/components}/DropdownItem/index.vue +3 -2
  172. package/dist/{modules/agent/runtime/app/features/agent/Panel/Input/Actions → runtime/editor/components}/DropdownItem/index.vue.d.ts +1 -0
  173. package/dist/runtime/editor/components/EditProvider.d.vue.ts +2 -0
  174. package/dist/runtime/editor/components/EditProvider.vue +11 -7
  175. package/dist/runtime/editor/components/EditProvider.vue.d.ts +2 -0
  176. package/dist/runtime/editor/components/FlexTextarea/index.d.vue.ts +5 -1
  177. package/dist/runtime/editor/components/FlexTextarea/index.vue +24 -101
  178. package/dist/runtime/editor/components/FlexTextarea/index.vue.d.ts +5 -1
  179. package/dist/runtime/editor/components/Form/Radio/index.d.vue.ts +1 -0
  180. package/dist/runtime/editor/components/Form/Radio/index.vue +3 -2
  181. package/dist/runtime/editor/components/Form/Radio/index.vue.d.ts +1 -0
  182. package/dist/runtime/editor/components/ItemIcon/index.vue +10 -2
  183. package/dist/runtime/editor/components/NestedEditorOverlay/index.d.vue.ts +13 -3
  184. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +43 -16
  185. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue.d.ts +13 -3
  186. package/dist/runtime/editor/components/Popup/index.d.vue.ts +30 -0
  187. package/dist/runtime/editor/components/Popup/index.vue +82 -0
  188. package/dist/runtime/editor/components/Popup/index.vue.d.ts +30 -0
  189. package/dist/runtime/editor/components/PreviewProvider.d.vue.ts +2 -0
  190. package/dist/runtime/editor/components/PreviewProvider.vue +3 -2
  191. package/dist/runtime/editor/components/PreviewProvider.vue.d.ts +2 -0
  192. package/dist/runtime/editor/components/Resizable/index.vue +4 -1
  193. package/dist/runtime/editor/components/ShortcutIndicator/index.vue +1 -1
  194. package/dist/runtime/editor/components/Toolbar/index.vue +107 -6
  195. package/dist/runtime/editor/components/index.d.ts +4 -1
  196. package/dist/runtime/editor/components/index.js +6 -0
  197. package/dist/runtime/editor/composables/defineDropAreas.js +3 -3
  198. package/dist/runtime/editor/composables/defineDropHandler.d.ts +3 -0
  199. package/dist/runtime/editor/composables/defineDropHandler.js +10 -0
  200. package/dist/runtime/editor/composables/index.d.ts +1 -0
  201. package/dist/runtime/editor/composables/index.js +1 -0
  202. package/dist/runtime/editor/composables/onElementResize.js +0 -1
  203. package/dist/runtime/editor/composables/useEditableFieldOverride.js +4 -5
  204. package/dist/runtime/editor/css/output.css +1 -1
  205. package/dist/runtime/editor/events/index.d.ts +16 -0
  206. package/dist/runtime/editor/features/add-list/Help/Item.vue +5 -2
  207. package/dist/runtime/editor/features/add-list/index.vue +58 -1
  208. package/dist/runtime/editor/features/analyze/Main.d.vue.ts +3 -2
  209. package/dist/runtime/editor/features/analyze/Main.vue +28 -44
  210. package/dist/runtime/editor/features/analyze/Main.vue.d.ts +3 -2
  211. package/dist/runtime/editor/features/analyze/analyzers/readability.js +65 -0
  212. package/dist/runtime/editor/features/analyze/analyzers/types.d.ts +19 -0
  213. package/dist/runtime/editor/features/analyze/index.vue +18 -15
  214. package/dist/runtime/editor/features/artboard/Renderer.vue +1 -1
  215. package/dist/runtime/editor/features/clipboard/DropElement/Video.d.vue.ts +8 -0
  216. package/dist/runtime/editor/features/clipboard/{List/Item → DropElement}/Video.vue +1 -5
  217. package/dist/runtime/editor/features/clipboard/DropElement/Video.vue.d.ts +8 -0
  218. package/dist/runtime/editor/features/clipboard/DropElement/helpers.d.ts +1 -0
  219. package/dist/runtime/editor/features/clipboard/DropElement/helpers.js +14 -0
  220. package/dist/runtime/editor/features/clipboard/DropElement/index.d.vue.ts +16 -0
  221. package/dist/runtime/editor/features/clipboard/DropElement/index.vue +97 -0
  222. package/dist/runtime/editor/features/clipboard/DropElement/index.vue.d.ts +16 -0
  223. package/dist/runtime/editor/features/clipboard/helpers.d.ts +15 -0
  224. package/dist/runtime/editor/features/clipboard/helpers.js +62 -0
  225. package/dist/runtime/editor/features/clipboard/index.vue +586 -338
  226. package/dist/runtime/editor/features/clipboard/types.d.ts +14 -2
  227. package/dist/runtime/editor/features/debug/index.vue +1 -1
  228. package/dist/runtime/editor/features/dev-mode/index.vue +86 -2
  229. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue +17 -5
  230. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue +2 -2
  231. package/dist/runtime/editor/features/dragging-overlay/index.vue +125 -219
  232. package/dist/runtime/editor/features/edit/index.vue +20 -0
  233. package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.vue +4 -4
  234. package/dist/runtime/editor/features/editable-field/Overlay/index.vue +6 -0
  235. package/dist/runtime/editor/features/fragments/types.d.ts +1 -0
  236. package/dist/runtime/editor/features/hover/Renderer/index.vue +30 -3
  237. package/dist/runtime/editor/features/hover/index.vue +1 -1
  238. package/dist/runtime/editor/features/library/index.vue +14 -0
  239. package/dist/runtime/editor/features/media-library/index.vue +32 -1
  240. package/dist/runtime/editor/features/options/Form/Checkbox/index.d.vue.ts +2 -2
  241. package/dist/runtime/editor/features/options/Form/Checkbox/index.vue +3 -3
  242. package/dist/runtime/editor/features/options/Form/Checkbox/index.vue.d.ts +2 -2
  243. package/dist/runtime/editor/features/options/Form/Checkboxes/index.d.vue.ts +2 -2
  244. package/dist/runtime/editor/features/options/Form/Checkboxes/index.vue +5 -5
  245. package/dist/runtime/editor/features/options/Form/Checkboxes/index.vue.d.ts +2 -2
  246. package/dist/runtime/editor/features/options/Form/ComplexType/index.d.vue.ts +11 -0
  247. package/dist/runtime/editor/features/options/Form/ComplexType/index.vue +36 -0
  248. package/dist/runtime/editor/features/options/Form/ComplexType/index.vue.d.ts +11 -0
  249. package/dist/runtime/editor/features/options/Form/Item.d.vue.ts +5 -4
  250. package/dist/runtime/editor/features/options/Form/Item.vue +24 -50
  251. package/dist/runtime/editor/features/options/Form/Item.vue.d.ts +5 -4
  252. package/dist/runtime/editor/features/options/Form/Number/index.d.vue.ts +3 -3
  253. package/dist/runtime/editor/features/options/Form/Number/index.vue +7 -17
  254. package/dist/runtime/editor/features/options/Form/Number/index.vue.d.ts +3 -3
  255. package/dist/runtime/editor/features/options/Form/Range/index.d.vue.ts +2 -2
  256. package/dist/runtime/editor/features/options/Form/Range/index.vue +4 -4
  257. package/dist/runtime/editor/features/options/Form/Range/index.vue.d.ts +2 -2
  258. package/dist/runtime/editor/features/options/Form/index.vue +15 -5
  259. package/dist/runtime/editor/features/search/index.vue +25 -1
  260. package/dist/runtime/editor/features/selection/index.vue +2 -2
  261. package/dist/runtime/editor/features/structure/index.vue +25 -1
  262. package/dist/runtime/editor/features/tour/index.vue +22 -12
  263. package/dist/runtime/editor/features/transform/index.vue +1 -3
  264. package/dist/runtime/editor/helpers/clipboardData/index.d.ts +11 -0
  265. package/dist/runtime/editor/helpers/clipboardData/index.js +157 -0
  266. package/dist/runtime/editor/helpers/options/index.js +5 -0
  267. package/dist/runtime/editor/icons/svg/stars.svg +5 -1
  268. package/dist/runtime/editor/plugins/Sidebar/Detached/index.d.vue.ts +1 -1
  269. package/dist/runtime/editor/plugins/Sidebar/Detached/index.vue.d.ts +1 -1
  270. package/dist/runtime/editor/plugins/Sidebar/index.d.vue.ts +15 -4
  271. package/dist/runtime/editor/plugins/Sidebar/index.vue +4 -2
  272. package/dist/runtime/editor/plugins/Sidebar/index.vue.d.ts +15 -4
  273. package/dist/runtime/editor/providers/analyze.d.ts +43 -0
  274. package/dist/runtime/editor/providers/analyze.js +78 -0
  275. package/dist/runtime/editor/providers/animation.d.ts +4 -0
  276. package/dist/runtime/editor/providers/animation.js +6 -0
  277. package/dist/runtime/editor/providers/definition.d.ts +2 -2
  278. package/dist/runtime/editor/providers/definition.js +7 -1
  279. package/dist/runtime/editor/providers/dom.d.ts +5 -0
  280. package/dist/runtime/editor/providers/dom.js +11 -2
  281. package/dist/runtime/editor/providers/dragdrop.d.ts +55 -0
  282. package/dist/runtime/editor/providers/dragdrop.js +37 -0
  283. package/dist/runtime/editor/providers/fields.d.ts +19 -1
  284. package/dist/runtime/editor/providers/fields.js +54 -2
  285. package/dist/runtime/editor/providers/storage.js +15 -0
  286. package/dist/runtime/editor/providers/ui.d.ts +6 -0
  287. package/dist/runtime/editor/providers/ui.js +19 -0
  288. package/dist/runtime/editor/translations/de.json +338 -58
  289. package/dist/runtime/editor/translations/fr.json +331 -51
  290. package/dist/runtime/editor/translations/gsw_CH.json +336 -56
  291. package/dist/runtime/editor/translations/it.json +331 -51
  292. package/dist/runtime/editor/types/app.d.ts +4 -2
  293. package/dist/runtime/editor/types/draggable.d.ts +1 -0
  294. package/dist/runtime/editor/types/ui.d.ts +1 -1
  295. package/dist/runtime/helpers/imports/index.d.ts +8 -1
  296. package/dist/runtime/helpers/imports/index.js +15 -6
  297. package/dist/runtime/helpers/injections.d.ts +6 -2
  298. package/dist/runtime/helpers/injections.js +3 -0
  299. package/dist/runtime/helpers/runtimeHelpers/index.js +14 -0
  300. package/dist/runtime/types/blockOptions.d.ts +2 -1
  301. package/dist/runtime/types/definitions.d.ts +12 -5
  302. package/dist/runtime/types/provider.d.ts +2 -0
  303. package/dist/shared/editor.6D5vApr0.mjs +30 -0
  304. package/dist/shared/{editor.DMFfaLVE.mjs → editor.BFIzNSQM.mjs} +1 -30
  305. package/dist/shared/{editor.Iax3GCvt.d.mts → editor.BdBm1Z7C.d.mts} +34 -0
  306. package/dist/types.d.mts +1 -1
  307. package/package.json +21 -3
  308. package/dist/modules/agent/runtime/app/tools/get_available_bundles/index.js +0 -104
  309. package/dist/runtime/editor/features/clipboard/List/Item/File.d.vue.ts +0 -4
  310. package/dist/runtime/editor/features/clipboard/List/Item/File.vue +0 -60
  311. package/dist/runtime/editor/features/clipboard/List/Item/File.vue.d.ts +0 -4
  312. package/dist/runtime/editor/features/clipboard/List/Item/Video.d.vue.ts +0 -4
  313. package/dist/runtime/editor/features/clipboard/List/Item/Video.vue.d.ts +0 -4
  314. package/dist/runtime/editor/features/clipboard/List/index.vue +0 -72
  315. package/dist/runtime/editor/features/tour/Popup/index.d.vue.ts +0 -9
  316. package/dist/runtime/editor/features/tour/Popup/index.vue +0 -34
  317. package/dist/runtime/editor/features/tour/Popup/index.vue.d.ts +0 -9
  318. package/dist/runtime/editor/providers/dropArea.d.ts +0 -48
  319. package/dist/runtime/editor/providers/dropArea.js +0 -22
  320. /package/dist/modules/agent/runtime/app/tools/{get_available_bundles → analyze_content}/index.d.ts +0 -0
@@ -344,7 +344,15 @@ type DefinitionOptionRadiosBase<Icon extends string = string> = {
344
344
  */
345
345
  group?: string;
346
346
  } & (DefinitionOptionRadiosColors | DefinitionOptionRadiosGrid | DefinitionOptionRadiosRadios | DefinitionOptionRadiosIconsBase<Icon>);
347
- export type BlockOptionDefinitionBase<Icon extends string = string> = DefinitionOptionColor | DefinitionOptionCheckbox | DefinitionOptionCheckboxes | DefinitionOptionRadiosBase<Icon> | DefinitionOptionText | DefinitionOptionRange | DefinitionOptionNumber | DefinitionOptionDateTimeLocal;
347
+ type DefinitionOptionJsonBase<DataType extends string = string> = {
348
+ type: 'json';
349
+ label: string;
350
+ default: string;
351
+ dataType?: DataType;
352
+ description?: string;
353
+ group?: string;
354
+ };
355
+ export type BlockOptionDefinitionBase<Icon extends string = string, DataType extends string = string> = DefinitionOptionJsonBase<DataType> | DefinitionOptionColor | DefinitionOptionCheckbox | DefinitionOptionCheckboxes | DefinitionOptionRadiosBase<Icon> | DefinitionOptionText | DefinitionOptionRange | DefinitionOptionNumber | DefinitionOptionDateTimeLocal;
348
356
  /**
349
357
  * Runtime block option array with validation data.
350
358
  * The third element varies by option type:
@@ -353,7 +361,7 @@ export type BlockOptionDefinitionBase<Icon extends string = string> = Definition
353
361
  * - datetime-local: optional [min?, max?] tuple
354
362
  * - other types: no third element
355
363
  */
356
- export type RuntimeBlockOptionArray = ['text', string] | ['checkbox', boolean] | ['color', `#${string}`] | ['radios', string, string[]] | ['checkboxes', string[], string[]] | ['number', number, [number, number]] | ['range', number, [number, number]] | ['datetime-local', string | undefined] | [
364
+ export type RuntimeBlockOptionArray = ['text', string] | ['json', string] | ['json', string, string] | ['checkbox', boolean] | ['color', `#${string}`] | ['radios', string, string[]] | ['checkboxes', string[], string[]] | ['number', number, [number, number]] | ['range', number, [number, number]] | ['datetime-local', string | undefined] | [
357
365
  'datetime-local',
358
366
  string | undefined,
359
367
  [
@@ -15,7 +15,14 @@ export type BlockDefinitionRenderForFieldListBase<FieldListTypes extends string
15
15
  export type BlockDefinitionRenderForFieldListTypeBase<FieldListTypes extends string = string> = {
16
16
  fieldListType: FieldListTypes;
17
17
  };
18
- export type BlockDefinitionRenderForBase<BundleWithNested extends string = string, FieldListTypes extends string = string> = BlockDefinitionRenderForParentBase<BundleWithNested> | BlockDefinitionRenderForFieldListBase<FieldListTypes> | BlockDefinitionRenderForFieldListTypeBase<FieldListTypes>;
18
+ export type BlockDefinitionRenderForProviderTypeBase<ProviderType extends string = string> = {
19
+ providerType: ProviderType;
20
+ };
21
+ export type PropsFieldMapping = {
22
+ type: 'editable' | 'droppable' | 'field';
23
+ name: string;
24
+ };
25
+ export type BlockDefinitionRenderForBase<BundleWithNested extends string = string, FieldListTypes extends string = string, ProviderType extends string = string> = BlockDefinitionRenderForParentBase<BundleWithNested> | BlockDefinitionRenderForFieldListBase<FieldListTypes> | BlockDefinitionRenderForFieldListTypeBase<FieldListTypes> | BlockDefinitionRenderForProviderTypeBase<ProviderType>;
19
26
  export type BlokkliDefinitionInputEditorBase<Options extends BlockDefinitionOptionsInputBase = BlockDefinitionOptionsInputBase, Icon extends string = string, PropsType = Record<string, any>> = {
20
27
  /**
21
28
  * The icon rendered in the editor.
@@ -152,7 +159,7 @@ export type BlokkliDefinitionInputEditorBase<Options extends BlockDefinitionOpti
152
159
  */
153
160
  mapDiffProps?: (props?: PropsType) => Record<string, string>;
154
161
  };
155
- export type BlockDefinitionInputBase<Options extends BlockDefinitionOptionsInputBase = BlockDefinitionOptionsInputBase, GlobalOptions extends string[] | undefined = string[], Bundle extends string = string, ChunkNames extends string = string, BundleWithNested extends string = string, FieldListTypes extends string = string, Icon extends string = string, BundlePropsMap extends Record<string, Record<string, any>> = Record<string, Record<string, any>>> = {
162
+ export type BlockDefinitionInputBase<Options extends BlockDefinitionOptionsInputBase = BlockDefinitionOptionsInputBase, GlobalOptions extends string[] | undefined = string[], Bundle extends string = string, ChunkNames extends string = string, BundleWithNested extends string = string, FieldListTypes extends string = string, Icon extends string = string, BundlePropsMap extends Record<string, Record<string, any>> = Record<string, Record<string, any>>, ProviderTypes extends string = string> = {
156
163
  /**
157
164
  * The bundle ID of the block, e.g. "text" or "section_title".
158
165
  */
@@ -162,7 +169,7 @@ export type BlockDefinitionInputBase<Options extends BlockDefinitionOptionsInput
162
169
  * If a bundle is defined, then this component will be rendered if the
163
170
  * parent matches the given bundle.
164
171
  */
165
- renderFor?: BlockDefinitionRenderForBase<BundleWithNested, FieldListTypes> | BlockDefinitionRenderForBase<BundleWithNested, FieldListTypes>[];
172
+ renderFor?: BlockDefinitionRenderForBase<BundleWithNested, FieldListTypes, ProviderTypes> | BlockDefinitionRenderForBase<BundleWithNested, FieldListTypes, ProviderTypes>[];
166
173
  /**
167
174
  * The name of the chunk group.
168
175
  *
@@ -216,7 +223,7 @@ export type BlockDefinitionInputBase<Options extends BlockDefinitionOptionsInput
216
223
  * </script>
217
224
  * ```
218
225
  */
219
- propsFieldMapping?: Bundle extends keyof BundlePropsMap ? Partial<Record<keyof BundlePropsMap[Bundle], string>> : never;
226
+ propsFieldMapping?: Bundle extends keyof BundlePropsMap ? Record<keyof BundlePropsMap[Bundle], PropsFieldMapping | null> : Record<string, PropsFieldMapping | null>;
220
227
  };
221
228
  export type FragmentDefinitionInputBase<Options extends BlockDefinitionOptionsInputBase = BlockDefinitionOptionsInputBase, GlobalOptions extends string[] | undefined = string[], ChunkNames extends string = string, Icon extends string = string> = {
222
229
  /**
@@ -274,5 +281,5 @@ export type ProviderDefinitionInputBase<Options extends BlockDefinitionOptionsIn
274
281
  * These options will be merged with the component-specific options.
275
282
  */
276
283
  globalOptions?: GlobalOptions;
277
- propsFieldMapping?: Record<string, string>;
284
+ propsFieldMapping?: Record<string, PropsFieldMapping | null>;
278
285
  };
package/dist/module.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { NuxtModule } from 'nuxt/schema';
2
- import { M as ModuleOptions } from './shared/editor.Iax3GCvt.mjs';
3
- export { a as ModuleHooks } from './shared/editor.Iax3GCvt.mjs';
2
+ import { M as ModuleOptions } from './shared/editor.BdBm1Z7C.mjs';
3
+ export { a as ModuleHooks } from './shared/editor.BdBm1Z7C.mjs';
4
4
  import 'consola';
5
5
  import '../dist/global/types/definitions.js';
6
6
  import '../dist/global/types/theme.js';
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blokkli/editor",
3
3
  "configKey": "blokkli",
4
- "version": "2.0.0-alpha.35",
4
+ "version": "2.0.0-alpha.37",
5
5
  "compatibility": {
6
6
  "nuxt": ">=3.15.0"
7
7
  },
package/dist/module.mjs CHANGED
@@ -8,16 +8,17 @@ import * as ts from 'typescript';
8
8
  import { parseAndWalk } from 'oxc-walker';
9
9
  import path__default, { basename, dirname as dirname$1 } from 'node:path';
10
10
  import { dirname, resolve, relative } from 'pathe';
11
- import { C as Collector, a as CollectedFile, d as defineCodeTemplate, b as defineFileTemplate, w as withHelper } from './shared/editor.DMFfaLVE.mjs';
11
+ import { C as Collector, a as CollectedFile } from './shared/editor.BFIzNSQM.mjs';
12
12
  import micromatch from 'micromatch';
13
13
  import { hash } from 'ohash';
14
14
  import fs__default, { readFileSync, existsSync, readdirSync } from 'node:fs';
15
15
  import { LANGUAGES, BK_VISIBLE_LANGUAGES, BK_HIDDEN_GLOBALLY } from './global/constants';
16
16
  import { createRequire } from 'node:module';
17
+ import { d as defineCodeTemplate, a as defineFileTemplate, w as withHelper } from './shared/editor.6D5vApr0.mjs';
17
18
  import { defu, createDefu } from 'defu';
18
19
 
19
20
  const name = "@blokkli/editor";
20
- const version = "2.0.0-alpha.35";
21
+ const version = "2.0.0-alpha.37";
21
22
 
22
23
  function sortObjectKeys(obj) {
23
24
  if (Array.isArray(obj)) {
@@ -277,6 +278,8 @@ function getVariations(definition) {
277
278
  return `block:${bundle}__p:${v.parentBundle}`;
278
279
  } else if ("fieldList" in v) {
279
280
  return `block:${bundle}__f:${v.fieldList}`;
281
+ } else if ("providerType" in v) {
282
+ return `block:${bundle}__t:${v.providerType}`;
280
283
  } else {
281
284
  return `block:${bundle}__f:${v.fieldListType}`;
282
285
  }
@@ -1140,6 +1143,10 @@ class ModuleHelper {
1140
1143
  if (!fieldListTypes.includes("default")) {
1141
1144
  fieldListTypes.push("default");
1142
1145
  }
1146
+ const providerTypes = providedOptions.providerTypes || [];
1147
+ if (!providerTypes.includes("default")) {
1148
+ providerTypes.push("default");
1149
+ }
1143
1150
  const chunkNames = providedOptions.chunkNames || [];
1144
1151
  if (!chunkNames.includes("global")) {
1145
1152
  chunkNames.push("global");
@@ -1148,6 +1155,7 @@ class ModuleHelper {
1148
1155
  ...providedOptions,
1149
1156
  pattern,
1150
1157
  fieldListTypes: fieldListTypes.filter(onlyUnique),
1158
+ providerTypes: providerTypes.filter(onlyUnique),
1151
1159
  chunkNames: chunkNames.filter(onlyUnique)
1152
1160
  };
1153
1161
  this.paths.editAdapter = this.findEditAdapterPath();
@@ -1261,7 +1269,29 @@ class ModuleContext {
1261
1269
  templates = [];
1262
1270
  templateContents = /* @__PURE__ */ new Map();
1263
1271
  adapterExtensions = [];
1272
+ featureFragments = /* @__PURE__ */ new Set();
1273
+ complexOptionTypes = /* @__PURE__ */ new Map();
1264
1274
  collectors = [];
1275
+ addFeatureFragment(name) {
1276
+ if (this.featureFragments.has(name)) {
1277
+ throw new Error(`A feature fragment with name "${name}" already exists.`);
1278
+ }
1279
+ this.featureFragments.add(name);
1280
+ }
1281
+ getFeatureFragmentNames() {
1282
+ return [...this.featureFragments.values()];
1283
+ }
1284
+ registerComplexOptionType(def) {
1285
+ if (this.complexOptionTypes.has(def.id)) {
1286
+ throw new Error(
1287
+ `A complex option type with id "${def.id}" already exists.`
1288
+ );
1289
+ }
1290
+ this.complexOptionTypes.set(def.id, def);
1291
+ }
1292
+ getComplexOptionTypes() {
1293
+ return [...this.complexOptionTypes.values()];
1294
+ }
1265
1295
  registerAdapterExtension(namespace, path) {
1266
1296
  if (this.adapterExtensions.some((e) => e.namespace === namespace)) {
1267
1297
  throw new Error(`Duplicate adapter extension namespace: ${namespace}`);
@@ -1469,9 +1499,12 @@ function toTypeLiteral(value) {
1469
1499
  const USED_MATERIAL_ICONS = [
1470
1500
  "bk_mdi_account_tree",
1471
1501
  "bk_mdi_add",
1502
+ "bk_mdi_add_column_right",
1472
1503
  "bk_mdi_add_comment",
1504
+ "bk_mdi_add_row_below",
1473
1505
  "bk_mdi_anchor",
1474
1506
  "bk_mdi_architecture",
1507
+ "bk_mdi_area_chart",
1475
1508
  "bk_mdi_arrow_downward",
1476
1509
  "bk_mdi_arrow_drop_down",
1477
1510
  "bk_mdi_arrow_left",
@@ -1495,6 +1528,7 @@ const USED_MATERIAL_ICONS = [
1495
1528
  "bk_mdi_chevron_backward",
1496
1529
  "bk_mdi_chevron_forward",
1497
1530
  "bk_mdi_close",
1531
+ "bk_mdi_collapse_all",
1498
1532
  "bk_mdi_comment",
1499
1533
  "bk_mdi_construction",
1500
1534
  "bk_mdi_content_copy",
@@ -1504,10 +1538,13 @@ const USED_MATERIAL_ICONS = [
1504
1538
  "bk_mdi_dock_to_left",
1505
1539
  "bk_mdi_dock_to_right",
1506
1540
  "bk_mdi_done_all",
1541
+ "bk_mdi_donut_large",
1507
1542
  "bk_mdi_drag_pan",
1508
1543
  "bk_mdi_edit",
1509
1544
  "bk_mdi_exit_to_app",
1545
+ "bk_mdi_expand_all",
1510
1546
  "bk_mdi_extension",
1547
+ "bk_mdi_forum",
1511
1548
  "bk_mdi_function",
1512
1549
  "bk_mdi_grid_view",
1513
1550
  "bk_mdi_grid_view-fill",
@@ -1524,16 +1561,17 @@ const USED_MATERIAL_ICONS = [
1524
1561
  "bk_mdi_menu",
1525
1562
  "bk_mdi_mobile",
1526
1563
  "bk_mdi_mobile_rotate",
1527
- "bk_mdi_more_horiz",
1528
1564
  "bk_mdi_newspaper",
1529
1565
  "bk_mdi_open_in_new",
1530
1566
  "bk_mdi_palette",
1531
1567
  "bk_mdi_person",
1532
1568
  "bk_mdi_person-fill",
1569
+ "bk_mdi_pie_chart",
1533
1570
  "bk_mdi_priority_high",
1534
1571
  "bk_mdi_publish",
1535
1572
  "bk_mdi_qr_code",
1536
1573
  "bk_mdi_question_mark",
1574
+ "bk_mdi_radar",
1537
1575
  "bk_mdi_radio_button_checked",
1538
1576
  "bk_mdi_redo",
1539
1577
  "bk_mdi_remove",
@@ -1548,6 +1586,7 @@ const USED_MATERIAL_ICONS = [
1548
1586
  "bk_mdi_sentiment_dissatisfied",
1549
1587
  "bk_mdi_sentiment_worried",
1550
1588
  "bk_mdi_settings",
1589
+ "bk_mdi_show_chart",
1551
1590
  "bk_mdi_speed",
1552
1591
  "bk_mdi_stack_group",
1553
1592
  "bk_mdi_stop",
@@ -1557,6 +1596,7 @@ const USED_MATERIAL_ICONS = [
1557
1596
  "bk_mdi_text_select_end",
1558
1597
  "bk_mdi_texture",
1559
1598
  "bk_mdi_title",
1599
+ "bk_mdi_track_changes",
1560
1600
  "bk_mdi_trackpad_input",
1561
1601
  "bk_mdi_translate",
1562
1602
  "bk_mdi_tune",
@@ -2686,6 +2726,7 @@ const editorConfig = defineCodeTemplate(
2686
2726
  "editor-config",
2687
2727
  (ctx) => {
2688
2728
  const settingsOverride = ctx.helper.options.settingsOverride || {};
2729
+ const featureFragmentNames = ctx.getFeatureFragmentNames();
2689
2730
  return `
2690
2731
  export const hasCustomTheme = ${JSON.stringify(ctx.theme.hasCustomTheme)}
2691
2732
 
@@ -2708,6 +2749,8 @@ export const defaultLanguage = ${JSON.stringify(
2708
2749
  export const forceDefaultLanguage = ${JSON.stringify(
2709
2750
  !!ctx.helper.options.forceDefaultLanguage
2710
2751
  )}
2752
+
2753
+ export const featureFragmentNames = ${JSON.stringify(featureFragmentNames)}
2711
2754
  `;
2712
2755
  },
2713
2756
  (ctx) => {
@@ -2760,6 +2803,11 @@ export declare const templateEntityType: string | null
2760
2803
  * Whether to always force the default language, even on translation pages.
2761
2804
  */
2762
2805
  export declare const forceDefaultLanguage: boolean
2806
+
2807
+ /**
2808
+ * The fragment names provided by features.
2809
+ */
2810
+ export declare const featureFragmentNames: string[]
2763
2811
  `;
2764
2812
  }
2765
2813
  );
@@ -2978,6 +3026,11 @@ function toRuntimeOptionArray(option) {
2978
3026
  return [option.type, option.default];
2979
3027
  } else if (option.type === "color") {
2980
3028
  return [option.type, option.default];
3029
+ } else if (option.type === "json") {
3030
+ if (option.dataType) {
3031
+ return [option.type, option.default, option.dataType];
3032
+ }
3033
+ return [option.type, option.default];
2981
3034
  }
2982
3035
  return [option.type, option.default];
2983
3036
  }
@@ -3026,9 +3079,20 @@ const runtimeOptions = defineCodeTemplate(
3026
3079
  });
3027
3080
  if (isBlock(item.definition)) {
3028
3081
  if (item.definition.propsFieldMapping) {
3082
+ const mapping = Object.entries(
3083
+ item.definition.propsFieldMapping
3084
+ ).reduce(
3085
+ (acc, [propName, mapping2]) => {
3086
+ if (mapping2) {
3087
+ acc[propName] = [mapping2.type, mapping2.name];
3088
+ }
3089
+ return acc;
3090
+ },
3091
+ {}
3092
+ );
3029
3093
  FIELD_MAPPING.set(
3030
3094
  item.definition.bundle,
3031
- JSON.stringify(item.definition.propsFieldMapping, null, 2)
3095
+ JSON.stringify(mapping, null, 2)
3032
3096
  );
3033
3097
  }
3034
3098
  }
@@ -3094,8 +3158,10 @@ export type RuntimeBlockOptions = {
3094
3158
  ${runtimeMappedOptionTypes}
3095
3159
  }
3096
3160
 
3161
+ export type PropsFieldMappingType = 'editable' | 'droppable' | 'field'
3162
+
3097
3163
  export declare const OPTIONS: Record<string, Record<string, RuntimeBlockOptionArray>>
3098
- export declare const FIELD_MAPPING: Record<string, Record<string, string>>
3164
+ export declare const FIELD_MAPPING: Record<string, Record<string, [PropsFieldMappingType, string]>>
3099
3165
  `;
3100
3166
  },
3101
3167
  {
@@ -3191,6 +3257,7 @@ const generatedTypes = defineCodeTemplate(
3191
3257
  };
3192
3258
  const chunkNames = ctx.helper.options.chunkNames || ["global"];
3193
3259
  const fieldListTypes = ctx.helper.options.fieldListTypes || ["default"];
3260
+ const providerTypes = ctx.helper.options.providerTypes || ["default"];
3194
3261
  const globalOptions = ctx.helper.options.globalOptions || {};
3195
3262
  const validGlobalOptions = Object.keys(globalOptions);
3196
3263
  const blockBundlesWithNested = [];
@@ -3250,6 +3317,8 @@ import type { FieldListItem } from "${ctx.helper.relativePaths.TYPES}"
3250
3317
 
3251
3318
  export type ValidFieldListTypes = ${toStringUnion(fieldListTypes)}
3252
3319
 
3320
+ export type ValidProviderTypes = ${toStringUnion(providerTypes)}
3321
+
3253
3322
  export type BlockBundle = ${toStringUnion(validBlockBundles)}
3254
3323
 
3255
3324
  export type BlockBundleWithNested = ${toStringUnion(blockBundlesWithNested)}
@@ -3556,6 +3625,54 @@ ${iconNames.map((name) => ` | '${name}'`).join("\n")}
3556
3625
  `;
3557
3626
  });
3558
3627
 
3628
+ const complexOptionTypes = defineCodeTemplate(
3629
+ "complex-option-types",
3630
+ (ctx) => {
3631
+ const types = ctx.getComplexOptionTypes();
3632
+ if (types.length === 0) {
3633
+ return `export const COMPLEX_OPTION_TYPES = {}`;
3634
+ }
3635
+ const entries = types.map(
3636
+ (t) => ` '${t.id}': {
3637
+ editorComponent: defineAsyncComponent(() => import('${ctx.helper.toModuleBuildRelative(t.editorComponentPath)}')),
3638
+ editorButtonLabel: '${t.editorButtonLabel}',
3639
+ editorIcon: '${t.editorIcon}',
3640
+ }`
3641
+ ).join(",\n");
3642
+ return `import { defineAsyncComponent } from 'vue'
3643
+
3644
+ export const COMPLEX_OPTION_TYPES = {
3645
+ ${entries}
3646
+ }`;
3647
+ },
3648
+ (ctx) => {
3649
+ const types = ctx.getComplexOptionTypes();
3650
+ if (types.length === 0) {
3651
+ return `export interface ComplexOptionTypeMap {}
3652
+ export const COMPLEX_OPTION_TYPES: Record<string, never>`;
3653
+ }
3654
+ const imports = types.map(
3655
+ (t) => `import type { ${t.typeName} } from '${ctx.helper.toModuleBuildRelative(t.typePath)}'`
3656
+ ).join("\n");
3657
+ const entries = types.map((t) => ` '${t.id}': ${t.typeName}`).join("\n");
3658
+ return `${imports}
3659
+ import type { BlokkliIcon } from './icons'
3660
+
3661
+ export interface ComplexOptionTypeMap {
3662
+ ${entries}
3663
+ }
3664
+
3665
+ export const COMPLEX_OPTION_TYPES: Record<string, {
3666
+ editorComponent: import('vue').Component
3667
+ editorButtonLabel: string
3668
+ editorIcon: BlokkliIcon
3669
+ }>`;
3670
+ },
3671
+ {
3672
+ write: true
3673
+ }
3674
+ );
3675
+
3559
3676
  const TEMPLATES = [
3560
3677
  icons,
3561
3678
  features,
@@ -3577,7 +3694,8 @@ const TEMPLATES = [
3577
3694
  chunkGroup,
3578
3695
  chunkEditing,
3579
3696
  importMeta,
3580
- materialIcons
3697
+ materialIcons,
3698
+ complexOptionTypes
3581
3699
  ];
3582
3700
 
3583
3701
  class CollectedFeatureFile extends CollectedFile {
@@ -3820,7 +3938,8 @@ const module$1 = defineNuxtModule({
3820
3938
  );
3821
3939
  const app = {
3822
3940
  helper,
3823
- context
3941
+ context,
3942
+ $t: (key, _defaultText) => key
3824
3943
  };
3825
3944
  for (const module of blokkliModules) {
3826
3945
  await module.init.setup(app, module.options);
@@ -1,4 +1,4 @@
1
- import { B as BlokkliModule } from '../../shared/editor.Iax3GCvt.mjs';
1
+ import { B as BlokkliModule } from '../../shared/editor.BdBm1Z7C.mjs';
2
2
  import 'nuxt/schema';
3
3
  import 'consola';
4
4
  import '../../../dist/global/types/definitions.js';