@logicflow/extension 2.2.4-alpha.1 → 2.3.0-alpha.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/es/dynamic-group/index.d.ts +8 -7
- package/es/dynamic-group/index.js +0 -1
- package/es/dynamic-group/model.d.ts +6 -8
- package/es/dynamic-group/model.js +9 -10
- package/lib/dynamic-group/index.d.ts +8 -7
- package/lib/dynamic-group/index.js +0 -1
- package/lib/dynamic-group/model.d.ts +6 -8
- package/lib/dynamic-group/model.js +10 -11
- package/package.json +3 -3
- package/dist/index.css +0 -1
- package/dist/index.min.js +0 -2
- package/dist/index.min.js.map +0 -1
|
@@ -14,6 +14,12 @@ export declare const dynamicGroup: {
|
|
|
14
14
|
view: typeof DynamicGroupNode;
|
|
15
15
|
model: typeof DynamicGroupNodeModel;
|
|
16
16
|
};
|
|
17
|
+
export type SensorOutlineOptions = {
|
|
18
|
+
/** 拖拽感应外框描边颜色,默认 '#feb663' */
|
|
19
|
+
stroke?: string;
|
|
20
|
+
/** 拖拽感应外框线宽,默认 2 */
|
|
21
|
+
strokeWidth?: number;
|
|
22
|
+
};
|
|
17
23
|
export declare class DynamicGroup {
|
|
18
24
|
static pluginName: string;
|
|
19
25
|
private lf;
|
|
@@ -27,7 +33,8 @@ export declare class DynamicGroup {
|
|
|
27
33
|
* 默认 true,与 v1.1 以来行为一致;为 false 时仅删除分组,成员保留并解除归属。
|
|
28
34
|
*/
|
|
29
35
|
cascadeDeleteChildren: boolean;
|
|
30
|
-
|
|
36
|
+
/** 拖拽节点进入分组时的感应外框样式 */
|
|
37
|
+
sensorOutline?: SensorOutlineOptions;
|
|
31
38
|
topGroupZIndex: number;
|
|
32
39
|
activeGroup?: DynamicGroupNodeModel;
|
|
33
40
|
nodeGroupMap: Map<string, string>;
|
|
@@ -148,12 +155,6 @@ export declare namespace DynamicGroup {
|
|
|
148
155
|
childNodes: BaseNodeModel[];
|
|
149
156
|
edgesData: EdgeData[];
|
|
150
157
|
};
|
|
151
|
-
type SensorOutlineOptions = {
|
|
152
|
-
/** 拖拽感应外框描边颜色,默认 '#feb663' */
|
|
153
|
-
stroke?: string;
|
|
154
|
-
/** 拖拽感应外框线宽,默认 2 */
|
|
155
|
-
strokeWidth?: number;
|
|
156
|
-
};
|
|
157
158
|
type DynamicGroupOptions = Partial<{
|
|
158
159
|
isCollapsed: boolean;
|
|
159
160
|
/** 为 true 时禁止手动将边连到/从分组节点;默认 false */
|
|
@@ -74,7 +74,6 @@ var DynamicGroup = /** @class */ (function () {
|
|
|
74
74
|
* 默认 true,与 v1.1 以来行为一致;为 false 时仅删除分组,成员保留并解除归属。
|
|
75
75
|
*/
|
|
76
76
|
this.cascadeDeleteChildren = true;
|
|
77
|
-
this.sensorOutline = {};
|
|
78
77
|
this.topGroupZIndex = DEFAULT_BOTTOM_Z_INDEX;
|
|
79
78
|
// 存储节点与 group 的映射关系
|
|
80
79
|
this.nodeGroupMap = new Map();
|
|
@@ -2,12 +2,6 @@ import LogicFlow, { BaseEdgeModel, GraphModel, IRectNodeProperties, RectNodeMode
|
|
|
2
2
|
import NodeData = LogicFlow.NodeData;
|
|
3
3
|
import NodeConfig = LogicFlow.NodeConfig;
|
|
4
4
|
import EdgeConfig = LogicFlow.EdgeConfig;
|
|
5
|
-
/** 拖拽感应外框默认样式(可通过 pluginsOptions.dynamicGroup.sensorOutline 覆盖) */
|
|
6
|
-
export declare const DEFAULT_SENSOR_OUTLINE: {
|
|
7
|
-
readonly stroke: "#feb663";
|
|
8
|
-
readonly strokeWidth: 2;
|
|
9
|
-
};
|
|
10
|
-
export type SensorOutlineOptions = Partial<typeof DEFAULT_SENSOR_OUTLINE>;
|
|
11
5
|
export type IGroupNodeProperties = {
|
|
12
6
|
/**
|
|
13
7
|
* 当前分组中的节点 id
|
|
@@ -191,10 +185,14 @@ export declare class DynamicGroupNodeModel extends RectNodeModel<IGroupNodePrope
|
|
|
191
185
|
* 设置分组节点 drop 区域的样式
|
|
192
186
|
*/
|
|
193
187
|
getAddableOutlineStyle(): {
|
|
194
|
-
stroke:
|
|
195
|
-
strokeWidth:
|
|
188
|
+
stroke: string;
|
|
189
|
+
strokeWidth: number;
|
|
196
190
|
strokeDasharray: string;
|
|
197
191
|
fill: string;
|
|
198
192
|
};
|
|
199
193
|
}
|
|
194
|
+
export declare const DEFAULT_SENSOR_OUTLINE: {
|
|
195
|
+
stroke: string;
|
|
196
|
+
strokeWidth: number;
|
|
197
|
+
};
|
|
200
198
|
export default DynamicGroupNodeModel;
|
|
@@ -59,11 +59,6 @@ import { observable, ElementType, RectNodeModel, } from '@logicflow/core';
|
|
|
59
59
|
import { cloneDeep, forEach } from 'lodash-es';
|
|
60
60
|
import { ExtensionEventType } from '../constant/events';
|
|
61
61
|
import { DEFAULT_TITLE_TEXT_ALIGN, DEFAULT_TITLE_WRAP_PADDING, formatWrapPaddingCss, getTitleForeignObjectRect, parseWrapPadding, resolveTitleTextPosition, textAlignToAnchor, } from './utils';
|
|
62
|
-
/** 拖拽感应外框默认样式(可通过 pluginsOptions.dynamicGroup.sensorOutline 覆盖) */
|
|
63
|
-
export var DEFAULT_SENSOR_OUTLINE = {
|
|
64
|
-
stroke: '#feb663',
|
|
65
|
-
strokeWidth: 2,
|
|
66
|
-
};
|
|
67
62
|
// 分组节点默认展开时的大小
|
|
68
63
|
var DEFAULT_GROUP_EXPAND_WIDTH = 400;
|
|
69
64
|
var DEFAULT_GROUP_EXPAND_HEIGHT = 230;
|
|
@@ -567,12 +562,12 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
567
562
|
* 设置分组节点 drop 区域的样式
|
|
568
563
|
*/
|
|
569
564
|
DynamicGroupNodeModel.prototype.getAddableOutlineStyle = function () {
|
|
570
|
-
var
|
|
571
|
-
|
|
572
|
-
var
|
|
565
|
+
var _a;
|
|
566
|
+
var plugin = this.graphModel.dynamicGroup;
|
|
567
|
+
var _b = (_a = plugin === null || plugin === void 0 ? void 0 : plugin.sensorOutline) !== null && _a !== void 0 ? _a : {}, stroke = _b.stroke, strokeWidth = _b.strokeWidth;
|
|
573
568
|
return {
|
|
574
|
-
stroke: stroke,
|
|
575
|
-
strokeWidth: strokeWidth,
|
|
569
|
+
stroke: stroke !== null && stroke !== void 0 ? stroke : DEFAULT_SENSOR_OUTLINE.stroke,
|
|
570
|
+
strokeWidth: strokeWidth !== null && strokeWidth !== void 0 ? strokeWidth : DEFAULT_SENSOR_OUTLINE.strokeWidth,
|
|
576
571
|
strokeDasharray: '4 4',
|
|
577
572
|
fill: 'transparent',
|
|
578
573
|
};
|
|
@@ -589,4 +584,8 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
589
584
|
return DynamicGroupNodeModel;
|
|
590
585
|
}(RectNodeModel));
|
|
591
586
|
export { DynamicGroupNodeModel };
|
|
587
|
+
export var DEFAULT_SENSOR_OUTLINE = {
|
|
588
|
+
stroke: '#feb663',
|
|
589
|
+
strokeWidth: 2,
|
|
590
|
+
};
|
|
592
591
|
export default DynamicGroupNodeModel;
|
|
@@ -14,6 +14,12 @@ export declare const dynamicGroup: {
|
|
|
14
14
|
view: typeof DynamicGroupNode;
|
|
15
15
|
model: typeof DynamicGroupNodeModel;
|
|
16
16
|
};
|
|
17
|
+
export type SensorOutlineOptions = {
|
|
18
|
+
/** 拖拽感应外框描边颜色,默认 '#feb663' */
|
|
19
|
+
stroke?: string;
|
|
20
|
+
/** 拖拽感应外框线宽,默认 2 */
|
|
21
|
+
strokeWidth?: number;
|
|
22
|
+
};
|
|
17
23
|
export declare class DynamicGroup {
|
|
18
24
|
static pluginName: string;
|
|
19
25
|
private lf;
|
|
@@ -27,7 +33,8 @@ export declare class DynamicGroup {
|
|
|
27
33
|
* 默认 true,与 v1.1 以来行为一致;为 false 时仅删除分组,成员保留并解除归属。
|
|
28
34
|
*/
|
|
29
35
|
cascadeDeleteChildren: boolean;
|
|
30
|
-
|
|
36
|
+
/** 拖拽节点进入分组时的感应外框样式 */
|
|
37
|
+
sensorOutline?: SensorOutlineOptions;
|
|
31
38
|
topGroupZIndex: number;
|
|
32
39
|
activeGroup?: DynamicGroupNodeModel;
|
|
33
40
|
nodeGroupMap: Map<string, string>;
|
|
@@ -148,12 +155,6 @@ export declare namespace DynamicGroup {
|
|
|
148
155
|
childNodes: BaseNodeModel[];
|
|
149
156
|
edgesData: EdgeData[];
|
|
150
157
|
};
|
|
151
|
-
type SensorOutlineOptions = {
|
|
152
|
-
/** 拖拽感应外框描边颜色,默认 '#feb663' */
|
|
153
|
-
stroke?: string;
|
|
154
|
-
/** 拖拽感应外框线宽,默认 2 */
|
|
155
|
-
strokeWidth?: number;
|
|
156
|
-
};
|
|
157
158
|
type DynamicGroupOptions = Partial<{
|
|
158
159
|
isCollapsed: boolean;
|
|
159
160
|
/** 为 true 时禁止手动将边连到/从分组节点;默认 false */
|
|
@@ -91,7 +91,6 @@ var DynamicGroup = /** @class */ (function () {
|
|
|
91
91
|
* 默认 true,与 v1.1 以来行为一致;为 false 时仅删除分组,成员保留并解除归属。
|
|
92
92
|
*/
|
|
93
93
|
this.cascadeDeleteChildren = true;
|
|
94
|
-
this.sensorOutline = {};
|
|
95
94
|
this.topGroupZIndex = DEFAULT_BOTTOM_Z_INDEX;
|
|
96
95
|
// 存储节点与 group 的映射关系
|
|
97
96
|
this.nodeGroupMap = new Map();
|
|
@@ -2,12 +2,6 @@ import LogicFlow, { BaseEdgeModel, GraphModel, IRectNodeProperties, RectNodeMode
|
|
|
2
2
|
import NodeData = LogicFlow.NodeData;
|
|
3
3
|
import NodeConfig = LogicFlow.NodeConfig;
|
|
4
4
|
import EdgeConfig = LogicFlow.EdgeConfig;
|
|
5
|
-
/** 拖拽感应外框默认样式(可通过 pluginsOptions.dynamicGroup.sensorOutline 覆盖) */
|
|
6
|
-
export declare const DEFAULT_SENSOR_OUTLINE: {
|
|
7
|
-
readonly stroke: "#feb663";
|
|
8
|
-
readonly strokeWidth: 2;
|
|
9
|
-
};
|
|
10
|
-
export type SensorOutlineOptions = Partial<typeof DEFAULT_SENSOR_OUTLINE>;
|
|
11
5
|
export type IGroupNodeProperties = {
|
|
12
6
|
/**
|
|
13
7
|
* 当前分组中的节点 id
|
|
@@ -191,10 +185,14 @@ export declare class DynamicGroupNodeModel extends RectNodeModel<IGroupNodePrope
|
|
|
191
185
|
* 设置分组节点 drop 区域的样式
|
|
192
186
|
*/
|
|
193
187
|
getAddableOutlineStyle(): {
|
|
194
|
-
stroke:
|
|
195
|
-
strokeWidth:
|
|
188
|
+
stroke: string;
|
|
189
|
+
strokeWidth: number;
|
|
196
190
|
strokeDasharray: string;
|
|
197
191
|
fill: string;
|
|
198
192
|
};
|
|
199
193
|
}
|
|
194
|
+
export declare const DEFAULT_SENSOR_OUTLINE: {
|
|
195
|
+
stroke: string;
|
|
196
|
+
strokeWidth: number;
|
|
197
|
+
};
|
|
200
198
|
export default DynamicGroupNodeModel;
|
|
@@ -57,16 +57,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
57
57
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
58
58
|
};
|
|
59
59
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
-
exports.
|
|
60
|
+
exports.DEFAULT_SENSOR_OUTLINE = exports.DynamicGroupNodeModel = void 0;
|
|
61
61
|
var core_1 = require("@logicflow/core");
|
|
62
62
|
var lodash_es_1 = require("lodash-es");
|
|
63
63
|
var events_1 = require("../constant/events");
|
|
64
64
|
var utils_1 = require("./utils");
|
|
65
|
-
/** 拖拽感应外框默认样式(可通过 pluginsOptions.dynamicGroup.sensorOutline 覆盖) */
|
|
66
|
-
exports.DEFAULT_SENSOR_OUTLINE = {
|
|
67
|
-
stroke: '#feb663',
|
|
68
|
-
strokeWidth: 2,
|
|
69
|
-
};
|
|
70
65
|
// 分组节点默认展开时的大小
|
|
71
66
|
var DEFAULT_GROUP_EXPAND_WIDTH = 400;
|
|
72
67
|
var DEFAULT_GROUP_EXPAND_HEIGHT = 230;
|
|
@@ -570,12 +565,12 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
570
565
|
* 设置分组节点 drop 区域的样式
|
|
571
566
|
*/
|
|
572
567
|
DynamicGroupNodeModel.prototype.getAddableOutlineStyle = function () {
|
|
573
|
-
var
|
|
574
|
-
|
|
575
|
-
var
|
|
568
|
+
var _a;
|
|
569
|
+
var plugin = this.graphModel.dynamicGroup;
|
|
570
|
+
var _b = (_a = plugin === null || plugin === void 0 ? void 0 : plugin.sensorOutline) !== null && _a !== void 0 ? _a : {}, stroke = _b.stroke, strokeWidth = _b.strokeWidth;
|
|
576
571
|
return {
|
|
577
|
-
stroke: stroke,
|
|
578
|
-
strokeWidth: strokeWidth,
|
|
572
|
+
stroke: stroke !== null && stroke !== void 0 ? stroke : exports.DEFAULT_SENSOR_OUTLINE.stroke,
|
|
573
|
+
strokeWidth: strokeWidth !== null && strokeWidth !== void 0 ? strokeWidth : exports.DEFAULT_SENSOR_OUTLINE.strokeWidth,
|
|
579
574
|
strokeDasharray: '4 4',
|
|
580
575
|
fill: 'transparent',
|
|
581
576
|
};
|
|
@@ -592,4 +587,8 @@ var DynamicGroupNodeModel = /** @class */ (function (_super) {
|
|
|
592
587
|
return DynamicGroupNodeModel;
|
|
593
588
|
}(core_1.RectNodeModel));
|
|
594
589
|
exports.DynamicGroupNodeModel = DynamicGroupNodeModel;
|
|
590
|
+
exports.DEFAULT_SENSOR_OUTLINE = {
|
|
591
|
+
stroke: '#feb663',
|
|
592
|
+
strokeWidth: 2,
|
|
593
|
+
};
|
|
595
594
|
exports.default = DynamicGroupNodeModel;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logicflow/extension",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.0-alpha.0",
|
|
4
4
|
"description": "LogicFlow Extensions",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"author": "Logicflow-Team",
|
|
21
21
|
"license": "Apache-2.0",
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@logicflow/core": "2.2.
|
|
23
|
+
"@logicflow/core": "2.2.3-alpha.0"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@antv/hierarchy": "^0.6.11",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"postcss-url": "^10.1.3",
|
|
38
38
|
"postcss-import": "^16.1.0",
|
|
39
39
|
"rollup-plugin-postcss": "^4.0.2",
|
|
40
|
-
"@logicflow/core": "2.2.
|
|
40
|
+
"@logicflow/core": "2.2.3-alpha.0"
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist",
|
package/dist/index.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.medium-editor-anchor-preview,.medium-editor-toolbar{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;z-index:2000}@-webkit-keyframes medium-editor-image-loading{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes medium-editor-image-loading{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes medium-editor-pop-upwards{0%{opacity:0;-webkit-transform:matrix(.97,0,0,1,0,12);transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;-webkit-transform:matrix(.99,0,0,1,0,2);transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;-webkit-transform:matrix(1,0,0,1,0,-1);transform:matrix(1,0,0,1,0,-1)}to{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}}@keyframes medium-editor-pop-upwards{0%{opacity:0;-webkit-transform:matrix(.97,0,0,1,0,12);transform:matrix(.97,0,0,1,0,12)}20%{opacity:.7;-webkit-transform:matrix(.99,0,0,1,0,2);transform:matrix(.99,0,0,1,0,2)}40%{opacity:1;-webkit-transform:matrix(1,0,0,1,0,-1);transform:matrix(1,0,0,1,0,-1)}to{-webkit-transform:matrix(1,0,0,1,0,0);transform:matrix(1,0,0,1,0,0)}}.medium-editor-anchor-preview{word-wrap:break-word;left:0;line-height:1.4;max-width:280px;position:absolute;text-align:center;top:0;visibility:hidden;word-break:break-all}.medium-editor-anchor-preview a{color:#fff;display:inline-block;margin:5px 5px 10px}.medium-editor-placeholder-relative:after,.medium-editor-placeholder:after{content:attr(data-placeholder)!important;font-style:italic;margin:inherit;padding:inherit;white-space:pre}.medium-editor-anchor-preview-active{visibility:visible}.medium-editor-dragover{background:#ddd}.medium-editor-image-loading{-webkit-animation:medium-editor-image-loading 1s ease-in-out infinite;animation:medium-editor-image-loading 1s ease-in-out infinite;background-color:#333;border-radius:100%;display:inline-block;height:40px;width:40px}.medium-editor-placeholder{position:relative}.medium-editor-placeholder:after{left:0;position:absolute;top:0}.medium-editor-placeholder-relative,.medium-editor-placeholder-relative:after{position:relative}.medium-toolbar-arrow-over:before,.medium-toolbar-arrow-under:after{border-style:solid;content:"";display:block;height:0;left:50%;margin-left:-8px;position:absolute;width:0}.medium-toolbar-arrow-under:after{border-width:8px 8px 0}.medium-toolbar-arrow-over:before{border-width:0 8px 8px;top:-8px}.medium-editor-toolbar{left:0;position:absolute;top:0;visibility:hidden}.medium-editor-toolbar ul{margin:0;padding:0}.medium-editor-toolbar li{float:left;list-style:none;margin:0;padding:0}.medium-editor-toolbar li button{cursor:pointer;display:block;font-size:14px;line-height:1.33;margin:0;padding:15px;text-decoration:none}.medium-editor-toolbar li button:focus{outline:0}.medium-editor-toolbar li .medium-editor-action-underline{text-decoration:underline}.medium-editor-toolbar li .medium-editor-action-pre{font-family:Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;font-weight:100;padding:15px 0}.medium-editor-toolbar-active{visibility:visible}.medium-editor-sticky-toolbar{position:fixed;top:1px}.medium-editor-relative-toolbar{position:relative}.medium-editor-toolbar-active.medium-editor-stalker-toolbar{-webkit-animation:medium-editor-pop-upwards .16s linear forwards;animation:medium-editor-pop-upwards .16s linear forwards}.medium-editor-action-bold{font-weight:bolder}.medium-editor-action-italic{font-style:italic}.medium-editor-toolbar-form{display:none}.medium-editor-toolbar-form a,.medium-editor-toolbar-form input{font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.medium-editor-toolbar-form .medium-editor-toolbar-form-row{line-height:14px;margin-left:5px;padding-bottom:5px}.medium-editor-toolbar-form .medium-editor-toolbar-input,.medium-editor-toolbar-form label{border:none;box-sizing:border-box;display:inline-block;font-size:14px;margin:0;padding:6px;width:316px}.medium-editor-toolbar-form .medium-editor-toolbar-input:focus,.medium-editor-toolbar-form label:focus{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;box-shadow:none;outline:0}.medium-editor-toolbar-form a{display:inline-block;font-size:24px;font-weight:bolder;margin:0 10px;text-decoration:none}.medium-editor-toolbar-form-active{display:block}.medium-editor-toolbar-actions:after{clear:both;content:"";display:table}.medium-editor-element{word-wrap:break-word;min-height:30px}.medium-editor-element img{max-width:100%}.medium-editor-element sub{vertical-align:sub}.medium-editor-element sup{vertical-align:super}.medium-editor-hidden{display:none}.medium-toolbar-arrow-under:after{border-color:#000 transparent transparent;top:40px}.medium-toolbar-arrow-over:before{border-color:transparent transparent #000}.medium-editor-toolbar{background-color:#000;border:none;border-radius:50px}.medium-editor-toolbar li button{background-color:transparent;border:none;box-sizing:border-box;color:#ccc;height:40px;min-width:40px;padding:5px 12px;-webkit-transition:background-color .2s ease-in,color .2s ease-in;transition:background-color .2s ease-in,color .2s ease-in}.medium-editor-toolbar li .medium-editor-button-active,.medium-editor-toolbar li button:hover{background-color:#000;color:#a2d7c7}.medium-editor-toolbar li .medium-editor-button-first{border-bottom-left-radius:50px;border-top-left-radius:50px;padding-left:24px}.medium-editor-toolbar li .medium-editor-button-last{border-bottom-right-radius:50px;border-right:none;border-top-right-radius:50px;padding-right:24px}.medium-editor-toolbar-form{background:#000;border-radius:50px;color:#ccc;overflow:hidden}.medium-editor-toolbar-form .medium-editor-toolbar-input{background:#000;box-sizing:border-box;color:#ccc;height:40px;padding-left:16px;width:220px}.medium-editor-toolbar-form .medium-editor-toolbar-input::-webkit-input-placeholder{color:#f8f5f3;color:hsla(24,26%,96%,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-moz-placeholder,.medium-editor-toolbar-form .medium-editor-toolbar-input::-moz-placeholder{color:#f8f5f3;color:hsla(24,26%,96%,.8)}.medium-editor-toolbar-form .medium-editor-toolbar-input:-ms-input-placeholder{color:#f8f5f3;color:hsla(24,26%,96%,.8)}.medium-editor-toolbar-form a{color:#ccc;-webkit-transform:translateY(2px);transform:translateY(2px)}.medium-editor-toolbar-form .medium-editor-toolbar-close{margin-right:16px}.medium-editor-toolbar-anchor-preview{background:#000;border-radius:50px;padding:5px 12px}.medium-editor-anchor-preview a{color:#ccc;text-decoration:none}.medium-editor-toolbar-actions button,.medium-editor-toolbar-actions li{border-radius:50px}.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{opacity:0;position:absolute;z-index:-1}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{align-items:stretch;display:flex;flex-flow:row wrap;font-size:10px;justify-content:space-between;padding:.5em;width:25em}.layout_default.picker_wrapper button,.layout_default.picker_wrapper input{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper:before{content:"";display:block;height:0;order:1;width:100%}.layout_default .picker_selector,.layout_default .picker_slider{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl:before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{height:100%;width:100%}.layout_default .picker_sample{flex:1 1 auto;order:1}.layout_default .picker_cancel,.layout_default .picker_done{order:1}.picker_wrapper{background:#f2f2f2;box-shadow:0 0 0 1px silver;box-sizing:border-box;color:#444;cursor:default;font-family:sans-serif;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{border:none;box-shadow:0 0 0 1px silver;box-sizing:border-box;outline:none}.picker_wrapper button:active,.picker_wrapper button:focus,.picker_wrapper input:active,.picker_wrapper input:focus{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{background-color:#f5f5f5;background-image:linear-gradient(0deg,#dcdcdc,transparent);cursor:pointer;padding:.4em .6em}.picker_wrapper button:active{background-image:linear-gradient(0deg,transparent,#dcdcdc)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{background:currentColor;border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;cursor:pointer;display:block;position:absolute;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1}.picker_slider .picker_selector{border-radius:2px}.picker_hue{background-image:linear-gradient(90deg,red,#ff0,lime,cyan,blue,#f0f,red)}.picker_hue,.picker_sl{box-shadow:0 0 0 1px silver;position:relative}.picker_sl{background-image:linear-gradient(180deg,#fff,hsla(0,0%,100%,0) 50%),linear-gradient(0deg,#000,transparent 50%),linear-gradient(90deg,grey,hsla(0,0%,50%,0))}.picker_alpha,.picker_sample{background:linear-gradient(45deg,#d3d3d3 25%,transparent 0,transparent 75%,#d3d3d3 0) 0 0/2em 2em,linear-gradient(45deg,#d3d3d3 25%,#fff 0,#fff 75%,#d3d3d3 0) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver;position:relative}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample:before{background:currentColor;content:"";display:block;height:100%;position:absolute;width:100%}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{margin:1.5em;position:absolute;z-index:2}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow:after,.picker_wrapper.popup .picker_arrow:before{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{height:3em;margin:0;width:3em}.picker_wrapper.popup .picker_arrow:after,.picker_wrapper.popup .picker_arrow:before{content:"";display:block;left:0;position:absolute;top:0;z-index:-99}.picker_wrapper.popup .picker_arrow:before{height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%;width:100%}.picker_wrapper.popup .picker_arrow:after{box-shadow:none;height:150%;width:150%}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{left:0;top:100%}.popup.popup_bottom .picker_arrow{left:0;top:0;-webkit-transform:rotate(90deg) scaleY(-1);transform:rotate(90deg) scaleY(-1)}.popup.popup_left{right:100%;top:0}.popup.popup_left .picker_arrow{right:0;top:0;-webkit-transform:scaleX(-1);transform:scaleX(-1)}.popup.popup_right{left:100%;top:0}.popup.popup_right .picker_arrow{left:0;top:0}.lf-label-overlay{height:0;overflow:visible;width:0}.lf-label-overlay .lf-label-editor{background:#fff;border-radius:5px;padding:4px}.lf-label-overlay .lf-label-editor-container{align-items:center;display:flex;justify-content:center;overflow:visible;position:absolute;text-align:center}.lf-label-overlay .lf-label-editor-container p{margin:0}.lf-label-overlay .lf-label-editor-dragging{cursor:move}.lf-label-overlay .lf-label-editor-editing{cursor:text;outline:2px solid #275dc5}.lf-label-overlay .lf-label-editor-hover{outline:2px dashed #acacac}.lf-label-overlay .lf-label-editor-clip{overflow:hidden;text-overflow:clip;white-space:nowrap;width:100px}.lf-label-overlay .lf-label-editor-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px}.lf-label-overlay .lf-label-editor-wrap{overflow-wrap:break-word;white-space:normal}.lf-label-overlay .lf-label-editor-nowrap{overflow:visible;white-space:nowrap}.lf-control{background:hsla(0,0%,100%,.8);border-radius:8px;box-shadow:0 0 8px hsla(0,0%,85%,.7);display:flex;flex-wrap:nowrap;margin:5px;max-width:none;overflow:auto hidden;padding:4px 6px;position:absolute;right:10px;top:0;transition:all 3s ease;white-space:nowrap}.lf-control-dark{background:#33353a;color:#fff}.lf-control-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;flex:0 0 auto;flex-direction:column;justify-content:center;margin:0 4px;padding:6px;transition:all .3s ease-in-out}.lf-control-item:hover{background:#efefef}.lf-control-item-colorful,.lf-control-item-default{color:#474747}.lf-control-item-colorful:hover,.lf-control-item-dark:hover,.lf-control-item-default:hover{background:#dadfea48}.lf-control-item.disabled{filter:opacity(.5);pointer-events:none}.lf-control-item.disabled:hover{background:#fff}.lf-control-item.disabled i{pointer-events:none}.lf-control-item i{background-size:cover;display:inline-block;height:20px;vertical-align:middle;width:20px}.lf-control-text{font-size:12px;margin-top:5px}.lf-control-zoomOut{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHdpZHRoPSIxNS4yNDIiIGhlaWdodD0iMTUuMTI2Ij48cGF0aCBkPSJtMTEuOTIzIDEyLjQ1OCAyLjI0MyAyLjMxcS4wMzQuMDM1LjA3NS4wNjMuMDQuMDI4LjA4Ni4wNDguMDQ1LjAyLjA5NC4wMy4wNDguMDEuMDk4LjAxMi4wNSAwIC4wOTgtLjAwOC4wNS0uMDA4LjA5NS0uMDI2LjA0Ny0uMDE4LjA4OS0uMDQ0LjA0MS0uMDI2LjA3Ny0uMDZ0LjA2NS0uMDc0cS4wMjgtLjA0LjA0OC0uMDg0LjAyLS4wNDUuMDMtLjA5My4wMTEtLjA0Ny4wMTMtLjA5NiAwLS4wNS0uMDA4LS4wOTctLjAwOS0uMDQ4LS4wMjctLjA5NC0uMDE4LS4wNDUtLjA0NC0uMDg3LS4wMjctLjA0LS4wNjEtLjA3NmwtMi4yNDQtMi4zMXEtLjAzNC0uMDM1LS4wNzUtLjA2My0uMDQtLjAyOC0uMDg2LS4wNDgtLjA0NS0uMDItLjA5My0uMDMtLjA0OS0uMDExLS4wOTgtLjAxMi0uMDUtLjAwMS0uMDk5LjAwNy0uMDQ5LjAwOS0uMDk1LjAyNi0uMDQ2LjAxOC0uMDg4LjA0NC0uMDQyLjAyNi0uMDc4LjA2dC0uMDY0LjA3NHEtLjAyOS4wNC0uMDQ5LjA4NS0uMDIuMDQ0LS4wMy4wOTItLjAxMS4wNDgtLjAxMi4wOTctLjAwMS4wNDguMDA3LjA5Ny4wMS4wNDguMDI3LjA5My4wMTguMDQ2LjA0NS4wODcuMDI2LjA0MS4wNi4wNzdaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM0NzQ3NDciLz48ZWxsaXBzZSBjeD0iNy4xOTMiIGN5PSI3LjA5MSIgcng9IjYuNjkzIiByeT0iNi41OTEiIHN0cm9rZT0iIzQ3NDc0NyIvPjxwYXRoIGQ9Ik00Ljc4MSA3Ljc1Nmg1LjEzNnEuMDUgMCAuMDk3LS4wMS4wNDktLjAxLjA5NC0uMDI4LjA0Ni0uMDE5LjA4Ny0uMDQ2LjA0LS4wMjguMDc1LS4wNjMuMDM1LS4wMzQuMDYzLS4wNzUuMDI3LS4wNDEuMDQ2LS4wODcuMDE5LS4wNDUuMDI4LS4wOTMuMDEtLjA0OS4wMS0uMDk4IDAtLjA1LS4wMS0uMDk4dC0uMDI4LS4wOTNxLS4wMi0uMDQ2LS4wNDYtLjA4Ny0uMDI4LS4wNC0uMDYzLS4wNzUtLjAzNC0uMDM1LS4wNzUtLjA2My0uMDQxLS4wMjctLjA4Ny0uMDQ2LS4wNDUtLjAxOS0uMDk0LS4wMjgtLjA0OC0uMDEtLjA5Ny0uMDFINC43OHEtLjA1IDAtLjA5Ny4wMS0uMDQ5LjAxLS4wOTQuMDI4LS4wNDYuMDE5LS4wODcuMDQ2LS4wNC4wMjgtLjA3NS4wNjMtLjAzNS4wMzQtLjA2My4wNzUtLjAyNy4wNDEtLjA0Ni4wODctLjAxOS4wNDUtLjAyOC4wOTMtLjAxLjA0OS0uMDEuMDk4IDAgLjA1LjAxLjA5OHQuMDI4LjA5M3EuMDIuMDQ2LjA0Ni4wODcuMDI4LjA0LjA2My4wNzUuMDM0LjAzNS4wNzUuMDYzLjA0MS4wMjcuMDg3LjA0Ni4wNDUuMDE5LjA5NC4wMjguMDQ4LjAxLjA5Ny4wMVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzQ3NDc0NyIvPjwvc3ZnPg==")}.lf-control-zoomIn{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHdpZHRoPSIxNS4wMzgiIGhlaWdodD0iMTUuNDAxIj48cGF0aCBkPSJtMTEuODY1IDEyLjg4MyAyLjA5NyAyLjE2di0uMDAxcS4wMzUuMDM1LjA3NS4wNjMuMDQuMDI4LjA4Ni4wNDguMDQ2LjAyLjA5NC4wMy4wNDkuMDExLjA5OC4wMTIuMDUuMDAxLjA5OS0uMDA3LjA0OS0uMDA5LjA5NS0uMDI2LjA0Ni0uMDE4LjA4OC0uMDQ0LjA0Mi0uMDI2LjA3OC0uMDYuMDM1LS4wMzQuMDY0LS4wNzQuMDI4LS4wNC4wNDgtLjA4NS4wMi0uMDQ0LjAzMS0uMDkyLjAxLS4wNDguMDEyLS4wOTcgMC0uMDQ4LS4wMDgtLjA5Ny0uMDA4LS4wNDgtLjAyNi0uMDkzLS4wMTgtLjA0Ni0uMDQ1LS4wODctLjAyNy0uMDQxLS4wNi0uMDc3bC0yLjA5OC0yLjE1OXEtLjAzNC0uMDM1LS4wNzUtLjA2My0uMDQtLjAyOC0uMDg2LS4wNDgtLjA0NS0uMDItLjA5NC0uMDMtLjA0OC0uMDEtLjA5OC0uMDEyLS4wNS0uMDAxLS4wOTguMDA3LS4wNS4wMDktLjA5NS4wMjctLjA0Ny4wMTctLjA4OC4wNDMtLjA0Mi4wMjctLjA3OC4wNi0uMDM2LjAzNC0uMDY0LjA3NC0uMDI5LjA0LS4wNDkuMDg1LS4wMi4wNDUtLjAzLjA5Mi0uMDExLjA0OC0uMDEyLjA5Ny0uMDAyLjA0OS4wMDcuMDk3LjAwOS4wNDguMDI3LjA5My4wMTguMDQ2LjA0NC4wODcuMDI3LjA0MS4wNjEuMDc3WiIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSIjNDc0NzQ3Ii8+PGVsbGlwc2UgY3g9IjcuMjQxIiBjeT0iNy4yMiIgcng9IjYuNzQxIiByeT0iNi43MiIgc3Ryb2tlPSIjNDc0NzQ3Ii8+PHBhdGggZD0iTTYuNzQgMy43cTAtLjA1LjAxLS4wOTh0LjAyOS0uMDkzcS4wMTktLjA0Ni4wNDYtLjA4Ny4wMjctLjA0LjA2Mi0uMDc1LjAzNS0uMDM1LjA3Ni0uMDYzLjA0LS4wMjcuMDg2LS4wNDYuMDQ2LS4wMTkuMDk0LS4wMjguMDQ5LS4wMS4wOTgtLjAxdC4wOTcuMDFxLjA0OS4wMS4wOTQuMDI4LjA0Ni4wMTkuMDg2LjA0Ni4wNDEuMDI4LjA3Ni4wNjMuMDM1LjAzNC4wNjIuMDc1LjAyOC4wNDEuMDQ3LjA4Ny4wMTguMDQ1LjAyOC4wOTMuMDEuMDQ5LjAxLjA5OHYzLjAyaDMuMDNxLjA1IDAgLjA5OC4wMXQuMDk0LjAyOHEuMDQ1LjAxOS4wODYuMDQ2LjA0MS4wMjguMDc2LjA2My4wMzUuMDM0LjA2Mi4wNzUuMDI4LjA0MS4wNDYuMDg3LjAyLjA0NS4wMjkuMDkzLjAxLjA0OS4wMS4wOTggMCAuMDUtLjAxLjA5OHQtLjAyOS4wOTNxLS4wMTguMDQ2LS4wNDYuMDg3LS4wMjcuMDQtLjA2Mi4wNzUtLjAzNS4wMzUtLjA3Ni4wNjMtLjA0LjAyNy0uMDg2LjA0Ni0uMDQ2LjAxOS0uMDk0LjAyOC0uMDQ4LjAxLS4wOTcuMDFINy43NHYzLjAycTAgLjA1LS4wMS4wOTh0LS4wMjguMDkzcS0uMDIuMDQ2LS4wNDcuMDg3LS4wMjcuMDQtLjA2Mi4wNzUtLjAzNS4wMzUtLjA3Ni4wNjMtLjA0LjAyNy0uMDg2LjA0Ni0uMDQ1LjAxOS0uMDk0LjAyOC0uMDQ4LjAxLS4wOTcuMDEtLjA1IDAtLjA5OC0uMDF0LS4wOTQtLjAyOHEtLjA0NS0uMDE5LS4wODYtLjA0Ni0uMDQtLjAyOC0uMDc2LS4wNjMtLjAzNS0uMDM0LS4wNjItLjA3NS0uMDI3LS4wNDEtLjA0Ni0uMDg3LS4wMTktLjA0NS0uMDI5LS4wOTMtLjAxLS4wNDktLjAxLS4wOThWNy43MkgzLjcxcS0uMDUgMC0uMDk4LS4wMXQtLjA5My0uMDI4cS0uMDQ2LS4wMTktLjA4Ny0uMDQ2LS4wNC0uMDI4LS4wNzYtLjA2My0uMDM0LS4wMzQtLjA2Mi0uMDc1LS4wMjctLjA0MS0uMDQ2LS4wODctLjAxOS0uMDQ1LS4wMjgtLjA5My0uMDEtLjA0OS0uMDEtLjA5OCAwLS4wNS4wMS0uMDk4dC4wMjgtLjA5M3EuMDE5LS4wNDYuMDQ2LS4wODcuMDI4LS4wNC4wNjItLjA3NS4wMzUtLjAzNS4wNzYtLjA2My4wNDEtLjAyNy4wODctLjA0Ni4wNDUtLjAxOS4wOTMtLjAyOC4wNDktLjAxLjA5OC0uMDFoMy4wM1YzLjdaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM0NzQ3NDciLz48L3N2Zz4=")}.lf-control-fit{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHdpZHRoPSIxNi40MDciIGhlaWdodD0iMTYuMzYiPjxyZWN0IHg9IjIuMTg1IiB5PSIyLjE4MiIgd2lkdGg9IjEyLjAzNyIgaGVpZ2h0PSIxMS45OTciIHJ4PSIzLjUiIHN0cm9rZT0iIzQ3NDc0NyIvPjxyZWN0IHg9Ii41IiB5PSIuNSIgd2lkdGg9IjE1LjQwNyIgaGVpZ2h0PSIxNS4zNiIgcng9IjAiIGZpbGw9Im5vbmUiLz48cGF0aCBkPSJNLjUgMGgzLjg1MnEuMDUgMCAuMDk3LjAxLjA0OS4wMS4wOTQuMDI4LjA0Ni4wMTkuMDg3LjA0Ni4wNC4wMjguMDc1LjA2Mi4wMzUuMDM1LjA2My4wNzYuMDI3LjA0MS4wNDYuMDg3LjAxOS4wNDUuMDI4LjA5My4wMS4wNDkuMDEuMDk4IDAgLjA1LS4wMS4wOThUNC44MTQuNjlxLS4wMi4wNDYtLjA0Ni4wODctLjAyOC4wNC0uMDYzLjA3Ni0uMDM0LjAzNC0uMDc1LjA2Mi0uMDQxLjAyNy0uMDg3LjA0NlE0LjQ5OC45OCA0LjQ1Ljk5IDQuNDAxIDEgNC4zNTIgMUguNVEuNDUgMSAuNDAyLjk5VC4zMS45NjJRLjI2My45NDMuMjIyLjkxNi4xODIuODg4LjE0Ni44NTQuMTEyLjgxOS4wODQuNzc4LjA1Ny43MzcuMDM4LjY5LjAyLjY0Ni4wMS41OTggMCAuNTQ5IDAgLjUgMCAuNDUuMDEuNDAyVC4wMzguMzFRLjA1Ny4yNjMuMDg0LjIyMi4xMTIuMTgyLjE0Ni4xNDYuMTgxLjExMi4yMjIuMDg0LjI2My4wNTcuMzEuMDM4LjM1NC4wMi40MDIuMDEuNDUxIDAgLjUgMFptMTEuNTU2IDBoNC4zNTF2NC4zNHEwIC4wNS0uMDEuMDk4LS4wMDkuMDQ4LS4wMjguMDkzLS4wMTguMDQ2LS4wNDYuMDg3LS4wMjcuMDQtLjA2Mi4wNzYtLjAzNS4wMzQtLjA3Ni4wNjItLjA0LjAyNy0uMDg2LjA0Ni0uMDQ2LjAxOS0uMDk0LjAyOC0uMDQ4LjAxLS4wOTguMDEtLjA0OSAwLS4wOTctLjAxdC0uMDk0LS4wMjhxLS4wNDUtLjAxOS0uMDg2LS4wNDYtLjA0MS0uMDI4LS4wNzYtLjA2Mi0uMDM1LS4wMzUtLjA2Mi0uMDc2LS4wMjgtLjA0MS0uMDQ3LS4wODctLjAxOC0uMDQ1LS4wMjgtLjA5My0uMDEtLjA0OS0uMDEtLjA5OFYuNWguNVYxaC0zLjg1MXEtLjA1IDAtLjA5OC0uMDF0LS4wOTQtLjAyOHEtLjA0NS0uMDE5LS4wODYtLjA0Ni0uMDQxLS4wMjgtLjA3Ni0uMDYyLS4wMzUtLjAzNS0uMDYyLS4wNzYtLjAyOC0uMDQxLS4wNDYtLjA4Ny0uMDItLjA0NS0uMDI5LS4wOTMtLjAxLS4wNDktLjAxLS4wOTggMC0uMDUuMDEtLjA5OHQuMDI5LS4wOTNxLjAxOC0uMDQ2LjA0Ni0uMDg3LjAyNy0uMDQuMDYyLS4wNzYuMDM1LS4wMzQuMDc2LS4wNjIuMDQtLjAyNy4wODYtLjA0Ni4wNDYtLjAxOS4wOTQtLjAyOC4wNDgtLjAxLjA5OC0uMDFabTQuMzUxIDEyLjAydjQuMzRoLTQuMzUxcS0uMDUgMC0uMDk4LS4wMXQtLjA5NC0uMDI4cS0uMDQ1LS4wMTktLjA4Ni0uMDQ2LS4wNDEtLjAyOC0uMDc2LS4wNjItLjAzNS0uMDM1LS4wNjItLjA3Ni0uMDI4LS4wNDEtLjA0Ni0uMDg3LS4wMi0uMDQ1LS4wMjktLjA5My0uMDEtLjA0OS0uMDEtLjA5OCAwLS4wNS4wMS0uMDk4dC4wMjktLjA5M3EuMDE4LS4wNDYuMDQ2LS4wODcuMDI3LS4wNC4wNjItLjA3Ni4wMzUtLjAzNC4wNzYtLjA2Mi4wNC0uMDI3LjA4Ni0uMDQ2LjA0Ni0uMDE5LjA5NC0uMDI4LjA0OC0uMDEuMDk4LS4wMWgzLjg1MXYuNWgtLjV2LTMuODRxMC0uMDUuMDEtLjA5OHQuMDI4LS4wOTNxLjAyLS4wNDYuMDQ3LS4wODcuMDI3LS4wNC4wNjItLjA3Ni4wMzUtLjAzNC4wNzYtLjA2Mi4wNC0uMDI3LjA4Ni0uMDQ2LjA0Ni0uMDE5LjA5NC0uMDI4LjA0OC0uMDEuMDk3LS4wMS4wNSAwIC4wOTguMDF0LjA5NC4wMjhxLjA0NS4wMTkuMDg2LjA0Ni4wNDEuMDI4LjA3Ni4wNjIuMDM1LjAzNS4wNjIuMDc2LjAyOC4wNDEuMDQ2LjA4Ny4wMi4wNDUuMDI5LjA5My4wMS4wNDkuMDEuMDk4Wk00LjM1MiAxNi4zNkgwdi00LjM0cTAtLjA1LjAxLS4wOTh0LjAyOC0uMDkzcS4wMTktLjA0Ni4wNDYtLjA4Ny4wMjgtLjA0LjA2Mi0uMDc2LjAzNS0uMDM0LjA3Ni0uMDYyLjA0MS0uMDI3LjA4Ny0uMDQ2LjA0NS0uMDE5LjA5My0uMDI4LjA0OS0uMDEuMDk4LS4wMS4wNSAwIC4wOTguMDF0LjA5My4wMjhxLjA0Ni4wMTkuMDg3LjA0Ni4wNC4wMjguMDc2LjA2Mi4wMzQuMDM1LjA2Mi4wNzYuMDI3LjA0MS4wNDYuMDg3LjAxOS4wNDUuMDI4LjA5My4wMS4wNDkuMDEuMDk4djMuODRILjV2LS41aDMuODUycS4wNSAwIC4wOTcuMDEuMDQ5LjAxLjA5NC4wMjguMDQ2LjAxOS4wODcuMDQ2LjA0LjAyOC4wNzUuMDYyLjAzNS4wMzUuMDYzLjA3Ni4wMjcuMDQxLjA0Ni4wODcuMDE5LjA0NS4wMjguMDkzLjAxLjA0OS4wMS4wOTggMCAuMDUtLjAxLjA5OHQtLjAyOC4wOTNxLS4wMi4wNDYtLjA0Ni4wODctLjAyOC4wNC0uMDYzLjA3Ni0uMDM0LjAzNC0uMDc1LjA2Mi0uMDQxLjAyNy0uMDg3LjA0Ni0uMDQ1LjAxOS0uMDk0LjAyOC0uMDQ4LjAxLS4wOTcuMDFaTTAgNC4zNFYwaDQuMzUycS4wNSAwIC4wOTcuMDEuMDQ5LjAxLjA5NC4wMjguMDQ2LjAxOS4wODcuMDQ2LjA0LjAyOC4wNzUuMDYyLjAzNS4wMzUuMDYzLjA3Ni4wMjcuMDQxLjA0Ni4wODcuMDE5LjA0NS4wMjguMDkzLjAxLjA0OS4wMS4wOTggMCAuMDUtLjAxLjA5OFQ0LjgxNC42OXEtLjAyLjA0Ni0uMDQ2LjA4Ny0uMDI4LjA0LS4wNjMuMDc2LS4wMzQuMDM0LS4wNzUuMDYyLS4wNDEuMDI3LS4wODcuMDQ2UTQuNDk4Ljk4IDQuNDUuOTkgNC40MDEgMSA0LjM1MiAxSC41Vi41SDF2My44NHEwIC4wNS0uMDEuMDk4dC0uMDI4LjA5M3EtLjAxOS4wNDYtLjA0Ni4wODctLjAyOC4wNC0uMDYyLjA3Ni0uMDM1LjAzNC0uMDc2LjA2Mi0uMDQxLjAyNy0uMDg3LjA0Ni0uMDQ1LjAxOS0uMDkzLjAyOC0uMDQ5LjAxLS4wOTguMDEtLjA1IDAtLjA5OC0uMDFULjMxIDQuODAycS0uMDQ2LS4wMTktLjA4Ny0uMDQ2LS4wNC0uMDI4LS4wNzYtLjA2Mi0uMDM0LS4wMzUtLjA2Mi0uMDc2LS4wMjctLjA0MS0uMDQ2LS4wODdRLjAyIDQuNDg2LjAxIDQuNDM4IDAgNC4zODkgMCA0LjM0WiIgZmlsbD0iIzQ3NDc0NyIvPjwvc3ZnPg==")}.lf-control-undo{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHdpZHRoPSIxNC4zNTciIGhlaWdodD0iMTUuMDgiPjxwYXRoIGQ9Ik0xMy4zNTggMTMuNjJ2Ljk2cTAgLjA1LjAxLjA5OHQuMDI4LjA5M3EuMDE5LjA0Ni4wNDYuMDg3LjAyNy4wNC4wNjIuMDc1LjAzNS4wMzUuMDc2LjA2My4wNDEuMDI3LjA4Ni4wNDYuMDQ2LjAxOS4wOTQuMDI4LjA0OS4wMS4wOTguMDF0LjA5Ny0uMDFxLjA0OS0uMDEuMDk0LS4wMjguMDQ2LS4wMTkuMDg2LS4wNDYuMDQxLS4wMjguMDc2LS4wNjMuMDM1LS4wMzQuMDYyLS4wNzUuMDI4LS4wNDEuMDQ3LS4wODcuMDE4LS4wNDUuMDI4LS4wOTMuMDEtLjA0OS4wMS0uMDk4di0uOTZxMC0zLjUyLTIuNDktNi4wMS0yLjQ5LTIuNDktNi4wMS0yLjQ5SDQuNTQ5cS0uMDUgMC0uMDk3LjAxLS4wNDkuMDEtLjA5NC4wMjgtLjA0Ni4wMTktLjA4Ny4wNDYtLjA0LjAyOC0uMDc1LjA2My0uMDM1LjAzNC0uMDYzLjA3NS0uMDI3LjA0MS0uMDQ2LjA4Ny0uMDE5LjA0NS0uMDI4LjA5My0uMDEuMDQ5LS4wMS4wOTggMCAuMDUuMDEuMDk4dC4wMjguMDkzcS4wMi4wNDYuMDQ2LjA4Ny4wMjguMDQuMDYzLjA3NS4wMzQuMDM1LjA3NS4wNjMuMDQxLjAyNy4wODcuMDQ2LjA0NS4wMTkuMDk0LjAyOC4wNDguMDEuMDk3LjAxaDEuMzA5cTMuMTA2IDAgNS4zMDMgMi4xOTcgMi4xOTcgMi4xOTYgMi4xOTcgNS4zMDNaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM0NzQ3NDciLz48cGF0aCBkPSJNNS44NzYuODQycS4wNjYtLjA3LjEtLjE1OC4wMzYtLjA4OS4wMzYtLjE4NCAwLS4wNS0uMDEtLjA5OFQ1Ljk3NC4zMVE1Ljk1NS4yNjMgNS45MjguMjIyIDUuOS4xODIgNS44NjYuMTQ3IDUuODMuMTEyIDUuNzkuMDg0IDUuNzQ5LjA1NyA1LjcwMy4wMzggNS42NTguMDIgNS42MS4wMSA1LjU2IDAgNS41MTIgMHEtLjEwMyAwLS4xOTguMDQxLS4wOTUuMDQxLS4xNjYuMTE3TDAgNS42M2w1LjE2IDUuMTQzcS4wNy4wNy4xNjEuMTA4LjA5Mi4wMzguMTkxLjAzOC4wNSAwIC4wOTgtLjAxdC4wOTMtLjAyOHEuMDQ2LS4wMTkuMDg3LS4wNDYuMDQtLjAyOC4wNzYtLjA2My4wMzQtLjAzNC4wNjItLjA3NS4wMjctLjA0MS4wNDYtLjA4Ny4wMTktLjA0NS4wMjgtLjA5My4wMS0uMDQ5LjAxLS4wOTggMC0uMS0uMDM4LS4xOTJ0LS4xMDktLjE2MmwtNC40Ny00LjQ1N0w1Ljg3NS44NDNaIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM0NzQ3NDciLz48L3N2Zz4=")}.lf-control-redo{background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHdpZHRoPSIxNS4yMTgiIGhlaWdodD0iMTYiPjxwYXRoIGQ9Ik0xIDEzLjk1NVYxNS41cTAgLjA1LS4wMS4wOTh0LS4wMjguMDkzcS0uMDE5LjA0Ni0uMDQ2LjA4Ny0uMDI4LjA0LS4wNjIuMDc1LS4wMzUuMDM1LS4wNzYuMDYzLS4wNDEuMDI3LS4wODcuMDQ2LS4wNDUuMDE5LS4wOTMuMDI4US41NDkgMTYgLjUgMTZxLS4wNSAwLS4wOTctLjAxLS4wNDktLjAxLS4wOTQtLjAyOC0uMDQ2LS4wMTktLjA4Ny0uMDQ2LS4wNC0uMDI4LS4wNzUtLjA2My0uMDM1LS4wMzQtLjA2My0uMDc1LS4wMjctLjA0MS0uMDQ2LS4wODctLjAxOS0uMDQ1LS4wMjgtLjA5M1EwIDE1LjU0OSAwIDE1LjV2LTEuNTQ1cTAtMy41MjEgMi40OS02LjAxIDIuNDktMi40OSA2LjAxLTIuNDloMS45MTdxLjA1IDAgLjA5Ny4wMS4wNDkuMDA5LjA5NC4wMjguMDQ2LjAxOS4wODcuMDQ2LjA0LjAyNy4wNzUuMDYyLjAzNS4wMzUuMDYzLjA3Ni4wMjcuMDQuMDQ2LjA4Ni4wMTkuMDQ2LjAyOC4wOTQuMDEuMDQ4LjAxLjA5OCAwIC4wNDktLjAxLjA5N3QtLjAyOC4wOTRxLS4wMTkuMDQ1LS4wNDYuMDg2LS4wMjguMDQxLS4wNjMuMDc2LS4wMzQuMDM1LS4wNzUuMDYyLS4wNDEuMDI4LS4wODcuMDQ2LS4wNDUuMDItLjA5NC4wMjktLjA0OC4wMS0uMDk3LjAxSDguNXEtMy4xMDcgMC01LjMwMyAyLjE5NlExIDEwLjg0OCAxIDEzLjk1NVoiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzQ3NDc0NyIvPjxwYXRoIGQ9Ik05LjAyNy44NDJxLS4wNjUtLjA3LS4xLS4xNThROC44OS41OTUgOC44OS41cTAtLjA1LjAxLS4wOThUOC45MjkuMzFxLjAyLS4wNDYuMDQ2LS4wODcuMDI4LS4wNC4wNjMtLjA3NS4wMzQtLjAzNS4wNzUtLjA2My4wNDEtLjAyNy4wODctLjA0Ni4wNDUtLjAxOS4wOTQtLjAyOFE5LjM0MiAwIDkuMzkgMHEuMTA0IDAgLjE5OC4wNDEuMDk1LjA0MS4xNjYuMTE3bDUuNDYyIDUuODA4LTUuNDczIDUuNDU2cS0uMDcuMDctLjE2Mi4xMDgtLjA5Mi4wMzgtLjE5LjAzOC0uMDUgMC0uMDk4LS4wMS0uMDQ5LS4wMS0uMDk0LS4wMjgtLjA0Ni0uMDE5LS4wODctLjA0Ni0uMDQtLjAyOC0uMDc1LS4wNjItLjAzNS0uMDM1LS4wNjMtLjA3Ni0uMDI3LS4wNDEtLjA0Ni0uMDg3LS4wMTktLjA0NS0uMDI4LS4wOTMtLjAxLS4wNDktLjAxLS4wOTggMC0uMS4wMzgtLjE5MS4wMzktLjA5My4xMS0uMTYzbDQuNzg1LTQuNzdMOS4wMjcuODQyWiIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSIjNDc0NzQ3Ii8+PC9zdmc+")}.lf-menu{background:#fff;border:1px solid #efefee;border-radius:8px;display:none;margin:0 0 0 10px;padding:6px;position:absolute;width:150px;z-index:999}.lf-menu-dark{background:#33353a;color:#fff}.lf-menu>li{cursor:pointer;font-size:12px;line-height:14px;list-style:none;padding:6px;position:relative;transition:all .12s ease-in-out}.lf-menu-item{align-items:center;border-radius:6px;display:flex;gap:4px;justify-content:flex-start;list-style:none}.lf-menu-item:hover{background:#f3f3f3}.lf-menu-item__disabled{color:#aaa;cursor:not-allowed!important;opacity:.88;pointer-events:inherit!important}.lf-menu-item__disabled:hover{background:#fff}.lf-dndpanel{background:hsla(0,0%,100%,.8);border-radius:8px;box-shadow:0 0 4px 1px hsla(0,0%,85%,.5);margin:5px;padding:10px 4px;position:absolute;z-index:999}.lf-dnd-item{font-size:14px;margin-top:5px;padding:6px;text-align:center}.lf-dnd-item.disabled>div{color:#a8abb2;cursor:not-allowed}.lf-dnd-shape{background-position:50%;background-repeat:no-repeat;background-size:contain;border-radius:8px;cursor:grab;height:36px;margin:0 auto;opacity:.99;width:36px}.lf-selection-select{border:2px dashed #ffab03;position:absolute}.lf-mini-map{background:#fefefe;border-radius:8px;box-shadow:0 0 10px 1px hsla(0,0%,72%,.5);overflow:hidden;padding:28px 8px 8px;position:absolute}.lf-mini-map .lf-graph{height:100%!important;width:100%!important}.lf-mini-map-graph{border-radius:8px;overflow:hidden;position:relative}.lf-minimap-viewport{background-color:hsla(0,0%,85%,.5);border-radius:2px;cursor:grab;left:0;position:absolute;top:0}.lf-mini-map-header{left:0;line-height:18px;margin:4px 6px;position:absolute;right:0;top:0}.lf-mini-map-close{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACL0lEQVRoQ+1YT2vUQBT/vS+Smc3u0ZtfwA+hUKEttIIVbMEWrGAL3UItqKCCCipooS3Ynu29ePfqLcnO5Nov0NsrWbc0myxtJpNmGZw9LZk37/3+vCTzQnD8R47jhycwbQe9A94BSwV8C1kKaL3dO2AtoWWC/8+BMJB9ItwHcM6MX0mqtm1EzOU7Y8bvJFV9k3zGDnSFPAVw76oIb8ZavzIpehnbE+Ilg/J7/8Za3THJVYfAHwB3x4owXsSpemNSuCs6zwEu7rl9AmEgt4hQspkIa5FS76uQCKV8RoxSLDP6pi1p7EAGsCvEBkA7ZbC0EuvBp+tI9IR4yqBSDIE3Iq13qwiQj6lFYEgikOsgvC4VJDyJlfo6CUg3kI9BmLBG67EevDUFn8XXJpBt7km5yox3xcIMfpRo/SN/PZRygRhj17J1JqwmSn2oA96awL926iwD/LEIgJjmo3RwMCQadGaZePh/3H5ejrT+XBd8IwSGJKRcAuPLhHZ6mIkMxlFpjbEUp+qbDfjGCGSJQiEWCfS9CiAmLCZK7VWJvSnG6h4oJu8FnTkm3r+uKDHNReng8CZgVdcbJTBqpxkwfk4EQJiJlTquCq5KnCeQV8npFnL6Jnb6Mer0i8zpo4TThzmnj9OjGXardDBrZqDZbmMmdnukdH6oL3xWOTG1vNh6oxn7AYB2PqtUOWC1GdP4Ya5N8I0ONG0Dv6znHZiW8t6BaSvvHfAONKSAf4w2JGTtNBey0xBAkjSEzwAAAABJRU5ErkJggg==");background-size:contain;color:#474747a0;cursor:pointer;height:18px;position:absolute;right:2px;top:6px;width:18px}.lf-mini-map-close:hover{color:#474747}.lf-mini-map-no-header{padding-top:8px}.lf-mini-map-no-close-icon .lf-mini-map-close,.lf-mini-map-no-header .lf-mini-map-header{display:none}.lf-resize-control-0{cursor:nw-resize}.lf-resize-control-1{cursor:ne-resize}.lf-resize-control-2{cursor:se-resize}.lf-resize-control-3{cursor:sw-resize}.lf-inner-context{display:none;flex-flow:column wrap;height:90px;position:absolute}.lf-context-item{box-sizing:content-box;height:20px;margin:0 2px 2px 0;padding:2px 3px;width:20px}.lf-context-item:hover{background:rgba(201,217,216,.5)}.lf-context-img{cursor:pointer;height:20px;width:20px}.lf-mindmap_addIcon{margin-top:10px}
|