@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
@@ -8,38 +8,60 @@
8
8
  @close="$emit('close')"
9
9
  >
10
10
  <div
11
- ref="listEl"
12
- class="bk-selection-add-overlay-list bk-scrollbar-dark"
13
- @wheel="onWheel"
11
+ ref="scrollEl"
12
+ class="bk-selection-add-overlay-wrapper bk-scrollbar-dark"
14
13
  >
15
- <button
16
- v-for="item in items"
17
- :key="item.bundle"
18
- tabindex="-1"
19
- @click.prevent="$emit('select', item.bundle)"
14
+ <div
15
+ class="bk-selection-add-overlay-form"
16
+ @pointerdown.stop
17
+ @keydown.capture.stop
18
+ @keyup.capture.stop
20
19
  >
21
- <AddListItemIcon
22
- :bundle="item.bundle"
23
- :color="item.isFavorite ? 'yellow' : 'default'"
24
- />
25
- <span>{{ item.label }}</span>
26
- </button>
27
- <button
28
- v-for="action in actions"
29
- :key="'action:' + action.id"
30
- tabindex="-1"
31
- @click.prevent="$emit('action', action.id)"
20
+ <form
21
+ class="bk-selection-add-overlay-form-input"
22
+ @submit.prevent.stop="onSubmitForm"
23
+ >
24
+ <Icon name="search" />
25
+ <input
26
+ ref="inputEl"
27
+ v-model="searchText"
28
+ type="text"
29
+ :placeholder="$t('searchBoxPlaceholder', 'Enter search term')"
30
+ />
31
+ <button
32
+ v-if="searchText"
33
+ type="button"
34
+ tabindex="-1"
35
+ @click.prevent="onClearSearchText"
36
+ >
37
+ <Icon name="close" />
38
+ </button>
39
+ </form>
40
+ </div>
41
+ <div
42
+ ref="wrapperEl"
43
+ :style="{
44
+ width,
45
+ height
46
+ }"
32
47
  >
33
- <AddListItemIcon :icon="action.icon" :color="action.color" />
34
- <span>{{ action.title }}</span>
35
- </button>
48
+ <div class="bk-selection-add-overlay-list" @wheel="onWheel">
49
+ <AddListItem
50
+ v-for="item in items"
51
+ v-show="isVisible(item)"
52
+ :key="item.props.id"
53
+ v-bind="item.props"
54
+ @click.prevent="onClick(item)"
55
+ />
56
+ </div>
57
+ </div>
36
58
  </div>
37
59
  </ArtboardTooltip>
38
60
  </template>
39
61
 
40
62
  <script setup>
41
- import { useTemplateRef, useBlokkli, computed } from "#imports";
42
- import { AddListItemIcon, ArtboardTooltip } from "#blokkli/components";
63
+ import { useTemplateRef, useBlokkli, computed, ref, watch } from "#imports";
64
+ import { ArtboardTooltip, AddListItem, Icon } from "#blokkli/components";
43
65
  import { isInternalBundle } from "#blokkli/helpers/bundles";
