@blokkli/editor 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (428) hide show
  1. package/dist/module.d.mts +1 -1
  2. package/dist/module.json +5 -5
  3. package/dist/module.mjs +5549 -1269
  4. package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
  5. package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +9 -0
  6. package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +5 -0
  7. package/dist/modules/drupal/graphql/base/fragment.paragraphsFieldItem.graphql +9 -0
  8. package/dist/modules/drupal/graphql/base/query.pbConfig.graphql +1 -10
  9. package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
  10. package/dist/modules/drupal/graphql/features/comments.graphql +11 -8
  11. package/dist/modules/drupal/graphql/features/publishNew.graphql +1 -4
  12. package/dist/modules/drupal/graphql/features/scheduler.graphql +31 -0
  13. package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
  14. package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
  15. package/dist/modules/drupal/graphql/mutations/set_paragraph_schedule.graphql +15 -0
  16. package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
  17. package/dist/modules/drupal/index.d.mts +1 -1
  18. package/dist/modules/drupal/index.mjs +79 -9
  19. package/dist/modules/drupal/runtime/adapter/index.d.ts +3 -0
  20. package/dist/modules/drupal/{adapter/index.mjs → runtime/adapter/index.js} +166 -20
  21. package/dist/runtime/adapter/index.d.ts +111 -1
  22. package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
  23. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
  24. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
  25. package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +6 -0
  26. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
  27. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue.d.ts +2 -19
  28. package/dist/runtime/blokkliPlugins/DebugOverlay/index.vue.d.ts +2 -7
  29. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
  30. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue.d.ts +2 -19
  31. package/dist/runtime/blokkliPlugins/ItemAction/index.vue +23 -15
  32. package/dist/runtime/blokkliPlugins/ItemAction/index.vue.d.ts +21 -44
  33. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
  34. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
  35. package/dist/runtime/blokkliPlugins/MenuButton/index.vue.d.ts +3 -3
  36. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
  37. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue.d.ts +2 -51
  38. package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
  39. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +15 -9
  40. package/dist/runtime/blokkliPlugins/ToolbarButton/index.vue.d.ts +1 -1
  41. package/dist/runtime/blokkliPlugins/TourItem/index.vue +10 -5
  42. package/dist/runtime/blokkliPlugins/TourItem/index.vue.d.ts +2 -4
  43. package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
  44. package/dist/runtime/blokkliPlugins/ViewOption/index.vue.d.ts +4 -3
  45. package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
  46. package/dist/runtime/blokkliPlugins/index.js +15 -13
  47. package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
  48. package/dist/runtime/components/Blocks/FromLibrary/index.vue +4 -2
  49. package/dist/runtime/components/BlokkliEditable.vue +34 -16
  50. package/dist/runtime/components/BlokkliEditable.vue.d.ts +2 -1
  51. package/dist/runtime/components/BlokkliField.vue +31 -27
  52. package/dist/runtime/components/BlokkliField.vue.d.ts +61 -17
  53. package/dist/runtime/components/BlokkliItem.vue +2 -2
  54. package/dist/runtime/components/BlokkliItem.vue.d.ts +4 -2
  55. package/dist/runtime/components/BlokkliProvider.vue +60 -45
  56. package/dist/runtime/components/BlokkliProvider.vue.d.ts +45 -7
  57. package/dist/runtime/components/Edit/Actions/index.vue +69 -78
  58. package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
  59. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
  60. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
  61. package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
  62. package/dist/runtime/components/Edit/AnimationCanvas/index.vue +436 -25
  63. package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
  64. package/dist/runtime/components/Edit/ArtboardTooltip/index.vue +83 -0
  65. package/dist/runtime/components/Edit/ArtboardTooltip/index.vue.d.ts +32 -0
  66. package/dist/runtime/components/Edit/Banner/index.vue +51 -0
  67. package/dist/runtime/components/Edit/Banner/index.vue.d.ts +18 -0
  68. package/dist/runtime/components/Edit/BlockProxy/index.vue +3 -1
  69. package/dist/runtime/components/Edit/BlokkliErrorBoundary.vue.d.ts +2 -13
  70. package/dist/runtime/components/Edit/Dialog/index.vue +14 -5
  71. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +4 -2
  72. package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
  73. package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
  74. package/dist/runtime/components/Edit/DraggableList.vue +20 -50
  75. package/dist/runtime/components/Edit/DraggableList.vue.d.ts +7 -7
  76. package/dist/runtime/components/Edit/EditIndicator.vue +118 -44
  77. package/dist/runtime/components/Edit/EditIndicator.vue.d.ts +3 -0
  78. package/dist/runtime/components/Edit/EditProvider.vue +192 -80
  79. package/dist/runtime/components/Edit/EditProvider.vue.d.ts +3 -0
  80. package/dist/runtime/components/Edit/Features/AddList/index.vue +24 -36
  81. package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
  82. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +170 -0
  83. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
  84. package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
  85. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
  86. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
  87. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
  88. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
  89. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
  90. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
  91. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
  92. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
  93. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +105 -0
  94. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
  95. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
  96. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
  97. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
  98. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
  99. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
  100. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
  101. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
  102. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
  103. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
  104. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
  105. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
  106. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
  107. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
  108. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
  109. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
  110. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
  111. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
  112. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
  113. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
  114. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
  115. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
  116. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
  117. package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
  118. package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
  119. package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
  120. package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +53 -0
  121. package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
  122. package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
  123. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +299 -0
  124. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
  125. package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -217
  126. package/dist/runtime/components/Edit/Features/Assistant/index.vue +5 -3
  127. package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +33 -57
  128. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/ScheduleSection.vue +154 -0
  129. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/ScheduleSection.vue.d.ts +27 -0
  130. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue +222 -0
  131. package/dist/runtime/components/Edit/Features/BlockScheduler/Dialog/index.vue.d.ts +11 -0
  132. package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue +96 -0
  133. package/dist/runtime/components/Edit/Features/BlockScheduler/index.vue.d.ts +2 -0
  134. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +177 -46
  135. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue +51 -0
  136. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Item/index.vue.d.ts +17 -0
  137. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +48 -117
  138. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +5 -2
  139. package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue +35 -20
  140. package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue.d.ts +5 -3
  141. package/dist/runtime/components/Edit/Features/Comments/CommentInput/index.vue +29 -0
  142. package/dist/runtime/components/Edit/Features/Comments/CommentInput/index.vue.d.ts +13 -0
  143. package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue +22 -16
  144. package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue.d.ts +1 -0
  145. package/dist/runtime/components/Edit/Features/Comments/Overlay/index.vue +15 -6
  146. package/dist/runtime/components/Edit/Features/Comments/index.vue +21 -9
  147. package/dist/runtime/components/Edit/Features/Conversions/index.vue +16 -21
  148. package/dist/runtime/components/Edit/Features/Debug/Rects/index.vue +26 -35
  149. package/dist/runtime/components/Edit/Features/Debug/Renderer.vue +240 -0
  150. package/dist/runtime/components/Edit/Features/Debug/Renderer.vue.d.ts +6 -0
  151. package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
  152. package/dist/runtime/components/Edit/Features/Debug/index.vue +7 -162
  153. package/dist/runtime/components/Edit/Features/Delete/index.vue +1 -1
  154. package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
  155. package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
  156. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +18 -10
  157. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +8 -2
  158. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +111 -121
  159. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue.d.ts +3 -132
  160. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +2 -1
  161. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +87 -61
  162. package/dist/runtime/components/Edit/Features/Duplicate/index.vue +6 -8
  163. package/dist/runtime/components/Edit/Features/Edit/index.vue +16 -22
  164. package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
  165. package/dist/runtime/components/Edit/Features/EditForm/index.vue +10 -9
  166. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Frame/index.vue +69 -4
  167. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Frame/index.vue.d.ts +2 -2
  168. package/dist/runtime/components/Edit/Features/EditableField/Overlay/Plaintext/index.vue +13 -9
  169. package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue +45 -87
  170. package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue.d.ts +2 -2
  171. package/dist/runtime/components/Edit/Features/EditableField/index.vue +45 -43
  172. package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
  173. package/dist/runtime/components/Edit/Features/EntityTitle/index.vue +33 -1
  174. package/dist/runtime/components/Edit/Features/Fragments/Dialog/index.vue +11 -9
  175. package/dist/runtime/components/Edit/Features/Fragments/index.vue +8 -6
  176. package/dist/runtime/components/Edit/Features/History/index.vue +39 -13
  177. package/dist/runtime/components/Edit/Features/Hover/Overlay/fragment.glsl +139 -0
  178. package/dist/runtime/components/Edit/Features/Hover/Overlay/index.vue +261 -0
  179. package/dist/runtime/components/Edit/Features/Hover/Overlay/index.vue.d.ts +6 -0
  180. package/dist/runtime/components/Edit/Features/Hover/Overlay/vertex.glsl +117 -0
  181. package/dist/runtime/components/Edit/Features/Hover/index.vue +25 -0
  182. package/dist/runtime/components/Edit/Features/Hover/index.vue.d.ts +2 -0
  183. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
  184. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
  185. package/dist/runtime/components/Edit/Features/Library/EditReusable/index.vue +5 -7
  186. package/dist/runtime/components/Edit/Features/Library/LibraryDialog/index.vue +19 -27
  187. package/dist/runtime/components/Edit/Features/Library/ReusableDialog/index.vue +32 -28
  188. package/dist/runtime/components/Edit/Features/Library/index.vue +40 -32
  189. package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +11 -11
  190. package/dist/runtime/components/Edit/Features/MediaLibrary/index.vue +15 -12
  191. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
  192. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +44 -32
  193. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
  194. package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +10 -18
  195. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
  196. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
  197. package/dist/runtime/components/Edit/Features/Options/Form/Group.vue.d.ts +2 -11
  198. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +14 -3
  199. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
  200. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
  201. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
  202. package/dist/runtime/components/Edit/Features/Options/Form/index.vue +88 -42
  203. package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
  204. package/dist/runtime/components/Edit/Features/Options/index.vue +35 -11
  205. package/dist/runtime/components/Edit/Features/Ownership/Renderer.vue +35 -0
  206. package/dist/runtime/components/Edit/Features/Ownership/Renderer.vue.d.ts +6 -0
  207. package/dist/runtime/components/Edit/Features/Ownership/index.vue +7 -25
  208. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
  209. package/dist/runtime/components/Edit/Features/ProxyView/index.vue +5 -1
  210. package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue +41 -14
  211. package/dist/runtime/components/Edit/Features/Publish/Dialog/Item.vue.d.ts +2 -0
  212. package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue +47 -0
  213. package/dist/runtime/components/Edit/Features/Publish/Dialog/PublishOption.vue.d.ts +19 -0
  214. package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue +83 -0
  215. package/dist/runtime/components/Edit/Features/Publish/Dialog/Summary.vue.d.ts +9 -0
  216. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +439 -123
  217. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue.d.ts +3 -14
  218. package/dist/runtime/components/Edit/Features/Publish/index.vue +57 -24
  219. package/dist/runtime/components/Edit/Features/ResponsivePreview/Frame/index.vue.d.ts +2 -13
  220. package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
  221. package/dist/runtime/components/Edit/Features/Search/Overlay/Results/Page/index.vue +15 -15
  222. package/dist/runtime/components/Edit/Features/Search/index.vue +7 -3
  223. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +85 -0
  224. package/dist/runtime/components/Edit/Features/{CommandPalette/Palette/Group → Selection/AddButtons/Overlay}/index.vue.d.ts +8 -13
  225. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/fragment.glsl +106 -0
  226. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/index.vue +440 -0
  227. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/index.vue.d.ts +32 -0
  228. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Renderer/vertex.glsl +102 -0
  229. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +387 -0
  230. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
  231. package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +15 -10
  232. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +105 -25
  233. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue.d.ts +5 -3
  234. package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +12 -3
  235. package/dist/runtime/components/Edit/Features/Selection/OverlayFallback/index.vue +2 -2
  236. package/dist/runtime/components/Edit/Features/Selection/index.vue +135 -25
  237. package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
  238. package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
  239. package/dist/runtime/components/Edit/Features/Structure/List/Field/index.vue +2 -2
  240. package/dist/runtime/components/Edit/Features/Structure/List/Item/index.vue +13 -6
  241. package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
  242. package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
  243. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
  244. package/dist/runtime/components/Edit/Features/Tour/Overlay/index.vue +3 -0
  245. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
  246. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
  247. package/dist/runtime/components/Edit/Features/Transform/index.vue +156 -70
  248. package/dist/runtime/components/Edit/Features/Translations/Banner/index.vue +17 -11
  249. package/dist/runtime/components/Edit/Features/Translations/index.vue +20 -23
  250. package/dist/runtime/components/Edit/Features/Validations/SidebarItem/index.vue +5 -5
  251. package/dist/runtime/components/Edit/Features/index.vue +17 -7
  252. package/dist/runtime/components/Edit/Form/Datepicker/index.vue +198 -0
  253. package/dist/runtime/components/Edit/Form/Datepicker/index.vue.d.ts +15 -0
  254. package/dist/runtime/components/Edit/Form/Group/index.vue.d.ts +2 -4
  255. package/dist/runtime/components/Edit/Form/Item/index.vue.d.ts +2 -4
  256. package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
  257. package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
  258. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
  259. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
  260. package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
  261. package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
  262. package/dist/runtime/components/Edit/Form/Text/index.vue +34 -0
  263. package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +20 -0
  264. package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
  265. package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
  266. package/dist/runtime/components/Edit/Form/Toggle/index.vue +4 -3
  267. package/dist/runtime/components/Edit/Form/Toggle/index.vue.d.ts +12 -2
  268. package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
  269. package/dist/runtime/components/Edit/FormOverlay/index.vue.d.ts +3 -2
  270. package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
  271. package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
  272. package/dist/runtime/components/Edit/InfoBox/index.vue +6 -2
  273. package/dist/runtime/components/Edit/InfoBox/index.vue.d.ts +12 -2
  274. package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
  275. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
  276. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
  277. package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
  278. package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
  279. package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
  280. package/dist/runtime/components/Edit/Konami/Game/index.vue +752 -0
  281. package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
  282. package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
  283. package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
  284. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
  285. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
  286. package/dist/runtime/components/Edit/Konami/index.vue +44 -0
  287. package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
  288. package/dist/runtime/components/Edit/Loading/index.vue +6 -2
  289. package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
  290. package/dist/runtime/components/Edit/Messages/index.vue +8 -3
  291. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
  292. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
  293. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
  294. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
  295. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
  296. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
  297. package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
  298. package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
  299. package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
  300. package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
  301. package/dist/runtime/components/Edit/RelativeTime/index.vue.d.ts +2 -2
  302. package/dist/runtime/components/Edit/Resizable/index.vue.d.ts +1 -1
  303. package/dist/runtime/components/Edit/ScaleToFit/index.vue.d.ts +1 -1
  304. package/dist/runtime/components/Edit/ScheduleDate/index.vue +131 -0
  305. package/dist/runtime/components/Edit/ScheduleDate/index.vue.d.ts +23 -0
  306. package/dist/runtime/components/Edit/ScrollBoundary/index.vue.d.ts +2 -7
  307. package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +11 -3
  308. package/dist/runtime/components/Edit/Sortli/index.vue.d.ts +1 -1
  309. package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
  310. package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
  311. package/dist/runtime/components/Edit/Transition/Height.vue +95 -0
  312. package/dist/runtime/components/Edit/Transition/Height.vue.d.ts +36 -0
  313. package/dist/runtime/components/Edit/Transition/index.vue +41 -0
  314. package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
  315. package/dist/runtime/components/Edit/ViewportBlockingRect/index.vue.d.ts +2 -7
  316. package/dist/runtime/components/Edit/index.d.ts +28 -15
  317. package/dist/runtime/components/Edit/index.js +54 -28
  318. package/dist/runtime/composables/defineBlokkli.js +16 -3
  319. package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
  320. package/dist/runtime/composables/defineBlokkliFragment.js +8 -1
  321. package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
  322. package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
  323. package/dist/runtime/composables/useBlokkliHelper.d.ts +19 -0
  324. package/dist/runtime/composables/useBlokkliHelper.js +95 -0
  325. package/dist/runtime/constants/index.d.ts +3 -0
  326. package/dist/runtime/constants/index.js +3 -0
  327. package/dist/runtime/css/output.css +1 -1
  328. package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
  329. package/dist/runtime/helpers/addElementClasses.js +24 -0
  330. package/dist/runtime/helpers/animationProvider.d.ts +38 -2
  331. package/dist/runtime/helpers/animationProvider.js +188 -47
  332. package/dist/runtime/helpers/bundles/index.d.ts +1 -0
  333. package/dist/runtime/helpers/bundles/index.js +4 -0
  334. package/dist/runtime/helpers/composables/defineRenderer.d.ts +8 -0
  335. package/dist/runtime/helpers/composables/defineRenderer.js +8 -0
  336. package/dist/runtime/helpers/composables/useBlockRegistration.d.ts +5 -0
  337. package/dist/runtime/helpers/composables/useBlockRegistration.js +23 -0
  338. package/dist/runtime/helpers/composables/useDelayedIntersectionObserver.d.ts +1 -1
  339. package/dist/runtime/helpers/composables/useDelayedIntersectionObserver.js +3 -2
  340. package/dist/runtime/helpers/composables/useStateBasedCache.d.ts +4 -0
  341. package/dist/runtime/helpers/composables/useStateBasedCache.js +13 -0
  342. package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +23 -0
  343. package/dist/runtime/helpers/composables/useStickyToolbar.js +233 -0
  344. package/dist/runtime/helpers/definitionProvider.d.ts +3 -2
  345. package/dist/runtime/helpers/definitionProvider.js +17 -0
  346. package/dist/runtime/helpers/dom/index.d.ts +60 -0
  347. package/dist/runtime/helpers/dom/index.js +48 -0
  348. package/dist/runtime/helpers/domProvider.d.ts +58 -17
  349. package/dist/runtime/helpers/domProvider.js +320 -245
  350. package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
  351. package/dist/runtime/helpers/dropTargets/index.js +49 -0
  352. package/dist/runtime/helpers/eventBus.d.ts +1 -1
  353. package/dist/runtime/helpers/eventBus.js +2 -2
  354. package/dist/runtime/helpers/index.d.ts +10 -14
  355. package/dist/runtime/helpers/index.js +58 -121
  356. package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
  357. package/dist/runtime/helpers/indicatorsProvider.js +23 -0
  358. package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
  359. package/dist/runtime/helpers/keyboardProvider.js +17 -1
  360. package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
  361. package/dist/runtime/helpers/pluginProvider.js +33 -0
  362. package/dist/runtime/helpers/providers/blocks.d.ts +10 -0
  363. package/dist/runtime/helpers/providers/blocks.js +91 -0
  364. package/dist/runtime/helpers/providers/directive.d.ts +25 -0
  365. package/dist/runtime/helpers/providers/directive.js +208 -0
  366. package/dist/runtime/helpers/providers/element.d.ts +6 -0
  367. package/dist/runtime/helpers/providers/element.js +35 -0
  368. package/dist/runtime/helpers/providers/fields.d.ts +8 -0
  369. package/dist/runtime/helpers/providers/fields.js +47 -0
  370. package/dist/runtime/helpers/renderCycle.d.ts +1 -0
  371. package/dist/runtime/helpers/renderCycle.js +10 -0
  372. package/dist/runtime/helpers/runtimeHelpers/index.js +15 -12
  373. package/dist/runtime/helpers/selectionProvider.d.ts +27 -11
  374. package/dist/runtime/helpers/selectionProvider.js +79 -74
  375. package/dist/runtime/helpers/stateProvider.d.ts +12 -2
  376. package/dist/runtime/helpers/stateProvider.js +164 -20
  377. package/dist/runtime/helpers/storageProvider.d.ts +5 -3
  378. package/dist/runtime/helpers/storageProvider.js +61 -4
  379. package/dist/runtime/helpers/symbols.d.ts +2 -0
  380. package/dist/runtime/helpers/symbols.js +2 -0
  381. package/dist/runtime/helpers/textProvider.js +6 -0
  382. package/dist/runtime/helpers/themeProvider.d.ts +4 -1
  383. package/dist/runtime/helpers/themeProvider.js +28 -15
  384. package/dist/runtime/helpers/transform.js +1 -3
  385. package/dist/runtime/helpers/typesProvider.js +10 -26
  386. package/dist/runtime/helpers/uiProvider.d.ts +18 -3
  387. package/dist/runtime/helpers/uiProvider.js +114 -61
  388. package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
  389. package/dist/runtime/helpers/useTransitionedValue.js +57 -0
  390. package/dist/runtime/helpers/webgl/index.d.ts +11 -2
  391. package/dist/runtime/helpers/webgl/index.js +162 -7
  392. package/dist/runtime/icons/anchor.svg +1 -0
  393. package/dist/runtime/icons/arrow-left.svg +1 -1
  394. package/dist/runtime/icons/arrow-right.svg +1 -1
  395. package/dist/runtime/icons/arrow-top-right.svg +1 -0
  396. package/dist/runtime/icons/calendar-clock.svg +1 -0
  397. package/dist/runtime/icons/calendar.svg +1 -0
  398. package/dist/runtime/icons/chart.svg +1 -0
  399. package/dist/runtime/icons/clock.svg +1 -0
  400. package/dist/runtime/icons/comment_add.svg +1 -5
  401. package/dist/runtime/icons/copy.svg +1 -0
  402. package/dist/runtime/icons/cursor-move.svg +1 -1
  403. package/dist/runtime/icons/delete.svg +1 -8
  404. package/dist/runtime/icons/diff.svg +1 -1
  405. package/dist/runtime/icons/duplicate.svg +1 -12
  406. package/dist/runtime/icons/edit.svg +1 -8
  407. package/dist/runtime/icons/eye-off.svg +1 -0
  408. package/dist/runtime/icons/eye.svg +1 -1
  409. package/dist/runtime/icons/info.svg +1 -1
  410. package/dist/runtime/icons/link.svg +1 -0
  411. package/dist/runtime/icons/reusable.svg +1 -5
  412. package/dist/runtime/icons/speedometer.svg +1 -0
  413. package/dist/runtime/plugins/blokkliDirectives.js +109 -0
  414. package/dist/runtime/types/blokkOptions.d.ts +8 -0
  415. package/dist/runtime/types/index.d.ts +278 -42
  416. package/dist/runtime/types/theme.d.ts +2 -1
  417. package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
  418. package/package.json +55 -38
  419. package/dist/modules/drupal/adapter/index.d.mts +0 -6
  420. package/dist/runtime/components/Edit/DragInteractions/index.vue +0 -364
  421. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +0 -51
  422. package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
  423. package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
  424. package/dist/runtime/plugins/blokkliEditable.js +0 -31
  425. /package/dist/runtime/components/Edit/{DragInteractions → Features/Analyze}/index.vue.d.ts +0 -0
  426. /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
  427. /package/dist/runtime/components/Edit/Features/{FieldAreas → Anchors}/index.vue.d.ts +0 -0
  428. /package/dist/runtime/plugins/{blokkliEditable.d.ts → blokkliDirectives.d.ts} +0 -0
