@blokkli/editor 2.0.0-alpha.23 → 2.0.0-alpha.25

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 (259) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/module.mjs +252 -92
  3. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +38 -0
  4. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +1 -1
  5. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue.d.ts +15 -0
  6. package/dist/runtime/blokkliPlugins/DebugOverlay/index.vue.d.ts +6 -0
  7. package/dist/runtime/blokkliPlugins/ItemAction/index.vue.d.ts +28 -3
  8. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -4
  9. package/dist/runtime/blokkliPlugins/Sidebar/index.vue +11 -3
  10. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +138 -3
  11. package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue +5 -1
  12. package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue.d.ts +116 -0
  13. package/dist/runtime/blokkliPlugins/TourItem/index.vue +22 -13
  14. package/dist/runtime/blokkliPlugins/TourItem/index.vue.d.ts +22 -0
  15. package/dist/runtime/blokkliPlugins/ViewOption/index.vue.d.ts +98 -0
  16. package/dist/runtime/blokkliPlugins/index.d.ts +1 -3
  17. package/dist/runtime/blokkliPlugins/index.js +0 -4
  18. package/dist/runtime/components/Blocks/NotImplemented/index.vue +24 -0
  19. package/dist/runtime/components/Blocks/NotImplemented/index.vue.d.ts +6 -0
  20. package/dist/runtime/components/BlokkliEditable.vue.d.ts +11 -0
  21. package/dist/runtime/components/BlokkliItem.vue +16 -3
  22. package/dist/runtime/components/BlokkliItem.vue.d.ts +2 -0
  23. package/dist/runtime/components/BlokkliProvider.vue.d.ts +1 -1
  24. package/dist/runtime/components/Edit/Actions/ItemDropdown.vue +1 -1
  25. package/dist/runtime/components/Edit/Actions/index.vue +78 -73
  26. package/dist/runtime/components/Edit/AddListItem/index.vue +9 -35
  27. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +6 -15
  28. package/dist/runtime/components/Edit/AppMenu/MenuButton.vue +39 -0
  29. package/dist/runtime/{blokkliPlugins/MenuButton/index.vue.d.ts → components/Edit/AppMenu/MenuButton.vue.d.ts} +0 -4
  30. package/dist/runtime/components/Edit/AppMenu/index.vue +62 -40
  31. package/dist/runtime/components/Edit/ArtboardTooltip/index.vue +6 -0
  32. package/dist/runtime/components/Edit/BlockProxy/index.vue +2 -2
  33. package/dist/runtime/components/Edit/BlokkliErrorBoundary.vue +3 -0
  34. package/dist/runtime/components/Edit/BlokkliRootErrorBoundary.vue +4 -1
  35. package/dist/runtime/components/Edit/Dialog/index.vue +33 -47
  36. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +2 -0
  37. package/dist/runtime/components/Edit/DraggableList.vue +12 -9
  38. package/dist/runtime/components/Edit/EditIndicator.vue +11 -4
  39. package/dist/runtime/components/Edit/EditProvider.vue +75 -55
  40. package/dist/runtime/components/Edit/EditProvider.vue.d.ts +1 -1
  41. package/dist/runtime/components/Edit/Features/AddList/Actions/Action.vue +53 -0
  42. package/dist/runtime/components/Edit/Features/AddList/Actions/Action.vue.d.ts +7 -0
  43. package/dist/runtime/components/Edit/Features/AddList/Actions/index.vue +41 -0
  44. package/dist/runtime/components/Edit/Features/AddList/Actions/index.vue.d.ts +5 -0
  45. package/dist/runtime/components/Edit/Features/AddList/Blocks/index.vue +13 -50
  46. package/dist/runtime/components/Edit/Features/AddList/Blocks/index.vue.d.ts +5 -0
  47. package/dist/runtime/components/Edit/Features/AddList/index.vue +76 -119
  48. package/dist/runtime/components/Edit/Features/Analyze/Icon.vue +85 -0
  49. package/dist/runtime/components/Edit/Features/Analyze/Icon.vue.d.ts +5 -0
  50. package/dist/runtime/components/Edit/Features/Analyze/Main.vue +288 -59
  51. package/dist/runtime/components/Edit/Features/Analyze/Main.vue.d.ts +8 -1
  52. package/dist/runtime/components/Edit/Features/Analyze/Renderer/fragment.glsl +25 -13
  53. package/dist/runtime/components/Edit/Features/Analyze/Renderer/index.vue +114 -52
  54. package/dist/runtime/components/Edit/Features/Analyze/Renderer/index.vue.d.ts +16 -2
  55. package/dist/runtime/components/Edit/Features/Analyze/Renderer/vertex.glsl +31 -11
  56. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +2 -0
  57. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +8 -1
  58. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +4 -4
  59. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +20 -2
  60. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +11 -18
  61. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +10 -3
  62. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +46 -40
  63. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +10 -4
  64. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +8 -4
  65. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +1 -0
  66. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +4 -3
  67. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +2 -1
  68. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +61 -20
  69. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +15 -1
  70. package/dist/runtime/components/Edit/Features/Analyze/index.vue +23 -2
  71. package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +22 -8
  72. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +42 -21
  73. package/dist/runtime/components/Edit/Features/Artboard/Scrollbar/index.vue +10 -4
  74. package/dist/runtime/components/Edit/Features/Assistant/Overlay/index.vue +2 -28
  75. package/dist/runtime/components/Edit/Features/Assistant/index.vue +18 -14
  76. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue +11 -1
  77. package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue +2 -2
  78. package/dist/runtime/components/Edit/Features/Clipboard/List/index.vue +1 -1
  79. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +52 -18
  80. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue +0 -2
  81. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue.d.ts +6 -4
  82. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +77 -27
  83. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +7 -4
  84. package/dist/runtime/components/Edit/Features/Comments/index.vue +2 -2
  85. package/dist/runtime/components/Edit/Features/Debug/Main.vue.d.ts +1 -1
  86. package/dist/runtime/components/Edit/Features/Debug/Rects/index.vue +2 -2
  87. package/dist/runtime/components/Edit/Features/Debug/Section/Logging.vue.d.ts +1 -1
  88. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/DragItem.vue +113 -0
  89. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/DragItem.vue.d.ts +25 -0
  90. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +8 -97
  91. package/dist/runtime/components/Edit/Features/DraggingOverlay/Renderer/fragment.glsl +2 -5
  92. package/dist/runtime/components/Edit/Features/DraggingOverlay/Renderer/index.vue +38 -5
  93. package/dist/runtime/components/Edit/Features/DraggingOverlay/Renderer/vertex.glsl +10 -1
  94. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +1 -2
  95. package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +8 -2
  96. package/dist/runtime/components/Edit/Features/EditForm/index.vue +3 -9
  97. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Plaintext/index.vue +1 -1
  98. package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue +4 -3
  99. package/dist/runtime/components/Edit/Features/EditableField/index.vue +2 -2
  100. package/dist/runtime/components/Edit/Features/EditableMask/index.vue +1 -1
  101. package/dist/runtime/components/Edit/Features/EntityTitle/index.vue +7 -2
  102. package/dist/runtime/components/Edit/Features/Exit/index.vue +12 -9
  103. package/dist/runtime/components/Edit/Features/Fragments/index.vue +27 -31
  104. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +1 -0
  105. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +25 -24
  106. package/dist/runtime/components/Edit/Features/Library/EditReusable/index.vue +4 -4
  107. package/dist/runtime/components/Edit/Features/Library/LibraryDialog/index.vue +9 -2
  108. package/dist/runtime/components/Edit/Features/Library/ReusableDialog/index.vue +13 -3
  109. package/dist/runtime/components/Edit/Features/Library/index.vue +26 -24
  110. package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +3 -2
  111. package/dist/runtime/components/Edit/Features/MultiSelect/Renderer/index.vue +1 -3
  112. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +1 -1
  113. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -1
  114. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +10 -0
  115. package/dist/runtime/components/Edit/Features/Publish/index.vue +17 -15
  116. package/dist/runtime/components/Edit/Features/ResponsivePreview/Frame/index.vue +3 -2
  117. package/dist/runtime/components/Edit/Features/ResponsivePreview/index.vue +3 -2
  118. package/dist/runtime/components/Edit/Features/Revert/index.vue +24 -18
  119. package/dist/runtime/components/Edit/Features/Search/Overlay/Results/Content/index.vue +8 -2
  120. package/dist/runtime/components/Edit/Features/Search/Overlay/Results/Page/index.vue +12 -2
  121. package/dist/runtime/components/Edit/Features/Search/Overlay/index.vue +11 -3
  122. package/dist/runtime/components/Edit/Features/Search/index.vue +1 -1
  123. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +128 -31
  124. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue.d.ts +6 -6
  125. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +3 -6
  126. package/dist/runtime/components/Edit/Features/Selection/Renderer/index.vue +1 -1
  127. package/dist/runtime/components/Edit/Features/Settings/Dialog/index.vue +1 -0
  128. package/dist/runtime/components/Edit/Features/Settings/index.vue +26 -18
  129. package/dist/runtime/components/Edit/Features/Structure/List/Field/index.vue +3 -3
  130. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +2 -2
  131. package/dist/runtime/components/Edit/Features/Tour/Overlay/index.vue +3 -3
  132. package/dist/runtime/components/Edit/Features/Tour/Popup/index.vue +2 -2
  133. package/dist/runtime/components/Edit/Features/Tour/index.vue +12 -10
  134. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +7 -1
  135. package/dist/runtime/components/Edit/Features/Transform/index.vue +1 -1
  136. package/dist/runtime/components/Edit/Features/Translations/index.vue +18 -17
  137. package/dist/runtime/components/Edit/Form/Textarea/index.vue +1 -1
  138. package/dist/runtime/components/Edit/FormOverlay/index.vue +13 -4
  139. package/dist/runtime/components/Edit/Indicators/index.vue +1 -1
  140. package/dist/runtime/components/Edit/InfoBox/index.vue +3 -2
  141. package/dist/runtime/components/Edit/InfoBox/index.vue.d.ts +6 -1
  142. package/dist/runtime/components/Edit/ItemIconBox/index.vue +41 -0
  143. package/dist/runtime/components/Edit/{AddListItemIcon → ItemIconBox}/index.vue.d.ts +5 -5
  144. package/dist/runtime/components/Edit/Konami/Game/index.vue +0 -1
  145. package/dist/runtime/components/Edit/Konami/index.vue +3 -5
  146. package/dist/runtime/components/Edit/Messages/Item/index.vue +11 -2
  147. package/dist/runtime/components/Edit/Messages/index.vue +6 -1
  148. package/dist/runtime/components/Edit/Overlay/index.vue +70 -0
  149. package/dist/runtime/components/Edit/Overlay/index.vue.d.ts +2 -0
  150. package/dist/runtime/components/Edit/PreviewProvider.vue +3 -3
  151. package/dist/runtime/components/Edit/ScaleToFit/index.vue +4 -4
  152. package/dist/runtime/components/Edit/SystemRequirements/index.vue +36 -36
  153. package/dist/runtime/components/Edit/Toolbar/index.vue +47 -48
  154. package/dist/runtime/components/Edit/index.d.ts +2 -2
  155. package/dist/runtime/components/Edit/index.js +2 -2
  156. package/dist/runtime/composables/defineBlokkliFeature.d.ts +1 -1
  157. package/dist/runtime/composables/useBlokkli.d.ts +6 -1
  158. package/dist/runtime/composables/useBlokkli.js +4 -1
  159. package/dist/runtime/css/output.css +1 -1
  160. package/dist/runtime/helpers/composables/defineAddAction.d.ts +2 -0
  161. package/dist/runtime/helpers/composables/defineAddAction.js +10 -0
  162. package/dist/runtime/helpers/composables/defineElementStyle.d.ts +2 -0
  163. package/dist/runtime/helpers/composables/defineElementStyle.js +33 -0
  164. package/dist/runtime/helpers/composables/defineItemDropdownAction.d.ts +1 -1
  165. package/dist/runtime/helpers/composables/defineItemDropdownAction.js +2 -2
  166. package/dist/runtime/helpers/composables/defineMenuButton.d.ts +2 -0
  167. package/dist/runtime/helpers/composables/defineMenuButton.js +10 -0
  168. package/dist/runtime/helpers/composables/defineRenderer.d.ts +1 -1
  169. package/dist/runtime/helpers/composables/onBroadcastEvent.d.ts +1 -1
  170. package/dist/runtime/helpers/composables/useBlockRegistration.d.ts +1 -1
  171. package/dist/runtime/helpers/composables/useBlockRegistration.js +12 -1
  172. package/dist/runtime/helpers/composables/useDebugLogger.d.ts +1 -1
  173. package/dist/runtime/helpers/composables/useDialog.d.ts +3 -0
  174. package/dist/runtime/helpers/composables/useDialog.js +16 -0
  175. package/dist/runtime/helpers/composables/useFocusTrap.d.ts +52 -0
  176. package/dist/runtime/helpers/composables/useFocusTrap.js +59 -0
  177. package/dist/runtime/helpers/composables/useGlobalBlokkliObject.d.ts +1 -1
  178. package/dist/runtime/helpers/{useTransitionedValue.js → composables/useTransitionedValue.js} +1 -1
  179. package/dist/runtime/helpers/dropTargets/index.d.ts +1 -1
  180. package/dist/runtime/helpers/dropTargets/index.js +17 -3
  181. package/dist/runtime/helpers/imports/index.d.ts +2 -1
  182. package/dist/runtime/helpers/imports/index.js +10 -1
  183. package/dist/runtime/helpers/{animationProvider.d.ts → providers/animation.d.ts} +100 -7
  184. package/dist/runtime/helpers/{animationProvider.js → providers/animation.js} +21 -11
  185. package/dist/runtime/helpers/providers/blocks.d.ts +25 -3
  186. package/dist/runtime/helpers/providers/blocks.js +19 -0
  187. package/dist/runtime/helpers/providers/commands.d.ts +41 -0
  188. package/dist/runtime/helpers/{commandsProvider.js → providers/commands.js} +1 -1
  189. package/dist/runtime/helpers/providers/debug.d.ts +125 -0
  190. package/dist/runtime/helpers/{debugProvider.js → providers/debug.js} +2 -2
  191. package/dist/runtime/helpers/providers/definition.d.ts +87 -0
  192. package/dist/runtime/helpers/providers/directive.d.ts +88 -2
  193. package/dist/runtime/helpers/providers/directive.js +18 -2
  194. package/dist/runtime/helpers/providers/dom.d.ts +225 -0
  195. package/dist/runtime/helpers/{domProvider.js → providers/dom.js} +34 -76
  196. package/dist/runtime/helpers/providers/dropArea.d.ts +47 -0
  197. package/dist/runtime/helpers/{dropAreaProvider.js → providers/dropArea.js} +1 -1
  198. package/dist/runtime/helpers/providers/element.d.ts +58 -1
  199. package/dist/runtime/helpers/providers/features.d.ts +56 -0
  200. package/dist/runtime/helpers/{featuresProvider.js → providers/features.js} +1 -1
  201. package/dist/runtime/helpers/providers/fields.d.ts +19 -4
  202. package/dist/runtime/helpers/providers/fields.js +1 -1
  203. package/dist/runtime/helpers/providers/indicators.d.ts +44 -0
  204. package/dist/runtime/helpers/providers/keyboard.d.ts +76 -0
  205. package/dist/runtime/helpers/{keyboardProvider.js → providers/keyboard.js} +1 -8
  206. package/dist/runtime/helpers/providers/plugin.d.ts +81 -0
  207. package/dist/runtime/helpers/providers/plugin.js +64 -0
  208. package/dist/runtime/helpers/{selectionProvider.d.ts → providers/selection.d.ts} +4 -1
  209. package/dist/runtime/helpers/{selectionProvider.js → providers/selection.js} +1 -1
  210. package/dist/runtime/helpers/providers/state.d.ts +227 -0
  211. package/dist/runtime/helpers/{stateProvider.js → providers/state.js} +3 -3
  212. package/dist/runtime/helpers/providers/storage.d.ts +64 -0
  213. package/dist/runtime/helpers/{textProvider.d.ts → providers/texts.d.ts} +1 -1
  214. package/dist/runtime/helpers/providers/theme.d.ts +119 -0
  215. package/dist/runtime/helpers/{themeProvider.js → providers/theme.js} +3 -3
  216. package/dist/runtime/helpers/providers/tour.d.ts +49 -0
  217. package/dist/runtime/helpers/{tourProvider.js → providers/tour.js} +1 -1
  218. package/dist/runtime/helpers/providers/types.d.ts +170 -0
  219. package/dist/runtime/helpers/{typesProvider.js → providers/types.js} +45 -1
  220. package/dist/runtime/helpers/providers/ui.d.ts +339 -0
  221. package/dist/runtime/helpers/{uiProvider.js → providers/ui.js} +94 -86
  222. package/dist/runtime/helpers/runtimeHelpers/index.d.ts +1 -1
  223. package/dist/runtime/helpers/symbols.d.ts +1 -0
  224. package/dist/runtime/helpers/symbols.js +3 -0
  225. package/dist/runtime/icons/click.svg +1 -0
  226. package/dist/runtime/types/blockOptions.d.ts +349 -0
  227. package/dist/runtime/types/index.d.ts +34 -31
  228. package/package.json +2 -2
  229. package/dist/runtime/blokkliPlugins/AddAction/index.vue +0 -96
  230. package/dist/runtime/blokkliPlugins/AddAction/index.vue.d.ts +0 -26
  231. package/dist/runtime/blokkliPlugins/MenuButton/index.vue +0 -68
  232. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +0 -19
  233. package/dist/runtime/helpers/commandsProvider.d.ts +0 -9
  234. package/dist/runtime/helpers/debugProvider.d.ts +0 -33
  235. package/dist/runtime/helpers/definitionProvider.d.ts +0 -19
  236. package/dist/runtime/helpers/domProvider.d.ts +0 -90
  237. package/dist/runtime/helpers/dropAreaProvider.d.ts +0 -9
  238. package/dist/runtime/helpers/featuresProvider.d.ts +0 -17
  239. package/dist/runtime/helpers/indicatorsProvider.d.ts +0 -10
  240. package/dist/runtime/helpers/keyboardProvider.d.ts +0 -20
  241. package/dist/runtime/helpers/pluginProvider.d.ts +0 -26
  242. package/dist/runtime/helpers/pluginProvider.js +0 -62
  243. package/dist/runtime/helpers/stateProvider.d.ts +0 -47
  244. package/dist/runtime/helpers/storageProvider.d.ts +0 -17
  245. package/dist/runtime/helpers/themeProvider.d.ts +0 -30
  246. package/dist/runtime/helpers/tourProvider.d.ts +0 -11
  247. package/dist/runtime/helpers/typesProvider.d.ts +0 -36
  248. package/dist/runtime/helpers/uiProvider.d.ts +0 -60
  249. package/dist/runtime/types/blokkOptions.d.ts +0 -100
  250. /package/dist/runtime/helpers/{addElementClasses.d.ts → composables/addElementClasses.d.ts} +0 -0
  251. /package/dist/runtime/helpers/{addElementClasses.js → composables/addElementClasses.js} +0 -0
  252. /package/dist/runtime/helpers/{useTransitionedValue.d.ts → composables/useTransitionedValue.d.ts} +0 -0
  253. /package/dist/runtime/helpers/{broadcastProvider.d.ts → providers/broadcast.d.ts} +0 -0
  254. /package/dist/runtime/helpers/{broadcastProvider.js → providers/broadcast.js} +0 -0
  255. /package/dist/runtime/helpers/{definitionProvider.js → providers/definition.js} +0 -0
  256. /package/dist/runtime/helpers/{indicatorsProvider.js → providers/indicators.js} +0 -0
  257. /package/dist/runtime/helpers/{storageProvider.js → providers/storage.js} +0 -0
  258. /package/dist/runtime/helpers/{textProvider.js → providers/texts.js} +0 -0
  259. /package/dist/runtime/types/{blokkOptions.js → blockOptions.js} +0 -0
