@blokkli/editor 2.0.0-alpha.36 → 2.0.0-alpha.38

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 (216) hide show
  1. package/dist/global/types/blockOptions.d.ts +4 -3
  2. package/dist/module.d.mts +2 -2
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +71 -4
  5. package/dist/modules/agent/index.d.mts +1 -1
  6. package/dist/modules/agent/index.mjs +276 -6
  7. package/dist/modules/agent/runtime/app/composables/agentProvider.js +31 -14
  8. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.d.ts +2 -20
  9. package/dist/modules/agent/runtime/app/composables/defineBlokkliAgentTool.js +0 -3
  10. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/Assistant/index.vue +2 -2
  11. package/dist/modules/agent/runtime/app/features/agent/Panel/Conversation/Item/User/index.vue +1 -2
  12. package/dist/modules/agent/runtime/app/features/agent/Panel/DebugGallery/index.vue +1 -2
  13. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.d.vue.ts +1 -0
  14. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue +66 -59
  15. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/Actions/index.vue.d.ts +1 -0
  16. package/dist/modules/agent/runtime/app/features/agent/Panel/Input/index.vue +10 -12
  17. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/de.md +2 -2
  18. package/dist/modules/agent/runtime/app/features/agent/Panel/Welcome/en.md +2 -2
  19. package/dist/modules/agent/runtime/app/features/agent/Panel/index.vue +1 -5
  20. package/dist/modules/agent/runtime/app/features/agent/index.vue +89 -37
  21. package/dist/modules/agent/runtime/app/helpers/index.d.ts +16 -19
  22. package/dist/modules/agent/runtime/app/helpers/index.js +22 -46
  23. package/dist/modules/agent/runtime/app/helpers/pageStructure.js +1 -1
  24. package/dist/modules/agent/runtime/app/tools/add_content_search_paragraph/index.js +5 -9
  25. package/dist/modules/agent/runtime/app/tools/add_fragment/index.js +2 -6
  26. package/dist/modules/agent/runtime/app/tools/add_media_paragraph/index.js +2 -6
  27. package/dist/modules/agent/runtime/app/tools/add_paragraphs/index.js +2 -3
  28. package/dist/modules/agent/runtime/app/tools/add_reusable_paragraph/index.js +2 -6
  29. package/dist/modules/agent/runtime/app/tools/add_template/index.js +2 -6
  30. package/dist/modules/agent/runtime/app/tools/analyze_content/index.d.ts +2 -0
  31. package/dist/modules/agent/runtime/app/tools/analyze_content/index.js +120 -0
  32. package/dist/modules/agent/runtime/app/tools/check_readability/index.d.ts +2 -0
  33. package/dist/modules/agent/runtime/app/tools/check_readability/index.js +57 -0
  34. package/dist/modules/agent/runtime/app/tools/duplicate_paragraphs/index.js +2 -6
  35. package/dist/modules/agent/runtime/app/tools/get_all_page_content/index.js +1 -1
  36. package/dist/modules/agent/runtime/app/tools/get_bundle_info/index.js +2 -1
  37. package/dist/modules/agent/runtime/app/tools/get_content_fields/index.js +1 -1
  38. package/dist/modules/agent/runtime/app/tools/get_paragraph_context/index.js +2 -5
  39. package/dist/modules/agent/runtime/app/tools/get_paragraph_options/index.js +2 -1
  40. package/dist/modules/agent/runtime/app/tools/get_selected_paragraphs/index.js +2 -3
  41. package/dist/modules/agent/runtime/app/tools/helpers.d.ts +53 -0
  42. package/dist/modules/agent/runtime/app/tools/helpers.js +187 -0
  43. package/dist/modules/agent/runtime/app/tools/move_paragraphs/index.js +2 -6
  44. package/dist/modules/agent/runtime/app/tools/schemas.d.ts +0 -52
  45. package/dist/modules/agent/runtime/app/tools/schemas.js +0 -187
  46. package/dist/modules/agent/runtime/app/tools/search_content/index.js +40 -47
  47. package/dist/modules/agent/runtime/app/tools/set_paragraph_options/index.js +2 -5
  48. package/dist/modules/agent/runtime/app/types/index.d.ts +0 -61
  49. package/dist/modules/agent/runtime/server/Session.d.ts +25 -6
  50. package/dist/modules/agent/runtime/server/Session.js +109 -30
  51. package/dist/modules/agent/runtime/server/SessionManager.d.ts +3 -0
  52. package/dist/modules/agent/runtime/server/SessionManager.js +4 -1
  53. package/dist/modules/agent/runtime/server/agent.js +3 -2
  54. package/dist/modules/agent/runtime/server/default-skills/fixReadability.d.ts +2 -0
  55. package/dist/modules/agent/runtime/server/default-skills/fixReadability.js +69 -0
  56. package/dist/modules/agent/runtime/server/default-system-prompts/page-context.js +28 -0
  57. package/dist/modules/agent/runtime/server/server-tools/index.d.ts +10 -2
  58. package/dist/modules/agent/runtime/server/server-tools/index.js +1 -1
  59. package/dist/modules/agent/runtime/server/server-tools/load_tools/index.js +1 -1
  60. package/dist/modules/agent/runtime/shared/types.d.ts +46 -11
  61. package/dist/modules/agent/runtime/shared/types.js +22 -10
  62. package/dist/modules/charts/index.d.mts +1 -1
  63. package/dist/modules/charts/index.mjs +21 -7
  64. package/dist/modules/charts/runtime/blokkli/skills/charts.js +6 -6
  65. package/dist/modules/charts/runtime/blokkli/tools/chart_schemas.d.ts +25 -2
  66. package/dist/modules/charts/runtime/blokkli/tools/chart_schemas.js +39 -1
  67. package/dist/modules/charts/runtime/blokkli/tools/create_chart/index.js +24 -17
  68. package/dist/modules/charts/runtime/blokkli/tools/get_chart_data/index.js +11 -19
  69. package/dist/modules/charts/runtime/blokkli/tools/get_chart_type_options/index.js +2 -4
  70. package/dist/modules/charts/runtime/blokkli/tools/update_chart/index.js +8 -20
  71. package/dist/modules/charts/runtime/chartTypes/area.d.ts +6 -1
  72. package/dist/modules/charts/runtime/chartTypes/bar.d.ts +7 -1
  73. package/dist/modules/charts/runtime/chartTypes/define.d.ts +1 -1
  74. package/dist/modules/charts/runtime/chartTypes/donut.d.ts +5 -1
  75. package/dist/modules/charts/runtime/chartTypes/heatmap.d.ts +3 -1
  76. package/dist/modules/charts/runtime/chartTypes/index.d.ts +18 -0
  77. package/dist/modules/charts/runtime/chartTypes/line.d.ts +6 -1
  78. package/dist/modules/charts/runtime/chartTypes/pie.d.ts +4 -1
  79. package/dist/modules/charts/runtime/chartTypes/radar.d.ts +6 -1
  80. package/dist/modules/charts/runtime/chartTypes/radialBar.d.ts +5 -1
  81. package/dist/modules/charts/runtime/chartTypes/shared.d.ts +20 -5
  82. package/dist/modules/charts/runtime/chartTypes/types.d.ts +6 -6
  83. package/dist/modules/charts/runtime/components/ChartRenderer/index.d.vue.ts +145 -2
  84. package/dist/modules/charts/runtime/components/ChartRenderer/index.vue +2 -2
  85. package/dist/modules/charts/runtime/components/ChartRenderer/index.vue.d.ts +145 -2
  86. package/dist/modules/charts/runtime/components/index.d.ts +1 -0
  87. package/dist/modules/charts/runtime/components/index.js +1 -0
  88. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypeOptions/index.d.vue.ts +3 -2
  89. package/dist/modules/charts/runtime/features/charts/Editor/ChartTypeOptions/index.vue.d.ts +3 -2
  90. package/dist/modules/charts/runtime/features/charts/Editor/CsvImport/index.vue +1 -2
  91. package/dist/modules/charts/runtime/features/charts/Editor/FootnoteEditor/index.vue +1 -1
  92. package/dist/modules/charts/runtime/features/charts/Editor/Preview/index.d.vue.ts +2 -0
  93. package/dist/modules/charts/runtime/features/charts/Editor/Preview/index.vue +35 -13
  94. package/dist/modules/charts/runtime/features/charts/Editor/Preview/index.vue.d.ts +2 -0
  95. package/dist/modules/charts/runtime/features/charts/Editor/index.d.vue.ts +1 -0
  96. package/dist/modules/charts/runtime/features/charts/Editor/index.vue +9 -3
  97. package/dist/modules/charts/runtime/features/charts/Editor/index.vue.d.ts +1 -0
  98. package/dist/modules/charts/runtime/features/charts/Editor/useChartEditorState.js +1 -1
  99. package/dist/modules/charts/runtime/features/charts/index.vue +6 -6
  100. package/dist/modules/charts/runtime/helpers/index.d.ts +25 -0
  101. package/dist/modules/charts/runtime/helpers/index.js +63 -0
  102. package/dist/modules/charts/runtime/types.d.ts +10 -28
  103. package/dist/modules/charts/runtime/types.js +0 -64
  104. package/dist/modules/drupal/index.d.mts +1 -1
  105. package/dist/modules/drupal/runtime/adapter/index.d.ts +3 -1
  106. package/dist/modules/drupal/runtime/adapter/index.js +4 -4
  107. package/dist/modules/table-of-contents/index.d.mts +1 -1
  108. package/dist/runtime/components/BlokkliItem.vue +1 -1
  109. package/dist/runtime/composables/defineBlokkli.js +1 -1
  110. package/dist/runtime/editor/components/AnimationCanvas/index.vue +13 -7
  111. package/dist/runtime/editor/components/Banner/index.d.vue.ts +1 -0
  112. package/dist/runtime/editor/components/Banner/index.vue +1 -1
  113. package/dist/runtime/editor/components/Banner/index.vue.d.ts +1 -0
  114. package/dist/runtime/editor/components/DropdownItem/index.d.vue.ts +1 -0
  115. package/dist/runtime/editor/components/DropdownItem/index.vue +3 -2
  116. package/dist/runtime/editor/components/DropdownItem/index.vue.d.ts +1 -0
  117. package/dist/runtime/editor/components/EditProvider.vue +7 -4
  118. package/dist/runtime/editor/components/FlexTextarea/index.d.vue.ts +4 -0
  119. package/dist/runtime/editor/components/FlexTextarea/index.vue +24 -101
  120. package/dist/runtime/editor/components/FlexTextarea/index.vue.d.ts +4 -0
  121. package/dist/runtime/editor/components/NestedEditorOverlay/index.vue +28 -9
  122. package/dist/runtime/editor/components/Popup/index.d.vue.ts +30 -0
  123. package/dist/runtime/editor/components/Popup/index.vue +82 -0
  124. package/dist/runtime/editor/components/Popup/index.vue.d.ts +30 -0
  125. package/dist/runtime/editor/components/Resizable/index.vue +4 -1
  126. package/dist/runtime/editor/components/Toolbar/index.vue +107 -6
  127. package/dist/runtime/editor/components/index.d.ts +4 -3
  128. package/dist/runtime/editor/components/index.js +6 -4
  129. package/dist/runtime/editor/composables/defineDropAreas.js +3 -3
  130. package/dist/runtime/editor/composables/defineDropHandler.d.ts +3 -0
  131. package/dist/runtime/editor/composables/defineDropHandler.js +10 -0
  132. package/dist/runtime/editor/composables/index.d.ts +1 -0
  133. package/dist/runtime/editor/composables/index.js +1 -0
  134. package/dist/runtime/editor/css/output.css +1 -1
  135. package/dist/runtime/editor/events/index.d.ts +9 -0
  136. package/dist/runtime/editor/features/add-list/index.vue +58 -1
  137. package/dist/runtime/editor/features/analyze/Main.d.vue.ts +3 -2
  138. package/dist/runtime/editor/features/analyze/Main.vue +28 -44
  139. package/dist/runtime/editor/features/analyze/Main.vue.d.ts +3 -2
  140. package/dist/runtime/editor/features/analyze/analyzers/readability.js +65 -0
  141. package/dist/runtime/editor/features/analyze/analyzers/types.d.ts +19 -0
  142. package/dist/runtime/editor/features/analyze/index.vue +18 -15
  143. package/dist/runtime/editor/features/clipboard/DropElement/Video.d.vue.ts +8 -0
  144. package/dist/runtime/editor/features/clipboard/{List/Item → DropElement}/Video.vue +1 -5
  145. package/dist/runtime/editor/features/clipboard/DropElement/Video.vue.d.ts +8 -0
  146. package/dist/runtime/editor/features/clipboard/DropElement/helpers.d.ts +1 -0
  147. package/dist/runtime/editor/features/clipboard/DropElement/helpers.js +14 -0
  148. package/dist/runtime/editor/features/clipboard/DropElement/index.d.vue.ts +16 -0
  149. package/dist/runtime/editor/features/clipboard/DropElement/index.vue +97 -0
  150. package/dist/runtime/editor/features/clipboard/DropElement/index.vue.d.ts +16 -0
  151. package/dist/runtime/editor/features/clipboard/helpers.d.ts +15 -0
  152. package/dist/runtime/editor/features/clipboard/helpers.js +62 -0
  153. package/dist/runtime/editor/features/clipboard/index.vue +585 -337
  154. package/dist/runtime/editor/features/clipboard/types.d.ts +14 -2
  155. package/dist/runtime/editor/features/dragging-overlay/DragItems/index.vue +17 -5
  156. package/dist/runtime/editor/features/dragging-overlay/Renderer/index.vue +2 -2
  157. package/dist/runtime/editor/features/dragging-overlay/index.vue +125 -219
  158. package/dist/runtime/editor/features/editable-field/Overlay/Plaintext/index.vue +4 -4
  159. package/dist/runtime/editor/features/editable-field/Overlay/index.vue +6 -0
  160. package/dist/runtime/editor/features/library/index.vue +14 -0
  161. package/dist/runtime/editor/features/media-library/index.vue +32 -1
  162. package/dist/runtime/editor/features/options/Form/ComplexType/index.d.vue.ts +11 -0
  163. package/dist/runtime/editor/features/options/Form/ComplexType/index.vue +36 -0
  164. package/dist/runtime/editor/features/options/Form/ComplexType/index.vue.d.ts +11 -0
  165. package/dist/runtime/editor/features/options/Form/Item.d.vue.ts +3 -2
  166. package/dist/runtime/editor/features/options/Form/Item.vue +10 -2
  167. package/dist/runtime/editor/features/options/Form/Item.vue.d.ts +3 -2
  168. package/dist/runtime/editor/features/options/Form/index.vue +5 -0
  169. package/dist/runtime/editor/features/search/index.vue +25 -1
  170. package/dist/runtime/editor/features/structure/index.vue +25 -1
  171. package/dist/runtime/editor/features/tour/index.vue +22 -12
  172. package/dist/runtime/editor/helpers/clipboardData/index.d.ts +11 -0
  173. package/dist/runtime/editor/helpers/clipboardData/index.js +157 -0
  174. package/dist/runtime/editor/helpers/options/index.js +5 -0
  175. package/dist/runtime/editor/icons/svg/stars.svg +5 -1
  176. package/dist/runtime/editor/plugins/Sidebar/index.d.vue.ts +13 -2
  177. package/dist/runtime/editor/plugins/Sidebar/index.vue +4 -2
  178. package/dist/runtime/editor/plugins/Sidebar/index.vue.d.ts +13 -2
  179. package/dist/runtime/editor/providers/analyze.d.ts +43 -0
  180. package/dist/runtime/editor/providers/analyze.js +78 -0
  181. package/dist/runtime/editor/providers/animation.d.ts +4 -0
  182. package/dist/runtime/editor/providers/animation.js +6 -0
  183. package/dist/runtime/editor/providers/dragdrop.d.ts +55 -0
  184. package/dist/runtime/editor/providers/dragdrop.js +37 -0
  185. package/dist/runtime/editor/providers/storage.js +15 -0
  186. package/dist/runtime/editor/providers/ui.d.ts +6 -0
  187. package/dist/runtime/editor/providers/ui.js +19 -0
  188. package/dist/runtime/editor/translations/de.json +73 -61
  189. package/dist/runtime/editor/translations/fr.json +67 -55
  190. package/dist/runtime/editor/translations/gsw_CH.json +71 -59
  191. package/dist/runtime/editor/translations/it.json +67 -55
  192. package/dist/runtime/editor/types/app.d.ts +4 -2
  193. package/dist/runtime/editor/types/draggable.d.ts +1 -0
  194. package/dist/runtime/editor/types/ui.d.ts +1 -1
  195. package/dist/runtime/helpers/injections.d.ts +1 -1
  196. package/dist/runtime/types/blockOptions.d.ts +2 -1
  197. package/dist/runtime/types/definitions.d.ts +4 -0
  198. package/dist/shared/{editor.CWQIFIEQ.d.mts → editor.BdBm1Z7C.d.mts} +12 -0
  199. package/dist/types.d.mts +1 -1
  200. package/package.json +5 -3
  201. package/dist/modules/charts/runtime/components/Fragment/BlokkliChart.d.vue.ts +0 -3
  202. package/dist/modules/charts/runtime/components/Fragment/BlokkliChart.vue +0 -29
  203. package/dist/modules/charts/runtime/components/Fragment/BlokkliChart.vue.d.ts +0 -3
  204. package/dist/runtime/editor/features/clipboard/List/Item/File.d.vue.ts +0 -4
  205. package/dist/runtime/editor/features/clipboard/List/Item/File.vue +0 -60
  206. package/dist/runtime/editor/features/clipboard/List/Item/File.vue.d.ts +0 -4
  207. package/dist/runtime/editor/features/clipboard/List/Item/Video.d.vue.ts +0 -4
  208. package/dist/runtime/editor/features/clipboard/List/Item/Video.vue.d.ts +0 -4
  209. package/dist/runtime/editor/features/clipboard/List/index.d.vue.ts +0 -11
  210. package/dist/runtime/editor/features/clipboard/List/index.vue +0 -72
  211. package/dist/runtime/editor/features/clipboard/List/index.vue.d.ts +0 -11
  212. package/dist/runtime/editor/features/tour/Popup/index.d.vue.ts +0 -9
  213. package/dist/runtime/editor/features/tour/Popup/index.vue +0 -34
  214. package/dist/runtime/editor/features/tour/Popup/index.vue.d.ts +0 -9
  215. package/dist/runtime/editor/providers/dropArea.d.ts +0 -48
  216. package/dist/runtime/editor/providers/dropArea.js +0 -22