@@ -4,22 +4,15 @@
4
4
  :title="publishLabel"
5
5
  :description="publishDescription"
6
6
  :disabled="!mutations.length || !canEdit"
7
- type="success"
7
+ :type="isScheduled ? 'yellow' : 'success'"
8
8
  :weight="0"
9
9
  :icon="icon"
10
10
  @click="onMenuClick"
11
11
  />
12
12
  <Teleport to="body">
13
- <transition appear name="bk-slide-up">
14
- <PublishDialog
15
- v-if="showDialog"
16
- v-model:states="additionalEditStates"
17
- v-model:revision-message="revisionMessage"
18
- v-model:should-publish="shouldPublish"
19
- @close="showDialog = false"
20
- @submit="onSubmit"
21
- />
22
- </transition>
13
+ <BlokkliTransition name="slide-up">
14
+ <PublishDialog v-if="showDialog" @close="onClose" @submit="onSubmit" />
15
+ </BlokkliTransition>
23
16
  </Teleport>
24
17
  </template>
25
18
 
@@ -29,10 +22,13 @@ import {
29
22
  defineBlokkliFeature,
30
23
  computed,
31
24
  useRoute,
32
- ref
25
+ ref,
26
+ nextTick
33
27
  } from "#imports";
34
28
  import { PluginMenuButton } from "#blokkli/plugins";
