@ecodev/natural-editor 42.0.0 → 42.3.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.
Files changed (51) hide show
  1. package/esm2020/lib/class-dialog/class-dialog.component.mjs +37 -0
  2. package/esm2020/lib/color-dialog/color-dialog.component.mjs +184 -0
  3. package/esm2020/lib/custom-css/custom-css.directive.mjs +78 -0
  4. package/esm2020/lib/editor/editor.component.mjs +8 -8
  5. package/esm2020/lib/editor.module.mjs +24 -16
  6. package/esm2020/lib/link-dialog/link-dialog.component.mjs +3 -3
  7. package/esm2020/lib/utils/image.mjs +3 -3
  8. package/esm2020/lib/utils/items/cell-background-color-item.mjs +55 -0
  9. package/esm2020/lib/utils/items/class-item.mjs +86 -0
  10. package/esm2020/lib/utils/items/horizontal-rule-item.mjs +24 -0
  11. package/esm2020/lib/utils/items/item.mjs +39 -0
  12. package/esm2020/lib/utils/items/link-item.mjs +40 -0
  13. package/esm2020/lib/utils/items/table-item.mjs +43 -0
  14. package/esm2020/lib/utils/items/text-align-item.mjs +78 -0
  15. package/esm2020/lib/utils/items/utils.mjs +41 -0
  16. package/esm2020/lib/utils/items/wrap-list-item.mjs +6 -0
  17. package/esm2020/lib/utils/menu.mjs +45 -128
  18. package/esm2020/lib/utils/schema/paragraph-with-alignment.mjs +50 -0
  19. package/esm2020/lib/utils/schema/schema.mjs +51 -0
  20. package/esm2020/lib/utils/schema/table.mjs +113 -0
  21. package/esm2020/public-api.mjs +2 -1
  22. package/fesm2015/ecodev-natural-editor.mjs +754 -194
  23. package/fesm2015/ecodev-natural-editor.mjs.map +1 -1
  24. package/fesm2020/ecodev-natural-editor.mjs +748 -196
  25. package/fesm2020/ecodev-natural-editor.mjs.map +1 -1
  26. package/lib/class-dialog/class-dialog.component.d.ts +24 -0
  27. package/lib/color-dialog/color-dialog.component.d.ts +26 -0
  28. package/lib/custom-css/custom-css.directive.d.ts +29 -0
  29. package/lib/editor.module.d.ts +19 -16
  30. package/lib/utils/items/cell-background-color-item.d.ts +5 -0
  31. package/lib/utils/items/class-item.d.ts +6 -0
  32. package/lib/utils/items/horizontal-rule-item.d.ts +5 -0
  33. package/lib/utils/{item.d.ts → items/item.d.ts} +0 -0
  34. package/lib/utils/items/link-item.d.ts +6 -0
  35. package/lib/utils/items/table-item.d.ts +4 -0
  36. package/lib/utils/{text-align-item.d.ts → items/text-align-item.d.ts} +0 -0
  37. package/lib/utils/items/utils.d.ts +18 -0
  38. package/lib/utils/items/wrap-list-item.d.ts +3 -0
  39. package/lib/utils/menu.d.ts +2 -2
  40. package/lib/utils/schema/paragraph-with-alignment.d.ts +8 -0
  41. package/lib/utils/{schema.d.ts → schema/schema.d.ts} +0 -0
  42. package/lib/utils/schema/table.d.ts +9 -0
  43. package/package.json +1 -1
  44. package/public-api.d.ts +1 -0
  45. package/esm2020/lib/utils/item.mjs +0 -39
  46. package/esm2020/lib/utils/paragraph-with-alignment.mjs +0 -43
  47. package/esm2020/lib/utils/schema.mjs +0 -51
  48. package/esm2020/lib/utils/table.mjs +0 -37
  49. package/esm2020/lib/utils/text-align-item.mjs +0 -81
  50. package/lib/utils/paragraph-with-alignment.d.ts +0 -2
  51. package/lib/utils/table.d.ts +0 -8
@@ -1,120 +1,42 @@
1
1
  import { blockTypeItem, joinUpItem, liftItem, redoItem, selectParentNodeItem, undoItem, wrapItem, } from 'prosemirror-menu';
2
- import { toggleMark } from 'prosemirror-commands';
3
- import { wrapInList } from 'prosemirror-schema-list';
4
- import { LinkDialogComponent } from '../link-dialog/link-dialog.component';
5
2
  import { addColumnAfter, addColumnBefore, addRowAfter, addRowBefore, deleteColumn, deleteRow, deleteTable, mergeCells, splitCell, toggleHeaderCell, toggleHeaderColumn, toggleHeaderRow, } from 'prosemirror-tables';
6
- import { addTable } from './table';
7
- import { Item } from './item';
8
- import { paragraphWithAlignment } from './paragraph-with-alignment';
9
- import { TextAlignItem } from './text-align-item';
10
- /**
11
- * Convert built-in `MenuItem` into our Angular specific `Item`
12
- */
13
- function toItem(item) {
14
- return new Item(item.spec);
15
- }
16
- function canInsert(state, nodeType) {
17
- const $from = state.selection.$from;
18
- for (let d = $from.depth; d >= 0; d--) {
19
- const index = $from.index(d);
20
- if ($from.node(d).canReplaceWith(index, index, nodeType)) {
21
- return true;
22
- }
23
- }
24
- return false;
25
- }
26
- function cmdItem(cmd, options = {}, useEnable = false) {
27
- const passedOptions = {
28
- run: cmd,
29
- ...options,
30
- };
31
- if ((!options.enable || useEnable) && !options.select) {
32
- passedOptions[options.enable ? 'enable' : 'select'] = (state) => cmd(state);
33
- }
34
- return new Item(passedOptions);
35
- }
36
- function markActive(state, type) {
37
- const { from, $from, to, empty } = state.selection;
38
- if (empty) {
39
- return !!type.isInSet(state.storedMarks || $from.marks());
40
- }
41
- else {
42
- return state.doc.rangeHasMark(from, to, type);
43
- }
44
- }
45
- function markItem(markType, options = {}) {
46
- const passedOptions = {
47
- active(state) {
48
- return markActive(state, markType);
49
- },
50
- ...options,
51
- };
52
- return cmdItem(toggleMark(markType), passedOptions, true);
53
- }
54
- function linkItem(markType, dialog) {
55
- return new Item({
56
- active(state) {
57
- return markActive(state, markType);
58
- },
59
- enable(state) {
60
- return !state.selection.empty;
61
- },
62
- run(state, dispatch, view) {
63
- if (markActive(state, markType)) {
64
- toggleMark(markType)(state, dispatch);
65
- return true;
66
- }
67
- dialog
68
- .open(LinkDialogComponent, {
69
- data: {
70
- href: '',
71
- title: '',
72
- },
73
- })
74
- .afterClosed()
75
- .subscribe(result => {
76
- if (result) {
77
- if (!result.title) {
78
- delete result.title;
79
- }
80
- toggleMark(markType, result)(view.state, view.dispatch);
81
- }
82
- view.focus();
83
- });
84
- },
85
- });
86
- }
87
- function wrapListItem(nodeType) {
88
- return cmdItem(wrapInList(nodeType));
89
- }
3
+ import { paragraphWithAlignment } from './schema/paragraph-with-alignment';
4
+ import { TextAlignItem } from './items/text-align-item';
5
+ import { CellBackgroundColorItem } from './items/cell-background-color-item';
6
+ import { LinkItem } from './items/link-item';
7
+ import { HorizontalRuleItem } from './items/horizontal-rule-item';
8
+ import { cmdToItem, markTypeToItem, menuItemToItem } from './items/utils';
9
+ import { wrapListItem } from './items/wrap-list-item';
10
+ import { ClassItem } from './items/class-item';
11
+ import { AddTableItem } from './items/table-item';
90
12
  /**
91
13
  * Given a schema, look for default mark and node types in it and
92
14
  * return an object with relevant menu items relating to those marks:
93
15
  */
