@zipify/wysiwyg 1.0.0-dev.5 → 1.0.0-dev.52
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/.editorconfig +1 -1
- package/.eslintignore +1 -0
- package/.eslintrc.js +2 -2
- package/.github/dependabot.yaml +1 -0
- package/.lintstagedrc +2 -2
- package/.release-it.json +3 -1
- package/.stylelintignore +1 -0
- package/.stylelintrc +0 -4
- package/README.md +2 -2
- package/config/jest/setupTests.js +4 -0
- package/config/vite/example.config.js +25 -0
- package/config/vite/lib.config.js +30 -0
- package/config/{webpack → vite}/settings.js +0 -0
- package/dist/wysiwyg.css +1 -0
- package/dist/wysiwyg.mjs +18305 -0
- package/dist/wysiwyg.mjs.map +1 -0
- package/example/ExampleApp.vue +20 -1
- package/example/{example.html → index.html} +1 -0
- package/example/pageBlocks.js +31 -0
- package/example/presets.js +2 -2
- package/jest.config.js +3 -1
- package/lib/Wysiwyg.vue +50 -25
- package/lib/__tests__/utils/NodeFactory.js +13 -0
- package/lib/assets/icons/alignment-center.svg +3 -0
- package/lib/assets/icons/alignment-justify.svg +3 -0
- package/lib/assets/icons/alignment-left.svg +3 -0
- package/lib/assets/icons/alignment-right.svg +3 -0
- package/lib/assets/icons/arrow.svg +3 -0
- package/lib/assets/icons/background-color.svg +3 -0
- package/lib/assets/icons/case-style.svg +3 -0
- package/lib/assets/icons/font-color.svg +5 -0
- package/lib/assets/icons/italic.svg +3 -0
- package/lib/assets/icons/line-height.svg +3 -0
- package/lib/assets/icons/link.svg +3 -0
- package/lib/assets/icons/list-circle.svg +3 -0
- package/lib/assets/icons/list-decimal.svg +3 -0
- package/lib/assets/icons/list-disc.svg +3 -0
- package/lib/assets/icons/list-latin.svg +3 -0
- package/lib/assets/icons/list-roman.svg +3 -0
- package/lib/assets/icons/list-square.svg +3 -0
- package/lib/assets/icons/remove-format.svg +3 -0
- package/lib/assets/icons/reset-styles.svg +3 -0
- package/lib/assets/icons/strike-through.svg +3 -0
- package/lib/assets/icons/superscript.svg +3 -0
- package/lib/assets/icons/underline.svg +3 -0
- package/lib/assets/icons/unlink.svg +3 -0
- package/lib/components/base/Button.vue +21 -1
- package/lib/components/base/Checkbox.vue +89 -0
- package/lib/components/base/FieldLabel.vue +2 -1
- package/lib/components/base/Icon.vue +18 -10
- package/lib/components/base/Modal.vue +0 -1
- package/lib/components/base/NumberField.vue +1 -1
- package/lib/components/base/ScrollView.vue +0 -2
- package/lib/components/base/TextField.vue +106 -0
- package/lib/components/base/__tests__/Icon.test.js +6 -13
- package/lib/components/base/__tests__/Modal.test.js +6 -1
- package/lib/components/base/__tests__/TextField.test.js +57 -0
- package/lib/components/base/__tests__/__snapshots__/TextField.test.js.snap +9 -0
- package/lib/components/base/colorPicker/ColorPicker.vue +1 -1
- package/lib/components/base/colorPicker/composables/usePickerHotkeys.js +2 -1
- package/lib/components/base/composables/__tests__/useValidator.test.js +44 -0
- package/lib/components/base/composables/index.js +1 -0
- package/lib/components/base/composables/useValidator.js +23 -0
- package/lib/components/base/dropdown/Dropdown.vue +15 -3
- package/lib/components/base/dropdown/DropdownActivator.vue +19 -3
- package/lib/components/base/index.js +3 -1
- package/lib/components/toolbar/Toolbar.vue +49 -9
- package/lib/components/toolbar/ToolbarFull.vue +10 -2
- package/lib/components/toolbar/__tests__/Toolbar.test.js +6 -0
- package/lib/components/toolbar/controls/FontSizeControl.vue +7 -0
- package/lib/components/toolbar/controls/ListControl.vue +1 -5
- package/lib/components/toolbar/controls/StylePresetControl.vue +14 -1
- package/lib/components/toolbar/controls/UnderlineControl.vue +2 -2
- package/lib/components/toolbar/controls/__tests__/StylePresetControl.test.js +16 -0
- package/lib/components/toolbar/controls/__tests__/UnderlineControl.test.js +4 -0
- package/lib/components/toolbar/controls/index.js +1 -0
- package/lib/components/toolbar/controls/link/LinkControl.vue +155 -0
- package/lib/components/toolbar/controls/link/LinkControlApply.vue +35 -0
- package/lib/components/toolbar/controls/link/LinkControlHeader.vue +67 -0
- package/lib/components/toolbar/controls/link/__tests__/LinkControl.test.js +79 -0
- package/lib/components/toolbar/controls/link/__tests__/LinkControlHeader.test.js +42 -0
- package/lib/components/toolbar/controls/link/composables/__tests__/__snapshots__/useLink.test.js.snap +8 -0
- package/lib/components/toolbar/controls/link/composables/__tests__/useLink.test.js +114 -0
- package/lib/components/toolbar/controls/link/composables/index.js +1 -0
- package/lib/components/toolbar/controls/link/composables/useLink.js +61 -0
- package/lib/components/toolbar/controls/link/destination/LinkControlDestination.vue +103 -0
- package/lib/components/toolbar/controls/link/destination/LinkControlPageBlock.vue +54 -0
- package/lib/components/toolbar/controls/link/destination/LinkControlUrl.vue +52 -0
- package/lib/components/toolbar/controls/link/destination/__tests__/LinkControlPageBlock.test.js +36 -0
- package/lib/components/toolbar/controls/link/destination/__tests__/LinkControlUrl.test.js +46 -0
- package/lib/components/toolbar/controls/link/destination/__tests__/__snapshots__/LinkControlPageBlock.test.js.snap +9 -0
- package/lib/components/toolbar/controls/link/destination/__tests__/__snapshots__/LinkControlUrl.test.js.snap +17 -0
- package/lib/components/toolbar/controls/link/destination/index.js +1 -0
- package/lib/components/toolbar/controls/link/index.js +1 -0
- package/lib/composables/__tests__/useEditor.test.js +2 -2
- package/lib/composables/useEditor.js +5 -7
- package/lib/composables/useToolbar.js +23 -28
- package/lib/directives/__tests__/outClick.test.js +6 -0
- package/lib/directives/outClick.js +19 -6
- package/lib/enums/Alignments.js +10 -1
- package/lib/enums/LinkDestinations.js +4 -0
- package/lib/enums/LinkTargets.js +4 -0
- package/lib/enums/TextSettings.js +3 -1
- package/lib/enums/index.js +2 -0
- package/lib/extensions/Alignment.js +21 -7
- package/lib/extensions/BackgroundColor.js +14 -6
- package/lib/extensions/DeviceManager.js +0 -4
- package/lib/extensions/FontColor.js +14 -6
- package/lib/extensions/FontFamily.js +25 -8
- package/lib/extensions/FontSize.js +31 -12
- package/lib/extensions/FontStyle.js +23 -13
- package/lib/extensions/FontWeight.js +24 -14
- package/lib/extensions/LineHeight.js +31 -28
- package/lib/extensions/Link.js +89 -0
- package/lib/extensions/StylePreset.js +16 -15
- package/lib/extensions/TextDecoration.js +45 -12
- package/lib/extensions/__tests__/Alignment.test.js +11 -5
- package/lib/extensions/__tests__/BackgroundColor.test.js +11 -5
- package/lib/extensions/__tests__/CaseStyle.test.js +3 -5
- package/lib/extensions/__tests__/FontColor.test.js +11 -5
- package/lib/extensions/__tests__/FontFamily.test.js +32 -7
- package/lib/extensions/__tests__/FontSize.test.js +13 -6
- package/lib/extensions/__tests__/FontStyle.test.js +11 -5
- package/lib/extensions/__tests__/FontWeight.test.js +19 -5
- package/lib/extensions/__tests__/LineHeight.test.js +23 -11
- package/lib/extensions/__tests__/Link.test.js +102 -0
- package/lib/extensions/__tests__/StylePreset.test.js +70 -6
- package/lib/extensions/__tests__/TextDecoration.test.js +51 -5
- package/lib/extensions/__tests__/__snapshots__/Alignment.test.js.snap +26 -2
- package/lib/extensions/__tests__/__snapshots__/BackgroundColor.test.js.snap +30 -1
- package/lib/extensions/__tests__/__snapshots__/FontColor.test.js.snap +18 -1
- package/lib/extensions/__tests__/__snapshots__/FontFamily.test.js.snap +88 -1
- package/lib/extensions/__tests__/__snapshots__/FontSize.test.js.snap +33 -2
- package/lib/extensions/__tests__/__snapshots__/FontStyle.test.js.snap +25 -4
- package/lib/extensions/__tests__/__snapshots__/FontWeight.test.js.snap +47 -1
- package/lib/extensions/__tests__/__snapshots__/LineHeight.test.js.snap +26 -2
- package/lib/extensions/__tests__/__snapshots__/Link.test.js.snap +225 -0
- package/lib/extensions/__tests__/__snapshots__/StylePreset.test.js.snap +6 -2
- package/lib/extensions/__tests__/__snapshots__/TextDecoration.test.js.snap +183 -3
- package/lib/extensions/core/CopyPasteProcessor.js +10 -0
- package/lib/extensions/core/TextProcessor.js +10 -0
- package/lib/extensions/core/__tests__/NodeProcessor.test.js +3 -5
- package/lib/extensions/core/__tests__/SelectionProcessor.test.js +3 -5
- package/lib/extensions/core/__tests__/TextProcessor.test.js +138 -12
- package/lib/extensions/core/__tests__/__snapshots__/TextProcessor.test.js.snap +26 -0
- package/lib/extensions/core/index.js +11 -2
- package/lib/extensions/core/plugins/PastePlugin.js +57 -0
- package/lib/extensions/core/plugins/ProseMirrorPlugin.js +20 -0
- package/lib/extensions/core/plugins/index.js +1 -0
- package/lib/extensions/index.js +46 -34
- package/lib/extensions/list/__tests__/List.test.js +3 -5
- package/lib/extensions/list/__tests__/__snapshots__/List.test.js.snap +45 -15
- package/lib/injectionTokens.js +2 -1
- package/lib/services/ContentNormalizer.js +113 -29
- package/lib/services/ContextWidnow.js +23 -0
- package/lib/services/__tests__/ContentNormalizer.test.js +75 -7
- package/lib/services/index.js +1 -0
- package/lib/styles/content.css +102 -13
- package/lib/styles/helpers/offsets.css +16 -0
- package/lib/styles/variables.css +6 -0
- package/lib/utils/__tests__/__snapshots__/renderInlineSetting.test.js.snap +4 -4
- package/lib/utils/__tests__/convertAlignment.test.js +16 -0
- package/lib/utils/__tests__/convertFontSize.test.js +21 -0
- package/lib/utils/__tests__/convertLineHeight.test.js +21 -0
- package/lib/utils/convertAlignment.js +12 -0
- package/lib/utils/convertColor.js +1 -1
- package/lib/utils/convertFontSize.js +8 -0
- package/lib/utils/convertLineHeight.js +17 -0
- package/lib/utils/importIcon.js +13 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/renderInlineSetting.js +1 -1
- package/package.json +21 -25
- package/config/webpack/example.config.js +0 -86
- package/config/webpack/loaders/index.js +0 -6
- package/config/webpack/loaders/js-loader.js +0 -5
- package/config/webpack/loaders/style-loader.js +0 -7
- package/config/webpack/loaders/svg-loader.js +0 -4
- package/config/webpack/loaders/vue-loader.js +0 -4
- package/lib/assets/icons.svg +0 -69
- package/lib/composables/__tests__/useToolbar.test.js +0 -56
package/.editorconfig
CHANGED
package/.eslintignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dist/**
|
package/.eslintrc.js
CHANGED
|
@@ -12,7 +12,7 @@ module.exports = {
|
|
|
12
12
|
settings: {
|
|
13
13
|
'import/resolver': {
|
|
14
14
|
node: {
|
|
15
|
-
extensions: ['.js', '.
|
|
15
|
+
extensions: ['.js', '.css', '.vue', '.html']
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
},
|
|
@@ -113,7 +113,7 @@ module.exports = {
|
|
|
113
113
|
'import/extensions': [
|
|
114
114
|
'error',
|
|
115
115
|
'never',
|
|
116
|
-
{
|
|
116
|
+
{ html: 'always' }
|
|
117
117
|
],
|
|
118
118
|
'import/order': [
|
|
119
119
|
'error',
|
package/.github/dependabot.yaml
CHANGED
package/.lintstagedrc
CHANGED
package/.release-it.json
CHANGED
package/.stylelintignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
dist/**
|
package/.stylelintrc
CHANGED
package/README.md
CHANGED
|
@@ -6,9 +6,9 @@ Zipify modification of TipTap text editor
|
|
|
6
6
|
1. Install library & dependencies
|
|
7
7
|
```shell
|
|
8
8
|
# if npm
|
|
9
|
-
npm install @zipify/wysiwyg
|
|
9
|
+
npm install @zipify/wysiwyg
|
|
10
10
|
# if yarn
|
|
11
|
-
yarn add @zipify/wysiwyg
|
|
11
|
+
yarn add @zipify/wysiwyg
|
|
12
12
|
```
|
|
13
13
|
2. Use editor
|
|
14
14
|
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import { createVuePlugin } from 'vite-plugin-vue2';
|
|
3
|
+
import { resolvePath } from './settings';
|
|
4
|
+
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
root: resolvePath('./example'),
|
|
7
|
+
base: './',
|
|
8
|
+
|
|
9
|
+
server: {
|
|
10
|
+
port: 7777,
|
|
11
|
+
host: 'localhost'
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
clearScreen: false,
|
|
15
|
+
|
|
16
|
+
resolve: {
|
|
17
|
+
extensions: ['*', '.js', '.vue', '.json']
|
|
18
|
+
},
|
|
19
|
+
|
|
20
|
+
plugins: [createVuePlugin()],
|
|
21
|
+
|
|
22
|
+
define: {
|
|
23
|
+
ZW_UPDATED_AT: Date.now()
|
|
24
|
+
}
|
|
25
|
+
});
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { defineConfig } from 'vite';
|
|
2
|
+
import { createVuePlugin } from 'vite-plugin-vue2';
|
|
3
|
+
import { resolvePath } from './settings';
|
|
4
|
+
|
|
5
|
+
export default defineConfig({
|
|
6
|
+
build: {
|
|
7
|
+
sourcemap: true,
|
|
8
|
+
|
|
9
|
+
lib: {
|
|
10
|
+
entry: resolvePath('./lib/index.js'),
|
|
11
|
+
fileName: 'wysiwyg',
|
|
12
|
+
formats: ['es']
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
rollupOptions: {
|
|
16
|
+
external: ['@vue/composition-api', '@zipify/colorpicker'],
|
|
17
|
+
output: {
|
|
18
|
+
assetFileNames: (asset) => {
|
|
19
|
+
return asset.name === 'style.css' ? 'wysiwyg.css' : asset.name;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
resolve: {
|
|
26
|
+
extensions: ['*', '.js', '.vue', '.json']
|
|
27
|
+
},
|
|
28
|
+
|
|
29
|
+
plugins: [createVuePlugin()]
|
|
30
|
+
});
|
|
File without changes
|
package/dist/wysiwyg.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.zw-toolbar__divider[data-v-045b370b]{border-color:rgba(var(--zw-color-n90),.1);border-style:solid;border-width:0}.zw-toolbar__divider--vertical[data-v-045b370b]{border-left-width:1px}.zw-toolbar__divider--horizontal[data-v-045b370b]{border-bottom-width:1px}.zw-toolbar__row[data-v-6b424a6f]{display:flex;column-gap:var(--zw-offset-xs);padding:var(--zw-offset-xxs) var(--zw-offset-xs)}.zw-toolbar__group[data-v-25eee0ed]{display:flex;column-gap:var(--zw-offset-xxs)}.zw-button[data-v-3271aefb]{display:inline-flex;align-items:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;background-color:transparent;border:0;padding:0;white-space:nowrap;appearance:none;user-select:none;text-transform:none;letter-spacing:normal;color:inherit;transition:.1s opacity ease-out;will-change:opacity}.zw-button[data-v-3271aefb]::-moz-focus-inner{border:0!important}.zw-button[data-v-3271aefb]:hover,.zw-button[data-v-3271aefb]:focus{text-decoration:none;outline:none}.zw-button[data-v-3271aefb]:disabled{user-select:none;box-shadow:none;cursor:not-allowed;opacity:.35}.zw-button--toolbar[data-v-3271aefb]{border-radius:1px;min-height:28px;font-weight:var(--zw-font-weight-semibold);font-size:var(--zw-font-size-xs);line-height:var(--zw-line-height-xxs);color:rgb(var(--zw-color-n70));transition-property:background-color,color,opacity;will-change:background-color,color,opacity}.zw-button--primary[data-v-3271aefb]{background-color:rgb(var(--zw-color-green));color:rgb(var(--zw-color-white));padding:var(--zw-offset-xxs) var(--zw-offset-sm);line-height:var(--zw-line-height-md)}.zw-button--primary[data-v-3271aefb],.zw-button--secondary[data-v-3271aefb]{color:rgb(var(--zw-color-white));padding:var(--zw-offset-xxs) var(--zw-offset-sm);font-weight:600;font-size:var(--zw-font-size-xs)}.zw-button--primary[data-v-3271aefb]:not(:disabled):hover,.zw-button--secondary[data-v-3271aefb]:not(:disabled):hover{opacity:.9}.zw-button--toolbar[data-v-3271aefb]:not(.zw-button--icon){padding:var(--zw-offset-xxs) var(--zw-offset-xs)}.zw-button--toolbar[data-v-3271aefb]:not(:disabled):hover,.zw-button--toolbar[data-v-3271aefb]:not(:disabled):focus,.zw-button--toolbar.zw-button--active[data-v-3271aefb]:not(:disabled){color:rgb(var(--zw-color-white));background-color:rgb(var(--zw-color-n5))}.zw-button-toggle[data-v-a02f12aa]{display:flex;column-gap:var(--zw-offset-xxs)}.zw-icon[data-v-00c3ad92]{display:flex}.zw-icon--auto-color[data-v-00c3ad92]{--zw-icon-foreground: currentColor}.zw-scroll-view[data-v-656e8490] .simplebar-placeholder{display:none}.zw-scroll-view[data-v-656e8490] .simplebar-track{width:4px;background-color:rgb(var(--zw-color-n20));pointer-events:initial}.zw-scroll-view[data-v-656e8490] .simplebar-scrollbar{width:4px}.zw-scroll-view[data-v-656e8490] .simplebar-scrollbar:before{top:0;left:0;background-color:rgb(var(--zw-color-n5));cursor:pointer;height:100%;width:100%;opacity:1;border-radius:0}.zw-field-label[data-v-116650c2]{font-weight:var(--zw-font-weight-thin);font-size:var(--zw-font-size-xxs);line-height:var(--zw-line-height-xxs);color:rgb(var(--zw-color-n70));display:block}.zw-range[data-v-00b1b266]{width:100%;height:32px;background:none;cursor:pointer;flex-grow:1;-webkit-appearance:none;--zw-range-track-background-color: transparent;--zw-range-track-background-image: linear-gradient(to right, #B3B3B3 var(--zw-range-progress), #3B3B3B var(--zw-range-progress));--zw-range-thumb-background: rgb(var(--zw-color-white));--zw-range-thumb-box-shadow: -1px -1px 3px rgba(59, 59, 59, .35), 1px 1px 3px rgba(59, 59, 59, .35)}.zw-range[data-v-00b1b266]::-webkit-slider-runnable-track{width:100%;height:4px;border:0;border-radius:0;background-size:100%;background-color:var(--zw-range-track-background-color);background-image:var(--zw-range-track-background-image)}.zw-range[data-v-00b1b266]::-moz-range-track{width:100%;height:4px;border:0;border-radius:0;background-size:100%;background-color:var(--zw-range-track-background-color);background-image:var(--zw-range-track-background-image)}.zw-range[data-v-00b1b266]::-ms-track{width:100%;height:4px;border:0;border-radius:0;background-size:100%;background-color:var(--zw-range-track-background-color);background-image:var(--zw-range-track-background-image)}.zw-range[data-v-00b1b266]::-webkit-slider-thumb{height:13px;width:13px;border-radius:100%;margin-top:-5px;background:var(--zw-range-thumb-background);box-shadow:var(--zw-range-thumb-box-shadow);-webkit-appearance:none;transition:box-shadow .15s cubic-bezier(0,0,.2,1)}.zw-range[data-v-00b1b266]::-moz-range-thumb{height:13px;width:13px;border-radius:100%;margin-top:-5px;background:var(--zw-range-thumb-background);box-shadow:var(--zw-range-thumb-box-shadow);-webkit-appearance:none;transition:box-shadow .15s cubic-bezier(0,0,.2,1)}.zw-range[data-v-00b1b266]::-ms-thumb{height:13px;width:13px;border-radius:100%;margin-top:-5px;background:var(--zw-range-thumb-background);box-shadow:var(--zw-range-thumb-box-shadow);-webkit-appearance:none;transition:box-shadow .15s cubic-bezier(0,0,.2,1)}.zw-range[data-v-00b1b266]::-moz-focus-outer,.zw-range[data-v-00b1b266]::-moz-range-thumb{border:0}.zw-range[data-v-00b1b266]::-ms-thumb{margin-top:-2px}.zw-range[data-v-00b1b266]:focus{outline:none}.zw-range[data-v-00b1b266]:disabled{cursor:not-allowed;opacity:.6;--zw-range-track-background-color: #3B3B3B;--zw-range-track-background-image: linear-gradient(to right, #B3B3B3 var(--zw-range-progress), #3B3B3B var(--zw-range-progress))}.zw-range[data-v-00b1b266]:disabled{--zw-range-thumb-background: #B3B3B3;--zw-range-thumb-box-shadow: 0 0 6px rgba(0, 0, 0, .35)}.zw-range[data-v-00b1b266]:not(:disabled):hover{--zw-range-thumb-box-shadow: 0 0 0 8px rgba(240, 240, 240, .15)}.zw-range[data-v-00b1b266]:not(:disabled):active{--zw-range-thumb-box-shadow: 0 0 0 12px rgba(240, 240, 240, .15)}.zw-number-field[data-v-c36402da]{--border-color: rgb(var(--zw-color-n60));--text-color: rgb(var(--zw-color-n85));--buttons-color: rgb(var(--zw-color-n70));padding:2px 4px;border:solid 1px var(--border-color);align-items:stretch;display:flex}.zw-number-field[data-v-c36402da]:hover{--border-color: rgb(var(--zw-color-n80));--text-color: rgb(var(--zw-color-n85))}.zw-number-field[data-v-c36402da]:focus,.zw-number-field[data-v-c36402da]:focus-within{--border-color: rgb(var(--zw-color-white));--text-color: rgb(var(--zw-color-white))}.zw-number-field__input[data-v-c36402da]{color:var(--text-color);background-color:rgb(var(--zw-color-n15));border:0;display:block;width:100%;outline:none!important;line-height:var(--zw-line-height-md);font-size:var(--zw-font-size-xs);-moz-appearance:textfield}.zw-number-field__buttons[data-v-c36402da]{display:none;flex-direction:column;height:100%}.zw-number-field:hover .zw-number-field__buttons[data-v-c36402da],.zw-number-field:focus .zw-number-field__buttons[data-v-c36402da],.zw-number-field:focus-within .zw-number-field__buttons[data-v-c36402da]{display:flex}.zw-number-field__input[data-v-c36402da]::placeholder{color:var(--text-color)}.zw-number-field__input[data-v-c36402da]::-webkit-outer-spin-button,.zw-number-field__input[data-v-c36402da]::-webkit-inner-spin-button{color:var(--text-color);-webkit-appearance:none}.zw-number-field__controls[data-v-c36402da]{min-width:var(--zw-offset-sm)}.zw-number-field--disabled[data-v-c36402da]{opacity:.5}.zw-number-field--disabled[data-v-c36402da],.zw-number-field--disabled .zw-number-field__input[data-v-c36402da]{cursor:not-allowed}.zw-number-field__increment-button[data-v-c36402da],.zw-number-field__decrement-button[data-v-c36402da]{width:100%;height:50%;display:flex;align-items:center;justify-content:center}.zw-number-field__increment-button[data-v-c36402da]:after,.zw-number-field__decrement-button[data-v-c36402da]:after{content:"";border-left:3px solid transparent;border-right:3px solid transparent}.zw-number-field__increment-button[data-v-c36402da]:after{border-bottom:3px solid var(--buttons-color)}.zw-number-field__decrement-button[data-v-c36402da]:after{border-top:3px solid var(--buttons-color)}.zw-number-field__increment-button[data-v-c36402da]:hover,.zw-number-field__decrement-button[data-v-c36402da]:hover{background-color:rgb(var(--zw-color-n20));--buttons-color: rgb(var(--zw-color-white))}.zw-number-field__units[data-v-c36402da]{color:rgb(var(--zw-color-n70));font-size:var(--zw-font-size-xs);line-height:var(--zw-line-height-md);text-align:center;display:inline-block;width:100%}.zw-number-field:hover .zw-number-field__units[data-v-c36402da],.zw-number-field:focus .zw-number-field__units[data-v-c36402da]{display:none}.zw-modal[data-v-176ee9f5]{border-radius:2px;box-shadow:0 0 4px rgba(var(--zw-color-black),.3);background-color:rgb(var(--zw-color-n15));max-height:var(--zw-modal-max-height);max-width:var(--zw-modal-max-width);z-index:1000;will-change:transform}.zw-modal--enter-active[data-v-176ee9f5]{transition:opacity .15s ease-out}.zw-modal--enter[data-v-176ee9f5],.zw-modal--leave-to[data-v-176ee9f5]{opacity:0}.zw-modal--leave-active[data-v-176ee9f5]{transition:opacity .1s ease-in}.zw-modal[data-v-176ee9f5] .simplebar-offset,.zw-modal[data-v-176ee9f5] .simplebar-mask{position:initial}.zw-modal[data-v-176ee9f5] .simplebar-content{max-height:var(--zw-modal-max-height);padding:0!important}.zw-modal[data-v-176ee9f5] .simplebar-content-wrapper{overscroll-behavior:contain}.zw-field[data-v-5201153a]{display:flex;flex-direction:column}.zw-field__input[data-v-5201153a]{--border-color: rgb(var(--zw-color-n60));--text-color: rgb(var(--zw-color-n85));border:1px solid var(--border-color);background-color:transparent;color:var(--text-color);font-size:var(--zw-font-size-xxs);outline:none;padding:6px;line-height:var(--zw-line-height-xxs)}.zw-field__input[data-v-5201153a]:hover{--border-color: rgb(var(--zw-color-n80));--text-color: rgb(var(--zw-color-n85))}.zw-field__input[data-v-5201153a]:focus,.zw-field__input[data-v-5201153a]:focus-within{--border-color: rgb(var(--zw-color-white));--text-color: rgb(var(--zw-color-white))}.zw-field__label[data-v-5201153a]{display:inline-block;font-size:var(--zw-font-size-xxs);padding-bottom:var(--zw-offset-xxs);line-height:var(--zw-line-height-xxs)}.zw-field__label--error[data-v-5201153a]{font-size:var(--zw-font-size-xxs);margin:var(--zw-offset-xxs) 0 0;color:rgb(var(--zw-color-red))}.zw-checkbox[data-v-2de7f5c1]{display:inline-flex;align-items:center;position:relative;cursor:pointer;padding:var(--zw-offset-xxs) var(--zw-offset-xxs) var(--zw-offset-xxs) 0}.zw-checkbox__field+.zw-checkbox__indicator[data-v-2de7f5c1]{color:var(--zw-color-n200);box-shadow:inset 0 0 0 2px currentColor}.zw-checkbox:hover .zw-checkbox__indicator[data-v-2de7f5c1]{box-shadow:inset 0 0 0 2px rgb(var(--zw-color-green))}.zw-checkbox__field:checked+.zw-checkbox__indicator[data-v-2de7f5c1]{color:rgb(var(--zw-color-green))}.zw-checkbox .zw-checkbox__field:checked+.zw-checkbox__indicator[data-v-2de7f5c1]{background-color:rgb(var(--zw-color-green))}.zw-checkbox .zw-checkbox__indicator[data-v-2de7f5c1]:after{content:"";display:block;height:16px;transform:scale(.6);transition:transform .2s ease-out;width:16px;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNiAyNiIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiPgogIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0uMyAxNGMtLjItLjItLjMtLjUtLjMtLjdzLjEtLjUuMy0uN2wxLjQtMS40Yy40LS40IDEtLjQgMS40IDBsLjEuMSA1LjUgNS45Yy4yLjIuNS4yLjcgMEwyMi44IDMuM2guMWMuNC0uNCAxLS40IDEuNCAwbDEuNCAxLjRjLjQuNC40IDEgMCAxLjRsLTE2IDE2LjZjLS4yLjItLjQuMy0uNy4zLS4zIDAtLjUtLjEtLjctLjNMLjUgMTQuMy4zIDE0eiIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-size:16px;background-position:center center}.zw-checkbox__field:not(:checked)+.zw-checkbox__indicator[data-v-2de7f5c1]:after{transform:scale(0)}.zw-checkbox__field[data-v-2de7f5c1]{position:absolute;opacity:0;height:0;width:0}.zw-checkbox__label[data-v-2de7f5c1]{font-size:var(--zw-font-size-xs)}.zw-dropdown__activator[data-v-86a4a284]{width:100%}.zw-dropdown__activator-title[data-v-86a4a284]{margin-right:var(--zw-offset-xs)}.zw-dropdown__activator-arrow[data-v-86a4a284]{margin-left:auto}.zw-dropdown__activator--active .zw-dropdown__activator-arrow[data-v-86a4a284]{transform:rotateX(180deg)}.zw-dropdown__activator--gray[data-v-86a4a284]{background-color:rgb(var(--zw-color-n20));font-size:var(--zw-font-size-xxs);color:rgb(var(--zw-color-white))}.zw-dropdown__option[data-v-763d3764]{width:100%;display:block;color:rgb(var(--zw-color-white));padding-top:var(--zw-offset-xxs);padding-right:var(--zw-offset-sm);padding-left:calc(var(--zw-offset-sm) + var(--zw-option-offset, 0px));padding-bottom:var(--zw-offset-xxs);text-align:left;transition:.1s background-color ease-out;will-change:background-color}.zw-dropdown__option[data-v-763d3764]:hover,.zw-dropdown__option[data-v-763d3764]:focus,.zw-dropdown__option--active[data-v-763d3764]{background-color:rgb(var(--zw-color-n30))}.zw-dropdown__group[data-v-82d71c28]{padding-top:var(--zw-offset-xs);padding-bottom:var(--zw-offset-xs);--zw-option-offset: var(--zw-offset-xs)}.zw-dropdown__group-title[data-v-82d71c28]{color:var(--zw-color-n70);font-weight:var(--zw-font-weight-semibold);padding-left:var(--zw-offset-sm);padding-right:var(--zw-offset-sm);margin-top:0;margin-bottom:var(--zw-offset-xs)}.zw-dropdown__divider[data-v-1f5efb01]{padding:0 var(--zw-offset-sm)}.zw-dropdown__divider[data-v-1f5efb01]:before{content:"";display:block;border-bottom:1px solid rgb(var(--zw-color-n30))}.zw-dropdown__menu{padding-top:var(--zw-offset-xs);padding-bottom:var(--zw-offset-xs)}.zw-dropdown[data-v-75f6270e]{position:relative;font-size:var(--zw-font-size-xs);line-height:var(--zw-line-height-xxs)}.zw-style-preset-control[data-v-3c79694d]{display:flex;align-items:center}.zw-style-preset-control__dropdown[data-v-3c79694d]{width:96px}.zw-style-preset-control__reset[data-v-3c79694d]{color:rgb(var(--zw-color-n70))}.zw-style-preset-control__reset[data-v-3c79694d]:not(:disabled):hover,.zw-style-preset-control__reset[data-v-3c79694d]:not(:disabled):focus,.zw-style-preset-control__reset[data-v-3c79694d]:not(:disabled):focus-within{color:rgb(var(--zw-color-white))}.zw-font-family-control[data-v-7424744b]{width:96px}.zw-font-family-control__option[data-v-7424744b]{font-weight:400;font-family:var(--zw-font-family-option);width:150px}.zw-font-size-control[data-v-3494faec]{width:64px}.zw-alignment-control__modal[data-v-61ce8243]{padding:var(--zw-offset-xxs)}.zw-alignment-control__toggle[data-v-61ce8243]{flex-direction:column}.zw-line-height-control__modal[data-v-4a0a2202]{padding:var(--zw-offset-sm)}.zw-line-height-control__row[data-v-4a0a2202]{display:flex;align-items:center}.zw-line-height-control__range[data-v-4a0a2202]{width:156px}.zw-line-height-control__field[data-v-4a0a2202]{width:52px;margin-left:var(--zw-offset-sm)}.zw-list-control__option[data-v-76bd3ee8]{padding:0 var(--zw-offset-xs);display:flex}.zw-link-modal-header[data-v-f7266b5e]{display:flex;align-items:center;justify-content:space-between;padding:var(--zw-offset-sm);border-bottom:2px solid rgb(var(--zw-color-n5))}.zw-link-modal-header__title[data-v-f7266b5e]{text-transform:uppercase;font-weight:var(--zw-font-weight-semibold);font-size:var(--zw-font-size-xxs);color:rgb(var(--zw-color-white))}.zw-link-modal-header__unlink-icon[data-v-f7266b5e]{margin-right:var(--zw-offset-xxs)}.zw-link-modal-header__unlink-button[data-v-f7266b5e]{color:rgb(var(--zw-color-n80));font-size:var(--zw-font-size-xxs);transition:.1s opacity ease-out;will-change:opacity}.zw-link-modal-header__unlink-button[data-v-f7266b5e]:disabled{opacity:.35}.zw-link-modal-header__unlink-button[data-v-f7266b5e]:hover{color:rgb(var(--zw-color-white))}.zw-link-modal__apply[data-v-2ad47228]{display:flex;justify-content:flex-end}.zw-link-modal[data-v-0418dcf7]{width:266px}.zw-link-modal__body[data-v-0418dcf7]{padding:var(--zw-offset-sm)}[data-v-0418dcf7] .zw-link-modal-dropdown__option{width:234px}.zw-toolbar[data-v-863e2d50]{border-radius:2px;background-color:rgb(var(--zw-color-n15));color:rgb(var(--zw-color-n70));z-index:999999}.zw-toolbar[data-v-863e2d50]:before,.zw-toolbar[data-v-863e2d50]:after{content:"";display:block;width:100%;height:calc(var(--zw-toolbar-offset-y) + 4px);position:absolute;--zw-toolbar-safe-zone: calc(-1 * var(--zw-toolbar-offset-y))}.zw-toolbar[data-v-863e2d50]:before{top:var(--zw-toolbar-safe-zone)}.zw-toolbar[data-v-863e2d50]:after{bottom:var(--zw-toolbar-safe-zone)}.zw-toolbar--enter-active[data-v-863e2d50],.zw-toolbar--leave-active[data-v-863e2d50]{transition:opacity .15s ease-out}.zw-toolbar--leave-active[data-v-863e2d50]{transition:opacity 0s ease-in}.zw-toolbar--enter[data-v-863e2d50],.zw-toolbar--leave-to[data-v-863e2d50]{opacity:0}.zw-wysiwyg{--zw-color-n5: 13, 13, 13;--zw-color-n15: 38, 38, 38;--zw-color-n20: 59, 59, 59;--zw-color-n30: 77, 77, 77;--zw-color-n60: 153, 153, 153;--zw-color-n70: 179, 179, 179;--zw-color-n80: 196, 196, 196;--zw-color-n85: 217, 217, 217;--zw-color-n90: 230, 230, 230;--zw-color-n200: 194, 200, 209;--zw-color-black: 0, 0, 0;--zw-color-white: 255, 255, 255;--zw-color-green: 59, 180, 74;--zw-color-red: 234, 58, 58;--zw-offset-xxs: 4px;--zw-offset-xs: 8px;--zw-offset-xsm: 12px;--zw-offset-sm: 16px;--zw-offset-md: 24px;--zw-font-weight-thin: 400;--zw-font-weight-semibold: 500;--zw-font-size-xxs: 12px;--zw-font-size-xs: 14px;--zw-line-height-xxs: 1.21;--zw-line-height-md: 1.72}.zw-wysiwyg [contenteditable]{outline:none}.zw-wysiwyg__placeholder:first-child:last-child:before{content:attr(data-placeholder);color:rgb(var(--zw-color-n70));float:left;height:0;pointer-events:none}.zw-style.zw-style.zw-style{font-weight:var(--zw-font-weight, var(--zw-preset-font-weight));font-family:var(--zw-font-family, var(--zw-preset-font-family));color:var(--zw-font-color, var(--zw-preset-color));font-style:var(--zw-font-style, var(--zw-preset-font-style));text-decoration:var(--zw-text-decoration, var(--zw-preset-text-decoration));background-color:var(--zw-background-color, var(--zw-preset-background-color))}@media (min-width: 1200px){.zw-style.zw-style.zw-style{font-size:var(--zw-font-size-desktop, var(--zw-preset-desktop-font-size));text-align:var(--zw-text-align-desktop, var(--zw-preset-desktop-text-align));line-height:var(--zw-line-height-desktop, var(--zw-preset-desktop-line-height))}}@media (min-width: 769px) and (max-width: 1199.98px){.zw-style.zw-style.zw-style{font-size:var(--zw-font-size-tablet, var(--zw-preset-tablet-font-size));text-align:var(--zw-text-align-tablet, var(--zw-preset-tablet-text-align));line-height:var(--zw-line-height-tablet, var(--zw-preset-tablet-line-height))}}@media (max-width: 768.98px){.zw-style.zw-style.zw-style{font-size:var(--zw-font-size-mobile, var(--zw-preset-mobile-font-size));text-align:var(--zw-text-align-mobile, var(--zw-preset-mobile-text-align));line-height:var(--zw-line-height-mobile, var(--zw-preset-mobile-line-height))}}.ProseMirror{position:relative}.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror [contenteditable=false]{white-space:normal}.ProseMirror [contenteditable=false] [contenteditable=true],.ProseMirror pre{white-space:pre-wrap}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important;width:1px!important;height:1px!important}.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute;margin:0}.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid #000;animation:ProseMirror-cursor-blink 1.1s steps(2,start) infinite}@keyframes ProseMirror-cursor-blink{to{visibility:hidden}}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection *{caret-color:transparent}.ProseMirror-focused .ProseMirror-gapcursor{display:block}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}.zw-text--truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.zw-position--relative{position:relative}.zw-margin-bottom--xxs{margin-bottom:var(--zw-offset-xxs)}.zw-margin-bottom--xs{margin-bottom:var(--zw-offset-xs)}.zw-margin-bottom--sm{margin-bottom:var(--zw-offset-sm)}.zw-margin-bottom--md{margin-bottom:var(--zw-offset-md)}.zw-margin-right--xs{margin-right:var(--zw-offset-xs)}
|