@@ -0,0 +1,30 @@
1
+ type __VLS_Props = {
2
+ id: string;
3
+ title: string;
4
+ text?: string;
5
+ cta: string;
6
+ theme: 'default' | 'warning' | 'primary' | 'danger' | 'lime';
7
+ position: 'top-left' | 'bottom-right';
8
+ };
9
+ declare function closePopup(): void;
10
+ declare var __VLS_25: {};
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_25) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
15
+ closePopup: typeof closePopup;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ close: (...args: any[]) => void;
18
+ submit: (...args: any[]) => void;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ onClose?: ((...args: any[]) => any) | undefined;
21
+ onSubmit?: ((...args: any[]) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -0,0 +1,82 @@
1
+ <template>
2
+ <Teleport :to="ui.mainLayoutElement.value">
3
+ <BlokkliTransition name="drop-up">
4
+ <ViewportBlockingRect
5
+ v-if="shouldRender"
6
+ :id="'popup-' + id"
7
+ class="bk bk-popup"
8
+ :class="['bk-is-' + position, 'bk-is-' + id]"
9
+ >
10
+ <div class="bk-popup-title">
11
+ <h2>{{ title }}</h2>
12
+ <button class="bk-popup-close" @click="onClose">
13
+ <Icon name="bk_mdi_close" />
14
+ </button>
15
+ </div>
16
+
17
+ <div class="bk-popup-content">
18
+ <div class="bk-popup-content-text">
19
+ <slot>
20
+ <p v-if="text" v-html="text" />
21
+ </slot>
22
+ </div>
23
+
24
+ <button class="bk-button" :class="'bk-is-' + theme" @click="onSubmit">
25
+ {{ cta }}
26
+ </button>
27
+ </div>
28
+ </ViewportBlockingRect>
29
+ </BlokkliTransition>
30
+ </Teleport>
31
+ </template>
32
+
33
+ <script setup>
34
+ import {
35
+ Icon,
36
+ ViewportBlockingRect,
37
+ BlokkliTransition
38
+ } from "#blokkli/editor/components";
39
+ import { onBeforeUnmount, onMounted, ref, useBlokkli } from "#imports";
40
+ const props = defineProps({
41
+ id: { type: String, required: true },
42
+ title: { type: String, required: true },
43
+ text: { type: String, required: false },
44
+ cta: { type: String, required: true },
45
+ theme: { type: String, required: true },
46
+ position: { type: String, required: true }
47
+ });
48
+ const { ui, storage } = useBlokkli();
49
+ const hasClosed = storage.use(`popup:${props.id}:closed`, false);
50
+ const shouldRender = ref(false);
51
+ let timeout = null;
52
+ const emit = defineEmits(["submit", "close"]);
53
+ function closePopup() {
54
+ hasClosed.value = true;
55
+ shouldRender.value = false;
56
+ }
57
+ function onSubmit() {
58
+ closePopup();
59
+ emit("submit");
60
+ }
61
+ function onClose() {
62
+ closePopup();
63
+ emit("close");
64
+ }
65
+ defineExpose({
66
+ closePopup
67
+ });
68
+ onMounted(() => {
69
+ if (hasClosed.value) {
70
+ return;
71
+ }
72
+ timeout = window.setTimeout(() => {
73
+ shouldRender.value = true;
74
+ }, 1e3);
75
+ });
76
+ onBeforeUnmount(() => {
77
+ if (timeout) {
78
+ window.clearTimeout(timeout);
79
+ timeout = null;
80
+ }
81
+ });
82
+ </script>
@@ -0,0 +1,30 @@
1
+ type __VLS_Props = {
2
+ id: string;
3
+ title: string;
4
+ text?: string;
5
+ cta: string;
6
+ theme: 'default' | 'warning' | 'primary' | 'danger' | 'lime';
7
+ position: 'top-left' | 'bottom-right';
8
+ };
9
+ declare function closePopup(): void;
10
+ declare var __VLS_25: {};
11
+ type __VLS_Slots = {} & {
12
+ default?: (props: typeof __VLS_25) => any;
13
+ };
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
15
+ closePopup: typeof closePopup;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ close: (...args: any[]) => void;
18
+ submit: (...args: any[]) => void;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ onClose?: ((...args: any[]) => any) | undefined;
21
+ onSubmit?: ((...args: any[]) => any) | undefined;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
24
+ declare const _default: typeof __VLS_export;
25
+ export default _default;
26
+ type __VLS_WithSlots<T, S> = T & {
27
+ new (): {
28
+ $slots: S;
29
+ };
30
+ };
@@ -8,7 +8,10 @@
8
8
  <div class="bk-resizable-inner">
9
9
  <slot />
10
10
  </div>
11
- <button class="bk-resizable-handle" @mousedown="onMouseDown" />
11
+ <button
12
+ class="bk-resizable-handle bk-is-vertical"
13
+ @mousedown="onMouseDown"
14
+ />
12
15
  </div>
13
16
  </template>
14
17
 
@@ -7,11 +7,39 @@
7
7
  />
8
8
 
9
9
  <div
10
- v-show="activeSidebarRight"
11
- id="bk-sidebar-content-right"
12
- class="bk-sidebar bk-is-right"
13
- :class="{ 'bk-is-hidden': !sidebarVisible }"
14
- />
10
+ v-show="activeSidebarRight || activeSidebarRightBottom"
11
+ ref="sidebarRightWrapper"
12
+ class="bk-sidebar-right-wrapper"
13
+ :class="{
14
+ 'bk-is-resizing-split': isResizingSplit,
15
+ 'bk-is-split': activeSidebarRightBottom
16
+ }"
17
+ >
18
+ <div
19
+ v-show="activeSidebarRight"
20
+ id="bk-sidebar-content-right"
21
+ class="bk-sidebar bk-is-right"
22
+ :class="{ 'bk-is-hidden': !sidebarVisible }"
23
+ :style="rightSidebarStyle"
24
+ />
25
+ <div
26
+ v-show="activeSidebarRight && activeSidebarRightBottom"
27
+ class="bk bk-sidebar-resize"
28
+ @mousedown.prevent.stop="onSplitMouseDown"
29
+ >
30
+ <div>
31
+ <hr />
32
+ <hr />
33
+ <hr />
34
+ </div>
35
+ </div>
36
+ <div
37
+ v-show="activeSidebarRightBottom"
38
+ id="bk-sidebar-content-right-bottom"
39
+ class="bk-sidebar bk-is-right-bottom"
40
+ :class="{ 'bk-is-hidden': !sidebarVisible }"
41
+ />
42
+ </div>
15
43
 
