@blokkli/editor 2.0.0-alpha.12 → 2.0.0-alpha.14

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 (274) hide show
  1. package/dist/module.d.mts +1 -1
  2. package/dist/module.json +5 -5
  3. package/dist/module.mjs +4006 -1164
  4. package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
  5. package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +1 -0
  6. package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +1 -0
  7. package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
  8. package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
  9. package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
  10. package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
  11. package/dist/modules/drupal/index.d.mts +1 -1
  12. package/dist/modules/drupal/index.mjs +20 -7
  13. package/dist/modules/drupal/runtime/adapter/index.js +109 -4
  14. package/dist/runtime/adapter/index.d.ts +54 -1
  15. package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
  16. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
  17. package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
  18. package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +3 -0
  19. package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
  20. package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
  21. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
  22. package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
  23. package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
  24. package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
  25. package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +4 -4
  26. package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
  27. package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
  28. package/dist/runtime/blokkliPlugins/index.js +15 -13
  29. package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
  30. package/dist/runtime/components/BlokkliProvider.vue +1 -0
  31. package/dist/runtime/components/BlokkliProvider.vue.d.ts +1 -0
  32. package/dist/runtime/components/Edit/Actions/index.vue +39 -67
  33. package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
  34. package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
  35. package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
  36. package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
  37. package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
  38. package/dist/runtime/components/Edit/Dialog/index.vue +5 -1
  39. package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +1 -1
  40. package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
  41. package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
  42. package/dist/runtime/components/Edit/DragInteractions/index.vue +45 -8
  43. package/dist/runtime/components/Edit/EditProvider.vue +46 -35
  44. package/dist/runtime/components/Edit/Features/AddList/index.vue +15 -25
  45. package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
  46. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +168 -0
  47. package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
  48. package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
  49. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
  50. package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
  51. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
  52. package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
  53. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
  54. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
  55. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
  56. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
  57. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +101 -0
  58. package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
  59. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
  60. package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
  61. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
  62. package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
  63. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
  64. package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
  65. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
  66. package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
  67. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
  68. package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
  69. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
  70. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
  71. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
  72. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
  73. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
  74. package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
  75. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
  76. package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
  77. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
  78. package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
  79. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
  80. package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
  81. package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
  82. package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
  83. package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
  84. package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +136 -0
  85. package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
  86. package/dist/runtime/components/Edit/Features/Anchors/index.vue.d.ts +2 -0
  87. package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
  88. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +296 -0
  89. package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
  90. package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -245
  91. package/dist/runtime/components/Edit/Features/Assistant/index.vue +3 -2
  92. package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +4 -4
  93. package/dist/runtime/components/Edit/Features/Clipboard/index.vue +161 -28
  94. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +16 -4
  95. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue.d.ts +0 -1
  96. package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +4 -53
  97. package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +3 -2
  98. package/dist/runtime/components/Edit/Features/Conversions/index.vue +12 -14
  99. package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
  100. package/dist/runtime/components/Edit/Features/Debug/index.vue +27 -24
  101. package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
  102. package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
  103. package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +4 -4
  104. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +1 -1
  105. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +35 -71
  106. package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +1 -1
  107. package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +62 -48
  108. package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
  109. package/dist/runtime/components/Edit/Features/EditForm/index.vue +3 -3
  110. package/dist/runtime/components/Edit/Features/EditableField/index.vue +6 -2
  111. package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
  112. package/dist/runtime/components/Edit/Features/Fragments/index.vue +3 -2
  113. package/dist/runtime/components/Edit/Features/History/index.vue +35 -12
  114. package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
  115. package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
  116. package/dist/runtime/components/Edit/Features/Library/index.vue +11 -9
  117. package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +5 -8
  118. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
  119. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +9 -4
  120. package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
  121. package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +8 -14
  122. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
  123. package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
  124. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +9 -3
  125. package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
  126. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
  127. package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
  128. package/dist/runtime/components/Edit/Features/Options/Form/index.vue +81 -37
  129. package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
  130. package/dist/runtime/components/Edit/Features/Options/index.vue +30 -6
  131. package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
  132. package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +1 -0
  133. package/dist/runtime/components/Edit/Features/Publish/index.vue +3 -2
  134. package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
  135. package/dist/runtime/components/Edit/Features/Search/index.vue +3 -2
  136. package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue +54 -0
  137. package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue.d.ts +14 -0
  138. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +120 -0
  139. package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue.d.ts +15 -0
  140. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +459 -0
  141. package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
  142. package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +15 -10
  143. package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +32 -11
  144. package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +1 -1
  145. package/dist/runtime/components/Edit/Features/Selection/index.vue +76 -7
  146. package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
  147. package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
  148. package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
  149. package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
  150. package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
  151. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
  152. package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
  153. package/dist/runtime/components/Edit/Features/Transform/index.vue +155 -44
  154. package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
  155. package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
  156. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
  157. package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
  158. package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
  159. package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
  160. package/dist/runtime/components/Edit/Form/Text/index.vue +33 -0
  161. package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +19 -0
  162. package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
  163. package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
  164. package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
  165. package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
  166. package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
  167. package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
  168. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
  169. package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
  170. package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
  171. package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
  172. package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
  173. package/dist/runtime/components/Edit/Konami/Game/index.vue +745 -0
  174. package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
  175. package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
  176. package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
  177. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
  178. package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
  179. package/dist/runtime/components/Edit/Konami/index.vue +44 -0
  180. package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
  181. package/dist/runtime/components/Edit/Loading/index.vue +6 -2
  182. package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
  183. package/dist/runtime/components/Edit/Messages/index.vue +8 -3
  184. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
  185. package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
  186. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
  187. package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
  188. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
  189. package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
  190. package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
  191. package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
  192. package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
  193. package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
  194. package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +8 -3
  195. package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
  196. package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
  197. package/dist/runtime/components/Edit/Transition/index.vue +41 -0
  198. package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
  199. package/dist/runtime/components/Edit/index.d.ts +23 -15
  200. package/dist/runtime/components/Edit/index.js +44 -28
  201. package/dist/runtime/composables/defineBlokkli.js +7 -3
  202. package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
  203. package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
  204. package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
  205. package/dist/runtime/composables/useBlokkliHelper.js +1 -1
  206. package/dist/runtime/constants/index.d.ts +3 -0
  207. package/dist/runtime/constants/index.js +3 -0
  208. package/dist/runtime/css/output.css +1 -1
  209. package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
  210. package/dist/runtime/helpers/addElementClasses.js +24 -0
  211. package/dist/runtime/helpers/animationProvider.d.ts +4 -2
  212. package/dist/runtime/helpers/animationProvider.js +7 -2
  213. package/dist/runtime/helpers/bundles/index.d.ts +1 -0
  214. package/dist/runtime/helpers/bundles/index.js +4 -0
  215. package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +20 -0
  216. package/dist/runtime/helpers/composables/useStickyToolbar.js +215 -0
  217. package/dist/runtime/helpers/definitionProvider.d.ts +2 -1
  218. package/dist/runtime/helpers/definitionProvider.js +17 -0
  219. package/dist/runtime/helpers/dom/index.d.ts +59 -0
  220. package/dist/runtime/helpers/dom/index.js +48 -0
  221. package/dist/runtime/helpers/domProvider.d.ts +2 -1
  222. package/dist/runtime/helpers/domProvider.js +89 -43
  223. package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
  224. package/dist/runtime/helpers/dropTargets/index.js +49 -0
  225. package/dist/runtime/helpers/eventBus.d.ts +1 -1
  226. package/dist/runtime/helpers/eventBus.js +2 -2
  227. package/dist/runtime/helpers/index.d.ts +10 -1
  228. package/dist/runtime/helpers/index.js +57 -0
  229. package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
  230. package/dist/runtime/helpers/indicatorsProvider.js +23 -0
  231. package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
  232. package/dist/runtime/helpers/keyboardProvider.js +17 -1
  233. package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
  234. package/dist/runtime/helpers/pluginProvider.js +33 -0
  235. package/dist/runtime/helpers/renderCycle.d.ts +1 -0
  236. package/dist/runtime/helpers/renderCycle.js +10 -0
  237. package/dist/runtime/helpers/runtimeHelpers/index.js +14 -11
  238. package/dist/runtime/helpers/selectionProvider.d.ts +16 -0
  239. package/dist/runtime/helpers/selectionProvider.js +47 -35
  240. package/dist/runtime/helpers/stateProvider.d.ts +6 -2
  241. package/dist/runtime/helpers/stateProvider.js +58 -14
  242. package/dist/runtime/helpers/storageProvider.d.ts +4 -3
  243. package/dist/runtime/helpers/storageProvider.js +56 -3
  244. package/dist/runtime/helpers/symbols.d.ts +1 -0
  245. package/dist/runtime/helpers/symbols.js +1 -0
  246. package/dist/runtime/helpers/textProvider.js +6 -0
  247. package/dist/runtime/helpers/themeProvider.d.ts +2 -0
  248. package/dist/runtime/helpers/themeProvider.js +4 -1
  249. package/dist/runtime/helpers/transform.js +1 -3
  250. package/dist/runtime/helpers/uiProvider.d.ts +7 -2
  251. package/dist/runtime/helpers/uiProvider.js +49 -47
  252. package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
  253. package/dist/runtime/helpers/useTransitionedValue.js +57 -0
  254. package/dist/runtime/icons/anchor.svg +1 -0
  255. package/dist/runtime/icons/arrow-left.svg +1 -1
  256. package/dist/runtime/icons/arrow-right.svg +1 -1
  257. package/dist/runtime/icons/arrow-top-right.svg +1 -0
  258. package/dist/runtime/icons/chart.svg +1 -0
  259. package/dist/runtime/icons/copy.svg +1 -0
  260. package/dist/runtime/icons/cursor-move.svg +1 -1
  261. package/dist/runtime/icons/diff.svg +1 -1
  262. package/dist/runtime/icons/eye.svg +1 -1
  263. package/dist/runtime/icons/info.svg +1 -1
  264. package/dist/runtime/icons/link.svg +1 -0
  265. package/dist/runtime/icons/speedometer.svg +1 -0
  266. package/dist/runtime/types/blokkOptions.d.ts +8 -0
  267. package/dist/runtime/types/index.d.ts +163 -5
  268. package/dist/runtime/types/theme.d.ts +2 -1
  269. package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
  270. package/package.json +55 -38
  271. package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
  272. package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
  273. /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay → Analyze}/index.vue.d.ts +0 -0
  274. /package/dist/runtime/components/Edit/Features/{FieldAreas/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
@@ -2,29 +2,37 @@ import {
2
2
  onMounted,
3
3
  onBeforeUnmount,
4
4
  ref,
5
- computed,
6
- watch
5
+ computed
7
6
  } from "vue";
8
7
  import { eventBus } from "./eventBus.js";
9
8
  import { falsy } from "./index.js";
10
- const ARTBOARD_CLASS = "bk-is-artboard";
9
+ import { addElementClasses } from "./addElementClasses.js";
10
+ import { defaultLanguage, forceDefaultLanguage } from "#blokkli-build/config";
11
11
  const CLASS_PROXY_MODE = "bk-is-proxy-mode";
12
- export default function(storage, state) {
12
+ export default function(storage, state, context) {
13
13
  let cachedRootElement = null;
14
14
  let cachedArtboardElement = null;
15
15
  let cachedProviderElement = null;
16
+ const interfaceLanguage = computed(() => {
17
+ return forceDefaultLanguage ? defaultLanguage : context.value.language;
18
+ });
16
19
  const isProxyMode = ref(false);
17
20
  const menuIsOpen = ref(false);
21
+ const hasDialogOpen = ref(false);
22
+ const hasAddTooltipOpen = ref(false);
23
+ const hasTransformOverlayOpen = ref(false);
18
24
  const isAnimating = ref(false);
25
+ const isAnalyzing = ref(false);
19
26
  const transformLabel = ref("");
20
27
  const openContextMenu = ref("");
21
28
  const selectionTopLeft = ref({ x: 0, y: 0 });
22
- const useAnimationsSetting = storage.use("useAnimations", true);
23
- const useAnimations = computed(() => useAnimationsSetting.value);
24
29
  const baseSettings = storage.use("feature:settings:settings", {});
25
30
  const lowPerformanceMode = computed(
26
31
  () => baseSettings.value.lowPerformanceMode
27
32
  );
33
+ const useAnimations = computed(
34
+ () => baseSettings.value.useAnimations !== false
35
+ );
28
36
  const viewportBlockingRectsMap = ref(
29
37
  {}
30
38
  );
@@ -109,16 +117,6 @@ export default function(storage, state) {
109
117
  eventBus.emit("ui:resized");
110
118
  }, 400);
111
119
  };
112
- const isArtboard = () => {
113
- return document.documentElement.classList.contains(ARTBOARD_CLASS);
114
- };
115
- watch(isAnimating, (is) => {
116
- if (is) {
117
- document.documentElement.classList.add("bk-is-animating");
118
- } else {
119
- document.documentElement.classList.remove("bk-is-animating");
120
- }
121
- });
122
120
  const toolbarHeight = computed(() => {
123
121
  if (isMobile.value) {
124
122
  return 80;
@@ -200,35 +198,6 @@ export default function(storage, state) {
200
198
  height: visibleViewportHeight.value - 20
201
199
  };
202
200
  });
203
- function setProxyModeClass() {
204
- document.documentElement.classList.remove(CLASS_PROXY_MODE);
205
- if (isProxyMode.value) {
206
- document.documentElement.classList.add(CLASS_PROXY_MODE);
207
- }
208
- }
209
- watch(isProxyMode, setProxyModeClass);
210
- onMounted(() => {
211
- document.documentElement.classList.add("bk-html-root");
212
- document.body.classList.add("bk-body");
213
- document.documentElement.classList.add(ARTBOARD_CLASS);
214
- setProxyModeClass();
215
- viewportWidth.value = window.innerWidth;
216
- viewportHeight.value = window.innerHeight;
217
- window.addEventListener("resize", onResize);
218
- const artboard = artboardElement();
219
- resizeObserver.observe(artboard);
220
- });
221
- onBeforeUnmount(() => {
222
- window.removeEventListener("resize", onResize);
223
- document.documentElement.classList.remove("bk-html-root");
224
- document.body.classList.remove("bk-body");
225
- document.documentElement.classList.remove(ARTBOARD_CLASS);
226
- document.documentElement.classList.remove(CLASS_PROXY_MODE);
227
- clearTimeout(resizeTimeout);
228
- const artboard = artboardElement();
229
- resizeObserver.unobserve(artboard);
230
- resizeObserver.disconnect();
231
- });
232
201
  const viewport = computed(() => {
233
202
  return {
234
203
  width: viewportWidth.value,
@@ -260,6 +229,35 @@ export default function(storage, state) {
260
229
  function setTransform(label) {
261
230
  transformLabel.value = label || "";
262
231
  }
232
+ addElementClasses(document.documentElement, "bk-is-animating", isAnimating);
233
+ addElementClasses(
234
+ document.documentElement,
235
+ "bk-has-sidebar-left",
236
+ activeSidebarLeft
237
+ );
238
+ addElementClasses(
239
+ document.documentElement,
240
+ "bk-has-sidebar-right",
241
+ activeSidebarRight
242
+ );
243
+ addElementClasses(document.documentElement, ["bk-html-root"]);
244
+ addElementClasses(document.body, "bk-body");
245
+ addElementClasses(document.documentElement, CLASS_PROXY_MODE, isProxyMode);
246
+ addElementClasses(document.documentElement, "bk-is-analyzing", isAnalyzing);
247
+ onMounted(() => {
248
+ viewportWidth.value = window.innerWidth;
249
+ viewportHeight.value = window.innerHeight;
250
+ window.addEventListener("resize", onResize);
251
+ const artboard = artboardElement();
252
+ resizeObserver.observe(artboard);
253
+ });
254
+ onBeforeUnmount(() => {
255
+ window.removeEventListener("resize", onResize);
256
+ clearTimeout(resizeTimeout);
257
+ const artboard = artboardElement();
258
+ resizeObserver.unobserve(artboard);
259
+ resizeObserver.disconnect();
260
+ });
263
261
  return {
264
262
  menu: {
265
263
  isOpen: menuIsOpen,
@@ -271,8 +269,8 @@ export default function(storage, state) {
271
269
  providerElement,
272
270
  isMobile,
273
271
  isDesktop,
274
- isArtboard,
275
272
  isAnimating,
273
+ isAnalyzing,
276
274
  isTransforming,
277
275
  setTransform,
278
276
  transformLabel: computed(() => transformLabel.value),
@@ -293,6 +291,10 @@ export default function(storage, state) {
293
291
  selectionTopLeft,
294
292
  lowPerformanceMode,
295
293
  getAbsoluteElementRect,
296
- getViewportRelativeRect
294
+ getViewportRelativeRect,
295
+ interfaceLanguage,
296
+ hasDialogOpen,
297
+ hasTransformOverlayOpen,
298
+ hasAddTooltipOpen
297
299
  };
298
300
  }
@@ -0,0 +1,18 @@
1
+ import type { RGB } from '#blokkli/types/theme';
2
+ interface TransitionOptions {
3
+ /**
4
+ * Duration in milliseconds.
5
+ */
6
+ duration?: number;
7
+ /**
8
+ * The easing method. Defaults to "ease out quad".
9
+ */
10
+ easing?: (t: number) => number;
11
+ }
12
+ /**
13
+ * Creates a computed property from the given callback and transitions between values.
14
+ *
15
+ * Returns a method that, when called, will return the current transitioned value.
16
+ */
17
+ export declare function useTransitionedValue<T extends RGB | number>(valueCallback: () => T, options?: TransitionOptions): () => T;
18
+ export {};
@@ -0,0 +1,57 @@
1
+ import { computed, watch } from "vue";
2
+ import { easeOutQuad } from "./easing.js";
3
+ function isRGB(value) {
4
+ return Array.isArray(value) && value.length === 3;
5
+ }
6
+ function lerp(start, end, t) {
7
+ return start + (end - start) * t;
8
+ }
9
+ function interpolateColor(from, to, t) {
10
+ return [
11
+ lerp(from[0], to[0], t),
12
+ lerp(from[1], to[1], t),
13
+ lerp(from[2], to[2], t)
14
+ ];
15
+ }
16
+ function interpolateValue(from, to, t) {
17
+ if (isRGB(from) && isRGB(to)) {
18
+ return interpolateColor(from, to, t);
19
+ } else if (typeof from === "number" && typeof to === "number") {
20
+ return lerp(from, to, t);
21
+ }
22
+ return to;
23
+ }
24
+ function cloneValue(value) {
25
+ if (isRGB(value)) {
26
+ return [...value];
27
+ }
28
+ return value;
29
+ }
30
+ export function useTransitionedValue(valueCallback, options = {}) {
31
+ const { duration = 300, easing = easeOutQuad } = options;
32
+ const value = computed(valueCallback);
33
+ const initial = value.value;
34
+ let current = cloneValue(initial);
35
+ let target = cloneValue(initial);
36
+ let from = cloneValue(initial);
37
+ let startTime = null;
38
+ watch(value, (newValue) => {
39
+ from = cloneValue(current);
40
+ target = cloneValue(newValue);
41
+ startTime = Date.now();
42
+ });
43
+ return function getCurrentValue() {
44
+ if (startTime !== null) {
45
+ const elapsed = Date.now() - startTime;
46
+ const rawProgress = Math.min(elapsed / duration, 1);
47
+ if (rawProgress >= 1) {
48
+ current = cloneValue(target);
49
+ startTime = null;
50
+ } else {
51
+ const easedProgress = easing(rawProgress);
52
+ current = interpolateValue(from, target, easedProgress);
53
+ }
54
+ }
55
+ return current;
56
+ };
57
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A3 3 0 0 0 9 5A3 3 0 0 0 11 7.83V9H8V11H11V19.92C10.26 19.79 9.5 19.58 8.79 19.27C8.05 18.95 7.4 18.56 6.82 18.09C6.24 17.62 5.78 17.11 5.44 16.55L7 15L3 12V15C3 15.97 3.27 16.88 3.82 17.72C4.37 18.56 5.09 19.31 6 19.95C6.87 20.59 7.84 21.09 8.88 21.45C9.93 21.81 10.97 22 12 22C13.03 22 14.07 21.8 15.12 21.44C16.16 21.08 17.13 20.58 18 19.95C18.92 19.31 19.63 18.57 20.18 17.72C20.73 16.88 21 15.97 21 15V12L17 15L18.56 16.55C18.22 17.11 17.76 17.62 17.18 18.09C16.6 18.56 15.95 18.95 15.21 19.27C14.5 19.58 13.74 19.79 13 19.92V11H16V9H13V7.82A3 3 0 0 0 15 5A3 3 0 0 0 12 2M12 4A1 1 0 0 1 13 5A1 1 0 0 1 12 6A1 1 0 0 1 11 5A1 1 0 0 1 12 4Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>arrow-left</title><path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20,11V13H8L13.5,18.5L12.08,19.92L4.16,12L12.08,4.08L13.5,5.5L8,11H20Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>arrow-right</title><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4,11V13H16L10.5,18.5L11.92,19.92L19.84,12L11.92,4.08L10.5,5.5L16,11H4Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5,17.59L15.59,7H9V5H19V15H17V8.41L6.41,19L5,17.59Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>cursor-move</title><path d="M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13,6V11H18V7.75L22.25,12L18,16.25V13H13V18H16.25L12,22.25L7.75,18H11V13H6V16.25L1.75,12L6,7.75V11H11V6H7.75L12,1.75L16.25,6H13Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>select-compare</title><path d="M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13,23H11V1H13V23M9,19H5V5H9V3H5C3.89,3 3,3.89 3,5V19C3,20.11 3.9,21 5,21H9V19M19,7V9H21V7H19M19,5H21C21,3.89 20.1,3 19,3V5M21,15H19V17H21V15M19,11V13H21V11H19M17,3H15V5H17V3M19,21C20.11,21 21,20.11 21,19H19V21M17,19H15V21H17V19Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>eye</title><path d="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z" /></svg>
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><title>information-slab-circle</title><path d="M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M11 7H13V9H11V7M14 17H10V15H11V13H10V11H13V15H14V17Z" /></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22M11 7H13V9H11V7M14 17H10V15H11V13H10V11H13V15H14V17Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z" /></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12,16A3,3 0 0,1 9,13C9,11.88 9.61,10.9 10.5,10.39L20.21,4.77L14.68,14.35C14.18,15.33 13.17,16 12,16M12,3C13.81,3 15.5,3.5 16.97,4.32L14.87,5.53C14,5.19 13,5 12,5A8,8 0 0,0 4,13C4,15.21 4.89,17.21 6.34,18.65H6.35C6.74,19.04 6.74,19.67 6.35,20.06C5.96,20.45 5.32,20.45 4.93,20.07V20.07C3.12,18.26 2,15.76 2,13A10,10 0 0,1 12,3M22,13C22,15.76 20.88,18.26 19.07,20.07V20.07C18.68,20.45 18.05,20.45 17.66,20.06C17.27,19.67 17.27,19.04 17.66,18.65V18.65C19.11,17.2 20,15.21 20,13C20,12 19.81,11 19.46,10.1L20.67,8C21.5,9.5 22,11.18 22,13Z" /></svg>
@@ -3,6 +3,7 @@ type DefinitionOptionText = {
3
3
  type: 'text';
4
4
  default: string;
5
5
  label: string;
6
+ description?: string;
6
7
  inputType?: 'text' | 'number' | 'date';
7
8
  group?: string;
8
9
  };
@@ -10,6 +11,7 @@ type DefinitionOptionNumber = {
10
11
  type: 'number';
11
12
  default: number;
12
13
  label: string;
14
+ description?: string;
13
15
  min: number;
14
16
  max: number;
15
17
  group?: string;
@@ -18,6 +20,7 @@ type DefinitionOptionRange = {
18
20
  type: 'range';
19
21
  default: number;
20
22
  label: string;
23
+ description?: string;
21
24
  min: number;
22
25
  max: number;
23
26
  step: number;
@@ -26,6 +29,7 @@ type DefinitionOptionRange = {
26
29
  type DefinitionOptionDateTimeLocal = {
27
30
  type: 'datetime-local';
28
31
  label: string;
32
+ description?: string;
29
33
  default?: string;
30
34
  min?: string;
31
35
  max?: string;
@@ -35,17 +39,20 @@ type DefinitionOptionCheckbox = {
35
39
  type: 'checkbox';
36
40
  default: boolean;
37
41
  label: string;
42
+ description?: string;
38
43
  group?: string;
39
44
  };
40
45
  type DefinitionOptionColor = {
41
46
  type: 'color';
42
47
  default: `#${string}`;
43
48
  label: string;
49
+ description?: string;
44
50
  group?: string;
45
51
  };
46
52
  type DefinitionOptionCheckboxes = {
47
53
  type: 'checkboxes';
48
54
  label: string;
55
+ description?: string;
49
56
  /**
50
57
  * The default values.
51
58
  */
@@ -85,6 +92,7 @@ type DefinitionOptionRadiosIcons = {
85
92
  type DefinitionOptionRadios = {
86
93
  type: 'radios';
87
94
  label: string;
95
+ description?: string;
88
96
  default: string;
89
97
  group?: string;
90
98
  } & (DefinitionOptionRadiosColors | DefinitionOptionRadiosGrid | DefinitionOptionRadiosRadios | DefinitionOptionRadiosIcons);
@@ -9,6 +9,7 @@ import type { UiProvider } from '../helpers/uiProvider.js';
9
9
  import type { AnimationProvider } from '../helpers/animationProvider.js';
10
10
  import type { StateProvider } from '../helpers/stateProvider.js';
11
11
  import type { TextProvider } from '../helpers/textProvider.js';
12
+ import type { PluginProvider } from '../helpers/pluginProvider.js';
12
13
  import type { eventBus } from './../helpers/eventBus.js';
13
14
  import type { BlockOptionDefinition } from './blokkOptions.js';
14
15
  import type { BlokkliAdapter, AdapterContext, MutationResponseLike } from './../adapter/index.js';
@@ -26,6 +27,7 @@ import type { RGB } from './theme.js';
26
27
  import type { DebugProvider } from '#blokkli/helpers/debugProvider';
27
28
  import type getVideoId from 'get-video-id';
28
29
  import type { DefinitionProvider } from '../helpers/definitionProvider.js';
30
+ import type { IndicatorsProvider } from '#blokkli/helpers/indicatorsProvider';
29
31
  export type MutateWithLoadingStateFunction = (promise: () => Promise<MutationResponseLike<any>> | undefined, errorMessage?: string, successMessage?: string) => Promise<boolean>;
30
32
  type GetType<T> = T extends {
31
33
  options: infer O;
@@ -89,6 +91,15 @@ export type DefineBlokkliContext<T extends BlockDefinitionOptionsInput = BlockDe
89
91
  */
90
92
  provider: ComputedRef<BlokkliProviderEntityContext | null>;
91
93
  };
94
+ export type DefineProviderContext<T extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, G extends ValidGlobalConfigKeys | undefined = undefined> = {
95
+ /**
96
+ * The reactive runtime options.
97
+ *
98
+ * This includes both the locally defined options and the inherited global
99
+ * options.
100
+ */
101
+ options: ComputedRef<(T extends BlockDefinitionOptionsInput ? WithOptions<T> : object) & (G extends ValidGlobalConfigKeys ? GlobalOptionsKeyTypes<G> : object)>;
102
+ };
92
103
  type DetermineVisibleOptionsContext<T extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, G extends GlobalOptionsKey[] | undefined = undefined, B extends BundleKey | string = string> = {
93
104
  options: (T extends BlockDefinitionOptionsInput ? WithOptions<T> : object) & (G extends ValidGlobalConfigKeys ? GlobalOptionsKeyTypes<G> : object);
94
105
  parentType: BlockBundleWithNested | undefined;
@@ -99,7 +110,7 @@ type DetermineVisibleOptionsContext<T extends BlockDefinitionOptionsInput = Bloc
99
110
  type ExtractGlobalOptions<G extends GlobalOptionsKey[]> = G[number] extends GlobalOptionsKey ? G[number] : never;
100
111
  type CombineKeysAndGlobalOptions<T extends BlockDefinitionOptionsInput, G extends GlobalOptionsKey[] | undefined> = keyof T | ExtractGlobalOptions<NonNullable<G>>;
101
112
  export type BlokkliDefinitionAddBehaviour = 'no-form' | 'form' | `editable:${string}`;
102
- export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined, Bundle extends BundleKey | string = string> = {
113
+ export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined, Bundle extends BundleKey | string = string, PropsType = Bundle extends BundleKey ? BundleProps[Bundle] : Record<string, any>> = {
103
114
  /**
104
115
  * Determine which options should be visible in the editor based on the
105
116
  * given context.
@@ -234,7 +245,7 @@ export type BlokkliDefinitionInputEditor<Options extends BlockDefinitionOptionsI
234
245
  * You can also return HTML as the value. The feature uses an HTML differ to
235
246
  * render the diff.
236
247
  */
237
- mapDiffProps?: (props?: any) => Record<string, string>;
248
+ mapDiffProps?: (props?: PropsType) => Record<string, string>;
238
249
  };
239
250
  export type BlockDefinitionRenderForParent = {
240
251
  parentBundle: BlockBundleWithNested;
@@ -396,6 +407,50 @@ export interface ConversionItem {
396
407
  sourceBundle: string;
397
408
  targetBundle: string;
398
409
  }
410
+ export type PluginConfigInputText = {
411
+ type: 'text';
412
+ name: string;
413
+ label: string;
414
+ description?: string;
415
+ required: boolean;
416
+ defaultValue?: string;
417
+ minLength?: number;
418
+ maxLength?: number;
419
+ placeholder?: string;
420
+ pattern?: string;
421
+ multiline?: boolean;
422
+ rows?: number;
423
+ };
424
+ export type PluginConfigInputSeed = {
425
+ type: 'seed';
426
+ name: string;
427
+ label: string;
428
+ description?: string;
429
+ required: boolean;
430
+ };
431
+ export type PluginConfigInputCheckbox = {
432
+ type: 'checkbox';
433
+ name: string;
434
+ label: string;
435
+ description?: string;
436
+ required: boolean;
437
+ checkboxLabel?: string;
438
+ defaultValue: boolean;
439
+ };
440
+ export type PluginConfigInputOptions = {
441
+ type: 'options';
442
+ name: string;
443
+ label: string;
444
+ description?: string;
445
+ required: boolean;
446
+ defaultValue?: string;
447
+ variant: 'select' | 'radio';
448
+ options: {
449
+ value: string;
450
+ label: string;
451
+ }[];
452
+ };
453
+ export type PluginConfigInput = PluginConfigInputText | PluginConfigInputSeed | PluginConfigInputCheckbox | PluginConfigInputOptions;
399
454
  export interface TransformPlugin {
400
455
  /**
401
456
  * The ID of the plugin.
@@ -412,7 +467,7 @@ export interface TransformPlugin {
412
467
  /**
413
468
  * The array of bundles that the transform might create.
414
469
  */
415
- targetBundles: string[];
470
+ targetBundles?: string[];
416
471
  /**
417
472
  * The minimum number of items required.
418
473
  */
@@ -421,6 +476,38 @@ export interface TransformPlugin {
421
476
  * The maximum number of items.
422
477
  */
423
478
  max: number;
479
+ configInputs?: PluginConfigInput[];
480
+ description?: string;
481
+ /**
482
+ * Whether the transform plugin supports previewing the changes first.
483
+ *
484
+ * If true, the plugin is expected to to defer producing any side effects
485
+ * to when it's executed in non-preview mode.
486
+ */
487
+ preview?: boolean;
488
+ }
489
+ export type PluginConfigInputItem = {
490
+ name: string;
491
+ value: string;
492
+ };
493
+ export interface HostTransformPlugin {
494
+ /**
495
+ * The ID of the plugin.
496
+ */
497
+ id: string;
498
+ /**
499
+ * The label of the transform plugin which is shown in the editor.
500
+ */
501
+ label: string;
502
+ configInputs?: PluginConfigInput[];
503
+ description?: string;
504
+ /**
505
+ * Whether the transform plugin supports previewing the changes first.
506
+ *
507
+ * If true, the plugin is expected to to defer producing any side effects
508
+ * to when it's executed in non-preview mode.
509
+ */
510
+ preview?: boolean;
424
511
  }
425
512
  export interface LibraryItem {
426
513
  uuid: string;
@@ -465,6 +552,7 @@ export interface MappedState {
465
552
  ownerName: string;
466
553
  mutatedState?: {
467
554
  mutatedOptions?: any;
555
+ mutatedHostOptions?: Record<string, string>;
468
556
  fields?: MutatedField[];
469
557
  violations?: Validation[];
470
558
  };
@@ -718,6 +806,10 @@ export type UpdateBlockOptionEvent = {
718
806
  key: string;
719
807
  value: string;
720
808
  };
809
+ export type UpdateHostOptionEvent = {
810
+ key: string;
811
+ value: string;
812
+ };
721
813
  export type EditBlockEvent = {
722
814
  uuid: string;
723
815
  bundle: string;
@@ -743,6 +835,7 @@ export type Message = {
743
835
  type: 'success' | 'error';
744
836
  message: string;
745
837
  additional?: string | Error | unknown;
838
+ replace?: boolean;
746
839
  };
747
840
  export type Size = {
748
841
  width: number;
@@ -789,6 +882,11 @@ export type ScrollIntoViewEvent = {
789
882
  uuid: string;
790
883
  center?: boolean;
791
884
  immediate?: boolean;
885
+ } | {
886
+ element: HTMLElement;
887
+ center?: boolean;
888
+ immediate?: boolean;
889
+ highlight?: boolean;
792
890
  };
793
891
  export type PluginMountEvent = {
794
892
  type: 'ItemDropdown';
@@ -840,7 +938,7 @@ export type BlokkliFieldElement = {
840
938
  dropAlignment?: 'vertical' | 'horizontal';
841
939
  };
842
940
  export type ActionPlacedEvent = {
843
- action: DraggableActionItem;
941
+ id: string;
844
942
  preceedingUuid?: string;
845
943
  host: DraggableHostData;
846
944
  field: BlokkliFieldElement;
@@ -906,9 +1004,17 @@ export type AnimationFrameBeforeEvent = {
906
1004
  mouseX: number;
907
1005
  mouseY: number;
908
1006
  };
1007
+ type MultiSelectStartEvent = {
1008
+ x: number;
1009
+ y: number;
1010
+ };
909
1011
  export type EventbusEvents = {
910
1012
  select: string | string[];
911
1013
  'select:unselect': undefined;
1014
+ 'select:force': string | string[];
1015
+ 'select:host': undefined;
1016
+ 'select:host:unselect': undefined;
1017
+ 'multi-select:start': MultiSelectStartEvent;
912
1018
  'item:edit': EditBlockEvent;
913
1019
  batchTranslate: undefined;
914
1020
  'dragging:start': DraggableStartEvent;
@@ -950,6 +1056,7 @@ export type EventbusEvents = {
950
1056
  'sidebar:close': undefined;
951
1057
  'sidebar:open': string;
952
1058
  'action:placed': ActionPlacedEvent;
1059
+ 'action:selected': undefined;
953
1060
  'animator:add': AnimatorAddEvent;
954
1061
  'ui:resized': undefined;
955
1062
  'add-list:change': undefined;
@@ -965,6 +1072,19 @@ export type EventbusEvents = {
965
1072
  * Edit a library item.
966
1073
  */
967
1074
  'library:edit-item': LibraryEditItemEvent;
1075
+ /**
1076
+ * Emitted when a view option is being toggled.
1077
+ */
1078
+ 'view-option:toggle': {
1079
+ id: string;
1080
+ };
1081
+ /**
1082
+ * An analyze node target was clicked.
1083
+ */
1084
+ 'analyze:click-node': {
1085
+ id: string;
1086
+ target: HTMLElement;
1087
+ };
968
1088
  };
969
1089
  export type Eventbus = Emitter<EventbusEvents>;
970
1090
  export type ItemEditContext = {
@@ -1002,6 +1122,8 @@ export interface BlokkliApp {
1002
1122
  tour: TourProvider;
1003
1123
  dropAreas: DropAreaProvider;
1004
1124
  debug: DebugProvider;
1125
+ indicators: IndicatorsProvider;
1126
+ plugins: PluginProvider;
1005
1127
  }
1006
1128
  export type PasteExistingBlocksEvent = {
1007
1129
  uuids: string[];
@@ -1132,7 +1254,7 @@ export type DropArea = {
1132
1254
  label: string;
1133
1255
  icon?: BlokkliIcon;
1134
1256
  element: HTMLElement;
1135
- onDrop: () => Promise<any>;
1257
+ onDrop: () => Promise<any> | any;
1136
1258
  };
1137
1259
  export type ContextMenuRule = {
1138
1260
  type: 'rule';
@@ -1181,6 +1303,26 @@ export type FragmentDefinitionInput<Options extends BlockDefinitionOptionsInput
1181
1303
  */
1182
1304
  editor?: BlokkliDefinitionInputEditor<Options, GlobalOptions>;
1183
1305
  };
1306
+ export type ProviderDefinitionInput<Options extends BlockDefinitionOptionsInput = BlockDefinitionOptionsInput, GlobalOptions extends GlobalOptionsKey[] | undefined = undefined> = {
1307
+ /**
1308
+ * The entity type.
1309
+ */
1310
+ entityType: string;
1311
+ /**
1312
+ * The bundle.
1313
+ */
1314
+ bundle: string;
1315
+ /**
1316
+ * Define options available for this block.
1317
+ */
1318
+ options?: Options;
1319
+ /**
1320
+ * Global options to use.
1321
+ *
1322
+ * These options will be merged with the component-specific options.
1323
+ */
1324
+ globalOptions?: GlobalOptions;
1325
+ };
1184
1326
  export type TourItem = {
1185
1327
  id: string;
1186
1328
  title: string;
@@ -1218,5 +1360,21 @@ export type GetEditStatesItem = {
1218
1360
  entity: EditEntity;
1219
1361
  currentUserIsOwner: boolean;
1220
1362
  };
1363
+ export type BlockIndicator = {
1364
+ id: string;
1365
+ uuid: string;
1366
+ element: HTMLElement;
1367
+ position: 'left' | 'right';
1368
+ };
1369
+ export type AddActionColor = 'rose' | 'lime' | 'accent';
1370
+ export type AddAction = {
1371
+ id: string;
1372
+ icon: BlokkliIcon;
1373
+ color: AddActionColor;
1374
+ itemBundle?: string;
1375
+ title: string;
1376
+ description?: string;
1377
+ enabled?: boolean;
1378
+ };
1221
1379
  declare const _default: {};
1222
1380
  export default _default;
@@ -25,7 +25,8 @@ export type ThemeContextColorGroup =
25
25
  /**
26
26
  * The lime color used for reusable blocks / library and status indicators.
27
27
  */
28
- | 'lime';
28
+ | 'lime' | 'orange';
29
+ export type ThemeColorName = ThemeColorGroup | ThemeContextColorGroup;
29
30
  export type ThemeColorShade = '50' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | '950';
30
31
  export type ThemeContextColorShade = 'light' | 'normal' | 'dark';
31
32
  export type ThemeColors = Record<ThemeColorShade, RGB>;
@@ -25,7 +25,7 @@ type ModuleFileTemplate = {
25
25
  };
26
26
  type ModuleTemplate = ModuleCodeTemplate | ModuleFileTemplate;
27
27
 
28
- type CollectedBlockType = 'main' | 'context' | 'fragment';
28
+ type CollectedBlockType = 'main' | 'context' | 'fragment' | 'provider';
29
29
  declare class CollectedBlockFile extends CollectedFile {
30
30
  folder: string;
31
31
  iconPath: string | null;