94
16
  export function buildMenuItems(schema, dialog) {
95
17
  const r = {
96
- joinUp: toItem(joinUpItem),
97
- lift: toItem(liftItem),
98
- selectParentNode: toItem(selectParentNodeItem),
99
- undo: toItem(undoItem),
100
- redo: toItem(redoItem),
18
+ joinUp: menuItemToItem(joinUpItem),
19
+ lift: menuItemToItem(liftItem),
20
+ selectParentNode: menuItemToItem(selectParentNodeItem),
21
+ undo: menuItemToItem(undoItem),
22
+ redo: menuItemToItem(redoItem),
101
23
  };
102
24
  let type;
103
25
  type = schema.marks.strong;
104
26
  if (type) {
105
- r.toggleStrong = markItem(type);
27
+ r.toggleStrong = markTypeToItem(type);
106
28
  }
107
29
  type = schema.marks.em;
108
30
  if (type) {
109
- r.toggleEm = markItem(type);
31
+ r.toggleEm = markTypeToItem(type);
110
32
  }
111
33
  type = schema.marks.code;
112
34
  if (type) {
113
- r.toggleCode = markItem(type);
35
+ r.toggleCode = markTypeToItem(type);
114
36
  }
115
37
  type = schema.marks.link;
116
38
  if (type) {
117
- r.toggleLink = linkItem(type, dialog);
39
+ r.toggleLink = new LinkItem(type, dialog);
118
40
  }
119
41
  type = schema.nodes.bullet_list;
120
42
  if (type) {
@@ -126,59 +48,54 @@ export function buildMenuItems(schema, dialog) {
126
48
  }
127
49
  type = schema.nodes.blockquote;
128
50
  if (type) {
129
- r.wrapBlockQuote = toItem(wrapItem(type, {}));
51
+ r.wrapBlockQuote = menuItemToItem(wrapItem(type, {}));
130
52
  }
131
53
  type = schema.nodes.paragraph;
132
54
  if (type) {
133
- r.makeParagraph = toItem(blockTypeItem(type, {}));
55
+ r.makeParagraph = menuItemToItem(blockTypeItem(type, {}));
134
56
  if (type.spec === paragraphWithAlignment) {
135
57
  r.alignLeft = new TextAlignItem('left');
136
58
  r.alignRight = new TextAlignItem('right');
137
59
  r.alignCenter = new TextAlignItem('center');
138
60
  r.alignJustify = new TextAlignItem('justify');
61
+ r.paragraphClass = new ClassItem(dialog, type);
139
62
  }
140
63
  }
141
64
  type = schema.nodes.code_block;
142
65
  if (type) {
143
- r.makeCodeBlock = toItem(blockTypeItem(type, {}));
66
+ r.makeCodeBlock = menuItemToItem(blockTypeItem(type, {}));
144
67
  }
145
68
  type = schema.nodes.heading;
146
69
  if (type) {
147
- r.makeHead1 = toItem(blockTypeItem(type, { attrs: { level: 1 } }));
148
- r.makeHead2 = toItem(blockTypeItem(type, { attrs: { level: 2 } }));
149
- r.makeHead3 = toItem(blockTypeItem(type, { attrs: { level: 3 } }));
150
- r.makeHead4 = toItem(blockTypeItem(type, { attrs: { level: 4 } }));
151
- r.makeHead5 = toItem(blockTypeItem(type, { attrs: { level: 5 } }));
152
- r.makeHead6 = toItem(blockTypeItem(type, { attrs: { level: 6 } }));
70
+ r.makeHead1 = menuItemToItem(blockTypeItem(type, { attrs: { level: 1 } }));
71
+ r.makeHead2 = menuItemToItem(blockTypeItem(type, { attrs: { level: 2 } }));
72
+ r.makeHead3 = menuItemToItem(blockTypeItem(type, { attrs: { level: 3 } }));
73
+ r.makeHead4 = menuItemToItem(blockTypeItem(type, { attrs: { level: 4 } }));
74
+ r.makeHead5 = menuItemToItem(blockTypeItem(type, { attrs: { level: 5 } }));
75
+ r.makeHead6 = menuItemToItem(blockTypeItem(type, { attrs: { level: 6 } }));
153
76
  }
154
77
  type = schema.nodes.horizontal_rule;
155
78
  if (type) {
156
- const hr = type;
157
- r.insertHorizontalRule = new Item({
158
- enable(state) {
159
- return canInsert(state, hr);
160
- },
161
- run(state, dispatch) {
162
- dispatch(state.tr.replaceSelectionWith(hr.create()));
163
- },
164
- });
79
+ r.insertHorizontalRule = new HorizontalRuleItem(type);
165
80
  }
166
81
  type = schema.nodes.table;
167
82
  if (type) {
168
- r.insertTable = new Item({ run: (e, tr) => addTable(e, tr) });
169
- r.addColumnBefore = new Item({ run: addColumnBefore });
170
- r.addColumnAfter = new Item({ run: addColumnAfter });
171
- r.deleteColumn = new Item({ run: deleteColumn });
172
- r.addRowBefore = new Item({ run: addRowBefore });
173
- r.addRowAfter = new Item({ run: addRowAfter });
174
- r.deleteRow = new Item({ run: deleteRow });
175
- r.deleteTable = new Item({ run: deleteTable });
176
- r.mergeCells = new Item({ run: mergeCells });
177
- r.splitCell = new Item({ run: splitCell });
178
- r.toggleHeaderColumn = new Item({ run: toggleHeaderColumn });
179
- r.toggleHeaderRow = new Item({ run: toggleHeaderRow });
180
- r.toggleHeaderCell = new Item({ run: toggleHeaderCell });
83
+ r.insertTable = new AddTableItem();
84
+ r.addColumnBefore = cmdToItem(addColumnBefore);
85
+ r.addColumnAfter = cmdToItem(addColumnAfter);
86
+ r.deleteColumn = cmdToItem(deleteColumn);
87
+ r.addRowBefore = cmdToItem(addRowBefore);
88
+ r.addRowAfter = cmdToItem(addRowAfter);
89
+ r.deleteRow = cmdToItem(deleteRow);
90
+ r.deleteTable = cmdToItem(deleteTable);
91
+ r.mergeCells = cmdToItem(mergeCells);
92
+ r.splitCell = cmdToItem(splitCell);
93
+ r.toggleHeaderColumn = cmdToItem(toggleHeaderColumn);
94
+ r.toggleHeaderRow = cmdToItem(toggleHeaderRow);
95
+ r.toggleHeaderCell = cmdToItem(toggleHeaderCell);
96
+ r.cellBackgroundColor = new CellBackgroundColorItem(dialog);
97
+ r.tableClass = new ClassItem(dialog, type);
181
98
  }
182
99
  return r;
183
100
  }
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvdXRpbHMvbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLFVBQVUsRUFDVixRQUFRLEVBR1IsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsUUFBUSxHQUNYLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxFQUFVLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUduRCxPQUFPLEVBQUMsbUJBQW1CLEVBQWlCLE1BQU0sc0NBQXNDLENBQUM7QUFFekYsT0FBTyxFQUNILGNBQWMsRUFDZCxlQUFlLEVBQ2YsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsU0FBUyxFQUNULGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxTQUFTLENBQUM7QUFDakMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxTQUFTLE1BQU0sQ0FBQyxJQUFjO0lBQzFCLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxLQUFrQixFQUFFLFFBQWtCO0lBQ3JELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO0lB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QyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxDQUFDLEVBQUMsR0FBRyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLElBQUksQ0FBQyxFQUFDLEdBQUcsRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUM7S0FDMUQ7SUFFRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIGJsb2NrVHlwZUl0ZW0sXG4gICAgam9pblVwSXRlbSxcbiAgICBsaWZ0SXRlbSxcbiAgICBNZW51SXRlbSxcbiAgICBNZW51SXRlbVNwZWMsXG4gICAgcmVkb0l0ZW0sXG4gICAgc2VsZWN0UGFyZW50Tm9kZUl0ZW0sXG4gICAgdW5kb0l0ZW0sXG4gICAgd3JhcEl0ZW0sXG59IGZyb20gJ3Byb3NlbWlycm9yLW1lbnUnO1xuaW1wb3J0IHtFZGl0b3JTdGF0ZSwgVHJhbnNhY3Rpb259IGZyb20gJ3Byb3NlbWlycm9yLXN0YXRlJztcbmltcG9ydCB7Q29tbWFuZCwgdG9nZ2xlTWFya30gZnJvbSAncHJvc2VtaXJyb3ItY29tbWFuZHMnO1xuaW1wb3J0IHt3cmFwSW5MaXN0fSBmcm9tICdwcm9zZW1pcnJvci1zY2hlbWEtbGlzdCc7XG5pbXBvcnQge01hcmtUeXBlLCBOb2RlVHlwZSwgU2NoZW1hfSBmcm9tICdwcm9zZW1pcnJvci1tb2RlbCc7XG5pbXBvcnQge01hdERpYWxvZ30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7TGlua0RpYWxvZ0NvbXBvbmVudCwgTGlua0RpYWxvZ0RhdGF9IGZyb20gJy4uL2xpbmstZGlhbG9nL2xpbmstZGlhbG9nLmNvbXBvbmVudCc7XG5pbXBvcnQge0VkaXRvclZpZXd9IGZyb20gJ3Byb3NlbWlycm9yLXZpZXcnO1xuaW1wb3J0IHtcbiAgICBhZGRDb2x1bW5BZnRlcixcbiAgICBhZGRDb2x1bW5CZWZvcmUsXG4gICAgYWRkUm93QWZ0ZXIsXG4gICAgYWRkUm93QmVmb3JlLFxuICAgIGRlbGV0ZUNvbHVtbixcbiAgICBkZWxldGVSb3csXG4gICAgZGVsZXRlVGFibGUsXG4gICAgbWVyZ2VDZWxscyxcbiAgICBzcGxpdENlbGwsXG4gICAgdG9nZ2xlSGVhZGVyQ2VsbCxcbiAgICB0b2dnbGVIZWFkZXJDb2x1bW4sXG4gICAgdG9nZ2xlSGVhZGVyUm93LFxufSBmcm9tICdwcm9zZW1pcnJvci10YWJsZXMnO1xuaW1wb3J0IHthZGRUYWJsZX0gZnJvbSAnLi90YWJsZSc7XG5pbXBvcnQge0l0ZW19IGZyb20gJy4vaXRlbSc7XG5pbXBvcnQge3BhcmFncmFwaFdpdGhBbGlnbm1lbnR9IGZyb20gJy4vcGFyYWdyYXBoLXdpdGgtYWxpZ25tZW50JztcbmltcG9ydCB7VGV4dEFsaWduSXRlbX0gZnJvbSAnLi90ZXh0LWFsaWduLWl0ZW0nO1xuXG4vKipcbiAqIENvbnZlcnQgYnVpbHQtaW4gYE1lbnVJdGVtYCBpbnRvIG91ciBBbmd1bGFyIHNwZWNpZmljIGBJdGVtYFxuICovXG5mdW5jdGlvbiB0b0l0ZW0oaXRlbTogTWVudUl0ZW0pOiBJdGVtIHtcbiAgICByZXR1cm4gbmV3IEl0ZW0oaXRlbS5zcGVjKTtcbn1cblxuZnVuY3Rpb24gY2FuSW5zZXJ0KHN0YXRlOiBFZGl0b3JTdGF0ZSwgbm9kZVR5cGU6IE5vZGVUeXBlKTogYm9vbGVhbiB7XG4gICAgY29uc3QgJGZyb20gPSBzdGF0ZS5zZWxlY3Rpb24uJGZyb207XG4gICAgZm9yIChsZXQgZCA9ICRmcm9tLmRlcHRoOyBkID49IDA7IGQtLSkge1xuICAgICAgICBjb25zdCBpbmRleCA9ICRmcm9tLmluZGV4KGQpO1xuICAgICAgICBpZiAoJGZyb20ubm9kZShkKS5jYW5SZXBsYWNlV2l0aChpbmRleCwgaW5kZXgsIG5vZGVUeXBlKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGNtZEl0ZW0oY21kOiBDb21tYW5kLCBvcHRpb25zOiBQYXJ0aWFsPE1lbnVJdGVtU3BlYz4gPSB7fSwgdXNlRW5hYmxlID0gZmFsc2UpOiBJdGVtIHtcbiAgICBjb25zdCBwYXNzZWRPcHRpb25zOiBNZW51SXRlbVNwZWMgPSB7XG4gICAgICAgIHJ1bjogY21kLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICBpZiAoKCFvcHRpb25zLmVuYWJsZSB8fCB1c2VFbmFibGUpICYmICFvcHRpb25zLnNlbGVjdCkge1xuICAgICAgICBwYXNzZWRPcHRpb25zW29wdGlvbnMuZW5hYmxlID8gJ2VuYWJsZScgOiAnc2VsZWN0J10gPSAoc3RhdGU6IEVkaXRvclN0YXRlKSA9PiBjbWQoc3RhdGUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSXRlbShwYXNzZWRPcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gbWFya0FjdGl2ZShzdGF0ZTogRWRpdG9yU3RhdGUsIHR5cGU6IE1hcmtUeXBlKTogYm9vbGVhbiB7XG4gICAgY29uc3Qge2Zyb20sICRmcm9tLCB0bywgZW1wdHl9ID0gc3RhdGUuc2VsZWN0aW9uO1xuICAgIGlmIChlbXB0eSkge1xuICAgICAgICByZXR1cm4gISF0eXBlLmlzSW5TZXQoc3RhdGUuc3RvcmVkTWFya3MgfHwgJGZyb20ubWFya3MoKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN0YXRlLmRvYy5yYW5nZUhhc01hcmsoZnJvbSwgdG8sIHR5cGUpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gbWFya0l0ZW0obWFya1R5cGU6IE1hcmtUeXBlLCBvcHRpb25zOiBQYXJ0aWFsPE1lbnVJdGVtU3BlYz4gPSB7fSk6IEl0ZW0ge1xuICAgIGNvbnN0IHBhc3NlZE9wdGlvbnM6IFBhcnRpYWw8TWVudUl0ZW1TcGVjPiA9IHtcbiAgICAgICAgYWN0aXZlKHN0YXRlOiBFZGl0b3JTdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIG1hcmtBY3RpdmUoc3RhdGUsIG1hcmtUeXBlKTtcbiAgICAgICAgfSxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNtZEl0ZW0odG9nZ2xlTWFyayhtYXJrVHlwZSksIHBhc3NlZE9wdGlvbnMsIHRydWUpO1xufVxuXG5mdW5jdGlvbiBsaW5rSXRlbShtYXJrVHlwZTogTWFya1R5cGUsIGRpYWxvZzogTWF0RGlhbG9nKTogSXRlbSB7XG4gICAgcmV0dXJuIG5ldyBJdGVtKHtcbiAgICAgICAgYWN0aXZlKHN0YXRlOiBFZGl0b3JTdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuIG1hcmtBY3RpdmUoc3RhdGUsIG1hcmtUeXBlKTtcbiAgICAgICAgfSxcbiAgICAgICAgZW5hYmxlKHN0YXRlOiBFZGl0b3JTdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgcmV0dXJuICFzdGF0ZS5zZWxlY3Rpb24uZW1wdHk7XG4gICAgICAgIH0sXG4gICAgICAgIHJ1bihzdGF0ZTogRWRpdG9yU3RhdGUsIGRpc3BhdGNoOiAocDogVHJhbnNhY3Rpb24pID0+IHZvaWQsIHZpZXc6IEVkaXRvclZpZXcpOiBib29sZWFuIHwgdm9pZCB7XG4gICAgICAgICAgICBpZiAobWFya0FjdGl2ZShzdGF0ZSwgbWFya1R5cGUpKSB7XG4gICAgICAgICAgICAgICAgdG9nZ2xlTWFyayhtYXJrVHlwZSkoc3RhdGUsIGRpc3BhdGNoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGlhbG9nXG4gICAgICAgICAgICAgICAgLm9wZW48TGlua0RpYWxvZ0NvbXBvbmVudCwgTGlua0RpYWxvZ0RhdGEsIExpbmtEaWFsb2dEYXRhPihMaW5rRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0LnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHJlc3VsdC50aXRsZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgdG9nZ2xlTWFyayhtYXJrVHlwZSwgcmVzdWx0KSh2aWV3LnN0YXRlLCB2aWV3LmRpc3BhdGNoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHZpZXcuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gd3JhcExpc3RJdGVtKG5vZGVUeXBlOiBOb2RlVHlwZSk6IEl0ZW0ge1xuICAgIHJldHVybiBjbWRJdGVtKHdyYXBJbkxpc3Qobm9kZVR5cGUpKTtcbn1cblxuZXhwb3J0IHR5cGUgS2V5ID1cbiAgICB8ICd0b2dnbGVTdHJvbmcnXG4gICAgfCAndG9nZ2xlRW0nXG4gICAgfCAndG9nZ2xlQ29kZSdcbiAgICB8ICd0b2dnbGVMaW5rJ1xuICAgIHwgJ3dyYXBCdWxsZXRMaXN0J1xuICAgIHwgJ3dyYXBPcmRlcmVkTGlzdCdcbiAgICB8ICd3cmFwQmxvY2tRdW90ZSdcbiAgICB8ICdtYWtlUGFyYWdyYXBoJ1xuICAgIHwgJ21ha2VDb2RlQmxvY2snXG4gICAgfCAnbWFrZUhlYWQxJ1xuICAgIHwgJ21ha2VIZWFkMidcbiAgICB8ICdtYWtlSGVhZDMnXG4gICAgfCAnbWFrZUhlYWQ0J1xuICAgIHwgJ21ha2VIZWFkNSdcbiAgICB8ICdtYWtlSGVhZDYnXG4gICAgfCAnYWxpZ25MZWZ0J1xuICAgIHwgJ2FsaWduUmlnaHQnXG4gICAgfCAnYWxpZ25DZW50ZXInXG4gICAgfCAnYWxpZ25KdXN0aWZ5J1xuICAgIHwgJ2luc2VydEhvcml6b250YWxSdWxlJ1xuICAgIHwgJ2pvaW5VcCdcbiAgICB8ICdsaWZ0J1xuICAgIHwgJ3NlbGVjdFBhcmVudE5vZGUnXG4gICAgfCAndW5kbydcbiAgICB8ICdyZWRvJ1xuICAgIHwgJ2luc2VydFRhYmxlJ1xuICAgIHwgJ2FkZENvbHVtbkJlZm9yZSdcbiAgICB8ICdhZGRDb2x1bW5BZnRlcidcbiAgICB8ICdkZWxldGVDb2x1bW4nXG4gICAgfCAnYWRkUm93QmVmb3JlJ1xuICAgIHwgJ2FkZFJvd0FmdGVyJ1xuICAgIHwgJ2RlbGV0ZVJvdydcbiAgICB8ICdkZWxldGVUYWJsZSdcbiAgICB8ICdtZXJnZUNlbGxzJ1xuICAgIHwgJ3NwbGl0Q2VsbCdcbiAgICB8ICd0b2dnbGVIZWFkZXJDb2x1bW4nXG4gICAgfCAndG9nZ2xlSGVhZGVyUm93J1xuICAgIHwgJ3RvZ2dsZUhlYWRlckNlbGwnO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbXMgPSBQYXJ0aWFsPFJlY29yZDxLZXksIEl0ZW0+PjtcblxuLyoqXG4gKiBHaXZlbiBhIHNjaGVtYSwgbG9vayBmb3IgZGVmYXVsdCBtYXJrIGFuZCBub2RlIHR5cGVzIGluIGl0IGFuZFxuICogcmV0dXJuIGFuIG9iamVjdCB3aXRoIHJlbGV2YW50IG1lbnUgaXRlbXMgcmVsYXRpbmcgdG8gdGhvc2UgbWFya3M6XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE1lbnVJdGVtcyhzY2hlbWE6IFNjaGVtYSwgZGlhbG9nOiBNYXREaWFsb2cpOiBNZW51SXRlbXMge1xuICAgIGNvbnN0IHI6IE1lbnVJdGVtcyA9IHtcbiAgICAgICAgam9pblVwOiB0b0l0ZW0oam9pblVwSXRlbSksXG4gICAgICAgIGxpZnQ6IHRvSXRlbShsaWZ0SXRlbSksXG4gICAgICAgIHNlbGVjdFBhcmVudE5vZGU6IHRvSXRlbShzZWxlY3RQYXJlbnROb2RlSXRlbSksXG4gICAgICAgIHVuZG86IHRvSXRlbSh1bmRvSXRlbSBhcyB1bmtub3duIGFzIE1lbnVJdGVtKSwgLy8gVHlwaW5nIGlzIGluY29ycmVjdCwgc28gd2UgZm9yY2UgaXRcbiAgICAgICAgcmVkbzogdG9JdGVtKHJlZG9JdGVtIGFzIHVua25vd24gYXMgTWVudUl0ZW0pLFxuICAgIH07XG5cbiAgICBsZXQgdHlwZTogTWFya1R5cGUgfCBOb2RlVHlwZSB8IHVuZGVmaW5lZDtcbiAgICB0eXBlID0gc2NoZW1hLm1hcmtzLnN0cm9uZztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLnRvZ2dsZVN0cm9uZyA9IG1hcmtJdGVtKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubWFya3MuZW07XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci50b2dnbGVFbSA9IG1hcmtJdGVtKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubWFya3MuY29kZTtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLnRvZ2dsZUNvZGUgPSBtYXJrSXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm1hcmtzLmxpbms7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci50b2dnbGVMaW5rID0gbGlua0l0ZW0odHlwZSwgZGlhbG9nKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmJ1bGxldF9saXN0O1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIud3JhcEJ1bGxldExpc3QgPSB3cmFwTGlzdEl0ZW0odHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5ub2Rlcy5vcmRlcmVkX2xpc3Q7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci53cmFwT3JkZXJlZExpc3QgPSB3cmFwTGlzdEl0ZW0odHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5ub2Rlcy5ibG9ja3F1b3RlO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIud3JhcEJsb2NrUXVvdGUgPSB0b0l0ZW0od3JhcEl0ZW0odHlwZSwge30pKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLnBhcmFncmFwaDtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLm1ha2VQYXJhZ3JhcGggPSB0b0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7fSkpO1xuXG4gICAgICAgIGlmICh0eXBlLnNwZWMgPT09IHBhcmFncmFwaFdpdGhBbGlnbm1lbnQpIHtcbiAgICAgICAgICAgIHIuYWxpZ25MZWZ0ID0gbmV3IFRleHRBbGlnbkl0ZW0oJ2xlZnQnKTtcbiAgICAgICAgICAgIHIuYWxpZ25SaWdodCA9IG5ldyBUZXh0QWxpZ25JdGVtKCdyaWdodCcpO1xuICAgICAgICAgICAgci5hbGlnbkNlbnRlciA9IG5ldyBUZXh0QWxpZ25JdGVtKCdjZW50ZXInKTtcbiAgICAgICAgICAgIHIuYWxpZ25KdXN0aWZ5ID0gbmV3IFRleHRBbGlnbkl0ZW0oJ2p1c3RpZnknKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuY29kZV9ibG9jaztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLm1ha2VDb2RlQmxvY2sgPSB0b0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7fSkpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaGVhZGluZztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLm1ha2VIZWFkMSA9IHRvSXRlbShibG9ja1R5cGVJdGVtKHR5cGUsIHthdHRyczoge2xldmVsOiAxfX0pKTtcbiAgICAgICAgci5tYWtlSGVhZDIgPSB0b0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7YXR0cnM6IHtsZXZlbDogMn19KSk7XG4gICAgICAgIHIubWFrZUhlYWQzID0gdG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDN9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNCA9IHRvSXRlbShibG9ja1R5cGVJdGVtKHR5cGUsIHthdHRyczoge2xldmVsOiA0fX0pKTtcbiAgICAgICAgci5tYWtlSGVhZDUgPSB0b0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7YXR0cnM6IHtsZXZlbDogNX19KSk7XG4gICAgICAgIHIubWFrZUhlYWQ2ID0gdG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDZ9fSkpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaG9yaXpvbnRhbF9ydWxlO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIGNvbnN0IGhyID0gdHlwZTtcbiAgICAgICAgci5pbnNlcnRIb3Jpem9udGFsUnVsZSA9IG5ldyBJdGVtKHtcbiAgICAgICAgICAgIGVuYWJsZShzdGF0ZSk6IGJvb2xlYW4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYW5JbnNlcnQoc3RhdGUsIGhyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBydW4oc3RhdGUsIGRpc3BhdGNoKTogdm9pZCB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goc3RhdGUudHIucmVwbGFjZVNlbGVjdGlvbldpdGgoaHIuY3JlYXRlKCkpKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMudGFibGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5pbnNlcnRUYWJsZSA9IG5ldyBJdGVtKHtydW46IChlLCB0cikgPT4gYWRkVGFibGUoZSwgdHIpfSk7XG4gICAgICAgIHIuYWRkQ29sdW1uQmVmb3JlID0gbmV3IEl0ZW0oe3J1bjogYWRkQ29sdW1uQmVmb3JlfSk7XG4gICAgICAgIHIuYWRkQ29sdW1uQWZ0ZXIgPSBuZXcgSXRlbSh7cnVuOiBhZGRDb2x1bW5BZnRlcn0pO1xuICAgICAgICByLmRlbGV0ZUNvbHVtbiA9IG5ldyBJdGVtKHtydW46IGRlbGV0ZUNvbHVtbn0pO1xuICAgICAgICByLmFkZFJvd0JlZm9yZSA9IG5ldyBJdGVtKHtydW46IGFkZFJvd0JlZm9yZX0pO1xuICAgICAgICByLmFkZFJvd0FmdGVyID0gbmV3IEl0ZW0oe3J1bjogYWRkUm93QWZ0ZXJ9KTtcbiAgICAgICAgci5kZWxldGVSb3cgPSBuZXcgSXRlbSh7cnVuOiBkZWxldGVSb3d9KTtcbiAgICAgICAgci5kZWxldGVUYWJsZSA9IG5ldyBJdGVtKHtydW46IGRlbGV0ZVRhYmxlfSk7XG4gICAgICAgIHIubWVyZ2VDZWxscyA9IG5ldyBJdGVtKHtydW46IG1lcmdlQ2VsbHN9KTtcbiAgICAgICAgci5zcGxpdENlbGwgPSBuZXcgSXRlbSh7cnVuOiBzcGxpdENlbGx9KTtcbiAgICAgICAgci50b2dnbGVIZWFkZXJDb2x1bW4gPSBuZXcgSXRlbSh7cnVuOiB0b2dnbGVIZWFkZXJDb2x1bW59KTtcbiAgICAgICAgci50b2dnbGVIZWFkZXJSb3cgPSBuZXcgSXRlbSh7cnVuOiB0b2dnbGVIZWFkZXJSb3d9KTtcbiAgICAgICAgci50b2dnbGVIZWFkZXJDZWxsID0gbmV3IEl0ZW0oe3J1bjogdG9nZ2xlSGVhZGVyQ2VsbH0pO1xuICAgIH1cblxuICAgIHJldHVybiByO1xufVxuIl19
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9saWIvdXRpbHMvbWVudS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLFVBQVUsRUFDVixRQUFRLEVBRVIsUUFBUSxFQUNSLG9CQUFvQixFQUNwQixRQUFRLEVBQ1IsUUFBUSxHQUNYLE1BQU0sa0JBQWtCLENBQUM7QUFHMUIsT0FBTyxFQUNILGNBQWMsRUFDZCxlQUFlLEVBQ2YsV0FBVyxFQUNYLFlBQVksRUFDWixZQUFZLEVBQ1osU0FBUyxFQUNULFdBQVcsRUFDWCxVQUFVLEVBQ1YsU0FBUyxFQUNULGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsZUFBZSxHQUNsQixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDN0MsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBK0NoRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWMsRUFBRSxNQUFpQjtJQUM1RCxNQUFNLENBQUMsR0FBYztRQUNq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ICAgbGlmdEl0ZW0sXG4gICAgTWVudUl0ZW0sXG4gICAgcmVkb0l0ZW0sXG4gICAgc2VsZWN0UGFyZW50Tm9kZUl0ZW0sXG4gICAgdW5kb0l0ZW0sXG4gICAgd3JhcEl0ZW0sXG59IGZyb20gJ3Byb3NlbWlycm9yLW1lbnUnO1xuaW1wb3J0IHtNYXJrVHlwZSwgTm9kZVR5cGUsIFNjaGVtYX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuaW1wb3J0IHtNYXREaWFsb2d9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQge1xuICAgIGFkZENvbHVtbkFmdGVyLFxuICAgIGFkZENvbHVtbkJlZm9yZSxcbiAgICBhZGRSb3dBZnRlcixcbiAgICBhZGRSb3dCZWZvcmUsXG4gICAgZGVsZXRlQ29sdW1uLFxuICAgIGRlbGV0ZVJvdyxcbiAgICBkZWxldGVUYWJsZSxcbiAgICBtZXJnZUNlbGxzLFxuICAgIHNwbGl0Q2VsbCxcbiAgICB0b2dnbGVIZWFkZXJDZWxsLFxuICAgIHRvZ2dsZUhlYWRlckNvbHVtbixcbiAgICB0b2dnbGVIZWFkZXJSb3csXG59IGZyb20gJ3Byb3NlbWlycm9yLXRhYmxlcyc7XG5pbXBvcnQge0l0ZW19IGZyb20gJy4vaXRlbXMvaXRlbSc7XG5pbXBvcnQge3BhcmFncmFwaFdpdGhBbGlnbm1lbnR9IGZyb20gJy4vc2NoZW1hL3BhcmFncmFwaC13aXRoLWFsaWdubWVudCc7XG5pbXBvcnQge1RleHRBbGlnbkl0ZW19IGZyb20gJy4vaXRlbXMvdGV4dC1hbGlnbi1pdGVtJztcbmltcG9ydCB7Q2VsbEJhY2tncm91bmRDb2xvckl0ZW19IGZyb20gJy4vaXRlbXMvY2VsbC1iYWNrZ3JvdW5kLWNvbG9yLWl0ZW0nO1xuaW1wb3J0IHtMaW5rSXRlbX0gZnJvbSAnLi9pdGVtcy9saW5rLWl0ZW0nO1xuaW1wb3J0IHtIb3Jpem9udGFsUnVsZUl0ZW19IGZyb20gJy4vaXRlbXMvaG9yaXpvbnRhbC1ydWxlLWl0ZW0nO1xuaW1wb3J0IHtjbWRUb0l0ZW0sIG1hcmtUeXBlVG9JdGVtLCBtZW51SXRlbVRvSXRlbX0gZnJvbSAnLi9pdGVtcy91dGlscyc7XG5pbXBvcnQge3dyYXBMaXN0SXRlbX0gZnJvbSAnLi9pdGVtcy93cmFwLWxpc3QtaXRlbSc7XG5pbXBvcnQge0NsYXNzSXRlbX0gZnJvbSAnLi9pdGVtcy9jbGFzcy1pdGVtJztcbmltcG9ydCB7QWRkVGFibGVJdGVtfSBmcm9tICcuL2l0ZW1zL3RhYmxlLWl0ZW0nO1xuXG5leHBvcnQgdHlwZSBLZXkgPVxuICAgIHwgJ3RvZ2dsZVN0cm9uZydcbiAgICB8ICd0b2dnbGVFbSdcbiAgICB8ICd0b2dnbGVDb2RlJ1xuICAgIHwgJ3RvZ2dsZUxpbmsnXG4gICAgfCAnd3JhcEJ1bGxldExpc3QnXG4gICAgfCAnd3JhcE9yZGVyZWRMaXN0J1xuICAgIHwgJ3dyYXBCbG9ja1F1b3RlJ1xuICAgIHwgJ21ha2VQYXJhZ3JhcGgnXG4gICAgfCAnbWFrZUNvZGVCbG9jaydcbiAgICB8ICdtYWtlSGVhZDEnXG4gICAgfCAnbWFrZUhlYWQyJ1xuICAgIHwgJ21ha2VIZWFkMydcbiAgICB8ICdtYWtlSGVhZDQnXG4gICAgfCAnbWFrZUhlYWQ1J1xuICAgIHwgJ21ha2VIZWFkNidcbiAgICB8ICdhbGlnbkxlZnQnXG4gICAgfCAnYWxpZ25SaWdodCdcbiAgICB8ICdhbGlnbkNlbnRlcidcbiAgICB8ICdhbGlnbkp1c3RpZnknXG4gICAgfCAnaW5zZXJ0SG9yaXpvbnRhbFJ1bGUnXG4gICAgfCAnam9pblVwJ1xuICAgIHwgJ2xpZnQnXG4gICAgfCAnc2VsZWN0UGFyZW50Tm9kZSdcbiAgICB8ICd1bmRvJ1xuICAgIHwgJ3JlZG8nXG4gICAgfCAnaW5zZXJ0VGFibGUnXG4gICAgfCAnYWRkQ29sdW1uQmVmb3JlJ1xuICAgIHwgJ2FkZENvbHVtbkFmdGVyJ1xuICAgIHwgJ2RlbGV0ZUNvbHVtbidcbiAgICB8ICdhZGRSb3dCZWZvcmUnXG4gICAgfCAnYWRkUm93QWZ0ZXInXG4gICAgfCAnZGVsZXRlUm93J1xuICAgIHwgJ2RlbGV0ZVRhYmxlJ1xuICAgIHwgJ21lcmdlQ2VsbHMnXG4gICAgfCAnc3BsaXRDZWxsJ1xuICAgIHwgJ3RvZ2dsZUhlYWRlckNvbHVtbidcbiAgICB8ICd0b2dnbGVIZWFkZXJSb3cnXG4gICAgfCAndG9nZ2xlSGVhZGVyQ2VsbCdcbiAgICB8ICdjZWxsQmFja2dyb3VuZENvbG9yJ1xuICAgIHwgJ3RhYmxlQ2xhc3MnXG4gICAgfCAncGFyYWdyYXBoQ2xhc3MnO1xuXG5leHBvcnQgdHlwZSBNZW51SXRlbXMgPSBQYXJ0aWFsPFJlY29yZDxLZXksIEl0ZW0+PjtcblxuLyoqXG4gKiBHaXZlbiBhIHNjaGVtYSwgbG9vayBmb3IgZGVmYXVsdCBtYXJrIGFuZCBub2RlIHR5cGVzIGluIGl0IGFuZFxuICogcmV0dXJuIGFuIG9iamVjdCB3aXRoIHJlbGV2YW50IG1lbnUgaXRlbXMgcmVsYXRpbmcgdG8gdGhvc2UgbWFya3M6XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZE1lbnVJdGVtcyhzY2hlbWE6IFNjaGVtYSwgZGlhbG9nOiBNYXREaWFsb2cpOiBNZW51SXRlbXMge1xuICAgIGNvbnN0IHI6IE1lbnVJdGVtcyA9IHtcbiAgICAgICAgam9pblVwOiBtZW51SXRlbVRvSXRlbShqb2luVXBJdGVtKSxcbiAgICAgICAgbGlmdDogbWVudUl0ZW1Ub0l0ZW0obGlmdEl0ZW0pLFxuICAgICAgICBzZWxlY3RQYXJlbnROb2RlOiBtZW51SXRlbVRvSXRlbShzZWxlY3RQYXJlbnROb2RlSXRlbSksXG4gICAgICAgIHVuZG86IG1lbnVJdGVtVG9JdGVtKHVuZG9JdGVtIGFzIHVua25vd24gYXMgTWVudUl0ZW0pLCAvLyBUeXBpbmcgaXMgaW5jb3JyZWN0LCBzbyB3ZSBmb3JjZSBpdFxuICAgICAgICByZWRvOiBtZW51SXRlbVRvSXRlbShyZWRvSXRlbSBhcyB1bmtub3duIGFzIE1lbnVJdGVtKSxcbiAgICB9O1xuXG4gICAgbGV0IHR5cGU6IE1hcmtUeXBlIHwgTm9kZVR5cGUgfCB1bmRlZmluZWQ7XG4gICAgdHlwZSA9IHNjaGVtYS5tYXJrcy5zdHJvbmc7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci50b2dnbGVTdHJvbmcgPSBtYXJrVHlwZVRvSXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm1hcmtzLmVtO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIudG9nZ2xlRW0gPSBtYXJrVHlwZVRvSXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm1hcmtzLmNvZGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci50b2dnbGVDb2RlID0gbWFya1R5cGVUb0l0ZW0odHlwZSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5tYXJrcy5saW5rO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIudG9nZ2xlTGluayA9IG5ldyBMaW5rSXRlbSh0eXBlLCBkaWFsb2cpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuYnVsbGV0X2xpc3Q7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci53cmFwQnVsbGV0TGlzdCA9IHdyYXBMaXN0SXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLm9yZGVyZWRfbGlzdDtcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLndyYXBPcmRlcmVkTGlzdCA9IHdyYXBMaXN0SXRlbSh0eXBlKTtcbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmJsb2NrcXVvdGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci53cmFwQmxvY2tRdW90ZSA9IG1lbnVJdGVtVG9JdGVtKHdyYXBJdGVtKHR5cGUsIHt9KSk7XG4gICAgfVxuXG4gICAgdHlwZSA9IHNjaGVtYS5ub2Rlcy5wYXJhZ3JhcGg7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5tYWtlUGFyYWdyYXBoID0gbWVudUl0ZW1Ub0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7fSkpO1xuXG4gICAgICAgIGlmICh0eXBlLnNwZWMgPT09IHBhcmFncmFwaFdpdGhBbGlnbm1lbnQpIHtcbiAgICAgICAgICAgIHIuYWxpZ25MZWZ0ID0gbmV3IFRleHRBbGlnbkl0ZW0oJ2xlZnQnKTtcbiAgICAgICAgICAgIHIuYWxpZ25SaWdodCA9IG5ldyBUZXh0QWxpZ25JdGVtKCdyaWdodCcpO1xuICAgICAgICAgICAgci5hbGlnbkNlbnRlciA9IG5ldyBUZXh0QWxpZ25JdGVtKCdjZW50ZXInKTtcbiAgICAgICAgICAgIHIuYWxpZ25KdXN0aWZ5ID0gbmV3IFRleHRBbGlnbkl0ZW0oJ2p1c3RpZnknKTtcbiAgICAgICAgICAgIHIucGFyYWdyYXBoQ2xhc3MgPSBuZXcgQ2xhc3NJdGVtKGRpYWxvZywgdHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0eXBlID0gc2NoZW1hLm5vZGVzLmNvZGVfYmxvY2s7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5tYWtlQ29kZUJsb2NrID0gbWVudUl0ZW1Ub0l0ZW0oYmxvY2tUeXBlSXRlbSh0eXBlLCB7fSkpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaGVhZGluZztcbiAgICBpZiAodHlwZSkge1xuICAgICAgICByLm1ha2VIZWFkMSA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDF9fSkpO1xuICAgICAgICByLm1ha2VIZWFkMiA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDJ9fSkpO1xuICAgICAgICByLm1ha2VIZWFkMyA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDN9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNCA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDR9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNSA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDV9fSkpO1xuICAgICAgICByLm1ha2VIZWFkNiA9IG1lbnVJdGVtVG9JdGVtKGJsb2NrVHlwZUl0ZW0odHlwZSwge2F0dHJzOiB7bGV2ZWw6IDZ9fSkpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMuaG9yaXpvbnRhbF9ydWxlO1xuICAgIGlmICh0eXBlKSB7XG4gICAgICAgIHIuaW5zZXJ0SG9yaXpvbnRhbFJ1bGUgPSBuZXcgSG9yaXpvbnRhbFJ1bGVJdGVtKHR5cGUpO1xuICAgIH1cblxuICAgIHR5cGUgPSBzY2hlbWEubm9kZXMudGFibGU7XG4gICAgaWYgKHR5cGUpIHtcbiAgICAgICAgci5pbnNlcnRUYWJsZSA9IG5ldyBBZGRUYWJsZUl0ZW0oKTtcbiAgICAgICAgci5hZGRDb2x1bW5CZWZvcmUgPSBjbWRUb0l0ZW0oYWRkQ29sdW1uQmVmb3JlKTtcbiAgICAgICAgci5hZGRDb2x1bW5BZnRlciA9IGNtZFRvSXRlbShhZGRDb2x1bW5BZnRlcik7XG4gICAgICAgIHIuZGVsZXRlQ29sdW1uID0gY21kVG9JdGVtKGRlbGV0ZUNvbHVtbik7XG4gICAgICAgIHIuYWRkUm93QmVmb3JlID0gY21kVG9JdGVtKGFkZFJvd0JlZm9yZSk7XG4gICAgICAgIHIuYWRkUm93QWZ0ZXIgPSBjbWRUb0l0ZW0oYWRkUm93QWZ0ZXIpO1xuICAgICAgICByLmRlbGV0ZVJvdyA9IGNtZFRvSXRlbShkZWxldGVSb3cpO1xuICAgICAgICByLmRlbGV0ZVRhYmxlID0gY21kVG9JdGVtKGRlbGV0ZVRhYmxlKTtcbiAgICAgICAgci5tZXJnZUNlbGxzID0gY21kVG9JdGVtKG1lcmdlQ2VsbHMpO1xuICAgICAgICByLnNwbGl0Q2VsbCA9IGNtZFRvSXRlbShzcGxpdENlbGwpO1xuICAgICAgICByLnRvZ2dsZUhlYWRlckNvbHVtbiA9IGNtZFRvSXRlbSh0b2dnbGVIZWFkZXJDb2x1bW4pO1xuICAgICAgICByLnRvZ2dsZUhlYWRlclJvdyA9IGNtZFRvSXRlbSh0b2dnbGVIZWFkZXJSb3cpO1xuICAgICAgICByLnRvZ2dsZUhlYWRlckNlbGwgPSBjbWRUb0l0ZW0odG9nZ2xlSGVhZGVyQ2VsbCk7XG4gICAgICAgIHIuY2VsbEJhY2tncm91bmRDb2xvciA9IG5ldyBDZWxsQmFja2dyb3VuZENvbG9ySXRlbShkaWFsb2cpO1xuICAgICAgICByLnRhYmxlQ2xhc3MgPSBuZXcgQ2xhc3NJdGVtKGRpYWxvZywgdHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHI7XG59XG4iXX0=
@@ -0,0 +1,50 @@
1
+ const ALIGN_PATTERN = /(left|right|center|justify)/;
2
+ /**
3
+ * A plain paragraph textblock. Represented in the DOM
4
+ * as a `<p>` element.
5
+ *
6
+ * https://github.com/ProseMirror/prosemirror-schema-basic/blob/master/src/schema-basic.js
7
+ */
8
+ export const paragraphWithAlignment = {
9
+ attrs: {
10
+ align: { default: null },
11
+ class: { default: null },
12
+ id: { default: null },
13
+ },
14
+ content: 'inline*',
15
+ group: 'block',
16
+ parseDOM: [
17
+ {
18
+ tag: 'p',
19
+ getAttrs: (dom) => {
20
+ if (!(dom instanceof HTMLElement)) {
21
+ return;
22
+ }
23
+ const { textAlign } = dom.style;
24
+ let align = dom.getAttribute('align') || textAlign || '';
25
+ align = ALIGN_PATTERN.test(align) ? align : null;
26
+ const id = dom.getAttribute('id') || '';
27
+ return { align, class: dom.className, id };
28
+ },
29
+ },
30
+ ],
31
+ toDOM: node => {
32
+ const { align, id } = node.attrs;
33
+ const attrs = {};
34
+ let style = '';
35
+ if (align && align !== 'left') {
36
+ style += `text-align: ${align};`;
37
+ }
38
+ if (style) {
39
+ attrs.style = style;
40
+ }
41
+ if (id) {
42
+ attrs.id = id;
43
+ }
44
+ if (node.attrs.class) {
45
+ attrs.class = node.attrs.class;
46
+ }
47
+ return ['p', attrs, 0];
48
+ },
49
+ };
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWdyYXBoLXdpdGgtYWxpZ25tZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC1lZGl0b3Ivc3JjL2xpYi91dGlscy9zY2hlbWEvcGFyYWdyYXBoLXdpdGgtYWxpZ25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sYUFBYSxHQUFHLDZCQUE2QixDQUFDO0FBT3BEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQWE7SUFDNUMsS0FBSyxFQUFFO1FBQ0gsS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBQztRQUN0QixLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDO1FBQ3RCLEVBQUUsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUM7S0FDdEI7SUFDRCxPQUFPLEVBQUUsU0FBUztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLFFBQVEsRUFBRTtRQUNOO1lBQ0ksR0FBRyxFQUFFLEdBQUc7WUFDUixRQUFRLEVBQUUsQ0FBQyxHQUFrQixFQUEwQixFQUFFO2dCQUNyRCxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksV0FBVyxDQUFDLEVBQUU7b0JBQy9CLE9BQU87aUJBQ1Y7Z0JBRUQsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7Z0JBRTlCLElBQUksS0FBSyxHQUFrQixHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLFNBQVMsSUFBSSxFQUFFLENBQUM7Z0JBQ3hFLEtBQUssR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFFakQsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBRXhDLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFDLENBQUM7WUFDN0MsQ0FBQztTQUNKO0tBQ0o7SUFDRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7UUFDVixNQUFNLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUUxQyxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQzNCLEtBQUssSUFBSSxlQUFlLEtBQUssR0FBRyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxLQUFLLEVBQUU7WUFDUCxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztTQUN2QjtRQUVELElBQUksRUFBRSxFQUFFO1lBQ0osS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDakI7UUFFRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2xCLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDbEM7UUFFRCxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQixDQUFDO0NBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Tm9kZVNwZWN9IGZyb20gJ3Byb3NlbWlycm9yLW1vZGVsJztcblxuY29uc3QgQUxJR05fUEFUVEVSTiA9IC8obGVmdHxyaWdodHxjZW50ZXJ8anVzdGlmeSkvO1xudHlwZSBBdHRyaWJ1dGVzID0ge1xuICAgIGFsaWduOiBudWxsIHwgc3RyaW5nO1xuICAgIGNsYXNzOiBzdHJpbmc7XG4gICAgaWQ6IHN0cmluZztcbn07XG5cbi8qKlxuICogQSBwbGFpbiBwYXJhZ3JhcGggdGV4dGJsb2NrLiBSZXByZXNlbnRlZCBpbiB0aGUgRE9NXG4gKiBhcyBhIGA8cD5gIGVsZW1lbnQuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL1Byb3NlTWlycm9yL3Byb3NlbWlycm9yLXNjaGVtYS1iYXNpYy9ibG9iL21hc3Rlci9zcmMvc2NoZW1hLWJhc2ljLmpzXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJhZ3JhcGhXaXRoQWxpZ25tZW50OiBOb2RlU3BlYyA9IHtcbiAgICBhdHRyczoge1xuICAgICAgICBhbGlnbjoge2RlZmF1bHQ6IG51bGx9LFxuICAgICAgICBjbGFzczoge2RlZmF1bHQ6IG51bGx9LFxuICAgICAgICBpZDoge2RlZmF1bHQ6IG51bGx9LFxuICAgIH0sXG4gICAgY29udGVudDogJ2lubGluZSonLFxuICAgIGdyb3VwOiAnYmxvY2snLFxuICAgIHBhcnNlRE9NOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHRhZzogJ3AnLFxuICAgICAgICAgICAgZ2V0QXR0cnM6IChkb206IE5vZGUgfCBzdHJpbmcpOiB1bmRlZmluZWQgfCBBdHRyaWJ1dGVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIShkb20gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IHt0ZXh0QWxpZ259ID0gZG9tLnN0eWxlO1xuXG4gICAgICAgICAgICAgICAgbGV0IGFsaWduOiBzdHJpbmcgfCBudWxsID0gZG9tLmdldEF0dHJpYnV0ZSgnYWxpZ24nKSB8fCB0ZXh0QWxpZ24gfHwgJyc7XG4gICAgICAgICAgICAgICAgYWxpZ24gPSBBTElHTl9QQVRURVJOLnRlc3QoYWxpZ24pID8gYWxpZ24gOiBudWxsO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgaWQgPSBkb20uZ2V0QXR0cmlidXRlKCdpZCcpIHx8ICcnO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHthbGlnbiwgY2xhc3M6IGRvbS5jbGFzc05hbWUsIGlkfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICB0b0RPTTogbm9kZSA9PiB7XG4gICAgICAgIGNvbnN0IHthbGlnbiwgaWR9ID0gbm9kZS5hdHRycztcbiAgICAgICAgY29uc3QgYXR0cnM6IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9ID0ge307XG5cbiAgICAgICAgbGV0IHN0eWxlID0gJyc7XG4gICAgICAgIGlmIChhbGlnbiAmJiBhbGlnbiAhPT0gJ2xlZnQnKSB7XG4gICAgICAgICAgICBzdHlsZSArPSBgdGV4dC1hbGlnbjogJHthbGlnbn07YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdHlsZSkge1xuICAgICAgICAgICAgYXR0cnMuc3R5bGUgPSBzdHlsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgYXR0cnMuaWQgPSBpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChub2RlLmF0dHJzLmNsYXNzKSB7XG4gICAgICAgICAgICBhdHRycy5jbGFzcyA9IG5vZGUuYXR0cnMuY2xhc3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gWydwJywgYXR0cnMsIDBdO1xuICAgIH0sXG59O1xuIl19
@@ -0,0 +1,51 @@
1
+ import { marks, nodes } from 'prosemirror-schema-basic';
2
+ import { addListNodes } from 'prosemirror-schema-list';
3
+ import { Schema } from 'prosemirror-model';
4
+ import { paragraphWithAlignment } from './paragraph-with-alignment';
5
+ import { tableNodes } from './table';
6
+ const basicNodes = {
7
+ heading: nodes.heading,
8
+ doc: nodes.doc,
9
+ paragraph: nodes.paragraph,
10
+ text: nodes.text,
11
+ hard_break: nodes.hard_break,
12
+ };
13
+ const basicMarks = {
14
+ link: marks.link,
15
+ em: marks.em,
16
+ strong: marks.strong,
17
+ };
18
+ const tmpSchema = new Schema({ nodes: basicNodes, marks: basicMarks });
19
+ export const basicSchema = new Schema({
20
+ nodes: addListNodes(tmpSchema.spec.nodes, 'paragraph block*', 'block'),
21
+ marks: tmpSchema.spec.marks,
22
+ });
23
+ const tmpSchema2 = new Schema({
24
+ nodes: {
25
+ ...nodes,
26
+ ...tableNodes({
27
+ tableGroup: 'block',
28
+ cellContent: 'block+',
29
+ cellAttributes: {
30
+ background: {
31
+ default: null,
32
+ getFromDOM(dom) {
33
+ return dom.style.backgroundColor || null;
34
+ },
35
+ setDOMAttr(value, attrs) {
36
+ if (value) {
37
+ attrs.style = (attrs.style || '') + `background-color: ${value};`;
38
+ }
39
+ },
40
+ },
41
+ },
42
+ }),
43
+ paragraph: paragraphWithAlignment,
44
+ },
45
+ marks: basicMarks,
46
+ });
47
+ export const advancedSchema = new Schema({
48
+ nodes: addListNodes(tmpSchema2.spec.nodes, 'paragraph block*', 'block'),
49
+ marks: basicMarks,
50
+ });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC1lZGl0b3Ivc3JjL2xpYi91dGlscy9zY2hlbWEvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sU0FBUyxDQUFDO0FBSW5DLE1BQU0sVUFBVSxHQUFlO0lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztJQUN0QixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7SUFDZCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7SUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtDQUMvQixDQUFDO0FBR0YsTUFBTSxVQUFVLEdBQWU7SUFDM0IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO0lBQ2hCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtJQUNaLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtDQUN2QixDQUFDO0FBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUMsQ0FBQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNsQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUN0RSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLO0NBQzlCLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSxHQUFHLElBQUksTUFBTSxDQUFDO0lBQzFCLEtBQUssRUFBRTtRQUNILEdBQUcsS0FBSztRQUNSLEdBQUcsVUFBVSxDQUFDO1lBQ1YsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUFFLFFBQVE7WUFDckIsY0FBYyxFQUFFO2dCQUNaLFVBQVUsRUFBRTtvQkFDUixPQUFPLEVBQUUsSUFBSTtvQkFDYixVQUFVLENBQUMsR0FBWTt3QkFDbkIsT0FBUSxHQUFtQixDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDO29CQUM5RCxDQUFDO29CQUNELFVBQVUsQ0FBQyxLQUFVLEVBQUUsS0FBVTt3QkFDN0IsSUFBSSxLQUFLLEVBQUU7NEJBQ1AsS0FBSyxDQUFDLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUcscUJBQXFCLEtBQUssR0FBRyxDQUFDO3lCQUNyRTtvQkFDTCxDQUFDO2lCQUNKO2FBQ0o7U0FDSixDQUFDO1FBQ0YsU0FBUyxFQUFFLHNCQUFzQjtLQUNwQztJQUNELEtBQUssRUFBRSxVQUFVO0NBQ3BCLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQztJQUNyQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sQ0FBQztJQUN2RSxLQUFLLEVBQUUsVUFBVTtDQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge21hcmtzLCBub2Rlc30gZnJvbSAncHJvc2VtaXJyb3Itc2NoZW1hLWJhc2ljJztcbmltcG9ydCB7YWRkTGlzdE5vZGVzfSBmcm9tICdwcm9zZW1pcnJvci1zY2hlbWEtbGlzdCc7XG5pbXBvcnQge1NjaGVtYX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuaW1wb3J0IHtwYXJhZ3JhcGhXaXRoQWxpZ25tZW50fSBmcm9tICcuL3BhcmFncmFwaC13aXRoLWFsaWdubWVudCc7XG5pbXBvcnQge3RhYmxlTm9kZXN9IGZyb20gJy4vdGFibGUnO1xuXG4vLyBLZWVwIG9ubHkgYmFzaWMgZWxlbWVudHNcbnR5cGUgQmFzaWNOb2RlcyA9IE9taXQ8dHlwZW9mIG5vZGVzLCAnaW1hZ2UnIHwgJ2NvZGVfYmxvY2snIHwgJ2Jsb2NrcXVvdGUnIHwgJ2hvcml6b250YWxfcnVsZSc+O1xuY29uc3QgYmFzaWNOb2RlczogQmFzaWNOb2RlcyA9IHtcbiAgICBoZWFkaW5nOiBub2Rlcy5oZWFkaW5nLFxuICAgIGRvYzogbm9kZXMuZG9jLFxuICAgIHBhcmFncmFwaDogbm9kZXMucGFyYWdyYXBoLFxuICAgIHRleHQ6IG5vZGVzLnRleHQsXG4gICAgaGFyZF9icmVhazogbm9kZXMuaGFyZF9icmVhayxcbn07XG5cbnR5cGUgQmFzaWNNYXJrcyA9IE9taXQ8dHlwZW9mIG1hcmtzLCAnY29kZSc+O1xuY29uc3QgYmFzaWNNYXJrczogQmFzaWNNYXJrcyA9IHtcbiAgICBsaW5rOiBtYXJrcy5saW5rLFxuICAgIGVtOiBtYXJrcy5lbSxcbiAgICBzdHJvbmc6IG1hcmtzLnN0cm9uZyxcbn07XG5cbmNvbnN0IHRtcFNjaGVtYSA9IG5ldyBTY2hlbWEoe25vZGVzOiBiYXNpY05vZGVzLCBtYXJrczogYmFzaWNNYXJrc30pO1xuXG5leHBvcnQgY29uc3QgYmFzaWNTY2hlbWEgPSBuZXcgU2NoZW1hKHtcbiAgICBub2RlczogYWRkTGlzdE5vZGVzKHRtcFNjaGVtYS5zcGVjLm5vZGVzLCAncGFyYWdyYXBoIGJsb2NrKicsICdibG9jaycpLFxuICAgIG1hcmtzOiB0bXBTY2hlbWEuc3BlYy5tYXJrcyxcbn0pO1xuXG5jb25zdCB0bXBTY2hlbWEyID0gbmV3IFNjaGVtYSh7XG4gICAgbm9kZXM6IHtcbiAgICAgICAgLi4ubm9kZXMsXG4gICAgICAgIC4uLnRhYmxlTm9kZXMoe1xuICAgICAgICAgICAgdGFibGVHcm91cDogJ2Jsb2NrJyxcbiAgICAgICAgICAgIGNlbGxDb250ZW50OiAnYmxvY2srJyxcbiAgICAgICAgICAgIGNlbGxBdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBnZXRGcm9tRE9NKGRvbTogRWxlbWVudCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChkb20gYXMgSFRNTEVsZW1lbnQpLnN0eWxlLmJhY2tncm91bmRDb2xvciB8fCBudWxsO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBzZXRET01BdHRyKHZhbHVlOiBhbnksIGF0dHJzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJzLnN0eWxlID0gKGF0dHJzLnN0eWxlIHx8ICcnKSArIGBiYWNrZ3JvdW5kLWNvbG9yOiAke3ZhbHVlfTtgO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICAgcGFyYWdyYXBoOiBwYXJhZ3JhcGhXaXRoQWxpZ25tZW50LFxuICAgIH0sXG4gICAgbWFya3M6IGJhc2ljTWFya3MsXG59KTtcblxuZXhwb3J0IGNvbnN0IGFkdmFuY2VkU2NoZW1hID0gbmV3IFNjaGVtYSh7XG4gICAgbm9kZXM6IGFkZExpc3ROb2Rlcyh0bXBTY2hlbWEyLnNwZWMubm9kZXMsICdwYXJhZ3JhcGggYmxvY2sqJywgJ2Jsb2NrJyksXG4gICAgbWFya3M6IGJhc2ljTWFya3MsXG59KTtcbiJdfQ==
@@ -0,0 +1,113 @@
1
+ function getCellAttrs(dom, extraAttrs) {
2
+ if (!(dom instanceof HTMLElement)) {
3
+ return;
4
+ }
5
+ const widthAttr = dom.getAttribute('data-colwidth');
6
+ const widths = widthAttr && /^\d+(,\d+)*$/.test(widthAttr) ? widthAttr.split(',').map(s => Number(s)) : null;
7
+ const colspan = Number(dom.getAttribute('colspan') || 1);
8
+ const result = {
9
+ colspan,
10
+ rowspan: Number(dom.getAttribute('rowspan') || 1),
11
+ colwidth: widths && widths.length == colspan ? widths : null,
12
+ };
13
+ for (const prop in extraAttrs) {
14
+ const getter = extraAttrs[prop].getFromDOM;
15
+ const value = getter && getter(dom);
16
+ if (value != null)
17
+ result[prop] = value;
18
+ }
19
+ return result;
20
+ }
21
+ function setCellAttrs(node, extraAttrs) {
22
+ const attrs = {};
23
+ if (node.attrs.colspan != 1)
24
+ attrs.colspan = node.attrs.colspan;
25
+ if (node.attrs.rowspan != 1)
26
+ attrs.rowspan = node.attrs.rowspan;
27
+ if (node.attrs.colwidth)
28
+ attrs['data-colwidth'] = node.attrs.colwidth.join(',');
29
+ for (const prop in extraAttrs) {
30
+ const setter = extraAttrs[prop].setDOMAttr;
31
+ if (setter)
32
+ setter(node.attrs[prop], attrs);
33
+ }
34
+ return attrs;
35
+ }
36
+ /**
37
+ * This function creates a set of [node
38
+ * specs](http://prosemirror.net/docs/ref/#model.SchemaSpec.nodes) for
39
+ * `table`, `table_row`, and `table_cell` nodes types.
40
+ *
41
+ * It is very directly inspired by prosemirror-table
42
+ */
43
+ export function tableNodes(options) {
44
+ const extraAttrs = options.cellAttributes || {};
45
+ const cellAttrs = {
46
+ colspan: { default: 1 },
47
+ rowspan: { default: 1 },
48
+ colwidth: { default: null },
49
+ };
50
+ for (const prop in extraAttrs) {
51
+ cellAttrs[prop] = {
52
+ default: extraAttrs[prop].default,
53
+ };
54
+ }
55
+ return {
56
+ table: {
57
+ attrs: {
58
+ class: { default: null },
59
+ },
60
+ content: 'table_row+',
61
+ tableRole: 'table',
62
+ isolating: true,
63
+ group: options.tableGroup,
64
+ parseDOM: [
65
+ {
66
+ tag: 'table',
67
+ getAttrs: (dom) => {
68
+ if (!(dom instanceof HTMLElement)) {
69
+ return;
70
+ }
71
+ return { class: dom.className };
72
+ },
73
+ },
74
+ ],
75
+ toDOM: node => {
76
+ const attrs = {};
77
+ if (node.attrs.class) {
78
+ attrs.class = node.attrs.class;
79
+ }
80
+ return ['table', attrs, ['tbody', 0]];
81
+ },
82
+ },
83
+ table_row: {
84
+ content: '(table_cell | table_header)*',
85
+ tableRole: 'row',
86
+ parseDOM: [{ tag: 'tr' }],
87
+ toDOM: () => {
88
+ return ['tr', 0];
89
+ },
90
+ },
91
+ table_cell: {
92
+ content: options.cellContent,
93
+ attrs: cellAttrs,
94
+ tableRole: 'cell',
95
+ isolating: true,
96
+ parseDOM: [{ tag: 'td', getAttrs: dom => getCellAttrs(dom, extraAttrs) }],
97
+ toDOM: node => {
98
+ return ['td', setCellAttrs(node, extraAttrs), 0];
99
+ },
100
+ },
101
+ table_header: {
102
+ content: options.cellContent,
103
+ attrs: cellAttrs,
104
+ tableRole: 'header_cell',
105
+ isolating: true,
106
+ parseDOM: [{ tag: 'th', getAttrs: dom => getCellAttrs(dom, extraAttrs) }],
107
+ toDOM: node => {
108
+ return ['th', setCellAttrs(node, extraAttrs), 0];
109
+ },
110
+ },
111
+ };
112
+ }
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsLWVkaXRvci9zcmMvbGliL3V0aWxzL3NjaGVtYS90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxTQUFTLFlBQVksQ0FBQyxHQUFrQixFQUFFLFVBQTBCO0lBQ2hFLElBQUksQ0FBQyxDQUFDLEdBQUcsWUFBWSxXQUFXLENBQUMsRUFBRTtRQUMvQixPQUFPO0tBQ1Y7SUFFRCxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3BELE1BQU0sTUFBTSxHQUFHLFNBQVMsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0csTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDekQsTUFBTSxNQUFNLEdBQWU7UUFDdkIsT0FBTztRQUNQLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakQsUUFBUSxFQUFFLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJO0tBQy9ELENBQUM7SUFFRixLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsRUFBRTtRQUMzQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDO1FBQzNDLE1BQU0sS0FBSyxHQUFHLE1B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cnQge1RhYmxlTm9kZXMsIFRhYmxlTm9kZXNPcHRpb25zfSBmcm9tICdwcm9zZW1pcnJvci10YWJsZXMnO1xuaW1wb3J0IHtOb2RlIGFzIFByb3NlbWlycm9yTm9kZX0gZnJvbSAncHJvc2VtaXJyb3ItbW9kZWwnO1xuXG50eXBlIENlbGxBdHRyaWJ1dGVzID0gVGFibGVOb2Rlc09wdGlvbnNbJ2NlbGxBdHRyaWJ1dGVzJ107XG50eXBlIEF0dHJpYnV0ZXMgPSB7W2tleTogc3RyaW5nXTogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IG51bWJlcltdfTtcblxuZnVuY3Rpb24gZ2V0Q2VsbEF0dHJzKGRvbTogTm9kZSB8IHN0cmluZywgZXh0cmFBdHRyczogQ2VsbEF0dHJpYnV0ZXMpOiB1bmRlZmluZWQgfCBBdHRyaWJ1dGVzIHtcbiAgICBpZiAoIShkb20gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHdpZHRoQXR0ciA9IGRvbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY29sd2lkdGgnKTtcbiAgICBjb25zdCB3aWR0aHMgPSB3aWR0aEF0dHIgJiYgL15cXGQrKCxcXGQrKSokLy50ZXN0KHdpZHRoQXR0cikgPyB3aWR0aEF0dHIuc3BsaXQoJywnKS5tYXAocyA9PiBOdW1iZXIocykpIDogbnVsbDtcbiAgICBjb25zdCBjb2xzcGFuID0gTnVtYmVyKGRvbS5nZXRBdHRyaWJ1dGUoJ2NvbHNwYW4nKSB8fCAxKTtcbiAgICBjb25zdCByZXN1bHQ6IEF0dHJpYnV0ZXMgPSB7XG4gICAgICAgIGNvbHNwYW4sXG4gICAgICAgIHJvd3NwYW46IE51bWJlcihkb20uZ2V0QXR0cmlidXRlKCdyb3dzcGFuJykgfHwgMSksXG4gICAgICAgIGNvbHdpZHRoOiB3aWR0aHMgJiYgd2lkdGhzLmxlbmd0aCA9PSBjb2xzcGFuID8gd2lkdGhzIDogbnVsbCxcbiAgICB9O1xuXG4gICAgZm9yIChjb25zdCBwcm9wIGluIGV4dHJhQXR0cnMpIHtcbiAgICAgICAgY29uc3QgZ2V0dGVyID0gZXh0cmFBdHRyc1twcm9wXS5nZXRGcm9tRE9NO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGdldHRlciAmJiBnZXR0ZXIoZG9tKTtcbiAgICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHJlc3VsdFtwcm9wXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIHNldENlbGxBdHRycyhub2RlOiBQcm9zZW1pcnJvck5vZGUsIGV4dHJhQXR0cnM6IENlbGxBdHRyaWJ1dGVzKTogdW5kZWZpbmVkIHwgUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgYXR0cnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICBpZiAobm9kZS5hdHRycy5jb2xzcGFuICE9IDEpIGF0dHJzLmNvbHNwYW4gPSBub2RlLmF0dHJzLmNvbHNwYW47XG4gICAgaWYgKG5vZGUuYXR0cnMucm93c3BhbiAhPSAxKSBhdHRycy5yb3dzcGFuID0gbm9kZS5hdHRycy5yb3dzcGFuO1xuICAgIGlmIChub2RlLmF0dHJzLmNvbHdpZHRoKSBhdHRyc1snZGF0YS1jb2x3aWR0aCddID0gbm9kZS5hdHRycy5jb2x3aWR0aC5qb2luKCcsJyk7XG5cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZXh0cmFBdHRycykge1xuICAgICAgICBjb25zdCBzZXR0ZXIgPSBleHRyYUF0dHJzW3Byb3BdLnNldERPTUF0dHI7XG4gICAgICAgIGlmIChzZXR0ZXIpIHNldHRlcihub2RlLmF0dHJzW3Byb3BdLCBhdHRycyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGF0dHJzO1xufVxuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gY3JlYXRlcyBhIHNldCBvZiBbbm9kZVxuICogc3BlY3NdKGh0dHA6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9yZWYvI21vZGVsLlNjaGVtYVNwZWMubm9kZXMpIGZvclxuICogYHRhYmxlYCwgYHRhYmxlX3Jvd2AsIGFuZCBgdGFibGVfY2VsbGAgbm9kZXMgdHlwZXMuXG4gKlxuICogSXQgaXMgdmVyeSBkaXJlY3RseSBpbnNwaXJlZCBieSBwcm9zZW1pcnJvci10YWJsZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFibGVOb2RlcyhvcHRpb25zOiBUYWJsZU5vZGVzT3B0aW9ucyk6IFRhYmxlTm9kZXMge1xuICAgIGNvbnN0IGV4dHJhQXR0cnMgPSBvcHRpb25zLmNlbGxBdHRyaWJ1dGVzIHx8IHt9O1xuICAgIGNvbnN0IGNlbGxBdHRyczogQ2VsbEF0dHJpYnV0ZXMgPSB7XG4gICAgICAgIGNvbHNwYW46IHtkZWZhdWx0OiAxfSxcbiAgICAgICAgcm93c3Bhbjoge2RlZmF1bHQ6IDF9LFxuICAgICAgICBjb2x3aWR0aDoge2RlZmF1bHQ6IG51bGx9LFxuICAgIH07XG5cbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZXh0cmFBdHRycykge1xuICAgICAgICBjZWxsQXR0cnNbcHJvcF0gPSB7XG4gICAgICAgICAgICBkZWZhdWx0OiBleHRyYUF0dHJzW3Byb3BdLmRlZmF1bHQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGFibGU6IHtcbiAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgY2xhc3M6IHtkZWZhdWx0OiBudWxsfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb250ZW50OiAndGFibGVfcm93KycsXG4gICAgICAgICAgICB0YWJsZVJvbGU6ICd0YWJsZScsXG4gICAgICAgICAgICBpc29sYXRpbmc6IHRydWUsXG4gICAgICAgICAgICBncm91cDogb3B0aW9ucy50YWJsZUdyb3VwLFxuICAgICAgICAgICAgcGFyc2VET006IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHRhZzogJ3RhYmxlJyxcbiAgICAgICAgICAgICAgICAgICAgZ2V0QXR0cnM6IChkb206IE5vZGUgfCBzdHJpbmcpOiB1bmRlZmluZWQgfCBBdHRyaWJ1dGVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghKGRvbSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtjbGFzczogZG9tLmNsYXNzTmFtZX07XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0b0RPTTogbm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYXR0cnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICAgICAgICAgICAgICBpZiAobm9kZS5hdHRycy5jbGFzcykge1xuICAgICAgICAgICAgICAgICAgICBhdHRycy5jbGFzcyA9IG5vZGUuYXR0cnMuY2xhc3M7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIFsndGFibGUnLCBhdHRycywgWyd0Ym9keScsIDBdXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhYmxlX3Jvdzoge1xuICAgICAgICAgICAgY29udGVudDogJyh0YWJsZV9jZWxsIHwgdGFibGVfaGVhZGVyKSonLFxuICAgICAgICAgICAgdGFibGVSb2xlOiAncm93JyxcbiAgICAgICAgICAgIHBhcnNlRE9NOiBbe3RhZzogJ3RyJ31dLFxuICAgICAgICAgICAgdG9ET006ICgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWyd0cicsIDBdO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFibGVfY2VsbDoge1xuICAgICAgICAgICAgY29udGVudDogb3B0aW9ucy5jZWxsQ29udGVudCxcbiAgICAgICAgICAgIGF0dHJzOiBjZWxsQXR0cnMsXG4gICAgICAgICAgICB0YWJsZVJvbGU6ICdjZWxsJyxcbiAgICAgICAgICAgIGlzb2xhdGluZzogdHJ1ZSxcbiAgICAgICAgICAgIHBhcnNlRE9NOiBbe3RhZzogJ3RkJywgZ2V0QXR0cnM6IGRvbSA9PiBnZXRDZWxsQXR0cnMoZG9tLCBleHRyYUF0dHJzKX1dLFxuICAgICAgICAgICAgdG9ET006IG5vZGUgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBbJ3RkJywgc2V0Q2VsbEF0dHJzKG5vZGUsIGV4dHJhQXR0cnMpLCAwXTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHRhYmxlX2hlYWRlcjoge1xuICAgICAgICAgICAgY29udGVudDogb3B0aW9ucy5jZWxsQ29udGVudCxcbiAgICAgICAgICAgIGF0dHJzOiBjZWxsQXR0cnMsXG4gICAgICAgICAgICB0YWJsZVJvbGU6ICdoZWFkZXJfY2VsbCcsXG4gICAgICAgICAgICBpc29sYXRpbmc6IHRydWUsXG4gICAgICAgICAgICBwYXJzZURPTTogW3t0YWc6ICd0aCcsIGdldEF0dHJzOiBkb20gPT4gZ2V0Q2VsbEF0dHJzKGRvbSwgZXh0cmFBdHRycyl9XSxcbiAgICAgICAgICAgIHRvRE9NOiBub2RlID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gWyd0aCcsIHNldENlbGxBdHRycyhub2RlLCBleHRyYUF0dHJzKSwgMF07XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG59XG4iXX0=
@@ -3,6 +3,7 @@ import '@angular/localize/init';
3
3
  /*
4
4
  * Public API Surface of natural-editor
5
5
  */
6
+ export { NaturalCustomCssDirective } from './lib/custom-css/custom-css.directive';
6
7
  export { NaturalEditorComponent } from './lib/editor/editor.component';
7
8
  export { NaturalEditorModule } from './lib/editor.module';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdIQUF3SDtBQUN4SCxPQUFPLHdCQUF3QixDQUFDO0FBRWhDOztHQUVHO0FBRUgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMb2FkIGAkbG9jYWxpemVgIG9udG8gdGhlIGdsb2JhbCBzY29wZSAtIHRvIGJlIGFibGUgdG8gdXNlIHRoYXQgZnVuY3Rpb24gdG8gdHJhbnNsYXRlIHN0cmluZ3MgaW4gY29tcG9uZW50cy9zZXJ2aWNlcy5cbmltcG9ydCAnQGFuZ3VsYXIvbG9jYWxpemUvaW5pdCc7XG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbC1lZGl0b3JcbiAqL1xuXG5leHBvcnQge05hdHVyYWxFZGl0b3JDb21wb25lbnR9IGZyb20gJy4vbGliL2VkaXRvci9lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCB7TmF0dXJhbEVkaXRvck1vZHVsZX0gZnJvbSAnLi9saWIvZWRpdG9yLm1vZHVsZSc7XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwtZWRpdG9yL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdIQUF3SDtBQUN4SCxPQUFPLHdCQUF3QixDQUFDO0FBRWhDOztHQUVHO0FBRUgsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sdUNBQXVDLENBQUM7QUFDaEYsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMb2FkIGAkbG9jYWxpemVgIG9udG8gdGhlIGdsb2JhbCBzY29wZSAtIHRvIGJlIGFibGUgdG8gdXNlIHRoYXQgZnVuY3Rpb24gdG8gdHJhbnNsYXRlIHN0cmluZ3MgaW4gY29tcG9uZW50cy9zZXJ2aWNlcy5cbmltcG9ydCAnQGFuZ3VsYXIvbG9jYWxpemUvaW5pdCc7XG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbC1lZGl0b3JcbiAqL1xuXG5leHBvcnQge05hdHVyYWxDdXN0b21Dc3NEaXJlY3RpdmV9IGZyb20gJy4vbGliL2N1c3RvbS1jc3MvY3VzdG9tLWNzcy5kaXJlY3RpdmUnO1xuZXhwb3J0IHtOYXR1cmFsRWRpdG9yQ29tcG9uZW50fSBmcm9tICcuL2xpYi9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQge05hdHVyYWxFZGl0b3JNb2R1bGV9IGZyb20gJy4vbGliL2VkaXRvci5tb2R1bGUnO1xuIl19