@@ -1,35 +1,43 @@
1
1
  <template>
2
+ <Teleport to="#nuxt-root">
3
+ <div id="bk-canvas-overlay" class="bk bk-canvas-overlay" />
4
+ </Teleport>
5
+
2
6
  <Teleport to="body">
3
7
  <Transition :name="ui.useAnimations.value ? 'bk-loading' : void 0">
4
8
  <Loading v-if="showLoading" screen />
5
9
  </Transition>
6
10
 
7
- <div id="bk-banner-container">
8
- <div id="bk-banner-list" class="bk">
9
- <Banner
10
- v-if="!state.stateAvailable.value"
11
- id="state-unavailable"
12
- icon="sad"
13
- scheme="red"
14
- :text="stateNotAvailableText"
15
- />
16
- <Banner
17
- v-if="viewOnlyBanner"
18
- id="view-only"
19
- :icon="viewOnlyBanner.icon"
20
- scheme="yellow"
21
- :text="viewOnlyBanner.text"
22
- />
11
+ <div ref="mainLayoutElement" class="bk-main-layout">
12
+ <Toolbar @loaded="toolbarLoaded = true" />
13
+ <div ref="viewportElement" class="bk bk-viewport">
14
+ <Messages />
23
15
  </div>
24
- <Messages />
16
+ <Actions v-if="!isInitializing" />
17
+ <div id="bk-banner-container" class="bk">
18
+ <div id="bk-banner-list">
19
+ <Banner
20
+ v-if="!state.stateAvailable.value"
21
+ id="state-unavailable"
22
+ icon="sad"
23
+ scheme="red"
24
+ :text="stateNotAvailableText"
25
+ />
26
+ <Banner
27
+ v-if="viewOnlyBanner"
28
+ id="view-only"
29
+ :icon="viewOnlyBanner.icon"
30
+ scheme="yellow"
31
+ :text="viewOnlyBanner.text"
32
+ />
33
+ </div>
34
+ </div>
35
+ <Konami />
36
+ <SystemRequirements />
37
+ <Overlay />
25
38
  </div>