44
66
  const props = defineProps({
45
67
  bundles: { type: Array, required: true },
@@ -47,12 +69,36 @@ const props = defineProps({
47
69
  anchorCoordinates: { type: Object, required: false },
48
70
  label: { type: String, required: true }
49
71
  });
50
- defineEmits(["select", "action", "close"]);
51
- const listEl = useTemplateRef("listEl");
72
+ const emit = defineEmits(["select", "action", "close"]);
73
+ const searchText = ref("");
74
+ const width = ref("auto");
75
+ const height = ref("auto");
76
+ const wrapperEl = useTemplateRef("wrapperEl");
77
+ const scrollEl = useTemplateRef("scrollEl");
78
+ const inputEl = useTemplateRef("inputEl");
52
79
  let hasScrollbar = null;
53
- const { types, plugins, storage } = useBlokkli();
80
+ watch(
81
+ searchText,
82
+ () => {
83
+ if (wrapperEl.value) {
84
+ const rect = wrapperEl.value.getBoundingClientRect();
85
+ width.value = rect.width + "px";
86
+ height.value = rect.height + "px";
87
+ }
88
+ },
89
+ {
90
+ once: true
91
+ }
92
+ );
93
+ function onClearSearchText() {
94
+ if (inputEl.value) {
95
+ inputEl.value.focus();
96
+ }
97
+ searchText.value = "";
98
+ }
99
+ const { types, plugins, storage, $t } = useBlokkli();
54
100
  const favorites = storage.use("blockFavorites", []);
55
- const items = computed(() => {
101
+ const blocks = computed(() => {
56
102
  return props.bundles.filter((bundle) => !isInternalBundle(bundle)).map((bundle) => {
57
103
  return {
58
104
  bundle,
@@ -63,23 +109,74 @@ const items = computed(() => {
63
109
  if (a.isFavorite && !b.isFavorite) return -1;
64
110
  if (!a.isFavorite && b.isFavorite) return 1;
65
111
  return a.label.localeCompare(b.label);
112
+ }).map((block) => {
113
+ return {
114
+ type: "block",
115
+ bundle: block.bundle,
116
+ searchText: block.label.toLowerCase(),
117
+ props: {
118
+ id: block.bundle,
119
+ label: block.label,
120
+ bundle: block.bundle,
121
+ color: block.isFavorite ? "yellow" : void 0,
122
+ context: "selection-add-buttons"
123
+ }
124
+ };
66
125
  });
67
126
  });
68
127
  const actions = computed(() => {
69
- return plugins.getAddActions().filter((action) => {
128
+ return plugins.get("addAction").filter((action) => {
70
129
  if (!action.itemBundle) {
71
130
  return true;
72
131
  }
73
132
  return props.bundles.includes(action.itemBundle);
133
+ }).map((action) => {
134
+ return {
135
+ type: "action",
136
+ action,
137
+ searchText: action.title + " " + (action.description ?? ""),
138
+ props: {
139
+ id: action.id,
140
+ label: action.title,
141
+ color: action.color,
142
+ context: "selection-add-buttons",
143
+ icon: action.icon,
144
+ noContextMenu: true
145
+ }
146
+ };
74
147
  });
75
148
  });
149
+ const items = computed(() => {
150
+ return [...blocks.value, ...actions.value];
151
+ });
152
+ function isVisible(item) {
153
+ if (!searchText.value) {
154
+ return true;
155
+ }
156
+ return item.searchText.includes(searchText.value);
157
+ }
76
158
  const onWheel = (e) => {
77
159
  if (hasScrollbar === null) {
78
- const element = listEl.value;
160
+ const element = scrollEl.value;
79
161
  hasScrollbar = element && element.scrollHeight > element.clientHeight;
80
162
  }
81
163
  if (hasScrollbar) {
82
- e.stopPropagation();
164
+ if (!e.ctrlKey && !e.metaKey) {
165
+ e.stopPropagation();
166
+ }
83
167
  }
84
168
  };
169
+ function onClick(item) {
170
+ if (item.type === "block") {
171
+ emit("select", item.bundle);
172
+ } else if (item.type === "action") {
173
+ emit("action", item.action);
174
+ }
175
+ }
176
+ function onSubmitForm() {
177
+ const firstResult = items.value.find((item) => isVisible(item));
178
+ if (firstResult) {
179
+ onClick(firstResult);
180
+ }
181
+ }
85
182
  </script>
@@ -1,17 +1,17 @@
1
- import type { Coord } from '#blokkli/types';
1
+ import type { AddAction, Coord } from '#blokkli/types';
2
2
  type __VLS_Props = {
3
3
  bundles: string[];
4
4
  anchorEl?: HTMLElement;
5
5
  anchorCoordinates?: Coord;
6
6
  label: string;
7
7
  };
8
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
- select: (id: string) => void;
10
- action: (id: string) => void;
11
- close: () => void;
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
9
+ select: (id: string) => any;
10
+ close: () => any;
11
+ action: (action: AddAction) => any;
12
12
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
13
  onSelect?: ((id: string) => any) | undefined;
14
14
  onClose?: (() => any) | undefined;
15
- onAction?: ((id: string) => any) | undefined;
15
+ onAction?: ((action: AddAction) => any) | undefined;
16
16
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
17
  export default _default;
@@ -188,12 +188,11 @@ function onSelectBundle(bundle) {
188
188
  });
189
189
  closeOverlay();
190
190
  }
191
- function onSelectAction(id) {
191
+ function onSelectAction(action) {
192
192
  if (!addData.value) {
193
193
  return;
194
194
  }
195
- eventBus.emit("action:placed", {
196
- id,
195
+ action.callback({
197
196
  field: addData.value.field,
198
197
  preceedingUuid: addData.value.preceedingUuid,
199
198
  host: { ...addData.value.host }
@@ -291,9 +290,7 @@ onBlokkliEvent("state:reloaded", () => {
291
290
  }
292
291
  });
293
292
  function setAddData(key, field, label, preceedingUuid, anchorEl, anchorCoordinates) {
294
- const allowedBundles = field.allowedBundles.filter(
295
- (bundle) => !isInternalBundle(bundle)
296
- );
293
+ const allowedBundles = field.allowedBundles;
297
294
  if (allowedBundles.length === 0) {
298
295
  return;
299
296
  }
@@ -14,7 +14,7 @@ import {
14
14
  import vs from "./vertex.glsl?raw";
15
15
  import fs from "./fragment.glsl?raw";
16
16
  import { RectangleBufferCollector } from "#blokkli/helpers/webgl";
17
- import { useTransitionedValue } from "#blokkli/helpers/useTransitionedValue";
17
+ import { useTransitionedValue } from "#blokkli/helpers/composables/useTransitionedValue";
18
18
  import { toShaderColor } from "#blokkli/helpers";
19
19
  const props = defineProps({
20
20
  blocks: { type: Array, required: true },
@@ -1,5 +1,6 @@
1
1
  <template>
2
2
  <DialogModal
3
+ id="settings"
3
4
  :title="$t('settingsDialogTitle', 'Change settings')"
4
5
  :width="900"
5
6
  hide-buttons
@@ -1,28 +1,18 @@
1
1
  <template>
2
- <PluginMenuButton
3
- id="settings"
4
- :title="$t('settingsMenuTitle', 'Settings')"
5
- :description="
6
- $t('settingsMenuDescription', 'Personal settings for the editor')
7
- "
8
- secondary
9
- icon="cog"
10
- @click="onClick"
11
- />
12
- <Teleport to="body">
2
+ <Teleport :to="ui.mainLayoutElement.value">
13
3
  <BlokkliTransition name="slide-up">
14
- <SettingsDialog v-if="showSettings" @cancel="showSettings = false" />
4
+ <SettingsDialog v-if="showSettings" @cancel="onClose" />
15
5
  </BlokkliTransition>
16
6
  </Teleport>
17
7
  </template>
18
8
 
19
9
  <script setup>
20
- import { ref, useBlokkli, defineBlokkliFeature, computed } from "#imports";
21
- import { PluginMenuButton } from "#blokkli/plugins";
10
+ import { useBlokkli, defineBlokkliFeature, computed } from "#imports";
22
11
  import SettingsDialog from "./Dialog/index.vue";
23
- import { addElementClasses } from "#blokkli/helpers/addElementClasses";
12
+ import { addElementClasses } from "#blokkli/helpers/composables/addElementClasses";
24
13
  import { BlokkliTransition } from "#blokkli/components";
25
- const { $t } = useBlokkli();
14
+ import defineMenuButton from "#blokkli/helpers/composables/defineMenuButton";
15
+ const { ui, $t } = useBlokkli();
26
16
  const { settings } = defineBlokkliFeature({
27
17
  id: "settings",
28
18
  label: "Settings",
@@ -53,14 +43,32 @@ const { settings } = defineBlokkliFeature({
53
43
  }
54
44
  }
55
45
  });
56
- const showSettings = ref(false);
57
- const onClick = () => showSettings.value = true;
46
+ const showSettings = computed(() => ui.currentDialog.value?.id === "settings");
47
+ function onClick() {
48
+ ui.openDialog({ id: "settings", alignment: "center" });
49
+ }
50
+ function onClose() {
51
+ ui.closeDialog("settings");
52
+ }
58
53
  const lowPerformanceMode = computed(() => settings.value.lowPerformanceMode);
59
54
  addElementClasses(
60
55
  document.documentElement,
61
56
  "bk-low-performance-mode",
62
57
  lowPerformanceMode
63
58
  );
59
+ defineMenuButton(() => {
60
+ return {
61
+ id: "settings",
62
+ title: $t("settingsMenuTitle", "Settings"),
63
+ description: $t(
64
+ "settingsMenuDescription",
65
+ "Personal settings for the editor"
66
+ ),
67
+ icon: "cog",
68
+ secondary: true,
69
+ callback: onClick
70
+ };
71
+ });
64
72
  </script>
65
73
 
66
74
  <script>
@@ -50,13 +50,13 @@
50
50
 
51
51
  <script setup>
52
52
  import {
53
- ref,
54
53
  useBlokkli,
55
54
  computed,
56
55
  inject,
57
56
  onMounted,
58
57
  onBeforeUnmount,
59
- nextTick
58
+ nextTick,
59
+ useTemplateRef
60
60
  } from "#imports";
61
61
  import Item from "./../Item/index.vue";
62
62
  const props = defineProps({
@@ -109,7 +109,7 @@ function onClickFieldLabel() {
109
109
  list.value.map((v) => v.uuid)
110
110
  );
111
111
  }
112
- const el = ref(null);
112
+ const el = useTemplateRef("el");
113
113
  const observer = inject("bk_structure_observer");
114
114
  const isVisible = computed(() => !!props.visibleFieldKeys[key.value]);
115
115
  const bundlesAllowed = computed(
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <Teleport to="body">
2
+ <Teleport :to="ui.mainLayoutElement.value">
3
3
  <BlokkliTransition name="touch-bar">
4
4
  <Bar
5
5
  v-if="
@@ -24,7 +24,7 @@
24
24
  import { useBlokkli, defineBlokkliFeature } from "#imports";
25
25
  import { BlokkliTransition } from "#blokkli/components";
26
26
  import Bar from "./Bar/index.vue";
27
- const { eventBus, selection, $t } = useBlokkli();
27
+ const { eventBus, selection, $t, ui } = useBlokkli();
28
28
  defineBlokkliFeature({
29
29
  id: "touch-action-bar",
30
30
  label: "Touch Action Bar",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <Teleport v-if="activeItem" to="body">
2
+ <Teleport v-if="activeItem" :to="ui.mainLayoutElement.value">
3
3
  <div class="bk bk-tour" :style="tooltipStyle">
4
4
  <div class="bk-tour-inner">
5
5
  <div class="bk-tour-title">
@@ -51,7 +51,7 @@
51
51
  </template>
52
52
 
53
53
  <script setup>
54
- import { useBlokkli, computed, ref } from "#imports";
54
+ import { useBlokkli, computed, ref, useTemplateRef } from "#imports";
55
55
  import { falsy, modulo } from "#blokkli/helpers";
56
56
  import { Icon, ShortcutIndicator } from "#blokkli/components";
57
57
  import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
@@ -86,7 +86,7 @@ const tooltipStyle = computed(() => {
86
86
  });
87
87
  const { tour, ui, $t } = useBlokkli();
88
88
  const activeIndex = ref(0);
89
- const contentEl = ref(null);
89
+ const contentEl = useTemplateRef("contentEl");
90
90
  const tooltipHeight = ref(100);
91
91
  const tooltipWidth = computed(() => {
92
92
  return ui.isMobile.value ? Math.min(window.innerWidth - 20, 400) : 400;
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <Teleport to="body">
2
+ <Teleport :to="ui.mainLayoutElement.value">
3
3
  <ViewportBlockingRect id="tour-popup" class="bk bk-tour-popup">
4
4
  <div class="bk-tour-popup-title">
5
5
  <h2>{{ $t("tourLabel", "Take a tour") }}</h2>
@@ -29,6 +29,6 @@
29
29
  <script setup>
30
30
  import { Icon, ViewportBlockingRect } from "#blokkli/components";
31
31
  import { useBlokkli } from "#imports";
32
- const { $t } = useBlokkli();
32
+ const { $t, ui } = useBlokkli();
33
33
  defineEmits(["start", "close"]);
34
34
  </script>
@@ -1,22 +1,13 @@
1
1
  <template>
2
2
  <Overlay v-if="tour.isTouring.value" @close="close" />
3
- <PluginMenuButton
4
- id="tour"
5
- :title="$t('tourLabel', 'Take a tour')"
6
- :description="$t('tourDescription', 'Explore the features of the editor')"
7
- icon="tutor"
8
- secondary
9
- :weight="-10"
10
- @click="start"
11
- />
12
3
  <Popup v-if="showTourPopup" @close="close" @start="start" />
13
4
  </template>
14
5
 
15
6
  <script setup>
16
7
  import { defineBlokkliFeature, useBlokkli } from "#imports";
17
8
  import Overlay from "./Overlay/index.vue";
18
- import { PluginMenuButton } from "#blokkli/plugins";
19
9
  import Popup from "./Popup/index.vue";
10
+ import defineMenuButton from "#blokkli/helpers/composables/defineMenuButton";
20
11
  defineBlokkliFeature({
21
12
  id: "tour",
22
13
  label: "Tour",
@@ -33,6 +24,17 @@ const close = () => {
33
24
  showTourPopup.value = false;
34
25
  tour.isTouring.value = false;
35
26
  };
27
+ defineMenuButton(() => {
28
+ return {
29
+ id: "tour",
30
+ title: $t("tourLabel", "Take a tour"),
31
+ description: $t("tourDescription", "Explore the features of the editor"),
32
+ icon: "tutor",
33
+ secondary: true,
34
+ weight: -10,
35
+ callback: start
36
+ };
37
+ });
36
38
  </script>
37
39
 
38
40
  <script>
@@ -38,7 +38,7 @@
38
38
  }"
39
39
  @click.prevent="onClickPreview"
40
40
  >
41
- {{ $t("transformDialogButtonPreview", "New suggestion") }}
41
+ {{ previewButtonLabel }}
42
42
  </button>
43
43
  <button
44
44
  class="bk-button bk-is-orange"
@@ -94,6 +94,12 @@ function mapValues(values) {
94
94
  const hasSeedInput = computed(
95
95
  () => !!props.plugin.configInputs?.find((v) => v.type === "seed")
96
96
  );
97
+ const previewButtonLabel = computed(() => {
98
+ if (hasSeedInput.value) {
99
+ return $t("transformDialogButtonNewSuggestion", "New suggestion");
100
+ }
101
+ return $t("transformDialogButtonPreview", "Preview");
102
+ });
97
103
  const isLocked = ref(false);
98
104
  const hasChanged = ref(false);
99
105
  const isPreviewing = ref(false);
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <Teleport to="body">
2
+ <Teleport :to="ui.mainLayoutElement.value">
3
3
  <BlokkliTransition name="transform-overlay">
4
4
  <TransformDialog
5
5
  v-if="openPluginDefinition"
@@ -52,18 +52,6 @@
52
52
  <Banner v-if="isTranslating" :active-language />
53
53
  </Teleport>
54
54
 
55
- <PluginMenuButton
56
- id="translations"
57
- :title="$t('translationsBatchTranslateMenuTitle', 'Translate...')"
58
- :description="
59
- $t('translationsBatchTranslateMenuDescription', 'Translate all blocks')
60
- "
61
- :disabled="!isTranslating"
62
- :weight="60"
63
- icon="translate"
64
- @click="eventBus.emit('batchTranslate')"
65
- />
66
-
67
55
  <PluginItemAction
68
56
  v-if="isTranslating"
69
57
  id="translate"
@@ -84,13 +72,10 @@ import {
84
72
  onMounted
85
73
  } from "#imports";
86
74
  import { falsy } from "#blokkli/helpers";
87
- import {
88
- PluginMenuButton,
89
- PluginItemAction,
90
- PluginTourItem
91
- } from "#blokkli/plugins";
75
+ import { PluginItemAction, PluginTourItem } from "#blokkli/plugins";
92
76
  import Banner from "./Banner/index.vue";
93
77
  import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
78
+ import defineMenuButton from "#blokkli/helpers/composables/defineMenuButton";
94
79
  const { adapter } = defineBlokkliFeature({
95
80
  id: "translations",
96
81
  label: "Translations",
@@ -202,6 +187,22 @@ onMounted(() => {
202
187
  }
203
188
  }
204
189
  });
190
+ defineMenuButton(() => {
191
+ return {
192
+ id: "translations",
193
+ title: $t("translationsBatchTranslateMenuTitle", "Translate..."),
194
+ description: $t(
195
+ "translationsBatchTranslateMenuDescription",
196
+ "Translate all blocks"
197
+ ),
198
+ icon: "translate",
199
+ disabled: !isTranslating.value,
200
+ weight: 60,
201
+ callback: () => {
202
+ eventBus.emit("batchTranslate");
203
+ }
204
+ };
205
+ });
205
206
  </script>
206
207
 
207
208
  <script>
@@ -5,7 +5,7 @@
5
5
  </label>
6
6
  <textarea
7
7
  :id
8
- v-model.lazy="value"
8
+ v-model="value"
9
9
  class="bk-form-input"
10
10
  :placeholder
11
11
  :required
@@ -6,7 +6,6 @@
6
6
  @keyup.stop
7
7
  @keydown.stop
8
8
  >
9
- <div class="bk bk-form-overlay-background bk-overlay" />
10
9
  <Resizable :id="id" class="bk-form-overlay-resizable">
11
10
  <FormHeader
12
11
  :bundle="bundle"
@@ -27,16 +26,26 @@
27
26
  <script setup>
28
27
  import FormHeader from "./Header/index.vue";
29
28
  import { Resizable } from "#blokkli/components";
30
- defineProps({
29
+ import { onBeforeUnmount, onMounted, useBlokkli } from "#imports";
30
+ import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
31
+ const props = defineProps({
31
32
  id: { type: String, required: true },
32
33
  bundle: { type: String, required: false },
33
34
  icon: { type: null, required: false },
34
35
  title: { type: String, required: true }
35
36
  });
37
+ const { ui } = useBlokkli();
36
38
  const emit = defineEmits(["close"]);
37
- const onClose = () => {
39
+ function onClose() {
38
40
  emit("close");
39
- };
41
+ }
42
+ onBlokkliEvent("overlay:close", onClose);
43
+ onMounted(() => {
44
+ ui.openDialog({ id: props.id, alignment: "right", confirmClose: true });
45
+ });
46
+ onBeforeUnmount(() => {
47
+ ui.closeDialog(props.id);
48
+ });
40
49
  </script>
41
50
 
42
51
  <script>
@@ -98,7 +98,7 @@ onBlokkliEvent("state:reloaded", () => {
98
98
  prevRects.clear();
99
99
  });
100
100
  onBlokkliEvent("scrollIntoView", (e) => {
101
- if ("element" in e) {
101
+ if ("element" in e && e.highlight) {
102
102
  if (artboardElement.contains(e.element)) {
103
103
  highlighted.value = ui.getAbsoluteElementRect(e.element);
104
104
  } else {
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="bk-info-box">
3
- <Icon name="info" />
3
+ <Icon :name="icon" />
4
4
  <div>
5
5
  <slot>
6
6
  <p v-html="text" />
@@ -12,6 +12,7 @@
12
12
  <script setup>
13
13
  import { Icon } from "#blokkli/components";
14
14
  defineProps({
15
- text: { type: String, required: false }
15
+ text: { type: String, required: false, default: void 0 },
16
+ icon: { type: null, required: false, default: "info" }
16
17
  });
17
18
  </script>
@@ -1,11 +1,16 @@
1
+ import type { BlokkliIcon } from '#blokkli-build/icons';
1
2
  type __VLS_Props = {
2
3
  text?: string;
4
+ icon?: BlokkliIcon;
3
5
  };
4
6
  declare var __VLS_5: {};
5
7
  type __VLS_Slots = {} & {
6
8
  default?: (props: typeof __VLS_5) => any;
7
9
  };
8
- declare const __VLS_component: 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>;
10
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
11
+ text: string;
12
+ icon: BlokkliIcon;
13
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
9
14
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
10
15
  export default _default;
11
16
  type __VLS_WithSlots<T, S> = T & {