29
+ import { BlokkliTransition } from "#blokkli/components";
35
30
  import PublishDialog from "./Dialog/index.vue";
31
+ import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
36
32
  const { adapter, settings } = defineBlokkliFeature({
37
33
  id: "publish",
38
34
  icon: "publish",
@@ -50,30 +46,42 @@ const { adapter, settings } = defineBlokkliFeature({
50
46
  }
51
47
  });
52
48
  const route = useRoute();
53
- const { state, $t, broadcast, context } = useBlokkli();
54
- const { mutations, canEdit } = state;
49
+ const { state, $t, broadcast, context, eventBus } = useBlokkli();
50
+ const { mutations, canEdit, mutateWithLoadingState } = state;
55
51
  const hasPublishOptions = !!adapter.getPublishOptions;
56
52
  const isPublished = computed(() => !!state.entity.value.status);
53
+ const isScheduled = computed(
54
+ () => !!state.publishOptions.value.publishOn
55
+ );
57
56
  const showDialog = ref(false);
58
- const additionalEditStates = ref([]);
59
- const shouldPublish = ref(!!state.entity.value.status);
60
- const revisionMessage = ref("");
61
57
  const publishLabel = computed(() => {
62
58
  const suffix = hasPublishOptions ? "..." : "";
59
+ if (isScheduled.value) {
60
+ return $t("publishManageSchedule", "Manage scheduling") + suffix;
61
+ }
63
62
  if (isPublished.value) {
64
63
  return (settings.value.closeAfterPublish ? $t("publishAndCloseLabel", "Publish & Close") : $t("publishLabel", "Publish")) + suffix;
65
64
  }
66
65
  return (settings.value.closeAfterPublish ? $t("publishAndCloseLabelUnpublished", "Save & Close") : $t("publishLabelUnpublished", "Save")) + suffix;
67
66
  });
68
- const publishDescription = computed(
69
- () => isPublished.value ? $t("publishDescription", "Publish all changes.") : $t(
67
+ const publishDescription = computed(() => {
68
+ if (isScheduled.value) {
69
+ return $t(
70
+ "publishDescriptionScheduled",
71
+ "View or change the scheduled publication"
72
+ );
73
+ }
74
+ return isPublished.value ? $t("publishDescription", "Publish all changes.") : $t(
70
75
  "publishDescriptionUnpublished",
71
76
  "Save all changes while keeping page unpublished"
72
- )
73
- );
74
- const icon = computed(
75
- () => isPublished.value ? "publish" : "save"
76
- );
77
+ );
78
+ });
79
+ const icon = computed(() => {
80
+ if (state.publishOptions.value?.publishOn) {
81
+ return "calendar-clock";
82
+ }
83
+ return isPublished.value ? "publish" : "save";
84
+ });
77
85
  const onMenuClick = async () => {
78
86
  if (hasPublishOptions) {
79
87
  showDialog.value = true;
@@ -82,6 +90,24 @@ const onMenuClick = async () => {
82
90
  await publishCurrent();
83
91
  };
84
92
  async function publishCurrent() {
93
+ const success = await mutateWithLoadingState(
94
+ () => adapter.publish({
95
+ hostEntityType: context.value.entityType,
96
+ hostEntityUuid: context.value.entityUuid,
97
+ closeAfterPublish: settings.value.closeAfterPublish
98
+ }),
99
+ $t("publishError", "Changes could not be published."),
100
+ $t("publishSuccess", "Changes published successfully.")
101
+ );
102
+ if (!success) {
103
+ const validations = state.violations.value;
104
+ if (validations.length) {
105
+ eventBus.emit("publish:failed");
106
+ eventBus.emit("sidebar:open", "violations");
107
+ }
108
+ return;
109
+ }
110
+ onSubmit();
85
111
  }
86
112
  function onSubmit() {
87
113
  broadcast.emit("published", { uuid: context.value.entityUuid });
@@ -89,6 +115,13 @@ function onSubmit() {
89
115
  window.location.href = route.path;
90
116
  }
91
117
  }
118
+ async function onClose() {
119
+ await nextTick();
120
+ showDialog.value = false;
121
+ }
122
+ onBlokkliEvent("publish:show-dialog", () => {
123
+ showDialog.value = true;
124
+ });
92
125
  </script>
93
126
 
94
127
  <script>
@@ -1,22 +1,11 @@
1
- import { Icon } from '#blokkli/components';
2
1
  type __VLS_Props = {
3
2
  detached?: boolean;
4
3
  isResizing?: boolean;
5
4
  };
6
- declare const isLoading: import("vue").Ref<boolean, boolean>;
7
- declare const iframe: import("vue").Ref<HTMLIFrameElement | null, HTMLIFrameElement | null>;
8
- declare const src: import("vue").ComputedRef<string>;
9
- declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
10
5
  declare var __VLS_5: {};
11
- type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
6
+ type __VLS_Slots = {} & {
12
7
  default?: (props: typeof __VLS_5) => any;
13
- }>;
14
- declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
15
- Icon: typeof Icon;
16
- isLoading: typeof isLoading;
17
- iframe: typeof iframe;
18
- src: typeof src;
19
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ };
20
9
  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>;
21
10
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
22
11
  export default _default;
@@ -13,7 +13,7 @@
13
13
  />
14
14
 
15
15
  <Teleport to="body">
16
- <transition appear name="bk-slide-up">
16
+ <BlokkliTransition name="slide-up">
17
17
  <DialogModal
18
18
  v-if="showConfirm"
19
19
  :title="$t('revertDialogTitle', 'Irrevocably discard changes')"
@@ -28,14 +28,14 @@
28
28
  @submit="onSubmit"
29
29
  @cancel="showConfirm = false"
30
30
  />
31
- </transition>
31
+ </BlokkliTransition>
32
32
  </Teleport>
33
33
  </template>
34
34
 
35
35
  <script setup>
36
36
  import { useBlokkli, ref, defineBlokkliFeature } from "#imports";
37
37
  import { PluginMenuButton } from "#blokkli/plugins";
38
- import { DialogModal } from "#blokkli/components";
38
+ import { DialogModal, BlokkliTransition } from "#blokkli/components";
39
39
  const { adapter } = defineBlokkliFeature({
40
40
  id: "revert",
41
41
  icon: "revert",
@@ -10,7 +10,7 @@
10
10
  @mouseenter="index = i"
11
11
  >
12
12
  <div class="bk-search-item-icon">
13
- <ItemIcon :bundle="item.item.itemBundle" />
13
+ <ItemIcon :bundle="item.item.bundle" />
14
14
  </div>
15
15
  <div class="bk-search-item-content">
16
16
  <Highlight
@@ -49,7 +49,7 @@ const props = defineProps({
49
49
  search: { type: String, required: true },
50
50
  tab: { type: String, required: true }
51
51
  });
52
- const { eventBus, state, types, dom } = useBlokkli();
52
+ const { eventBus, state, types, dom, blocks, element } = useBlokkli();
53
53
  const buildForKey = ref("");
54
54
  const items = ref([]);
55
55
  const index = ref(0);
@@ -92,28 +92,28 @@ const scrollItemIntoView = () => {
92
92
  }
93
93
  };
94
94
  const buildSearchText = (el) => {
95
- let text = el.textContent || "";
96
- el.querySelectorAll("img").forEach((img) => {
97
- if (img.alt) {
98
- text += " " + img.alt;
99
- }
100
- if (img.title) {
101
- text += " " + img.title;
95
+ if (!el) {
96
+ return "";
97
+ }
98
+ const altTexts = element.queryAll(el, "img", "buildSearchText", (el2) => {
99
+ if (el2 instanceof HTMLImageElement) {
100
+ return [el2.alt, el2.title].filter(Boolean).join("");
102
101
  }
103
- });
104
- return text;
102
+ }).join(" ");
103
+ return (el.textContent ?? "") + altTexts;
105
104
  };
106
105
  const buildIndex = () => {
107
106
  if (buildForKey.value === state.refreshKey.value) {
108
107
  return;
109
108
  }
110
- const newItems = dom.getAllBlocks().map((item) => {
111
- const title = types.getBlockBundleDefinition(item.itemBundle)?.label || item.itemBundle;
109
+ const newItems = blocks.getAllBlocks().map((item) => {
110
+ const title = types.getBlockBundleDefinition(item.bundle)?.label || item.bundle;
111
+ const element2 = dom.getDragElement(item);
112
112
  return {
113
113
  item,
114
- title: item.editTitle || title,
114
+ title,
115
115
  context: title,
116
- text: buildSearchText(item.element())
116
+ text: buildSearchText(element2)
117
117
  };
118
118
  }).filter(falsy);
119
119
  items.value = newItems;
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <Teleport to="body">
3
- <Transition name="bk-search">
3
+ <BlokkliTransition name="search">
4
4
  <div
5
5
  v-if="isRendered"
6
6
  v-show="isVisible"
@@ -15,7 +15,7 @@
15
15
  @close="isVisible = false"
16
16
  />
17
17
  </div>
18
- </Transition>
18
+ </BlokkliTransition>
19
19
  </Teleport>
20
20
  <PluginToolbarButton
21
21
  id="search"
@@ -37,6 +37,7 @@
37
37
  <script setup>
38
38
  import { nextTick, ref, useBlokkli, defineBlokkliFeature } from "#imports";
39
39
  import Overlay from "./Overlay/index.vue";
40
+ import { BlokkliTransition } from "#blokkli/components";
40
41
  import { PluginToolbarButton } from "#blokkli/plugins";
41
42
  import onBlokkliEvent from "#blokkli/helpers/composables/onBlokkliEvent";
42
43
  defineBlokkliFeature({
@@ -45,7 +46,7 @@ defineBlokkliFeature({
45
46
  label: "Search",
46
47
  description: "Provides an overlay with shortcut to search for blocks on the current page or existing content to add as blocks."
47
48
  });
48
- const { $t, selection } = useBlokkli();
49
+ const { $t, selection, ui } = useBlokkli();
49
50
  const isRendered = ref(false);
50
51
  const isVisible = ref(false);
51
52
  const overlay = ref(null);
@@ -59,6 +60,9 @@ function onClick() {
59
60
  });
60
61
  }
61
62
  onBlokkliEvent("keyPressed", (e) => {
63
+ if (ui.hasDialogOpen.value) {
64
+ return;
65
+ }
62
66
  if (e.code === "Escape") {
63
67
  isVisible.value = false;
64
68
  }
@@ -0,0 +1,85 @@
1
+ <template>
2
+ <ArtboardTooltip
3
+ id="add-buttons"
4
+ :title="label"
5
+ :anchor-el
6
+ :anchor-coordinates
7
+ class="bk-selection-add-overlay"
8
+ @close="$emit('close')"
9
+ >
10
+ <div
11
+ ref="listEl"
12
+ class="bk-selection-add-overlay-list bk-scrollbar-dark"
13
+ @wheel="onWheel"
14
+ >
15
+ <button
16
+ v-for="item in items"
17
+ :key="item.bundle"
18
+ tabindex="-1"
19
+ @click.prevent="$emit('select', item.bundle)"
20
+ >
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)"
32
+ >
33
+ <AddListItemIcon :icon="action.icon" :color="action.color" />
34
+ <span>{{ action.title }}</span>
35
+ </button>
36
+ </div>
37
+ </ArtboardTooltip>
38
+ </template>
39
+
40
+ <script setup>
41
+ import { useTemplateRef, useBlokkli, computed } from "#imports";
42
+ import { AddListItemIcon, ArtboardTooltip } from "#blokkli/components";
43
+ import { isInternalBundle } from "#blokkli/helpers/bundles";
44
+ const props = defineProps({
45
+ bundles: { type: Array, required: true },
46
+ anchorEl: { type: null, required: false },
47
+ anchorCoordinates: { type: Object, required: false },
48
+ label: { type: String, required: true }
49
+ });
50
+ defineEmits(["select", "action", "close"]);
51
+ const listEl = useTemplateRef("listEl");
52
+ let hasScrollbar = null;
53
+ const { types, plugins, storage } = useBlokkli();
54
+ const favorites = storage.use("blockFavorites", []);
55
+ const items = computed(() => {
56
+ return props.bundles.filter((bundle) => !isInternalBundle(bundle)).map((bundle) => {
57
+ return {
58
+ bundle,
59
+ label: types.getBlockBundleDefinition(bundle)?.label ?? bundle,
60
+ isFavorite: favorites.value.includes(bundle)
61
+ };
62
+ }).sort((a, b) => {
63
+ if (a.isFavorite && !b.isFavorite) return -1;
64
+ if (!a.isFavorite && b.isFavorite) return 1;
65
+ return a.label.localeCompare(b.label);
66
+ });
67
+ });
68
+ const actions = computed(() => {
69
+ return plugins.getAddActions().filter((action) => {
70
+ if (!action.itemBundle) {
71
+ return true;
72
+ }
73
+ return props.bundles.includes(action.itemBundle);
74
+ });
75
+ });
76
+ const onWheel = (e) => {
77
+ if (hasScrollbar === null) {
78
+ const element = listEl.value;
79
+ hasScrollbar = element && element.scrollHeight > element.clientHeight;
80
+ }
81
+ if (hasScrollbar) {
82
+ e.stopPropagation();
83
+ }
84
+ };
85
+ </script>
@@ -1,22 +1,17 @@
1
- import type { Command } from '#blokkli/types';
1
+ import type { Coord } from '#blokkli/types';
2
2
  type __VLS_Props = {
3
+ bundles: string[];
4
+ anchorEl?: HTMLElement;
5
+ anchorCoordinates?: Coord;
3
6
  label: string;
4
- commands: Array<Command & {
5
- _id: number;
6
- }>;
7
- visibleIds: {
8
- id: number;
9
- positions: number[];
10
- }[] | undefined;
11
- focusedId: string;
12
7
  };
13
8
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
- close: () => void;
15
- focus: (id: string) => void;
9
+ action: (id: string) => void;
16
10
  select: (id: string) => void;
11
+ close: () => void;
17
12
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
18
- onClose?: (() => any) | undefined;
19
- onFocus?: ((id: string) => any) | undefined;
13
+ onAction?: ((id: string) => any) | undefined;
20
14
  onSelect?: ((id: string) => any) | undefined;
15
+ onClose?: (() => any) | undefined;
21
16
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
17
  export default _default;
@@ -0,0 +1,106 @@
1
+ precision highp float;
2
+
3
+ varying vec4 v_quad;
4
+ varying vec2 v_circle_center;
5
+ varying float v_visible;
6
+ varying float v_is_hovered;
7
+ varying float v_scale_fade;
8
+ varying float v_rect_id;
9
+
10
+ uniform float u_dpi;
11
+ uniform vec3 u_color;
12
+ uniform vec3 u_color_hover;
13
+ uniform vec3 u_color_field;
14
+ uniform vec3 u_color_field_hover;
15
+
16
+ void main() {
17
+ // Early exit if not visible or fully faded out
18
+ if (v_visible < 0.5 || v_scale_fade < 0.01) {
19
+ discard;
20
+ }
21
+
22
+ // Calculate distance from pixel to circle center
23
+ vec2 pixelPos = gl_FragCoord.xy;
24
+ float dist = distance(pixelPos, v_circle_center);
25
+
26
+ // Circle radius (includes border)
27
+ float radius = v_quad.z / 2.0;
28
+
29
+ // Border width in pixels (must match vertex shader) - scaled by DPI
30
+ float borderWidth = 4.0 * u_dpi;
31
+
32
+ // Inner circle radius (without border)
33
+ float innerRadius = radius - borderWidth;
34
+
35
+ // Anti-aliased circle
36
+ float edgeSoftness = 1.0 * u_dpi;
37
+ float alpha = 1.0 - smoothstep(radius - edgeSoftness, radius, dist);
38
+
39
+ if (alpha < 0.01) {
40
+ discard;
41
+ }
42
+
43
+ // Calculate position relative to circle center
44
+ vec2 offset = pixelPos - v_circle_center;
45
+
46
+ // Plus dimensions relative to inner circle radius
47
+ // Reduce thickness at low DPI (zoomed out)
48
+ float plusThicknessBase = u_dpi <= 0.5 ? 1.25 : 1.5;
49
+ float plusThickness = plusThicknessBase * u_dpi;
50
+ float plusLength = innerRadius * 0.5; // 50% of inner radius
51
+ float plusSoftness = 0.25 * u_dpi;
52
+
53
+ // Calculate soft plus factor (0 = not plus, 1 = fully plus)
54
+ float horizontalDist = max(abs(offset.y) - plusThickness, 0.0);
55
+ float verticalDist = max(abs(offset.x) - plusThickness, 0.0);
56
+
57
+ float horizontalBarFactor = 0.0;
58
+ if (abs(offset.x) < plusLength) {
59
+ horizontalBarFactor = 1.0 - smoothstep(0.0, plusSoftness, horizontalDist);
60
+ }
61
+
62
+ float verticalBarFactor = 0.0;
63
+ if (abs(offset.y) < plusLength) {
64
+ verticalBarFactor = 1.0 - smoothstep(0.0, plusSoftness, verticalDist);
65
+ }
66
+
67
+ float plusFactor = max(horizontalBarFactor, verticalBarFactor);
68
+
69
+ // Check if pixel is in the border area (outside the inner circle)
70
+ bool isBorder = dist >= innerRadius && dist <= radius;
71
+
72
+ // Determine base fill color
73
+ vec3 fillColor;
74
+ bool isFieldButton = v_rect_id >= 2.0;
75
+ if (isFieldButton) {
76
+ fillColor = v_is_hovered > 0.5 ? u_color_field_hover : u_color_field;
77
+ } else {
78
+ fillColor = v_is_hovered > 0.5 ? u_color_hover : u_color;
79
+ }
80
+
81
+ // Determine final color
82
+ vec3 finalColor;
83
+ if (isBorder) {
84
+ // Soft border transition - blend from fill color to white over 0.5px
85
+ float transitionRange = 0.5 * u_dpi;
86
+ float borderStart = innerRadius;
87
+ float borderEnd = innerRadius + transitionRange;
88
+
89
+ // Calculate blend factor (0 = fill color, 1 = white)
90
+ float blendFactor = smoothstep(borderStart, borderEnd, dist);
91
+
92
+ // Blend between fill color and white
93
+ finalColor = mix(fillColor, vec3(1.0, 1.0, 1.0), blendFactor);
94
+ } else {
95
+ // Circle background
96
+ finalColor = fillColor;
97
+ }
98
+
99
+ // Apply soft plus on top
100
+ if (plusFactor > 0.0) {
101
+ finalColor = mix(finalColor, vec3(1.0, 1.0, 1.0), plusFactor);
102
+ }
103
+
104
+ // Apply scale fade to alpha
105
+ gl_FragColor = vec4(finalColor, alpha);
106
+ }