@blokkli/editor 2.0.0-alpha.1 → 2.0.0-alpha.3
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.json +1 -1
- package/dist/module.mjs +8 -7
- package/dist/modules/drupal/graphql/base/fragment.blokkliProps.graphql +8 -0
- package/dist/modules/drupal/graphql/base/fragment.paragraphsFieldItem.graphql +6 -0
- package/dist/modules/drupal/index.mjs +25 -4
- package/dist/runtime/blokkliPlugins/DroppableEdit/index.vue +1 -1
- package/dist/runtime/components/BlokkliEditable.vue +1 -0
- package/dist/runtime/components/BlokkliEditable.vue.d.ts +4 -18
- package/dist/runtime/components/BlokkliField.vue +1 -0
- package/dist/runtime/components/BlokkliField.vue.d.ts +8 -92
- package/dist/runtime/components/BlokkliProvider.vue +2 -1
- package/dist/runtime/components/BlokkliProvider.vue.d.ts +5 -22
- package/dist/runtime/components/Edit/BlokkliErrorBoundary.vue +4 -4
- package/dist/runtime/components/Edit/EditProvider.vue +4 -3
- package/dist/runtime/components/Edit/EditProvider.vue.d.ts +3 -3
- package/dist/runtime/components/Edit/Features/Assistant/Overlay/index.vue +4 -4
- package/dist/runtime/components/Edit/Features/Clipboard/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Comments/AddForm/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Comments/Comment/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Comments/Overlay/Item/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Diff/DiffView/index.vue +7 -7
- package/dist/runtime/components/Edit/Features/EditableField/Overlay/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Fragments/Dialog/index.vue +4 -4
- package/dist/runtime/components/Edit/Features/Help/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/History/List/index.vue +4 -4
- package/dist/runtime/components/Edit/Features/ImportExisting/Dialog/index.vue +5 -5
- package/dist/runtime/components/Edit/Features/Library/EditReusable/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Library/LibraryDialog/index.vue +5 -5
- package/dist/runtime/components/Edit/Features/Library/ReusableDialog/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/MediaLibrary/Library/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Options/Form/Radios/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Ownership/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/PreviewGrant/QrCode/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Publish/index.vue +20 -2
- package/dist/runtime/components/Edit/Features/Search/Overlay/Results/Content/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Search/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Tour/Overlay/index.vue +2 -2
- package/dist/runtime/components/Edit/Features/Tour/Popup/index.vue +4 -4
- package/dist/runtime/components/Edit/Features/Translations/Banner/index.vue +1 -1
- package/dist/runtime/components/Edit/Features/Validations/index.vue +1 -1
- package/dist/runtime/components/Edit/PreviewProvider.vue +1 -0
- package/dist/runtime/components/Edit/PreviewProvider.vue.d.ts +3 -3
- package/dist/runtime/components/Edit/SystemRequirements/index.vue +2 -2
- package/package.json +5 -8
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveFiles, createResolver, addComponent, addImports, addTemplate, addTypeTemplate,
|
|
1
|
+
import { resolveAlias, resolveFiles, createResolver, addComponent, addImports, addTemplate, addTypeTemplate, defineNuxtModule, addPlugin, addBuildPlugin } from '@nuxt/kit';
|
|
2
2
|
import { createUnplugin } from 'unplugin';
|
|
3
3
|
import MagicString from 'magic-string';
|
|
4
4
|
import { walk } from 'estree-walker-ts';
|
|
@@ -13,7 +13,7 @@ import { BK_VISIBLE_LANGUAGES, BK_HIDDEN_GLOBALLY } from '../dist/runtime/helper
|
|
|
13
13
|
import fs from 'node:fs';
|
|
14
14
|
import { defu, createDefu } from 'defu';
|
|
15
15
|
|
|
16
|
-
const version = "2.0.0-alpha.
|
|
16
|
+
const version = "2.0.0-alpha.3";
|
|
17
17
|
|
|
18
18
|
function sortObjectKeys(obj) {
|
|
19
19
|
if (Array.isArray(obj)) {
|
|
@@ -275,8 +275,10 @@ class BlockCollector extends Collector {
|
|
|
275
275
|
this.patterns = (helper.options.pattern || []).map((pattern) => {
|
|
276
276
|
if (pattern.startsWith("/")) {
|
|
277
277
|
return pattern;
|
|
278
|
+
} else if (pattern.startsWith(".")) {
|
|
279
|
+
return helper.resolvers.src.resolve(pattern);
|
|
278
280
|
}
|
|
279
|
-
return
|
|
281
|
+
return resolveAlias(pattern);
|
|
280
282
|
});
|
|
281
283
|
}
|
|
282
284
|
async init() {
|
|
@@ -566,7 +568,7 @@ class ModuleHelper {
|
|
|
566
568
|
this.paths = {
|
|
567
569
|
blokkliBuildDir: this.resolvers.build.resolve("blokkli"),
|
|
568
570
|
srcDir: nuxt.options.srcDir,
|
|
569
|
-
editAdapter:
|
|
571
|
+
editAdapter: ""
|
|
570
572
|
};
|
|
571
573
|
this.relativePaths = {
|
|
572
574
|
TYPES: relative(
|
|
@@ -615,6 +617,7 @@ class ModuleHelper {
|
|
|
615
617
|
fieldListTypes: fieldListTypes.filter(onlyUnique),
|
|
616
618
|
chunkNames: chunkNames.filter(onlyUnique)
|
|
617
619
|
};
|
|
620
|
+
this.paths.editAdapter = this.findEditAdapterPath();
|
|
618
621
|
}
|
|
619
622
|
relativePaths;
|
|
620
623
|
paths;
|
|
@@ -8056,7 +8059,6 @@ const module = defineNuxtModule({
|
|
|
8056
8059
|
}
|
|
8057
8060
|
},
|
|
8058
8061
|
defaults: {
|
|
8059
|
-
pattern: ["components/Blokkli/**/*.vue"],
|
|
8060
8062
|
globalOptions: {
|
|
8061
8063
|
[BK_VISIBLE_LANGUAGES]: {
|
|
8062
8064
|
type: "checkboxes",
|
|
@@ -8070,8 +8072,7 @@ const module = defineNuxtModule({
|
|
|
8070
8072
|
default: false
|
|
8071
8073
|
}
|
|
8072
8074
|
},
|
|
8073
|
-
chunkNames: ["global"]
|
|
8074
|
-
itemEntityType: "block"
|
|
8075
|
+
chunkNames: ["global"]
|
|
8075
8076
|
},
|
|
8076
8077
|
async setup(moduleOptions, nuxt) {
|
|
8077
8078
|
const blokkliModules = moduleOptions.modules || [];
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { useLogger, createResolver } from '@nuxt/kit';
|
|
2
|
+
import { fileURLToPath } from 'node:url';
|
|
2
3
|
import { join } from 'pathe';
|
|
3
4
|
import { isObjectType, isInterfaceType } from 'graphql';
|
|
4
5
|
import { useGraphqlModuleContext } from 'nuxt-graphql-middleware/utils';
|
|
@@ -14,6 +15,12 @@ function defineBlokkliModule(init) {
|
|
|
14
15
|
|
|
15
16
|
const logger = useLogger("@blokkli/editor");
|
|
16
17
|
|
|
18
|
+
function toPascalCase(text) {
|
|
19
|
+
return text.replace(/(^\w|_\w)/g, clearAndUpper);
|
|
20
|
+
}
|
|
21
|
+
function clearAndUpper(text) {
|
|
22
|
+
return text.replace(/_/, "").toUpperCase();
|
|
23
|
+
}
|
|
17
24
|
const index = defineBlokkliModule({
|
|
18
25
|
alterOptions(options) {
|
|
19
26
|
if (!options.itemEntityType) {
|
|
@@ -23,10 +30,20 @@ const index = defineBlokkliModule({
|
|
|
23
30
|
options.pattern = ["~/components/Paragraph/**/*.vue"];
|
|
24
31
|
}
|
|
25
32
|
if (!options.editAdapterPath) {
|
|
26
|
-
const resolver = createResolver(
|
|
33
|
+
const resolver = createResolver(
|
|
34
|
+
fileURLToPath(new URL("./", import.meta.url))
|
|
35
|
+
);
|
|
27
36
|
const filePath = resolver.resolve("./adapter/index.mjs");
|
|
28
37
|
options.editAdapterPath = filePath;
|
|
29
38
|
}
|
|
39
|
+
if (!options.getBundlePropsType) {
|
|
40
|
+
options.getBundlePropsType = function(bundle) {
|
|
41
|
+
return {
|
|
42
|
+
typeName: `Paragraph${toPascalCase(bundle)}Fragment`,
|
|
43
|
+
from: "#graphql-operations"
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
}
|
|
30
47
|
},
|
|
31
48
|
setup({ context }) {
|
|
32
49
|
if (!useGraphqlModuleContext({ nullOnMissing: true })) {
|
|
@@ -47,7 +64,9 @@ const index = defineBlokkliModule({
|
|
|
47
64
|
const queryFields = getTypeFields("Query");
|
|
48
65
|
const editStateFields = getTypeFields("ParagraphsBlokkliEditState");
|
|
49
66
|
const editMutationStateFields = getTypeFields("ParagraphsEditMutationState");
|
|
50
|
-
const resolver = createResolver(
|
|
67
|
+
const resolver = createResolver(
|
|
68
|
+
join(fileURLToPath(new URL("./", import.meta.url)), "graphql")
|
|
69
|
+
);
|
|
51
70
|
function addGraphqlDocument(fileName) {
|
|
52
71
|
const filePath = resolver.resolve(fileName);
|
|
53
72
|
graphql.addImportFile(filePath);
|
|
@@ -65,6 +84,8 @@ const index = defineBlokkliModule({
|
|
|
65
84
|
"fragment.paragraphsBlokkliMutationItem.graphql",
|
|
66
85
|
"fragment.paragraphsBlokkliMutationResult.graphql",
|
|
67
86
|
"fragment.paragraphsBlokkliViolation.graphql",
|
|
87
|
+
"fragment.blokkliProps.graphql",
|
|
88
|
+
"fragment.paragraphsFieldItem.graphql",
|
|
68
89
|
"query.pbConfig.graphql",
|
|
69
90
|
"query.pbEditState.graphql"
|
|
70
91
|
];
|
|
@@ -141,9 +162,9 @@ const index = defineBlokkliModule({
|
|
|
141
162
|
context.features.disableFeature("preview-grant");
|
|
142
163
|
}
|
|
143
164
|
if (editStateFields.has("publishOptions") && queryFields.has("pbSearchEditStates")) {
|
|
144
|
-
addGraphqlDocument("publishNew.graphql");
|
|
165
|
+
addGraphqlDocument("features/publishNew.graphql");
|
|
145
166
|
} else {
|
|
146
|
-
addGraphqlDocument("publish.graphql");
|
|
167
|
+
addGraphqlDocument("features/publish.graphql");
|
|
147
168
|
}
|
|
148
169
|
}
|
|
149
170
|
});
|
|
@@ -16,6 +16,7 @@ const props = defineProps({
|
|
|
16
16
|
value: { type: String, required: true },
|
|
17
17
|
tag: { type: String, required: false, default: "div" }
|
|
18
18
|
});
|
|
19
|
+
defineSlots();
|
|
19
20
|
const valueOverride = ref("");
|
|
20
21
|
const isEditing = inject(INJECT_IS_EDITING, false);
|
|
21
22
|
const entity = inject(INJECT_ENTITY_CONTEXT);
|
|
@@ -3,25 +3,11 @@ type __VLS_Props = {
|
|
|
3
3
|
value: string;
|
|
4
4
|
tag?: string;
|
|
5
5
|
};
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
'data-blokkli-editable-value': string;
|
|
11
|
-
} | undefined>;
|
|
12
|
-
declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
|
|
13
|
-
declare var __VLS_6: {
|
|
14
|
-
value: string;
|
|
6
|
+
type __VLS_Slots = {
|
|
7
|
+
default(props: {
|
|
8
|
+
value: string;
|
|
9
|
+
}): any;
|
|
15
10
|
};
|
|
16
|
-
type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
|
|
17
|
-
default?: (props: typeof __VLS_6) => any;
|
|
18
|
-
}>;
|
|
19
|
-
declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
|
|
20
|
-
renderedValue: typeof renderedValue;
|
|
21
|
-
attrs: typeof attrs;
|
|
22
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
23
|
-
tag: string;
|
|
24
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
25
11
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
26
12
|
tag: string;
|
|
27
13
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,56 +1,14 @@
|
|
|
1
|
-
import { type ComputedRef } from '#imports';
|
|
2
1
|
import type { BlokkliFragmentName } from '#blokkli-build/definitions';
|
|
3
|
-
import
|
|
4
|
-
import type { FieldListItem, EntityContext, BlokkliProviderEntityContext } from '#blokkli/types';
|
|
2
|
+
import type { FieldListItem } from '#blokkli/types';
|
|
5
3
|
import type { ValidFieldListTypes, FieldListItemTyped } from '#blokkli-build/generated-types';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
isNested: boolean;
|
|
14
|
-
fieldListType: string;
|
|
15
|
-
allowedFragments?: BlokkliFragmentName[];
|
|
16
|
-
dropAlignment?: "vertical" | "horizontal";
|
|
17
|
-
proxyMode?: boolean;
|
|
18
|
-
globalProxyMode?: boolean;
|
|
19
|
-
nestingLevel: number;
|
|
20
|
-
shouldRenderItem?: (item: FieldListItem | FieldListItemTyped) => boolean;
|
|
21
|
-
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
22
|
-
name: string;
|
|
23
|
-
fieldKey: string;
|
|
24
|
-
list: FieldListItem[];
|
|
25
|
-
entity: EntityContext;
|
|
26
|
-
language?: string;
|
|
27
|
-
tag?: string;
|
|
28
|
-
isNested: boolean;
|
|
29
|
-
fieldListType: string;
|
|
30
|
-
allowedFragments?: BlokkliFragmentName[];
|
|
31
|
-
dropAlignment?: "vertical" | "horizontal";
|
|
32
|
-
proxyMode?: boolean;
|
|
33
|
-
globalProxyMode?: boolean;
|
|
34
|
-
nestingLevel: number;
|
|
35
|
-
shouldRenderItem?: (item: FieldListItem | FieldListItemTyped) => boolean;
|
|
36
|
-
}> & Readonly<{}>, {
|
|
37
|
-
allowedFragments: BlokkliFragmentName[];
|
|
38
|
-
tag: string;
|
|
39
|
-
language: string;
|
|
40
|
-
dropAlignment: "vertical" | "horizontal";
|
|
41
|
-
shouldRenderItem: (item: FieldListItem | FieldListItemTyped) => boolean;
|
|
42
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any> | null;
|
|
43
|
-
declare const attrs: {
|
|
44
|
-
[x: string]: unknown;
|
|
4
|
+
type __VLS_Slots = {
|
|
5
|
+
default(props: {
|
|
6
|
+
items: FieldListItemTyped[];
|
|
7
|
+
}): any;
|
|
8
|
+
after(props: {
|
|
9
|
+
items: FieldListItemTyped[];
|
|
10
|
+
}): any;
|
|
45
11
|
};
|
|
46
|
-
declare const isEditing = false;
|
|
47
|
-
declare const isGlobalProxyMode: ComputedRef<boolean> | null;
|
|
48
|
-
declare const isInReusable = false;
|
|
49
|
-
declare const isPreview: ComputedRef<boolean> | null;
|
|
50
|
-
declare const isNested = false;
|
|
51
|
-
declare const nestingLevel: number;
|
|
52
|
-
declare const entity: EntityContext | undefined;
|
|
53
|
-
declare const providerEntity: ComputedRef<BlokkliProviderEntityContext>;
|
|
54
12
|
type __VLS_Props = {
|
|
55
13
|
name: string;
|
|
56
14
|
list?: Array<FieldListItem | null | undefined> | FieldListItem | null;
|
|
@@ -71,48 +29,6 @@ type __VLS_Props = {
|
|
|
71
29
|
*/
|
|
72
30
|
shouldRenderItem?: (item: FieldListItem | FieldListItemTyped) => boolean;
|
|
73
31
|
};
|
|
74
|
-
declare const canEdit: import("vue").Ref<boolean, boolean>;
|
|
75
|
-
declare const fieldKey: ComputedRef<string | undefined>;
|
|
76
|
-
declare const fieldListType: ComputedRef<"default">;
|
|
77
|
-
declare const filteredList: ComputedRef<FieldListItemTyped[]>;
|
|
78
|
-
declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
|
|
79
|
-
declare var __VLS_1: {
|
|
80
|
-
items: FieldListItemTyped[];
|
|
81
|
-
}, __VLS_14: {
|
|
82
|
-
items: FieldListItemTyped[];
|
|
83
|
-
};
|
|
84
|
-
type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
|
|
85
|
-
default?: (props: typeof __VLS_1) => any;
|
|
86
|
-
} & {
|
|
87
|
-
after?: (props: typeof __VLS_14) => any;
|
|
88
|
-
}>;
|
|
89
|
-
declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
|
|
90
|
-
BlokkliItem: typeof BlokkliItem;
|
|
91
|
-
DraggableList: typeof DraggableList;
|
|
92
|
-
attrs: typeof attrs;
|
|
93
|
-
isEditing: typeof isEditing;
|
|
94
|
-
isGlobalProxyMode: typeof isGlobalProxyMode;
|
|
95
|
-
isInReusable: typeof isInReusable;
|
|
96
|
-
isPreview: typeof isPreview;
|
|
97
|
-
isNested: typeof isNested;
|
|
98
|
-
nestingLevel: typeof nestingLevel;
|
|
99
|
-
entity: typeof entity;
|
|
100
|
-
providerEntity: typeof providerEntity;
|
|
101
|
-
canEdit: typeof canEdit;
|
|
102
|
-
fieldKey: typeof fieldKey;
|
|
103
|
-
fieldListType: typeof fieldListType;
|
|
104
|
-
filteredList: typeof filteredList;
|
|
105
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
106
|
-
list: Array<FieldListItem | null | undefined> | FieldListItem | null;
|
|
107
|
-
fieldListType: ValidFieldListTypes;
|
|
108
|
-
allowedFragments: BlokkliFragmentName[];
|
|
109
|
-
tag: string;
|
|
110
|
-
dropAlignment: "vertical" | "horizontal";
|
|
111
|
-
shouldRenderItem: (item: FieldListItem | FieldListItemTyped) => boolean;
|
|
112
|
-
listClass: string;
|
|
113
|
-
editClass: string;
|
|
114
|
-
nonEmptyClass: string;
|
|
115
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
116
32
|
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
117
33
|
list: Array<FieldListItem | null | undefined> | FieldListItem | null;
|
|
118
34
|
fieldListType: ValidFieldListTypes;
|
|
@@ -72,6 +72,7 @@ import {
|
|
|
72
72
|
INJECT_ENTITY_CONTEXT,
|
|
73
73
|
INJECT_PROVIDER_CONTEXT
|
|
74
74
|
} from "../helpers/symbols";
|
|
75
|
+
defineSlots();
|
|
75
76
|
const PreviewProvider = defineAsyncComponent(
|
|
76
77
|
() => import("./Edit/PreviewProvider.vue")
|
|
77
78
|
);
|
|
@@ -106,7 +107,7 @@ const isEditing = computed(
|
|
|
106
107
|
() => props.canEdit && !!props.entityUuid && route.query.blokkliEditing === props.entityUuid
|
|
107
108
|
);
|
|
108
109
|
const isPreviewing = computed(
|
|
109
|
-
() => props.entityUuid && route.query.blokkliPreview === props.entityUuid
|
|
110
|
+
() => !!props.entityUuid && route.query.blokkliPreview === props.entityUuid
|
|
110
111
|
);
|
|
111
112
|
const showIndicator = computed(
|
|
112
113
|
() => props.canEdit && !route.query.blokkliEditing && !route.query.blokkliPreview
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
1
|
+
declare const _default: <T extends object>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
2
2
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & {
|
|
3
3
|
entity?: T;
|
|
4
4
|
entityType: string;
|
|
@@ -17,28 +17,12 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
17
17
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
18
18
|
attrs: any;
|
|
19
19
|
slots: {
|
|
20
|
-
default
|
|
21
|
-
entity: any;
|
|
20
|
+
default(props: {
|
|
22
21
|
isEditing: boolean;
|
|
23
22
|
canEdit: boolean;
|
|
24
|
-
isPreview:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
canEdit: boolean;
|
|
28
|
-
isPreview: false | "";
|
|
29
|
-
entity: any;
|
|
30
|
-
}) => any) & ((props: {
|
|
31
|
-
isEditing: boolean;
|
|
32
|
-
canEdit: boolean;
|
|
33
|
-
isPreview: boolean | "";
|
|
34
|
-
entity: [{
|
|
35
|
-
type: import("vue").PropType<__VLS_NonUndefinedable<T>>;
|
|
36
|
-
default: undefined;
|
|
37
|
-
}] extends [import("vue").Prop<infer V, infer D>] ? unknown extends V ? keyof V extends never ? import("@vue/shared").IfAny<V, V, D> : V : V : {
|
|
38
|
-
type: import("vue").PropType<__VLS_NonUndefinedable<T>>;
|
|
39
|
-
default: undefined;
|
|
40
|
-
};
|
|
41
|
-
}) => any)) | undefined;
|
|
23
|
+
isPreview: boolean;
|
|
24
|
+
entity?: T | undefined;
|
|
25
|
+
}): any;
|
|
42
26
|
};
|
|
43
27
|
emit: {};
|
|
44
28
|
}>) => import("vue").VNode & {
|
|
@@ -48,4 +32,3 @@ export default _default;
|
|
|
48
32
|
type __VLS_PrettifyLocal<T> = {
|
|
49
33
|
[K in keyof T]: T[K];
|
|
50
34
|
} & {};
|
|
51
|
-
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
@@ -15,17 +15,17 @@
|
|
|
15
15
|
<div class="bk-fatal-error-overlay-info">
|
|
16
16
|
<Icon name="sad" />
|
|
17
17
|
<div>
|
|
18
|
-
<h2>{{ $t(
|
|
18
|
+
<h2>{{ $t("fatalErrorTitle", "bl\xF6kkli has stopped working") }}</h2>
|
|
19
19
|
<p>
|
|
20
20
|
{{
|
|
21
21
|
$t(
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
"fatalErrorText",
|
|
23
|
+
"Unfortunately bl\xF6kkli has encountered a fatal error which prevents it from working normally. You may be able to continue using it, but things may not work as expected."
|
|
24
24
|
)
|
|
25
25
|
}}
|
|
26
26
|
</p>
|
|
27
27
|
<button class="bk-button bk-is-danger" @click="errors = []">
|
|
28
|
-
{{ $t(
|
|
28
|
+
{{ $t("fatalErrorButton", "Continue anyway...") }}
|
|
29
29
|
</button>
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
<div v-if="!state.stateAvailable.value" class="bk-state-unavailable">
|
|
13
13
|
<h2>
|
|
14
14
|
{{
|
|
15
|
-
$t(
|
|
15
|
+
$t("stateUnavailableTitle", "The edit state could not be loaded.")
|
|
16
16
|
}}
|
|
17
17
|
</h2>
|
|
18
18
|
<p>
|
|
19
19
|
{{
|
|
20
20
|
$t(
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
"stateUnavailableText",
|
|
22
|
+
"This could be due to missing permissions or a temporary problem. Please try again later."
|
|
23
23
|
)
|
|
24
24
|
}}
|
|
25
25
|
</p>
|
|
@@ -102,6 +102,7 @@ const props = defineProps({
|
|
|
102
102
|
language: { type: String, required: false, default: "en" },
|
|
103
103
|
isolate: { type: Boolean, required: false }
|
|
104
104
|
});
|
|
105
|
+
defineSlots();
|
|
105
106
|
const context = computed(() => {
|
|
106
107
|
return {
|
|
107
108
|
entityType: props.entityType,
|
|
@@ -11,10 +11,10 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
11
11
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
12
12
|
attrs: any;
|
|
13
13
|
slots: {
|
|
14
|
-
default
|
|
14
|
+
default(props: {
|
|
15
|
+
mutatedEntity: T;
|
|
15
16
|
key: string;
|
|
16
|
-
|
|
17
|
-
}) => any) | undefined;
|
|
17
|
+
}): any;
|
|
18
18
|
};
|
|
19
19
|
emit: {};
|
|
20
20
|
}>) => import("vue").VNode & {
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
<p class="bk-lead">
|
|
11
11
|
{{
|
|
12
12
|
$t(
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
"assistantDialogLead",
|
|
14
|
+
"Please enter what you'd like the assistant to generate."
|
|
15
15
|
)
|
|
16
16
|
}}
|
|
17
17
|
</p>
|
|
18
18
|
<label class="bk-form-label" for="assistant_prompt">
|
|
19
|
-
{{ $t(
|
|
19
|
+
{{ $t("assistantPromptLabel", "Prompt") }}
|
|
20
20
|
</label>
|
|
21
21
|
<div class="bk-assistant-form-textarea">
|
|
22
22
|
<textarea
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</div>
|
|
57
57
|
<template #footer>
|
|
58
58
|
<button class="bk-button bk-is-primary" @click="onSubmit">
|
|
59
|
-
{{ $t(
|
|
59
|
+
{{ $t("assistantDialogSubmit", "Create blocks") }}
|
|
60
60
|
</button>
|
|
61
61
|
</template>
|
|
62
62
|
</FormOverlay>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
v-if="!pastedItems.length"
|
|
20
20
|
class="bk bk-clipboard-info bk-sidebar-padding"
|
|
21
21
|
>
|
|
22
|
-
<h4>{{ $t(
|
|
22
|
+
<h4>{{ $t("clipboardEmpty", "No items in the clipboard") }}</h4>
|
|
23
23
|
<div
|
|
24
24
|
v-if="!ui.isMobile.value"
|
|
25
25
|
v-html="
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="bk-blokkli-item-actions-comment-dropdown" @keydown.capture.stop>
|
|
3
3
|
<label for="comment_body" class="bk-form-label">{{
|
|
4
|
-
$t(
|
|
4
|
+
$t("commentBody", "Comment")
|
|
5
5
|
}}</label>
|
|
6
6
|
<textarea
|
|
7
7
|
id="comment_body"
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
required
|
|
13
13
|
/>
|
|
14
14
|
<button class="bk-button bk-is-primary" @click="$emit('add', comment)">
|
|
15
|
-
{{ $t(
|
|
15
|
+
{{ $t("commentSave", "Submit comment") }}
|
|
16
16
|
</button>
|
|
17
17
|
</div>
|
|
18
18
|
</template>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
<span
|
|
29
29
|
>{{ comments.length }}
|
|
30
30
|
{{
|
|
31
|
-
comments.length === 1 ? $t(
|
|
31
|
+
comments.length === 1 ? $t("singleComment", "comment") : $t("comments", "Comments")
|
|
32
32
|
}}</span
|
|
33
33
|
>
|
|
34
34
|
</div>
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
class="bk-button bk-is-primary bk-is-small"
|
|
50
50
|
@click="addComment"
|
|
51
51
|
>
|
|
52
|
-
{{ $t(
|
|
52
|
+
{{ $t("commentAdd", "Add comment") }}
|
|
53
53
|
</button>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
<table class="bk-diff-table">
|
|
4
4
|
<thead>
|
|
5
5
|
<tr>
|
|
6
|
-
<th>{{ $t(
|
|
7
|
-
<th>{{ $t(
|
|
8
|
-
<th>{{ $t(
|
|
9
|
-
<th>{{ $t(
|
|
6
|
+
<th>{{ $t("diffTableChange", "Change") }}</th>
|
|
7
|
+
<th>{{ $t("diffTableBundle", "Type") }}</th>
|
|
8
|
+
<th>{{ $t("diffTableProperty", "Property") }}</th>
|
|
9
|
+
<th>{{ $t("diffTableDiff", "Diff") }}</th>
|
|
10
10
|
</tr>
|
|
11
11
|
</thead>
|
|
12
12
|
<tbody>
|
|
@@ -20,16 +20,16 @@
|
|
|
20
20
|
v-if="item.status === 'added'"
|
|
21
21
|
class="bk-diff-status-label bk-is-added"
|
|
22
22
|
>
|
|
23
|
-
{{ $t(
|
|
23
|
+
{{ $t("diffStatusAdded", "Added") }}
|
|
24
24
|
</div>
|
|
25
25
|
<div
|
|
26
26
|
v-else-if="item.status === 'removed'"
|
|
27
27
|
class="bk-diff-status-label bk-is-removed"
|
|
28
28
|
>
|
|
29
|
-
{{ $t(
|
|
29
|
+
{{ $t("diffStatusDeleted", "Deleted") }}
|
|
30
30
|
</div>
|
|
31
31
|
<div v-else class="bk-diff-status-label">
|
|
32
|
-
{{ $t(
|
|
32
|
+
{{ $t("diffStatusEdited", "Edited") }}
|
|
33
33
|
</div>
|
|
34
34
|
</td>
|
|
35
35
|
<td
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
</h3>
|
|
14
14
|
<button @click.prevent="cancel">
|
|
15
15
|
<Icon name="close" />
|
|
16
|
-
<span>{{ $t(
|
|
16
|
+
<span>{{ $t("cancel", "Cancel") }}</span>
|
|
17
17
|
</button>
|
|
18
18
|
<button :disabled="!hasChanged" type="submit" @click.prevent="save">
|
|
19
19
|
<Icon name="save" />
|
|
20
|
-
<span>{{ $t(
|
|
20
|
+
<span>{{ $t("save", "Save") }}</span>
|
|
21
21
|
</button>
|
|
22
22
|
</div>
|
|
23
23
|
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
<p class="bk-lead">
|
|
10
10
|
{{
|
|
11
11
|
$t(
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
"fragmentsPlaceDialogLead",
|
|
13
|
+
"Select a block fragment to add to the page."
|
|
14
14
|
)
|
|
15
15
|
}}
|
|
16
16
|
</p>
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<div class="bk-form-group">
|
|
19
19
|
<div>
|
|
20
20
|
<label class="bk-form-label" for="library_search">
|
|
21
|
-
{{ $t(
|
|
21
|
+
{{ $t("fragmentsPlaceDialogSearchLabel", "Filter fragments") }}
|
|
22
22
|
</label>
|
|
23
23
|
<input
|
|
24
24
|
id="fragments_search"
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</div>
|
|
57
57
|
<template #footer>
|
|
58
58
|
<button class="bk-button bk-is-primary" @click="onSubmit">
|
|
59
|
-
{{ $t(
|
|
59
|
+
{{ $t("fragmentsPlaceDialogSubmitButton", "Add selected fragment") }}
|
|
60
60
|
</button>
|
|
61
61
|
</template>
|
|
62
62
|
</FormOverlay>
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
:disabled="tour.isTouring.value"
|
|
15
15
|
@click="tour.isTouring.value = true"
|
|
16
16
|
>
|
|
17
|
-
{{ $t(
|
|
17
|
+
{{ $t("tourLabel", "Take a tour") }}
|
|
18
18
|
</button>
|
|
19
19
|
</div>
|
|
20
20
|
<div class="bk-help-section">
|
|
21
|
-
<h3>{{ $t(
|
|
21
|
+
<h3>{{ $t("featureHelpShortcuts", "Shortcuts") }}</h3>
|
|
22
22
|
<Shortcuts />
|
|
23
23
|
</div>
|
|
24
24
|
</div>
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
<button class="bk-history-item-button" @click="showAmount += 100">
|
|
42
42
|
<strong
|
|
43
43
|
>{{
|
|
44
|
-
$t(
|
|
45
|
-
|
|
44
|
+
$t("historyShowMore", "Show @count more").replace(
|
|
45
|
+
"@count",
|
|
46
46
|
Math.min(totalMutations - showAmount, 100).toString()
|
|
47
47
|
)
|
|
48
48
|
}}
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<button class="bk-history-item-button" @click="setHistoryIndex(-1)">
|
|
60
60
|
<div>
|
|
61
61
|
<strong>{{
|
|
62
|
-
$t(
|
|
62
|
+
$t("historyCurrentRevision", "Current revision")
|
|
63
63
|
}}</strong>
|
|
64
64
|
</div>
|
|
65
65
|
<!-- @TODO: Pass in the timestamp of the entity's latest revision. -->
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
</li>
|
|
75
75
|
</ul>
|
|
76
76
|
<div v-else class="bk-history-empty-message">
|
|
77
|
-
{{ $t(
|
|
77
|
+
{{ $t("historyEmpty", "There are now changes yet.") }}
|
|
78
78
|
</div>
|
|
79
79
|
</div>
|
|
80
80
|
</template>
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
<h3 class="bk-form-label">
|
|
20
20
|
{{
|
|
21
21
|
$t(
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
"importExistingFieldsLabel",
|
|
23
|
+
"Which content would you like to import?"
|
|
24
24
|
)
|
|
25
25
|
}}
|
|
26
26
|
</h3>
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
<div class="bk-form-section">
|
|
33
33
|
<label for="pb_search_term" class="bk-form-label">{{
|
|
34
34
|
$t(
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
"importExistingPagesLabel",
|
|
36
|
+
"From which page would you like to import?"
|
|
37
37
|
)
|
|
38
38
|
}}</label>
|
|
39
39
|
<input
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
</div>
|
|
48
48
|
<div>
|
|
49
49
|
{{
|
|
50
|
-
$t(
|
|
50
|
+
$t("importExistingResultsTitle", "@count of @total pages").replace("@count", entities.length.toString()).replace("@total", total.toString())
|
|
51
51
|
}}
|
|
52
52
|
</div>
|
|
53
53
|
<div
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
<header v-show="isLoaded" class="bk bk-library-edit-overlay-header">
|
|
6
6
|
<h2>
|
|
7
7
|
<span>{{
|
|
8
|
-
$t(
|
|
8
|
+
$t("libraryItemEditOverlayTitle", "Edit reusable block")
|
|
9
9
|
}}</span>
|
|
10
10
|
<span v-if="label"> {{ label }}</span>
|
|
11
11
|
</h2>
|
|
12
12
|
<button @click.prevent="closeOverlay">
|
|
13
13
|
<Icon name="arrow-left" />
|
|
14
|
-
<span>{{ $t(
|
|
14
|
+
<span>{{ $t("libraryItemEditOverlayBack", "Back to page") }}</span>
|
|
15
15
|
</button>
|
|
16
16
|
</header>
|
|
17
17
|
</Transition>
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
<p class="bk-lead">
|
|
11
11
|
{{
|
|
12
12
|
$t(
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
"libraryPlaceDialogLead",
|
|
14
|
+
"Select a reusable block from the library to add it to your layout. You can detach the block later."
|
|
15
15
|
)
|
|
16
16
|
}}
|
|
17
17
|
</p>
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
<div class="bk-form-group">
|
|
20
20
|
<div>
|
|
21
21
|
<label class="bk-form-label" for="library_search">
|
|
22
|
-
{{ $t(
|
|
22
|
+
{{ $t("libraryPlaceSearchLabel", "Filter library items") }}
|
|
23
23
|
</label>
|
|
24
24
|
<input
|
|
25
25
|
id="library_search"
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</div>
|
|
38
38
|
<div>
|
|
39
39
|
<label class="bk-form-label" for="library_bundle">
|
|
40
|
-
{{ $t(
|
|
40
|
+
{{ $t("libraryPlaceBundleSelectLabel", "Bundle") }}
|
|
41
41
|
</label>
|
|
42
42
|
<select
|
|
43
43
|
id="library_bundle"
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
|
|
79
79
|
<template #footer>
|
|
80
80
|
<button class="bk-button bk-is-primary" @click="onSubmit">
|
|
81
|
-
{{ $t(
|
|
81
|
+
{{ $t("libraryPlaceDialogSubmit", "Add reusable block") }}
|
|
82
82
|
</button>
|
|
83
83
|
</template>
|
|
84
84
|
</FormOverlay>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"
|
|
25
25
|
/>
|
|
26
26
|
<label for="reusable_label" class="bk-form-label">{{
|
|
27
|
-
$t(
|
|
27
|
+
$t("libraryDialogDescriptionLabel", "Description")
|
|
28
28
|
}}</label>
|
|
29
29
|
<input
|
|
30
30
|
id="reusable_label"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
/>
|
|
39
39
|
</div>
|
|
40
40
|
<div class="bk-form-label">
|
|
41
|
-
{{ $t(
|
|
41
|
+
{{ $t("libraryPreviewLabel", "Preview") }}
|
|
42
42
|
</div>
|
|
43
43
|
<div
|
|
44
44
|
class="bk-dialog-content-element"
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
|
|
67
67
|
<div v-if="selected.length" class="bk-media-library-cancel">
|
|
68
68
|
<button class="bk-button bk-is-primary" @click.prevent="selected = []">
|
|
69
|
-
{{ $t(
|
|
69
|
+
{{ $t("cancelSelection", "Cancel selection") }}
|
|
70
70
|
</button>
|
|
71
71
|
</div>
|
|
72
72
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="bk-qr-code">
|
|
3
3
|
<QrCodeVue :value="fullUrl" :size="430" level="H" />
|
|
4
4
|
<p>
|
|
5
|
-
{{ $t(
|
|
5
|
+
{{ $t("previewQrCodeText", "You can also copy the link and share it.") }}
|
|
6
6
|
</p>
|
|
7
7
|
<input :value="fullUrl" class="bk-form-input" readonly @focus="onFocus" />
|
|
8
8
|
</div>
|
|
@@ -50,8 +50,8 @@ const { adapter, settings } = defineBlokkliFeature({
|
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
const route = useRoute();
|
|
53
|
-
const { state, $t, broadcast, context } = useBlokkli();
|
|
54
|
-
const { mutations, canEdit } = state;
|
|
53
|
+
const { state, $t, broadcast, context, eventBus } = useBlokkli();
|
|
54
|
+
const { mutations, canEdit, mutateWithLoadingState } = state;
|
|
55
55
|
const hasPublishOptions = !!adapter.getPublishOptions;
|
|
56
56
|
const isPublished = computed(() => !!state.entity.value.status);
|
|
57
57
|
const showDialog = ref(false);
|
|
@@ -82,6 +82,24 @@ const onMenuClick = async () => {
|
|
|
82
82
|
await publishCurrent();
|
|
83
83
|
};
|
|
84
84
|
async function publishCurrent() {
|
|
85
|
+
const success = await mutateWithLoadingState(
|
|
86
|
+
() => adapter.publish({
|
|
87
|
+
hostEntityType: context.value.entityType,
|
|
88
|
+
hostEntityUuid: context.value.entityUuid,
|
|
89
|
+
closeAfterPublish: settings.value.closeAfterPublish
|
|
90
|
+
}),
|
|
91
|
+
$t("publishError", "Changes could not be published."),
|
|
92
|
+
$t("publishSuccess", "Changes published successfully.")
|
|
93
|
+
);
|
|
94
|
+
if (!success) {
|
|
95
|
+
const validations = state.violations.value;
|
|
96
|
+
if (validations.length) {
|
|
97
|
+
eventBus.emit("publish:failed");
|
|
98
|
+
eventBus.emit("sidebar:open", "violations");
|
|
99
|
+
}
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
onSubmit();
|
|
85
103
|
}
|
|
86
104
|
function onSubmit() {
|
|
87
105
|
broadcast.emit("published", { uuid: context.value.entityUuid });
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<div class="bk-tour-buttons">
|
|
26
26
|
<button @click.stop.prevent="prev">
|
|
27
27
|
<Icon name="chevron-left" />
|
|
28
|
-
<span>{{ $t(
|
|
28
|
+
<span>{{ $t("tourPrev", "Previous") }}</span>
|
|
29
29
|
<div class="bk-tooltip">
|
|
30
30
|
<span>Arrow Right</span>
|
|
31
31
|
<ShortcutIndicator label="Prev Tour Item" key-code="ArrowLeft" />
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
<span>{{ items.length }}</span>
|
|
38
38
|
</div>
|
|
39
39
|
<button @click.stop.prevent="next">
|
|
40
|
-
<span>{{ $t(
|
|
40
|
+
<span>{{ $t("tourNext", "Next") }}</span>
|
|
41
41
|
<Icon name="chevron-right" />
|
|
42
42
|
<div class="bk-tooltip">
|
|
43
43
|
<span>Arrow Left</span>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<Teleport to="body">
|
|
3
3
|
<ViewportBlockingRect id="tour-popup" class="bk bk-tour-popup">
|
|
4
4
|
<div class="bk-tour-popup-title">
|
|
5
|
-
<h2>{{ $t(
|
|
5
|
+
<h2>{{ $t("tourLabel", "Take a tour") }}</h2>
|
|
6
6
|
<button class="bk-tour-popup-close" @click="$emit('close')">
|
|
7
7
|
<Icon name="close" />
|
|
8
8
|
</button>
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
<p>
|
|
13
13
|
{{
|
|
14
14
|
$t(
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
"tourIntro",
|
|
16
|
+
"Explore the most important features of the editor and learn how to get started using bl\xF6kkli."
|
|
17
17
|
)
|
|
18
18
|
}}
|
|
19
19
|
</p>
|
|
20
20
|
|
|
21
21
|
<button class="bk-button" @click="$emit('start')">
|
|
22
|
-
{{ $t(
|
|
22
|
+
{{ $t("tourStartButton", "Start the tour") }}
|
|
23
23
|
</button>
|
|
24
24
|
</div>
|
|
25
25
|
</ViewportBlockingRect>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<Icon name="translate" />
|
|
4
4
|
<p v-html="text" />
|
|
5
5
|
<button class="bk-translations-banner-close" @click="onClick">
|
|
6
|
-
{{ $t(
|
|
6
|
+
{{ $t("translationsBannerButton", "Edit source language instead") }}
|
|
7
7
|
<Icon name="close" />
|
|
8
8
|
</button>
|
|
9
9
|
</div>
|
|
@@ -10,9 +10,9 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
10
10
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
11
11
|
attrs: any;
|
|
12
12
|
slots: {
|
|
13
|
-
default
|
|
14
|
-
mutatedEntity:
|
|
15
|
-
})
|
|
13
|
+
default(props: {
|
|
14
|
+
mutatedEntity: T;
|
|
15
|
+
}): any;
|
|
16
16
|
};
|
|
17
17
|
emit: {};
|
|
18
18
|
}>) => import("vue").VNode & {
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
<p>
|
|
41
41
|
{{
|
|
42
42
|
$t(
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
"systemRequirementsDialogText",
|
|
44
|
+
"bl\xF6kkli has been tested and optimized for the latest versions of Chrome, Firefox, Edge, and Safari. Features like WebGL are well supported, but they may sometimes be disabled for performance or security reasons."
|
|
45
45
|
)
|
|
46
46
|
}}
|
|
47
47
|
</p>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blokkli/editor",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.3",
|
|
4
4
|
"description": "Interactive page building experience for Nuxt",
|
|
5
5
|
"repository": "blokkli/editor",
|
|
6
6
|
"type": "module",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@ckeditor/ckeditor5-build-classic": "^43.1.0",
|
|
71
71
|
"@ckeditor/ckeditor5-vue": "^7.0.0",
|
|
72
72
|
"@nuxt/devtools": "latest",
|
|
73
|
-
"@nuxt/eslint-config": "^
|
|
73
|
+
"@nuxt/eslint-config": "^1.3.0",
|
|
74
74
|
"@nuxt/kit": "^3.16.2",
|
|
75
75
|
"@nuxt/module-builder": "^1.0.1",
|
|
76
76
|
"@nuxt/schema": "^3.16.2",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"@vue/test-utils": "^2.4.6",
|
|
85
85
|
"changelogen": "^0.5.5",
|
|
86
86
|
"cypress": "^13.14.2",
|
|
87
|
-
"eslint": "^
|
|
88
|
-
"eslint-plugin-sonarjs": "^
|
|
89
|
-
"eslint-plugin-tailwindcss": "^3.
|
|
87
|
+
"eslint": "^9.24.0",
|
|
88
|
+
"eslint-plugin-sonarjs": "^3.0.2",
|
|
89
|
+
"eslint-plugin-tailwindcss": "^3.18.0",
|
|
90
90
|
"gettext-parser": "^8.0.0",
|
|
91
91
|
"happy-dom": "^15.7.4",
|
|
92
92
|
"nuxt": "^3.16.2",
|
|
@@ -107,8 +107,5 @@
|
|
|
107
107
|
"vite-plugin-glsl": "^1.3.0",
|
|
108
108
|
"vitepress": "^1.3.4",
|
|
109
109
|
"vitest": "^2.0.5"
|
|
110
|
-
},
|
|
111
|
-
"overrides": {
|
|
112
|
-
"@parcel/watcher": "~2.1.0"
|
|
113
110
|
}
|
|
114
111
|
}
|