16
44
  <AppMenu />
17
45
 
@@ -44,12 +72,23 @@
44
72
  id="bk-sidebar-tabs-right"
45
73
  class="bk-sidebar-container-tabs bk-is-right"
46
74
  />
75
+ <div
76
+ id="bk-sidebar-tabs-right-bottom"
77
+ class="bk-sidebar-container-tabs bk-is-right"
78
+ />
47
79
  </div>
48
80
  </template>
49
81
 
50
82
  <script setup>
51
83
  import { Icon } from "#blokkli/editor/components";
52
- import { onMounted, useBlokkli, onBeforeUnmount, computed } from "#imports";
84
+ import {
85
+ onMounted,
86
+ useBlokkli,
87
+ onBeforeUnmount,
88
+ computed,
89
+ ref,
90
+ useTemplateRef
91
+ } from "#imports";
53
92
  import AppMenu from "./../AppMenu/index.vue";
54
93
  import { onBlokkliEvent } from "#blokkli/editor/composables";
55
94
  const { ui, selection, storage, eventBus } = useBlokkli();
@@ -65,7 +104,67 @@ const sidebarVisible = computed(() => {
65
104
  });
66
105
  const activeSidebarLeft = storage.use("sidebar:active:left", "");
67
106
  const activeSidebarRight = storage.use("sidebar:active:right", "");