26
39
  </Teleport>
27
- <Teleport to="#nuxt-root">
28
- <div id="bk-canvas-overlay" class="bk bk-canvas-overlay" />
29
- </Teleport>
30
- <Actions v-if="!isInitializing" />
31
- <Toolbar @loaded="toolbarLoaded = true" />
32
- <AppMenu v-if="toolbarLoaded" />
40
+
33
41
  <Indicators />
34
42
  <Features
35
43
  v-if="isReady"
@@ -37,12 +45,10 @@
37
45
  @loaded="featuresLoaded = true"
38
46
  />
39
47
  <AnimationCanvas v-if="!isInitializing" />
40
- <Konami />
41
- <SystemRequirements />
42
48
  <slot
43
49
  v-if="!isInitializing"
44
50
  :key="definitions.renderKey.value"
45
- :mutated-entity="mutatedEntity"
51
+ :mutated-entity
46
52
  />
47
53
  </template>
48
54
 
@@ -58,7 +64,8 @@ import {
58
64
  nextTick,
59
65
  inject,
60
66
  onUnmounted,
61
- watch
67
+ watch,
68
+ useTemplateRef
62
69
  } from "#imports";
63
70
  import Toolbar from "./Toolbar/index.vue";
64
71
  import Actions from "./Actions/index.vue";
