slate-angular 18.0.1 → 19.0.0-next.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 (63) hide show
  1. package/fesm2022/slate-angular.mjs +120 -130
  2. package/fesm2022/slate-angular.mjs.map +1 -1
  3. package/package.json +1 -3
  4. package/view/base.d.ts +4 -4
  5. package/view/container-item.d.ts +1 -1
  6. package/view/container.d.ts +1 -1
  7. package/esm2022/components/block-card/block-card.component.mjs +0 -33
  8. package/esm2022/components/children/children-outlet.component.mjs +0 -22
  9. package/esm2022/components/children/children.component.mjs +0 -23
  10. package/esm2022/components/editable/editable.component.mjs +0 -1266
  11. package/esm2022/components/element/default-element.component.mjs +0 -19
  12. package/esm2022/components/element/default-element.component.token.mjs +0 -3
  13. package/esm2022/components/element/element.component.mjs +0 -19
  14. package/esm2022/components/leaf/default-leaf.component.mjs +0 -30
  15. package/esm2022/components/leaf/token.mjs +0 -3
  16. package/esm2022/components/leaves/leaves.component.mjs +0 -25
  17. package/esm2022/components/string/default-string.component.mjs +0 -75
  18. package/esm2022/components/string/string.component.mjs +0 -108
  19. package/esm2022/components/string/template.component.mjs +0 -20
  20. package/esm2022/components/text/default-text.component.mjs +0 -22
  21. package/esm2022/components/text/token.mjs +0 -4
  22. package/esm2022/components/text/void-text.component.mjs +0 -32
  23. package/esm2022/custom-event/BeforeInputEventPlugin.mjs +0 -251
  24. package/esm2022/custom-event/DOMTopLevelEventTypes.mjs +0 -13
  25. package/esm2022/custom-event/FallbackCompositionState.mjs +0 -62
  26. package/esm2022/custom-event/before-input-polyfill.mjs +0 -13
  27. package/esm2022/module.mjs +0 -69
  28. package/esm2022/plugins/angular-editor.mjs +0 -610
  29. package/esm2022/plugins/with-angular.mjs +0 -217
  30. package/esm2022/public-api.mjs +0 -20
  31. package/esm2022/slate-angular.mjs +0 -5
  32. package/esm2022/types/clipboard.mjs +0 -2
  33. package/esm2022/types/error.mjs +0 -12
  34. package/esm2022/types/feature.mjs +0 -2
  35. package/esm2022/types/index.mjs +0 -5
  36. package/esm2022/types/view.mjs +0 -2
  37. package/esm2022/utils/block-card.mjs +0 -25
  38. package/esm2022/utils/clipboard/clipboard.mjs +0 -78
  39. package/esm2022/utils/clipboard/common.mjs +0 -42
  40. package/esm2022/utils/clipboard/data-transfer.mjs +0 -44
  41. package/esm2022/utils/clipboard/index.mjs +0 -5
  42. package/esm2022/utils/clipboard/navigator-clipboard.mjs +0 -59
  43. package/esm2022/utils/constants.mjs +0 -2
  44. package/esm2022/utils/dom.mjs +0 -165
  45. package/esm2022/utils/environment.mjs +0 -34
  46. package/esm2022/utils/global-normalize.mjs +0 -11
  47. package/esm2022/utils/hotkeys.mjs +0 -99
  48. package/esm2022/utils/index.mjs +0 -12
  49. package/esm2022/utils/key.mjs +0 -14
  50. package/esm2022/utils/lines.mjs +0 -46
  51. package/esm2022/utils/range-list.mjs +0 -29
  52. package/esm2022/utils/restore-dom.mjs +0 -33
  53. package/esm2022/utils/throttle.mjs +0 -18
  54. package/esm2022/utils/view.mjs +0 -8
  55. package/esm2022/utils/weak-maps.mjs +0 -40
  56. package/esm2022/view/base.mjs +0 -273
  57. package/esm2022/view/container-item.mjs +0 -108
  58. package/esm2022/view/container.mjs +0 -22
  59. package/esm2022/view/context-change.mjs +0 -13
  60. package/esm2022/view/context.mjs +0 -2
  61. package/esm2022/view/render/leaves-render.mjs +0 -107
  62. package/esm2022/view/render/list-render.mjs +0 -302
  63. package/esm2022/view/render/utils.mjs +0 -110