107
+ const activeSidebarRightBottom = storage.use("sidebar:active:right-bottom", "");
68
108
  const focusedSidebar = storage.use("sidebar:focused", "");
109
+ const splitPercent = storage.use("sidebar:right:split-percent", 50);
110
+ const sidebarRightWrapper = useTemplateRef("sidebarRightWrapper");
111
+ const activeSplitHeight = ref(null);
112
+ const isResizingSplit = ref(false);
113
+ const splitStartY = ref(0);
114
+ const splitStartHeight = ref(0);
115
+ const bothSidebarsVisible = computed(
116
+ () => !!activeSidebarRight.value && !!activeSidebarRightBottom.value
117
+ );
118
+ const rightSidebarStyle = computed(() => {
119
+ if (!bothSidebarsVisible.value) {
120
+ return {};
121
+ }
122
+ if (activeSplitHeight.value !== null) {
123
+ return { flex: `0 0 ${activeSplitHeight.value}px` };
124
+ }
125
+ return { flex: `0 0 ${splitPercent.value}%` };
126
+ });
127
+ function onSplitPointerMove(e) {
128
+ const wrapper = sidebarRightWrapper.value;
129
+ if (!wrapper) {
130
+ return;
131
+ }
132
+ const wrapperHeight = wrapper.clientHeight;
133
+ const delta = e.clientY - splitStartY.value;
134
+ const newHeight = Math.min(
135
+ Math.max(splitStartHeight.value + delta, 100),
136
+ wrapperHeight - 100
137
+ );
138
+ activeSplitHeight.value = newHeight;
139
+ }
140
+ function onSplitPointerUp() {
141
+ const wrapper = sidebarRightWrapper.value;
142
+ if (wrapper && activeSplitHeight.value !== null) {
143
+ const wrapperHeight = wrapper.clientHeight;
144
+ splitPercent.value = activeSplitHeight.value / wrapperHeight * 100;
145
+ }
146
+ activeSplitHeight.value = null;
147
+ isResizingSplit.value = false;
148
+ document.documentElement.style.cursor = "";
149
+ window.removeEventListener("mousemove", onSplitPointerMove);
150
+ window.removeEventListener("mouseup", onSplitPointerUp);
151
+ }
152
+ function onSplitMouseDown(e) {
153
+ if (ui.isMobile.value || e.button !== 0) {
154
+ return;
155
+ }
156
+ const wrapper = sidebarRightWrapper.value;
157
+ if (!wrapper) {
158
+ return;
159
+ }
160
+ const wrapperHeight = wrapper.clientHeight;
161
+ splitStartY.value = e.clientY;
162
+ splitStartHeight.value = splitPercent.value / 100 * wrapperHeight;
163
+ isResizingSplit.value = true;
164
+ document.documentElement.style.cursor = "ns-resize";
165
+ window.addEventListener("mousemove", onSplitPointerMove);
166
+ window.addEventListener("mouseup", onSplitPointerUp);
167
+ }
69
168
  const emit = defineEmits(["loaded"]);