@@ -66,39 +73,40 @@ import Loading from "./Loading/index.vue";
66
73
  import Messages from "./Messages/index.vue";
67
74
  import Features from "./Features/index.vue";
68
75
  import Indicators from "./Indicators/index.vue";
69
- import AppMenu from "./AppMenu/index.vue";
70
76
  import DraggableList from "./DraggableList.vue";
71
77
  import AnimationCanvas from "./AnimationCanvas/index.vue";
72
78
  import SystemRequirements from "./SystemRequirements/index.vue";
79
+ import Overlay from "./Overlay/index.vue";
73
80
  import Konami from "./Konami/index.vue";
74
81
  import Banner from "./Banner/index.vue";
75
- import animationProvider from "./../../helpers/animationProvider";
76
- import keyboardProvider from "./../../helpers/keyboardProvider";
77
- import selectionProvider from "./../../helpers/selectionProvider";
78
- import editStateProvider from "./../../helpers/stateProvider";
79
- import typesProvider from "./../../helpers/typesProvider";
82
+ import animationProvider from "../../helpers/providers/animation";
83
+ import keyboardProvider from "../../helpers/providers/keyboard";
84
+ import selectionProvider from "../../helpers/providers/selection";
85
+ import editStateProvider from "../../helpers/providers/state";
86
+ import typesProvider from "../../helpers/providers/types";
80
87
  import elementProvider from "./../../helpers/providers/element";
