@ngutil/floating 0.0.64 → 0.0.66

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.
@@ -130,4 +130,4 @@ export class FloatingService {
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: FloatingService, decorators: [{
131
131
  type: Injectable
132
132
  }] });
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy9mbG9hdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVyRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyRSxPQUFPLEVBQWdDLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBOztBQU0xRSxNQUFNLE9BQWdCLGVBQWU7SUFHakMsVUFBVSxDQUFpQjtJQUUzQixZQUErQixXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFKeEMsV0FBTSxHQUFxQyxFQUFFLENBQUE7UUFFaEUsZUFBVSxHQUFlLEVBQUUsQ0FBQTtRQTJDM0IsY0FBUyxHQUE2QyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUF6QzFDLENBQUM7SUFFL0QsS0FBSyxDQUFDLEdBQUcsTUFBaUM7UUFDdEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN6QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDbkMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFFRCxJQUFJO1FBQ0EsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLElBQWlDLEVBQUUsRUFBRTtZQUN4RCxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUE7WUFFckIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFBO1lBQ3pCLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUM3QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO2dCQUNoQixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFLENBQUM7b0JBQzdCLFNBQVMsR0FBRyxJQUFJLENBQUE7Z0JBQ3BCLENBQUM7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7Z0JBQ25CLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQTtZQUVGLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtZQUV0QyxPQUFPLEdBQUcsRUFBRTtnQkFDUixPQUFPLENBQUMsV0FBVyxFQUFFLENBQUE7Z0JBQ3JCLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtnQkFDeEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUNiLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQTtnQkFDMUIsQ0FBQztZQUNMLENBQUMsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUlTLFNBQVMsQ0FBQyxTQUFzQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDYixTQUFTLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLENBQUM7UUFFRCxTQUFTLEdBQUc7WUFDUixHQUFHLFNBQVM7WUFDWixFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDMUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUMzRCxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDeEQsV0FBVztZQUNYLEdBQUcsSUFBSSxDQUFDLFVBQVU7U0FDckIsQ0FBQTtRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ3BCLENBQUM7SUFJRCxRQUFRLENBQUMsT0FBZ0M7UUFDckMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRCxRQUFRLENBQUMsU0FBZ0M7UUFDckMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLFNBQVMsQ0FBQyxDQUFBO1FBQ3hELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQTtRQUNyRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDZixDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sdUJBQTBDLFNBQVEsZUFBZTtJQUMxRSxZQUNJLFdBQTRCLEVBQ1osR0FBbUIsRUFDbkIsT0FBaUM7UUFFakQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBSEYsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUFDbkIsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFHckQsQ0FBQztJQUVrQixNQUFNO1FBQ3JCLE1BQU0sT0FBTyxHQUE2QixFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQzdELE9BQU8sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDckQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQTtRQUM3RSxPQUFPLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQzlDLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyx3QkFBdUQsU0FBUSxlQUFlO0lBQ3ZGLFlBQ0ksV0FBNEIsRUFDWixTQUFZLEVBQ1osT0FBa0M7UUFFbEQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBSEYsY0FBUyxHQUFULFNBQVMsQ0FBRztRQUNaLFlBQU8sR0FBUCxPQUFPLENBQTJCO0lBR3RELENBQUM7SUFFa0IsTUFBTTtRQUNyQixNQUFNLE9BQU8sR0FBOEIsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtRQUM5RCxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ3JELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDcEYsT0FBTyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0NBQ0o7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFFSCxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVhLFVBQUssR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUE7S0FjeEM7SUFQRyxJQUFJLENBQUksS0FBd0MsRUFBRSxJQUFTO1FBQ3ZELElBQUksS0FBSyxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQy9CLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsS0FBWSxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksRUFBRSxLQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDakUsQ0FBQztJQUNMLENBQUM7OEdBZFEsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUHJvdmlkZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tIFwiLi4vbGF5ZXIvbGF5ZXIuc2VydmljZVwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBUZW1wbGF0ZVBvcnRhbE9wdGlvbnMgfSBmcm9tIFwiLi4vbGF5ZXIvcG9ydGFsLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ0NoYW5uZWwsIEZsb2F0aW5nUmVmLCBUUkFJVFMgfSBmcm9tIFwiLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgdHlwZSBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vdHJhaXRzL19iYXNlXCJcbmltcG9ydCB7IHR5cGUgRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnMsIHBvc2l0aW9uIH0gZnJvbSBcIi4vdHJhaXRzL3Bvc2l0aW9uXCJcblxuLy8gZXhwb3J0IHR5cGUgRmxvYXRpbmdUcmFpdCA9ICguLi5hcmdzOiBhbnlbXSkgPT4gKHRyYWl0czogb2JqZWN0KSA9PiBPYnNlcnZhYmxlPG9iamVjdD5cblxuZXhwb3J0IHR5cGUgRmxvYXRpbmdUcmFpdElucHV0ID0gRmxvYXRpbmdUcmFpdCB8IEFycmF5PEZsb2F0aW5nVHJhaXRJbnB1dD5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZsb2F0aW5nRmFjdG9yeSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYWl0czogeyBba2V5OiBzdHJpbmddOiBGbG9hdGluZ1RyYWl0IH0gPSB7fVxuXG4gICAgI3Byb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtdXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgZmxvYXRpbmdTdmM6IEZsb2F0aW5nU2VydmljZSkge31cblxuICAgIHRyYWl0KC4uLnRyYWl0czogQXJyYXk8RmxvYXRpbmdUcmFpdElucHV0Pikge1xuICAgICAgICBmb3IgKGNvbnN0IHRyYWl0IG9mIHRyYWl0cykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodHJhaXQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFpdCguLi50cmFpdClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFpdHNbdHJhaXQubmFtZV0gPSB0cmFpdFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBzaG93KCk6IE9ic2VydmFibGU8RmxvYXRpbmdDaGFubmVsPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZGVzdDogU3Vic2NyaWJlcjxGbG9hdGluZ0NoYW5uZWw+KSA9PiB7XG4gICAgICAgICAgICBsZXQgZGlzcG9zaW5nID0gZmFsc2VcblxuICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5jcmVhdGUoKVxuICAgICAgICAgICAgY29uc3QgY2hhbm5lbFN1YiA9IHJlZi5jaGFubmVsLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgZGVzdC5uZXh0KGV2ZW50KVxuICAgICAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBcImRpc3Bvc2luZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3Bvc2luZyA9IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IFwiY2xlYW51cFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlc3QuY29tcGxldGUoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IHNob3dTdWIgPSByZWYuc2hvdygpLnN1YnNjcmliZSgpXG5cbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2hvd1N1Yi51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICAgY2hhbm5lbFN1Yi51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICAgaWYgKCFkaXNwb3NpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmLmhpZGUoKS5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBzdWJzY3JpYmU6IE9ic2VydmFibGU8RmxvYXRpbmdDaGFubmVsPltcInN1YnNjcmliZVwiXSA9ICguLi5hcmdzOiBhbnlbXSkgPT4gdGhpcy5zaG93KCkuc3Vic2NyaWJlKC4uLmFyZ3MpXG5cbiAgICBwcm90ZWN0ZWQgcHJvdmlkZXJzKHByb3ZpZGVycz86IFByb3ZpZGVyW10pOiBQcm92aWRlcltdIHtcbiAgICAgICAgaWYgKCFwcm92aWRlcnMpIHtcbiAgICAgICAgICAgIHByb3ZpZGVycyA9IFtdXG4gICAgICAgIH1cblxuICAgICAgICBwcm92aWRlcnMgPSBbXG4gICAgICAgICAgICAuLi5wcm92aWRlcnMsXG4gICAgICAgICAgICB7IHByb3ZpZGU6IFRSQUlUUywgdXNlVmFsdWU6IHRoaXMudHJhaXRzIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlVmFsdWU6IHRoaXMuZmxvYXRpbmdTdmMubGF5ZXIgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogRmxvYXRpbmdTZXJ2aWNlLCB1c2VWYWx1ZTogdGhpcy5mbG9hdGluZ1N2YyB9LFxuICAgICAgICAgICAgRmxvYXRpbmdSZWYsXG4gICAgICAgICAgICAuLi50aGlzLiNwcm92aWRlcnNcbiAgICAgICAgXVxuXG4gICAgICAgIHJldHVybiBwcm92aWRlcnNcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlKCk6IEZsb2F0aW5nUmVmPEZsb2F0aW5nQ2hhbm5lbD5cblxuICAgIHBvc2l0aW9uKG9wdGlvbnM6IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0KHBvc2l0aW9uKG9wdGlvbnMpKVxuICAgIH1cblxuICAgIHByb3ZpZGVzKHByb3ZpZGVyczogUHJvdmlkZXIgfCBQcm92aWRlcltdKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3ZpZGVycykpIHtcbiAgICAgICAgICAgIHRoaXMuI3Byb3ZpZGVycyA9IFsuLi50aGlzLiNwcm92aWRlcnMsIC4uLnByb3ZpZGVyc11cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI3Byb3ZpZGVycyA9IFsuLi50aGlzLiNwcm92aWRlcnMsIHByb3ZpZGVyc11cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nVGVtcGxhdGVGYWN0b3J5PFQgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgRmxvYXRpbmdGYWN0b3J5IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZmxvYXRpbmdTdmM6IEZsb2F0aW5nU2VydmljZSxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHRwbDogVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBUZW1wbGF0ZVBvcnRhbE9wdGlvbnM8VD5cbiAgICApIHtcbiAgICAgICAgc3VwZXIoZmxvYXRpbmdTdmMpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZSgpOiBGbG9hdGluZ1JlZjxGbG9hdGluZ0NoYW5uZWw+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9uczogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+ID0geyAuLi50aGlzLm9wdGlvbnMgfVxuICAgICAgICBvcHRpb25zLnByb3ZpZGVycyA9IHRoaXMucHJvdmlkZXJzKG9wdGlvbnMucHJvdmlkZXJzKVxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmZsb2F0aW5nU3ZjLmxheWVyLm5ld1RlbXBsYXRlUG9ydGFsKHRoaXMudHBsLCBvcHRpb25zKVxuICAgICAgICByZXR1cm4gY29udGFpbmVyLmluamVjdG9yLmdldChGbG9hdGluZ1JlZilcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGbG9hdGluZ0NvbXBvbmVudEZhY3Rvcnk8VCBleHRlbmRzIENvbXBvbmVudFR5cGU8YW55Pj4gZXh0ZW5kcyBGbG9hdGluZ0ZhY3Rvcnkge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBmbG9hdGluZ1N2YzogRmxvYXRpbmdTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50OiBULFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPlxuICAgICkge1xuICAgICAgICBzdXBlcihmbG9hdGluZ1N2YylcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlKCk6IEZsb2F0aW5nUmVmPEZsb2F0aW5nQ2hhbm5lbD4ge1xuICAgICAgICBjb25zdCBvcHRpb25zOiBDb21wb25lbnRQb3J0YWxPcHRpb25zPFQ+ID0geyAuLi50aGlzLm9wdGlvbnMgfVxuICAgICAgICBvcHRpb25zLnByb3ZpZGVycyA9IHRoaXMucHJvdmlkZXJzKG9wdGlvbnMucHJvdmlkZXJzKVxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmZsb2F0aW5nU3ZjLmxheWVyLm5ld0NvbXBvbmVudFBvcnRhbCh0aGlzLmNvbXBvbmVudCwgb3B0aW9ucylcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5pbmplY3Rvci5nZXQoRmxvYXRpbmdSZWYpXG4gICAgfVxufVxuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBTb21lQ29tcG9uZW50IHt9XG4gKlxuICogY2xhc3MgU29tZUxpc3Qge1xuICogICAgICByZWFkb25seSBmbG9hdGluZyA9IGluamVjdChGbG9hdGluZ1NlcnZpY2UpXG4gKlxuICogICAgICBzaG93Q29tcG9uZW50KCkge1xuICogICAgICAgICAgdGhpcy5mbG9hdGluZy5mcm9tKFNvbWVDb21wb25lbnQpLnRyYWl0cyhwb3NpdGlvbigpLCBiYWNrZHJvcCgpKS5zdWJzY3JpYmUoKVxuICogICAgICB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nU2VydmljZSB7XG4gICAgcmVhZG9ubHkgbGF5ZXIgPSBpbmplY3QoTGF5ZXJTZXJ2aWNlKVxuICAgIC8vIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChGbG9hdGluZ1JlZiwgeyBza2lwU2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSlcblxuICAgIGZyb208VCBleHRlbmRzIENvbXBvbmVudFR5cGU8YW55Pj4oY29tcG9uZW50OiBULCBvcHRzPzogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPik6IEZsb2F0aW5nQ29tcG9uZW50RmFjdG9yeTxUPlxuXG4gICAgZnJvbTxUIGV4dGVuZHMgb2JqZWN0Pih0cGw6IFRlbXBsYXRlUmVmPFQ+LCBvcHRzPzogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+KTogRmxvYXRpbmdUZW1wbGF0ZUZhY3Rvcnk8VD5cblxuICAgIGZyb208VD4odmFsdWU6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPiwgb3B0czogYW55KTogRmxvYXRpbmdGYWN0b3J5IHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXRpbmdUZW1wbGF0ZUZhY3RvcnkodGhpcywgdmFsdWUgYXMgYW55LCBvcHRzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9hdGluZ0NvbXBvbmVudEZhY3RvcnkodGhpcywgdmFsdWUgYXMgYW55LCBvcHRzKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmxvYXRpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9mbG9hdGluZy9mbG9hdGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUVyRCxPQUFPLEVBQW1CLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVyRSxPQUFPLEVBQUUsUUFBUSxFQUE2QixNQUFNLG1CQUFtQixDQUFBOztBQUl2RSxNQUFNLE9BQWdCLGVBQWU7SUFHakMsVUFBVSxDQUFpQjtJQUUzQixZQUErQixXQUE0QjtRQUE1QixnQkFBVyxHQUFYLFdBQVcsQ0FBaUI7UUFKeEMsV0FBTSxHQUFxQyxFQUFFLENBQUE7UUFFaEUsZUFBVSxHQUFlLEVBQUUsQ0FBQTtRQTJDM0IsY0FBUyxHQUE2QyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUE7SUF6QzFDLENBQUM7SUFFL0QsS0FBSyxDQUFDLEdBQUcsTUFBaUM7UUFDdEMsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUN6QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFBO1lBQ3hCLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFL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Q0FBQyxDQUFBO1FBQ2hFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLHdCQUF3QixDQUFDLElBQUksRUFBRSxLQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDakUsQ0FBQztJQUNMLENBQUM7OEdBZFEsZUFBZTtrSEFBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCJcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUHJvdmlkZXIsIFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIlxuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tIFwiLi4vbGF5ZXIvbGF5ZXIuc2VydmljZVwiXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWxPcHRpb25zLCBUZW1wbGF0ZVBvcnRhbE9wdGlvbnMgfSBmcm9tIFwiLi4vbGF5ZXIvcG9ydGFsLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ0NoYW5uZWwsIEZsb2F0aW5nUmVmLCBUUkFJVFMgfSBmcm9tIFwiLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgdHlwZSBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vdHJhaXRzL19iYXNlXCJcbmltcG9ydCB7IHBvc2l0aW9uLCB0eXBlIFBvc2l0aW9uVHJhaXRPcHRpb25zIH0gZnJvbSBcIi4vdHJhaXRzL3Bvc2l0aW9uXCJcblxuZXhwb3J0IHR5cGUgRmxvYXRpbmdUcmFpdElucHV0ID0gRmxvYXRpbmdUcmFpdCB8IEFycmF5PEZsb2F0aW5nVHJhaXRJbnB1dD5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZsb2F0aW5nRmFjdG9yeSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYWl0czogeyBba2V5OiBzdHJpbmddOiBGbG9hdGluZ1RyYWl0IH0gPSB7fVxuXG4gICAgI3Byb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtdXG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgZmxvYXRpbmdTdmM6IEZsb2F0aW5nU2VydmljZSkge31cblxuICAgIHRyYWl0KC4uLnRyYWl0czogQXJyYXk8RmxvYXRpbmdUcmFpdElucHV0Pikge1xuICAgICAgICBmb3IgKGNvbnN0IHRyYWl0IG9mIHRyYWl0cykge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodHJhaXQpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFpdCguLi50cmFpdClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmFpdHNbdHJhaXQubmFtZV0gPSB0cmFpdFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG5cbiAgICBzaG93KCk6IE9ic2VydmFibGU8RmxvYXRpbmdDaGFubmVsPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZGVzdDogU3Vic2NyaWJlcjxGbG9hdGluZ0NoYW5uZWw+KSA9PiB7XG4gICAgICAgICAgICBsZXQgZGlzcG9zaW5nID0gZmFsc2VcblxuICAgICAgICAgICAgY29uc3QgcmVmID0gdGhpcy5jcmVhdGUoKVxuICAgICAgICAgICAgY29uc3QgY2hhbm5lbFN1YiA9IHJlZi5jaGFubmVsLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgZGVzdC5uZXh0KGV2ZW50KVxuICAgICAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBcImRpc3Bvc2luZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3Bvc2luZyA9IHRydWVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IFwiY2xlYW51cFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlc3QuY29tcGxldGUoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IHNob3dTdWIgPSByZWYuc2hvdygpLnN1YnNjcmliZSgpXG5cbiAgICAgICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2hvd1N1Yi51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICAgY2hhbm5lbFN1Yi51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICAgaWYgKCFkaXNwb3NpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVmLmhpZGUoKS5zdWJzY3JpYmUoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBzdWJzY3JpYmU6IE9ic2VydmFibGU8RmxvYXRpbmdDaGFubmVsPltcInN1YnNjcmliZVwiXSA9ICguLi5hcmdzOiBhbnlbXSkgPT4gdGhpcy5zaG93KCkuc3Vic2NyaWJlKC4uLmFyZ3MpXG5cbiAgICBwcm90ZWN0ZWQgcHJvdmlkZXJzKHByb3ZpZGVycz86IFByb3ZpZGVyW10pOiBQcm92aWRlcltdIHtcbiAgICAgICAgaWYgKCFwcm92aWRlcnMpIHtcbiAgICAgICAgICAgIHByb3ZpZGVycyA9IFtdXG4gICAgICAgIH1cblxuICAgICAgICBwcm92aWRlcnMgPSBbXG4gICAgICAgICAgICAuLi5wcm92aWRlcnMsXG4gICAgICAgICAgICB7IHByb3ZpZGU6IFRSQUlUUywgdXNlVmFsdWU6IHRoaXMudHJhaXRzIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6IExheWVyU2VydmljZSwgdXNlVmFsdWU6IHRoaXMuZmxvYXRpbmdTdmMubGF5ZXIgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogRmxvYXRpbmdTZXJ2aWNlLCB1c2VWYWx1ZTogdGhpcy5mbG9hdGluZ1N2YyB9LFxuICAgICAgICAgICAgRmxvYXRpbmdSZWYsXG4gICAgICAgICAgICAuLi50aGlzLiNwcm92aWRlcnNcbiAgICAgICAgXVxuXG4gICAgICAgIHJldHVybiBwcm92aWRlcnNcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlKCk6IEZsb2F0aW5nUmVmPEZsb2F0aW5nQ2hhbm5lbD5cblxuICAgIHBvc2l0aW9uKG9wdGlvbnM6IFBvc2l0aW9uVHJhaXRPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYWl0KHBvc2l0aW9uKG9wdGlvbnMpKVxuICAgIH1cblxuICAgIHByb3ZpZGVzKHByb3ZpZGVyczogUHJvdmlkZXIgfCBQcm92aWRlcltdKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHByb3ZpZGVycykpIHtcbiAgICAgICAgICAgIHRoaXMuI3Byb3ZpZGVycyA9IFsuLi50aGlzLiNwcm92aWRlcnMsIC4uLnByb3ZpZGVyc11cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI3Byb3ZpZGVycyA9IFsuLi50aGlzLiNwcm92aWRlcnMsIHByb3ZpZGVyc11cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nVGVtcGxhdGVGYWN0b3J5PFQgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgRmxvYXRpbmdGYWN0b3J5IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgZmxvYXRpbmdTdmM6IEZsb2F0aW5nU2VydmljZSxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IHRwbDogVGVtcGxhdGVSZWY8VD4sXG4gICAgICAgIHB1YmxpYyByZWFkb25seSBvcHRpb25zOiBUZW1wbGF0ZVBvcnRhbE9wdGlvbnM8VD5cbiAgICApIHtcbiAgICAgICAgc3VwZXIoZmxvYXRpbmdTdmMpXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG92ZXJyaWRlIGNyZWF0ZSgpOiBGbG9hdGluZ1JlZjxGbG9hdGluZ0NoYW5uZWw+IHtcbiAgICAgICAgY29uc3Qgb3B0aW9uczogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+ID0geyAuLi50aGlzLm9wdGlvbnMgfVxuICAgICAgICBvcHRpb25zLnByb3ZpZGVycyA9IHRoaXMucHJvdmlkZXJzKG9wdGlvbnMucHJvdmlkZXJzKVxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmZsb2F0aW5nU3ZjLmxheWVyLm5ld1RlbXBsYXRlUG9ydGFsKHRoaXMudHBsLCBvcHRpb25zKVxuICAgICAgICByZXR1cm4gY29udGFpbmVyLmluamVjdG9yLmdldChGbG9hdGluZ1JlZilcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBGbG9hdGluZ0NvbXBvbmVudEZhY3Rvcnk8VCBleHRlbmRzIENvbXBvbmVudFR5cGU8YW55Pj4gZXh0ZW5kcyBGbG9hdGluZ0ZhY3Rvcnkge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBmbG9hdGluZ1N2YzogRmxvYXRpbmdTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29tcG9uZW50OiBULFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPlxuICAgICkge1xuICAgICAgICBzdXBlcihmbG9hdGluZ1N2YylcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlKCk6IEZsb2F0aW5nUmVmPEZsb2F0aW5nQ2hhbm5lbD4ge1xuICAgICAgICBjb25zdCBvcHRpb25zOiBDb21wb25lbnRQb3J0YWxPcHRpb25zPFQ+ID0geyAuLi50aGlzLm9wdGlvbnMgfVxuICAgICAgICBvcHRpb25zLnByb3ZpZGVycyA9IHRoaXMucHJvdmlkZXJzKG9wdGlvbnMucHJvdmlkZXJzKVxuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmZsb2F0aW5nU3ZjLmxheWVyLm5ld0NvbXBvbmVudFBvcnRhbCh0aGlzLmNvbXBvbmVudCwgb3B0aW9ucylcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5pbmplY3Rvci5nZXQoRmxvYXRpbmdSZWYpXG4gICAgfVxufVxuXG4vKipcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjbGFzcyBTb21lQ29tcG9uZW50IHt9XG4gKlxuICogY2xhc3MgU29tZUxpc3Qge1xuICogICAgICByZWFkb25seSBmbG9hdGluZyA9IGluamVjdChGbG9hdGluZ1NlcnZpY2UpXG4gKlxuICogICAgICBzaG93Q29tcG9uZW50KCkge1xuICogICAgICAgICAgdGhpcy5mbG9hdGluZy5mcm9tKFNvbWVDb21wb25lbnQpLnRyYWl0cyhwb3NpdGlvbigpLCBiYWNrZHJvcCgpKS5zdWJzY3JpYmUoKVxuICogICAgICB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZsb2F0aW5nU2VydmljZSB7XG4gICAgcmVhZG9ubHkgbGF5ZXIgPSBpbmplY3QoTGF5ZXJTZXJ2aWNlKVxuICAgIC8vIHJlYWRvbmx5IHBhcmVudCA9IGluamVjdChGbG9hdGluZ1JlZiwgeyBza2lwU2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWUgfSlcblxuICAgIGZyb208VCBleHRlbmRzIENvbXBvbmVudFR5cGU8YW55Pj4oY29tcG9uZW50OiBULCBvcHRzPzogQ29tcG9uZW50UG9ydGFsT3B0aW9uczxUPik6IEZsb2F0aW5nQ29tcG9uZW50RmFjdG9yeTxUPlxuXG4gICAgZnJvbTxUIGV4dGVuZHMgb2JqZWN0Pih0cGw6IFRlbXBsYXRlUmVmPFQ+LCBvcHRzPzogVGVtcGxhdGVQb3J0YWxPcHRpb25zPFQ+KTogRmxvYXRpbmdUZW1wbGF0ZUZhY3Rvcnk8VD5cblxuICAgIGZyb208VD4odmFsdWU6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPiwgb3B0czogYW55KTogRmxvYXRpbmdGYWN0b3J5IHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRmxvYXRpbmdUZW1wbGF0ZUZhY3RvcnkodGhpcywgdmFsdWUgYXMgYW55LCBvcHRzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9hdGluZ0NvbXBvbmVudEZhY3RvcnkodGhpcywgdmFsdWUgYXMgYW55LCBvcHRzKVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,53 +1,46 @@
1
1
  import { animate, AnimationBuilder, style } from "@angular/animations";
