@zipify/wysiwyg 4.9.1 → 4.10.0-0
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/.github/actions/lint-js/action.yaml +8 -3
- package/.lintstagedrc.mjs +32 -0
- package/.oxlintrc.json +185 -0
- package/dist/cli.js +21 -21
- package/dist/node.js +18 -18
- package/dist/types/Wysiwyg.vue.d.ts +38 -176
- package/dist/types/components/base/Button.vue.d.ts +2 -2
- package/dist/types/components/base/Modal.vue.d.ts +2 -2
- package/dist/types/components/base/ModalFloating.vue.d.ts +2 -2
- package/dist/types/components/base/NumberField.vue.d.ts +2 -2
- package/dist/types/entryLib.d.ts +2 -0
- package/dist/types/enums/Devices.d.ts +15 -6
- package/dist/types/enums/index.d.ts +9 -9
- package/dist/types/models/PageBlock.d.ts +4 -0
- package/dist/types/models/StylePreset.d.ts +27 -0
- package/dist/types/models/index.d.ts +3 -2
- package/dist/types/types/StylePresetVariableFactory.d.ts +8 -0
- package/dist/types/types/index.d.ts +1 -0
- package/dist/wysiwyg.css +44 -76
- package/dist/wysiwyg.mjs +64 -113
- package/eslint.config.mjs +6 -0
- package/example/ExampleApp.vue +1 -1
- package/example/presets.ts +250 -0
- package/lib/Wysiwyg.vue +63 -118
- package/lib/cli/commands/Command.js +1 -2
- package/lib/components/base/Checkbox.vue +3 -0
- package/lib/components/base/Modal.vue +1 -1
- package/lib/components/toolbar/Toolbar.vue +4 -4
- package/lib/components/toolbar/controls/__tests__/FontColorControl.test.js +2 -2
- package/lib/components/toolbar/controls/link/LinkControlHeader.vue +7 -2
- package/lib/components/toolbar/controls/link/__tests__/LinkControl.test.js +5 -5
- package/lib/components/toolbar/controls/link/__tests__/LinkControlHeader.test.js +4 -4
- package/lib/entryLib.ts +2 -0
- package/lib/enums/Devices.ts +17 -0
- package/lib/enums/index.ts +9 -0
- package/lib/extensions/FontStyle.js +3 -3
- package/lib/extensions/__tests__/StylePreset.test.js +5 -5
- package/lib/extensions/list/List.js +3 -3
- package/lib/extensions/list/__tests__/List.test.js +4 -4
- package/lib/models/PageBlock.ts +4 -0
- package/lib/models/StylePreset.ts +30 -0
- package/lib/models/index.ts +3 -2
- package/lib/services/JsonSerializer.js +0 -1
- package/lib/services/Storage.js +0 -1
- package/lib/services/__tests__/Storage.test.js +9 -4
- package/lib/services/normalizer/__tests__/HtmlNormalizer.test.js +25 -25
- package/lib/styles/variables.css +2 -33
- package/lib/types/StylePresetVariableFactory.ts +10 -0
- package/lib/types/index.ts +1 -0
- package/package.json +3 -13
- package/tsconfig.lint.json +7 -0
- package/.eslintignore +0 -2
- package/.eslintrc.js +0 -95
- package/.lintstagedrc +0 -12
- package/example/presets.js +0 -247
- package/lib/enums/Devices.js +0 -15
- package/lib/enums/index.js +0 -9
|
@@ -1,187 +1,49 @@
|
|
|
1
1
|
import type { Content, JSONContent } from '@tiptap/core';
|
|
2
|
-
import type
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
type: BooleanConstructor;
|
|
31
|
-
required: true;
|
|
32
|
-
};
|
|
33
|
-
device: {
|
|
34
|
-
type: StringConstructor;
|
|
35
|
-
required: false;
|
|
36
|
-
default: "desktop";
|
|
37
|
-
};
|
|
38
|
-
favoriteColors: {
|
|
39
|
-
type: ArrayConstructor;
|
|
40
|
-
required: false;
|
|
41
|
-
default: () => never[];
|
|
42
|
-
};
|
|
43
|
-
toolbarOffsets: {
|
|
44
|
-
type: ArrayConstructor;
|
|
45
|
-
required: false;
|
|
46
|
-
default: () => number[];
|
|
47
|
-
};
|
|
48
|
-
baseListClass: {
|
|
49
|
-
type: StringConstructor;
|
|
50
|
-
required: false;
|
|
51
|
-
default: string;
|
|
52
|
-
};
|
|
53
|
-
pageBlocks: {
|
|
54
|
-
type: ArrayConstructor;
|
|
55
|
-
required: true;
|
|
56
|
-
};
|
|
57
|
-
readonly: {
|
|
58
|
-
type: BooleanConstructor;
|
|
59
|
-
required: false;
|
|
60
|
-
default: boolean;
|
|
61
|
-
};
|
|
62
|
-
popupMode: {
|
|
63
|
-
type: BooleanConstructor;
|
|
64
|
-
required: false;
|
|
65
|
-
default: boolean;
|
|
66
|
-
};
|
|
67
|
-
window: {
|
|
68
|
-
required: false;
|
|
69
|
-
default: () => Window & typeof globalThis;
|
|
70
|
-
};
|
|
71
|
-
aiComponent: {
|
|
72
|
-
type: ObjectConstructor;
|
|
73
|
-
required: false;
|
|
74
|
-
default: null;
|
|
75
|
-
};
|
|
76
|
-
defaultFont: {
|
|
77
|
-
type: PropType<IFontJson>;
|
|
78
|
-
required: false;
|
|
79
|
-
default: null;
|
|
80
|
-
};
|
|
81
|
-
modelValue: {
|
|
82
|
-
type: PropType<Content>;
|
|
83
|
-
required: true;
|
|
84
|
-
};
|
|
85
|
-
}>, {
|
|
2
|
+
import { type Component } from 'vue';
|
|
3
|
+
import { Device } from './enums';
|
|
4
|
+
import { type IFontJson, type IPageBlock, type IStylePreset } from './models';
|
|
5
|
+
import type { StylePresetVariableFactory } from '@/types';
|
|
6
|
+
interface IProps {
|
|
7
|
+
presets: IStylePreset[];
|
|
8
|
+
defaultPresetId: number | string;
|
|
9
|
+
linkPresetId: number | string;
|
|
10
|
+
basePresetClass: string;
|
|
11
|
+
makePresetVariable: StylePresetVariableFactory;
|
|
12
|
+
fonts: IFontJson[];
|
|
13
|
+
active: boolean;
|
|
14
|
+
pageBlocks: IPageBlock[];
|
|
15
|
+
device?: Device;
|
|
16
|
+
toolbarOffsets?: [crossAxis: number, mainAxis: number];
|
|
17
|
+
baseListClass?: string;
|
|
18
|
+
readonly?: boolean;
|
|
19
|
+
popupMode?: boolean;
|
|
20
|
+
window?: Window;
|
|
21
|
+
aiComponent?: Component | null;
|
|
22
|
+
defaultFont?: IFontJson | null;
|
|
23
|
+
}
|
|
24
|
+
type __VLS_Props = IProps;
|
|
25
|
+
type __VLS_PublicProps = {
|
|
26
|
+
modelValue: Content;
|
|
27
|
+
'favoriteColors'?: string[];
|
|
28
|
+
} & __VLS_Props;
|
|
29
|
+
declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
86
30
|
getContentCustomization: () => any;
|
|
87
31
|
getContent: () => JSONContent;
|
|
88
32
|
editor: import("@tiptap/vue-3").Editor;
|
|
89
33
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
90
|
-
"update
|
|
91
|
-
"update:
|
|
92
|
-
}, string, import("vue").PublicProps, Readonly<
|
|
93
|
-
presets: {
|
|
94
|
-
type: ArrayConstructor;
|
|
95
|
-
required: true;
|
|
96
|
-
};
|
|
97
|
-
defaultPresetId: {
|
|
98
|
-
type: (NumberConstructor | StringConstructor)[];
|
|
99
|
-
required: true;
|
|
100
|
-
};
|
|
101
|
-
linkPresetId: {
|
|
102
|
-
type: (NumberConstructor | StringConstructor)[];
|
|
103
|
-
required: true;
|
|
104
|
-
};
|
|
105
|
-
basePresetClass: {
|
|
106
|
-
type: StringConstructor;
|
|
107
|
-
required: true;
|
|
108
|
-
};
|
|
109
|
-
makePresetVariable: {
|
|
110
|
-
type: FunctionConstructor;
|
|
111
|
-
required: true;
|
|
112
|
-
};
|
|
113
|
-
fonts: {
|
|
114
|
-
type: PropType<IFontJson[]>;
|
|
115
|
-
required: true;
|
|
116
|
-
};
|
|
117
|
-
active: {
|
|
118
|
-
type: BooleanConstructor;
|
|
119
|
-
required: true;
|
|
120
|
-
};
|
|
121
|
-
device: {
|
|
122
|
-
type: StringConstructor;
|
|
123
|
-
required: false;
|
|
124
|
-
default: "desktop";
|
|
125
|
-
};
|
|
126
|
-
favoriteColors: {
|
|
127
|
-
type: ArrayConstructor;
|
|
128
|
-
required: false;
|
|
129
|
-
default: () => never[];
|
|
130
|
-
};
|
|
131
|
-
toolbarOffsets: {
|
|
132
|
-
type: ArrayConstructor;
|
|
133
|
-
required: false;
|
|
134
|
-
default: () => number[];
|
|
135
|
-
};
|
|
136
|
-
baseListClass: {
|
|
137
|
-
type: StringConstructor;
|
|
138
|
-
required: false;
|
|
139
|
-
default: string;
|
|
140
|
-
};
|
|
141
|
-
pageBlocks: {
|
|
142
|
-
type: ArrayConstructor;
|
|
143
|
-
required: true;
|
|
144
|
-
};
|
|
145
|
-
readonly: {
|
|
146
|
-
type: BooleanConstructor;
|
|
147
|
-
required: false;
|
|
148
|
-
default: boolean;
|
|
149
|
-
};
|
|
150
|
-
popupMode: {
|
|
151
|
-
type: BooleanConstructor;
|
|
152
|
-
required: false;
|
|
153
|
-
default: boolean;
|
|
154
|
-
};
|
|
155
|
-
window: {
|
|
156
|
-
required: false;
|
|
157
|
-
default: () => Window & typeof globalThis;
|
|
158
|
-
};
|
|
159
|
-
aiComponent: {
|
|
160
|
-
type: ObjectConstructor;
|
|
161
|
-
required: false;
|
|
162
|
-
default: null;
|
|
163
|
-
};
|
|
164
|
-
defaultFont: {
|
|
165
|
-
type: PropType<IFontJson>;
|
|
166
|
-
required: false;
|
|
167
|
-
default: null;
|
|
168
|
-
};
|
|
169
|
-
modelValue: {
|
|
170
|
-
type: PropType<Content>;
|
|
171
|
-
required: true;
|
|
172
|
-
};
|
|
173
|
-
}>> & Readonly<{
|
|
174
|
-
"onUpdate-favorite-colors"?: ((...args: any[]) => any) | undefined;
|
|
34
|
+
"update:modelValue": (value: Content) => any;
|
|
35
|
+
"update:favoriteColors": (value: string[]) => any;
|
|
36
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
175
37
|
"onUpdate:modelValue"?: ((value: Content) => any) | undefined;
|
|
38
|
+
"onUpdate:favoriteColors"?: ((value: string[]) => any) | undefined;
|
|
176
39
|
}>, {
|
|
177
|
-
defaultFont: IFontJson;
|
|
178
|
-
device:
|
|
179
|
-
|
|
180
|
-
toolbarOffsets: unknown[];
|
|
40
|
+
defaultFont: IFontJson | null;
|
|
41
|
+
device: Device;
|
|
42
|
+
toolbarOffsets: [crossAxis: number, mainAxis: number];
|
|
181
43
|
baseListClass: string;
|
|
182
44
|
readonly: boolean;
|
|
183
45
|
popupMode: boolean;
|
|
184
|
-
window: Window
|
|
185
|
-
aiComponent:
|
|
186
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions,
|
|
46
|
+
window: Window;
|
|
47
|
+
aiComponent: Component | null;
|
|
48
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
187
49
|
export default _default;
|
|
@@ -6,13 +6,13 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
|
|
|
6
6
|
declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
7
7
|
$emit: (event: "click", ...args: any[]) => void;
|
|
8
8
|
active: boolean;
|
|
9
|
-
skin: string;
|
|
10
9
|
disabled: boolean;
|
|
10
|
+
skin: string;
|
|
11
11
|
icon: boolean;
|
|
12
12
|
$props: {
|
|
13
13
|
readonly active?: boolean | undefined;
|
|
14
|
-
readonly skin?: string | undefined;
|
|
15
14
|
readonly disabled?: boolean | undefined;
|
|
15
|
+
readonly skin?: string | undefined;
|
|
16
16
|
readonly icon?: boolean | undefined;
|
|
17
17
|
};
|
|
18
18
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLButtonElement>;
|
|
@@ -5,6 +5,7 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
|
|
|
5
5
|
});
|
|
6
6
|
declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
7
7
|
referenceRef: Record<string, any>;
|
|
8
|
+
offsets: Function | unknown[];
|
|
8
9
|
toggler: Record<string, any>;
|
|
9
10
|
maxHeight: string | number;
|
|
10
11
|
maxWidth: string | number;
|
|
@@ -12,9 +13,9 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
|
12
13
|
placement: string;
|
|
13
14
|
placementStrategy: string;
|
|
14
15
|
placementFlip: boolean | unknown[];
|
|
15
|
-
offsets: Function | unknown[];
|
|
16
16
|
$props: {
|
|
17
17
|
readonly referenceRef?: Record<string, any> | undefined;
|
|
18
|
+
readonly offsets?: Function | unknown[] | undefined;
|
|
18
19
|
readonly toggler?: Record<string, any> | undefined;
|
|
19
20
|
readonly maxHeight?: string | number | undefined;
|
|
20
21
|
readonly maxWidth?: string | number | undefined;
|
|
@@ -22,7 +23,6 @@ declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
|
22
23
|
readonly placement?: string | undefined;
|
|
23
24
|
readonly placementStrategy?: string | undefined;
|
|
24
25
|
readonly placementFlip?: boolean | unknown[] | undefined;
|
|
25
|
-
readonly offsets?: Function | unknown[] | undefined;
|
|
26
26
|
};
|
|
27
27
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
28
28
|
type __VLS_TemplateResult = {
|
|
@@ -5,16 +5,16 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
|
|
|
5
5
|
});
|
|
6
6
|
declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
7
7
|
referenceRef: Record<string, any>;
|
|
8
|
+
offsets: Function | unknown[];
|
|
8
9
|
placement: string;
|
|
9
10
|
placementStrategy: string;
|
|
10
11
|
placementFlip: boolean | unknown[];
|
|
11
|
-
offsets: Function | unknown[];
|
|
12
12
|
$props: {
|
|
13
13
|
readonly referenceRef?: Record<string, any> | undefined;
|
|
14
|
+
readonly offsets?: Function | unknown[] | undefined;
|
|
14
15
|
readonly placement?: string | undefined;
|
|
15
16
|
readonly placementStrategy?: string | undefined;
|
|
16
17
|
readonly placementFlip?: boolean | unknown[] | undefined;
|
|
17
|
-
readonly offsets?: Function | unknown[] | undefined;
|
|
18
18
|
};
|
|
19
19
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
20
20
|
type __VLS_TemplateResult = {
|
|
@@ -4,8 +4,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
4
4
|
max: string | number;
|
|
5
5
|
min: string | number;
|
|
6
6
|
step: string | number;
|
|
7
|
-
digits: string | number;
|
|
8
7
|
disabled: boolean;
|
|
8
|
+
digits: string | number;
|
|
9
9
|
fieldId: string;
|
|
10
10
|
units: string;
|
|
11
11
|
$props: {
|
|
@@ -13,8 +13,8 @@ declare const _default: import("vue").DefineComponent<{}, {
|
|
|
13
13
|
readonly max?: string | number | undefined;
|
|
14
14
|
readonly min?: string | number | undefined;
|
|
15
15
|
readonly step?: string | number | undefined;
|
|
16
|
-
readonly digits?: string | number | undefined;
|
|
17
16
|
readonly disabled?: boolean | undefined;
|
|
17
|
+
readonly digits?: string | number | undefined;
|
|
18
18
|
readonly fieldId?: string | undefined;
|
|
19
19
|
readonly units?: string | undefined;
|
|
20
20
|
};
|
package/dist/types/entryLib.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
export
|
|
2
|
-
COMMON
|
|
3
|
-
|
|
4
|
-
TABLET
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
export declare enum Device {
|
|
2
|
+
COMMON = "common",
|
|
3
|
+
MOBILE = "mobile",
|
|
4
|
+
TABLET = "tablet",
|
|
5
|
+
DESKTOP = "desktop"
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated use TS enum
|
|
9
|
+
*/
|
|
10
|
+
export declare const Devices: Readonly<{
|
|
11
|
+
values: Device[];
|
|
12
|
+
COMMON: Device.COMMON;
|
|
13
|
+
MOBILE: Device.MOBILE;
|
|
14
|
+
TABLET: Device.TABLET;
|
|
15
|
+
DESKTOP: Device.DESKTOP;
|
|
7
16
|
}>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
1
|
+
export * from './Devices';
|
|
2
|
+
export * from './CaseStyles';
|
|
3
|
+
export * from './Alignments';
|
|
4
|
+
export * from './NodeTypes';
|
|
5
|
+
export * from './ListTypes';
|
|
6
|
+
export * from './TextSettings';
|
|
7
|
+
export * from './MarkGroups';
|
|
8
|
+
export * from './LinkTargets';
|
|
9
|
+
export * from './LinkDestinations';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface IPresetNode {
|
|
2
|
+
type: string;
|
|
3
|
+
level?: number;
|
|
4
|
+
}
|
|
5
|
+
export interface IPresetDeviceStyles {
|
|
6
|
+
alignment: string | null;
|
|
7
|
+
line_height: string;
|
|
8
|
+
font_size: string;
|
|
9
|
+
}
|
|
10
|
+
export interface IPresetCommonStyles {
|
|
11
|
+
font_family: string;
|
|
12
|
+
font_weight: string;
|
|
13
|
+
color: string;
|
|
14
|
+
font_style: string;
|
|
15
|
+
text_decoration: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IStylePreset {
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
node?: IPresetNode;
|
|
21
|
+
hidden?: boolean;
|
|
22
|
+
fallbackClass?: string;
|
|
23
|
+
common: IPresetCommonStyles;
|
|
24
|
+
desktop: IPresetDeviceStyles;
|
|
25
|
+
tablet: IPresetDeviceStyles;
|
|
26
|
+
mobile: IPresetDeviceStyles;
|
|
27
|
+
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export
|
|
2
|
-
export type
|
|
1
|
+
export * from './Font';
|
|
2
|
+
export type * from './StylePreset';
|
|
3
|
+
export type * from './PageBlock';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IStylePreset } from '@/models';
|
|
2
|
+
import { Device } from '@/enums';
|
|
3
|
+
export interface IStylePresetVariableArgs {
|
|
4
|
+
device: Device;
|
|
5
|
+
preset: IStylePreset;
|
|
6
|
+
property: string;
|
|
7
|
+
}
|
|
8
|
+
export type StylePresetVariableFactory = (args: IStylePresetVariableArgs) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from './StylePresetVariableFactory';
|
package/dist/wysiwyg.css
CHANGED
|
@@ -349,36 +349,36 @@
|
|
|
349
349
|
position: var(--8349ba3e);
|
|
350
350
|
}
|
|
351
351
|
|
|
352
|
-
.zw-modal[data-v-
|
|
352
|
+
.zw-modal[data-v-72ecfd23] {
|
|
353
353
|
border-radius: 2px;
|
|
354
354
|
box-shadow: 0 0 4px rgba(var(--zw-color-black), 0.3);
|
|
355
355
|
background-color: rgb(var(--zw-color-n15));
|
|
356
|
-
max-height: var(--
|
|
357
|
-
max-width: var(--
|
|
356
|
+
max-height: var(--3b807430);
|
|
357
|
+
max-width: var(--749527c6);
|
|
358
358
|
z-index: 1000;
|
|
359
359
|
will-change: transform;
|
|
360
360
|
}
|
|
361
|
-
.zw-modal--enter-active[data-v-
|
|
361
|
+
.zw-modal--enter-active[data-v-72ecfd23] {
|
|
362
362
|
transition: opacity 0.15s ease-out;
|
|
363
363
|
}
|
|
364
|
-
.zw-modal--enter-from[data-v-
|
|
365
|
-
.zw-modal--leave-to[data-v-
|
|
364
|
+
.zw-modal--enter-from[data-v-72ecfd23],
|
|
365
|
+
.zw-modal--leave-to[data-v-72ecfd23] {
|
|
366
366
|
opacity: 0;
|
|
367
367
|
}
|
|
368
|
-
.zw-modal--leave-active[data-v-
|
|
368
|
+
.zw-modal--leave-active[data-v-72ecfd23] {
|
|
369
369
|
transition: opacity 0.1s ease-in;
|
|
370
370
|
}
|
|
371
371
|
|
|
372
372
|
/* Scrollbar overrides in modal */
|
|
373
|
-
.zw-modal[data-v-
|
|
374
|
-
.zw-modal[data-v-
|
|
373
|
+
.zw-modal[data-v-72ecfd23] .simplebar-offset,
|
|
374
|
+
.zw-modal[data-v-72ecfd23] .simplebar-mask {
|
|
375
375
|
position: initial;
|
|
376
376
|
}
|
|
377
|
-
.zw-modal[data-v-
|
|
378
|
-
max-height: var(--
|
|
377
|
+
.zw-modal[data-v-72ecfd23] .simplebar-content {
|
|
378
|
+
max-height: var(--3b807430);
|
|
379
379
|
padding: 0 !important;
|
|
380
380
|
}
|
|
381
|
-
.zw-modal[data-v-
|
|
381
|
+
.zw-modal[data-v-72ecfd23] .simplebar-content-wrapper {
|
|
382
382
|
overscroll-behavior: contain;
|
|
383
383
|
}
|
|
384
384
|
|
|
@@ -421,29 +421,29 @@
|
|
|
421
421
|
color: rgb(var(--zw-color-red));
|
|
422
422
|
}
|
|
423
423
|
|
|
424
|
-
.zw-checkbox[data-v-
|
|
424
|
+
.zw-checkbox[data-v-e1624b5d] {
|
|
425
425
|
display: inline-flex;
|
|
426
426
|
align-items: center;
|
|
427
427
|
position: relative;
|
|
428
428
|
cursor: pointer;
|
|
429
429
|
padding: var(--zw-offset-xxs) var(--zw-offset-xxs) var(--zw-offset-xxs) 0;
|
|
430
430
|
}
|
|
431
|
-
.zw-checkbox__field + .zw-checkbox__indicator[data-v-
|
|
431
|
+
.zw-checkbox__field + .zw-checkbox__indicator[data-v-e1624b5d] {
|
|
432
432
|
color: var(--zw-color-n200);
|
|
433
433
|
box-shadow: inset 0 0 0 2px currentColor;
|
|
434
434
|
}
|
|
435
|
-
.zw-checkbox:hover .zw-checkbox__indicator[data-v-
|
|
436
|
-
.zw-checkbox:focus .zw-checkbox__indicator[data-v-
|
|
437
|
-
.zw-checkbox:focus-within .zw-checkbox__indicator[data-v-
|
|
435
|
+
.zw-checkbox:hover .zw-checkbox__indicator[data-v-e1624b5d],
|
|
436
|
+
.zw-checkbox:focus .zw-checkbox__indicator[data-v-e1624b5d],
|
|
437
|
+
.zw-checkbox:focus-within .zw-checkbox__indicator[data-v-e1624b5d] {
|
|
438
438
|
box-shadow: inset 0 0 0 2px rgb(var(--zw-color-b200));
|
|
439
439
|
}
|
|
440
|
-
.zw-checkbox__field:checked + .zw-checkbox__indicator[data-v-
|
|
440
|
+
.zw-checkbox__field:checked + .zw-checkbox__indicator[data-v-e1624b5d] {
|
|
441
441
|
color: rgb(var(--zw-color-b200))
|
|
442
442
|
}
|
|
443
|
-
.zw-checkbox .zw-checkbox__field:checked + .zw-checkbox__indicator[data-v-
|
|
443
|
+
.zw-checkbox .zw-checkbox__field:checked + .zw-checkbox__indicator[data-v-e1624b5d] {
|
|
444
444
|
background-color: rgb(var(--zw-color-b200));
|
|
445
445
|
}
|
|
446
|
-
.zw-checkbox .zw-checkbox__indicator[data-v-
|
|
446
|
+
.zw-checkbox .zw-checkbox__indicator[data-v-e1624b5d]::after {
|
|
447
447
|
content: "";
|
|
448
448
|
display: block;
|
|
449
449
|
height: 16px;
|
|
@@ -455,16 +455,16 @@
|
|
|
455
455
|
background-size: 16px;
|
|
456
456
|
background-position: center center;
|
|
457
457
|
}
|
|
458
|
-
.zw-checkbox__field:not(:checked) + .zw-checkbox__indicator[data-v-
|
|
458
|
+
.zw-checkbox__field:not(:checked) + .zw-checkbox__indicator[data-v-e1624b5d]::after {
|
|
459
459
|
transform: scale(0);
|
|
460
460
|
}
|
|
461
|
-
.zw-checkbox__field[data-v-
|
|
461
|
+
.zw-checkbox__field[data-v-e1624b5d] {
|
|
462
462
|
position: absolute;
|
|
463
463
|
opacity: 0;
|
|
464
464
|
height: 0;
|
|
465
465
|
width: 0;
|
|
466
466
|
}
|
|
467
|
-
.zw-checkbox__label[data-v-
|
|
467
|
+
.zw-checkbox__label[data-v-e1624b5d] {
|
|
468
468
|
font-size: var(--zw-font-size-xs);
|
|
469
469
|
}
|
|
470
470
|
|
|
@@ -592,34 +592,34 @@
|
|
|
592
592
|
display: flex;
|
|
593
593
|
}
|
|
594
594
|
|
|
595
|
-
.zw-link-modal-header[data-v-
|
|
595
|
+
.zw-link-modal-header[data-v-d721e93d] {
|
|
596
596
|
display: flex;
|
|
597
597
|
align-items: center;
|
|
598
598
|
justify-content: space-between;
|
|
599
599
|
padding: var(--zw-offset-sm);
|
|
600
600
|
border-bottom: 2px solid rgb(var(--zw-color-n5));
|
|
601
601
|
}
|
|
602
|
-
.zw-link-modal-header__title[data-v-
|
|
602
|
+
.zw-link-modal-header__title[data-v-d721e93d] {
|
|
603
603
|
text-transform: uppercase;
|
|
604
604
|
font-weight: var(--zw-font-weight-semibold);
|
|
605
605
|
font-size: var(--zw-font-size-xxs);
|
|
606
606
|
color: rgb(var(--zw-color-white));
|
|
607
607
|
}
|
|
608
|
-
.zw-link-modal-header__unlink-icon[data-v-
|
|
608
|
+
.zw-link-modal-header__unlink-icon[data-v-d721e93d] {
|
|
609
609
|
margin-right: var(--zw-offset-xxs);
|
|
610
610
|
}
|
|
611
|
-
.zw-link-modal-header__unlink-button[data-v-
|
|
611
|
+
.zw-link-modal-header__unlink-button[data-v-d721e93d] {
|
|
612
612
|
color: rgb(var(--zw-color-n80));
|
|
613
613
|
font-size: var(--zw-font-size-xxs);
|
|
614
614
|
transition: 0.1s opacity ease-out, 0.1s color ease-out;
|
|
615
615
|
will-change: opacity, color;
|
|
616
616
|
}
|
|
617
|
-
.zw-link-modal-header__unlink-button[data-v-
|
|
617
|
+
.zw-link-modal-header__unlink-button[data-v-d721e93d]:disabled {
|
|
618
618
|
opacity: 0.35;
|
|
619
619
|
}
|
|
620
|
-
.zw-link-modal-header__unlink-button[data-v-
|
|
621
|
-
.zw-link-modal-header__unlink-button[data-v-
|
|
622
|
-
.zw-link-modal-header__unlink-button[data-v-
|
|
620
|
+
.zw-link-modal-header__unlink-button[data-v-d721e93d]:focus,
|
|
621
|
+
.zw-link-modal-header__unlink-button[data-v-d721e93d]:focus-within,
|
|
622
|
+
.zw-link-modal-header__unlink-button[data-v-d721e93d]:hover {
|
|
623
623
|
color: rgb(var(--zw-color-white));
|
|
624
624
|
}
|
|
625
625
|
|
|
@@ -685,7 +685,7 @@
|
|
|
685
685
|
background-color: rgb(var(--zw-color-n30));
|
|
686
686
|
}
|
|
687
687
|
|
|
688
|
-
.zw-toolbar[data-v-
|
|
688
|
+
.zw-toolbar[data-v-ba15f8db] {
|
|
689
689
|
border: 1px solid rgba(var(--zw-color-white), 0.2);
|
|
690
690
|
border-radius: 2px;
|
|
691
691
|
background-color: rgba(var(--zw-color-n15), 0.9);
|
|
@@ -695,10 +695,10 @@
|
|
|
695
695
|
z-index: 999999;
|
|
696
696
|
text-align: left;
|
|
697
697
|
position: fixed;
|
|
698
|
-
--zw-toolbar-offset-y: calc(var(--
|
|
698
|
+
--zw-toolbar-offset-y: calc(var(--1fad2e10) * 1px)
|
|
699
699
|
}
|
|
700
|
-
.zw-toolbar[data-v-
|
|
701
|
-
.zw-toolbar[data-v-
|
|
700
|
+
.zw-toolbar[data-v-ba15f8db]::before,
|
|
701
|
+
.zw-toolbar[data-v-ba15f8db]::after {
|
|
702
702
|
content: "";
|
|
703
703
|
display: block;
|
|
704
704
|
width: 100%;
|
|
@@ -706,24 +706,25 @@
|
|
|
706
706
|
position: absolute;
|
|
707
707
|
--zw-toolbar-safe-zone: calc(-1 * var(--zw-toolbar-offset-y));
|
|
708
708
|
}
|
|
709
|
-
.zw-toolbar[data-v-
|
|
709
|
+
.zw-toolbar[data-v-ba15f8db]::before {
|
|
710
710
|
top: var(--zw-toolbar-safe-zone);
|
|
711
711
|
}
|
|
712
|
-
.zw-toolbar[data-v-
|
|
712
|
+
.zw-toolbar[data-v-ba15f8db]::after {
|
|
713
713
|
bottom: var(--zw-toolbar-safe-zone);
|
|
714
714
|
}
|
|
715
|
-
.zw-toolbar--enter-active[data-v-
|
|
716
|
-
.zw-toolbar--leave-active[data-v-
|
|
715
|
+
.zw-toolbar--enter-active[data-v-ba15f8db],
|
|
716
|
+
.zw-toolbar--leave-active[data-v-ba15f8db] {
|
|
717
717
|
transition: opacity 150ms ease-out;
|
|
718
718
|
}
|
|
719
|
-
.zw-toolbar--leave-active[data-v-
|
|
719
|
+
.zw-toolbar--leave-active[data-v-ba15f8db] {
|
|
720
720
|
transition: opacity 0s ease-in;
|
|
721
721
|
}
|
|
722
|
-
.zw-toolbar--enter-from[data-v-
|
|
723
|
-
.zw-toolbar--leave-to[data-v-
|
|
722
|
+
.zw-toolbar--enter-from[data-v-ba15f8db],
|
|
723
|
+
.zw-toolbar--leave-to[data-v-ba15f8db] {
|
|
724
724
|
opacity: 0;
|
|
725
725
|
}
|
|
726
|
-
.zw-wysiwyg
|
|
726
|
+
.zw-wysiwyg,
|
|
727
|
+
.zw-toolbar {
|
|
727
728
|
--zw-color-n5: 13, 13, 13; /* #0D0D0D */
|
|
728
729
|
--zw-color-n15: 38, 38, 38; /* #262626 */
|
|
729
730
|
--zw-color-n20: 59, 59, 59; /* #3B3B3B */
|
|
@@ -756,38 +757,6 @@
|
|
|
756
757
|
--zw-line-height-xxs: 1.21;
|
|
757
758
|
--zw-line-height-md: 1.72;
|
|
758
759
|
}
|
|
759
|
-
|
|
760
|
-
/*
|
|
761
|
-
$builder-N5: #0D0D0D;
|
|
762
|
-
$builder-N10: #1A1A1A;
|
|
763
|
-
$builder-N15: #262626;
|
|
764
|
-
$builder-N20: #3B3B3B;
|
|
765
|
-
$builder-N30: #4D4D4D;
|
|
766
|
-
$builder-N40: #666;
|
|
767
|
-
$builder-N50: #808080;
|
|
768
|
-
$builder-N60: #999;
|
|
769
|
-
$builder-N70: #B3B3B3;
|
|
770
|
-
$builder-N80: #C4C4C4;
|
|
771
|
-
$builder-N85: #D9D9D9;
|
|
772
|
-
$builder-N90: #E6E6E6;
|
|
773
|
-
$builder-N94: #F0F0F0;
|
|
774
|
-
$builder-N96: #F5F5F5;
|
|
775
|
-
$builder-N98: #FAFAFA;
|
|
776
|
-
$builder-N200: #C2C8D1;
|
|
777
|
-
$builder-R50: #EA3A3A;
|
|
778
|
-
|
|
779
|
-
$font-size-xxs: 12px;
|
|
780
|
-
$font-size-xs: 14px;
|
|
781
|
-
$font-size-sm: 16px;
|
|
782
|
-
$font-size-md: 18px;
|
|
783
|
-
$font-size-lmd: 20px;
|
|
784
|
-
$font-size-lg: 24px;
|
|
785
|
-
|
|
786
|
-
$font-height--xxs: 1.2;
|
|
787
|
-
$font-height--xs: 1.33;
|
|
788
|
-
$font-height--sm: 1.43;
|
|
789
|
-
$font-height--md: 1.72;
|
|
790
|
-
*/
|
|
791
760
|
.zw-wysiwyg__placeholder::before {
|
|
792
761
|
content: attr(data-placeholder);
|
|
793
762
|
color: rgb(var(--zw-color-n70));
|
|
@@ -837,7 +806,6 @@ h4.zw-style.zw-style.zw-style {
|
|
|
837
806
|
line-height: var(--zw-line-height-mobile, var(--zw-preset-line-height-mobile));
|
|
838
807
|
}
|
|
839
808
|
}
|
|
840
|
-
|
|
841
809
|
/* ProseMirror styles */
|
|
842
810
|
.ProseMirror {
|
|
843
811
|
position: relative;
|