81
- import domProvider from "./../../helpers/domProvider";
82
- import textProvider from "./../../helpers/textProvider";
83
- import storageProvider from "./../../helpers/storageProvider";
84
- import uiProvider from "./../../helpers/uiProvider";
85
- import broadcastProvider from "./../../helpers/broadcastProvider";
86
- import featuresProvider from "./../../helpers/featuresProvider";
87
- import themeProvider from "./../../helpers/themeProvider";
88
- import commandsProvider from "./../../helpers/commandsProvider";
89
- import tourProvider from "./../../helpers/tourProvider";
90
- import debugProvider from "./../../helpers/debugProvider";
91
- import definitionProvider from "./../../helpers/definitionProvider";
92
- import dropAreasProvider from "./../../helpers/dropAreaProvider";
88
+ import domProvider from "../../helpers/providers/dom";
89
+ import textProvider from "../../helpers/providers/texts";
90
+ import storageProvider from "../../helpers/providers/storage";
91
+ import uiProvider from "../../helpers/providers/ui";
92
+ import broadcastProvider from "../../helpers/providers/broadcast";
93
+ import featuresProvider from "../../helpers/providers/features";
94
+ import themeProvider from "../../helpers/providers/theme";
95
+ import commandsProvider from "../../helpers/providers/commands";
96
+ import tourProvider from "../../helpers/providers/tour";
97
+ import debugProvider from "./../../helpers/providers/debug";
98
+ import definitionProvider from "../../helpers/providers/definition";
99
+ import dropAreasProvider from "../../helpers/providers/dropArea";
93
100
  import blocksProvider from "./../../helpers/providers/blocks";
