@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.
- package/dist/module.d.mts +1 -1
- package/dist/module.json +5 -5
- package/dist/module.mjs +4006 -1164
- package/dist/modules/drupal/graphql/base/fragment.ParagraphsBlokkliConfigInput.graphql +31 -0
- package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +1 -0
- package/dist/modules/drupal/graphql/base/fragment.paragraphsBlokkliEditState.graphql +1 -0
- package/dist/modules/drupal/graphql/base/query.pbEntityConfig.graphql +5 -0
- package/dist/modules/drupal/graphql/features/transform.graphql +9 -1
- package/dist/modules/drupal/graphql/features/transform_host.graphql +38 -0
- package/dist/modules/drupal/graphql/mutations/update_host_options.graphql +15 -0
- package/dist/modules/drupal/index.d.mts +1 -1
- package/dist/modules/drupal/index.mjs +20 -7
- package/dist/modules/drupal/runtime/adapter/index.js +109 -4
- package/dist/runtime/adapter/index.d.ts +54 -1
- package/dist/runtime/blokkliPlugins/AddAction/index.vue +27 -3
- package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue +65 -0
- package/dist/runtime/blokkliPlugins/BlockIndicator/index.vue.d.ts +26 -0
- package/dist/runtime/blokkliPlugins/ContextMenu/Menu/index.vue +3 -0
- package/dist/runtime/blokkliPlugins/ContextMenu/index.vue +3 -2
- package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +3 -3
- package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue +49 -11
- package/dist/runtime/blokkliPlugins/ItemDropdown/index.vue.d.ts +29 -15
- package/dist/runtime/blokkliPlugins/Sidebar/Detached/index.vue +6 -7
- package/dist/runtime/blokkliPlugins/Sidebar/index.vue +2 -9
- package/dist/runtime/blokkliPlugins/Sidebar/index.vue.d.ts +4 -4
- package/dist/runtime/blokkliPlugins/ViewOption/index.vue +6 -3
- package/dist/runtime/blokkliPlugins/index.d.ts +8 -7
- package/dist/runtime/blokkliPlugins/index.js +15 -13
- package/dist/runtime/components/Blocks/Fragment/icon.svg +1 -1
- package/dist/runtime/components/BlokkliProvider.vue +1 -0
- package/dist/runtime/components/BlokkliProvider.vue.d.ts +1 -0
- package/dist/runtime/components/Edit/Actions/index.vue +39 -67
- package/dist/runtime/components/Edit/AddListItem/index.vue +2 -5
- package/dist/runtime/components/Edit/AddListItem/index.vue.d.ts +1 -1
- package/dist/runtime/components/Edit/AddListItemIcon/index.vue +19 -0
- package/dist/runtime/components/Edit/AddListItemIcon/index.vue.d.ts +15 -0
- package/dist/runtime/components/Edit/AppMenu/index.vue +5 -5
- package/dist/runtime/components/Edit/Dialog/index.vue +5 -1
- package/dist/runtime/components/Edit/Dialog/index.vue.d.ts +1 -1
- package/dist/runtime/components/Edit/DiffViewer/State.vue +276 -0
- package/dist/runtime/components/Edit/DiffViewer/State.vue.d.ts +16 -0
- package/dist/runtime/components/Edit/DragInteractions/index.vue +45 -8
- package/dist/runtime/components/Edit/EditProvider.vue +46 -35
- package/dist/runtime/components/Edit/Features/AddList/index.vue +15 -25
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/fragment.glsl +58 -0
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue +168 -0
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/index.vue.d.ts +9 -0
- package/dist/runtime/components/Edit/Features/Analyze/Overlay/vertex.glsl +72 -0
- package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue +159 -0
- package/dist/runtime/components/Edit/Features/Analyze/Renderer.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue +100 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Results.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue +56 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItem.vue.d.ts +3 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue +87 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodes.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue +101 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/ResultsItemNodesTarget.vue.d.ts +8 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue +18 -0
- package/dist/runtime/components/Edit/Features/Analyze/Results/Status.vue.d.ts +8 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue +92 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/Chart.vue.d.ts +17 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue +77 -0
- package/dist/runtime/components/Edit/Features/Analyze/Summary/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.d.ts +12 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/axe.js +75 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.d.ts +4 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/defineAnalyzer.js +5 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.d.ts +32 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/Context.js +45 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.d.ts +5 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/collectTextElements.js +95 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.d.ts +3 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/helpers/normalizeArray.js +13 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/index.js +2 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/readability.js +165 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.d.ts +44 -0
- package/dist/runtime/components/Edit/Features/Analyze/analyzers/types.js +0 -0
- package/dist/runtime/components/Edit/Features/Analyze/helper.d.ts +5 -0
- package/dist/runtime/components/Edit/Features/Analyze/helper.js +28 -0
- package/dist/runtime/components/Edit/Features/Analyze/index.vue +44 -0
- package/dist/runtime/components/Edit/Features/Anchors/Renderer.vue +136 -0
- package/dist/runtime/components/Edit/Features/Anchors/index.vue +32 -0
- package/dist/runtime/components/Edit/Features/Anchors/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Artboard/Overview/index.vue +25 -13
- package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue +296 -0
- package/dist/runtime/components/Edit/Features/Artboard/Renderer.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Features/Artboard/index.vue +10 -245
- package/dist/runtime/components/Edit/Features/Assistant/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/BlockAddList/index.vue +4 -4
- package/dist/runtime/components/Edit/Features/Clipboard/index.vue +161 -28
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue +16 -4
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/Group/index.vue.d.ts +0 -1
- package/dist/runtime/components/Edit/Features/CommandPalette/Palette/index.vue +4 -53
- package/dist/runtime/components/Edit/Features/CommandPalette/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Conversions/index.vue +12 -14
- package/dist/runtime/components/Edit/Features/Debug/Viewport/index.vue +14 -0
- package/dist/runtime/components/Edit/Features/Debug/index.vue +27 -24
- package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +13 -190
- package/dist/runtime/components/Edit/Features/Diff/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DragItems/index.vue +4 -4
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/fragment.glsl +1 -1
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/index.vue +35 -71
- package/dist/runtime/components/Edit/Features/DraggingOverlay/DropTargets/vertex.glsl +1 -1
- package/dist/runtime/components/Edit/Features/DraggingOverlay/index.vue +62 -48
- package/dist/runtime/components/Edit/Features/EditForm/Frame/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/EditForm/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/EditableField/index.vue +6 -2
- package/dist/runtime/components/Edit/Features/EditableMask/index.vue +3 -20
- package/dist/runtime/components/Edit/Features/Fragments/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/History/index.vue +35 -12
- package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +6 -2
- package/dist/runtime/components/Edit/Features/ImportExisting/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Library/index.vue +11 -9
- package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +5 -8
- package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/fragment.glsl +1 -1
- package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/index.vue +9 -4
- package/dist/runtime/components/Edit/Features/MultiSelect/Overlay/vertex.glsl +1 -1
- package/dist/runtime/components/Edit/Features/MultiSelect/index.vue +8 -14
- package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Options/Form/Checkbox/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Features/Options/Form/Item.vue +9 -3
- package/dist/runtime/components/Edit/Features/Options/Form/Item.vue.d.ts +0 -1
- package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +37 -19
- package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue.d.ts +8 -2
- package/dist/runtime/components/Edit/Features/Options/Form/index.vue +81 -37
- package/dist/runtime/components/Edit/Features/Options/Form/index.vue.d.ts +5 -5
- package/dist/runtime/components/Edit/Features/Options/index.vue +30 -6
- package/dist/runtime/components/Edit/Features/PreviewGrant/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/Publish/Dialog/index.vue +1 -0
- package/dist/runtime/components/Edit/Features/Publish/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Revert/index.vue +3 -3
- package/dist/runtime/components/Edit/Features/Search/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue +54 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/AddButtonsField.vue.d.ts +14 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue +120 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/Overlay/index.vue.d.ts +15 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue +459 -0
- package/dist/runtime/components/Edit/Features/Selection/AddButtons/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Features/Selection/Overlay/fragment.glsl +15 -10
- package/dist/runtime/components/Edit/Features/Selection/Overlay/index.vue +32 -11
- package/dist/runtime/components/Edit/Features/Selection/Overlay/vertex.glsl +1 -1
- package/dist/runtime/components/Edit/Features/Selection/index.vue +76 -7
- package/dist/runtime/components/Edit/Features/Settings/Dialog/FeatureSetting/index.vue +12 -17
- package/dist/runtime/components/Edit/Features/Settings/index.vue +11 -25
- package/dist/runtime/components/Edit/Features/Theme/Color/index.vue +5 -1
- package/dist/runtime/components/Edit/Features/Theme/index.vue +2 -1
- package/dist/runtime/components/Edit/Features/TouchActionBar/index.vue +3 -2
- package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue +198 -0
- package/dist/runtime/components/Edit/Features/Transform/Dialog/index.vue.d.ts +13 -0
- package/dist/runtime/components/Edit/Features/Transform/index.vue +155 -44
- package/dist/runtime/components/Edit/Form/Radio/index.vue +33 -0
- package/dist/runtime/components/Edit/Form/Radio/index.vue.d.ts +20 -0
- package/dist/runtime/components/Edit/Form/RadioTabs/index.vue +37 -0
- package/dist/runtime/components/Edit/Form/RadioTabs/index.vue.d.ts +22 -0
- package/dist/runtime/components/Edit/Form/Select/index.vue +29 -0
- package/dist/runtime/components/Edit/Form/Select/index.vue.d.ts +20 -0
- package/dist/runtime/components/Edit/Form/Text/index.vue +33 -0
- package/dist/runtime/components/Edit/Form/Text/index.vue.d.ts +19 -0
- package/dist/runtime/components/Edit/Form/Textarea/index.vue +13 -6
- package/dist/runtime/components/Edit/Form/Textarea/index.vue.d.ts +4 -0
- package/dist/runtime/components/Edit/FormOverlay/index.vue +1 -1
- package/dist/runtime/components/Edit/Indicators/index.vue +123 -0
- package/dist/runtime/components/Edit/Indicators/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/ItemIcon/index.vue +2 -1
- package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue +66 -0
- package/dist/runtime/components/Edit/Konami/Game/PixelGrid.vue.d.ts +7 -0
- package/dist/runtime/components/Edit/Konami/Game/blokkli.png +0 -0
- package/dist/runtime/components/Edit/Konami/Game/charmap.d.ts +2 -0
- package/dist/runtime/components/Edit/Konami/Game/charmap.js +168 -0
- package/dist/runtime/components/Edit/Konami/Game/index.vue +745 -0
- package/dist/runtime/components/Edit/Konami/Game/index.vue.d.ts +6 -0
- package/dist/runtime/components/Edit/Konami/Game/textRendering.d.ts +8 -0
- package/dist/runtime/components/Edit/Konami/Game/textRendering.js +138 -0
- package/dist/runtime/components/Edit/Konami/Game/useIconRendering.d.ts +9 -0
- package/dist/runtime/components/Edit/Konami/Game/useIconRendering.js +130 -0
- package/dist/runtime/components/Edit/Konami/index.vue +44 -0
- package/dist/runtime/components/Edit/Konami/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Loading/index.vue +6 -2
- package/dist/runtime/components/Edit/Loading/index.vue.d.ts +2 -0
- package/dist/runtime/components/Edit/Messages/index.vue +8 -3
- package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue +17 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Checkbox/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue +37 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Options/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue +43 -0
- package/dist/runtime/components/Edit/PluginConfigForm/Text/index.vue.d.ts +11 -0
- package/dist/runtime/components/Edit/PluginConfigForm/index.vue +57 -0
- package/dist/runtime/components/Edit/PluginConfigForm/index.vue.d.ts +16 -0
- package/dist/runtime/components/Edit/PreviewProvider.vue +3 -4
- package/dist/runtime/components/Edit/RelativeTime/index.vue +3 -2
- package/dist/runtime/components/Edit/ShortcutIndicator/index.vue +8 -3
- package/dist/runtime/components/Edit/SystemRequirements/index.vue +3 -3
- package/dist/runtime/components/Edit/Toolbar/index.vue +3 -2
- package/dist/runtime/components/Edit/Transition/index.vue +41 -0
- package/dist/runtime/components/Edit/Transition/index.vue.d.ts +19 -0
- package/dist/runtime/components/Edit/index.d.ts +23 -15
- package/dist/runtime/components/Edit/index.js +44 -28
- package/dist/runtime/composables/defineBlokkli.js +7 -3
- package/dist/runtime/composables/defineBlokkliFeature.d.ts +4 -7
- package/dist/runtime/composables/defineBlokkliProvider.d.ts +11 -0
- package/dist/runtime/composables/defineBlokkliProvider.js +46 -0
- package/dist/runtime/composables/useBlokkliHelper.js +1 -1
- package/dist/runtime/constants/index.d.ts +3 -0
- package/dist/runtime/constants/index.js +3 -0
- package/dist/runtime/css/output.css +1 -1
- package/dist/runtime/helpers/addElementClasses.d.ts +2 -0
- package/dist/runtime/helpers/addElementClasses.js +24 -0
- package/dist/runtime/helpers/animationProvider.d.ts +4 -2
- package/dist/runtime/helpers/animationProvider.js +7 -2
- package/dist/runtime/helpers/bundles/index.d.ts +1 -0
- package/dist/runtime/helpers/bundles/index.js +4 -0
- package/dist/runtime/helpers/composables/useStickyToolbar.d.ts +20 -0
- package/dist/runtime/helpers/composables/useStickyToolbar.js +215 -0
- package/dist/runtime/helpers/definitionProvider.d.ts +2 -1
- package/dist/runtime/helpers/definitionProvider.js +17 -0
- package/dist/runtime/helpers/dom/index.d.ts +59 -0
- package/dist/runtime/helpers/dom/index.js +48 -0
- package/dist/runtime/helpers/domProvider.d.ts +2 -1
- package/dist/runtime/helpers/domProvider.js +89 -43
- package/dist/runtime/helpers/dropTargets/index.d.ts +6 -0
- package/dist/runtime/helpers/dropTargets/index.js +49 -0
- package/dist/runtime/helpers/eventBus.d.ts +1 -1
- package/dist/runtime/helpers/eventBus.js +2 -2
- package/dist/runtime/helpers/index.d.ts +10 -1
- package/dist/runtime/helpers/index.js +57 -0
- package/dist/runtime/helpers/indicatorsProvider.d.ts +10 -0
- package/dist/runtime/helpers/indicatorsProvider.js +23 -0
- package/dist/runtime/helpers/keyboardProvider.d.ts +2 -0
- package/dist/runtime/helpers/keyboardProvider.js +17 -1
- package/dist/runtime/helpers/pluginProvider.d.ts +10 -0
- package/dist/runtime/helpers/pluginProvider.js +33 -0
- package/dist/runtime/helpers/renderCycle.d.ts +1 -0
- package/dist/runtime/helpers/renderCycle.js +10 -0
- package/dist/runtime/helpers/runtimeHelpers/index.js +14 -11
- package/dist/runtime/helpers/selectionProvider.d.ts +16 -0
- package/dist/runtime/helpers/selectionProvider.js +47 -35
- package/dist/runtime/helpers/stateProvider.d.ts +6 -2
- package/dist/runtime/helpers/stateProvider.js +58 -14
- package/dist/runtime/helpers/storageProvider.d.ts +4 -3
- package/dist/runtime/helpers/storageProvider.js +56 -3
- package/dist/runtime/helpers/symbols.d.ts +1 -0
- package/dist/runtime/helpers/symbols.js +1 -0
- package/dist/runtime/helpers/textProvider.js +6 -0
- package/dist/runtime/helpers/themeProvider.d.ts +2 -0
- package/dist/runtime/helpers/themeProvider.js +4 -1
- package/dist/runtime/helpers/transform.js +1 -3
- package/dist/runtime/helpers/uiProvider.d.ts +7 -2
- package/dist/runtime/helpers/uiProvider.js +49 -47
- package/dist/runtime/helpers/useTransitionedValue.d.ts +18 -0
- package/dist/runtime/helpers/useTransitionedValue.js +57 -0
- package/dist/runtime/icons/anchor.svg +1 -0
- package/dist/runtime/icons/arrow-left.svg +1 -1
- package/dist/runtime/icons/arrow-right.svg +1 -1
- package/dist/runtime/icons/arrow-top-right.svg +1 -0
- package/dist/runtime/icons/chart.svg +1 -0
- package/dist/runtime/icons/copy.svg +1 -0
- package/dist/runtime/icons/cursor-move.svg +1 -1
- package/dist/runtime/icons/diff.svg +1 -1
- package/dist/runtime/icons/eye.svg +1 -1
- package/dist/runtime/icons/info.svg +1 -1
- package/dist/runtime/icons/link.svg +1 -0
- package/dist/runtime/icons/speedometer.svg +1 -0
- package/dist/runtime/types/blokkOptions.d.ts +8 -0
- package/dist/runtime/types/index.d.ts +163 -5
- package/dist/runtime/types/theme.d.ts +2 -1
- package/dist/shared/{editor.gz_ac6uT.d.mts → editor.CKsrTpc1.d.mts} +1 -1
- package/package.json +55 -38
- package/dist/runtime/components/Edit/Features/FieldAreas/Overlay/index.vue +0 -22
- package/dist/runtime/components/Edit/Features/FieldAreas/index.vue +0 -41
- /package/dist/runtime/components/Edit/Features/{FieldAreas/Overlay → Analyze}/index.vue.d.ts +0 -0
- /package/dist/runtime/components/Edit/Features/{FieldAreas/index.vue.d.ts → Anchors/Renderer.vue.d.ts} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { onBeforeUnmount, watch } from "#imports";
|
|
2
|
+
export function addElementClasses(element, classesArg, watchSource) {
|
|
3
|
+
const classes = Array.isArray(classesArg) ? classesArg : [classesArg];
|
|
4
|
+
if (watchSource) {
|
|
5
|
+
watch(
|
|
6
|
+
watchSource,
|
|
7
|
+
function(value) {
|
|
8
|
+
if (value) {
|
|
9
|
+
element.classList.add(...classes);
|
|
10
|
+
} else {
|
|
11
|
+
element.classList.remove(...classes);
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
immediate: true
|
|
16
|
+
}
|
|
17
|
+
);
|
|
18
|
+
} else {
|
|
19
|
+
element.classList.add(...classes);
|
|
20
|
+
}
|
|
21
|
+
onBeforeUnmount(() => {
|
|
22
|
+
element.classList.remove(...classes);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { type ComputedRef } from '#imports';
|
|
1
|
+
import { type ComputedRef, type WritableComputedRef } from '#imports';
|
|
2
2
|
import type { UiProvider } from './uiProvider.js';
|
|
3
3
|
import { type ProgramInfo } from 'twgl.js';
|
|
4
|
+
import type { StorageProvider } from './storageProvider.js';
|
|
4
5
|
export type AnimationProvider = {
|
|
5
6
|
/**
|
|
6
7
|
* Request an animation loop. Should be called when UI state changes.
|
|
@@ -13,6 +14,7 @@ export type AnimationProvider = {
|
|
|
13
14
|
setSharedUniforms: (gl: WebGLRenderingContext, programInfo: ProgramInfo) => void;
|
|
14
15
|
dpi: ComputedRef<number>;
|
|
15
16
|
webglSupported: ComputedRef<boolean | null>;
|
|
17
|
+
webglEnabled: WritableComputedRef<boolean>;
|
|
16
18
|
getCanvasElement: () => HTMLCanvasElement;
|
|
17
19
|
/**
|
|
18
20
|
* Register a WebGL program.
|
|
@@ -22,4 +24,4 @@ export type AnimationProvider = {
|
|
|
22
24
|
registerProgram: (id: string, gl: WebGLRenderingContext, shaders: string[]) => ProgramInfo;
|
|
23
25
|
setMouseCoords: (x: number, y: number) => void;
|
|
24
26
|
};
|
|
25
|
-
export default function (ui: UiProvider): AnimationProvider;
|
|
27
|
+
export default function (ui: UiProvider, storage: StorageProvider): AnimationProvider;
|
|
@@ -8,7 +8,8 @@ import {
|
|
|
8
8
|
} from "#imports";
|
|
9
9
|
import { eventBus } from "#blokkli/helpers/eventBus";
|
|
10
10
|
import { createProgramInfo } from "twgl.js";
|
|
11
|
-
export default function(ui) {
|
|
11
|
+
export default function(ui, storage) {
|
|
12
|
+
const webglEnabled = storage.use("webglEnabled", true);
|
|
12
13
|
let mouseX = 0;
|
|
13
14
|
let mouseY = 0;
|
|
14
15
|
let iterator = 120;
|
|
@@ -99,6 +100,9 @@ export default function(ui) {
|
|
|
99
100
|
return {
|
|
100
101
|
requestDraw,
|
|
101
102
|
gl: function() {
|
|
103
|
+
if (!webglEnabled.value) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
102
106
|
if (webglSupported.value === false) {
|
|
103
107
|
return;
|
|
104
108
|
}
|
|
@@ -117,7 +121,8 @@ export default function(ui) {
|
|
|
117
121
|
dpi,
|
|
118
122
|
registerProgram,
|
|
119
123
|
setMouseCoords,
|
|
120
|
-
webglSupported: computed(() => webglSupported.value),
|
|
124
|
+
webglSupported: computed(() => webglSupported.value && webglEnabled.value),
|
|
125
|
+
webglEnabled,
|
|
121
126
|
getCanvasElement
|
|
122
127
|
};
|
|
123
128
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isInternalBundle(bundle: string): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ComputedRef, ShallowRef } from 'vue';
|
|
2
|
+
type PlacementVertical = 'top' | 'bottom' | 'auto';
|
|
3
|
+
type PlacementHorizontal = 'left' | 'center';
|
|
4
|
+
type UseStickyToolbarOptions = {
|
|
5
|
+
getPlacementY?: () => PlacementVertical;
|
|
6
|
+
getPlacementX?: () => PlacementHorizontal;
|
|
7
|
+
shouldUpdate?: () => boolean;
|
|
8
|
+
getWidth?: () => number;
|
|
9
|
+
getHeight?: () => number;
|
|
10
|
+
getMargin?: () => number;
|
|
11
|
+
getAnchorElement?: () => HTMLElement | null;
|
|
12
|
+
getCaretWidth?: () => number;
|
|
13
|
+
};
|
|
14
|
+
type UseStickyToolbar = {
|
|
15
|
+
shouldRender: ComputedRef<boolean>;
|
|
16
|
+
placementY: ComputedRef<'top' | 'bottom'>;
|
|
17
|
+
caretX: ComputedRef<number>;
|
|
18
|
+
};
|
|
19
|
+
export default function (el: Readonly<ShallowRef<HTMLElement | null>>, options?: UseStickyToolbarOptions): UseStickyToolbar;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
import onBlokkliEvent from "./onBlokkliEvent.js";
|
|
2
|
+
import { computed, ref, useBlokkli } from "#imports";
|
|
3
|
+
import { falsy, findIdealRectPosition } from "../index.js";
|
|
4
|
+
const limitPlacedRect = (rect, padding) => {
|
|
5
|
+
return {
|
|
6
|
+
width: rect.width,
|
|
7
|
+
height: rect.height,
|
|
8
|
+
x: Math.min(
|
|
9
|
+
Math.max(rect.x, padding.x),
|
|
10
|
+
padding.x + padding.width - rect.width
|
|
11
|
+
),
|
|
12
|
+
y: Math.min(
|
|
13
|
+
Math.max(padding.y, rect.y),
|
|
14
|
+
padding.height + padding.y - rect.height
|
|
15
|
+
)
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export default function(el, options) {
|
|
19
|
+
const { ui, selection, dom } = useBlokkli();
|
|
20
|
+
const shouldRender = ref(false);
|
|
21
|
+
const actualPlacement = ref("bottom");
|
|
22
|
+
const caretXPosition = ref(0);
|
|
23
|
+
function getMargin() {
|
|
24
|
+
if (options && options.getMargin) {
|
|
25
|
+
return options.getMargin();
|
|
26
|
+
}
|
|
27
|
+
return 15;
|
|
28
|
+
}
|
|
29
|
+
function getCaretWidth() {
|
|
30
|
+
if (options && options.getCaretWidth) {
|
|
31
|
+
return options.getCaretWidth();
|
|
32
|
+
}
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
let anchorRect = null;
|
|
36
|
+
function getCoords(width, height, placementY, placementX, offset, scale) {
|
|
37
|
+
let minX = 0;
|
|
38
|
+
let maxX = 0;
|
|
39
|
+
let minY = 0;
|
|
40
|
+
let maxY = 0;
|
|
41
|
+
let hasRects = false;
|
|
42
|
+
if (options && options.getAnchorElement) {
|
|
43
|
+
const anchorElement = options.getAnchorElement();
|
|
44
|
+
if (anchorElement) {
|
|
45
|
+
anchorRect ||= ui.getAbsoluteElementRect(
|
|
46
|
+
anchorElement.getBoundingClientRect(),
|
|
47
|
+
scale,
|
|
48
|
+
offset
|
|
49
|
+
);
|
|
50
|
+
const rectX = (anchorRect.x + offset.x / scale) * scale;
|
|
51
|
+
const rectY = (anchorRect.y + offset.y / scale) * scale;
|
|
52
|
+
const rectRight = rectX + anchorRect.width * scale;
|
|
53
|
+
const rectBottom = rectY + anchorRect.height * scale;
|
|
54
|
+
minX = rectX;
|
|
55
|
+
maxX = rectRight;
|
|
56
|
+
minY = rectY;
|
|
57
|
+
maxY = rectBottom;
|
|
58
|
+
hasRects = true;
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
const rects = selection.blocks.value.map((block) => dom.getBlockRect(block.uuid)).filter(falsy).filter((rect2) => rect2.height || rect2.width);
|
|
62
|
+
hasRects = !!rects.length;
|
|
63
|
+
if (hasRects) {
|
|
64
|
+
for (let i = 0; i < rects.length; i++) {
|
|
65
|
+
const { x: x2, y: y2, height: height2, width: rectWidth } = rects[i];
|
|
66
|
+
const rectX = (x2 + offset.x / scale) * scale;
|
|
67
|
+
const rectY = (y2 + offset.y / scale) * scale;
|
|
68
|
+
const rectRight = rectX + rectWidth * scale;
|
|
69
|
+
const rectBottom = rectY + height2 * scale;
|
|
70
|
+
if (i === 0 || rectX < minX) {
|
|
71
|
+
minX = rectX;
|
|
72
|
+
}
|
|
73
|
+
if (i === 0 || rectRight > maxX) {
|
|
74
|
+
maxX = rectRight;
|
|
75
|
+
}
|
|
76
|
+
if (i === 0 || rectY < minY) {
|
|
77
|
+
minY = rectY;
|
|
78
|
+
}
|
|
79
|
+
if (i === 0 || rectBottom > maxY) {
|
|
80
|
+
maxY = rectBottom;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
} else {
|
|
84
|
+
if (!selection.hasHostSelected.value) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
minX = offset.x;
|
|
88
|
+
maxX = minX + ui.artboardSize.value.width;
|
|
89
|
+
minY = offset.y;
|
|
90
|
+
maxY = minY + ui.artboardSize.value.height;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
const padding = ui.visibleViewportPadded.value;
|
|
94
|
+
const xSubtract = hasRects ? 5 * Math.min(scale, 1) : 0;
|
|
95
|
+
const margin = getMargin() * Math.min(scale, 1);
|
|
96
|
+
let actualPlacementY = placementY === "auto" ? "bottom" : placementY;
|
|
97
|
+
if (placementY === "auto") {
|
|
98
|
+
const spaceAbove = minY - padding.y;
|
|
99
|
+
const spaceBelow = padding.y + padding.height - maxY;
|
|
100
|
+
const requiredSpace = height + margin;
|
|
101
|
+
if (spaceBelow >= requiredSpace) {
|
|
102
|
+
actualPlacementY = "bottom";
|
|
103
|
+
} else if (spaceAbove >= requiredSpace) {
|
|
104
|
+
actualPlacementY = "top";
|
|
105
|
+
} else {
|
|
106
|
+
actualPlacementY = spaceAbove > spaceBelow ? "top" : "bottom";
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const y = actualPlacementY === "top" ? minY - height - margin : maxY + margin;
|
|
110
|
+
const centerX = (minX + maxX) / 2;
|
|
111
|
+
let x;
|
|
112
|
+
if (placementX === "center") {
|
|
113
|
+
x = centerX - width / 2;
|
|
114
|
+
} else {
|
|
115
|
+
x = minX - xSubtract;
|
|
116
|
+
}
|
|
117
|
+
const rect = limitPlacedRect(
|
|
118
|
+
{
|
|
119
|
+
x,
|
|
120
|
+
y,
|
|
121
|
+
width,
|
|
122
|
+
height
|
|
123
|
+
},
|
|
124
|
+
padding
|
|
125
|
+
);
|
|
126
|
+
const idealPosition = findIdealRectPosition(
|
|
127
|
+
ui.viewportBlockingRects.value,
|
|
128
|
+
rect,
|
|
129
|
+
padding
|
|
130
|
+
);
|
|
131
|
+
if (!idealPosition) {
|
|
132
|
+
return void 0;
|
|
133
|
+
}
|
|
134
|
+
const caretWidth = getCaretWidth();
|
|
135
|
+
const caretHalfWidth = caretWidth / 2;
|
|
136
|
+
const minCaretX = caretHalfWidth;
|
|
137
|
+
const maxCaretX = width - caretHalfWidth;
|
|
138
|
+
const caretX = Math.max(
|
|
139
|
+
minCaretX,
|
|
140
|
+
Math.min(centerX - idealPosition.x, maxCaretX)
|
|
141
|
+
);
|
|
142
|
+
return { ...idealPosition, actualPlacementY, caretX };
|
|
143
|
+
}
|
|
144
|
+
function getWidth() {
|
|
145
|
+
if (options && options.getWidth) {
|
|
146
|
+
return options.getWidth();
|
|
147
|
+
}
|
|
148
|
+
if (el.value) {
|
|
149
|
+
return el.value.clientWidth;
|
|
150
|
+
}
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
function getHeight() {
|
|
154
|
+
if (options && options.getHeight) {
|
|
155
|
+
return options.getHeight();
|
|
156
|
+
}
|
|
157
|
+
if (el.value) {
|
|
158
|
+
return el.value.clientHeight;
|
|
159
|
+
}
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
function getPlacementVertical() {
|
|
163
|
+
if (options && options.getPlacementY) {
|
|
164
|
+
return options.getPlacementY();
|
|
165
|
+
}
|
|
166
|
+
return "top";
|
|
167
|
+
}
|
|
168
|
+
function getPlacementHorizontal() {
|
|
169
|
+
if (options && options.getPlacementX) {
|
|
170
|
+
return options.getPlacementX();
|
|
171
|
+
}
|
|
172
|
+
return "left";
|
|
173
|
+
}
|
|
174
|
+
onBlokkliEvent("canvas:draw", (ctx) => {
|
|
175
|
+
if (!el.value) {
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (ui.isMobile.value) {
|
|
179
|
+
el.value.style.transform = "";
|
|
180
|
+
shouldRender.value = true;
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
if (options && options.shouldUpdate && !options.shouldUpdate()) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
const width = getWidth();
|
|
187
|
+
const height = getHeight();
|
|
188
|
+
if (width === null || height === null) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const placementY = getPlacementVertical();
|
|
192
|
+
const placementX = getPlacementHorizontal();
|
|
193
|
+
const coords = getCoords(
|
|
194
|
+
width,
|
|
195
|
+
height,
|
|
196
|
+
placementY,
|
|
197
|
+
placementX,
|
|
198
|
+
ctx.artboardOffset,
|
|
199
|
+
ctx.artboardScale
|
|
200
|
+
);
|
|
201
|
+
if (!coords) {
|
|
202
|
+
shouldRender.value = false;
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
el.value.style.transform = `translate3d(${coords.x}px, ${coords.y}px, 0)`;
|
|
206
|
+
actualPlacement.value = coords.actualPlacementY;
|
|
207
|
+
caretXPosition.value = coords.caretX;
|
|
208
|
+
shouldRender.value = true;
|
|
209
|
+
});
|
|
210
|
+
return {
|
|
211
|
+
shouldRender: computed(() => shouldRender.value),
|
|
212
|
+
placementY: computed(() => actualPlacement.value),
|
|
213
|
+
caretX: computed(() => caretXPosition.value)
|
|
214
|
+
};
|
|
215
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Ref, type ComputedRef } from '#imports';
|
|
2
|
-
import type { BlockDefinition, FragmentDefinition } from '#blokkli-build/definitions';
|
|
2
|
+
import type { BlockDefinition, FragmentDefinition, ProviderDefinition } from '#blokkli-build/definitions';
|
|
3
3
|
import type { ValidFieldListTypes, BlockBundleWithNested } from '#blokkli-build/generated-types';
|
|
4
4
|
import type { DeepReadonly } from 'vue';
|
|
5
5
|
import type { BlockDefinitionOptionsInput } from '../types/index.js';
|
|
@@ -8,6 +8,7 @@ export type DefinitionProvider = {
|
|
|
8
8
|
getBlockDefinition: (bundle: string, fieldListType: ValidFieldListTypes, parentBundle?: BlockBundleWithNested) => BlockDefinition | undefined;
|
|
9
9
|
getDefaultDefinition: (bundle: string) => BlockDefinition | undefined;
|
|
10
10
|
getFragmentDefinition: (name: string) => FragmentDefinition | undefined;
|
|
11
|
+
getProviderDefinition: (entityType: string, entityBundle: string) => ProviderDefinition | undefined;
|
|
11
12
|
getBlockIcon: (bundle: string) => string | undefined;
|
|
12
13
|
fragmentDefinitions: ComputedRef<FragmentDefinition[]>;
|
|
13
14
|
blockDefinitions: ComputedRef<BlockDefinition[]>;
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
export default function() {
|
|
7
7
|
const blocks = ref(definitions.blocks);
|
|
8
8
|
const fragments = ref(definitions.fragments);
|
|
9
|
+
const providers = ref(definitions.providers);
|
|
9
10
|
const renderKey = ref(definitions.renderKey);
|
|
10
11
|
const blockIcons = ref(definitions.icons);
|
|
11
12
|
const allGlobalOptions = ref(
|
|
@@ -18,6 +19,7 @@ export default function() {
|
|
|
18
19
|
renderKey.value = newDefinitions?.default.renderKey || "";
|
|
19
20
|
blocks.value = newDefinitions?.default?.blocks || [];
|
|
20
21
|
fragments.value = newDefinitions?.default?.fragments || [];
|
|
22
|
+
providers.value = newDefinitions?.default?.providers || [];
|
|
21
23
|
blockIcons.value = newDefinitions?.default?.icons || {};
|
|
22
24
|
allGlobalOptions.value = newDefinitions?.default?.globalOptions || {};
|
|
23
25
|
});
|
|
@@ -57,6 +59,16 @@ export default function() {
|
|
|
57
59
|
{}
|
|
58
60
|
)
|
|
59
61
|
);
|
|
62
|
+
const providersByName = computed(
|
|
63
|
+
() => providers.value.reduce(
|
|
64
|
+
(acc, definition) => {
|
|
65
|
+
const key = `${definition.entityType}:${definition.bundle}`;
|
|
66
|
+
acc[key] = definition;
|
|
67
|
+
return acc;
|
|
68
|
+
},
|
|
69
|
+
{}
|
|
70
|
+
)
|
|
71
|
+
);
|
|
60
72
|
function getBlockDefinition(bundle, fieldListType, parentBundle) {
|
|
61
73
|
const forFieldListType = bundle + "__field:" + fieldListType;
|
|
62
74
|
if (blocksByKey.value[forFieldListType]) {
|
|
@@ -73,6 +85,10 @@ export default function() {
|
|
|
73
85
|
function getFragmentDefinition(name) {
|
|
74
86
|
return fragmentsByName.value[name];
|
|
75
87
|
}
|
|
88
|
+
function getProviderDefinition(entityType, entityBundle) {
|
|
89
|
+
const key = `${entityType}:${entityBundle}`;
|
|
90
|
+
return providersByName.value[key];
|
|
91
|
+
}
|
|
76
92
|
function getDefaultDefinition(bundle) {
|
|
77
93
|
return blocksByKey.value[bundle];
|
|
78
94
|
}
|
|
@@ -82,6 +98,7 @@ export default function() {
|
|
|
82
98
|
return {
|
|
83
99
|
getBlockDefinition,
|
|
84
100
|
getFragmentDefinition,
|
|
101
|
+
getProviderDefinition,
|
|
85
102
|
getDefaultDefinition,
|
|
86
103
|
getBlockIcon,
|
|
87
104
|
fragmentDefinitions: computed(() => fragments.value),
|
|
@@ -3,3 +3,62 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare function cloneWithInlineStyles(node: Element): Element;
|
|
5
5
|
export declare function cloneElementWithStyles(element: Element, isRoot?: boolean): string;
|
|
6
|
+
/**
|
|
7
|
+
* Possible values for the MouseEvent.buttons property.
|
|
8
|
+
*
|
|
9
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
|
|
10
|
+
*/
|
|
11
|
+
export declare const MOUSE_BUTTONS: Readonly<{
|
|
12
|
+
/**
|
|
13
|
+
*No button or un-initialized.
|
|
14
|
+
*/
|
|
15
|
+
NONE: 0;
|
|
16
|
+
/**
|
|
17
|
+
* Primary button (usually the left button).
|
|
18
|
+
*/
|
|
19
|
+
PRIMARY: 1;
|
|
20
|
+
/**
|
|
21
|
+
* Secondary button (usually the right button).
|
|
22
|
+
*/
|
|
23
|
+
SECONDARY: 2;
|
|
24
|
+
/**
|
|
25
|
+
* Auxiliary button (usually the mouse wheel button or middle button).
|
|
26
|
+
*/
|
|
27
|
+
AUXILIARY: 4;
|
|
28
|
+
/**
|
|
29
|
+
* 4th button (typically the "Browser Back" button).
|
|
30
|
+
*/
|
|
31
|
+
FOURTH: 8;
|
|
32
|
+
/**
|
|
33
|
+
* 5th button (typically the "Browser Forward" button).
|
|
34
|
+
*/
|
|
35
|
+
FIFTH: 16;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Possible values for the MouseEvent.button property.
|
|
39
|
+
* (Yes, they are different from the "buttons" property...)
|
|
40
|
+
*
|
|
41
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
|
|
42
|
+
*/
|
|
43
|
+
export declare const MOUSE_BUTTON: Readonly<{
|
|
44
|
+
/**
|
|
45
|
+
* Main button, usually the left button or the un-initialized state.
|
|
46
|
+
*/
|
|
47
|
+
MAIN: 0;
|
|
48
|
+
/**
|
|
49
|
+
* Auxiliary button, usually the wheel button or the middle button (if present).
|
|
50
|
+
*/
|
|
51
|
+
AUXILIARY: 1;
|
|
52
|
+
/**
|
|
53
|
+
* Secondary button, usually the right button.
|
|
54
|
+
*/
|
|
55
|
+
SECONDARY: 2;
|
|
56
|
+
/**
|
|
57
|
+
* Fourth button, typically the Browser Back button.
|
|
58
|
+
*/
|
|
59
|
+
FOURTH: 3;
|
|
60
|
+
/**
|
|
61
|
+
* Fifth button, typically the Browser Forward button.
|
|
62
|
+
*/
|
|
63
|
+
FIFTH: 4;
|
|
64
|
+
}>;
|
|
@@ -35,3 +35,51 @@ export function cloneElementWithStyles(element, isRoot) {
|
|
|
35
35
|
container.appendChild(clonedElement);
|
|
36
36
|
return container.innerHTML;
|
|
37
37
|
}
|
|
38
|
+
export const MOUSE_BUTTONS = Object.freeze({
|
|
39
|
+
/**
|
|
40
|
+
*No button or un-initialized.
|
|
41
|
+
*/
|
|
42
|
+
NONE: 0,
|
|
43
|
+
/**
|
|
44
|
+
* Primary button (usually the left button).
|
|
45
|
+
*/
|
|
46
|
+
PRIMARY: 1,
|
|
47
|
+
/**
|
|
48
|
+
* Secondary button (usually the right button).
|
|
49
|
+
*/
|
|
50
|
+
SECONDARY: 2,
|
|
51
|
+
/**
|
|
52
|
+
* Auxiliary button (usually the mouse wheel button or middle button).
|
|
53
|
+
*/
|
|
54
|
+
AUXILIARY: 4,
|
|
55
|
+
/**
|
|
56
|
+
* 4th button (typically the "Browser Back" button).
|
|
57
|
+
*/
|
|
58
|
+
FOURTH: 8,
|
|
59
|
+
/**
|
|
60
|
+
* 5th button (typically the "Browser Forward" button).
|
|
61
|
+
*/
|
|
62
|
+
FIFTH: 16
|
|
63
|
+
});
|
|
64
|
+
export const MOUSE_BUTTON = Object.freeze({
|
|
65
|
+
/**
|
|
66
|
+
* Main button, usually the left button or the un-initialized state.
|
|
67
|
+
*/
|
|
68
|
+
MAIN: 0,
|
|
69
|
+
/**
|
|
70
|
+
* Auxiliary button, usually the wheel button or the middle button (if present).
|
|
71
|
+
*/
|
|
72
|
+
AUXILIARY: 1,
|
|
73
|
+
/**
|
|
74
|
+
* Secondary button, usually the right button.
|
|
75
|
+
*/
|
|
76
|
+
SECONDARY: 2,
|
|
77
|
+
/**
|
|
78
|
+
* Fourth button, typically the Browser Back button.
|
|
79
|
+
*/
|
|
80
|
+
FOURTH: 3,
|
|
81
|
+
/**
|
|
82
|
+
* Fifth button, typically the Browser Forward button.
|
|
83
|
+
*/
|
|
84
|
+
FIFTH: 4
|
|
85
|
+
});
|
|
@@ -26,6 +26,7 @@ export type DomProvider = {
|
|
|
26
26
|
updateFieldElement: (entity: EntityContext, fieldName: string, element: HTMLElement) => void;
|
|
27
27
|
unregisterField: (entity: EntityContext, fieldName: string) => void;
|
|
28
28
|
registeredFieldTypes: ComputedRef<RegisteredFieldType[]>;
|
|
29
|
+
registeredBlockUuids: ComputedRef<string[]>;
|
|
29
30
|
/**
|
|
30
31
|
* Get all droppable entity fields.
|
|
31
32
|
*/
|
|
@@ -36,7 +37,7 @@ export type DomProvider = {
|
|
|
36
37
|
isBlockVisible(uuid: string): boolean;
|
|
37
38
|
getActiveProviderElement: () => HTMLElement;
|
|
38
39
|
getBlockRects: () => Record<string, MeasuredBlockRect>;
|
|
39
|
-
getBlockRect: (uuid: string) => MeasuredBlockRect | undefined;
|
|
40
|
+
getBlockRect: (uuid: string, refresh?: boolean) => MeasuredBlockRect | undefined;
|
|
40
41
|
refreshBlockRect: (uuid: string) => void;
|
|
41
42
|
getFieldRect: (key: string) => Rectangle | undefined;
|
|
42
43
|
updateVisibleRects: () => void;
|