@talrace/ngx-noder 0.0.4 → 0.0.6
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/README.md +72 -64
- package/esm2022/lib/+shared/abstract/base-api.service.mjs +4 -4
- package/esm2022/lib/+shared/abstract/observer.component.mjs +4 -4
- package/esm2022/lib/+shared/add-link-dialog/add-link-dialog.component.mjs +11 -7
- package/esm2022/lib/+shared/confirm-dialog/confirm-dialog.component.mjs +12 -8
- package/esm2022/lib/+shared/editor/core/components/edges/edge.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/core/editor.mjs +7 -14
- package/esm2022/lib/+shared/editor/core/helpers/rendering.helper.mjs +9 -8
- package/esm2022/lib/+shared/editor/core/layers/text.layer.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/external-element/external.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/image/components/image.component.mjs +7 -6
- package/esm2022/lib/+shared/editor/custom-components/image/resizer/resizer.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/image/services/image-api.service.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/shared/abstract/base.component.mjs +6 -4
- package/esm2022/lib/+shared/editor/custom-components/shared/services/component/component.service.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.mjs +9 -15
- package/esm2022/lib/+shared/editor/custom-components/shared/services/overlay/overlay.service.mjs +4 -4
- package/esm2022/lib/+shared/editor/custom-components/tab/tab.component.mjs +6 -5
- package/esm2022/lib/+shared/editor/custom-components/table/components/table-cell.component.mjs +8 -6
- package/esm2022/lib/+shared/editor/custom-components/table/components/table.component.mjs +10 -8
- package/esm2022/lib/+shared/editor/custom-components/table/overlay-menu/overlay-menu.component.mjs +4 -4
- package/esm2022/lib/+shared/editor/editor.component.mjs +7 -14
- package/esm2022/lib/+shared/editor/editor.module.mjs +5 -8
- package/esm2022/lib/+shared/editor/execution/models/general-properties.model.mjs +1 -1
- package/esm2022/lib/+shared/editor/execution/regulator.service.mjs +18 -8
- package/esm2022/lib/+shared/editor/interaction/editor.service.mjs +4 -4
- package/esm2022/lib/+shared/editor-search/editor-search-dialog.component.mjs +4 -4
- package/esm2022/lib/+shared/editor-title/editor-title.component.mjs +83 -0
- package/esm2022/lib/+shared/editor-toolbar/color-picker/color-picker.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.component.mjs +78 -92
- package/esm2022/lib/+shared/editor-toolbar/editor-toolbar.module.mjs +15 -5
- package/esm2022/lib/+shared/editor-toolbar/font/font.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/font-size/font-size.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/font-style/font-style.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/format/format.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/heading/heading.component.mjs +4 -4
- package/esm2022/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.mjs +194 -0
- package/esm2022/lib/+shared/editor-toolbar/numbering/numbering.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/print/print.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.mjs +126 -0
- package/esm2022/lib/+shared/editor-toolbar/undo-redo/undo-redo.component.mjs +5 -5
- package/esm2022/lib/+shared/editor-toolbar/zoom/zoom.component.mjs +4 -4
- package/esm2022/lib/+shared/helpers/scaling.helper.mjs +9 -0
- package/esm2022/lib/+shared/insert-table/insert-table.component.mjs +4 -4
- package/esm2022/lib/+shared/services/commands.service.mjs +4 -4
- package/esm2022/lib/+shared/services/custom-icon.service.mjs +4 -4
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/talrace-ngx-noder.mjs +545 -488
- package/fesm2022/talrace-ngx-noder.mjs.map +1 -1
- package/lib/+shared/add-link-dialog/add-link-dialog.component.d.ts +1 -0
- package/lib/+shared/confirm-dialog/confirm-dialog.component.d.ts +1 -0
- package/lib/+shared/editor/core/editor.d.ts +3 -3
- package/lib/+shared/editor/core/helpers/rendering.helper.d.ts +3 -3
- package/lib/+shared/editor/custom-components/shared/abstract/base.component.d.ts +3 -1
- package/lib/+shared/editor/custom-components/shared/services/custom-content/custom-content.service.d.ts +1 -1
- package/lib/+shared/editor/custom-components/table/components/table-cell.component.d.ts +2 -2
- package/lib/+shared/editor/custom-components/table/components/table.component.d.ts +0 -2
- package/lib/+shared/editor/editor.component.d.ts +1 -5
- package/lib/+shared/editor/editor.module.d.ts +15 -16
- package/lib/+shared/editor/execution/models/general-properties.model.d.ts +1 -0
- package/lib/+shared/editor/execution/regulator.service.d.ts +2 -2
- package/lib/+shared/editor-title/editor-title.component.d.ts +24 -0
- package/lib/+shared/editor-toolbar/editor-toolbar.component.d.ts +31 -30
- package/lib/+shared/editor-toolbar/editor-toolbar.module.d.ts +19 -16
- package/lib/+shared/editor-toolbar/menu-dropdowns/menu-dropdowns.component.d.ts +73 -0
- package/lib/+shared/editor-toolbar/toolbar-actions/toolbar-actions.component.d.ts +49 -0
- package/lib/+shared/helpers/scaling.helper.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/src/_ngx-noder.theme.scss +10 -8
- package/src/lib/+shared/add-link-dialog/_add-link-dialog.theme.scss +3 -3
- package/src/lib/+shared/confirm-dialog/_theme.scss +6 -6
- package/src/lib/+shared/editor/_editor.theme.scss +84 -15
- package/src/lib/+shared/editor/_theme.scss +0 -2
- package/src/lib/+shared/editor-title/_editor-title.theme.scss +28 -0
- package/src/lib/+shared/editor-toolbar/_editor-toolbar.theme.scss +1 -24
- package/src/lib/+shared/editor-toolbar/_theme.scss +16 -2
- package/src/lib/+shared/editor-toolbar/font/_font.theme.scss +12 -0
- package/src/lib/+shared/editor-toolbar/font-size/_font-size.theme.scss +14 -0
- package/src/lib/+shared/editor-toolbar/font-style/_font-style.theme.scss +21 -0
- package/src/lib/+shared/editor-toolbar/format/_format.theme.scss +21 -0
- package/src/lib/+shared/editor-toolbar/menu-dropdowns/_menu-dropdowns.theme.scss +26 -0
- package/src/lib/+shared/editor-toolbar/numbering/_numbering.theme.scss +52 -11
- package/src/lib/+shared/editor-toolbar/toolbar-actions/_toolbar-actions.theme.scss +21 -0
- package/src/lib/+shared/editor-toolbar/undo-redo/_undo-redo.theme.scss +16 -0
- package/src/lib/+shared/insert-table/_insert-table.theme.scss +9 -6
- package/src/scss/_mixins.scss +2 -37
- package/esm2022/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.mjs +0 -35
- package/esm2022/lib/+shared/editor-header/editor-header.component.mjs +0 -314
- package/lib/+shared/editor/custom-components/external-element/element-toolbar/element-toolbar.component.d.ts +0 -14
- package/lib/+shared/editor-header/editor-header.component.d.ts +0 -101
- package/src/lib/+shared/editor/custom-components/external-element/element-toolbar/_element-toolbar.theme.scss +0 -10
- package/src/lib/+shared/editor-header/_editor-header.theme.scss +0 -106
|
@@ -7,23 +7,23 @@
|
|
|
7
7
|
|
|
8
8
|
app-confirm-dialog {
|
|
9
9
|
.title {
|
|
10
|
-
color: mat.get-color-from-palette($foreground, base);
|
|
11
|
-
border-bottom-color: mat.get-color-from-palette($foreground, divider);
|
|
10
|
+
color: mat.get-color-from-palette($foreground, noder-base);
|
|
11
|
+
border-bottom-color: mat.get-color-from-palette($foreground, noder-divider);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
.content {
|
|
15
|
-
color: mat.get-color-from-palette($foreground, text);
|
|
15
|
+
color: mat.get-color-from-palette($foreground, noder-text);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
.actions .delete-btn {
|
|
19
|
-
color: mat.get-color-from-palette($foreground, button-text);
|
|
19
|
+
color: mat.get-color-from-palette($foreground, noder-button-raised-text);
|
|
20
20
|
|
|
21
21
|
&:disabled {
|
|
22
|
-
background-color: mat.get-color-from-palette($background,
|
|
22
|
+
background-color: mat.get-color-from-palette($background, noder-button-raised-disabled);
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
&:enabled {
|
|
26
|
-
background-color: mat.get-color-from-palette($background, button-
|
|
26
|
+
background-color: mat.get-color-from-palette($background, noder-button-raised-enabled);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
}
|
|
@@ -5,31 +5,100 @@
|
|
|
5
5
|
$background: map.get($theme, background);
|
|
6
6
|
$foreground: map.get($theme, foreground);
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
app-editor {
|
|
9
|
+
.container {
|
|
10
|
+
background-color: mat.get-color-from-palette($background, noder-editor-background);
|
|
10
11
|
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
.page {
|
|
13
|
+
background-color: mat.get-color-from-palette($background, noder-page-background);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.drawer-container {
|
|
18
|
+
.mat-mdc-button {
|
|
19
|
+
border: 1px solid mat.get-color-from-palette($foreground, form-field-border);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.mat-button-toggle-button {
|
|
23
|
+
background-color: mat.get-color-from-palette($background, noder-button-input-background);
|
|
24
|
+
color: mat.get-color-from-palette($foreground, noder-button-input-text);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.mat-button-toggle-button:hover {
|
|
28
|
+
background-color: mat.get-color-from-palette($background, noder-button-input-hover);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.mat-button-toggle-checked button {
|
|
32
|
+
background-color: mat.get-color-from-palette($background, noder-button-input-checked);
|
|
33
|
+
color: mat.get-color-from-palette($foreground, noder-button-toggle-checked);
|
|
34
|
+
}
|
|
13
35
|
}
|
|
14
36
|
}
|
|
15
37
|
|
|
16
|
-
.
|
|
17
|
-
.
|
|
18
|
-
|
|
38
|
+
.noder-modal {
|
|
39
|
+
background-color: mat.get-color-from-palette($background, noder-modal-background);
|
|
40
|
+
|
|
41
|
+
.mat-mdc-menu-item {
|
|
42
|
+
color: mat.get-color-from-palette($foreground, noder-modal-text);
|
|
43
|
+
|
|
44
|
+
.mat-icon-no-color {
|
|
45
|
+
color: mat.get-color-from-palette($foreground, noder-modal-text);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.mat-mdc-menu-submenu-icon {
|
|
49
|
+
color: mat.get-color-from-palette($foreground, noder-modal-text);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&:not([disabled]):hover {
|
|
53
|
+
background-color: mat.get-color-from-palette($background, noder-modal-background-hover);
|
|
54
|
+
}
|
|
19
55
|
}
|
|
56
|
+
}
|
|
20
57
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
58
|
+
app-editor,
|
|
59
|
+
.noder-modal {
|
|
60
|
+
/* stylelint-disable no-descending-specificity */
|
|
61
|
+
.mat-drawer {
|
|
62
|
+
background-color: mat.get-color-from-palette($background, noder-editor-mat-drawer);
|
|
24
63
|
}
|
|
25
64
|
|
|
26
|
-
.
|
|
27
|
-
|
|
65
|
+
.mdc-text-field--outlined:not(.mdc-text-field--disabled, .mdc-text-field--invalid) .mdc-text-field__input {
|
|
66
|
+
color: mat.get-color-from-palette($foreground, noder-text);
|
|
67
|
+
caret-color: mat.get-color-from-palette($foreground, noder-text);
|
|
28
68
|
}
|
|
29
69
|
|
|
30
|
-
.
|
|
31
|
-
|
|
32
|
-
|
|
70
|
+
.mdc-text-field:not(.mdc-text-field--invalid) {
|
|
71
|
+
&.mdc-text-field--disabled {
|
|
72
|
+
border-color: mat.get-color-from-palette($foreground, noder-form-field-border-disabled);
|
|
73
|
+
|
|
74
|
+
.mdc-floating-label {
|
|
75
|
+
color: mat.get-color-from-palette($foreground, noder-form-field-border-disabled);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&.mdc-text-field--focused,
|
|
80
|
+
&:hover:not(.mdc-text-field--disabled) {
|
|
81
|
+
.mdc-notched-outline > * {
|
|
82
|
+
border-color: mat.get-color-from-palette($foreground, noder-form-field-border-focused);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.mdc-floating-label {
|
|
86
|
+
color: mat.get-color-from-palette($foreground, noder-form-field-border-focused);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.mdc-notched-outline > * {
|
|
91
|
+
border-color: mat.get-color-from-palette($foreground, noder-form-field-border);
|
|
92
|
+
|
|
93
|
+
.mdc-floating-label {
|
|
94
|
+
color: mat.get-color-from-palette($foreground, noder-form-field-border);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
33
97
|
}
|
|
98
|
+
/* stylelint-enable no-descending-specificity */
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ngx-colors-overlay .opened {
|
|
102
|
+
background-color: mat.get-color-from-palette($background, noder-editor-background);
|
|
34
103
|
}
|
|
35
104
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin editor-title-component-theme($theme) {
|
|
5
|
+
$background: map.get($theme, background);
|
|
6
|
+
$foreground: map.get($theme, foreground);
|
|
7
|
+
|
|
8
|
+
app-editor-title {
|
|
9
|
+
background-color: mat.get-color-from-palette($background, noder-editor-header);
|
|
10
|
+
|
|
11
|
+
.file-name {
|
|
12
|
+
color: mat.get-color-from-palette($foreground, noder-editor-header-text);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.editor-mode .mat-mdc-icon-button {
|
|
16
|
+
color: mat.get-color-from-palette($foreground, noder-button-header);
|
|
17
|
+
|
|
18
|
+
.mat-mdc-button-persistent-ripple::before {
|
|
19
|
+
background-color: mat.get-color-from-palette($background, noder-button-header-selected);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&.selected-mode {
|
|
23
|
+
background-color: mat.get-color-from-palette($background, noder-button-header-selected);
|
|
24
|
+
color: mat.get-color-from-palette($foreground, noder-button-header-selected);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -2,32 +2,9 @@
|
|
|
2
2
|
@use 'sass:map';
|
|
3
3
|
|
|
4
4
|
@mixin editor-toolbar-component($theme) {
|
|
5
|
-
$foreground: map.get($theme, foreground);
|
|
6
5
|
$background: map.get($theme, background);
|
|
7
6
|
|
|
8
7
|
app-editor-toolbar {
|
|
9
|
-
background-color: mat.get-color-from-palette($background, editor-toolbar);
|
|
10
|
-
border-color: mat.get-color-from-palette($foreground, editor-toolbar-border);
|
|
11
|
-
|
|
12
|
-
input {
|
|
13
|
-
background-color: mat.get-color-from-palette($background, editor-toolbar);
|
|
14
|
-
color: mat.get-color-from-palette($foreground, text);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
mat-button-toggle {
|
|
18
|
-
background-color: mat.get-color-from-palette($background, editor-toolbar);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.mat-button-toggle-checked mat-icon {
|
|
22
|
-
color: mat.get-color-from-palette($foreground, selected-button-icon);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
button:hover {
|
|
26
|
-
background-color: mat.get-color-from-palette($background, focused-button);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.separator {
|
|
30
|
-
border-color: mat.get-color-from-palette($foreground, text);
|
|
31
|
-
}
|
|
8
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-transparent);
|
|
32
9
|
}
|
|
33
10
|
}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
-
@import './numbering/numbering.theme';
|
|
2
1
|
@import './editor-toolbar.theme';
|
|
2
|
+
@import './font-size/font-size.theme';
|
|
3
|
+
@import './font-style/font-style.theme';
|
|
4
|
+
@import './font/font.theme';
|
|
5
|
+
@import './format/format.theme';
|
|
6
|
+
@import './menu-dropdowns/menu-dropdowns.theme';
|
|
7
|
+
@import './numbering/numbering.theme';
|
|
8
|
+
@import './toolbar-actions/toolbar-actions.theme';
|
|
9
|
+
@import './undo-redo/undo-redo.theme';
|
|
3
10
|
|
|
4
11
|
@mixin editor-toolbar-theme($theme) {
|
|
5
|
-
@include numbering-component($theme);
|
|
6
12
|
@include editor-toolbar-component($theme);
|
|
13
|
+
@include font-component($theme);
|
|
14
|
+
@include font-size-component($theme);
|
|
15
|
+
@include font-style-component($theme);
|
|
16
|
+
@include format-component($theme);
|
|
17
|
+
@include menu-dropdowns-component($theme);
|
|
18
|
+
@include numbering-component($theme);
|
|
19
|
+
@include toolbar-actions-component($theme);
|
|
20
|
+
@include undo-redo-component($theme);
|
|
7
21
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin font-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
|
|
7
|
+
app-font {
|
|
8
|
+
.mat-mdc-button:not(:disabled) {
|
|
9
|
+
color: mat.get-color-from-palette($foreground, noder-button-text);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin font-size-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
$background: map.get($theme, background);
|
|
7
|
+
|
|
8
|
+
app-font-size {
|
|
9
|
+
input {
|
|
10
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-transparent);
|
|
11
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-text);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin font-style-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
$background: map.get($theme, background);
|
|
7
|
+
|
|
8
|
+
app-font-style {
|
|
9
|
+
mat-button-toggle {
|
|
10
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-transparent);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.mat-button-toggle-checked mat-icon {
|
|
14
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-button-selected);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
18
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-button-checked);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin format-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
$background: map.get($theme, background);
|
|
7
|
+
|
|
8
|
+
app-format {
|
|
9
|
+
mat-button-toggle {
|
|
10
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-transparent);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.mat-button-toggle-checked mat-icon {
|
|
14
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-button-selected);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
18
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-button-checked);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin menu-dropdowns-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
$background: map.get($theme, background);
|
|
7
|
+
|
|
8
|
+
app-menu-dropdowns {
|
|
9
|
+
input {
|
|
10
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-transparent);
|
|
11
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-text);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
button:hover {
|
|
15
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-button-hover);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.mat-mdc-button:not(:disabled) {
|
|
19
|
+
color: mat.get-color-from-palette($foreground, noder-button-text);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.noder-divider {
|
|
24
|
+
border-color: mat.get-color-from-palette($foreground, noder-divider);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* stylelint-disable no-descending-specificity */
|
|
1
2
|
@use '@angular/material' as mat;
|
|
2
3
|
@use 'sass:map';
|
|
3
4
|
|
|
@@ -5,25 +6,65 @@
|
|
|
5
6
|
$foreground: map.get($theme, foreground);
|
|
6
7
|
$background: map.get($theme, background);
|
|
7
8
|
|
|
8
|
-
.
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
.dropdown-numbering-overlay,
|
|
10
|
+
app-numbering {
|
|
11
|
+
mat-button-toggle {
|
|
12
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-transparent);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.mat-button-toggle-checked mat-icon {
|
|
16
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-button-selected);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.mat-button-toggle-appearance-standard.mat-button-toggle-checked {
|
|
20
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-button-checked);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.list-marker,
|
|
24
|
+
.list-number {
|
|
25
|
+
border-color: mat.get-color-from-palette($background, noder-numbering-border);
|
|
11
26
|
|
|
12
|
-
|
|
13
|
-
|
|
27
|
+
mat-icon {
|
|
28
|
+
stroke: mat.get-color-from-palette($foreground, noder-numbering-line);
|
|
29
|
+
|
|
30
|
+
.line {
|
|
31
|
+
fill: mat.get-color-from-palette($foreground, noder-numbering-line);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.bullet {
|
|
35
|
+
stroke: mat.get-color-from-palette($foreground, noder-numbering-bullet);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.filled {
|
|
39
|
+
fill: mat.get-color-from-palette($foreground, noder-numbering-bullet);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
path {
|
|
43
|
+
fill: mat.get-color-from-palette($foreground, noder-numbering-bullet);
|
|
44
|
+
stroke: mat.get-color-from-palette($foreground, noder-numbering-bullet);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
rect:last-child {
|
|
48
|
+
stroke: mat.get-color-from-palette($background, noder-numbering-border);
|
|
49
|
+
}
|
|
14
50
|
}
|
|
15
51
|
|
|
16
|
-
.
|
|
17
|
-
|
|
52
|
+
.mat-icon {
|
|
53
|
+
background-color: mat.get-color-from-palette($background, noder-numbering);
|
|
54
|
+
|
|
55
|
+
&:hover {
|
|
56
|
+
background-color: mat.get-color-from-palette($background, noder-numbering-hover);
|
|
57
|
+
}
|
|
18
58
|
}
|
|
19
59
|
|
|
20
|
-
.
|
|
21
|
-
|
|
60
|
+
.selected,
|
|
61
|
+
.selected:hover {
|
|
62
|
+
border-color: mat.get-color-from-palette($background, noder-selected-numbering-border);
|
|
22
63
|
}
|
|
23
64
|
}
|
|
24
65
|
|
|
25
|
-
|
|
26
|
-
|
|
66
|
+
.list-number rect:not(:last-child) {
|
|
67
|
+
fill: mat.get-color-from-palette($foreground, noder-numbering-line);
|
|
27
68
|
}
|
|
28
69
|
}
|
|
29
70
|
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin toolbar-actions-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
$background: map.get($theme, background);
|
|
7
|
+
|
|
8
|
+
app-toolbar-actions {
|
|
9
|
+
.mat-icon {
|
|
10
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-text);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.separator {
|
|
14
|
+
border-color: mat.get-color-from-palette($foreground, noder-editor-toolbar-text);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
button:hover {
|
|
18
|
+
background-color: mat.get-color-from-palette($background, noder-editor-toolbar-button-hover);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
@mixin undo-redo-component($theme) {
|
|
5
|
+
$foreground: map.get($theme, foreground);
|
|
6
|
+
|
|
7
|
+
app-undo-redo {
|
|
8
|
+
.mat-mdc-button:not(:disabled) .mat-icon {
|
|
9
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-text);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.mat-mdc-button:disabled .mat-icon {
|
|
13
|
+
color: mat.get-color-from-palette($foreground, noder-editor-toolbar-text-disabled);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -6,17 +6,20 @@
|
|
|
6
6
|
$foreground: map.get($theme, foreground);
|
|
7
7
|
|
|
8
8
|
app-insert-table {
|
|
9
|
-
background-color: mat.get-color-from-palette($background, page-
|
|
10
|
-
box-shadow: mat.get-color-from-palette($background, button-background, 0.12);
|
|
9
|
+
background-color: mat.get-color-from-palette($background, noder-page-background);
|
|
11
10
|
|
|
12
11
|
.cell {
|
|
13
|
-
border: 1px solid mat.get-color-from-palette($background,
|
|
14
|
-
background-color: mat.get-color-from-palette($background,
|
|
12
|
+
border: 1px solid mat.get-color-from-palette($background, noder-insert-table-cell-border);
|
|
13
|
+
background-color: mat.get-color-from-palette($background, noder-insert-table-cell);
|
|
15
14
|
|
|
16
15
|
&.highlighted {
|
|
17
|
-
border-color: mat.get-color-from-palette($background, insert-table-cell-border-highlighted);
|
|
18
|
-
background-color: mat.get-color-from-palette($background, insert-table-cell-highlighted);
|
|
16
|
+
border-color: mat.get-color-from-palette($background, noder-insert-table-cell-border-highlighted);
|
|
17
|
+
background-color: mat.get-color-from-palette($background, noder-insert-table-cell-highlighted);
|
|
19
18
|
}
|
|
20
19
|
}
|
|
20
|
+
|
|
21
|
+
.table-size {
|
|
22
|
+
color: mat.get-color-from-palette($foreground, noder-insert-table-size-label);
|
|
23
|
+
}
|
|
21
24
|
}
|
|
22
25
|
}
|
package/src/scss/_mixins.scss
CHANGED
|
@@ -5,45 +5,10 @@
|
|
|
5
5
|
$background: map.get($theme, background);
|
|
6
6
|
|
|
7
7
|
::-webkit-scrollbar-track {
|
|
8
|
-
background-color: mat.get-color-from-palette($background, scrollbar-track);
|
|
8
|
+
background-color: mat.get-color-from-palette($background, noder-scrollbar-track);
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
::-webkit-scrollbar-thumb {
|
|
12
|
-
background: mat.get-color-from-palette($background, scrollbar-thumb);
|
|
12
|
+
background: mat.get-color-from-palette($background, noder-scrollbar-thumb);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
@mixin form-field-theme($theme) {
|
|
17
|
-
$foreground: map.get($theme, foreground);
|
|
18
|
-
|
|
19
|
-
.mdc-text-field:not(.mdc-text-field--invalid) {
|
|
20
|
-
.mdc-notched-outline > * {
|
|
21
|
-
border-color: mat.get-color-from-palette($foreground, form-field-border);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
&.mdc-text-field--disabled {
|
|
25
|
-
border-color: mat.get-color-from-palette($foreground, form-field-border-disabled);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
&.mdc-text-field--focused,
|
|
29
|
-
&:hover:not(.mdc-text-field--disabled) {
|
|
30
|
-
.mdc-notched-outline > * {
|
|
31
|
-
border-color: mat.get-color-from-palette($foreground, form-field-border-focused);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
$form-field-light-primary: mat.define-palette($black-palette);
|
|
37
|
-
$form-field-light-theme: mat.define-light-theme(
|
|
38
|
-
(
|
|
39
|
-
color: (
|
|
40
|
-
primary: $form-field-light-primary,
|
|
41
|
-
accent: $light-accent,
|
|
42
|
-
warn: $light-warn
|
|
43
|
-
),
|
|
44
|
-
density: 0
|
|
45
|
-
)
|
|
46
|
-
);
|
|
47
|
-
|
|
48
|
-
@include mat.form-field-color($form-field-light-theme);
|
|
49
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { ElementDataModel } from '../models/element-data.model';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/material/button";
|
|
6
|
-
import * as i3 from "@angular/material/icon";
|
|
7
|
-
import * as i4 from "@angular/material/tooltip";
|
|
8
|
-
export class ElementToolbarComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.isDisabled = false;
|
|
11
|
-
this.createElement = new EventEmitter();
|
|
12
|
-
this.isHide = false;
|
|
13
|
-
}
|
|
14
|
-
changeVisibility() {
|
|
15
|
-
this.isHide = !this.isHide;
|
|
16
|
-
}
|
|
17
|
-
async create(model) {
|
|
18
|
-
const data = await model.factoryMethod();
|
|
19
|
-
const element = new ElementDataModel(model.type, data.width, data.height, data.guid);
|
|
20
|
-
this.createElement.emit(element);
|
|
21
|
-
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElementToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: ElementToolbarComponent, selector: "app-element-toolbar", inputs: { isDisabled: "isDisabled", elements: "elements" }, outputs: { createElement: "createElement" }, ngImport: i0, template: "<button\n class=\"menu\"\n mat-raised-button\n (click)=\"changeVisibility()\">\n <div class=\"icon\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-menu-circle\"></mat-icon>\n </div>\n</button>\n<div\n class=\"menu-items\"\n *ngIf=\"!isHide\">\n <div class=\"empty-place\"></div>\n <button\n *ngFor=\"let element of elements\"\n mat-icon-button\n matTooltip=\"{{ element.name }}\"\n matTooltipPosition=\"left\"\n (click)=\"create(element)\"\n [disabled]=\"isDisabled\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"{{ element.icon }}\"></mat-icon>\n </button>\n</div>\n", styles: [":host{position:absolute}.mat-mdc-button.mat-mdc-button-base,.mat-mdc-raised-button.mat-mdc-button-base,.mat-mdc-unelevated-button.mat-mdc-button-base,.mat-mdc-outlined-button.mat-mdc-button-base{padding-right:21px}.menu-items{z-index:1;top:24px;position:absolute;max-width:50px;display:flex;flex-direction:column;border-radius:0 0 20px 20px;box-shadow:1px 2px 5px #0000001a}.menu-items .empty-place{height:24px}.menu{border-radius:30px 0 0 30px;min-width:56px;width:56px;height:48px;z-index:2}.menu .icon mat-icon{height:22px;width:24px;font-size:24px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: ElementToolbarComponent, decorators: [{
|
|
26
|
-
type: Component,
|
|
27
|
-
args: [{ selector: 'app-element-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n class=\"menu\"\n mat-raised-button\n (click)=\"changeVisibility()\">\n <div class=\"icon\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"icon-menu-circle\"></mat-icon>\n </div>\n</button>\n<div\n class=\"menu-items\"\n *ngIf=\"!isHide\">\n <div class=\"empty-place\"></div>\n <button\n *ngFor=\"let element of elements\"\n mat-icon-button\n matTooltip=\"{{ element.name }}\"\n matTooltipPosition=\"left\"\n (click)=\"create(element)\"\n [disabled]=\"isDisabled\">\n <mat-icon\n fontSet=\"nc-icon\"\n fontIcon=\"{{ element.icon }}\"></mat-icon>\n </button>\n</div>\n", styles: [":host{position:absolute}.mat-mdc-button.mat-mdc-button-base,.mat-mdc-raised-button.mat-mdc-button-base,.mat-mdc-unelevated-button.mat-mdc-button-base,.mat-mdc-outlined-button.mat-mdc-button-base{padding-right:21px}.menu-items{z-index:1;top:24px;position:absolute;max-width:50px;display:flex;flex-direction:column;border-radius:0 0 20px 20px;box-shadow:1px 2px 5px #0000001a}.menu-items .empty-place{height:24px}.menu{border-radius:30px 0 0 30px;min-width:56px;width:56px;height:48px;z-index:2}.menu .icon mat-icon{height:22px;width:24px;font-size:24px}\n"] }]
|
|
28
|
-
}], propDecorators: { isDisabled: [{
|
|
29
|
-
type: Input
|
|
30
|
-
}], elements: [{
|
|
31
|
-
type: Input
|
|
32
|
-
}], createElement: [{
|
|
33
|
-
type: Output
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC10b29sYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub2Rlci9zcmMvbGliLytzaGFyZWQvZWRpdG9yL2N1c3RvbS1jb21wb25lbnRzL2V4dGVybmFsLWVsZW1lbnQvZWxlbWVudC10b29sYmFyL2VsZW1lbnQtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbm9kZXIvc3JjL2xpYi8rc2hhcmVkL2VkaXRvci9jdXN0b20tY29tcG9uZW50cy9leHRlcm5hbC1lbGVtZW50L2VsZW1lbnQtdG9vbGJhci9lbGVtZW50LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7O0FBU2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFPYSxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSWxCLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFFL0QsV0FBTSxHQUFHLEtBQUssQ0FBQztLQVdsQjtJQVRHLGdCQUFnQjtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQTJCO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sT0FBTyxHQUFHLElBQUksZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBakJRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLG9LQ1hwQyxxc0JBMEJBOzsyRkRmYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0kscUJBQXFCLG1CQUdkLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVsZW1lbnREYXRhTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZWxlbWVudC1kYXRhLm1vZGVsJztcbmltcG9ydCB7IEV4dGVybmFsRWxlbWVudE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2V4dGVybmFsLWVsZW1lbnQubW9kZWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1lbGVtZW50LXRvb2xiYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9lbGVtZW50LXRvb2xiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2VsZW1lbnQtdG9vbGJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEVsZW1lbnRUb29sYmFyQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKSBpc0Rpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKSBlbGVtZW50czogRXh0ZXJuYWxFbGVtZW50TW9kZWxbXTtcblxuICAgIEBPdXRwdXQoKSBjcmVhdGVFbGVtZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxFbGVtZW50RGF0YU1vZGVsPigpO1xuXG4gICAgaXNIaWRlID0gZmFsc2U7XG5cbiAgICBjaGFuZ2VWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzSGlkZSA9ICF0aGlzLmlzSGlkZTtcbiAgICB9XG5cbiAgICBhc3luYyBjcmVhdGUobW9kZWw6IEV4dGVybmFsRWxlbWVudE1vZGVsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCBtb2RlbC5mYWN0b3J5TWV0aG9kKCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBuZXcgRWxlbWVudERhdGFNb2RlbChtb2RlbC50eXBlLCBkYXRhLndpZHRoLCBkYXRhLmhlaWdodCwgZGF0YS5ndWlkKTtcbiAgICAgICAgdGhpcy5jcmVhdGVFbGVtZW50LmVtaXQoZWxlbWVudCk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIGNsYXNzPVwibWVudVwiXG4gICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAoY2xpY2spPVwiY2hhbmdlVmlzaWJpbGl0eSgpXCI+XG4gICAgPGRpdiBjbGFzcz1cImljb25cIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBmb250U2V0PVwibmMtaWNvblwiXG4gICAgICAgICAgICBmb250SWNvbj1cImljb24tbWVudS1jaXJjbGVcIj48L21hdC1pY29uPlxuICAgIDwvZGl2PlxuPC9idXR0b24+XG48ZGl2XG4gICAgY2xhc3M9XCJtZW51LWl0ZW1zXCJcbiAgICAqbmdJZj1cIiFpc0hpZGVcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZW1wdHktcGxhY2VcIj48L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICAgICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIGVsZW1lbnRzXCJcbiAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgIG1hdFRvb2x0aXA9XCJ7eyBlbGVtZW50Lm5hbWUgfX1cIlxuICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJsZWZ0XCJcbiAgICAgICAgKGNsaWNrKT1cImNyZWF0ZShlbGVtZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCI+XG4gICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgZm9udFNldD1cIm5jLWljb25cIlxuICAgICAgICAgICAgZm9udEljb249XCJ7eyBlbGVtZW50Lmljb24gfX1cIj48L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|