2
- import { map, Observable, switchMap, take, tap, timer } from "rxjs";
2
+ import { map, Observable, of, switchMap, take, tap } from "rxjs";
3
3
  import { animationObservable } from "@ngutil/graphics";
4
- import { alignmentToTransformOrigin, Duration, Ease } from "@ngutil/style";
4
+ import { Duration, Ease, floatingPositionDirection } from "@ngutil/style";
5
5
  // https://tympanus.net/Development/ModalWindowEffects/
6
6
  const timing = `${Duration.FastMs}ms ${Ease.Deceleration}`;
7
7
  export class AnimationTrait {
8
- constructor(animation, options) {
8
+ constructor(animation, params) {
9
9
  this.animation = animation;
10
- this.options = options;
10
+ this.params = params;
11
11
  this.name = "animation";
12
12
  }
13
13
  connect(floatingRef) {
14
14
  return new Observable((dst) => {
15
15
  const builder = floatingRef.container.injector.get(AnimationBuilder);
16
16
  const element = floatingRef.container.nativeElement;
17
- const options = this.options || {};
18
- floatingRef.state.on("showing", () => animationParams(floatingRef, 0, options.params).pipe(switchMap(params => animationObservable({
17
+ floatingRef.state.on("showing", () => animationParams(floatingRef, this.params).pipe(switchMap(params => animationObservable({
19
18
  builder,
20
19
  element,
21
20
  animation: this.animation.show,
22
- options: { ...options, params }
21
+ options: { params }
23
22
  }))));
24
- floatingRef.state.on("disposing", () => animationParams(floatingRef, 0, options.params).pipe(switchMap(params => animationObservable({
23
+ floatingRef.state.on("disposing", () => animationParams(floatingRef, this.params).pipe(switchMap(params => animationObservable({
25
24
  builder,
26
25
  element,
27
26
  animation: this.animation.hide,
28
- options: { ...options, params }
27
+ options: { params }
29
28
  })), tap(() => (element.style.display = "none"))));
30
29
  floatingRef.state.on("disposing", () => dst.complete());
31
30
  dst.next();
32
31
  });
33
32
  }
34
33
  }
35
- function animationParams(floatingRef, delay, overrides) {
36
- const src = delay > 0
37
- ? timer(delay).pipe(switchMap(() => floatingRef.watchTrait("position")))
38
- : floatingRef.watchTrait("position");
39
- return src.pipe(take(1), map(position => {
40
- const origin = position.computed ? alignmentToTransformOrigin(position.computed.content.align) : "center";
41
- return {
42
- origin,
43
- ...overrides
44
- };
45
- }));
34
+ function animationParams(floatingRef, params) {
35
+ if (params == null) {
36
+ return of({});
37
+ }
38
+ return floatingRef.watchTrait("position").pipe(take(1), map(params));
46
39
  }
47
40
  export const FallAnimation = {
48
41
  show: [
49
42
  style({
50
- transform: "scale(1.5)",
43
+ transform: "scale({{ scale }})",
51
44
  visibility: "visible",
52
45
  opacity: "0"
53
46
  }),
@@ -58,51 +51,57 @@ export const FallAnimation = {
58
51
  ],
59
52
  hide: [
60
53
  animate(timing, style({
61
- transform: "scale(1.5)",
54
+ transform: "scale({{ scale }})",
62
55
  visibility: "visible",
63
56
  opacity: "0"
64
57
  }))
65
58
  ]
66
59
  };
67
- export function fallAnimation(options) {
68
- return new AnimationTrait(FallAnimation, options);
60
+ export function fallAnimation(scale = 1.5) {
61
+ return new AnimationTrait(FallAnimation, () => {
62
+ return { scale };
63
+ });
69
64
  }
70
65
  export const FadeAnimation = {
71
66
  show: [style({ opacity: 0 }), animate(timing, style({ opacity: 1 }))],
72
67
  hide: [animate(timing, style({ opacity: 0 }))]
73
68
  };
74
- export function fadeAnimation(options) {
75
- return new AnimationTrait(FadeAnimation, options);
69
+ export function fadeAnimation() {
70
+ return new AnimationTrait(FadeAnimation);
76
71
  }
77
- export const DropAnimation = {
72
+ const SlideAnimation = {
78
73
  show: [
79
74
  style({
80
- transform: "translate({{ translateX }}, {{ translateY }})",
75
+ transform: "translate({{ tx }}, {{ ty }})",
81
76
  opacity: "0",
82
- transformOrigin: "{{ origin }}",
77
+ // transformOrigin: "{{ origin }}",
83
78
  visibility: "visible"
84
79
  }),
85
80
  animate(timing, style({
86
81
  opacity: "1",
87
- transform: "scale(1, 1) translate(0px, 0px)"
82
+ transform: "translate(0px, 0px)"
88
83
  }))
89
84
  ],
90
- hide: [
91
- animate(timing, style({ opacity: 0, transform: "translate(calc({{ translateX }} * -1), calc({{ translateY }} * -1))" }))
92
- ]
85
+ hide: [animate(timing, style({ opacity: 0, transform: "translate(calc({{ tx }} * -1), calc({{ ty }} * -1))" }))]
93
86
  };
94
- export function dropAnimation(options) {
95
- if (!options) {
96
- options = {};
97
- }
98
- if (!options.params) {
99
- options.params = {};
100
- }
101
- else {
102
- options.params = { ...options.params };
103
- }
104
- options.params["translateX"] = "0px";
105
- options.params["translateY"] = "-40px";
106
- return new AnimationTrait(DropAnimation, options);
87
+ const SlideAnimationParams = {
88
+ center: { tx: 0, ty: 0 },
89
+ up: { tx: 0, ty: 1 },
90
+ down: { tx: 0, ty: -1 },
91
+ left: { tx: 1, ty: 0 },
92
+ right: { tx: -1, ty: 0 }
93
+ };
94
+ function slideAnimation(size) {
95
+ return new AnimationTrait(SlideAnimation, position => {
96
+ const direction = floatingPositionDirection(position);
97
+ const { tx, ty } = SlideAnimationParams[direction];
98
+ return { tx: `${tx * size}px`, ty: `${ty * size}px` };
99
+ });
100
+ }
101
+ export function slideNearAnimation(size = 40) {
102
+ return slideAnimation(size * -1);
103
+ }
104
+ export function slideAwayAnimation(size = 40) {
105
+ return slideAnimation(size);
107
106
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL3RyYWl0cy9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBdUMsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFM0csT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRS9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBUTFFLHVEQUF1RDtBQUV2RCxNQUFNLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO0FBRTFELE1BQU0sT0FBTyxjQUFjO0lBR3ZCLFlBQ2EsU0FBdUIsRUFDdkIsT0FBMEI7UUFEMUIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixZQUFPLEdBQVAsT0FBTyxDQUFtQjtRQUo5QixTQUFJLEdBQUcsV0FBVyxDQUFBO0lBS3hCLENBQUM7SUFFSixPQUFPLENBQUMsV0FBd0I7UUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLEdBQXdCLEVBQUUsRUFBRTtZQUMvQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtZQUNwRSxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQTtZQUNuRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQTtZQUVsQyxX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RUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNsQixPQUFPLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtJQUN2QixDQUFDO1NBQU0sQ0FBQztRQUNKLE9BQU8sQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxLQUFLLENBQUE7SUFDcEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxPQUFPLENBQUE7SUFFdEMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDckQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFuaW1hdGUsIEFuaW1hdGlvbkJ1aWxkZXIsIEFuaW1hdGlvbk1ldGFkYXRhLCBBbmltYXRpb25PcHRpb25zLCBzdHlsZSB9IGZyb20gXCJAYW5ndWxhci9hbmltYXRpb25zXCJcblxuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpYmVyLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCwgdGltZXIgfSBmcm9tIFwicnhqc1wiXG5cbmltcG9ydCB7IGFuaW1hdGlvbk9ic2VydmFibGUgfSBmcm9tIFwiQG5ndXRpbC9ncmFwaGljc1wiXG5pbXBvcnQgeyBhbGlnbm1lbnRUb1RyYW5zZm9ybU9yaWdpbiwgRHVyYXRpb24sIEVhc2UgfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuaW1wb3J0IHsgRmxvYXRpbmdQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IHR5cGUgQW5pbWF0aW9uU2V0ID0geyBzaG93OiBBbmltYXRpb25NZXRhZGF0YVtdOyBoaWRlOiBBbmltYXRpb25NZXRhZGF0YVtdIH1cblxuLy8gaHR0cHM6Ly90eW1wYW51cy5uZXQvRGV2ZWxvcG1lbnQvTW9kYWxXaW5kb3dFZmZlY3RzL1xuXG5jb25zdCB0aW1pbmcgPSBgJHtEdXJhdGlvbi5GYXN0TXN9bXMgJHtFYXNlLkRlY2VsZXJhdGlvbn1gXG5cbmV4cG9ydCBjbGFzcyBBbmltYXRpb25UcmFpdCBpbXBsZW1lbnRzIEZsb2F0aW5nVHJhaXQ8dW5rbm93bj4ge1xuICAgIHJlYWRvbmx5IG5hbWUgPSBcImFuaW1hdGlvblwiXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgYW5pbWF0aW9uOiBBbmltYXRpb25TZXQsXG4gICAgICAgIHJlYWRvbmx5IG9wdGlvbnM/OiBBbmltYXRpb25PcHRpb25zXG4gICAgKSB7fVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWYpOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkc3Q6IFN1YnNjcmliZXI8dW5rbm93bj4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmbG9hdGluZ1JlZi5jb250YWluZXIuaW5qZWN0b3IuZ2V0KEFuaW1hdGlvbkJ1aWxkZXIpXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgfHwge31cblxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJzaG93aW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uUGFyYW1zKGZsb2F0aW5nUmVmLCAwLCBvcHRpb25zLnBhcmFtcykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24uc2hvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7IC4uLm9wdGlvbnMsIHBhcmFtcyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgZmxvYXRpbmdSZWYuc3RhdGUub24oXCJkaXNwb3NpbmdcIiwgKCkgPT5cbiAgICAgICAgICAgICAgICBhbmltYXRpb25QYXJhbXMoZmxvYXRpbmdSZWYsIDAsIG9wdGlvbnMucGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBzd2l0Y2hNYXAocGFyYW1zID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb25PYnNlcnZhYmxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB0aGlzLmFuaW1hdGlvbi5oaWRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsgLi4ub3B0aW9ucywgcGFyYW1zIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgoKSA9PiAoZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gXCJub25lXCIpKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+IGRzdC5jb21wbGV0ZSgpKVxuICAgICAgICAgICAgZHN0Lm5leHQoKVxuICAgICAgICB9KVxuICAgIH1cbn1cblxuZnVuY3Rpb24gYW5pbWF0aW9uUGFyYW1zKFxuICAgIGZsb2F0aW5nUmVmOiBGbG9hdGluZ1JlZixcbiAgICBkZWxheTogbnVtYmVyLFxuICAgIG92ZXJyaWRlczogQW5pbWF0aW9uT3B0aW9uc1tcInBhcmFtc1wiXVxuKTogT2JzZXJ2YWJsZTxBbmltYXRpb25PcHRpb25zW1wicGFyYW1zXCJdPiB7XG4gICAgY29uc3Qgc3JjID1cbiAgICAgICAgZGVsYXkgPiAwXG4gICAgICAgICAgICA/IHRpbWVyKGRlbGF5KS5waXBlKHN3aXRjaE1hcCgoKSA9PiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIikpKVxuICAgICAgICAgICAgOiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIilcblxuICAgIHJldHVybiBzcmMucGlwZShcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgbWFwKHBvc2l0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHBvc2l0aW9uLmNvbXB1dGVkID8gYWxpZ25tZW50VG9UcmFuc2Zvcm1PcmlnaW4ocG9zaXRpb24uY29tcHV0ZWQhLmNvbnRlbnQuYWxpZ24pIDogXCJjZW50ZXJcIlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICAgICAgLi4ub3ZlcnJpZGVzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgKVxufVxuXG5leHBvcnQgY29uc3QgRmFsbEFuaW1hdGlvbjogQW5pbWF0aW9uU2V0ID0ge1xuICAgIHNob3c6IFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEuNSlcIixcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgb3BhY2l0eTogXCIwXCJcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICB0aW1pbmcsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEpXCIsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogXCIxXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICBdLFxuICAgIGhpZGU6IFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgIHRpbWluZyxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoMS41KVwiLFxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFsbEFuaW1hdGlvbihvcHRpb25zPzogQW5pbWF0aW9uT3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQW5pbWF0aW9uVHJhaXQoRmFsbEFuaW1hdGlvbiwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IEZhZGVBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbc3R5bGUoeyBvcGFjaXR5OiAwIH0pLCBhbmltYXRlKHRpbWluZywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKV0sXG4gICAgaGlkZTogW2FuaW1hdGUodGltaW5nLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZmFkZUFuaW1hdGlvbihvcHRpb25zPzogQW5pbWF0aW9uT3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgQW5pbWF0aW9uVHJhaXQoRmFkZUFuaW1hdGlvbiwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IERyb3BBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoe3sgdHJhbnNsYXRlWCB9fSwge3sgdHJhbnNsYXRlWSB9fSlcIixcbiAgICAgICAgICAgIG9wYWNpdHk6IFwiMFwiLFxuICAgICAgICAgICAgdHJhbnNmb3JtT3JpZ2luOiBcInt7IG9yaWdpbiB9fVwiLFxuICAgICAgICAgICAgdmlzaWJpbGl0eTogXCJ2aXNpYmxlXCJcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICB0aW1pbmcsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogXCIxXCIsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEsIDEpIHRyYW5zbGF0ZSgwcHgsIDBweClcIlxuICAgICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgIF0sXG4gICAgaGlkZTogW1xuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgdGltaW5nLFxuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKGNhbGMoe3sgdHJhbnNsYXRlWCB9fSAqIC0xKSwgY2FsYyh7eyB0cmFuc2xhdGVZIH19ICogLTEpKVwiIH0pXG4gICAgICAgIClcbiAgICBdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkcm9wQW5pbWF0aW9uKG9wdGlvbnM/OiBBbmltYXRpb25PcHRpb25zKSB7XG4gICAgaWYgKCFvcHRpb25zKSB7XG4gICAgICAgIG9wdGlvbnMgPSB7fVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5wYXJhbXMpIHtcbiAgICAgICAgb3B0aW9ucy5wYXJhbXMgPSB7fVxuICAgIH0gZWxzZSB7XG4gICAgICAgIG9wdGlvbnMucGFyYW1zID0geyAuLi5vcHRpb25zLnBhcmFtcyB9XG4gICAgfVxuXG4gICAgb3B0aW9ucy5wYXJhbXNbXCJ0cmFuc2xhdGVYXCJdID0gXCIwcHhcIlxuICAgIG9wdGlvbnMucGFyYW1zW1widHJhbnNsYXRlWVwiXSA9IFwiLTQwcHhcIlxuXG4gICAgcmV0dXJuIG5ldyBBbmltYXRpb25UcmFpdChEcm9wQW5pbWF0aW9uLCBvcHRpb25zKVxufVxuIl19
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZmxvYXRpbmcvc3JjL2Zsb2F0aW5nL3RyYWl0cy9hbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBcUIsS0FBSyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFekYsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFjLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUErQyx5QkFBeUIsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQU90SCx1REFBdUQ7QUFFdkQsTUFBTSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsTUFBTSxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtBQUkxRCxNQUFNLE9BQU8sY0FBYztJQUd2QixZQUNhLFNBQXVCLEVBQ3ZCLE1BQTZCO1FBRDdCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDdkIsV0FBTSxHQUFOLE1BQU0sQ0FBdUI7UUFKakMsU0FBSSxHQUFHLFdBQVcsQ0FBQTtJQUt4QixDQUFDO0lBRUosT0FBTyxDQUFDLFdBQXdCO1FBQzVCLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxHQUF3QixFQUFFLEVBQUU7WUFDL0MsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUE7WUFDcEUsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUE7WUFFbkQsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxD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RUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUN6RCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBZSxFQUFFO0lBQ2hELE9BQU8sY0FBYyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ3BDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsT0FBZSxFQUFFO0lBQ2hELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25CdWlsZGVyLCBBbmltYXRpb25NZXRhZGF0YSwgc3R5bGUgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiXG5cbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmliZXIsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSBcInJ4anNcIlxuXG5pbXBvcnQgeyBhbmltYXRpb25PYnNlcnZhYmxlIH0gZnJvbSBcIkBuZ3V0aWwvZ3JhcGhpY3NcIlxuaW1wb3J0IHsgRHVyYXRpb24sIEVhc2UsIEZsb2F0aW5nUG9zaXRpb24sIEZsb2F0aW5nUG9zaXRpb25EaXJlY3Rpb24sIGZsb2F0aW5nUG9zaXRpb25EaXJlY3Rpb24gfSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBBbmltYXRpb25TZXQgPSB7IHNob3c6IEFuaW1hdGlvbk1ldGFkYXRhW107IGhpZGU6IEFuaW1hdGlvbk1ldGFkYXRhW10gfVxuXG4vLyBodHRwczovL3R5bXBhbnVzLm5ldC9EZXZlbG9wbWVudC9Nb2RhbFdpbmRvd0VmZmVjdHMvXG5cbmNvbnN0IHRpbWluZyA9IGAke0R1cmF0aW9uLkZhc3RNc31tcyAke0Vhc2UuRGVjZWxlcmF0aW9ufWBcblxuZXhwb3J0IHR5cGUgQW5pbWF0aW9uVHJhaXRQYXJhbXMgPSAocG9zaXRpb246IEZsb2F0aW5nUG9zaXRpb24pID0+IG9iamVjdFxuXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uVHJhaXQgaW1wbGVtZW50cyBGbG9hdGluZ1RyYWl0PHVua25vd24+IHtcbiAgICByZWFkb25seSBuYW1lID0gXCJhbmltYXRpb25cIlxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHJlYWRvbmx5IGFuaW1hdGlvbjogQW5pbWF0aW9uU2V0LFxuICAgICAgICByZWFkb25seSBwYXJhbXM/OiBBbmltYXRpb25UcmFpdFBhcmFtc1xuICAgICkge31cblxuICAgIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoZHN0OiBTdWJzY3JpYmVyPHVua25vd24+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBidWlsZGVyID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yLmdldChBbmltYXRpb25CdWlsZGVyKVxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50XG5cbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwic2hvd2luZ1wiLCAoKSA9PlxuICAgICAgICAgICAgICAgIGFuaW1hdGlvblBhcmFtcyhmbG9hdGluZ1JlZiwgdGhpcy5wYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcChwYXJhbXMgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbk9ic2VydmFibGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IHRoaXMuYW5pbWF0aW9uLnNob3csXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogeyBwYXJhbXMgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGZsb2F0aW5nUmVmLnN0YXRlLm9uKFwiZGlzcG9zaW5nXCIsICgpID0+XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uUGFyYW1zKGZsb2F0aW5nUmVmLCB0aGlzLnBhcmFtcykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uT2JzZXJ2YWJsZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogdGhpcy5hbmltYXRpb24uaGlkZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB7IHBhcmFtcyB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICB0YXAoKCkgPT4gKGVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBmbG9hdGluZ1JlZi5zdGF0ZS5vbihcImRpc3Bvc2luZ1wiLCAoKSA9PiBkc3QuY29tcGxldGUoKSlcbiAgICAgICAgICAgIGRzdC5uZXh0KClcbiAgICAgICAgfSlcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGFuaW1hdGlvblBhcmFtcyhmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWYsIHBhcmFtcz86IEFuaW1hdGlvblRyYWl0UGFyYW1zKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICBpZiAocGFyYW1zID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG9mKHt9KVxuICAgIH1cblxuICAgIHJldHVybiBmbG9hdGluZ1JlZi53YXRjaFRyYWl0PEZsb2F0aW5nUG9zaXRpb24+KFwicG9zaXRpb25cIikucGlwZSh0YWtlKDEpLCBtYXAocGFyYW1zKSlcbn1cblxuZXhwb3J0IGNvbnN0IEZhbGxBbmltYXRpb246IEFuaW1hdGlvblNldCA9IHtcbiAgICBzaG93OiBbXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogXCJzY2FsZSh7eyBzY2FsZSB9fSlcIixcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiLFxuICAgICAgICAgICAgb3BhY2l0eTogXCIwXCJcbiAgICAgICAgfSksXG4gICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICB0aW1pbmcsXG4gICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBcInNjYWxlKDEpXCIsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogXCIxXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICBdLFxuICAgIGhpZGU6IFtcbiAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgIHRpbWluZyxcbiAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IFwic2NhbGUoe3sgc2NhbGUgfX0pXCIsXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogXCJ2aXNpYmxlXCIsXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogXCIwXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICBdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWxsQW5pbWF0aW9uKHNjYWxlOiBudW1iZXIgPSAxLjUpIHtcbiAgICByZXR1cm4gbmV3IEFuaW1hdGlvblRyYWl0KEZhbGxBbmltYXRpb24sICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHsgc2NhbGUgfVxuICAgIH0pXG59XG5cbmV4cG9ydCBjb25zdCBGYWRlQW5pbWF0aW9uOiBBbmltYXRpb25TZXQgPSB7XG4gICAgc2hvdzogW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSh0aW1pbmcsIHN0eWxlKHsgb3BhY2l0eTogMSB9KSldLFxuICAgIGhpZGU6IFthbmltYXRlKHRpbWluZywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKV1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZhZGVBbmltYXRpb24oKSB7XG4gICAgcmV0dXJuIG5ldyBBbmltYXRpb25UcmFpdChGYWRlQW5pbWF0aW9uKVxufVxuXG5jb25zdCBTbGlkZUFuaW1hdGlvbjogQW5pbWF0aW9uU2V0ID0ge1xuICAgIHNob3c6IFtcbiAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZSh7eyB0eCB9fSwge3sgdHkgfX0pXCIsXG4gICAgICAgICAgICBvcGFjaXR5OiBcIjBcIixcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybU9yaWdpbjogXCJ7eyBvcmlnaW4gfX1cIixcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IFwidmlzaWJsZVwiXG4gICAgICAgIH0pLFxuICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgdGltaW5nLFxuICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IFwiMVwiLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGUoMHB4LCAwcHgpXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICBdLFxuICAgIGhpZGU6IFthbmltYXRlKHRpbWluZywgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06IFwidHJhbnNsYXRlKGNhbGMoe3sgdHggfX0gKiAtMSksIGNhbGMoe3sgdHkgfX0gKiAtMSkpXCIgfSkpXVxufVxuXG5jb25zdCBTbGlkZUFuaW1hdGlvblBhcmFtczogeyBbSyBpbiBGbG9hdGluZ1Bvc2l0aW9uRGlyZWN0aW9uXTogeyB0eDogbnVtYmVyOyB0eTogbnVtYmVyIH0gfSA9IHtcbiAgICBjZW50ZXI6IHsgdHg6IDAsIHR5OiAwIH0sXG4gICAgdXA6IHsgdHg6IDAsIHR5OiAxIH0sXG4gICAgZG93bjogeyB0eDogMCwgdHk6IC0xIH0sXG4gICAgbGVmdDogeyB0eDogMSwgdHk6IDAgfSxcbiAgICByaWdodDogeyB0eDogLTEsIHR5OiAwIH1cbn1cblxuZnVuY3Rpb24gc2xpZGVBbmltYXRpb24oc2l6ZTogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG5ldyBBbmltYXRpb25UcmFpdChTbGlkZUFuaW1hdGlvbiwgcG9zaXRpb24gPT4ge1xuICAgICAgICBjb25zdCBkaXJlY3Rpb24gPSBmbG9hdGluZ1Bvc2l0aW9uRGlyZWN0aW9uKHBvc2l0aW9uKVxuICAgICAgICBjb25zdCB7IHR4LCB0eSB9ID0gU2xpZGVBbmltYXRpb25QYXJhbXNbZGlyZWN0aW9uXVxuICAgICAgICByZXR1cm4geyB0eDogYCR7dHggKiBzaXplfXB4YCwgdHk6IGAke3R5ICogc2l6ZX1weGAgfVxuICAgIH0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzbGlkZU5lYXJBbmltYXRpb24oc2l6ZTogbnVtYmVyID0gNDApIHtcbiAgICByZXR1cm4gc2xpZGVBbmltYXRpb24oc2l6ZSAqIC0xKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2xpZGVBd2F5QW5pbWF0aW9uKHNpemU6IG51bWJlciA9IDQwKSB7XG4gICAgcmV0dXJuIHNsaWRlQW5pbWF0aW9uKHNpemUpXG59XG4iXX0=
@@ -2,11 +2,9 @@ export * from "./_base";
2
2
  export * from "./animation";
3
3
  export * from "./backdrop";
4
4
  export * from "./close-trigger";
5
- export * from "./dim-contraint";
6
5
  export * from "./focus";
7
6
  export * from "./modal";
8
- export * from "./position-calc";
9
7
  export * from "./position";
10
8
  export * from "./style";
11
9
  export * from "./attribute";
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxpQkFBaUIsQ0FBQTtBQUMvQixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLFNBQVMsQ0FBQTtBQUN2QixjQUFjLGlCQUFpQixDQUFBO0FBQy9CLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsYUFBYSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vX2Jhc2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vYW5pbWF0aW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL2JhY2tkcm9wXCJcbmV4cG9ydCAqIGZyb20gXCIuL2Nsb3NlLXRyaWdnZXJcIlxuZXhwb3J0ICogZnJvbSBcIi4vZGltLWNvbnRyYWludFwiXG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9wb3NpdGlvbi1jYWxjXCJcbmV4cG9ydCAqIGZyb20gXCIuL3Bvc2l0aW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL3N0eWxlXCJcbmV4cG9ydCAqIGZyb20gXCIuL2F0dHJpYnV0ZVwiXG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFBO0FBQ3ZCLGNBQWMsYUFBYSxDQUFBO0FBQzNCLGNBQWMsWUFBWSxDQUFBO0FBQzFCLGNBQWMsaUJBQWlCLENBQUE7QUFDL0IsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxZQUFZLENBQUE7QUFDMUIsY0FBYyxTQUFTLENBQUE7QUFDdkIsY0FBYyxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9fYmFzZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9hbmltYXRpb25cIlxuZXhwb3J0ICogZnJvbSBcIi4vYmFja2Ryb3BcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2xvc2UtdHJpZ2dlclwiXG5leHBvcnQgKiBmcm9tIFwiLi9mb2N1c1wiXG5leHBvcnQgKiBmcm9tIFwiLi9tb2RhbFwiXG5leHBvcnQgKiBmcm9tIFwiLi9wb3NpdGlvblwiXG5leHBvcnQgKiBmcm9tIFwiLi9zdHlsZVwiXG5leHBvcnQgKiBmcm9tIFwiLi9hdHRyaWJ1dGVcIlxuIl19
@@ -8,7 +8,7 @@ export function modal() {
8
8
  position({
9
9
  anchor: {
10
10
  ref: "viewport",
11
- align: "center middle"
11
+ link: "center middle"
12
12
  },
13
13
  placement: {
14
14
  ref: "viewport",
@@ -21,4 +21,4 @@ export function modal() {
21
21
  fallAnimation()
22
22
  ];
23
23
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL21vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxLQUFLO0lBQ2pCLE9BQU87UUFDSCxRQUFRLENBQUM7WUFDTCxNQUFNLEVBQUU7Z0JBQ0osR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsS0FBSyxFQUFFLGVBQWU7YUFDekI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsT0FBTyxFQUFFLE1BQU07YUFDbEI7U0FDSixDQUFDO1FBQ0YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztRQUN2RCxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDckIsWUFBWSxFQUFFO1FBQ2QsYUFBYSxFQUFFO0tBQ2xCLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmFsbEFuaW1hdGlvbiB9IGZyb20gXCIuL2FuaW1hdGlvblwiXG5pbXBvcnQgeyBiYWNrZHJvcCB9IGZyb20gXCIuL2JhY2tkcm9wXCJcbmltcG9ydCB7IGNsb3NlVHJpZ2dlciB9IGZyb20gXCIuL2Nsb3NlLXRyaWdnZXJcIlxuaW1wb3J0IHsgZm9jdXMgfSBmcm9tIFwiLi9mb2N1c1wiXG5pbXBvcnQgeyBwb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGFsKCkge1xuICAgIHJldHVybiBbXG4gICAgICAgIHBvc2l0aW9uKHtcbiAgICAgICAgICAgIGFuY2hvcjoge1xuICAgICAgICAgICAgICAgIHJlZjogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgICAgIGFsaWduOiBcImNlbnRlciBtaWRkbGVcIlxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBsYWNlbWVudDoge1xuICAgICAgICAgICAgICAgIHJlZjogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IFwiMTZweFwiXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgICBiYWNrZHJvcCh7IHR5cGU6IFwic29saWRcIiwgY29sb3I6IFwicmdiYSgwLCAwLCAwLCAuMylcIiB9KSxcbiAgICAgICAgZm9jdXMoeyB0cmFwOiB0cnVlIH0pLFxuICAgICAgICBjbG9zZVRyaWdnZXIoKSxcbiAgICAgICAgZmFsbEFuaW1hdGlvbigpXG4gICAgXVxufVxuIl19
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL21vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDOUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXJDLE1BQU0sVUFBVSxLQUFLO0lBQ2pCLE9BQU87UUFDSCxRQUFRLENBQUM7WUFDTCxNQUFNLEVBQUU7Z0JBQ0osR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsSUFBSSxFQUFFLGVBQWU7YUFDeEI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1AsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsT0FBTyxFQUFFLE1BQU07YUFDbEI7U0FDSixDQUFDO1FBQ0YsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQztRQUN2RCxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDckIsWUFBWSxFQUFFO1FBQ2QsYUFBYSxFQUFFO0tBQ2xCLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmFsbEFuaW1hdGlvbiB9IGZyb20gXCIuL2FuaW1hdGlvblwiXG5pbXBvcnQgeyBiYWNrZHJvcCB9IGZyb20gXCIuL2JhY2tkcm9wXCJcbmltcG9ydCB7IGNsb3NlVHJpZ2dlciB9IGZyb20gXCIuL2Nsb3NlLXRyaWdnZXJcIlxuaW1wb3J0IHsgZm9jdXMgfSBmcm9tIFwiLi9mb2N1c1wiXG5pbXBvcnQgeyBwb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCJcblxuZXhwb3J0IGZ1bmN0aW9uIG1vZGFsKCkge1xuICAgIHJldHVybiBbXG4gICAgICAgIHBvc2l0aW9uKHtcbiAgICAgICAgICAgIGFuY2hvcjoge1xuICAgICAgICAgICAgICAgIHJlZjogXCJ2aWV3cG9ydFwiLFxuICAgICAgICAgICAgICAgIGxpbms6IFwiY2VudGVyIG1pZGRsZVwiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcGxhY2VtZW50OiB7XG4gICAgICAgICAgICAgICAgcmVmOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICAgICAgcGFkZGluZzogXCIxNnB4XCJcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGJhY2tkcm9wKHsgdHlwZTogXCJzb2xpZFwiLCBjb2xvcjogXCJyZ2JhKDAsIDAsIDAsIC4zKVwiIH0pLFxuICAgICAgICBmb2N1cyh7IHRyYXA6IHRydWUgfSksXG4gICAgICAgIGNsb3NlVHJpZ2dlcigpLFxuICAgICAgICBmYWxsQW5pbWF0aW9uKClcbiAgICBdXG59XG4iXX0=
@@ -1,12 +1,7 @@
1
- import { ElementRef } from "@angular/core";
2
- import { combineLatest, Observable, takeUntil } from "rxjs";
3
- import { DimensionWatcher, RectWatcher } from "@ngutil/style";
4
- import { maxHeight, maxWidth } from "./dim-contraint";
5
- import { computePosition } from "./position-calc";
6
- export class FloatingAnchorRef extends ElementRef {
7
- }
8
- export class FloatingPlacementRef extends ElementRef {
9
- }
1
+ import { combineLatest, distinctUntilChanged, isObservable, map, Observable, of, switchMap, takeUntil } from "rxjs";
2
+ import { isEqual } from "lodash";
3
+ import { isElementInput } from "@ngutil/common";
4
+ import { DimensionWatcher, floatingPosition, floatingPositionToStyle, RectWatcher } from "@ngutil/style";
10
5
  export class PositionTrait {
11
6
  constructor(options) {
12
7
  this.name = "position";
@@ -15,10 +10,10 @@ export class PositionTrait {
15
10
  cloned.placement = { ref: "viewport" };
16
11
  }
17
12
  if (!cloned.anchor) {
18
- cloned.anchor = { ref: cloned.placement.ref, align: "center middle" };
13
+ cloned.anchor = { ref: cloned.placement.ref, link: "center middle" };
19
14
  }
20
15
  if (!cloned.content) {
21
- cloned.content = { align: "center middle" };
16
+ cloned.content = { link: "center middle" };
22
17
  }
23
18
  this.options = cloned;
24
19
  }
@@ -27,15 +22,27 @@ export class PositionTrait {
27
22
  const injector = floatingRef.container.injector;
28
23
  const dimWatcher = injector.get(DimensionWatcher);
29
24
  const rectWatcher = injector.get(RectWatcher);
25
+ const constraints = this.options.content.constraints || {};
26
+ const constraintsWatches = {
27
+ minWidth: sizeWatcher(dimWatcher, "width", constraints.minWidth),
28
+ maxWidth: sizeWatcher(dimWatcher, "width", constraints.maxWidth),
29
+ minHeight: sizeWatcher(dimWatcher, "height", constraints.minHeight),
30
+ maxHeight: sizeWatcher(dimWatcher, "height", constraints.maxHeight)
31
+ };
30
32
  const watches = {
31
- floating: dimWatcher.watch(floatingRef.container, "border-box"),
33
+ content: dimWatcher.watch(floatingRef.container, "border-box"),
32
34
  anchor: refWatcher(rectWatcher, this.options.anchor.ref, floatingRef),
33
- placement: refWatcher(rectWatcher, this.options.placement.ref, floatingRef)
35
+ placement: refWatcher(rectWatcher, this.options.placement.ref, floatingRef),
36
+ constraints: combineLatest(constraintsWatches)
34
37
  };
35
- return combineLatest(watches).subscribe(({ floating, anchor, placement }) => {
36
- const res = new FloatingPosition(this.options, floating, anchor, placement);
37
- res.apply(floatingRef);
38
- dest.next(res);
38
+ return combineLatest(watches)
39
+ .pipe(distinctUntilChanged(isEqual))
40
+ .subscribe(dims => {
41
+ const pos = floatingPosition({ dims, options: this.options });
42
+ const floatingEl = floatingRef.container.nativeElement;
43
+ Object.assign(floatingEl.style, floatingPositionToStyle(pos));
44
+ Object.assign(floatingEl.style, constraintsToStyle(pos, dims.constraints));
45
+ dest.next(pos);
39
46
  });
40
47
  }).pipe(takeUntil(floatingRef.state.onExecute("disposing")));
41
48
  }
@@ -51,38 +58,29 @@ function refWatcher(rectWatcher, ref, floatingRef) {
51
58
  return rectWatcher.watch(ref, "border-box");
52
59
  }
53
60
  }
54
- export function position(options) {
55
- return [new PositionTrait(options), maxWidth(NaN), maxHeight(NaN)];
56
- }
57
- export class FloatingPosition {
58
- constructor(options, floating, anchor, placement) {
59
- this.options = options;
60
- this.floating = floating;
61
- this.anchor = anchor;
62
- this.placement = placement;
63
- // const frect: Rect = { x: 0, y: 0, ...floating }
64
- this.computed = computePosition({ floating, anchor, placement, options });
61
+ function sizeWatcher(dimWatcher, prop, size) {
62
+ if (typeof size === "number") {
63
+ return of(size);
65
64
  }
66
- apply(floatingRef) {
67
- if (this.computed == null) {
68
- return;
69
- }
70
- const floatingEl = floatingRef.container.nativeElement;
71
- const computedContent = this.computed.content;
72
- const style = { top: null, right: null, bottom: null, left: null };
73
- if (computedContent.align.horizontal === "right") {
74
- style["right"] = `${computedContent.right}px`;
75
- }
76
- else {
77
- style["left"] = `${computedContent.left}px`;
78
- }
79
- if (computedContent.align.vertical === "bottom") {
80
- style["bottom"] = `${computedContent.bottom}px`;
81
- }
82
- else {
83
- style["top"] = `${computedContent.top}px`;
84
- }
85
- Object.assign(floatingEl.style, style);
65
+ else if (isElementInput(size)) {
66
+ return dimWatcher.watch(size, "border-box").pipe(map(value => value[prop]));
67
+ }
68
+ else if (isObservable(size)) {
69
+ return size.pipe(switchMap(value => sizeWatcher(dimWatcher, prop, value)));
86
70
  }
71
+ return of(NaN);
72
+ }
73
+ function constraintsToStyle(pos, sizes) {
74
+ const { minWidth, maxWidth, minHeight, maxHeight } = sizes;
75
+ const { width, height } = pos.placement.area;
76
+ return {
77
+ minWidth: isNaN(minWidth) ? "auto" : `${Math.min(width, minWidth)}px`,
78
+ minHeight: isNaN(minHeight) ? "auto" : `${Math.min(height, minHeight)}px`,
79
+ maxWidth: isNaN(maxWidth) ? `${width}px` : `${Math.min(width, maxWidth)}px`,
80
+ maxHeight: isNaN(maxHeight) ? `${height}px` : `${Math.min(height, maxHeight)}px`
81
+ };
82
+ }
83
+ export function position(options) {
84
+ return new PositionTrait(options);
87
85
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL3Bvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQWMsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBR3ZFLE9BQU8sRUFBNkIsZ0JBQWdCLEVBQVEsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFBO0FBSzFHLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDckQsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQWdCbEUsTUFBTSxPQUFPLGlCQUFrQyxTQUFRLFVBQWE7Q0FBRztBQWdCdkUsTUFBTSxPQUFPLG9CQUFxRCxTQUFRLFVBQWE7Q0FBRztBQW9CMUYsTUFBTSxPQUFPLGFBQWE7SUFLdEIsWUFBWSxPQUFnQztRQUpuQyxTQUFJLEdBQUcsVUFBVSxDQUFBO1FBS3RCLE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQTtRQUU3QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUE7UUFDMUMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUE7UUFDekUsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDbEIsTUFB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LEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxLQUFLLENBQUMsV0FBd0I7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3hCLE9BQU07UUFDVixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUE7UUFDdEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUE7UUFDN0MsTUFBTSxLQUFLLEdBQWtDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFBO1FBRWpHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLEtBQUssSUFBSSxDQUFBO1FBQ2pELENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFBO1FBQy9DLENBQUM7UUFFRCxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxNQUFNLElBQUksQ0FBQTtRQUNuRCxDQUFDO2FBQU0sQ0FBQztZQUNKLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQTtRQUM3QyxDQUFDO1FBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0lBQzFDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YnNjcmliZXIsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7IEFsaWdubWVudElucHV0LCBEaW1lbnNpb24sIERpbWVuc2lvbldhdGNoZXIsIFJlY3QsIFJlY3RXYXRjaGVyLCBTaWRlc0lucHV0IH0gZnJvbSBcIkBuZ3V0aWwvc3R5bGVcIlxuXG5pbXBvcnQgeyBMYXllclNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vbGF5ZXIvbGF5ZXIuc2VydmljZVwiXG5pbXBvcnQgeyBGbG9hdGluZ1JlZiB9IGZyb20gXCIuLi9mbG9hdGluZy1yZWZcIlxuaW1wb3J0IHsgRmxvYXRpbmdUcmFpdCB9IGZyb20gXCIuL19iYXNlXCJcbmltcG9ydCB7IG1heEhlaWdodCwgbWF4V2lkdGggfSBmcm9tIFwiLi9kaW0tY29udHJhaW50XCJcbmltcG9ydCB7IENvbXB1dGVkUG9zaXRvbiwgY29tcHV0ZVBvc2l0aW9uIH0gZnJvbSBcIi4vcG9zaXRpb24tY2FsY1wiXG5cbmV4cG9ydCB0eXBlIEZsb2F0aW5nVGFyZ2V0RWxlbWVudFJlZiA9IEVsZW1lbnRJbnB1dCB8IFdpbmRvdyB8IFwibGF5ZXJcIiB8IFwidmlld3BvcnRcIlxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nQWxpZ24ge1xuICAgIGFsaWduOiBBbGlnbm1lbnRJbnB1dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nQW5jaG9yUG9zaXRpb24gZXh0ZW5kcyBGbG9hdGluZ0FsaWduIHtcbiAgICBtYXJnaW4/OiBTaWRlc0lucHV0XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdBbmNob3IgZXh0ZW5kcyBGbG9hdGluZ0FuY2hvclBvc2l0aW9uIHtcbiAgICByZWY6IEZsb2F0aW5nVGFyZ2V0RWxlbWVudFJlZlxufVxuXG5leHBvcnQgY2xhc3MgRmxvYXRpbmdBbmNob3JSZWY8VCBleHRlbmRzIE5vZGU+IGV4dGVuZHMgRWxlbWVudFJlZjxUPiB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nQ29udGVudFBvc2l0aW9uIGV4dGVuZHMgRmxvYXRpbmdBbGlnbiB7XG4gICAgbWFyZ2luPzogU2lkZXNJbnB1dFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZsb2F0aW5nQ29udGVudCBleHRlbmRzIEZsb2F0aW5nQ29udGVudFBvc2l0aW9uIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdQbGFjZW1lbnRQb3NpdGlvbiB7XG4gICAgcGFkZGluZz86IFNpZGVzSW5wdXRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGbG9hdGluZ1BsYWNlbWVudCBleHRlbmRzIEZsb2F0aW5nUGxhY2VtZW50UG9zaXRpb24ge1xuICAgIHJlZjogRmxvYXRpbmdUYXJnZXRFbGVtZW50UmVmXG59XG5cbmV4cG9ydCBjbGFzcyBGbG9hdGluZ1BsYWNlbWVudFJlZjxUIGV4dGVuZHMgTGF5ZXJTZXJ2aWNlW1wicm9vdFwiXT4gZXh0ZW5kcyBFbGVtZW50UmVmPFQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnMge1xuICAgIGFuY2hvcj86IEZsb2F0aW5nQW5jaG9yXG4gICAgY29udGVudD86IEZsb2F0aW5nQ29udGVudFxuICAgIHBsYWNlbWVudD86IEZsb2F0aW5nUGxhY2VtZW50XG59XG5cbmV4cG9ydCB0eXBlIEZsb2F0aW5nUG9zaXRpb25PcHRpb25zTm9ybWFsaXplZCA9IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zICYge1xuICAgIGFuY2hvcjogRmxvYXRpbmdBbmNob3JcbiAgICBjb250ZW50OiBGbG9hdGluZ0NvbnRlbnRcbiAgICBwbGFjZW1lbnQ6IEZsb2F0aW5nUGxhY2VtZW50XG59XG5cbnR5cGUgV2F0Y2hlcyA9IHtcbiAgICBmbG9hdGluZzogT2JzZXJ2YWJsZTxEaW1lbnNpb24+XG4gICAgYW5jaG9yOiBPYnNlcnZhYmxlPFJlY3Q+XG4gICAgcGxhY2VtZW50OiBPYnNlcnZhYmxlPFJlY3Q+XG59XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvblRyYWl0IGltcGxlbWVudHMgRmxvYXRpbmdUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPiB7XG4gICAgcmVhZG9ubHkgbmFtZSA9IFwicG9zaXRpb25cIlxuXG4gICAgcmVhZG9ubHkgb3B0aW9uczogRmxvYXRpbmdQb3NpdGlvbk9wdGlvbnNOb3JtYWxpemVkXG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBGbG9hdGluZ1Bvc2l0aW9uT3B0aW9ucykge1xuICAgICAgICBjb25zdCBjbG9uZWQgPSB7IC4uLm9wdGlvbnMgfVxuXG4gICAgICAgIGlmICghY2xvbmVkLnBsYWNlbWVudCkge1xuICAgICAgICAgICAgY2xvbmVkLnBsYWNlbWVudCA9IHsgcmVmOiBcInZpZXdwb3J0XCIgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbG9uZWQuYW5jaG9yKSB7XG4gICAgICAgICAgICBjbG9uZWQuYW5jaG9yID0geyByZWY6IGNsb25lZC5wbGFjZW1lbnQucmVmLCBhbGlnbjogXCJjZW50ZXIgbWlkZGxlXCIgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbG9uZWQuY29udGVudCkge1xuICAgICAgICAgICAgY2xvbmVkLmNvbnRlbnQgPSB7IGFsaWduOiBcImNlbnRlciBtaWRkbGVcIiB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9wdGlvbnMgPSBjbG9uZWQgYXMgYW55XG4gICAgfVxuXG4gICAgY29ubmVjdChmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pik6IE9ic2VydmFibGU8RmxvYXRpbmdQb3NpdGlvbj4ge1xuICAgICAgICByZXR1cm4gbmV3IE9ic2VydmFibGUoKGRlc3Q6IFN1YnNjcmliZXI8RmxvYXRpbmdQb3NpdGlvbj4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluamVjdG9yID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLmluamVjdG9yXG4gICAgICAgICAgICBjb25zdCBkaW1XYXRjaGVyID0gaW5qZWN0b3IuZ2V0KERpbWVuc2lvbldhdGNoZXIpXG4gICAgICAgICAgICBjb25zdCByZWN0V2F0Y2hlciA9IGluamVjdG9yLmdldChSZWN0V2F0Y2hlcilcblxuICAgICAgICAgICAgY29uc3Qgd2F0Y2hlczogV2F0Y2hlcyA9IHtcbiAgICAgICAgICAgICAgICBmbG9hdGluZzogZGltV2F0Y2hlci53YXRjaChmbG9hdGluZ1JlZi5jb250YWluZXIsIFwiYm9yZGVyLWJveFwiKSxcbiAgICAgICAgICAgICAgICBhbmNob3I6IHJlZldhdGNoZXIocmVjdFdhdGNoZXIsIHRoaXMub3B0aW9ucy5hbmNob3IucmVmLCBmbG9hdGluZ1JlZiksXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiByZWZXYXRjaGVyKHJlY3RXYXRjaGVyLCB0aGlzLm9wdGlvbnMucGxhY2VtZW50LnJlZiwgZmxvYXRpbmdSZWYpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHdhdGNoZXMpLnN1YnNjcmliZSgoeyBmbG9hdGluZywgYW5jaG9yLCBwbGFjZW1lbnQgfSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IG5ldyBGbG9hdGluZ1Bvc2l0aW9uKHRoaXMub3B0aW9ucywgZmxvYXRpbmcsIGFuY2hvciwgcGxhY2VtZW50KVxuICAgICAgICAgICAgICAgIHJlcy5hcHBseShmbG9hdGluZ1JlZilcbiAgICAgICAgICAgICAgICBkZXN0Lm5leHQocmVzKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSkucGlwZSh0YWtlVW50aWwoZmxvYXRpbmdSZWYuc3RhdGUub25FeGVjdXRlKFwiZGlzcG9zaW5nXCIpKSlcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlZldhdGNoZXIocmVjdFdhdGNoZXI6IFJlY3RXYXRjaGVyLCByZWY6IEZsb2F0aW5nVGFyZ2V0RWxlbWVudFJlZiwgZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4pIHtcbiAgICBpZiAocmVmID09PSBcImxheWVyXCIpIHtcbiAgICAgICAgcmV0dXJuIHJlY3RXYXRjaGVyLndhdGNoKGZsb2F0aW5nUmVmLmxheWVyU3ZjLnJvb3QsIFwiYm9yZGVyLWJveFwiKVxuICAgIH0gZWxzZSBpZiAocmVmID09PSBcInZpZXdwb3J0XCIgfHwgcmVmIGluc3RhbmNlb2YgV2luZG93KSB7XG4gICAgICAgIHJldHVybiByZWN0V2F0Y2hlci53YXRjaCh3aW5kb3csIFwiYm9yZGVyLWJveFwiKVxuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiByZWN0V2F0Y2hlci53YXRjaChyZWYsIFwiYm9yZGVyLWJveFwiKVxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvc2l0aW9uKG9wdGlvbnM6IEZsb2F0aW5nUG9zaXRpb25PcHRpb25zKSB7XG4gICAgcmV0dXJuIFtuZXcgUG9zaXRpb25UcmFpdChvcHRpb25zKSwgbWF4V2lkdGgoTmFOKSwgbWF4SGVpZ2h0KE5hTildXG59XG5cbmV4cG9ydCBjbGFzcyBGbG9hdGluZ1Bvc2l0aW9uIHtcbiAgICByZWFkb25seSBjb21wdXRlZD86IENvbXB1dGVkUG9zaXRvblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICByZWFkb25seSBvcHRpb25zOiBGbG9hdGluZ1Bvc2l0aW9uT3B0aW9uc05vcm1hbGl6ZWQsXG4gICAgICAgIHJlYWRvbmx5IGZsb2F0aW5nOiBEaW1lbnNpb24sXG4gICAgICAgIHJlYWRvbmx5IGFuY2hvcjogUmVjdCxcbiAgICAgICAgcmVhZG9ubHkgcGxhY2VtZW50OiBSZWN0XG4gICAgKSB7XG4gICAgICAgIC8vIGNvbnN0IGZyZWN0OiBSZWN0ID0geyB4OiAwLCB5OiAwLCAuLi5mbG9hdGluZyB9XG4gICAgICAgIHRoaXMuY29tcHV0ZWQgPSBjb21wdXRlUG9zaXRpb24oeyBmbG9hdGluZywgYW5jaG9yLCBwbGFjZW1lbnQsIG9wdGlvbnMgfSlcbiAgICB9XG5cbiAgICBhcHBseShmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWYpIHtcbiAgICAgICAgaWYgKHRoaXMuY29tcHV0ZWQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmbG9hdGluZ0VsID0gZmxvYXRpbmdSZWYuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnRcbiAgICAgICAgY29uc3QgY29tcHV0ZWRDb250ZW50ID0gdGhpcy5jb21wdXRlZC5jb250ZW50XG4gICAgICAgIGNvbnN0IHN0eWxlOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudWxsPiA9IHsgdG9wOiBudWxsLCByaWdodDogbnVsbCwgYm90dG9tOiBudWxsLCBsZWZ0OiBudWxsIH1cblxuICAgICAgICBpZiAoY29tcHV0ZWRDb250ZW50LmFsaWduLmhvcml6b250YWwgPT09IFwicmlnaHRcIikge1xuICAgICAgICAgICAgc3R5bGVbXCJyaWdodFwiXSA9IGAke2NvbXB1dGVkQ29udGVudC5yaWdodH1weGBcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0eWxlW1wibGVmdFwiXSA9IGAke2NvbXB1dGVkQ29udGVudC5sZWZ0fXB4YFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbXB1dGVkQ29udGVudC5hbGlnbi52ZXJ0aWNhbCA9PT0gXCJib3R0b21cIikge1xuICAgICAgICAgICAgc3R5bGVbXCJib3R0b21cIl0gPSBgJHtjb21wdXRlZENvbnRlbnQuYm90dG9tfXB4YFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3R5bGVbXCJ0b3BcIl0gPSBgJHtjb21wdXRlZENvbnRlbnQudG9wfXB4YFxuICAgICAgICB9XG5cbiAgICAgICAgT2JqZWN0LmFzc2lnbihmbG9hdGluZ0VsLnN0eWxlLCBzdHlsZSlcbiAgICB9XG59XG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9mbG9hdGluZy9zcmMvZmxvYXRpbmcvdHJhaXRzL3Bvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLFlBQVksRUFDWixHQUFHLEVBQ0gsVUFBVSxFQUNWLEVBQUUsRUFFRixTQUFTLEVBQ1QsU0FBUyxFQUNaLE1BQU0sTUFBTSxDQUFBO0FBRWIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQTtBQUVoQyxPQUFPLEVBQWdCLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFBO0FBQzdELE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsZ0JBQWdCLEVBT2hCLHVCQUF1QixFQUV2QixXQUFXLEVBQ2QsTUFBTSxlQUFlLENBQUE7QUE2Q3RCLE1BQU0sT0FBTyxhQUFhO0lBS3RCLFlBQVksT0FBNkI7UUFKaEMsU0FBSSxHQUFHLFVBQVUsQ0FBQTtRQUt0QixNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFFN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLENBQUMsU0FBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFBO1FBQzFDLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFBO1FBQ3hFLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUE7UUFDOUMs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LENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQ3JFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSTtRQUN6RSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxJQUFJO1FBQzNFLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDbkYsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLE9BQTZCO0lBQ2xELE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgY29tYmluZUxhdGVzdCxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgICBpc09ic2VydmFibGUsXG4gICAgbWFwLFxuICAgIE9ic2VydmFibGUsXG4gICAgb2YsXG4gICAgU3Vic2NyaWJlcixcbiAgICBzd2l0Y2hNYXAsXG4gICAgdGFrZVVudGlsXG59IGZyb20gXCJyeGpzXCJcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gXCJsb2Rhc2hcIlxuXG5pbXBvcnQgeyBFbGVtZW50SW5wdXQsIGlzRWxlbWVudElucHV0IH0gZnJvbSBcIkBuZ3V0aWwvY29tbW9uXCJcbmltcG9ydCB7XG4gICAgRGltZW5zaW9uLFxuICAgIERpbWVuc2lvbldhdGNoZXIsXG4gICAgZmxvYXRpbmdQb3NpdGlvbixcbiAgICBGbG9hdGluZ1Bvc2l0aW9uLFxuICAgIEZsb2F0aW5nUG9zaXRpb25BbHRJbnB1dCxcbiAgICBGbG9hdGluZ1Bvc2l0aW9uQW5jaG9yT3B0aW9ucyxcbiAgICBGbG9hdGluZ1Bvc2l0aW9uQ29udGVudE9wdGlvbnMsXG4gICAgRmxvYXRpbmdQb3NpdGlvbkRpbXMsXG4gICAgRmxvYXRpbmdQb3NpdGlvblBsYWNlbWVudE9wdGlvbnMsXG4gICAgZmxvYXRpbmdQb3NpdGlvblRvU3R5bGUsXG4gICAgUmVjdCxcbiAgICBSZWN0V2F0Y2hlclxufSBmcm9tIFwiQG5ndXRpbC9zdHlsZVwiXG5cbmltcG9ydCB7IEZsb2F0aW5nUmVmIH0gZnJvbSBcIi4uL2Zsb2F0aW5nLXJlZlwiXG5pbXBvcnQgeyBGbG9hdGluZ1RyYWl0IH0gZnJvbSBcIi4vX2Jhc2VcIlxuXG5leHBvcnQgdHlwZSBQb3NpdGlvblRyYWl0RWxlbWVudFJlZiA9IEVsZW1lbnRJbnB1dCB8IFdpbmRvdyB8IFwibGF5ZXJcIiB8IFwidmlld3BvcnRcIlxuXG5leHBvcnQgdHlwZSBQb3NpdGlvblRyYWl0T3B0aW9ucyA9IHtcbiAgICBjb250ZW50PzogT21pdDxGbG9hdGluZ1Bvc2l0aW9uQ29udGVudE9wdGlvbnMsIFwiY29uc3RyYWludHNcIj4gJiB7IGNvbnN0cmFpbnRzPzogU2l6ZUNvbnN0cmFpbnRzSW5wdXQgfVxuICAgIGFuY2hvcj86IEZsb2F0aW5nUG9zaXRpb25BbmNob3JPcHRpb25zICYgeyByZWY6IFBvc2l0aW9uVHJhaXRFbGVtZW50UmVmIH1cbiAgICBwbGFjZW1lbnQ/OiBGbG9hdGluZ1Bvc2l0aW9uUGxhY2VtZW50T3B0aW9ucyAmIHsgcmVmOiBQb3NpdGlvblRyYWl0RWxlbWVudFJlZiB9XG4gICAgaG9yaXpvbnRhbEFsdD86IEZsb2F0aW5nUG9zaXRpb25BbHRJbnB1dFxuICAgIHZlcnRpY2FsQWx0PzogRmxvYXRpbmdQb3NpdGlvbkFsdElucHV0XG59XG5cbi8qKlxuICogV2lkdGggb3QgaGVpZ2h0IGlucHV0IHZhbHVlc1xuICpcbiAqIC0gYG51bWJlcmA6IGV4Y2FjdCB2YWx1ZVxuICogLSBgRWxlbWVudElucHV0YDogZWxlbWVudCByZWZlcmVuY2UsIGFuZCB0YWtlIHRoZSBkaW1lbnNpb24gZnJvbSBpdFxuICogLSBgbGlua2A6IHRha2UgdGhlIGRpbWVuc2lvbiBmcm9tIHRoZSBhbmNob3IgZWxlbWVudCBhbmQgb25seSBhcHBseSBvbiBjb25uZWN0aW9uIGRpbWVuc2lvbi5cbiAqICAgIGVnLjogYGFuY2hvci5saW5rID0gXCJsZWZ0IGJvdHRvbVwiYCBhbmQgYGNvbnRlbnQubGluayA9IFwibGVmdCB0b3BcImAsIGluIHRoaXMgY2FzZSBvbmx5IHdpZHRoIHdpbGwgYmUgYXBwbGllZC5cbiAqL1xudHlwZSBTaXplSW5wdXRDb25zdCA9IG51bWJlciB8IEVsZW1lbnRJbnB1dFxudHlwZSBTaXplSW5wdXQgPSBTaXplSW5wdXRDb25zdCB8IE9ic2VydmFibGU8U2l6ZUlucHV0Q29uc3Q+XG5cbmludGVyZmFjZSBTaXplQ29uc3RyYWludHNJbnB1dCB7XG4gICAgbWluV2lkdGg/OiBTaXplSW5wdXRcbiAgICBtYXhXaWR0aD86IFNpemVJbnB1dFxuICAgIG1pbkhlaWdodD86IFNpemVJbnB1dFxuICAgIG1heEhlaWdodD86IFNpemVJbnB1dFxufVxuXG50eXBlIFNpemVDb25zdHJhaW50cyA9IE5vbk51bGxhYmxlPEZsb2F0aW5nUG9zaXRpb25EaW1zW1wiY29uc3RyYWludHNcIl0+XG5cbnR5cGUgV2F0Y2hlcyA9IHtcbiAgICBjb250ZW50OiBPYnNlcnZhYmxlPERpbWVuc2lvbj5cbiAgICBhbmNob3I6IE9ic2VydmFibGU8UmVjdD5cbiAgICBwbGFjZW1lbnQ6IE9ic2VydmFibGU8UmVjdD5cbiAgICBjb25zdHJhaW50czogT2JzZXJ2YWJsZTxDb25zdHJhaW50c1Jlc3VsdD5cbn1cblxudHlwZSBDb25zdHJhaW50V2F0Y2hlcyA9IHsgW0sgaW4ga2V5b2YgU2l6ZUNvbnN0cmFpbnRzXS0/OiBPYnNlcnZhYmxlPE5vbk51bGxhYmxlPFNpemVDb25zdHJhaW50c1tLXT4+IH1cbnR5cGUgQ29uc3RyYWludHNSZXN1bHQgPSBSZXF1aXJlZDxTaXplQ29uc3RyYWludHM+XG5cbmV4cG9ydCBjbGFzcyBQb3NpdGlvblRyYWl0IGltcGxlbWVudHMgRmxvYXRpbmdUcmFpdDxGbG9hdGluZ1Bvc2l0aW9uPiB7XG4gICAgcmVhZG9ubHkgbmFtZSA9IFwicG9zaXRpb25cIlxuXG4gICAgcmVhZG9ubHkgb3B0aW9uczogUmVxdWlyZWQ8UG9zaXRpb25UcmFpdE9wdGlvbnM+XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBQb3NpdGlvblRyYWl0T3B0aW9ucykge1xuICAgICAgICBjb25zdCBjbG9uZWQgPSB7IC4uLm9wdGlvbnMgfVxuXG4gICAgICAgIGlmICghY2xvbmVkLnBsYWNlbWVudCkge1xuICAgICAgICAgICAgY2xvbmVkLnBsYWNlbWVudCA9IHsgcmVmOiBcInZpZXdwb3J0XCIgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjbG9uZWQuYW5jaG9yKSB7XG4gICAgICAgICAgICBjbG9uZWQuYW5jaG9yID0geyByZWY6IGNsb25lZC5wbGFjZW1lbnQucmVmLCBsaW5rOiBcImNlbnRlciBtaWRkbGVcIiB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWNsb25lZC5jb250ZW50KSB7XG4gICAgICAgICAgICBjbG9uZWQuY29udGVudCA9IHsgbGluazogXCJjZW50ZXIgbWlkZGxlXCIgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vcHRpb25zID0gY2xvbmVkIGFzIGFueVxuICAgIH1cblxuICAgIGNvbm5lY3QoZmxvYXRpbmdSZWY6IEZsb2F0aW5nUmVmPGFueT4pOiBPYnNlcnZhYmxlPEZsb2F0aW5nUG9zaXRpb24+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChkZXN0OiBTdWJzY3JpYmVyPEZsb2F0aW5nUG9zaXRpb24+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpbmplY3RvciA9IGZsb2F0aW5nUmVmLmNvbnRhaW5lci5pbmplY3RvclxuICAgICAgICAgICAgY29uc3QgZGltV2F0Y2hlciA9IGluamVjdG9yLmdldChEaW1lbnNpb25XYXRjaGVyKVxuICAgICAgICAgICAgY29uc3QgcmVjdFdhdGNoZXIgPSBpbmplY3Rvci5nZXQoUmVjdFdhdGNoZXIpXG5cbiAgICAgICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzID0gdGhpcy5vcHRpb25zLmNvbnRlbnQuY29uc3RyYWludHMgfHwge31cbiAgICAgICAgICAgIGNvbnN0IGNvbnN0cmFpbnRzV2F0Y2hlczogQ29uc3RyYWludFdhdGNoZXMgPSB7XG4gICAgICAgICAgICAgICAgbWluV2lkdGg6IHNpemVXYXRjaGVyKGRpbVdhdGNoZXIsIFwid2lkdGhcIiwgY29uc3RyYWludHMubWluV2lkdGgpLFxuICAgICAgICAgICAgICAgIG1heFdpZHRoOiBzaXplV2F0Y2hlcihkaW1XYXRjaGVyLCBcIndpZHRoXCIsIGNvbnN0cmFpbnRzLm1heFdpZHRoKSxcbiAgICAgICAgICAgICAgICBtaW5IZWlnaHQ6IHNpemVXYXRjaGVyKGRpbVdhdGNoZXIsIFwiaGVpZ2h0XCIsIGNvbnN0cmFpbnRzLm1pbkhlaWdodCksXG4gICAgICAgICAgICAgICAgbWF4SGVpZ2h0OiBzaXplV2F0Y2hlcihkaW1XYXRjaGVyLCBcImhlaWdodFwiLCBjb25zdHJhaW50cy5tYXhIZWlnaHQpXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHdhdGNoZXM6IFdhdGNoZXMgPSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogZGltV2F0Y2hlci53YXRjaChmbG9hdGluZ1JlZi5jb250YWluZXIsIFwiYm9yZGVyLWJveFwiKSxcbiAgICAgICAgICAgICAgICBhbmNob3I6IHJlZldhdGNoZXIocmVjdFdhdGNoZXIsIHRoaXMub3B0aW9ucy5hbmNob3IucmVmLCBmbG9hdGluZ1JlZiksXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiByZWZXYXRjaGVyKHJlY3RXYXRjaGVyLCB0aGlzLm9wdGlvbnMucGxhY2VtZW50LnJlZiwgZmxvYXRpbmdSZWYpLFxuICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiBjb21iaW5lTGF0ZXN0KGNvbnN0cmFpbnRzV2F0Y2hlcylcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qod2F0Y2hlcylcbiAgICAgICAgICAgICAgICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZChpc0VxdWFsKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGRpbXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwb3MgPSBmbG9hdGluZ1Bvc2l0aW9uKHsgZGltcywgb3B0aW9uczogdGhpcy5vcHRpb25zIH0pXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZsb2F0aW5nRWwgPSBmbG9hdGluZ1JlZi5jb250YWluZXIubmF0aXZlRWxlbWVudFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGZsb2F0aW5nRWwuc3R5bGUsIGZsb2F0aW5nUG9zaXRpb25Ub1N0eWxlKHBvcykpXG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZmxvYXRpbmdFbC5zdHlsZSwgY29uc3RyYWludHNUb1N0eWxlKHBvcywgZGltcy5jb25zdHJhaW50cykpXG4gICAgICAgICAgICAgICAgICAgIGRlc3QubmV4dChwb3MpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgfSkucGlwZSh0YWtlVW50aWwoZmxvYXRpbmdSZWYuc3RhdGUub25FeGVjdXRlKFwiZGlzcG9zaW5nXCIpKSlcbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlZldhdGNoZXIocmVjdFdhdGNoZXI6IFJlY3RXYXRjaGVyLCByZWY6IFBvc2l0aW9uVHJhaXRFbGVtZW50UmVmLCBmbG9hdGluZ1JlZjogRmxvYXRpbmdSZWY8YW55Pikge1xuICAgIGlmIChyZWYgPT09IFwibGF5ZXJcIikge1xuICAgICAgICByZXR1cm4gcmVjdFdhdGNoZXIud2F0Y2goZmxvYXRpbmdSZWYubGF5ZXJTdmMucm9vdCwgXCJib3JkZXItYm94XCIpXG4gICAgfSBlbHNlIGlmIChyZWYgPT09IFwidmlld3BvcnRcIiB8fCByZWYgaW5zdGFuY2VvZiBXaW5kb3cpIHtcbiAgICAgICAgcmV0dXJuIHJlY3RXYXRjaGVyLndhdGNoKHdpbmRvdywgXCJib3JkZXItYm94XCIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlY3RXYXRjaGVyLndhdGNoKHJlZiwgXCJib3JkZXItYm94XCIpXG4gICAgfVxufVxuXG5mdW5jdGlvbiBzaXplV2F0Y2hlcihkaW1XYXRjaGVyOiBEaW1lbnNpb25XYXRjaGVyLCBwcm9wOiBcIndpZHRoXCIgfCBcImhlaWdodFwiLCBzaXplPzogU2l6ZUlucHV0KTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBpZiAodHlwZW9mIHNpemUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIG9mKHNpemUpXG4gICAgfSBlbHNlIGlmIChpc0VsZW1lbnRJbnB1dChzaXplKSkge1xuICAgICAgICByZXR1cm4gZGltV2F0Y2hlci53YXRjaChzaXplLCBcImJvcmRlci1ib3hcIikucGlwZShtYXAodmFsdWUgPT4gdmFsdWVbcHJvcF0pKVxuICAgIH0gZWxzZSBpZiAoaXNPYnNlcnZhYmxlKHNpemUpKSB7XG4gICAgICAgIHJldHVybiAoc2l6ZSBhcyBPYnNlcnZhYmxlPG51bWJlciB8IEVsZW1lbnRJbnB1dD4pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAodmFsdWUgPT4gc2l6ZVdhdGNoZXIoZGltV2F0Y2hlciwgcHJvcCwgdmFsdWUpKVxuICAgICAgICApXG4gICAgfVxuICAgIHJldHVybiBvZihOYU4pXG59XG5cbmZ1bmN0aW9uIGNvbnN0cmFpbnRzVG9TdHlsZShwb3M6IEZsb2F0aW5nUG9zaXRpb24sIHNpemVzOiBDb25zdHJhaW50c1Jlc3VsdCk6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj4ge1xuICAgIGNvbnN0IHsgbWluV2lkdGgsIG1heFdpZHRoLCBtaW5IZWlnaHQsIG1heEhlaWdodCB9ID0gc2l6ZXNcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IHBvcy5wbGFjZW1lbnQuYXJlYVxuICAgIHJldHVybiB7XG4gICAgICAgIG1pbldpZHRoOiBpc05hTihtaW5XaWR0aCkgPyBcImF1dG9cIiA6IGAke01hdGgubWluKHdpZHRoLCBtaW5XaWR0aCl9cHhgLFxuICAgICAgICBtaW5IZWlnaHQ6IGlzTmFOKG1pbkhlaWdodCkgPyBcImF1dG9cIiA6IGAke01hdGgubWluKGhlaWdodCwgbWluSGVpZ2h0KX1weGAsXG4gICAgICAgIG1heFdpZHRoOiBpc05hTihtYXhXaWR0aCkgPyBgJHt3aWR0aH1weGAgOiBgJHtNYXRoLm1pbih3aWR0aCwgbWF4V2lkdGgpfXB4YCxcbiAgICAgICAgbWF4SGVpZ2h0OiBpc05hTihtYXhIZWlnaHQpID8gYCR7aGVpZ2h0fXB4YCA6IGAke01hdGgubWluKGhlaWdodCwgbWF4SGVpZ2h0KX1weGBcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3NpdGlvbihvcHRpb25zOiBQb3NpdGlvblRyYWl0T3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgUG9zaXRpb25UcmFpdChvcHRpb25zKVxufVxuIl19
@@ -33,9 +33,10 @@ function createElement(options) {
33
33
  div.style.flexDirection = "column";
34
34
  div.style.alignItems = "stretch";
35
35
  div.style.justifyContent = "stretch";
36
+ div.style.boxSizing = "border-box";
36
37
  if (options.classes) {
37
38
  div.classList.add(...options.classes);
38
39
  }
39
40
  return div;
40
41
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9jb250YWluZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFXbkQsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBS3RDLFlBQTRCLE9BQXlCO1FBQ2pELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFEOUMsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFGM0MsaUJBQVksR0FBRyxjQUFjLENBQUE7UUFLbkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUE7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzVCLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQ2pELE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDMUIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUMzQixPQUFRLElBQVksQ0FBQyxPQUFPLENBQUE7WUFDNUIsT0FBUSxJQUFZLENBQUMsUUFBUSxDQUFBO1FBQ2pDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVTLFlBQVk7UUFDbEIsT0FBTztZQUNILEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1NBQzVDLENBQUE7SUFDTCxDQUFDO0NBQ0o7QUFFRCxTQUFTLGFBQWEsQ0FBQyxPQUF5QjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQTtJQUMvQixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFBO0lBQ3BCLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQTtJQUMvQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUE7SUFDakMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFBO0lBQ2xDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtJQUNoQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUE7SUFFcEMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbEIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDekMsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBQcm92aWRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCJcblxuaW1wb3J0IHsgQWx3YXlzT25Ub3AsIENoaWxkUmVmIH0gZnJvbSBcIi4vY2hpbGQtcmVmXCJcblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJPcHRpb25zIHtcbiAgICBhbHdheXNPblRvcD86IEFsd2F5c09uVG9wXG4gICAgZWxldmF0aW9uPzogbnVtYmVyXG4gICAgY2xhc3Nlcz86IHN0cmluZ1tdXG4gICAgYXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICBpbmplY3Rvcj86IEluamVjdG9yXG4gICAgcHJvdmlkZXJzPzogUHJvdmlkZXJbXVxufVxuXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyUmVmIGV4dGVuZHMgQ2hpbGRSZWYge1xuICAgIHB1YmxpYyByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcblxuICAgIHByb3RlY3RlZCBpbmplY3Rvck5hbWUgPSBcIkNvbnRhaW5lclJlZlwiXG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgb3B0aW9uczogQ29udGFpbmVyT3B0aW9ucykge1xuICAgICAgICBzdXBlcihjcmVhdGVFbGVtZW50KG9wdGlvbnMpLCBvcHRpb25zLmFsd2F5c09uVG9wIHx8IEFsd2F5c09uVG9wLk5vbmUpXG5cbiAgICAgICAgY29uc3QgcHJvdmlkZXJzID0gb3B0aW9ucy5wcm92aWRlcnMgfHwgW11cbiAgICAgICAgdGhpcy5pbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFsuLi50aGlzLmdldFByb3ZpZGVycygpLCAuLi5wcm92aWRlcnNdLFxuICAgICAgICAgICAgcGFyZW50OiBvcHRpb25zLmluamVjdG9yLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5pbmplY3Rvck5hbWVcbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzLnN0YXRlLm9uKFwiZGlzcG9zZWRcIiwgKCkgPT4ge1xuICAgICAgICAgICAgZGVsZXRlICh0aGlzIGFzIGFueSkub3B0aW9uc1xuICAgICAgICAgICAgZGVsZXRlICh0aGlzIGFzIGFueSkuaW5qZWN0b3JcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0UHJvdmlkZXJzKCk6IFByb3ZpZGVyW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgeyBwcm92aWRlOiBDaGlsZFJlZiwgdXNlVmFsdWU6IHRoaXMgfSxcbiAgICAgICAgICAgIHsgcHJvdmlkZTogQ29udGFpbmVyUmVmLCB1c2VWYWx1ZTogdGhpcyB9XG4gICAgICAgIF1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQob3B0aW9uczogQ29udGFpbmVyT3B0aW9ucyk6IEhUTUxEaXZFbGVtZW50IHtcbiAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gICAgZGl2LnN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiXG4gICAgZGl2LnN0eWxlLnRvcCA9IFwiMFwiXG4gICAgZGl2LnN0eWxlLmxlZnQgPSBcIjBcIlxuICAgIGRpdi5zdHlsZS53aWR0aCA9IFwibWF4LWNvbnRlbnRcIlxuICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gXCJpbmxpbmUtZmxleFwiXG4gICAgZGl2LnN0eWxlLmZsZXhEaXJlY3Rpb24gPSBcImNvbHVtblwiXG4gICAgZGl2LnN0eWxlLmFsaWduSXRlbXMgPSBcInN0cmV0Y2hcIlxuICAgIGRpdi5zdHlsZS5qdXN0aWZ5Q29udGVudCA9IFwic3RyZXRjaFwiXG5cbiAgICBpZiAob3B0aW9ucy5jbGFzc2VzKSB7XG4gICAgICAgIGRpdi5jbGFzc0xpc3QuYWRkKC4uLm9wdGlvbnMuY2xhc3NlcylcbiAgICB9XG5cbiAgICByZXR1cm4gZGl2XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyLXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zsb2F0aW5nL3NyYy9sYXllci9jb250YWluZXItcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUE7QUFFbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFXbkQsTUFBTSxPQUFPLFlBQWEsU0FBUSxRQUFRO0lBS3RDLFlBQTRCLE9BQXlCO1FBQ2pELEtBQUssQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUE7UUFEOUMsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFGM0MsaUJBQVksR0FBRyxjQUFjLENBQUE7UUFLbkMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUE7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzVCLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLEdBQUcsU0FBUyxDQUFDO1lBQ2pELE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUTtZQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDMUIsQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRTtZQUMzQixPQUFRLElBQVksQ0FBQyxPQUFPLENBQUE7WUFDNUIsT0FBUSxJQUFZLENBQUMsUUFBUSxDQUFBO1FBQ2pDLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVTLFlBQVk7UUFDbEIsT0FBTztZQUNILEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ3JDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1NBQzVDLENBQUE7SUFDTCxDQUFDO0NBQ0o7QUFFRCxTQUFTLGFBQWEsQ0FBQyxPQUF5QjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3pDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQTtJQUMvQixHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDbkIsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFBO0lBQ3BCLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLGFBQWEsQ0FBQTtJQUMvQixHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUE7SUFDakMsR0FBRyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFBO0lBQ2xDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQTtJQUNoQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUE7SUFDcEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFBO0lBRWxDLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQTtBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgUHJvdmlkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiXG5cbmltcG9ydCB7IEFsd2F5c09uVG9wLCBDaGlsZFJlZiB9IGZyb20gXCIuL2NoaWxkLXJlZlwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFpbmVyT3B0aW9ucyB7XG4gICAgYWx3YXlzT25Ub3A/OiBBbHdheXNPblRvcFxuICAgIGVsZXZhdGlvbj86IG51bWJlclxuICAgIGNsYXNzZXM/OiBzdHJpbmdbXVxuICAgIGF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+XG4gICAgaW5qZWN0b3I/OiBJbmplY3RvclxuICAgIHByb3ZpZGVycz86IFByb3ZpZGVyW11cbn1cblxuZXhwb3J0IGNsYXNzIENvbnRhaW5lclJlZiBleHRlbmRzIENoaWxkUmVmIHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yXG5cbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3JOYW1lID0gXCJDb250YWluZXJSZWZcIlxuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnMpIHtcbiAgICAgICAgc3VwZXIoY3JlYXRlRWxlbWVudChvcHRpb25zKSwgb3B0aW9ucy5hbHdheXNPblRvcCB8fCBBbHdheXNPblRvcC5Ob25lKVxuXG4gICAgICAgIGNvbnN0IHByb3ZpZGVycyA9IG9wdGlvbnMucHJvdmlkZXJzIHx8IFtdXG4gICAgICAgIHRoaXMuaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgICAgICAgcHJvdmlkZXJzOiBbLi4udGhpcy5nZXRQcm92aWRlcnMoKSwgLi4ucHJvdmlkZXJzXSxcbiAgICAgICAgICAgIHBhcmVudDogb3B0aW9ucy5pbmplY3RvcixcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuaW5qZWN0b3JOYW1lXG4gICAgICAgIH0pXG5cbiAgICAgICAgdGhpcy5zdGF0ZS5vbihcImRpc3Bvc2VkXCIsICgpID0+IHtcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLm9wdGlvbnNcbiAgICAgICAgICAgIGRlbGV0ZSAodGhpcyBhcyBhbnkpLmluamVjdG9yXG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFByb3ZpZGVycygpOiBQcm92aWRlcltdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogQ2hpbGRSZWYsIHVzZVZhbHVlOiB0aGlzIH0sXG4gICAgICAgICAgICB7IHByb3ZpZGU6IENvbnRhaW5lclJlZiwgdXNlVmFsdWU6IHRoaXMgfVxuICAgICAgICBdXG4gICAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVFbGVtZW50KG9wdGlvbnM6IENvbnRhaW5lck9wdGlvbnMpOiBIVE1MRGl2RWxlbWVudCB7XG4gICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImRpdlwiKVxuICAgIGRpdi5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIlxuICAgIGRpdi5zdHlsZS50b3AgPSBcIjBcIlxuICAgIGRpdi5zdHlsZS5sZWZ0ID0gXCIwXCJcbiAgICBkaXYuc3R5bGUud2lkdGggPSBcIm1heC1jb250ZW50XCJcbiAgICBkaXYuc3R5bGUuZGlzcGxheSA9IFwiaW5saW5lLWZsZXhcIlxuICAgIGRpdi5zdHlsZS5mbGV4RGlyZWN0aW9uID0gXCJjb2x1bW5cIlxuICAgIGRpdi5zdHlsZS5hbGlnbkl0ZW1zID0gXCJzdHJldGNoXCJcbiAgICBkaXYuc3R5bGUuanVzdGlmeUNvbnRlbnQgPSBcInN0cmV0Y2hcIlxuICAgIGRpdi5zdHlsZS5ib3hTaXppbmcgPSBcImJvcmRlci1ib3hcIlxuXG4gICAgaWYgKG9wdGlvbnMuY2xhc3Nlcykge1xuICAgICAgICBkaXYuY2xhc3NMaXN0LmFkZCguLi5vcHRpb25zLmNsYXNzZXMpXG4gICAgfVxuXG4gICAgcmV0dXJuIGRpdlxufVxuIl19