@agorapulse/ui-components 18.1.9 → 18.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-18.1.11.tgz +0 -0
- package/esm2022/nav-selector/nav-selector.component.mjs +4 -3
- package/esm2022/nav-selector/nav-selector.state.mjs +6 -4
- package/esm2022/nav-selector/utils/nav-selector.folding.mjs +3 -1
- package/esm2022/nav-selector/utils/nav-selector.multi-select.mjs +8 -15
- package/esm2022/nav-selector/utils/nav-selector.single-select.mjs +2 -8
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs +18 -24
- package/fesm2022/agorapulse-ui-components-nav-selector.mjs.map +1 -1
- package/nav-selector/nav-selector.component.d.ts +2 -1
- package/nav-selector/nav-selector.state.d.ts +0 -1
- package/package.json +1 -1
- package/agorapulse-ui-components-18.1.9.tgz +0 -0
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { isInternalNavSelectorEntryACategory, isInternalNavSelectorEntryAGroup, isInternalNavSelectorEntryALeaf, isInternalNavSelectorEntryANode, } from '../nav-selector';
|
|
2
|
-
import { computeFolded } from './leaf.utils';
|
|
3
2
|
/**
|
|
4
3
|
* NavSelectorMultiSelect is a utility class that provides methods to select an entry in multiple mode.
|
|
5
4
|
*/
|
|
@@ -47,11 +46,9 @@ export class NavSelectorMultiSelect {
|
|
|
47
46
|
};
|
|
48
47
|
}
|
|
49
48
|
else if (isInternalNavSelectorEntryACategory(entry)) {
|
|
50
|
-
const children = this.selectOnlyALeafInMultipleMode(entry.children, entryUid);
|
|
51
49
|
return {
|
|
52
50
|
...entry,
|
|
53
|
-
|
|
54
|
-
children,
|
|
51
|
+
children: this.selectOnlyALeafInMultipleMode(entry.children, entryUid),
|
|
55
52
|
};
|
|
56
53
|
}
|
|
57
54
|
else if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
@@ -61,7 +58,6 @@ export class NavSelectorMultiSelect {
|
|
|
61
58
|
...entry,
|
|
62
59
|
children,
|
|
63
60
|
selected,
|
|
64
|
-
folded: computeFolded(entry, children),
|
|
65
61
|
undeterminedSelection: !selected && children.some(child => child.selected),
|
|
66
62
|
};
|
|
67
63
|
}
|
|
@@ -101,16 +97,14 @@ export class NavSelectorMultiSelect {
|
|
|
101
97
|
};
|
|
102
98
|
}
|
|
103
99
|
static selectACategoryInMultipleMode(entry, entryUid) {
|
|
104
|
-
const children = entry.children.map(child => {
|
|
105
|
-
if (isInternalNavSelectorEntryALeaf(child)) {
|
|
106
|
-
return this.selectALeafInMultipleMode(child, entryUid);
|
|
107
|
-
}
|
|
108
|
-
return this.selectAGroupInMultipleMode(child, entryUid);
|
|
109
|
-
});
|
|
110
100
|
return {
|
|
111
101
|
...entry,
|
|
112
|
-
|
|
113
|
-
|
|
102
|
+
children: entry.children.map(child => {
|
|
103
|
+
if (isInternalNavSelectorEntryALeaf(child)) {
|
|
104
|
+
return this.selectALeafInMultipleMode(child, entryUid);
|
|
105
|
+
}
|
|
106
|
+
return this.selectAGroupInMultipleMode(child, entryUid);
|
|
107
|
+
}),
|
|
114
108
|
};
|
|
115
109
|
}
|
|
116
110
|
static selectAGroupInMultipleMode(entry, entryUid) {
|
|
@@ -136,7 +130,6 @@ export class NavSelectorMultiSelect {
|
|
|
136
130
|
}
|
|
137
131
|
return {
|
|
138
132
|
...entry,
|
|
139
|
-
folded: computeFolded(entry, children),
|
|
140
133
|
children,
|
|
141
134
|
selected,
|
|
142
135
|
undeterminedSelection,
|
|
@@ -212,4 +205,4 @@ export class NavSelectorMultiSelect {
|
|
|
212
205
|
});
|
|
213
206
|
}
|
|
214
207
|
}
|
|
215
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLm11bHRpLXNlbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5tdWx0aS1zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sc0JBQXNCO0lBQy9COzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBbUMsRUFBRSxRQUFnQjtRQUM3RSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdkIsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDM0QsQ0FBQztpQkFBTSxJQUFJLGdDQUFnQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pELE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM1RCxDQUFDO2lCQUFNLElBQUksbUNBQW1DLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQy9ELENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyw2QkFBNkIsQ0FBcUMsT0FBWSxF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T0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnksXG4gICAgSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5LFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTm9kZSxcbn0gZnJvbSAnLi4vbmF2LXNlbGVjdG9yJztcbmltcG9ydCB7IGNvbXB1dGVGb2xkZWQgfSBmcm9tICcuL2xlYWYudXRpbHMnO1xuXG4vKipcbiAqIE5hdlNlbGVjdG9yTXVsdGlTZWxlY3QgaXMgYSB1dGlsaXR5IGNsYXNzIHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBzZWxlY3QgYW4gZW50cnkgaW4gbXVsdGlwbGUgbW9kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTXVsdGlTZWxlY3Qge1xuICAgIC8qKlxuICAgICAqIFNlbGVjdCBhbiBlbnRyeSBpbiBtdWx0aXBsZSBtb2RlLlxuICAgICAqXG4gICAgICogQ2F0ZWdvcmllcyBhcmUgbm90IHNlbGVjdGFibGUuXG4gICAgICpcbiAgICAgKiBHcm91cHMgYW5kIGxlYXZlcyBhcmUgc2VsZWN0YWJsZS5cbiAgICAgKlxuICAgICAqIEdyb3VwcyBtYXkgYmUgaW4gdW5kZXRlcm1pbmVkIHN0YXRlIGlmIHNvbWUgb2YgdGhlaXIgY2hpbGRyZW4gYXJlIHNlbGVjdGVkIGFuZCBzb21lIGFyZSBub3QuXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byBzZWxlY3RcbiAgICAgKi9cbiAgICBzdGF0aWMgc2VsZWN0SW5NdWx0aXBsZU1vZGUoZW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10sIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZkluTXVsdGlwbGVNb2RlKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFHcm91cEluTXVsdGlwbGVNb2RlKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFDYXRlZ29yeUluTXVsdGlwbGVNb2RlKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCBvbmx5IGEgbGVhZiBpbiBtdWx0aXBsZSBtb2RlLlxuICAgICAqXG4gICAgICogQ2F0ZWdvcmllcyBhcmUgbm90IHNlbGVjdGFibGUuXG4gICAgICpcbiAgICAgKiBHcm91cHMgbWF5IGJlIGluIHVuZGV0ZXJtaW5lZCBzdGF0ZSBpZiBzb21lIG9mIHRoZWlyIGNoaWxkcmVuIGFyZSBzZWxlY3RlZCBhbmQgc29tZSBhcmUgbm90LlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gc2VsZWN0XG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdE9ubHlBTGVhZkluTXVsdGlwbGVNb2RlPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KGVudHJpZXM6IFRbXSwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZW50cnkudWlkID09PSBlbnRyeVVpZCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuc2VsZWN0T25seUFMZWFmSW5NdWx0aXBsZU1vZGUoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgZm9sZGVkOiBjb21wdXRlRm9sZGVkKGVudHJ5LCBjaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZW50cnkuY2hpbGRyZW4uZmxhdE1hcChcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQgPT4gdGhpcy5zZWxlY3RPbmx5QUxlYWZJbk11bHRpcGxlTW9kZShbY2hpbGRdLCBlbnRyeVVpZCkgYXMgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBjaGlsZHJlbi5ldmVyeShjaGlsZCA9PiBjaGlsZC5zZWxlY3RlZCB8fCAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihjaGlsZCkgJiYgIWNoaWxkLnNlbGVjdGFibGUpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICBmb2xkZWQ6IGNvbXB1dGVGb2xkZWQoZW50cnksIGNoaWxkcmVuKSxcbiAgICAgICAgICAgICAgICAgICAgdW5kZXRlcm1pbmVkU2VsZWN0aW9uOiAhc2VsZWN0ZWQgJiYgY2hpbGRyZW4uc29tZShjaGlsZCA9PiBjaGlsZC5zZWxlY3RlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGFsbCBlbnRyaWVzIGluIG11bHRpcGxlIG1vZGUuXG4gICAgICpcbiAgICAgKiBDYXRlZ29yaWVzIGFyZSBub3Qgc2VsZWN0YWJsZS5cbiAgICAgKlxuICAgICAqIEdyb3VwcyBhbmQgbGVhdmVzIGFyZSBzZWxlY3RhYmxlLlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdEFsbChlbnRyaWVzOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0Q2hpbGRyZW4oZW50cmllcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5zZWxlY3QgYWxsIGVudHJpZXMgaW4gbXVsdGlwbGUgbW9kZS5cbiAgICAgKlxuICAgICAqIENhdGVnb3JpZXMgYXJlIG5vdCBzZWxlY3RhYmxlLlxuICAgICAqXG4gICAgICogR3JvdXBzIGFuZCBsZWF2ZXMgYXJlIHNlbGVjdGFibGUuXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKi9cbiAgICBzdGF0aWMgdW5zZWxlY3RBbGwoZW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10pOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuc2VsZWN0Q2hpbGRyZW4oZW50cmllcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZJbk11bHRpcGxlTW9kZShsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIGlmIChsZWFmLnNlbGVjdGFibGUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkID0gbGVhZi51aWQgPT09IGVudHJ5VWlkID8gIWxlYWYuc2VsZWN0ZWQgOiBsZWFmLnNlbGVjdGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUNhdGVnb3J5SW5NdWx0aXBsZU1vZGUoZW50cnk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZW50cnkuY2hpbGRyZW4ubWFwKGNoaWxkID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmSW5NdWx0aXBsZU1vZGUoY2hpbGQsIGVudHJ5VWlkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFHcm91cEluTXVsdGlwbGVNb2RlKGNoaWxkLCBlbnRyeVVpZCk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICBmb2xkZWQ6IGNvbXB1dGVGb2xkZWQoZW50cnksIGNoaWxkcmVuKSxcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFHcm91cEluTXVsdGlwbGVNb2RlKGVudHJ5OiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAge1xuICAgICAgICBpZiAoIWVudHJ5LnNlbGVjdGFibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgc2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgICAgIGxldCBjaGlsZHJlbjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXTtcbiAgICAgICAgbGV0IHVuZGV0ZXJtaW5lZFNlbGVjdGlvbiA9IGZhbHNlO1xuICAgICAgICBpZiAoZW50cnkudWlkID09PSBlbnRyeVVpZCkge1xuICAgICAgICAgICAgc2VsZWN0ZWQgPSAhZW50cnkuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMuc2VsZWN0TGVhZnMoZW50cnkuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbiA9IHRoaXMudW5zZWxlY3RMZWFmcyhlbnRyeS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IGVudHJ5LmNoaWxkcmVuLm1hcChjaGlsZCA9PiB0aGlzLnRvZ2dsZVNlbGVjdExlYWYoY2hpbGQsIGVudHJ5VWlkKSk7XG4gICAgICAgICAgICBzZWxlY3RlZCA9IGNoaWxkcmVuLmV2ZXJ5KGNoaWxkID0+IGNoaWxkLnNlbGVjdGVkIHx8IChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGNoaWxkKSAmJiAhY2hpbGQuc2VsZWN0YWJsZSkpO1xuICAgICAgICAgICAgdW5kZXRlcm1pbmVkU2VsZWN0aW9uID0gIXNlbGVjdGVkICYmIGNoaWxkcmVuLnNvbWUoY2hpbGQgPT4gY2hpbGQuc2VsZWN0ZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgZm9sZGVkOiBjb21wdXRlRm9sZGVkKGVudHJ5LCBjaGlsZHJlbiksXG4gICAgICAgICAgICBjaGlsZHJlbixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgdW5kZXRlcm1pbmVkU2VsZWN0aW9uLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHRvZ2dsZVNlbGVjdExlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIHVpZDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAobGVhZi51aWQgPT09IHVpZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiAhbGVhZi5zZWxlY3RlZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxlYWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0TGVhZnMobGVhZnM6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmW10pOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZltdIHtcbiAgICAgICAgcmV0dXJuIGxlYWZzLm1hcChsZWFmID0+ICh7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGxlYWYuc2VsZWN0YWJsZSxcbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHVuc2VsZWN0TGVhZnMobGVhZnM6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmW10pOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZltdIHtcbiAgICAgICAgcmV0dXJuIGxlYWZzLm1hcChsZWFmID0+ICh7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5zZWxlY3RDaGlsZHJlbjxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyeTogVFtdKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cnkubWFwKGNoaWxkID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnVuc2VsZWN0Q2hpbGRyZW4oY2hpbGQuY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnVuc2VsZWN0Q2hpbGRyZW4oY2hpbGQuY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0Q2hpbGRyZW48VCBleHRlbmRzIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeT4oZW50cnk6IFRbXSk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJ5Lm1hcChjaGlsZCA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGNoaWxkLnNlbGVjdGFibGUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnkoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB0aGlzLnNlbGVjdENoaWxkcmVuKGNoaWxkLmNoaWxkcmVuKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuc2VsZWN0Q2hpbGRyZW4oY2hpbGQuY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLm11bHRpLXNlbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9uYXYtc2VsZWN0b3Ivc3JjL3V0aWxzL25hdi1zZWxlY3Rvci5tdWx0aS1zZWxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUtILG1DQUFtQyxFQUNuQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQUMvQjs7Ozs7Ozs7OztPQVVHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE9BQW1DLEVBQUUsUUFBZ0I7UUFDN0UsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQzNELENBQUM7aUJBQU0sSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDNUQsQ0FBQztpQkFBTSxJQUFJLG1DQUFtQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELE9BQU8sSUFBSSxDQUFDLDZCQUE2QixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMvRCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsNkJBQTZCLENBQXFDLE9BQVksRUFBRSxRQUFnQjtRQUNuRyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMs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QUFDLFFBQVEsQ0FBQztvQkFDL0MsUUFBUSxFQUFFLEtBQUs7aUJBQ2xCLENBQUM7WUFDTixDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sTUFBTSxDQUFDLGNBQWMsQ0FBcUMsS0FBVTtRQUN4RSxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckIsSUFBSSwrQkFBK0IsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxPQUFPO29CQUNILEdBQUcsS0FBSztvQkFDUixRQUFRLEVBQUUsS0FBSyxDQUFDLFVBQVU7aUJBQzdCLENBQUM7WUFDTixDQUFDO2lCQUFNLElBQUksbUNBQW1DLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsT0FBTztvQkFDSCxHQUFHLEtBQUs7b0JBQ1IsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztpQkFDaEQsQ0FBQztZQUNOLENBQUM7aUJBQU0sSUFBSSxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxPQUFPO29CQUNILEdBQUcsS0FBSztvQkFDUixRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO29CQUM3QyxRQUFRLEVBQUUsSUFBSTtpQkFDakIsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckNhdGVnb3J5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yR3JvdXAsXG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBQ2F0ZWdvcnksXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBR3JvdXAsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlLFxufSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuXG4vKipcbiAqIE5hdlNlbGVjdG9yTXVsdGlTZWxlY3QgaXMgYSB1dGlsaXR5IGNsYXNzIHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBzZWxlY3QgYW4gZW50cnkgaW4gbXVsdGlwbGUgbW9kZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5hdlNlbGVjdG9yTXVsdGlTZWxlY3Qge1xuICAgIC8qKlxuICAgICAqIFNlbGVjdCBhbiBlbnRyeSBpbiBtdWx0aXBsZSBtb2RlLlxuICAgICAqXG4gICAgICogQ2F0ZWdvcmllcyBhcmUgbm90IHNlbGVjdGFibGUuXG4gICAgICpcbiAgICAgKiBHcm91cHMgYW5kIGxlYXZlcyBhcmUgc2VsZWN0YWJsZS5cbiAgICAgKlxuICAgICAqIEdyb3VwcyBtYXkgYmUgaW4gdW5kZXRlcm1pbmVkIHN0YXRlIGlmIHNvbWUgb2YgdGhlaXIgY2hpbGRyZW4gYXJlIHNlbGVjdGVkIGFuZCBzb21lIGFyZSBub3QuXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKiBAcGFyYW0gZW50cnlVaWQgdGhlIGVudHJ5IHVpZCB0byBzZWxlY3RcbiAgICAgKi9cbiAgICBzdGF0aWMgc2VsZWN0SW5NdWx0aXBsZU1vZGUoZW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10sIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZkluTXVsdGlwbGVNb2RlKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFHcm91cEluTXVsdGlwbGVNb2RlKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUNhdGVnb3J5KGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFDYXRlZ29yeUluTXVsdGlwbGVNb2RlKGVudHJ5LCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbGVjdCBvbmx5IGEgbGVhZiBpbiBtdWx0aXBsZSBtb2RlLlxuICAgICAqXG4gICAgICogQ2F0ZWdvcmllcyBhcmUgbm90IHNlbGVjdGFibGUuXG4gICAgICpcbiAgICAgKiBHcm91cHMgbWF5IGJlIGluIHVuZGV0ZXJtaW5lZCBzdGF0ZSBpZiBzb21lIG9mIHRoZWlyIGNoaWxkcmVuIGFyZSBzZWxlY3RlZCBhbmQgc29tZSBhcmUgbm90LlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gc2VsZWN0XG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdE9ubHlBTGVhZkluTXVsdGlwbGVNb2RlPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KGVudHJpZXM6IFRbXSwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIGVudHJpZXMubWFwKGVudHJ5ID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZW50cnkudWlkID09PSBlbnRyeVVpZCxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuc2VsZWN0T25seUFMZWFmSW5NdWx0aXBsZU1vZGUoZW50cnkuY2hpbGRyZW4sIGVudHJ5VWlkKSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFHcm91cChlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlbiA9IGVudHJ5LmNoaWxkcmVuLmZsYXRNYXAoXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkID0+IHRoaXMuc2VsZWN0T25seUFMZWFmSW5NdWx0aXBsZU1vZGUoW2NoaWxkXSwgZW50cnlVaWQpIGFzIEludGVybmFsTmF2U2VsZWN0b3JMZWFmW11cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gY2hpbGRyZW4uZXZlcnkoY2hpbGQgPT4gY2hpbGQuc2VsZWN0ZWQgfHwgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoY2hpbGQpICYmICFjaGlsZC5zZWxlY3RhYmxlKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgdW5kZXRlcm1pbmVkU2VsZWN0aW9uOiAhc2VsZWN0ZWQgJiYgY2hpbGRyZW4uc29tZShjaGlsZCA9PiBjaGlsZC5zZWxlY3RlZCksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGFsbCBlbnRyaWVzIGluIG11bHRpcGxlIG1vZGUuXG4gICAgICpcbiAgICAgKiBDYXRlZ29yaWVzIGFyZSBub3Qgc2VsZWN0YWJsZS5cbiAgICAgKlxuICAgICAqIEdyb3VwcyBhbmQgbGVhdmVzIGFyZSBzZWxlY3RhYmxlLlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdEFsbChlbnRyaWVzOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSk6IEludGVybmFsTmF2U2VsZWN0b3JFbnRyeVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0Q2hpbGRyZW4oZW50cmllcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5zZWxlY3QgYWxsIGVudHJpZXMgaW4gbXVsdGlwbGUgbW9kZS5cbiAgICAgKlxuICAgICAqIENhdGVnb3JpZXMgYXJlIG5vdCBzZWxlY3RhYmxlLlxuICAgICAqXG4gICAgICogR3JvdXBzIGFuZCBsZWF2ZXMgYXJlIHNlbGVjdGFibGUuXG4gICAgICogQHBhcmFtIGVudHJpZXMgbmF2IHNlbGVjdG9yIGVudHJpZXNcbiAgICAgKi9cbiAgICBzdGF0aWMgdW5zZWxlY3RBbGwoZW50cmllczogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10pOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnVuc2VsZWN0Q2hpbGRyZW4oZW50cmllcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZJbk11bHRpcGxlTW9kZShsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgbGV0IHNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIGlmIChsZWFmLnNlbGVjdGFibGUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkID0gbGVhZi51aWQgPT09IGVudHJ5VWlkID8gIWxlYWYuc2VsZWN0ZWQgOiBsZWFmLnNlbGVjdGVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUNhdGVnb3J5SW5NdWx0aXBsZU1vZGUoZW50cnk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JDYXRlZ29yeSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBlbnRyeS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZkluTXVsdGlwbGVNb2RlKGNoaWxkLCBlbnRyeVVpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFHcm91cEluTXVsdGlwbGVNb2RlKGNoaWxkLCBlbnRyeVVpZCk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RBR3JvdXBJbk11bHRpcGxlTW9kZShlbnRyeTogSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwLCBlbnRyeVVpZDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3Rvckdyb3VwIHtcbiAgICAgICAgaWYgKCFlbnRyeS5zZWxlY3RhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHNlbGVjdGVkOiBib29sZWFuO1xuICAgICAgICBsZXQgY2hpbGRyZW46IEludGVybmFsTmF2U2VsZWN0b3JMZWFmW107XG4gICAgICAgIGxldCB1bmRldGVybWluZWRTZWxlY3Rpb24gPSBmYWxzZTtcbiAgICAgICAgaWYgKGVudHJ5LnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkID0gIWVudHJ5LnNlbGVjdGVkO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW4gPSB0aGlzLnNlbGVjdExlYWZzKGVudHJ5LmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW4gPSB0aGlzLnVuc2VsZWN0TGVhZnMoZW50cnkuY2hpbGRyZW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY2hpbGRyZW4gPSBlbnRyeS5jaGlsZHJlbi5tYXAoY2hpbGQgPT4gdGhpcy50b2dnbGVTZWxlY3RMZWFmKGNoaWxkLCBlbnRyeVVpZCkpO1xuICAgICAgICAgICAgc2VsZWN0ZWQgPSBjaGlsZHJlbi5ldmVyeShjaGlsZCA9PiBjaGlsZC5zZWxlY3RlZCB8fCAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihjaGlsZCkgJiYgIWNoaWxkLnNlbGVjdGFibGUpKTtcbiAgICAgICAgICAgIHVuZGV0ZXJtaW5lZFNlbGVjdGlvbiA9ICFzZWxlY3RlZCAmJiBjaGlsZHJlbi5zb21lKGNoaWxkID0+IGNoaWxkLnNlbGVjdGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICB1bmRldGVybWluZWRTZWxlY3Rpb24sXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdG9nZ2xlU2VsZWN0TGVhZihsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiwgdWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmIChsZWFmLnVpZCA9PT0gdWlkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6ICFsZWFmLnNlbGVjdGVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGVhZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RMZWFmcyhsZWFmczogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSk6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmW10ge1xuICAgICAgICByZXR1cm4gbGVhZnMubWFwKGxlYWYgPT4gKHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZDogbGVhZi5zZWxlY3RhYmxlLFxuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgdW5zZWxlY3RMZWFmcyhsZWFmczogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWZbXSk6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmW10ge1xuICAgICAgICByZXR1cm4gbGVhZnMubWFwKGxlYWYgPT4gKHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyB1bnNlbGVjdENoaWxkcmVuPFQgZXh0ZW5kcyBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnk+KGVudHJ5OiBUW10pOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyeS5tYXAoY2hpbGQgPT4ge1xuICAgICAgICAgICAgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUxlYWYoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2hpbGQsXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5zZWxlY3RDaGlsZHJlbihjaGlsZC5jaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTm9kZShjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMudW5zZWxlY3RDaGlsZHJlbihjaGlsZC5jaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RDaGlsZHJlbjxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyeTogVFtdKTogSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5W10ge1xuICAgICAgICByZXR1cm4gZW50cnkubWFwKGNoaWxkID0+IHtcbiAgICAgICAgICAgIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogY2hpbGQuc2VsZWN0YWJsZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFDYXRlZ29yeShjaGlsZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZCxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMuc2VsZWN0Q2hpbGRyZW4oY2hpbGQuY2hpbGRyZW4pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QUdyb3VwKGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmNoaWxkLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogdGhpcy5zZWxlY3RDaGlsZHJlbihjaGlsZC5jaGlsZHJlbiksXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { isInternalNavSelectorEntryALeaf, isInternalNavSelectorEntryANode, } from '../nav-selector';
|
|
2
|
-
import { computeFolded } from './leaf.utils';
|
|
3
2
|
/**
|
|
4
3
|
* NavSelectorSingleSelect is a utility class that provides methods to select a single entry in a nav selector.
|
|
5
4
|
*/
|
|
@@ -15,14 +14,9 @@ export class NavSelectorSingleSelect {
|
|
|
15
14
|
return this.selectALeaf(entry, entryUid);
|
|
16
15
|
}
|
|
17
16
|
else if (isInternalNavSelectorEntryANode(entry)) {
|
|
18
|
-
const children = entry.children.flatMap(child => this.select([child], entryUid));
|
|
19
|
-
const folded = computeFolded(entry, children);
|
|
20
17
|
return {
|
|
21
18
|
...entry,
|
|
22
|
-
|
|
23
|
-
displayCounter: folded && entry.children.some(child => child.displayCounter),
|
|
24
|
-
displayTokenInvalid: folded && entry.children.some(child => child.displayTokenInvalid),
|
|
25
|
-
children,
|
|
19
|
+
children: entry.children.flatMap(child => this.select([child], entryUid)),
|
|
26
20
|
};
|
|
27
21
|
}
|
|
28
22
|
return entry;
|
|
@@ -116,4 +110,4 @@ export class NavSelectorSingleSelect {
|
|
|
116
110
|
};
|
|
117
111
|
}
|
|
118
112
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLnNpbmdsZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3Iuc2luZ2xlLXNlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFN0M7O0dBRUc7QUFDSCxNQUFNLE9BQU8sdUJBQXVCO0lBQ2hDOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFxQyxPQUFZLEVBQUUsUUFBZ0I7UUFDNUUsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3ZCLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLElBQUksK0JBQStCLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDakYsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDOUMsT0FBTztvQkFDSCxHQUFHLEtBQUs7b0JBQ1IsTUFBTTtvQkFDTixjQUFjLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMs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SUFBSSxDQUFDLEdBQUcsS0FBSyxRQUFRLENBQUM7UUFDMUQsT0FBTztZQUNILEdBQUcsSUFBSTtZQUNQLFFBQVE7WUFDUixhQUFhLEVBQUU7Z0JBQ1gsR0FBRyxJQUFJLENBQUMsYUFBYTtnQkFDckIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDOUI7WUFDRCxNQUFNLEVBQUUsSUFBSTtTQUNmLENBQUM7SUFDTixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEludGVybmFsTmF2U2VsZWN0b3JFbnRyeSxcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZixcbiAgICBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHMsXG4gICAgaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZixcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlLFxufSBmcm9tICcuLi9uYXYtc2VsZWN0b3InO1xuaW1wb3J0IHsgY29tcHV0ZUZvbGRlZCB9IGZyb20gJy4vbGVhZi51dGlscyc7XG5cbi8qKlxuICogTmF2U2VsZWN0b3JTaW5nbGVTZWxlY3QgaXMgYSB1dGlsaXR5IGNsYXNzIHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBzZWxlY3QgYSBzaW5nbGUgZW50cnkgaW4gYSBuYXYgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvclNpbmdsZVNlbGVjdCB7XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyBhIHNpbmdsZSBlbnRyeSBpbiB0aGUgbmF2IHNlbGVjdG9yLlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gc2VsZWN0XG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZihlbnRyeSwgZW50cnlVaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuID0gZW50cnkuY2hpbGRyZW4uZmxhdE1hcChjaGlsZCA9PiB0aGlzLnNlbGVjdChbY2hpbGRdLCBlbnRyeVVpZCkpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvbGRlZCA9IGNvbXB1dGVGb2xkZWQoZW50cnksIGNoaWxkcmVuKTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgZm9sZGVkLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZm9sZGVkICYmIGVudHJ5LmNoaWxkcmVuLnNvbWUoY2hpbGQgPT4gY2hpbGQuZGlzcGxheUNvdW50ZXIpLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5VG9rZW5JbnZhbGlkOiBmb2xkZWQgJiYgZW50cnkuY2hpbGRyZW4uc29tZShjaGlsZCA9PiBjaGlsZC5kaXNwbGF5VG9rZW5JbnZhbGlkKSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBlbnRyeTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWYobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmICghIWxlYWYuZGV0YWlscy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmV2l0aERldGFpbHMobGVhZiwgZW50cnlVaWQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmV2l0aG91dERldGFpbHMobGVhZiwgZW50cnlVaWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0aERldGFpbHMobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGlmIChsZWFmLnVpZCA9PT0gZW50cnlVaWQpIHtcbiAgICAgICAgICAgIGlmICghbGVhZi5kZXRhaWxzRGlzcGxheWFibGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZldpdERldGFpbHNOb3REaXNwbGF5YWJsZShsZWFmKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0QUxlYWZXaXRoRGlzcGxheWFibGVEZXRhaWxzKGxlYWYpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBsZWFmLmRldGFpbHMubWFwKGRldGFpbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBkZXRhaWxTZWxlY3RlZCA9IGRldGFpbC51aWQgPT09IGVudHJ5VWlkICYmICFkZXRhaWwuZGlzcGxheUVycm9yO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5kZXRhaWwsXG4gICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGRldGFpbFNlbGVjdGVkLFxuICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZGV0YWlsLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4OiBkZXRhaWxTZWxlY3RlZCA/IDAgOiAtMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgLi4ubGVhZi5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6ICFsZWFmLmZvbGRlZCA/IGZhbHNlIDogZGV0YWlscy5ldmVyeShkZXRhaWwgPT4gIWRldGFpbC5zZWxlY3RlZCksXG4gICAgICAgICAgICBkZXRhaWxTZWxlY3RlZDogZGV0YWlscy5zb21lKGRldGFpbCA9PiBkZXRhaWwuc2VsZWN0ZWQpLFxuICAgICAgICAgICAgZGV0YWlscyxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RBTGVhZldpdERldGFpbHNOb3REaXNwbGF5YWJsZShsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZik6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBsZWFmLnNlbGVjdGFibGU7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgLi4ubGVhZi5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiBzZWxlY3RlZCA/IDAgOiAtMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBmb2xkZWQ6ICFsZWFmLmRldGFpbHNEaXNwbGF5YWJsZSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RBTGVhZldpdGhEaXNwbGF5YWJsZURldGFpbHMobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHMgPSBsZWFmLmRldGFpbHMucmVkdWNlKFxuICAgICAgICAgICAgKHsgcHJldmlvdXNEZXRhaWxTZWxlY3RlZCwgZGV0YWlscyB9LCBkZXRhaWwsIGlkeCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRldGFpbFNlbGVjdGVkID1cbiAgICAgICAgICAgICAgICAgICAgIXByZXZpb3VzRGV0YWlsU2VsZWN0ZWQgJiYgbGVhZi5kZXRhaWxzRGlzcGxheWFibGUgJiYgIWRldGFpbC5kaXNwbGF5RXJyb3IgJiYgKGlkeCA9PT0gMCB8fCAhZGV0YWlsc1tpZHggLSAxXS5zZWxlY3RlZCk7XG4gICAgICAgICAgICAgICAgZGV0YWlscy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZGV0YWlsLFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZDogZGV0YWlsU2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uZGV0YWlsLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJJbmRleDogZGV0YWlsU2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgcHJldmlvdXNEZXRhaWxTZWxlY3RlZDogcHJldmlvdXNEZXRhaWxTZWxlY3RlZCB8fCBkZXRhaWxTZWxlY3RlZCwgZGV0YWlscyB9O1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHsgcHJldmlvdXNEZXRhaWxTZWxlY3RlZDogZmFsc2UsIGRldGFpbHM6IFtdIGFzIEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlsc1tdIH1cbiAgICAgICAgKS5kZXRhaWxzO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAuLi5sZWFmLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg6IC0xLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRpc3BsYXlDb3VudGVyOiBmYWxzZSxcbiAgICAgICAgICAgIGZvbGRlZDogIWxlYWYuZGV0YWlsc0Rpc3BsYXlhYmxlLFxuICAgICAgICAgICAgZGV0YWlsU2VsZWN0ZWQ6IGRldGFpbHMuc29tZShkZXRhaWwgPT4gZGV0YWlsLnNlbGVjdGVkKSxcbiAgICAgICAgICAgIGRldGFpbHMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZXaXRob3V0RGV0YWlscyhsZWFmOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiwgZW50cnlVaWQ6IHN0cmluZyk6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWQgPSBsZWFmLnNlbGVjdGFibGUgJiYgbGVhZi51aWQgPT09IGVudHJ5VWlkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICAgICAgICAgIC4uLmxlYWYuYWNjZXNzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICB0YWJJbmRleDogc2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9sZGVkOiB0cnVlLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LXNlbGVjdG9yLnNpbmdsZS1zZWxlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvbmF2LXNlbGVjdG9yL3NyYy91dGlscy9uYXYtc2VsZWN0b3Iuc2luZ2xlLXNlbGVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsK0JBQStCLEVBQy9CLCtCQUErQixHQUNsQyxNQUFNLGlCQUFpQixDQUFDO0FBRXpCOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNoQzs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLE1BQU0sQ0FBcUMsT0FBWSxFQUFFLFFBQWdCO1FBQzVFLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3pDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2hELE9BQU87b0JBQ0gsR0FBRyxLQUFLO29CQUNSLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDNUUsQ0FBQztZQUNOLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQTZCLEVBQUUsUUFBZ0I7UUFDdEUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN4QixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVB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QUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHNCQUFzQixJQUFJLGNBQWMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN6RixDQUFDLEVBQ0QsRUFBRSxzQkFBc0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEVBQXNDLEVBQUUsQ0FDckYsQ0FBQyxPQUFPLENBQUM7UUFDVixPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsUUFBUSxFQUFFLEtBQUs7WUFDZixhQUFhLEVBQUU7Z0JBQ1gsR0FBRyxJQUFJLENBQUMsYUFBYTtnQkFDckIsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNmO1lBQ0QsY0FBYyxFQUFFLEtBQUs7WUFDckIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUNoQyxjQUFjLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7WUFDdkQsT0FBTztTQUNWLENBQUM7SUFDTixDQUFDO0lBRU8sTUFBTSxDQUFDLHlCQUF5QixDQUFDLElBQTZCLEVBQUUsUUFBZ0I7UUFDcEYsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQztRQUMxRCxPQUFPO1lBQ0gsR0FBRyxJQUFJO1lBQ1AsUUFBUTtZQUNSLGFBQWEsRUFBRTtnQkFDWCxHQUFHLElBQUksQ0FBQyxhQUFhO2dCQUNyQixRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM5QjtZQUNELE1BQU0sRUFBRSxJQUFJO1NBQ2YsQ0FBQztJQUNOLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5LFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmLFxuICAgIEludGVybmFsTmF2U2VsZWN0b3JMZWFmRGV0YWlscyxcbiAgICBpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFMZWFmLFxuICAgIGlzSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5QU5vZGUsXG59IGZyb20gJy4uL25hdi1zZWxlY3Rvcic7XG5cbi8qKlxuICogTmF2U2VsZWN0b3JTaW5nbGVTZWxlY3QgaXMgYSB1dGlsaXR5IGNsYXNzIHRoYXQgcHJvdmlkZXMgbWV0aG9kcyB0byBzZWxlY3QgYSBzaW5nbGUgZW50cnkgaW4gYSBuYXYgc2VsZWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXZTZWxlY3RvclNpbmdsZVNlbGVjdCB7XG4gICAgLyoqXG4gICAgICogU2VsZWN0cyBhIHNpbmdsZSBlbnRyeSBpbiB0aGUgbmF2IHNlbGVjdG9yLlxuICAgICAqIEBwYXJhbSBlbnRyaWVzIG5hdiBzZWxlY3RvciBlbnRyaWVzXG4gICAgICogQHBhcmFtIGVudHJ5VWlkIHRoZSBlbnRyeSB1aWQgdG8gc2VsZWN0XG4gICAgICovXG4gICAgc3RhdGljIHNlbGVjdDxUIGV4dGVuZHMgSW50ZXJuYWxOYXZTZWxlY3RvckVudHJ5PihlbnRyaWVzOiBUW10sIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlbXSB7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiB7XG4gICAgICAgICAgICBpZiAoaXNJbnRlcm5hbE5hdlNlbGVjdG9yRW50cnlBTGVhZihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZihlbnRyeSwgZW50cnlVaWQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChpc0ludGVybmFsTmF2U2VsZWN0b3JFbnRyeUFOb2RlKGVudHJ5KSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LFxuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogZW50cnkuY2hpbGRyZW4uZmxhdE1hcChjaGlsZCA9PiB0aGlzLnNlbGVjdChbY2hpbGRdLCBlbnRyeVVpZCkpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBlbnRyeVVpZDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAoISFsZWFmLmRldGFpbHMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZldpdGhEZXRhaWxzKGxlYWYsIGVudHJ5VWlkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RBTGVhZldpdGhvdXREZXRhaWxzKGxlYWYsIGVudHJ5VWlkKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBzZWxlY3RBTGVhZldpdGhEZXRhaWxzKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmLCBlbnRyeVVpZDogc3RyaW5nKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBpZiAobGVhZi51aWQgPT09IGVudHJ5VWlkKSB7XG4gICAgICAgICAgICBpZiAoIWxlYWYuZGV0YWlsc0Rpc3BsYXlhYmxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0QUxlYWZXaXREZXRhaWxzTm90RGlzcGxheWFibGUobGVhZik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdEFMZWFmV2l0aERpc3BsYXlhYmxlRGV0YWlscyhsZWFmKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBkZXRhaWxzID0gbGVhZi5kZXRhaWxzLm1hcChkZXRhaWwgPT4ge1xuICAgICAgICAgICAgY29uc3QgZGV0YWlsU2VsZWN0ZWQgPSBkZXRhaWwudWlkID09PSBlbnRyeVVpZCAmJiAhZGV0YWlsLmRpc3BsYXlFcnJvcjtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgLi4uZGV0YWlsLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkOiBkZXRhaWxTZWxlY3RlZCxcbiAgICAgICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbC5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgICAgICB0YWJJbmRleDogZGV0YWlsU2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5sZWFmLFxuICAgICAgICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICAgICAgICAgIC4uLmxlYWYuYWNjZXNzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICB0YWJJbmRleDogLTEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZm9sZGVkOiAhbGVhZi5mb2xkZWQgPyBmYWxzZSA6IGRldGFpbHMuZXZlcnkoZGV0YWlsID0+ICFkZXRhaWwuc2VsZWN0ZWQpLFxuICAgICAgICAgICAgZGV0YWlsU2VsZWN0ZWQ6IGRldGFpbHMuc29tZShkZXRhaWwgPT4gZGV0YWlsLnNlbGVjdGVkKSxcbiAgICAgICAgICAgIGRldGFpbHMsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZXaXREZXRhaWxzTm90RGlzcGxheWFibGUobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gbGVhZi5zZWxlY3RhYmxlO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4ubGVhZixcbiAgICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgICAgYWNjZXNzaWJpbGl0eToge1xuICAgICAgICAgICAgICAgIC4uLmxlYWYuYWNjZXNzaWJpbGl0eSxcbiAgICAgICAgICAgICAgICB0YWJJbmRleDogc2VsZWN0ZWQgPyAwIDogLTEsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9sZGVkOiAhbGVhZi5kZXRhaWxzRGlzcGxheWFibGUsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0QUxlYWZXaXRoRGlzcGxheWFibGVEZXRhaWxzKGxlYWY6IEludGVybmFsTmF2U2VsZWN0b3JMZWFmKTogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYge1xuICAgICAgICBjb25zdCBkZXRhaWxzID0gbGVhZi5kZXRhaWxzLnJlZHVjZShcbiAgICAgICAgICAgICh7IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQsIGRldGFpbHMgfSwgZGV0YWlsLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkZXRhaWxTZWxlY3RlZCA9XG4gICAgICAgICAgICAgICAgICAgICFwcmV2aW91c0RldGFpbFNlbGVjdGVkICYmIGxlYWYuZGV0YWlsc0Rpc3BsYXlhYmxlICYmICFkZXRhaWwuZGlzcGxheUVycm9yICYmIChpZHggPT09IDAgfHwgIWRldGFpbHNbaWR4IC0gMV0uc2VsZWN0ZWQpO1xuICAgICAgICAgICAgICAgIGRldGFpbHMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbCxcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ6IGRldGFpbFNlbGVjdGVkLFxuICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmRldGFpbC5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiSW5kZXg6IGRldGFpbFNlbGVjdGVkID8gMCA6IC0xLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQ6IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQgfHwgZGV0YWlsU2VsZWN0ZWQsIGRldGFpbHMgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IHByZXZpb3VzRGV0YWlsU2VsZWN0ZWQ6IGZhbHNlLCBkZXRhaWxzOiBbXSBhcyBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZkRldGFpbHNbXSB9XG4gICAgICAgICkuZGV0YWlscztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgICAgICAgICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgICAgICAgICAgICAgLi4ubGVhZi5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkaXNwbGF5Q291bnRlcjogZmFsc2UsXG4gICAgICAgICAgICBmb2xkZWQ6ICFsZWFmLmRldGFpbHNEaXNwbGF5YWJsZSxcbiAgICAgICAgICAgIGRldGFpbFNlbGVjdGVkOiBkZXRhaWxzLnNvbWUoZGV0YWlsID0+IGRldGFpbC5zZWxlY3RlZCksXG4gICAgICAgICAgICBkZXRhaWxzLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIHNlbGVjdEFMZWFmV2l0aG91dERldGFpbHMobGVhZjogSW50ZXJuYWxOYXZTZWxlY3RvckxlYWYsIGVudHJ5VWlkOiBzdHJpbmcpOiBJbnRlcm5hbE5hdlNlbGVjdG9yTGVhZiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gbGVhZi5zZWxlY3RhYmxlICYmIGxlYWYudWlkID09PSBlbnRyeVVpZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmxlYWYsXG4gICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgIGFjY2Vzc2liaWxpdHk6IHtcbiAgICAgICAgICAgICAgICAuLi5sZWFmLmFjY2Vzc2liaWxpdHksXG4gICAgICAgICAgICAgICAgdGFiSW5kZXg6IHNlbGVjdGVkID8gMCA6IC0xLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGZvbGRlZDogdHJ1ZSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -666,6 +666,8 @@ class NavSelectorFolding {
|
|
|
666
666
|
...entry,
|
|
667
667
|
children: result.entries,
|
|
668
668
|
folded: false,
|
|
669
|
+
displayCounter: false,
|
|
670
|
+
displayTokenInvalid: false,
|
|
669
671
|
focusable: true,
|
|
670
672
|
};
|
|
671
673
|
}
|
|
@@ -730,11 +732,9 @@ class NavSelectorMultiSelect {
|
|
|
730
732
|
};
|
|
731
733
|
}
|
|
732
734
|
else if (isInternalNavSelectorEntryACategory(entry)) {
|
|
733
|
-
const children = this.selectOnlyALeafInMultipleMode(entry.children, entryUid);
|
|
734
735
|
return {
|
|
735
736
|
...entry,
|
|
736
|
-
|
|
737
|
-
children,
|
|
737
|
+
children: this.selectOnlyALeafInMultipleMode(entry.children, entryUid),
|
|
738
738
|
};
|
|
739
739
|
}
|
|
740
740
|
else if (isInternalNavSelectorEntryAGroup(entry)) {
|
|
@@ -744,7 +744,6 @@ class NavSelectorMultiSelect {
|
|
|
744
744
|
...entry,
|
|
745
745
|
children,
|
|
746
746
|
selected,
|
|
747
|
-
folded: computeFolded(entry, children),
|
|
748
747
|
undeterminedSelection: !selected && children.some(child => child.selected),
|
|
749
748
|
};
|
|
750
749
|
}
|
|
@@ -784,16 +783,14 @@ class NavSelectorMultiSelect {
|
|
|
784
783
|
};
|
|
785
784
|
}
|
|
786
785
|
static selectACategoryInMultipleMode(entry, entryUid) {
|
|
787
|
-
const children = entry.children.map(child => {
|
|
788
|
-
if (isInternalNavSelectorEntryALeaf(child)) {
|
|
789
|
-
return this.selectALeafInMultipleMode(child, entryUid);
|
|
790
|
-
}
|
|
791
|
-
return this.selectAGroupInMultipleMode(child, entryUid);
|
|
792
|
-
});
|
|
793
786
|
return {
|
|
794
787
|
...entry,
|
|
795
|
-
|
|
796
|
-
|
|
788
|
+
children: entry.children.map(child => {
|
|
789
|
+
if (isInternalNavSelectorEntryALeaf(child)) {
|
|
790
|
+
return this.selectALeafInMultipleMode(child, entryUid);
|
|
791
|
+
}
|
|
792
|
+
return this.selectAGroupInMultipleMode(child, entryUid);
|
|
793
|
+
}),
|
|
797
794
|
};
|
|
798
795
|
}
|
|
799
796
|
static selectAGroupInMultipleMode(entry, entryUid) {
|
|
@@ -819,7 +816,6 @@ class NavSelectorMultiSelect {
|
|
|
819
816
|
}
|
|
820
817
|
return {
|
|
821
818
|
...entry,
|
|
822
|
-
folded: computeFolded(entry, children),
|
|
823
819
|
children,
|
|
824
820
|
selected,
|
|
825
821
|
undeterminedSelection,
|
|
@@ -911,14 +907,9 @@ class NavSelectorSingleSelect {
|
|
|
911
907
|
return this.selectALeaf(entry, entryUid);
|
|
912
908
|
}
|
|
913
909
|
else if (isInternalNavSelectorEntryANode(entry)) {
|
|
914
|
-
const children = entry.children.flatMap(child => this.select([child], entryUid));
|
|
915
|
-
const folded = computeFolded(entry, children);
|
|
916
910
|
return {
|
|
917
911
|
...entry,
|
|
918
|
-
|
|
919
|
-
displayCounter: folded && entry.children.some(child => child.displayCounter),
|
|
920
|
-
displayTokenInvalid: folded && entry.children.some(child => child.displayTokenInvalid),
|
|
921
|
-
children,
|
|
912
|
+
children: entry.children.flatMap(child => this.select([child], entryUid)),
|
|
922
913
|
};
|
|
923
914
|
}
|
|
924
915
|
return entry;
|
|
@@ -1664,7 +1655,6 @@ class NavSelectorState {
|
|
|
1664
1655
|
viewMore: '',
|
|
1665
1656
|
viewLess: '',
|
|
1666
1657
|
});
|
|
1667
|
-
lastSelectedUids = signal([]);
|
|
1668
1658
|
isMultipleModeEnabled = this.multipleModeEnabled;
|
|
1669
1659
|
search = signal('');
|
|
1670
1660
|
noResults = computed(() => this.entries().every(({ hidden }) => hidden));
|
|
@@ -1766,10 +1756,9 @@ class NavSelectorState {
|
|
|
1766
1756
|
}
|
|
1767
1757
|
onSelectionChange(uids) {
|
|
1768
1758
|
// Avoid infinite loop if you put unexisting uids as select will generate the same entries but with different reference
|
|
1769
|
-
if (JSON.stringify(uids) === JSON.stringify(this.
|
|
1759
|
+
if (JSON.stringify(uids) === JSON.stringify(this.previousSelectedUids)) {
|
|
1770
1760
|
return;
|
|
1771
1761
|
}
|
|
1772
|
-
this.lastSelectedUids.set(uids);
|
|
1773
1762
|
const selectedUids = this.collectSelectedUids(this.entries());
|
|
1774
1763
|
const uidToSelect = uids.filter(uid => selectedUids.every(selectedUid => selectedUid !== uid));
|
|
1775
1764
|
const uidToUnselect = selectedUids.filter(uid => uids.every(selectedUid => selectedUid !== uid));
|
|
@@ -1781,9 +1770,13 @@ class NavSelectorState {
|
|
|
1781
1770
|
for (const uid of [...uidToSelect, ...uidToUnselect]) {
|
|
1782
1771
|
entries = NavSelectorMultiSelect.selectInMultipleMode(entries, uid);
|
|
1783
1772
|
}
|
|
1773
|
+
for (const uid of uidToSelect) {
|
|
1774
|
+
entries = NavSelectorFolding.unfoldParents(entries, uid, { multipleMode: true, minified: !this.expanded() });
|
|
1775
|
+
}
|
|
1784
1776
|
}
|
|
1785
1777
|
else {
|
|
1786
1778
|
entries = NavSelectorSingleSelect.select(entries, uids[0]);
|
|
1779
|
+
entries = NavSelectorFolding.unfoldParents(entries, uids[0], { multipleMode: false, minified: !this.expanded() });
|
|
1787
1780
|
}
|
|
1788
1781
|
this.entries.set(entries);
|
|
1789
1782
|
}
|
|
@@ -2744,6 +2737,7 @@ class NavSelectorComponent {
|
|
|
2744
2737
|
selectedEntryUids = model.required();
|
|
2745
2738
|
actionClicked = output();
|
|
2746
2739
|
headerProjection = contentChild('header');
|
|
2740
|
+
contentHeaderProjection = contentChild('contentHeader');
|
|
2747
2741
|
footerProjection = contentChild('footer');
|
|
2748
2742
|
displayFooter = computed(() => this.footerProjection() !== undefined);
|
|
2749
2743
|
expansionState = computed(() => (this.navSelectorState.expanded() ? 'expanded' : 'minified'));
|
|
@@ -2874,7 +2868,7 @@ class NavSelectorComponent {
|
|
|
2874
2868
|
}
|
|
2875
2869
|
}
|
|
2876
2870
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NavSelectorComponent, deps: [{ token: NavSelectorState }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2877
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorComponent, isStandalone: true, selector: "ap-nav-selector", inputs: { navSelectorEntries: { classPropertyName: "navSelectorEntries", publicName: "navSelectorEntries", isSignal: true, isRequired: true, transformFunction: null }, translatedTexts: { classPropertyName: "translatedTexts", publicName: "translatedTexts", isSignal: true, isRequired: true, transformFunction: null }, multipleModeEnabled: { classPropertyName: "multipleModeEnabled", publicName: "multipleModeEnabled", isSignal: true, isRequired: false, transformFunction: null }, detailsDisplayedLimit: { classPropertyName: "detailsDisplayedLimit", publicName: "detailsDisplayedLimit", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null }, forceExpanded: { classPropertyName: "forceExpanded", publicName: "forceExpanded", isSignal: true, isRequired: false, transformFunction: null }, expandedStateLocalStorageKey: { classPropertyName: "expandedStateLocalStorageKey", publicName: "expandedStateLocalStorageKey", isSignal: true, isRequired: false, transformFunction: null }, selectedEntryUids: { classPropertyName: "selectedEntryUids", publicName: "selectedEntryUids", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectedEntryUids: "selectedEntryUidsChange", actionClicked: "actionClicked", onExpansionStateChange: "onExpansionStateChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown.arrowDown": "onArrowDown($event)", "keydown.arrowUp": "onArrowUp($event)", "window:resize": "onWindowResize()" }, properties: { "class.minified": "!navSelectorState.expanded()", "class.embedded": "embedded()", "@expand": "expansionState()" } }, providers: [NavSelectorState, withSymbols(apArrowExpand, apArrowReduce, apSearch)], queries: [{ propertyName: "headerProjection", first: true, predicate: ["header"], descendants: true, isSignal: true }, { propertyName: "footerProjection", first: true, predicate: ["footer"], descendants: true, isSignal: true }], ngImport: i0, template: "<nav\n [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let footerProjectionNotNull = footerProjection();\n\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n @if (navSelectorState.expanded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n }\n\n <button\n type=\"button\"\n class=\"expand-button\"\n [class.expanded]=\"navSelectorState.expanded()\"\n (click)=\"clickExpandButton()\">\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"navSelectorState.expanded() ? 'arrow-reduce' : 'arrow-expand'\" />\n </button>\n }\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n }\n\n @if (navSelectorState.expanded()) {\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n } @else {\n <ap-icon-button\n (onClick)=\"onMinifiedSearchClicked()\"\n type=\"stroked\"\n role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n }\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div\n class=\"entry\"\n [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf\n [leaf]=\"entry\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group\n [group]=\"entry\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category\n [category]=\"$any(entry)\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.expanded() && navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded()\n }\" />\n </div>\n }\n</nav>\n", styles: [":host,nav{width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded),nav:not(.embedded){width:250px}:host:not(.embedded) .nav-selector__content,nav:not(.embedded) .nav-selector__content{width:250px}}:host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;flex-grow:1}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;flex-grow:1;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white);transition:width .25s cubic-bezier(.4,0,.3,1)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;white-space:nowrap;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus-visible{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus-visible.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;width:224px;overflow-y:scroll;overflow-x:hidden;transition:width .25s cubic-bezier(.4,0,.3,1)}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified{width:64px}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content{width:64px}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"], dependencies: [{ kind: "component", type: NavSelectorLeafComponent, selector: "ap-nav-selector-leaf", inputs: ["leaf"], outputs: ["actionClicked"] }, { kind: "component", type: NavSelectorGroupComponent, selector: "ap-nav-selector-group", inputs: ["group"], outputs: ["actionClicked"] }, { kind: "component", type: NavSelectorCategoryComponent, selector: "ap-nav-selector-category", inputs: ["category"], outputs: ["actionClicked"] }, { kind: "component", type: InputSearchComponent, selector: "ap-input-search", inputs: ["id", "placeholder", "clearable"], outputs: ["focus", "blur", "keyup"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
2871
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NavSelectorComponent, isStandalone: true, selector: "ap-nav-selector", inputs: { navSelectorEntries: { classPropertyName: "navSelectorEntries", publicName: "navSelectorEntries", isSignal: true, isRequired: true, transformFunction: null }, translatedTexts: { classPropertyName: "translatedTexts", publicName: "translatedTexts", isSignal: true, isRequired: true, transformFunction: null }, multipleModeEnabled: { classPropertyName: "multipleModeEnabled", publicName: "multipleModeEnabled", isSignal: true, isRequired: false, transformFunction: null }, detailsDisplayedLimit: { classPropertyName: "detailsDisplayedLimit", publicName: "detailsDisplayedLimit", isSignal: true, isRequired: false, transformFunction: null }, embedded: { classPropertyName: "embedded", publicName: "embedded", isSignal: true, isRequired: false, transformFunction: null }, forceExpanded: { classPropertyName: "forceExpanded", publicName: "forceExpanded", isSignal: true, isRequired: false, transformFunction: null }, expandedStateLocalStorageKey: { classPropertyName: "expandedStateLocalStorageKey", publicName: "expandedStateLocalStorageKey", isSignal: true, isRequired: false, transformFunction: null }, selectedEntryUids: { classPropertyName: "selectedEntryUids", publicName: "selectedEntryUids", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { selectedEntryUids: "selectedEntryUidsChange", actionClicked: "actionClicked", onExpansionStateChange: "onExpansionStateChange" }, host: { attributes: { "role": "tree" }, listeners: { "keydown.arrowDown": "onArrowDown($event)", "keydown.arrowUp": "onArrowUp($event)", "window:resize": "onWindowResize()" }, properties: { "class.minified": "!navSelectorState.expanded()", "class.embedded": "embedded()", "@expand": "expansionState()" } }, providers: [NavSelectorState, withSymbols(apArrowExpand, apArrowReduce, apSearch)], queries: [{ propertyName: "headerProjection", first: true, predicate: ["header"], descendants: true, isSignal: true }, { propertyName: "contentHeaderProjection", first: true, predicate: ["contentHeader"], descendants: true, isSignal: true }, { propertyName: "footerProjection", first: true, predicate: ["footer"], descendants: true, isSignal: true }], ngImport: i0, template: "<nav [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let contentHeaderProjectionNotNull = contentHeaderProjection();\n @let footerProjectionNotNull = footerProjection();\n\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n @if (navSelectorState.expanded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n }\n\n <button\n type=\"button\"\n class=\"expand-button\"\n [class.expanded]=\"navSelectorState.expanded()\"\n (click)=\"clickExpandButton()\">\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"navSelectorState.expanded() ? 'arrow-reduce' : 'arrow-expand'\" />\n </button>\n }\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded(),\n }\" />\n }\n\n @if (navSelectorState.expanded()) {\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n } @else {\n <ap-icon-button\n (onClick)=\"onMinifiedSearchClicked()\"\n type=\"stroked\"\n role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n }\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @if (contentHeaderProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"contentHeaderProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded(),\n }\" />\n }\n\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div\n class=\"entry\"\n [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf\n [leaf]=\"entry\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group\n [group]=\"entry\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category\n [category]=\"$any(entry)\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.expanded() && navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded(),\n }\" />\n </div>\n }\n</nav>\n", styles: [":host,nav{width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded),nav:not(.embedded){width:250px}:host:not(.embedded) .nav-selector__content,nav:not(.embedded) .nav-selector__content{width:250px}}:host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;flex-grow:1}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;flex-grow:1;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white);transition:width .25s cubic-bezier(.4,0,.3,1)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;white-space:nowrap;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus-visible{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus-visible.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;width:224px;overflow-y:scroll;overflow-x:hidden;transition:width .25s cubic-bezier(.4,0,.3,1)}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified{width:64px}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content{width:64px}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"], dependencies: [{ kind: "component", type: NavSelectorLeafComponent, selector: "ap-nav-selector-leaf", inputs: ["leaf"], outputs: ["actionClicked"] }, { kind: "component", type: NavSelectorGroupComponent, selector: "ap-nav-selector-group", inputs: ["group"], outputs: ["actionClicked"] }, { kind: "component", type: NavSelectorCategoryComponent, selector: "ap-nav-selector-category", inputs: ["category"], outputs: ["actionClicked"] }, { kind: "component", type: InputSearchComponent, selector: "ap-input-search", inputs: ["id", "placeholder", "clearable"], outputs: ["focus", "blur", "keyup"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SymbolComponent, selector: "ap-symbol", inputs: ["symbolId", "color", "size"], outputs: ["sizeChange"] }, { kind: "component", type: IconButtonComponent, selector: "ap-icon-button", inputs: ["ariaLabel", "name", "color", "disabled", "menuTrigger", "symbolId", "locked", "loading", "type"], outputs: ["onClick", "onFocus", "onBlur", "menuOpened", "menuClosed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
|
|
2878
2872
|
trigger('expand', [
|
|
2879
2873
|
transition('expanded => minified', animate(EXPAND_ANIMATION_TIMINGS, keyframes([style({ width: EXPANDED_STATE_WIDTH }), style({ width: '100px' }), style({ width: MINIFIED_STATE_WIDTH })]))),
|
|
2880
2874
|
transition('minified => expanded', animate(EXPAND_ANIMATION_TIMINGS, keyframes([style({ width: MINIFIED_STATE_WIDTH }), style({ width: '50%' }), style({ width: '100%' })]))),
|
|
@@ -2905,7 +2899,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
2905
2899
|
transition('expanded => minified', animate(EXPAND_ANIMATION_TIMINGS, keyframes([style({ width: EXPANDED_STATE_WIDTH }), style({ width: '100px' }), style({ width: MINIFIED_STATE_WIDTH })]))),
|
|
2906
2900
|
transition('minified => expanded', animate(EXPAND_ANIMATION_TIMINGS, keyframes([style({ width: MINIFIED_STATE_WIDTH }), style({ width: '50%' }), style({ width: '100%' })]))),
|
|
2907
2901
|
]),
|
|
2908
|
-
], template: "<nav
|
|
2902
|
+
], template: "<nav [class.embedded]=\"embedded()\">\n @let headerProjectionNotNull = headerProjection();\n @let contentHeaderProjectionNotNull = contentHeaderProjection();\n @let footerProjectionNotNull = footerProjection();\n\n <div class=\"nav-selector__header\">\n @if (!embedded()) {\n @if (navSelectorState.expanded()) {\n <span class=\"h3\">{{ translatedTexts().title }}</span>\n }\n\n <button\n type=\"button\"\n class=\"expand-button\"\n [class.expanded]=\"navSelectorState.expanded()\"\n (click)=\"clickExpandButton()\">\n <ap-symbol\n size=\"sm\"\n [symbolId]=\"navSelectorState.expanded() ? 'arrow-reduce' : 'arrow-expand'\" />\n </button>\n }\n\n @if (headerProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"headerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded(),\n }\" />\n }\n\n @if (navSelectorState.expanded()) {\n <ap-input-search\n [id]=\"componentUid + '_search'\"\n [placeholder]=\"translatedTexts().searchPlaceholder\"\n [ngModel]=\"navSelectorState.search()\"\n (ngModelChange)=\"navSelectorState.search.set($event ?? '')\" />\n } @else {\n <ap-icon-button\n (onClick)=\"onMinifiedSearchClicked()\"\n type=\"stroked\"\n role=\"search\">\n <ap-symbol symbolId=\"search\" />\n </ap-icon-button>\n }\n </div>\n\n <div\n class=\"nav-selector__content\"\n [attr.aria-multiselectable]=\"navSelectorState.isMultipleModeEnabled()\"\n role=\"tree\">\n @if (contentHeaderProjectionNotNull) {\n <ng-container\n [ngTemplateOutlet]=\"contentHeaderProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded(),\n }\" />\n }\n\n @for (entry of navSelectorState.entries(); track entry.uid) {\n @if (!entry.hidden) {\n <div\n class=\"entry\"\n [class.folder]=\"entry.type === 'GROUP' || entry.type === 'CATEGORY'\">\n @if (entry.type === 'LEAF') {\n <ap-nav-selector-leaf\n [leaf]=\"entry\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n } @else if (entry.type === 'GROUP') {\n <ap-nav-selector-group\n [group]=\"entry\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n } @else if (entry.type === 'CATEGORY') {\n <ap-nav-selector-category\n [category]=\"$any(entry)\"\n (actionClicked)=\"actionClicked.emit($event)\" />\n }\n </div>\n }\n }\n @if (navSelectorState.expanded() && navSelectorState.noResults()) {\n <div class=\"no-result\">{{ translatedTexts().noResults }}</div>\n }\n </div>\n\n @if (displayFooter() && footerProjectionNotNull) {\n <div class=\"nav-selector__footer\">\n <ng-container\n [ngTemplateOutlet]=\"footerProjectionNotNull\"\n [ngTemplateOutletContext]=\"{\n expanded: navSelectorState.expanded(),\n }\" />\n </div>\n }\n</nav>\n", styles: [":host,nav{width:224px}@media only screen and (min-width: 1400px){:host:not(.embedded),nav:not(.embedded){width:250px}:host:not(.embedded) .nav-selector__content,nav:not(.embedded) .nav-selector__content{width:250px}}:host{display:flex;flex-direction:column;align-items:flex-start;flex-shrink:0;flex-grow:1}:host :hover .expand-button.expanded{animation-name:translateExpandButton}:host nav{display:flex;height:100%;flex-grow:1;flex-direction:column;align-items:flex-start;flex-shrink:0;overflow:hidden;background:var(--ref-color-white);transition:width .25s cubic-bezier(.4,0,.3,1)}:host nav:not(.embedded){border-right:1px solid var(--ref-color-grey-10)}:host .nav-selector__header{position:relative;display:flex;padding:var(--ref-spacing-xs) var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;white-space:nowrap;border-bottom:1px solid var(--ref-color-grey-10);background:var(--ref-color-white)}:host .nav-selector__header .h3{color:var(--ref-color-grey-100);font-family:Averta;font-size:var(--sys-text-style-h3-size);font-style:normal;font-weight:var(--ref-font-weight-bold);line-height:var(--ref-font-line-height-lg)}:host .nav-selector__header .expand-button-container{position:absolute;right:0;top:var(--ref-spacing-xs)}:host .nav-selector__header .expand-button{animation-duration:70ms;animation-timing-function:cubic-bezier(0,0,.2,1);animation-fill-mode:forwards;animation-name:translateHideButton;display:flex;width:24px;height:24px;justify-content:center;align-items:center;background:var(--ref-color-grey-bg);border-top:1px solid var(--ref-color-grey-20);border-right:none;border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);border-top-left-radius:var(--ref-border-radius-sm);border-bottom-left-radius:var(--ref-border-radius-sm);cursor:pointer}@keyframes translateHideButton{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes translateExpandButton{0%{transform:translate(100%)}to{transform:translate(0)}}:host .nav-selector__header .expand-button.expanded{position:absolute;right:0;top:12px;transform:translate(100%)}:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-reduce],:host .nav-selector__header .expand-button ap-symbol[symbol-id=arrow-expand]{color:var(--ref-color-grey-80)}:host .nav-selector__header .expand-button:focus-visible{border-radius:var(--ref-border-radius-sm) 0px 0px var(--ref-border-radius-sm);border-top:1px solid var(--ref-color-grey-20);border-bottom:1px solid var(--ref-color-grey-20);border-left:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-10);box-shadow:0 0 0 1px #fff,0 0 0 3px #178dfe}:host .nav-selector__header .expand-button:focus-visible.expanded{animation-name:translateExpandButton}:host .nav-selector__header .expand-button:hover{background-color:var(--ref-color-grey-10)}:host .nav-selector__header .expand-button:active{background-color:var(--ref-color-grey-20)}:host .nav-selector__content{display:flex;flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;width:224px;overflow-y:scroll;overflow-x:hidden;transition:width .25s cubic-bezier(.4,0,.3,1)}:host .nav-selector__content .entry{align-self:stretch;display:flex;flex-direction:column}:host .nav-selector__content .entry.folder{padding:var(--ref-spacing-xxs);border-bottom:1px solid var(--sys-border-color-default)}:host .nav-selector__content .entry.folder+.entry:not(.folder){padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder){padding-left:var(--ref-spacing-xxs);padding-right:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):first-child{padding-top:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):last-child{padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder):has(+.entry.folder){padding-bottom:var(--ref-spacing-xxs)}:host .nav-selector__content .entry:not(.folder)+.entry.folder{border-top:1px solid var(--sys-border-color-default)}:host .nav-selector__content .no-result{display:flex;padding:var(--ref-spacing-sm);flex-direction:column;align-items:flex-start;flex:1 0 0;align-self:stretch;color:var(--ref-color-grey-80);font-family:Averta;font-size:var(--ref-font-size-sm);font-style:italic;font-weight:400;line-height:var(--ref-font-line-height-sm)}:host .nav-selector__footer{display:flex;padding:var(--ref-spacing-xs);flex-direction:column;align-items:flex-start;gap:var(--ref-spacing-xxs);align-self:stretch;border-top:1px solid var(--sys-border-color-default);background:var(--ref-color-white)}:host.minified{width:64px}:host.minified nav{width:64px}:host.minified nav .nav-selector__header{align-items:center}:host.minified nav .nav-selector__header .expand-button{animation-name:none;border-radius:var(--ref-border-radius-sm);border:1px solid var(--ref-color-grey-20);background:var(--ref-color-grey-bg)}:host.minified nav .nav-selector__content{width:64px}:host.minified nav .nav-selector__content .entry{padding:var(--ref-spacing-xxxs)}:host.minified nav .nav-selector__footer{padding:var(--ref-spacing-xs) var(--ref-spacing-xxxs)}\n"] }]
|
|
2909
2903
|
}], ctorParameters: () => [{ type: NavSelectorState }, { type: i0.ElementRef }] });
|
|
2910
2904
|
|
|
2911
2905
|
/**
|