@@ -1,18 +0,0 @@
1
- export const createThrottleRAF = () => {
2
- let timerId = null;
3
- const throttleRAF = (fn) => {
4
- const scheduleFunc = () => {
5
- timerId = requestAnimationFrame(() => {
6
- timerId = null;
7
- fn();
8
- });
9
- };
10
- if (timerId !== null) {
11
- cancelAnimationFrame(timerId);
12
- timerId = null;
13
- }
14
- scheduleFunc();
15
- };
16
- return throttleRAF;
17
- };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3R0bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvdGhyb3R0bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsR0FBRyxFQUFFO0lBQ2xDLElBQUksT0FBTyxHQUFrQixJQUFJLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRTtRQUNuQyxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7WUFDdEIsT0FBTyxHQUFHLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDakMsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDZixFQUFFLEVBQUUsQ0FBQztZQUNULENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbkIsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNuQixDQUFDO1FBQ0QsWUFBWSxFQUFFLENBQUM7SUFDbkIsQ0FBQyxDQUFDO0lBQ0YsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGNyZWF0ZVRocm90dGxlUkFGID0gKCkgPT4ge1xuICAgIGxldCB0aW1lcklkOiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgICBjb25zdCB0aHJvdHRsZVJBRiA9IChmbjogKCkgPT4gdm9pZCkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlZHVsZUZ1bmMgPSAoKSA9PiB7XG4gICAgICAgICAgICB0aW1lcklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aW1lcklkID0gbnVsbDtcbiAgICAgICAgICAgICAgICBmbigpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIGlmICh0aW1lcklkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aW1lcklkKTtcbiAgICAgICAgICAgIHRpbWVySWQgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHNjaGVkdWxlRnVuYygpO1xuICAgIH07XG4gICAgcmV0dXJuIHRocm90dGxlUkFGO1xufTtcblxuZXhwb3J0IHR5cGUgVGhyb3R0bGVSQUYgPSAoZm46ICgpID0+IHZvaWQpID0+IHZvaWQ7XG4iXX0=
@@ -1,8 +0,0 @@
1
- import { TemplateRef } from '@angular/core';
2
- export function isTemplateRef(value) {
3
- return value && value instanceof TemplateRef;
4
- }
5
- export function isComponentType(value) {
6
- return !isTemplateRef(value);
7
- }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUMsTUFBTSxVQUFVLGFBQWEsQ0FBSSxLQUFlO0lBQzVDLE9BQU8sS0FBSyxJQUFJLEtBQUssWUFBWSxXQUFXLENBQUM7QUFDakQsQ0FBQztBQUVELE1BQU0sVUFBVSxlQUFlLENBQUksS0FBZTtJQUM5QyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSwgVmlld1R5cGUgfSBmcm9tICcuLi90eXBlcy92aWV3JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVSZWY8Qz4odmFsdWU6IFZpZXdUeXBlKTogdmFsdWUgaXMgVGVtcGxhdGVSZWY8Qz4ge1xuICAgIHJldHVybiB2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb21wb25lbnRUeXBlPFQ+KHZhbHVlOiBWaWV3VHlwZSk6IHZhbHVlIGlzIENvbXBvbmVudFR5cGU8VD4ge1xuICAgIHJldHVybiAhaXNUZW1wbGF0ZVJlZih2YWx1ZSk7XG59XG4iXX0=
@@ -1,40 +0,0 @@
1
- /**
2
- * Two weak maps that allow us rebuild a path given a node. They are populated
3
- * at render time such that after a render occurs we can always backtrack.
4
- */
5
- export const EDITOR_TO_WINDOW = new WeakMap();
6
- export const NODE_TO_INDEX = new WeakMap();
7
- export const NODE_TO_PARENT = new WeakMap();
8
- /**
9
- * Weak maps that allow us to go between Slate nodes and DOM nodes. These
10
- * are used to resolve DOM event-related logic into Slate actions.
11
- */
12
- export const EDITOR_TO_ELEMENT = new WeakMap();
13
- export const EDITOR_TO_PLACEHOLDER = new WeakMap();
14
- export const ELEMENT_TO_NODE = new WeakMap();
15
- // Deprecated
16
- export const KEY_TO_ELEMENT = new WeakMap();
17
- export const NODE_TO_ELEMENT = new WeakMap();
18
- export const NODE_TO_KEY = new WeakMap();
19
- /**
20
- * Weak maps for storing editor-related state.
21
- */
22
- export const IS_READONLY = new WeakMap();
23
- export const IS_FOCUSED = new WeakMap();
24
- export const IS_DRAGGING = new WeakMap();
25
- export const IS_CLICKING = new WeakMap();
26
- /**
27
- * Weak map for associating the context `onChange` context with the plugin.
28
- */
29
- export const EDITOR_TO_ON_CHANGE = new WeakMap();
30
- // export const NODE_TO_VIEWNODE = new WeakMap<Node, ViewNode>();
31
- /**
32
- * Symbols.
33
- */
34
- export const PLACEHOLDER_SYMBOL = Symbol('placeholder');
35
- /**
36
- * Weak map for associating the html element with the component.
37
- */
38
- export const ELEMENT_TO_COMPONENT = new WeakMap();
39
- export const EDITOR_TO_AFTER_VIEW_INIT_QUEUE = new WeakMap();
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vhay1tYXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL3dlYWstbWFwcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7O0dBR0c7QUFFSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBNEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQTBCLElBQUksT0FBTyxFQUFFLENBQUM7QUFDbEUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRXJFOzs7R0FHRztBQUVILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFpQyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUE0QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBK0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUN6RSxhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE4QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBK0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXVCLElBQUksT0FBTyxFQUFFLENBQUM7QUFFN0Q7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUE2QixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBNkIsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQTZCLElBQUksT0FBTyxFQUFFLENBQUM7QUFFbkU7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztBQUVyRSxpRUFBaUU7QUFFakU7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFzQixDQUFDO0FBRTdFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQXdDLElBQUksT0FBTyxFQUFFLENBQUM7QUFFdkYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQW9DLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBBbmNlc3RvciwgRWRpdG9yIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi9rZXknO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICcuLi92aWV3L2Jhc2UnO1xuXG4vKipcbiAqIFR3byB3ZWFrIG1hcHMgdGhhdCBhbGxvdyB1cyByZWJ1aWxkIGEgcGF0aCBnaXZlbiBhIG5vZGUuIFRoZXkgYXJlIHBvcHVsYXRlZFxuICogYXQgcmVuZGVyIHRpbWUgc3VjaCB0aGF0IGFmdGVyIGEgcmVuZGVyIG9jY3VycyB3ZSBjYW4gYWx3YXlzIGJhY2t0cmFjay5cbiAqL1xuXG5leHBvcnQgY29uc3QgRURJVE9SX1RPX1dJTkRPVzogV2Vha01hcDxFZGl0b3IsIFdpbmRvdz4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IE5PREVfVE9fSU5ERVg6IFdlYWtNYXA8Tm9kZSwgbnVtYmVyPiA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQgY29uc3QgTk9ERV9UT19QQVJFTlQ6IFdlYWtNYXA8Tm9kZSwgQW5jZXN0b3I+ID0gbmV3IFdlYWtNYXAoKTtcblxuLyoqXG4gKiBXZWFrIG1hcHMgdGhhdCBhbGxvdyB1cyB0byBnbyBiZXR3ZWVuIFNsYXRlIG5vZGVzIGFuZCBET00gbm9kZXMuIFRoZXNlXG4gKiBhcmUgdXNlZCB0byByZXNvbHZlIERPTSBldmVudC1yZWxhdGVkIGxvZ2ljIGludG8gU2xhdGUgYWN0aW9ucy5cbiAqL1xuXG5leHBvcnQgY29uc3QgRURJVE9SX1RPX0VMRU1FTlQ6IFdlYWtNYXA8RWRpdG9yLCBIVE1MRWxlbWVudD4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IEVESVRPUl9UT19QTEFDRUhPTERFUjogV2Vha01hcDxFZGl0b3IsIHN0cmluZz4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fTk9ERTogV2Vha01hcDxIVE1MRWxlbWVudCwgTm9kZT4gPSBuZXcgV2Vha01hcCgpO1xuLy8gRGVwcmVjYXRlZFxuZXhwb3J0IGNvbnN0IEtFWV9UT19FTEVNRU5UOiBXZWFrTWFwPEtleSwgSFRNTEVsZW1lbnQ+ID0gbmV3IFdlYWtNYXAoKTtcbmV4cG9ydCBjb25zdCBOT0RFX1RPX0VMRU1FTlQ6IFdlYWtNYXA8Tm9kZSwgSFRNTEVsZW1lbnQ+ID0gbmV3IFdlYWtNYXAoKTtcbmV4cG9ydCBjb25zdCBOT0RFX1RPX0tFWTogV2Vha01hcDxOb2RlLCBLZXk+ID0gbmV3IFdlYWtNYXAoKTtcblxuLyoqXG4gKiBXZWFrIG1hcHMgZm9yIHN0b3JpbmcgZWRpdG9yLXJlbGF0ZWQgc3RhdGUuXG4gKi9cblxuZXhwb3J0IGNvbnN0IElTX1JFQURPTkxZOiBXZWFrTWFwPEVkaXRvciwgYm9vbGVhbj4gPSBuZXcgV2Vha01hcCgpO1xuZXhwb3J0IGNvbnN0IElTX0ZPQ1VTRUQ6IFdlYWtNYXA8RWRpdG9yLCBib29sZWFuPiA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQgY29uc3QgSVNfRFJBR0dJTkc6IFdlYWtNYXA8RWRpdG9yLCBib29sZWFuPiA9IG5ldyBXZWFrTWFwKCk7XG5leHBvcnQgY29uc3QgSVNfQ0xJQ0tJTkc6IFdlYWtNYXA8RWRpdG9yLCBib29sZWFuPiA9IG5ldyBXZWFrTWFwKCk7XG5cbi8qKlxuICogV2VhayBtYXAgZm9yIGFzc29jaWF0aW5nIHRoZSBjb250ZXh0IGBvbkNoYW5nZWAgY29udGV4dCB3aXRoIHRoZSBwbHVnaW4uXG4gKi9cblxuZXhwb3J0IGNvbnN0IEVESVRPUl9UT19PTl9DSEFOR0UgPSBuZXcgV2Vha01hcDxFZGl0b3IsICgpID0+IHZvaWQ+KCk7XG5cbi8vIGV4cG9ydCBjb25zdCBOT0RFX1RPX1ZJRVdOT0RFID0gbmV3IFdlYWtNYXA8Tm9kZSwgVmlld05vZGU+KCk7XG5cbi8qKlxuICogU3ltYm9scy5cbiAqL1xuXG5leHBvcnQgY29uc3QgUExBQ0VIT0xERVJfU1lNQk9MID0gU3ltYm9sKCdwbGFjZWhvbGRlcicpIGFzIHVua25vd24gYXMgc3RyaW5nO1xuXG4vKipcbiAqIFdlYWsgbWFwIGZvciBhc3NvY2lhdGluZyB0aGUgaHRtbCBlbGVtZW50IHdpdGggdGhlIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fQ09NUE9ORU5UOiBXZWFrTWFwPE5vZGUsIEJhc2VFbGVtZW50Q29tcG9uZW50PiA9IG5ldyBXZWFrTWFwKCk7XG5cbmV4cG9ydCBjb25zdCBFRElUT1JfVE9fQUZURVJfVklFV19JTklUX1FVRVVFOiBXZWFrTWFwPEVkaXRvciwgKCgpID0+IHZvaWQpW10+ID0gbmV3IFdlYWtNYXAoKTtcbiJdfQ==
@@ -1,273 +0,0 @@
1
- import { ChangeDetectorRef, Directive, ElementRef, HostBinding, Input, ViewChild, ViewContainerRef, inject } from '@angular/core';
2
- import { Range } from 'slate';
3
- import { SlateChildrenOutlet } from '../components/children/children-outlet.component';
4
- import { ELEMENT_TO_COMPONENT, ELEMENT_TO_NODE, NODE_TO_ELEMENT } from '../utils/weak-maps';
5
- import { hasAfterContextChange, hasBeforeContextChange } from './context-change';
6
- import { LeavesRender } from './render/leaves-render';
7
- import { ListRender, addAfterViewInitQueue } from './render/list-render';
8
- import * as i0 from "@angular/core";
9
- /**
10
- * base class for custom element component or text component
11
- */
12
- export class BaseComponent {
13
- constructor() {
14
- this.initialized = false;
15
- this.elementRef = inject(ElementRef);
16
- this.cdr = inject(ChangeDetectorRef);
17
- }
18
- set context(value) {
19
- if (hasBeforeContextChange(this)) {
20
- this.beforeContextChange(value);
21
- }
22
- this._context = value;
23
- this.onContextChange();
24
- if (this.initialized) {
25
- this.cdr.detectChanges();
26
- }
27
- if (hasAfterContextChange(this)) {
28
- this.afterContextChange();
29
- }
30
- }
31
- get context() {
32
- return this._context;
33
- }
34
- get editor() {
35
- return this.viewContext && this.viewContext.editor;
36
- }
37
- get nativeElement() {
38
- return this.elementRef.nativeElement;
39
- }
40
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
41
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseComponent, inputs: { context: "context", viewContext: "viewContext" }, ngImport: i0 }); }
42
- }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseComponent, decorators: [{
44
- type: Directive
45
- }], propDecorators: { context: [{
46
- type: Input
47
- }], viewContext: [{
48
- type: Input
49
- }] } });
50
- /**
51
- * base class for custom leaf component
52
- */
53
- export class BaseLeafComponent extends BaseComponent {
54
- constructor() {
55
- super(...arguments);
56
- this.isSlateLeaf = true;
57
- }
58
- get text() {
59
- return this.context && this.context.text;
60
- }
61
- get leaf() {
62
- return this.context && this.context.leaf;
63
- }
64
- ngOnInit() {
65
- this.initialized = true;
66
- }
67
- onContextChange() {
68
- if (!this.initialized) {
69
- return;
70
- }
71
- }
72
- renderPlaceholder() {
73
- // issue-1: IME input was interrupted
74
- // issue-2: IME input focus jumping
75
- // Issue occurs when the span node of the placeholder is before the slateString span node
76
- if (this.context.leaf['placeholder']) {
77
- if (!this.placeholderElement) {
78
- this.createPlaceholder();
79
- }
80
- this.updatePlaceholder();
81
- }
82
- else {
83
- this.destroyPlaceholder();
84
- }
85
- }
86
- createPlaceholder() {
87
- const placeholderElement = document.createElement('span');
88
- placeholderElement.innerText = this.context.leaf['placeholder'];
89
- placeholderElement.contentEditable = 'false';
90
- placeholderElement.setAttribute('data-slate-placeholder', 'true');
91
- this.placeholderElement = placeholderElement;
92
- this.nativeElement.classList.add('leaf-with-placeholder');
93
- this.nativeElement.appendChild(placeholderElement);
94
- }
95
- updatePlaceholder() {
96
- if (this.placeholderElement.innerText !== this.context.leaf['placeholder']) {
97
- this.placeholderElement.innerText = this.context.leaf['placeholder'];
98
- }
99
- }
100
- destroyPlaceholder() {
101
- if (this.placeholderElement) {
102
- this.placeholderElement.remove();
103
- this.placeholderElement = null;
104
- this.nativeElement.classList.remove('leaf-with-placeholder');
105
- }
106
- }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseLeafComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
108
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseLeafComponent, host: { properties: { "attr.data-slate-leaf": "this.isSlateLeaf" } }, usesInheritance: true, ngImport: i0 }); }
109
- }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseLeafComponent, decorators: [{
111
- type: Directive
112
- }], propDecorators: { isSlateLeaf: [{
113
- type: HostBinding,
114
- args: ['attr.data-slate-leaf']
115
- }] } });
116
- /**
117
- * base class for custom element component
118
- */
119
- export class BaseElementComponent extends BaseComponent {
120
- constructor() {
121
- super(...arguments);
122
- this.viewContainerRef = inject(ViewContainerRef);
123
- this.getOutletParent = () => {
124
- return this.elementRef.nativeElement;
125
- };
126
- this.getOutletElement = () => {
127
- if (this.childrenOutletInstance) {
128
- return this.childrenOutletInstance.getNativeElement();
129
- }
130
- return null;
131
- };
132
- }
133
- get element() {
134
- return this._context && this._context.element;
135
- }
136
- get selection() {
137
- return this._context && this._context.selection;
138
- }
139
- get decorations() {
140
- return this._context && this._context.decorations;
141
- }
142
- get children() {
143
- return this._context && this._context.element.children;
144
- }
145
- get isCollapsed() {
146
- return this.selection && Range.isCollapsed(this.selection);
147
- }
148
- get isCollapsedAndNonReadonly() {
149
- return this.selection && Range.isCollapsed(this.selection) && !this.readonly;
150
- }
151
- get readonly() {
152
- return this._context && this._context.readonly;
153
- }
154
- ngOnInit() {
155
- for (const key in this._context.attributes) {
156
- this.nativeElement.setAttribute(key, this._context.attributes[key]);
157
- }
158
- this.initialized = true;
159
- this.listRender = new ListRender(this.viewContext, this.viewContainerRef, this.getOutletParent, this.getOutletElement);
160
- if (this.editor.isExpanded(this.element)) {
161
- this.listRender.initialize(this.children, this.element, this.childrenContext);
162
- }
163
- addAfterViewInitQueue(this.editor, () => {
164
- this.afterViewInit();
165
- });
166
- }
167
- afterViewInit() {
168
- if (this._context.contentEditable !== undefined) {
169
- this.nativeElement.setAttribute('contenteditable', this._context.contentEditable + '');
170
- }
171
- }
172
- updateWeakMap() {
173
- NODE_TO_ELEMENT.set(this.element, this.nativeElement);
174
- ELEMENT_TO_NODE.set(this.nativeElement, this.element);
175
- ELEMENT_TO_COMPONENT.set(this.element, this);
176
- }
177
- ngOnDestroy() {
178
- if (NODE_TO_ELEMENT.get(this.element) === this.nativeElement) {
179
- NODE_TO_ELEMENT.delete(this.element);
180
- }
181
- ELEMENT_TO_NODE.delete(this.nativeElement);
182
- if (ELEMENT_TO_COMPONENT.get(this.element) === this) {
183
- ELEMENT_TO_COMPONENT.delete(this.element);
184
- }
185
- }
186
- onContextChange() {
187
- this.childrenContext = this.getChildrenContext();
188
- this.updateWeakMap();
189
- if (!this.initialized) {
190
- return;
191
- }
192
- this.updateChildrenView();
193
- }
194
- updateChildrenView() {
195
- if (this.editor.isExpanded(this.element)) {
196
- this.listRender.update(this.children, this.element, this.childrenContext);
197
- }
198
- else {
199
- if (this.listRender.initialized) {
200
- this.listRender.destroy();
201
- }
202
- }
203
- }
204
- getChildrenContext() {
205
- return {
206
- parent: this._context.element,
207
- selection: this._context.selection,
208
- decorations: this._context.decorations,
209
- decorate: this._context.decorate,
210
- readonly: this._context.readonly
211
- };
212
- }
213
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseElementComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
214
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseElementComponent, viewQueries: [{ propertyName: "childrenOutletInstance", first: true, predicate: SlateChildrenOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
215
- }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseElementComponent, decorators: [{
217
- type: Directive
218
- }], propDecorators: { childrenOutletInstance: [{
219
- type: ViewChild,
220
- args: [SlateChildrenOutlet, { static: true }]
221
- }] } });
222
- /**
223
- * base class for custom text component
224
- */
225
- export class BaseTextComponent extends BaseComponent {
226
- constructor() {
227
- super(...arguments);
228
- this.viewContainerRef = inject(ViewContainerRef);
229
- this.getOutletParent = () => {
230
- return this.elementRef.nativeElement;
231
- };
232
- this.getOutletElement = () => {
233
- if (this.childrenOutletInstance) {
234
- return this.childrenOutletInstance.getNativeElement();
235
- }
236
- return null;
237
- };
238
- }
239
- get text() {
240
- return this._context && this._context.text;
241
- }
242
- ngOnInit() {
243
- this.initialized = true;
244
- this.leavesRender = new LeavesRender(this.viewContext, this.viewContainerRef, this.getOutletParent, this.getOutletElement);
245
- this.leavesRender.initialize(this.context);
246
- }
247
- updateWeakMap() {
248
- ELEMENT_TO_NODE.set(this.nativeElement, this.text);
249
- NODE_TO_ELEMENT.set(this.text, this.nativeElement);
250
- }
251
- ngOnDestroy() {
252
- if (NODE_TO_ELEMENT.get(this.text) === this.nativeElement) {
253
- NODE_TO_ELEMENT.delete(this.text);
254
- }
255
- ELEMENT_TO_NODE.delete(this.nativeElement);
256
- }
257
- onContextChange() {
258
- this.updateWeakMap();
259
- if (!this.initialized) {
260
- return;
261
- }
262
- this.leavesRender.update(this.context);
263
- }
264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
265
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: BaseTextComponent, viewQueries: [{ propertyName: "childrenOutletInstance", first: true, predicate: SlateChildrenOutlet, descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
266
- }
267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: BaseTextComponent, decorators: [{
268
- type: Directive
269
- }], propDecorators: { childrenOutletInstance: [{
270
- type: ViewChild,
271
- args: [SlateChildrenOutlet, { static: true }]
272
- }] } });
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxLQUFLLEVBR0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF1QixLQUFLLEVBQVEsTUFBTSxPQUFPLENBQUM7QUFDekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFdkYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVV6RTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsYUFBYTtJQURuQztRQUtJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBaUNiLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsUUFBRyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0tBRzFDO0lBbENHLElBQ0ksT0FBTyxDQUFDLEtBQVE7UUFDaEIsSUFBSSxzQkFBc0IsQ0FBSSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFB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LElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4RCxlQUFlLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsZUFBZSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDOzhHQS9DUSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrRkFTZixtQkFBbUI7OzJGQVRyQixpQkFBaUI7a0JBRDdCLFNBQVM7OEJBV04sc0JBQXNCO3NCQURyQixTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXNjZW5kYW50LCBFbGVtZW50LCBSYW5nZSwgVGV4dCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IFNsYXRlQ2hpbGRyZW5PdXRsZXQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NoaWxkcmVuL2NoaWxkcmVuLW91dGxldC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJy4uL3BsdWdpbnMvYW5ndWxhci1lZGl0b3InO1xuaW1wb3J0IHsgRUxFTUVOVF9UT19DT01QT05FTlQsIEVMRU1FTlRfVE9fTk9ERSwgTk9ERV9UT19FTEVNRU5UIH0gZnJvbSAnLi4vdXRpbHMvd2Vhay1tYXBzJztcbmltcG9ydCB7IFNsYXRlQ2hpbGRyZW5Db250ZXh0LCBTbGF0ZUVsZW1lbnRDb250ZXh0LCBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVRleHRDb250ZXh0LCBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IGhhc0FmdGVyQ29udGV4dENoYW5nZSwgaGFzQmVmb3JlQ29udGV4dENoYW5nZSB9IGZyb20gJy4vY29udGV4dC1jaGFuZ2UnO1xuaW1wb3J0IHsgTGVhdmVzUmVuZGVyIH0gZnJvbSAnLi9yZW5kZXIvbGVhdmVzLXJlbmRlcic7XG5pbXBvcnQgeyBMaXN0UmVuZGVyLCBhZGRBZnRlclZpZXdJbml0UXVldWUgfSBmcm9tICcuL3JlbmRlci9saXN0LXJlbmRlcic7XG5cbi8qKlxuICogYmFzZSBjbGFzcyBmb3IgdGVtcGxhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNlRW1iZWRkZWRWaWV3PFQsIEsgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yID0gQW5ndWxhckVkaXRvcj4ge1xuICAgIGNvbnRleHQ6IFQ7XG4gICAgdmlld0NvbnRleHQ6IFNsYXRlVmlld0NvbnRleHQ8Sz47XG59XG5cbi8qKlxuICogYmFzZSBjbGFzcyBmb3IgY3VzdG9tIGVsZW1lbnQgY29tcG9uZW50IG9yIHRleHQgY29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VDb21wb25lbnQ8XG4gICAgVCA9IFNsYXRlVGV4dENvbnRleHQgfCBTbGF0ZUxlYWZDb250ZXh0IHwgU2xhdGVFbGVtZW50Q29udGV4dCxcbiAgICBLIGV4dGVuZHMgQW5ndWxhckVkaXRvciA9IEFuZ3VsYXJFZGl0b3Jcbj4ge1xuICAgIGluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgX2NvbnRleHQ6IFQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBjb250ZXh0KHZhbHVlOiBUKSB7XG4gICAgICAgIGlmIChoYXNCZWZvcmVDb250ZXh0Q2hhbmdlPFQ+KHRoaXMpKSB7XG4gICAgICAgICAgICB0aGlzLmJlZm9yZUNvbnRleHRDaGFuZ2UodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbnRleHQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzQWZ0ZXJDb250ZXh0Q2hhbmdlPFQ+KHRoaXMpKSB7XG4gICAgICAgICAgICB0aGlzLmFmdGVyQ29udGV4dENoYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNvbnRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0O1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHZpZXdDb250ZXh0OiBTbGF0ZVZpZXdDb250ZXh0PEs+O1xuXG4gICAgZ2V0IGVkaXRvcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHQgJiYgdGhpcy52aWV3Q29udGV4dC5lZGl0b3I7XG4gICAgfVxuXG4gICAgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBwdWJsaWMgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIGFic3RyYWN0IG9uQ29udGV4dENoYW5nZSgpO1xufVxuXG4vKipcbiAqIGJhc2UgY2xhc3MgZm9yIGN1c3RvbSBsZWFmIGNvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlTGVhZkNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVMZWFmQ29udGV4dD4gaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHBsYWNlaG9sZGVyRWxlbWVudDogSFRNTFNwYW5FbGVtZW50O1xuXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtc2xhdGUtbGVhZicpIGlzU2xhdGVMZWFmID0gdHJ1ZTtcblxuICAgIGdldCB0ZXh0KCk6IFRleHQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC50ZXh0O1xuICAgIH1cblxuICAgIGdldCBsZWFmKCk6IFRleHQge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250ZXh0ICYmIHRoaXMuY29udGV4dC5sZWFmO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKSB7XG4gICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyUGxhY2Vob2xkZXIoKSB7XG4gICAgICAgIC8vIGlzc3VlLTE6IElNRSBpbnB1dCB3YXMgaW50ZXJydXB0ZWRcbiAgICAgICAgLy8gaXNzdWUtMjogSU1FIGlucHV0IGZvY3VzIGp1bXBpbmdcbiAgICAgICAgLy8gSXNzdWUgb2NjdXJzIHdoZW4gdGhlIHNwYW4gbm9kZSBvZiB0aGUgcGxhY2Vob2xkZXIgaXMgYmVmb3JlIHRoZSBzbGF0ZVN0cmluZyBzcGFuIG5vZGVcbiAgICAgICAgaWYgKHRoaXMuY29udGV4dC5sZWFmWydwbGFjZWhvbGRlciddKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMucGxhY2Vob2xkZXJFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVQbGFjZWhvbGRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy51cGRhdGVQbGFjZWhvbGRlcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95UGxhY2Vob2xkZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZVBsYWNlaG9sZGVyKCkge1xuICAgICAgICBjb25zdCBwbGFjZWhvbGRlckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIHBsYWNlaG9sZGVyRWxlbWVudC5pbm5lclRleHQgPSB0aGlzLmNvbnRleHQubGVhZlsncGxhY2Vob2xkZXInXTtcbiAgICAgICAgcGxhY2Vob2xkZXJFbGVtZW50LmNvbnRlbnRFZGl0YWJsZSA9ICdmYWxzZSc7XG4gICAgICAgIHBsYWNlaG9sZGVyRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2xhdGUtcGxhY2Vob2xkZXInLCAndHJ1ZScpO1xuICAgICAgICB0aGlzLnBsYWNlaG9sZGVyRWxlbWVudCA9IHBsYWNlaG9sZGVyRWxlbWVudDtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xlYWYtd2l0aC1wbGFjZWhvbGRlcicpO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQocGxhY2Vob2xkZXJFbGVtZW50KTtcbiAgICB9XG5cbiAgICB1cGRhdGVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LmlubmVyVGV4dCAhPT0gdGhpcy5jb250ZXh0LmxlYWZbJ3BsYWNlaG9sZGVyJ10pIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LmlubmVyVGV4dCA9IHRoaXMuY29udGV4dC5sZWFmWydwbGFjZWhvbGRlciddO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveVBsYWNlaG9sZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5wbGFjZWhvbGRlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucGxhY2Vob2xkZXJFbGVtZW50LnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5wbGFjZWhvbGRlckVsZW1lbnQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoJ2xlYWYtd2l0aC1wbGFjZWhvbGRlcicpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIGJhc2UgY2xhc3MgZm9yIGN1c3RvbSBlbGVtZW50IGNvbXBvbmVudFxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBjbGFzcyBCYXNlRWxlbWVudENvbXBvbmVudDxUIGV4dGVuZHMgRWxlbWVudCA9IEVsZW1lbnQsIEsgZXh0ZW5kcyBBbmd1bGFyRWRpdG9yID0gQW5ndWxhckVkaXRvcj5cbiAgICBleHRlbmRzIEJhc2VDb21wb25lbnQ8U2xhdGVFbGVtZW50Q29udGV4dDxUPiwgSz5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95XG57XG4gICAgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGNoaWxkcmVuQ29udGV4dDogU2xhdGVDaGlsZHJlbkNvbnRleHQ7XG5cbiAgICBAVmlld0NoaWxkKFNsYXRlQ2hpbGRyZW5PdXRsZXQsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgY2hpbGRyZW5PdXRsZXRJbnN0YW5jZT86IFNsYXRlQ2hpbGRyZW5PdXRsZXQ7XG5cbiAgICBnZXQgZWxlbWVudCgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRleHQgJiYgdGhpcy5fY29udGV4dC5lbGVtZW50O1xuICAgIH1cblxuICAgIGdldCBzZWxlY3Rpb24oKTogUmFuZ2Uge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dCAmJiB0aGlzLl9jb250ZXh0LnNlbGVjdGlvbjtcbiAgICB9XG5cbiAgICBnZXQgZGVjb3JhdGlvbnMoKTogUmFuZ2VbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0ICYmIHRoaXMuX2NvbnRleHQuZGVjb3JhdGlvbnM7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkcmVuKCk6IERlc2NlbmRhbnRbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZXh0ICYmIHRoaXMuX2NvbnRleHQuZWxlbWVudC5jaGlsZHJlbjtcbiAgICB9XG5cbiAgICBnZXQgaXNDb2xsYXBzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZCh0aGlzLnNlbGVjdGlvbik7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbiAmJiBSYW5nZS5pc0NvbGxhcHNlZCh0aGlzLnNlbGVjdGlvbikgJiYgIXRoaXMucmVhZG9ubHk7XG4gICAgfVxuXG4gICAgZ2V0IHJlYWRvbmx5KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29udGV4dCAmJiB0aGlzLl9jb250ZXh0LnJlYWRvbmx5O1xuICAgIH1cblxuICAgIGdldE91dGxldFBhcmVudCA9ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH07XG5cbiAgICBnZXRPdXRsZXRFbGVtZW50ID0gKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5jaGlsZHJlbk91dGxldEluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGlsZHJlbk91dGxldEluc3RhbmNlLmdldE5hdGl2ZUVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9O1xuXG4gICAgbGlzdFJlbmRlcjogTGlzdFJlbmRlcjtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLl9jb250ZXh0LmF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoa2V5LCB0aGlzLl9jb250ZXh0LmF0dHJpYnV0ZXNba2V5XSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGlzdFJlbmRlciA9IG5ldyBMaXN0UmVuZGVyKHRoaXMudmlld0NvbnRleHQsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGhpcy5nZXRPdXRsZXRQYXJlbnQsIHRoaXMuZ2V0T3V0bGV0RWxlbWVudCk7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0V4cGFuZGVkKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdFJlbmRlci5pbml0aWFsaXplKHRoaXMuY2hpbGRyZW4sIHRoaXMuZWxlbWVudCwgdGhpcy5jaGlsZHJlbkNvbnRleHQpO1xuICAgICAgICB9XG4gICAgICAgIGFkZEFmdGVyVmlld0luaXRRdWV1ZSh0aGlzLmVkaXRvciwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5hZnRlclZpZXdJbml0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGFmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9jb250ZXh0LmNvbnRlbnRFZGl0YWJsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB0aGlzLl9jb250ZXh0LmNvbnRlbnRFZGl0YWJsZSArICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVdlYWtNYXAoKSB7XG4gICAgICAgIE5PREVfVE9fRUxFTUVOVC5zZXQodGhpcy5lbGVtZW50LCB0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICBFTEVNRU5UX1RPX05PREUuc2V0KHRoaXMubmF0aXZlRWxlbWVudCwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgRUxFTUVOVF9UT19DT01QT05FTlQuc2V0KHRoaXMuZWxlbWVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmIChOT0RFX1RPX0VMRU1FTlQuZ2V0KHRoaXMuZWxlbWVudCkgPT09IHRoaXMubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgTk9ERV9UT19FTEVNRU5ULmRlbGV0ZSh0aGlzLmVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIEVMRU1FTlRfVE9fTk9ERS5kZWxldGUodGhpcy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgaWYgKEVMRU1FTlRfVE9fQ09NUE9ORU5ULmdldCh0aGlzLmVsZW1lbnQpID09PSB0aGlzKSB7XG4gICAgICAgICAgICBFTEVNRU5UX1RPX0NPTVBPTkVOVC5kZWxldGUodGhpcy5lbGVtZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ29udGV4dENoYW5nZSgpIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbkNvbnRleHQgPSB0aGlzLmdldENoaWxkcmVuQ29udGV4dCgpO1xuICAgICAgICB0aGlzLnVwZGF0ZVdlYWtNYXAoKTtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51cGRhdGVDaGlsZHJlblZpZXcoKTtcbiAgICB9XG5cbiAgICB1cGRhdGVDaGlsZHJlblZpZXcoKSB7XG4gICAgICAgIGlmICh0aGlzLmVkaXRvci5pc0V4cGFuZGVkKHRoaXMuZWxlbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMubGlzdFJlbmRlci51cGRhdGUodGhpcy5jaGlsZHJlbiwgdGhpcy5lbGVtZW50LCB0aGlzLmNoaWxkcmVuQ29udGV4dCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5saXN0UmVuZGVyLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saXN0UmVuZGVyLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldENoaWxkcmVuQ29udGV4dCgpOiBTbGF0ZUNoaWxkcmVuQ29udGV4dCB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXJlbnQ6IHRoaXMuX2NvbnRleHQuZWxlbWVudCxcbiAgICAgICAgICAgIHNlbGVjdGlvbjogdGhpcy5fY29udGV4dC5zZWxlY3Rpb24sXG4gICAgICAgICAgICBkZWNvcmF0aW9uczogdGhpcy5fY29udGV4dC5kZWNvcmF0aW9ucyxcbiAgICAgICAgICAgIGRlY29yYXRlOiB0aGlzLl9jb250ZXh0LmRlY29yYXRlLFxuICAgICAgICAgICAgcmVhZG9ubHk6IHRoaXMuX2NvbnRleHQucmVhZG9ubHlcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbi8qKlxuICogYmFzZSBjbGFzcyBmb3IgY3VzdG9tIHRleHQgY29tcG9uZW50XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIEJhc2VUZXh0Q29tcG9uZW50PFQgZXh0ZW5kcyBUZXh0ID0gVGV4dD4gZXh0ZW5kcyBCYXNlQ29tcG9uZW50PFNsYXRlVGV4dENvbnRleHQ8VD4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBnZXQgdGV4dCgpOiBUIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRleHQgJiYgdGhpcy5fY29udGV4dC50ZXh0O1xuICAgIH1cblxuICAgIGxlYXZlc1JlbmRlcjogTGVhdmVzUmVuZGVyO1xuXG4gICAgQFZpZXdDaGlsZChTbGF0ZUNoaWxkcmVuT3V0bGV0LCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIGNoaWxkcmVuT3V0bGV0SW5zdGFuY2U/OiBTbGF0ZUNoaWxkcmVuT3V0bGV0O1xuXG4gICAgZ2V0T3V0bGV0UGFyZW50ID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfTtcblxuICAgIGdldE91dGxldEVsZW1lbnQgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmNoaWxkcmVuT3V0bGV0SW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNoaWxkcmVuT3V0bGV0SW5zdGFuY2UuZ2V0TmF0aXZlRWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH07XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMubGVhdmVzUmVuZGVyID0gbmV3IExlYXZlc1JlbmRlcih0aGlzLnZpZXdDb250ZXh0LCB0aGlzLnZpZXdDb250YWluZXJSZWYsIHRoaXMuZ2V0T3V0bGV0UGFyZW50LCB0aGlzLmdldE91dGxldEVsZW1lbnQpO1xuICAgICAgICB0aGlzLmxlYXZlc1JlbmRlci5pbml0aWFsaXplKHRoaXMuY29udGV4dCk7XG4gICAgfVxuXG4gICAgdXBkYXRlV2Vha01hcCgpIHtcbiAgICAgICAgRUxFTUVOVF9UT19OT0RFLnNldCh0aGlzLm5hdGl2ZUVsZW1lbnQsIHRoaXMudGV4dCk7XG4gICAgICAgIE5PREVfVE9fRUxFTUVOVC5zZXQodGhpcy50ZXh0LCB0aGlzLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBpZiAoTk9ERV9UT19FTEVNRU5ULmdldCh0aGlzLnRleHQpID09PSB0aGlzLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIE5PREVfVE9fRUxFTUVOVC5kZWxldGUodGhpcy50ZXh0KTtcbiAgICAgICAgfVxuICAgICAgICBFTEVNRU5UX1RPX05PREUuZGVsZXRlKHRoaXMubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICB0aGlzLnVwZGF0ZVdlYWtNYXAoKTtcbiAgICAgICAgaWYgKCF0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sZWF2ZXNSZW5kZXIudXBkYXRlKHRoaXMuY29udGV4dCk7XG4gICAgfVxufVxuIl19
@@ -1,108 +0,0 @@
1
- import { Directive, inject, Input, ViewContainerRef } from '@angular/core';
2
- import { isComponentType, isDOMElement, isTemplateRef } from '../utils';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Dynamically create/update components or templates
6
- * Provide rootNodes for the view container
7
- * If the dynamically created component uses onpush mode, then it must call markForCheck when setting the context
8
- */
9
- export class ViewContainerItem {
10
- constructor() {
11
- this.initialized = false;
12
- this.viewContainerRef = inject(ViewContainerRef);
13
- }
14
- get rootNodes() {
15
- return this.getRootNodes();
16
- }
17
- getRootNodes() {
18
- if (this.embeddedViewRef) {
19
- return this.embeddedViewRef.rootNodes.filter(rootNode => isDOMElement(rootNode));
20
- }
21
- if (this.componentRef) {
22
- return [this.componentRef.instance.nativeElement];
23
- }
24
- return [];
25
- }
26
- destroyView() {
27
- if (this.embeddedViewRef) {
28
- this.embeddedViewRef.destroy();
29
- this.embeddedViewRef = null;
30
- }
31
- if (this.componentRef) {
32
- this.componentRef.destroy();
33
- this.componentRef = null;
34
- }
35
- }
36
- createView() {
37
- this.initialized = true;
38
- this.viewType = this.getViewType();
39
- const context = this.getContext();
40
- if (isTemplateRef(this.viewType)) {
41
- this.embeddedViewContext = {
42
- context,
43
- viewContext: this.viewContext
44
- };
45
- const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.viewType, this.embeddedViewContext);
46
- this.embeddedViewRef = embeddedViewRef;
47
- }
48
- if (isComponentType(this.viewType)) {
49
- const componentRef = this.viewContainerRef.createComponent(this.viewType);
50
- componentRef.instance.viewContext = this.viewContext;
51
- componentRef.instance.context = context;
52
- this.componentRef = componentRef;
53
- }
54
- }
55
- updateView() {
56
- const viewType = this.getViewType();
57
- const context = this.getContext();
58
- if (this.viewType === viewType) {
59
- if (this.componentRef) {
60
- if (this.memoizedContext(this.componentRef.instance.context, context)) {
61
- return;
62
- }
63
- this.componentRef.instance.context = context;
64
- }
65
- if (this.embeddedViewRef) {
66
- if (this.memoizedContext(this.embeddedViewContext.context, context)) {
67
- return;
68
- }
69
- this.embeddedViewContext.context = context;
70
- }
71
- }
72
- else {
73
- this.viewType = viewType;
74
- const firstRootNode = this.rootNodes[0];
75
- if (isTemplateRef(this.viewType)) {
76
- this.embeddedViewContext = {
77
- context,
78
- viewContext: this.viewContext
79
- };
80
- const embeddedViewRef = this.viewContainerRef.createEmbeddedView(this.viewType, this.embeddedViewContext);
81
- firstRootNode.replaceWith(...embeddedViewRef.rootNodes.filter(rootNode => isDOMElement(rootNode)));
82
- this.destroyView();
83
- this.embeddedViewRef = embeddedViewRef;
84
- }
85
- if (isComponentType(this.viewType)) {
86
- const componentRef = this.viewContainerRef.createComponent(this.viewType);
87
- componentRef.instance.viewContext = this.viewContext;
88
- componentRef.instance.context = context;
89
- firstRootNode.replaceWith(componentRef.instance.nativeElement);
90
- this.destroyView();
91
- this.componentRef = componentRef;
92
- }
93
- }
94
- }
95
- appendBlockCardElement() {
96
- if (this.blockCardComponentRef) {
97
- this.blockCardComponentRef.instance.append();
98
- }
99
- }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainerItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
101
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ViewContainerItem, inputs: { viewContext: "viewContext" }, ngImport: i0 }); }
102
- }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainerItem, decorators: [{
104
- type: Directive
105
- }], propDecorators: { viewContext: [{
106
- type: Input
107
- }] } });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdmlldy9jb250YWluZXItaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBbUIsTUFBTSxFQUFFLEtBQUssRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt2SCxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBSXhFOzs7O0dBSUc7QUFFSCxNQUFNLE9BQWdCLGlCQUFpQjtJQUR2QztRQUtJLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBdUJWLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBMEZ6RDtJQXhHRyxJQUFJLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFrQixDQUFDO1FBQ3RHLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUlELFdBQVc7UUFDUCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLElBQUks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LE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxlQUFlLENBQUM7WUFDM0MsQ0FBQztZQUNELElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQXNCLENBQUM7Z0JBQy9GLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7Z0JBQ3JELFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztnQkFDeEMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakQsQ0FBQztJQUNMLENBQUM7OEdBcEhpQixpQkFBaUI7a0dBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEdEMsU0FBUzs4QkFZRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UmVmLCBEaXJlY3RpdmUsIEVtYmVkZGVkVmlld1JlZiwgaW5qZWN0LCBJbnB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNsYXRlQmxvY2tDYXJkIH0gZnJvbSAnLi4vY29tcG9uZW50cy9ibG9jay1jYXJkL2Jsb2NrLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICcuLi9wbHVnaW5zL2FuZ3VsYXItZWRpdG9yJztcblxuaW1wb3J0IHsgVmlld1R5cGUgfSBmcm9tICcuLi90eXBlcy92aWV3JztcbmltcG9ydCB7IGlzQ29tcG9uZW50VHlwZSwgaXNET01FbGVtZW50LCBpc1RlbXBsYXRlUmVmIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCwgQmFzZUVtYmVkZGVkVmlldyB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBTbGF0ZUVsZW1lbnRDb250ZXh0LCBTbGF0ZUxlYWZDb250ZXh0LCBTbGF0ZVN0cmluZ0NvbnRleHQsIFNsYXRlVGV4dENvbnRleHQsIFNsYXRlVmlld0NvbnRleHQgfSBmcm9tICcuL2NvbnRleHQnO1xuXG4vKipcbiAqIER5bmFtaWNhbGx5IGNyZWF0ZS91cGRhdGUgY29tcG9uZW50cyBvciB0ZW1wbGF0ZXNcbiAqIFByb3ZpZGUgcm9vdE5vZGVzIGZvciB0aGUgdmlldyBjb250YWluZXJcbiAqIElmIHRoZSBkeW5hbWljYWxseSBjcmVhdGVkIGNvbXBvbmVudCB1c2VzIG9ucHVzaCBtb2RlLCB0aGVuIGl0IG11c3QgY2FsbCBtYXJrRm9yQ2hlY2sgd2hlbiBzZXR0aW5nIHRoZSBjb250ZXh0XG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFZpZXdDb250YWluZXJJdGVtPFxuICAgIFQgPSBTbGF0ZUVsZW1lbnRDb250ZXh0IHwgU2xhdGVUZXh0Q29udGV4dCB8IFNsYXRlTGVhZkNvbnRleHQgfCBTbGF0ZVN0cmluZ0NvbnRleHQsXG4gICAgSyBleHRlbmRzIEJhc2VDb21wb25lbnQ8VD4gPSBCYXNlQ29tcG9uZW50PFQ+XG4+IHtcbiAgICBpbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIGVtYmVkZGVkVmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEJhc2VFbWJlZGRlZFZpZXc8VD4+O1xuICAgIGVtYmVkZGVkVmlld0NvbnRleHQ6IEJhc2VFbWJlZGRlZFZpZXc8VD47XG4gICAgYmxvY2tDYXJkQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8U2xhdGVCbG9ja0NhcmQ+O1xuICAgIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPEs+O1xuICAgIHZpZXdUeXBlOiBWaWV3VHlwZTtcblxuICAgIEBJbnB1dCgpIHZpZXdDb250ZXh0OiBTbGF0ZVZpZXdDb250ZXh0O1xuXG4gICAgZ2V0IHJvb3ROb2RlcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Um9vdE5vZGVzKCk7XG4gICAgfVxuXG4gICAgZ2V0Um9vdE5vZGVzKCk6IEhUTUxFbGVtZW50W10ge1xuICAgICAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVtYmVkZGVkVmlld1JlZi5yb290Tm9kZXMuZmlsdGVyKHJvb3ROb2RlID0+IGlzRE9NRWxlbWVudChyb290Tm9kZSkpIGFzIEhUTUxFbGVtZW50W107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuY29tcG9uZW50UmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gW3RoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLm5hdGl2ZUVsZW1lbnRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGRlc3Ryb3lWaWV3KCkge1xuICAgICAgICBpZiAodGhpcy5lbWJlZGRlZFZpZXdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFic3RyYWN0IGdldENvbnRleHQoKTogVDtcblxuICAgIGFic3RyYWN0IGdldFZpZXdUeXBlKCk6IFZpZXdUeXBlO1xuXG4gICAgYWJzdHJhY3QgbWVtb2l6ZWRDb250ZXh0KHByZXY6IFQsIG5leHQ6IFQpOiBib29sZWFuO1xuXG4gICAgY3JlYXRlVmlldygpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMudmlld1R5cGUgPSB0aGlzLmdldFZpZXdUeXBlKCk7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmdldENvbnRleHQoKTtcbiAgICAgICAgaWYgKGlzVGVtcGxhdGVSZWYodGhpcy52aWV3VHlwZSkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dCA9IHtcbiAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgIHZpZXdDb250ZXh0OiB0aGlzLnZpZXdDb250ZXh0XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldzxCYXNlRW1iZWRkZWRWaWV3PFQ+PihcbiAgICAgICAgICAgICAgICB0aGlzLnZpZXdUeXBlIGFzIFRlbXBsYXRlUmVmPEJhc2VFbWJlZGRlZFZpZXc8VCwgQW5ndWxhckVkaXRvcj4+LFxuICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3UmVmID0gZW1iZWRkZWRWaWV3UmVmO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbXBvbmVudFR5cGUodGhpcy52aWV3VHlwZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQodGhpcy52aWV3VHlwZSkgYXMgQ29tcG9uZW50UmVmPGFueT47XG4gICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uudmlld0NvbnRleHQgPSB0aGlzLnZpZXdDb250ZXh0O1xuICAgICAgICAgICAgY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVWaWV3KCkge1xuICAgICAgICBjb25zdCB2aWV3VHlwZSA9IHRoaXMuZ2V0Vmlld1R5cGUoKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMuZ2V0Q29udGV4dCgpO1xuICAgICAgICBpZiAodGhpcy52aWV3VHlwZSA9PT0gdmlld1R5cGUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lbW9pemVkQ29udGV4dCh0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb250ZXh0LCBjb250ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZW1iZWRkZWRWaWV3UmVmKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubWVtb2l6ZWRDb250ZXh0KHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dC5jb250ZXh0LCBjb250ZXh0KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZW1iZWRkZWRWaWV3Q29udGV4dC5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudmlld1R5cGUgPSB2aWV3VHlwZTtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0Um9vdE5vZGUgPSB0aGlzLnJvb3ROb2Rlc1swXTtcbiAgICAgICAgICAgIGlmIChpc1RlbXBsYXRlUmVmKHRoaXMudmlld1R5cGUpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdDb250ZXh0ID0ge1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICAgICAgICB2aWV3Q29udGV4dDogdGhpcy52aWV3Q29udGV4dFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgZW1iZWRkZWRWaWV3UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldzxCYXNlRW1iZWRkZWRWaWV3PFQ+PihcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52aWV3VHlwZSBhcyBUZW1wbGF0ZVJlZjxCYXNlRW1iZWRkZWRWaWV3PFQsIEFuZ3VsYXJFZGl0b3I+PixcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdDb250ZXh0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBmaXJzdFJvb3ROb2RlLnJlcGxhY2VXaXRoKC4uLmVtYmVkZGVkVmlld1JlZi5yb290Tm9kZXMuZmlsdGVyKHJvb3ROb2RlID0+IGlzRE9NRWxlbWVudChyb290Tm9kZSkpKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWJlZGRlZFZpZXdSZWYgPSBlbWJlZGRlZFZpZXdSZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDb21wb25lbnRUeXBlKHRoaXMudmlld1R5cGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudCh0aGlzLnZpZXdUeXBlKSBhcyBDb21wb25lbnRSZWY8YW55PjtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Uudmlld0NvbnRleHQgPSB0aGlzLnZpZXdDb250ZXh0O1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZS5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgICAgICAgICBmaXJzdFJvb3ROb2RlLnJlcGxhY2VXaXRoKGNvbXBvbmVudFJlZi5pbnN0YW5jZS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc3Ryb3lWaWV3KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnRSZWYgPSBjb21wb25lbnRSZWY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhcHBlbmRCbG9ja0NhcmRFbGVtZW50KCkge1xuICAgICAgICBpZiAodGhpcy5ibG9ja0NhcmRDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuYmxvY2tDYXJkQ29tcG9uZW50UmVmLmluc3RhbmNlLmFwcGVuZCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,22 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @deprecated
5
- * the special container for angular template
6
- * Add the rootNodes of each child component to the parentElement
7
- * Remove useless DOM elements, eg: comment...
8
- */
9
- export class ViewContainer {
10
- constructor(elementRef, differs) {
11
- this.elementRef = elementRef;
12
- this.differs = differs;
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainer, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ViewContainer, inputs: { viewContext: "viewContext" }, ngImport: i0 }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ViewContainer, decorators: [{
18
- type: Directive
19
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }], propDecorators: { viewContext: [{
20
- type: Input
21
- }] } });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3ZpZXcvY29udGFpbmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFtQixNQUFNLGVBQWUsQ0FBQzs7QUFJOUU7Ozs7O0dBS0c7QUFFSCxNQUFNLE9BQWdCLGFBQWE7SUFHL0IsWUFDYyxVQUEyQixFQUMzQixPQUF3QjtRQUR4QixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixZQUFPLEdBQVAsT0FBTyxDQUFpQjtJQUNuQyxDQUFDOzhHQU5jLGFBQWE7a0dBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEbEMsU0FBUzs2R0FFRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgSXRlcmFibGVEaWZmZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTbGF0ZVZpZXdDb250ZXh0IH0gZnJvbSAnLi9jb250ZXh0JztcbmltcG9ydCB7IFZpZXdDb250YWluZXJJdGVtIH0gZnJvbSAnLi9jb250YWluZXItaXRlbSc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqIHRoZSBzcGVjaWFsIGNvbnRhaW5lciBmb3IgYW5ndWxhciB0ZW1wbGF0ZVxuICogQWRkIHRoZSByb290Tm9kZXMgb2YgZWFjaCBjaGlsZCBjb21wb25lbnQgdG8gdGhlIHBhcmVudEVsZW1lbnRcbiAqIFJlbW92ZSB1c2VsZXNzIERPTSBlbGVtZW50cywgZWc6IGNvbW1lbnQuLi5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVmlld0NvbnRhaW5lcjxUIGV4dGVuZHMgVmlld0NvbnRhaW5lckl0ZW0+IHtcbiAgICBASW5wdXQoKSB2aWV3Q29udGV4dDogU2xhdGVWaWV3Q29udGV4dDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgZWxlbWVudFJlZjogRWxlbWVudFJlZjxhbnk+LFxuICAgICAgICBwcm90ZWN0ZWQgZGlmZmVyczogSXRlcmFibGVEaWZmZXJzXG4gICAgKSB7fVxufVxuIl19
@@ -1,13 +0,0 @@
1
- export function hasBeforeContextChange(value) {
2
- if (value.beforeContextChange) {
3
- return true;
4
- }
5
- return false;
6
- }
7
- export function hasAfterContextChange(value) {
8
- if (value.afterContextChange) {
9
- return true;
10
- }
11
- return false;
12
- }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1jaGFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdmlldy9jb250ZXh0LWNoYW5nZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLFVBQVUsc0JBQXNCLENBQUksS0FBSztJQUMzQyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFJLEtBQUs7SUFDMUMsSUFBSSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMzQixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQmVmb3JlQ29udGV4dENoYW5nZTxUPiB7XG4gICAgYmVmb3JlQ29udGV4dENoYW5nZTogKHZhbHVlOiBUKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFmdGVyQ29udGV4dENoYW5nZTw+IHtcbiAgICBhZnRlckNvbnRleHRDaGFuZ2U6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNCZWZvcmVDb250ZXh0Q2hhbmdlPFQ+KHZhbHVlKTogdmFsdWUgaXMgQmVmb3JlQ29udGV4dENoYW5nZTxUPiB7XG4gICAgaWYgKHZhbHVlLmJlZm9yZUNvbnRleHRDaGFuZ2UpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0FmdGVyQ29udGV4dENoYW5nZTxUPih2YWx1ZSk6IHZhbHVlIGlzIEFmdGVyQ29udGV4dENoYW5nZSB7XG4gICAgaWYgKHZhbHVlLmFmdGVyQ29udGV4dENoYW5nZSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufVxuIl19
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy92aWV3L2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVFbnRyeSwgUmFuZ2UsIEVsZW1lbnQsIEFuY2VzdG9yLCBUZXh0LCBQYXRoIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgU2xhdGVTdHJpbmdUZW1wbGF0ZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvc3RyaW5nL3RlbXBsYXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlLCBWaWV3VHlwZSB9IGZyb20gJy4uL3R5cGVzL3ZpZXcnO1xuaW1wb3J0IHsgQmFzZUVsZW1lbnRDb21wb25lbnQsIEJhc2VMZWFmQ29tcG9uZW50LCBCYXNlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVWaWV3Q29udGV4dDxUIGV4dGVuZHMgQW5ndWxhckVkaXRvciA9IEFuZ3VsYXJFZGl0b3I+IHtcbiAgICBlZGl0b3I6IFQ7XG4gICAgdGVtcGxhdGVDb21wb25lbnQ6IFNsYXRlU3RyaW5nVGVtcGxhdGU7XG4gICAgZGVmYXVsdEVsZW1lbnQ6IENvbXBvbmVudFR5cGU8QmFzZUVsZW1lbnRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRUZXh0OiBDb21wb25lbnRUeXBlPEJhc2VUZXh0Q29tcG9uZW50PjtcbiAgICBkZWZhdWx0Vm9pZFRleHQ6IENvbXBvbmVudFR5cGU8QmFzZVRleHRDb21wb25lbnQ+O1xuICAgIGRlZmF1bHRMZWFmOiBDb21wb25lbnRUeXBlPEJhc2VMZWFmQ29tcG9uZW50PjtcbiAgICB0cmFja0J5OiAoZWxlbWVudDogRWxlbWVudCkgPT4gYW55O1xuICAgIHJlbmRlckVsZW1lbnQ/OiAoZWxlbWVudDogRWxlbWVudCkgPT4gVmlld1R5cGU7XG4gICAgcmVuZGVyTGVhZj86ICh0ZXh0OiBUZXh0KSA9PiBWaWV3VHlwZTtcbiAgICByZW5kZXJUZXh0PzogKHRleHQ6IFRleHQpID0+IFZpZXdUeXBlO1xuICAgIGlzU3RyaWN0RGVjb3JhdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVDaGlsZHJlbkNvbnRleHQge1xuICAgIHBhcmVudDogQW5jZXN0b3I7XG4gICAgc2VsZWN0aW9uOiBSYW5nZTtcbiAgICBkZWNvcmF0aW9uczogUmFuZ2VbXTtcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVFbGVtZW50Q29udGV4dDxUIGV4dGVuZHMgRWxlbWVudCA9IEVsZW1lbnQ+IHtcbiAgICBlbGVtZW50OiBUO1xuICAgIHNlbGVjdGlvbjogUmFuZ2UgfCBudWxsO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGF0dHJpYnV0ZXM6IFNsYXRlRWxlbWVudEF0dHJpYnV0ZXM7XG4gICAgY29udGVudEVkaXRhYmxlPzogYm9vbGVhbjtcbiAgICBkZWNvcmF0ZTogKGVudHJ5OiBOb2RlRW50cnkpID0+IFJhbmdlW107XG4gICAgcmVhZG9ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVUZXh0Q29udGV4dDxUIGV4dGVuZHMgVGV4dCA9IFRleHQ+IHtcbiAgICB0ZXh0OiBUO1xuICAgIGRlY29yYXRpb25zOiBSYW5nZVtdO1xuICAgIGlzTGFzdDogYm9vbGVhbjtcbiAgICBwYXJlbnQ6IEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhdGVMZWFmQ29udGV4dCB7XG4gICAgbGVhZjogVGV4dDtcbiAgICB0ZXh0OiBUZXh0O1xuICAgIHBhcmVudDogRWxlbWVudDtcbiAgICBpc0xhc3Q6IGJvb2xlYW47XG4gICAgaW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbGF0ZUVsZW1lbnRBdHRyaWJ1dGVzIHtcbiAgICAnZGF0YS1zbGF0ZS1ub2RlJzogJ2VsZW1lbnQnO1xuICAgICdkYXRhLXNsYXRlLXZvaWQnPzogYm9vbGVhbjtcbiAgICAnZGF0YS1zbGF0ZS1pbmxpbmUnPzogYm9vbGVhbjtcbiAgICAnZGF0YS1zbGF0ZS1rZXknPzogc3RyaW5nO1xuICAgIGRpcj86ICdydGwnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNsYXRlU3RyaW5nQ29udGV4dCB7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGVsZW1lbnRTdHJpbmdMZW5ndGg6IG51bWJlcjtcbiAgICB0eXBlOiAnc3RyaW5nJyB8ICdsaW5lQnJlYWtFbXB0eVN0cmluZyc7XG59XG4iXX0=