70
169
  const onWindowMouseDown = (e) => {
71
170
  if ((e.target instanceof HTMLElement || e.target instanceof SVGElement) && !e.target.closest(".bk-sidebar-detached")) {
@@ -79,6 +178,8 @@ onMounted(() => {
79
178
  });
80
179
  onBeforeUnmount(() => {
81
180
  document.documentElement.removeEventListener("mousedown", onWindowMouseDown);
181
+ window.removeEventListener("mousemove", onSplitPointerMove);
182
+ window.removeEventListener("mouseup", onSplitPointerUp);
82
183
  });
83
184
  </script>
84
185
 
@@ -7,11 +7,11 @@ import BlockPreviewRenderer from './BlockPreviewRenderer/index.vue.js';
7
7
  import BlokkliTransition from './Transition/index.vue.js';
8
8
  import BundleSelector from './BundleSelector/index.vue.js';
9
9
  import ConfigForm from './PluginConfigForm/index.vue.js';
10
- import Dropdown from './Dropdown/index.vue.js';
11
- import DropdownItem from './DropdownItem/index.vue.js';
12
10
  import DialogModal from './Dialog/index.vue.js';
13
11
  import DiffValue from './DiffViewer/DiffValue.vue.js';
14
12
  import DiffViewerState from './DiffViewer/State.vue.js';
13
+ import Dropdown from './Dropdown/index.vue.js';
14
+ import DropdownItem from './DropdownItem/index.vue.js';
15
15
  import ErrorBoundary from './BlokkliErrorBoundary.vue.js';
16
16
  import FlexTextarea from './FlexTextarea/index.vue.js';
17
17
  import FormCheckboxes from './Form/Checkboxes/index.vue.js';
@@ -33,6 +33,7 @@ import ItemIconBox from './ItemIconBox/index.vue.js';
33
33
  import Loading from './Loading/index.vue.js';
34
34
  import NestedEditorOverlay from './NestedEditorOverlay/index.vue.js';
35
35
  import Pagination from './Pagination/index.vue.js';
36
+ import Popup from './Popup/index.vue.js';
36
37
  import RelativeTime from './RelativeTime/index.vue.js';
37
38
  import Resizable from './Resizable/index.vue.js';
38
39
  import ScaleToFit from './ScaleToFit/index.vue.js';
@@ -43,4 +44,4 @@ import Sortli from './Sortli/index.vue.js';
43
44
  import StatusIcon from './StatusIcon/index.vue.js';
44
45
  import TransitionHeight from './Transition/Height.vue.js';
45
46
  import ViewportBlockingRect from './ViewportBlockingRect/index.vue.js';
46
- export { AddListItem, ArtboardTooltip, AutoHeight, Banner, BlockPreviewItem, BlockPreviewRenderer, BlokkliTransition, BundleSelector, ConfigForm, Dropdown, DropdownItem, DialogModal, DiffValue, DiffViewerState, ErrorBoundary, FlexTextarea, FormCheckboxes, FormDatepicker, FormGroup, FormItem, FormOverlay, FormRadio, FormRadioTabs, FormSelect, FormText, FormTextarea, FormToggle, Highlight, Icon, InfoBox, ItemIcon, ItemIconBox, Loading, NestedEditorOverlay, Pagination, RelativeTime, Resizable, ScaleToFit, ScheduleDate, ScrollBoundary, ShortcutIndicator, Sortli, StatusIcon, TransitionHeight, ViewportBlockingRect, };
47
+ export { AddListItem, ArtboardTooltip, AutoHeight, Banner, BlockPreviewItem, BlockPreviewRenderer, BlokkliTransition, BundleSelector, ConfigForm, DialogModal, DiffValue, DiffViewerState, Dropdown, DropdownItem, ErrorBoundary, FlexTextarea, FormCheckboxes, FormDatepicker, FormGroup, FormItem, FormOverlay, FormRadio, FormRadioTabs, FormSelect, FormText, FormTextarea, FormToggle, Highlight, Icon, InfoBox, ItemIcon, ItemIconBox, Loading, NestedEditorOverlay, Pagination, Popup, RelativeTime, Resizable, ScaleToFit, ScheduleDate, ScrollBoundary, ShortcutIndicator, Sortli, StatusIcon, TransitionHeight, ViewportBlockingRect, };
@@ -7,11 +7,11 @@ import BlockPreviewRenderer from "./BlockPreviewRenderer/index.vue";
7
7
  import BlokkliTransition from "./Transition/index.vue";
8
8
  import BundleSelector from "./BundleSelector/index.vue";
9
9
  import ConfigForm from "./PluginConfigForm/index.vue";
10
- import Dropdown from "./Dropdown/index.vue";
11
- import DropdownItem from "./DropdownItem/index.vue";
12
10
  import DialogModal from "./Dialog/index.vue";
13
11
  import DiffValue from "./DiffViewer/DiffValue.vue";
14
12
  import DiffViewerState from "./DiffViewer/State.vue";
13
+ import Dropdown from "./Dropdown/index.vue";
14
+ import DropdownItem from "./DropdownItem/index.vue";
15
15
  import ErrorBoundary from "./BlokkliErrorBoundary.vue";
16
16
  import FlexTextarea from "./FlexTextarea/index.vue";
17
17
  import FormCheckboxes from "./Form/Checkboxes/index.vue";
@@ -33,6 +33,7 @@ import ItemIconBox from "./ItemIconBox/index.vue";
33
33
  import Loading from "./Loading/index.vue";
34
34
  import NestedEditorOverlay from "./NestedEditorOverlay/index.vue";
35
35
  import Pagination from "./Pagination/index.vue";
36
+ import Popup from "./Popup/index.vue";
36
37
  import RelativeTime from "./RelativeTime/index.vue";
37
38
  import Resizable from "./Resizable/index.vue";
38
39
  import ScaleToFit from "./ScaleToFit/index.vue";
@@ -53,11 +54,11 @@ export {
53
54
  BlokkliTransition,
54
55
  BundleSelector,
55
56
  ConfigForm,
56
- Dropdown,
57
- DropdownItem,
58
57
  DialogModal,
59
58
  DiffValue,
60
59
  DiffViewerState,
60
+ Dropdown,
61
+ DropdownItem,
61
62
  ErrorBoundary,
62
63
  FlexTextarea,
63
64
  FormCheckboxes,
@@ -79,6 +80,7 @@ export {
79
80
  Loading,
80
81
  NestedEditorOverlay,
81
82
  Pagination,
83
+ Popup,
82
84
  RelativeTime,
83
85
  Resizable,
84
86
  ScaleToFit,
@@ -1,10 +1,10 @@
1
1
  import { onBeforeUnmount, onMounted, useBlokkli } from "#imports";
2
2
  export function defineDropAreas(cb) {
3
- const { dropAreas } = useBlokkli();
3
+ const { dragdrop } = useBlokkli();
4
4
  onMounted(() => {
5
- dropAreas.add(cb);
5
+ dragdrop.addDropArea(cb);
6
6
  });
7
7
  onBeforeUnmount(() => {
8
- dropAreas.remove(cb);
8
+ dragdrop.removeDropArea(cb);
9
9
  });
10
10
  }
@@ -0,0 +1,3 @@
1
+ import type { DraggableItemTypes } from '../types/draggable.js';
2
+ import type { DropHandler } from '../providers/dragdrop.js';
3
+ export declare function defineDropHandler<K extends keyof DraggableItemTypes>(itemType: K, handler: DropHandler<K>): void;
@@ -0,0 +1,10 @@
1
+ import { onBeforeUnmount, onMounted, useBlokkli } from "#imports";
2
+ export function defineDropHandler(itemType, handler) {
3
+ const { dragdrop } = useBlokkli();
4
+ onMounted(() => {
5
+ dragdrop.registerDropHandler(itemType, handler);
6
+ });
7
+ onBeforeUnmount(() => {
8
+ dragdrop.unregisterDropHandler(itemType, handler);
9
+ });
10
+ }
@@ -2,6 +2,7 @@ export { addElementClasses } from './addElementClasses.js';
2
2
  export { defineAddAction } from './defineAddAction.js';
3
3
  export { defineCommands } from './defineCommands.js';
4
4
  export { defineDropAreas } from './defineDropAreas.js';
5
+ export { defineDropHandler } from './defineDropHandler.js';
5
6
  export { defineElementStyle } from './defineElementStyle.js';
6
7
  export { defineItemDropdownAction } from './defineItemDropdownAction.js';
7
8
  export { defineMenuButton } from './defineMenuButton.js';
@@ -2,6 +2,7 @@ export { addElementClasses } from "./addElementClasses.js";
2
2
  export { defineAddAction } from "./defineAddAction.js";
3
3
  export { defineCommands } from "./defineCommands.js";
4
4
  export { defineDropAreas } from "./defineDropAreas.js";
5
+ export { defineDropHandler } from "./defineDropHandler.js";
5
6
  export { defineElementStyle } from "./defineElementStyle.js";
6
7
  export { defineItemDropdownAction } from "./defineItemDropdownAction.js";
7
8
  export { defineMenuButton } from "./defineMenuButton.js";