94
- import indicatorsProvider from "./../../helpers/indicatorsProvider";
95
- import pluginProvider from "./../../helpers/pluginProvider";
101
+ import indicatorsProvider from "../../helpers/providers/indicators";
102
+ import pluginProvider from "../../helpers/providers/plugin";
96
103
  import directiveProvider from "./../../helpers/providers/directive";
97
104
  import fieldsProvider from "./../../helpers/providers/fields";
98
105
  import { eventBus } from "#blokkli/helpers/eventBus";
99
106
  import "#blokkli-build/styles.css";
100
107
  import getAdapter from "#blokkli-build/edit-adapter";
101
108
  import {
109
+ INJECT_ALL_COMPONENTS_CHUNK,
102
110
  INJECT_APP,
103
111
  INJECT_EDIT_CONTEXT,
104
112
  INJECT_EDIT_FIELD_LIST_COMPONENT,
@@ -109,7 +117,9 @@ import {
109
117
  INJECT_PROVIDER_KEY
110
118
  } from "#blokkli/helpers/symbols";
111
119
  import { useBlockRegistration } from "#blokkli/helpers/composables/useBlockRegistration";
112
- import { addElementClasses } from "#blokkli/helpers/addElementClasses";
120
+ import { addElementClasses } from "#blokkli/helpers/composables/addElementClasses";
121
+ import { allComponents } from "#blokkli-build/chunk-editing";
122
+ import { falsy } from "#blokkli/helpers";
113
123
  const props = defineProps({
114
124
  entity: { type: null, required: false, default: void 0 },
115
125
  entityType: { type: String, required: true },
@@ -121,6 +131,8 @@ const props = defineProps({
121
131
  providerEl: { type: null, required: true }
122
132
  });
123
133
  defineSlots();
134
+ const mainLayoutElement = useTemplateRef("mainLayoutElement");
135
+ const viewportElement = useTemplateRef("viewportElement");
124
136
  const entityContext = computed(() => {
125
137
  return {
126
138
  uuid: props.entityUuid,
@@ -150,7 +162,7 @@ const state = await editStateProvider(
150
162
  context,
151
163
  $t,
152
164
  providerKey,
153
- props.permissions
165
+ props.permissions.filter(falsy)
154
166
  );
155
167
  const storage = await storageProvider(adapter, context);
156
168
  const plugins = pluginProvider();
@@ -163,17 +175,24 @@ const commands = commandsProvider();
163
175
  const tour = tourProvider();
164
176
  const dropAreas = dropAreasProvider();
165
177
  const broadcast = broadcastProvider();
166
- const ui = uiProvider(props.providerEl, storage, state, context, element);
167
- const dom = domProvider(ui, debug, definitions, state, element);
178
+ const ui = uiProvider(
179
+ props.providerEl,
180
+ storage,
181
+ context,
182
+ element,
183
+ mainLayoutElement,
184
+ viewportElement
185
+ );
186
+ const dom = domProvider(ui, debug, state, element);
168
187
  const theme = themeProvider(element);
169
188
  const blocks = blocksProvider(state, dom, context);
170
189
  const selection = selectionProvider(blocks);
171
- const animation = animationProvider(ui, storage, selection, debug);
172
- const keyboard = keyboardProvider(animation);
190
+ const keyboard = keyboardProvider();
191
+ const animation = animationProvider(ui, storage, selection, debug, keyboard);
173
192
  const types = await typesProvider(adapter, selection, context);
174
193
  const indicators = indicatorsProvider();
175
194
  const directive = directiveProvider(debug, ui);
176
- const fields = fieldsProvider(state, dom, types);
195
+ const fields = fieldsProvider(dom, types);
177
196
  const mutatedEntity = computed(() => {
178
197
  return {
179
198
  ...props.entity ?? {},
@@ -181,7 +200,7 @@ const mutatedEntity = computed(() => {
181
200
  };
182
201
  });
183
202
  const isReady = computed(
184
- () => !isInitializing.value && dom.isReady.value && directive.isReady.value && toolbarLoaded.value
203
+ () => !isInitializing.value && dom.isReady.value && directive.isReady.value && toolbarLoaded.value && mainLayoutElement.value
185
204
  );
186
205
  watch(isReady, (v) => {
187
206
  if (v) {
@@ -218,6 +237,7 @@ function setElementSymbolProperty(el, symbol, value) {
218
237
  el[symbol] = value;
219
238
  }
220
239
  provide(INJECT_EDIT_LOGGER, baseLogger);
240
+ provide(INJECT_ALL_COMPONENTS_CHUNK, allComponents);
221
241
  provide(INJECT_EDIT_FIELD_LIST_COMPONENT, DraggableList);
222
242
  provide(INJECT_IS_EDITING, true);
223
243
  provide(INJECT_EDIT_CONTEXT, {
@@ -8,7 +8,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
8
8
  entityBundle: string;
9
9
  language?: string;
10
10
  isolate?: boolean;
11
- permissions: EditPermission[];
11
+ permissions: Array<EditPermission | null>;
12
12
  providerEl: HTMLElement;
13
13
  } & Partial<{}>> & import("vue").PublicProps;
14
14
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <AddListItem
3
+ :id="action.id"
4
+ ref="item"
5
+ :key="action.id"
6
+ class="bk-is-action"
7
+ context="add-list-actions"
8
+ :label="action.title"
9
+ :bundle="action.itemBundle"
10
+ :icon="action.icon"
11
+ :color="action.color"
12
+ :disabled
13
+ no-context-menu
14
+ />
15
+ </template>
16
+
17
+ <script setup>
18
+ import { AddListItem } from "#blokkli/components";
19
+ import defineTourItem from "#blokkli/helpers/composables/defineTourItem";
20
+ import { computed, useTemplateRef, useBlokkli } from "#imports";
21
+ const props = defineProps({
22
+ action: { type: Object, required: true },
23
+ selectableBundles: { type: Array, required: true }
24
+ });
25
+ const { selection } = useBlokkli();
26
+ const item = useTemplateRef("item");
27
+ const bundleDisabled = computed(() => {
28
+ if (props.action.itemBundle) {
29
+ return !props.selectableBundles.includes(props.action.itemBundle);
30
+ }
31
+ return false;
32
+ });
33
+ const disabled = computed(() => {
34
+ if (bundleDisabled.value) {
35
+ return true;
36
+ }
37
+ if (props.action.enabled && selection.item.value) {
38
+ return !props.action.enabled(selection.item.value);
39
+ }
40
+ return false;
41
+ });
42
+ defineTourItem(() => {
43
+ if (!props.action.description) {
44
+ return;
45
+ }
46
+ return {
47
+ id: "plugin:add_action:" + props.action.id,
48
+ title: props.action.title,
49
+ text: props.action.description,
50
+ element: () => item.value?.getElement()
51
+ };
52
+ });
53
+ </script>
@@ -0,0 +1,7 @@
1
+ import type { AddAction } from '#blokkli/types';
2
+ type __VLS_Props = {
3
+ action: AddAction;
4
+ selectableBundles: string[];
5
+ };
6
+ declare const _default: 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>;
7
+ export default _default;
@@ -0,0 +1,41 @@
1
+ <template>
2
+ <Sortli id="blokkli-add-list-actions" :build-item="buildItemAction">
3
+ <ActionButton
4
+ v-for="action in actions"
5
+ :key="action.id"
6
+ :action="action"
7
+ :selectable-bundles
8
+ />
9
+ </Sortli>
10
+ </template>
11
+
12
+ <script setup>
13
+ import { computed, useBlokkli } from "#imports";
14
+ import { Sortli } from "#blokkli/components";
15
+ import ActionButton from "./Action.vue";
16
+ defineProps({
17
+ selectableBundles: { type: Array, required: true }
18
+ });
19
+ const { plugins } = useBlokkli();
20
+ const actions = computed(() => {
21
+ return plugins.get("addAction");
22
+ });
23
+ function buildItemAction(element) {
24
+ const actionType = element.dataset.sortliId;
25
+ if (!actionType) {
26
+ return;
27
+ }
28
+ const itemBundle = element.dataset.itemBundle;
29
+ const action = actions.value.find((v) => v.id === actionType);
30
+ if (!action) {
31
+ return;
32
+ }
33
+ return {
34
+ itemType: "action",
35
+ action,
36
+ actionType,
37
+ itemBundle,
38
+ element: () => element
39
+ };
40
+ }
41
+ </script>
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ selectableBundles: string[];
3
+ };
4
+ declare const _default: 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>;
5
+ export default _default;
@@ -1,19 +1,20 @@
1
1
  <template>
2
2
  <Sortli v-if="shouldRender" id="blokkli-add-list-blocks" :build-item>
3
3
  <AddListItem
4
- v-for="(type, i) in sortedList"
4
+ v-for="type in sortedList"
5
5
  v-show="type.isVisible"
6
6
  :id="type.id"
7
- :key="i + (type.id || 'undefined') + renderKey"
7
+ :key="type.id"
8
+ context="add-list-blocks"
8
9
  :label="type.label"
9
10
  :bundle="type.id"
10
- :orientation="ui.addListOrientation.value"
11
11
  :disabled="type.isDisabled"
12
12
  :color="type.isFavorite ? 'yellow' : 'default'"
13
13
  data-element-type="new"
14
14
  :data-item-bundle="type.id"
15
15
  />
16
16
  </Sortli>
17
+
17
18
  <PluginTourItem
18
19
  v-if="shouldRender"
19
20
  id="block-add-list"
@@ -34,21 +35,22 @@ import { AddListItem, Sortli } from "#blokkli/components";
34
35
  import defineCommands from "#blokkli/helpers/composables/defineCommands";
35
36
  import { isInternalBundle } from "#blokkli/helpers/bundles";
36
37
  import { PluginTourItem } from "#blokkli/plugins";
37
- import { getFieldKey, onlyUnique } from "#blokkli/helpers";
38
+ import { getFieldKey } from "#blokkli/helpers";
39
+ import { itemEntityType } from "#blokkli-build/config";
38
40
  const props = defineProps({
39
- hideDisabledBlocks: { type: Boolean, required: false }
41
+ hideDisabledBlocks: { type: Boolean, required: false },
42
+ selectableBundles: { type: Array, required: true },
43
+ generallyAvailableBundles: { type: Array, required: true }
40
44
  });
41
45
  const {
42
46
  selection,
43
47
  storage,
44
48
  types,
45
49
  context,
46
- runtimeConfig,
47
50
  ui,
48
51
  eventBus,
49
52
  $t,
50
53
  state,
51
- dom,
52
54
  definitions,
53
55
  blocks
54
56
  } = useBlokkli();
@@ -65,47 +67,9 @@ function buildItem(element) {
65
67
  }
66
68
  const shouldRender = computed(() => state.editMode.value === "editing");
67
69
  const searchText = ref("");
68
- const itemEntityType = runtimeConfig.itemEntityType;
69
70
  const favorites = storage.use("blockFavorites", []);
70
- const getAllowedTypesForSelected = (p) => {
71
- if (types.itemBundlesWithNested.includes(p.bundle)) {
72
- return types.fieldConfig.forEntityTypeAndBundle(itemEntityType, p.bundle).flatMap((v) => v.allowedBundles).filter(Boolean);
73
- }
74
- if (p.host.type === itemEntityType) {
75
- return types.fieldConfig.forEntityTypeAndBundle(itemEntityType, p.host.bundle).flatMap((v) => v.allowedBundles).filter(Boolean);
76
- } else {
77
- return types.getFieldConfig(
78
- context.value.entityType,
79
- context.value.entityBundle,
80
- p.host.fieldName
81
- )?.allowedBundles || [];
82
- }
83
- };
84
- const bundlesForRenderedFields = computed(() => {
85
- return dom.registeredFieldTypes.value.flatMap((field) => {
86
- return types.getFieldConfig(
87
- field.entityType,
88
- field.entityBundle,
89
- field.fieldName
90
- )?.allowedBundles || [];
91
- }).filter(onlyUnique);
92
- });
93
- const generallyAvailableBundles = computed(
94
- () => types.generallyAvailableBundles.filter(
95
- (v) => (
96
- // Exclude bundles for which no field is currently being rendered.
97
- bundlesForRenderedFields.value.includes(v.id)
98
- )
99
- )
100
- );
101
- const selectableBundles = computed(() => {
102
- if (selection.items.value.length) {
103
- return selection.items.value.flatMap((v) => getAllowedTypesForSelected(v));
104
- }
105
- return generallyAvailableBundles.value.map((v) => v.id || "");
106
- });
107
71
  function determineVisibility(bundle, label) {
108
- if (ui.isMobile.value && !selectableBundles.value.includes(bundle)) {
72
+ if (ui.isMobile.value && !props.selectableBundles.includes(bundle)) {
109
73
  return false;
110
74
  }
111
75
  if (searchText.value && !label.toLowerCase().includes(searchText.value.toLowerCase())) {
@@ -119,9 +83,9 @@ function determineVisibility(bundle, label) {
119
83
  return true;
120
84
  }
121
85
  const sortedList = computed(() => {
122
- return [...generallyAvailableBundles.value].filter((v) => !isInternalBundle(v.id)).map((v) => {
86
+ return [...props.generallyAvailableBundles].filter((v) => !isInternalBundle(v.id)).map((v) => {
123
87
  const isVisible = determineVisibility(v.id, v.label);
124
- const isDisabled = !v.id || !selectableBundles.value.includes(v.id);
88
+ const isDisabled = !v.id || !props.selectableBundles.includes(v.id);
125
89
  return {
126
90
  ...v,
127
91
  isDisabled,
@@ -134,7 +98,6 @@ const sortedList = computed(() => {
134
98
  return a.label.localeCompare(b.label);
135
99
  });
136
100
  });
137
- const renderKey = ref("");
138
101
  const getBundlesForAppendCommands = () => {
139
102
  const item = selection.item.value;
140
103
  if (!item) {
@@ -252,7 +215,7 @@ const getInsertCommands = (block) => {
252
215
  });
253
216
  }
254
217
  );
255
- if (block.host.type === runtimeConfig.itemEntityType) {
218
+ if (block.host.type === itemEntityType) {
256
219
  const parentBlock = blocks.getBlock(block.host.uuid);
257
220
  if (parentBlock) {
258
221
  getInsertCommands(parentBlock).forEach((parentCommand) => {
@@ -1,6 +1,11 @@
1
+ import type { BlockBundleDefinition } from '#blokkli/types';
1
2
  declare const _default: import("vue").DefineComponent<{
2
3
  hideDisabledBlocks?: boolean;
4
+ selectableBundles: string[];
5
+ generallyAvailableBundles: BlockBundleDefinition[];
3
6
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
4
7
  hideDisabledBlocks?: boolean;
8
+ selectableBundles: string[];
9
+ generallyAvailableBundles: BlockBundleDefinition[];
5
10
  }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
11
  export default _default;