@skyux/lists 7.15.0 → 7.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -173,15 +173,18 @@ _SkyRepeaterComponent_adapterService = new WeakMap(), _SkyRepeaterComponent_chan
173
173
  if (itemAdded && itemAdded.isExpanded) {
174
174
  foundExpanded = true;
175
175
  }
176
- this.items.forEach((item) => {
176
+ for (const item of this.items) {
177
177
  item.isCollapsible = isCollapsible && !!item.hasItemContent;
178
+ // Collapse any items that aren't the item that was just added.
178
179
  if (item !== itemAdded && isSingle && item.isExpanded) {
179
180
  if (foundExpanded) {
180
- item.updateForExpanded(false);
181
+ // If this item is being collapsed because a new item was
182
+ // added, animate it.
183
+ item.updateForExpanded(false, !!itemAdded);
181
184
  }
182
185
  foundExpanded = true;
183
186
  }
184
- });
187
+ }
185
188
  __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
186
189
  }
187
190
  }, _SkyRepeaterComponent_initializeDragAndDrop = function _SkyRepeaterComponent_initializeDragAndDrop() {
@@ -310,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
310
313
  type: ContentChildren,
311
314
  args: [SkyRepeaterItemComponent]
312
315
  }] } });
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3RzL3NyYy9saWIvbW9kdWxlcy9yZXBlYXRlci9yZXBlYXRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdHMvc3JjL2xpYi9tb2R1bGVzL3JlcGVhdGVyL3JlcGVhdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7O0FBRXhEOztHQUVHO0FBUUgsTUFBTSxPQUFPLG9CQUFvQjtJQXdGL0IsWUFDRSxjQUFpQyxFQUNqQyxlQUFtQyxFQUNuQyxjQUF5QyxFQUN6QyxjQUE4QixFQUM5QixVQUFzQixFQUN0QixRQUFtQjs7UUF4RXJCOzs7O1dBSUc7UUFFSSxnQkFBVyxHQUF3QixLQUFLLENBQUM7UUFnQ2hEOztXQUVHO1FBRUksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFTL0MsdURBQTJDO1FBQzNDLHVEQUFtQztRQUNuQyx1REFBZ0M7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ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWd1bGFTZXJ2aWNlIH0gZnJvbSAnbmcyLWRyYWd1bGEnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UmVwZWF0ZXJFeHBhbmRNb2RlVHlwZSB9IGZyb20gJy4vcmVwZWF0ZXItZXhwYW5kLW1vZGUtdHlwZSc7XG5pbXBvcnQgeyBTa3lSZXBlYXRlckl0ZW1Sb2xlc1R5cGUgfSBmcm9tICcuL3JlcGVhdGVyLWl0ZW0tcm9sZXMudHlwZSc7XG5pbXBvcnQgeyBTa3lSZXBlYXRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3JlcGVhdGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVJlcGVhdGVyUm9sZVR5cGUgfSBmcm9tICcuL3JlcGVhdGVyLXJvbGUudHlwZSc7XG5pbXBvcnQgeyBTa3lSZXBlYXRlclNlcnZpY2UgfSBmcm9tICcuL3JlcGVhdGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgdG8gZGlzcGxheSByZXBlYXRlciBpdGVtcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXJlcGVhdGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwZWF0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbU2t5UmVwZWF0ZXJTZXJ2aWNlLCBTa3lSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlcGVhdGVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICAvKipcbiAgICogVGhlIGluZGV4IG9mIHRoZSByZXBlYXRlciBpdGVtIHRvIHZpc3VhbGx5IGhpZ2hsaWdodCBhcyBhY3RpdmUuXG4gICAqIEZvciBleGFtcGxlLCB1c2UgdGhpcyBwcm9wZXJ0eSBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZVxuICAgKiBbc3BsaXQgdmlldyBjb21wb25lbnRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9zcGxpdC12aWV3KVxuICAgKiB0byBoaWdobGlnaHQgYSByZXBlYXRlciBpdGVtIHdoaWxlIHVzZXJzIGVkaXQgaXQuIE9ubHkgb25lIGl0ZW0gY2FuIGJlIGFjdGl2ZSBhdCBhIHRpbWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSByZXBlYXRlciBsaXN0LlxuICAgKiBUaGlzIHNldHMgdGhlIHJlcGVhdGVyIGxpc3QncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWwpLlxuICAgKiBAZGVmYXVsdCBcIkxpc3Qgb2YgaXRlbXNcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiBjaGFuZ2UgdGhlIG9yZGVyIG9mIGl0ZW1zIGluIHRoZSByZXBlYXRlciBsaXN0LlxuICAgKiBFYWNoIHJlcGVhdGVyIGl0ZW0gYWxzbyBoYXMgYHJlb3JkZXJhYmxlYCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0aGVyXG4gICAqIHVzZXJzIGNhbiBjaGFuZ2UgaXRzIG9yZGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlb3JkZXJhYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXlvdXQgdGhhdCBkZXRlcm1pbmVzIHdoaWNoIHJlcGVhdGVyIGl0ZW1zIGFyZSBleHBhbmRlZCBieSBkZWZhdWx0IGFuZCB3aGV0aGVyXG4gICAqIHJlcGVhdGVyIGl0ZW1zIGFyZSBleHBhbmRhYmxlIGFuZCBjb2xsYXBzaWJsZS4gQ29sbGFwc2VkIGl0ZW1zIGRpc3BsYXkgdGl0bGVzIG9ubHkuXG4gICAqIFRoZSB2YWxpZCBvcHRpb25zIGFyZSBgbXVsdGlwbGVgLCBgbm9uZWAsIGFuZCBgc2luZ2xlYC5cbiAgICogLSBgbXVsdGlwbGVgIGxvYWRzIHJlcGVhdGVyIGl0ZW1zIGluIGFuIGV4cGFuZGVkIHN0YXRlIHVubGVzcyBgaXNFeHBhbmRlZGAgaXMgc2V0IHRvXG4gICAqIGBmYWxzZWAgZm9yIGEgcmVwZWF0ZXIgaXRlbS4gVGhpcyBsYXlvdXQgYWxsb3dzIHVzZXJzIHRvIGV4cGFuZCBhbmQgY29sbGFwc2VcbiAgICogYXMgbWFueSByZXBlYXRlciBpdGVtcyBhcyBuZWNlc3NhcnkuIEl0IGlzIGJlc3Qtc3VpdGVkIHRvIHJlcGVhdGVyIGl0ZW1zIHdoZXJlIGJvZHlcbiAgICogY29udGVudCBpcyBpbXBvcnRhbnQgYnV0IHVzZXJzIGRvbid0IGFsd2F5cyBuZWVkIHRvIHNlZSBpdC5cbiAgICogLSBgbm9uZWAgbG9hZHMgYWxsIHJlcGVhdGVyIGl0ZW1zIGluIGFuIGV4cGFuZGVkIHN0YXRlIGFuZCBkb2VzIG5vdCBhbGxvdyB1c2VycyB0b1xuICAgKiBjb2xsYXBzZSB0aGVtLiBUaGlzIGRlZmF1bHQgbGF5b3V0IHByb3ZpZGVzIHRoZSBxdWlja2VzdCBhY2Nlc3MgdG8gdGhlIGRldGFpbHMgaW4gdGhlXG4gICAqIHJlcGVhdGVyIGl0ZW1zLiBJdCBpcyBiZXN0LXN1aXRlZCB0byByZXBlYXRlciBpdGVtcyB3aXRoIGNvbmNpc2UgY29udGVudFxuICAgKiB0aGF0IHVzZXJzIG5lZWQgdG8gdmlldyBmcmVxdWVudGx5LlxuICAgKiAtIGBzaW5nbGVgIGxvYWRzIG9uZSByZXBlYXRlciBpdGVtIGluIGFuIGV4cGFuZGVkIHN0YXRlIGFuZCBjb2xsYXBzZXMgYWxsIG90aGVycy5cbiAgICogVGhlIGV4cGFuZGVkIHJlcGVhdGVyIGl0ZW0gaXMgdGhlIGZpcnN0IG9uZSB3aGVyZSBgaXNFeHBhbmRlZGAgaXMgc2V0IHRvIGB0cnVlYC4gVGhpcyBsYXlvdXRcbiAgICogYWxsb3dzIHVzZXJzIHRvIGV4cGFuZCBvbmUgaXRlbSBhdCBhIHRpbWUuIEl0IHByb3ZpZGVzIHRoZSBtb3N0IGNvbXBhY3QgdmlldyBhbmQgaXNcbiAgICogYmVzdC1zdWl0ZWQgdG8gcmVwZWF0ZXIgaXRlbXMgd2hlcmUgdGhlIG1vc3QgaW1wb3J0YW50IGluZm9ybWF0aW9uIGlzIGluIHRoZSB0aXRsZXNcbiAgICogYW5kIHVzZXJzIG9ubHkgb2NjYXNpb25hbGx5IG5lZWQgdG8gdmlldyB0aGUgYm9keSBjb250ZW50LlxuICAgKiBAZGVmYXVsdCBcIm5vbmVcIlxuICAgKi9cbiAgLy8gVE9ETzogUmVtb3ZlICdzdHJpbmcnIGFzIGEgdmFsaWQgdHlwZSBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBleHBhbmRNb2RlKHZhbHVlOiBTa3lSZXBlYXRlckV4cGFuZE1vZGVUeXBlIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLmV4cGFuZE1vZGUgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVGb3JFeHBhbmRNb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZE1vZGUoKTogU2t5UmVwZWF0ZXJFeHBhbmRNb2RlVHlwZSB8IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3JlcGVhdGVyU2VydmljZS5leHBhbmRNb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFjdGl2ZSByZXBlYXRlciBpdGVtIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2hhbmdlIHRoZSBvcmRlciBvZiByZXBlYXRlciBpdGVtcy5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBvcmRlcmVkIGFycmF5IG9mIHRoZSBgdGFnYCBwcm9wZXJ0aWVzIHRoYXQgdGhlIGNvbnN1bWVyIHByb3ZpZGVzIGZvciBlYWNoIHJlcGVhdGVyIGl0ZW0uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9yZGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFNreVJlcGVhdGVySXRlbUNvbXBvbmVudClcbiAgcHVibGljIGl0ZW1zOiBRdWVyeUxpc3Q8U2t5UmVwZWF0ZXJJdGVtQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZHJhZ3VsYUdyb3VwTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyByb2xlOiBTa3lSZXBlYXRlclJvbGVUeXBlIHwgdW5kZWZpbmVkO1xuXG4gICNhZGFwdGVyU2VydmljZTogU2t5UmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RyYWd1bGFTZXJ2aWNlOiBEcmFndWxhU2VydmljZTtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjcmVwZWF0ZXJTZXJ2aWNlOiBTa3lSZXBlYXRlclNlcnZpY2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVwZWF0ZXJTZXJ2aWNlOiBTa3lSZXBlYXRlclNlcnZpY2UsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgZHJhZ3VsYVNlcnZpY2U6IERyYWd1bGFTZXJ2aWNlLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZSA9IHJlcGVhdGVyU2VydmljZTtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZSA9IGFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlID0gZHJhZ3VsYVNlcnZpY2U7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcblxuICAgIHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSA9IGBza3ktcmVwZWF0ZXItZHJhZ3VsYS0ke1xuICAgICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLnJlcGVhdGVyR3JvdXBJZFxuICAgIH1gO1xuXG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLml0ZW1Db2xsYXBzZVN0YXRlQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBTa3lSZXBlYXRlckl0ZW1Db21wb25lbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kTW9kZSA9PT0gJ3NpbmdsZScgJiYgaXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgICAgICAgdGhpcy5pdGVtcz8uZm9yRWFjaCgob3RoZXJJdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIG90aGVySXRlbSAhPT0gaXRlbSAmJlxuICAgICAgICAgICAgICBvdGhlckl0ZW0uaXNFeHBhbmRlZCAmJlxuICAgICAgICAgICAgICBvdGhlckl0ZW0uaXNDb2xsYXBzaWJsZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIG90aGVySXRlbS5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLmFjdGl2ZUl0ZW1JbmRleENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4ICE9PSB0aGlzLmFjdGl2ZUluZGV4KSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLm9yZGVyQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jZW1pdFRhZ3MoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jdXBkYXRlRm9yRXhwYW5kTW9kZSgpO1xuXG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0UmVwZWF0ZXJIb3N0KHRoaXMuI2VsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy4jaW5pdGlhbGl6ZURyYWdBbmREcm9wKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIElmIGFjdGl2ZUluZGV4IGhhcyBiZWVuIHNldCBvbiBpbml0LCBjYWxsIHNlcnZpY2UgdG8gYWN0aXZhdGUgdGhlIGFwcHJvcHJpYXRlIGl0ZW0uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCB8fCB0aGlzLmFjdGl2ZUluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5hY3RpdmF0ZUl0ZW1CeUluZGV4KHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5yZW9yZGVyYWJsZSAmJiAhdGhpcy4jZXZlcnlJdGVtSGFzVGFnKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdQbGVhc2Ugc3VwcGx5IHRhZyBwcm9wZXJ0aWVzIGZvciBlYWNoIHJlcGVhdGVyIGl0ZW0gd2hlbiByZW9yZGVyaW5nIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZC4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBIQUNLOiBOb3QgdXBkYXRpbmcgZm9yIGV4cGFuZCBtb2RlIGluIGEgdGltZW91dCBjYXVzZXMgYW4gZXJyb3IuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNjAwNVxuICAgIHRoaXMuaXRlbXM/LmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXM/Lmxhc3QpIHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVGb3JFeHBhbmRNb2RlKHRoaXMuaXRlbXMubGFzdCk7XG4gICAgICAgICAgdGhpcy5pdGVtcy5sYXN0LnJlb3JkZXJhYmxlID0gdGhpcy5yZW9yZGVyYWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLiNyZXBlYXRlclNlcnZpY2UuYWN0aXZhdGVJdGVtQnlJbmRleCh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiN1cGRhdGVGb3JFeHBhbmRNb2RlKCk7XG5cbiAgICAgIHRoaXMuaXRlbXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbS5yZW9yZGVyYWJsZSA9IHRoaXMucmVvcmRlcmFibGU7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4jdXBkYXRlUm9sZSgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snYWN0aXZlSW5kZXgnXSkge1xuICAgICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLmVuYWJsZUFjdGl2ZVN0YXRlID0gdHJ1ZTtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlc1snYWN0aXZlSW5kZXgnXS5jdXJyZW50VmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXNbJ2FjdGl2ZUluZGV4J10ucHJldmlvdXNWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5hY3RpdmF0ZUl0ZW1CeUluZGV4KHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnJlb3JkZXJhYmxlKSB7XG4gICAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLnJlb3JkZXJhYmxlID0gdGhpcy5yZW9yZGVyYWJsZSkpO1xuICAgICAgfVxuICAgICAgdGhpcy4jdXBkYXRlUm9sZSgpO1xuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2Rlc3Ryb3lEcmFnQW5kRHJvcCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNka09ic2VydmVDb250ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgfVxuXG4gICN1cGRhdGVGb3JFeHBhbmRNb2RlKGl0ZW1BZGRlZD86IFNreVJlcGVhdGVySXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICBsZXQgZm91bmRFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgaXNDb2xsYXBzaWJsZSA9IHRoaXMuZXhwYW5kTW9kZSAhPT0gJ25vbmUnO1xuICAgICAgY29uc3QgaXNTaW5nbGUgPSB0aGlzLmV4cGFuZE1vZGUgPT09ICdzaW5nbGUnO1xuXG4gICAgICAvLyBLZWVwIGFueSBuZXdseS1hZGRlZCBleHBhbmRlZCBpdGVtIGV4cGFuZGVkIGFuZCBjb2xsYXBzZSB0aGUgcmVzdC5cbiAgICAgIGlmIChpdGVtQWRkZWQgJiYgaXRlbUFkZGVkLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgZm91bmRFeHBhbmRlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBpdGVtLmlzQ29sbGFwc2libGUgPSBpc0NvbGxhcHNpYmxlICYmICEhaXRlbS5oYXNJdGVtQ29udGVudDtcblxuICAgICAgICBpZiAoaXRlbSAhPT0gaXRlbUFkZGVkICYmIGlzU2luZ2xlICYmIGl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgIGlmIChmb3VuZEV4cGFuZGVkKSB7XG4gICAgICAgICAgICBpdGVtLnVwZGF0ZUZvckV4cGFuZGVkKGZhbHNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3VuZEV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdGlhbGl6ZURyYWdBbmREcm9wKCk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayB0aGF0IHdlIGhhdmVuJ3QgYWxyZWFkeSBzZXQgdXAgZHJhZ2dpbmcgYWJpbGl0aWVzICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuI2RyYWd1bGFTZXJ2aWNlLmZpbmQodGhpcy5kcmFndWxhR3JvdXBOYW1lKSkge1xuICAgICAgdGhpcy4jZHJhZ3VsYVNlcnZpY2UuY3JlYXRlR3JvdXAodGhpcy5kcmFndWxhR3JvdXBOYW1lLCB7XG4gICAgICAgIG1vdmVzOiAoZWwsIGNvbnRhaW5lciwgaGFuZGxlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZWw/LnF1ZXJ5U2VsZWN0b3IoJy5za3ktcmVwZWF0ZXItaXRlbS1ncmFiLWhhbmRsZScpO1xuICAgICAgICAgIHJldHVybiAhIXRoaXMucmVvcmRlcmFibGUgJiYgISF0YXJnZXQgJiYgdGFyZ2V0LmNvbnRhaW5zKGhhbmRsZSEpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IGRyYWdnZWRJdGVtSW5kZXggPSAtMTtcblxuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlXG4gICAgICAuZHJhZyh0aGlzLmRyYWd1bGFHcm91cE5hbWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChhcmdzLm5hbWUgPT09IHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSkge1xuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGFyZ3MuZWwsICdza3ktcmVwZWF0ZXItaXRlbS1kcmFnZ2luZycpO1xuICAgICAgICAgIGRyYWdnZWRJdGVtSW5kZXggPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRSZXBlYXRlckl0ZW1JbmRleChcbiAgICAgICAgICAgIGFyZ3MuZWwgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlXG4gICAgICAuZHJhZ2VuZCh0aGlzLmRyYWd1bGFHcm91cE5hbWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChhcmdzLm5hbWUgPT09IHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSkge1xuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKGFyZ3MuZWwsICdza3ktcmVwZWF0ZXItaXRlbS1kcmFnZ2luZycpO1xuICAgICAgICAgIGNvbnN0IG5ld0l0ZW1JbmRleCA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldFJlcGVhdGVySXRlbUluZGV4KFxuICAgICAgICAgICAgYXJncy5lbCBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChkcmFnZ2VkSXRlbUluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5yZW9yZGVySXRlbShkcmFnZ2VkSXRlbUluZGV4LCBuZXdJdGVtSW5kZXgpO1xuICAgICAgICAgICAgZHJhZ2dlZEl0ZW1JbmRleCA9IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuI2VtaXRUYWdzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI2Rlc3Ryb3lEcmFnQW5kRHJvcCgpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgdGhhdCB3ZSBoYXZlIHNldCB1cCBkcmFnZ2luZyBhYmlsaXRpZXMgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNkcmFndWxhU2VydmljZS5maW5kKHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSkpIHtcbiAgICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlLmRlc3Ryb3kodGhpcy5kcmFndWxhR3JvdXBOYW1lKTtcbiAgICB9XG4gIH1cblxuICAjZW1pdFRhZ3MoKTogdm9pZCB7XG4gICAgY29uc3QgdGFncyA9IHRoaXMuI3JlcGVhdGVyU2VydmljZS5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udGFnKTtcbiAgICB0aGlzLm9yZGVyQ2hhbmdlLmVtaXQodGFncyk7XG4gIH1cblxuICAjZXZlcnlJdGVtSGFzVGFnKCk6IGJvb2xlYW4ge1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pdGVtcy50b0FycmF5KCkuZXZlcnkoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnRhZyAhPT0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgI3VwZGF0ZVJvbGUoKTogdm9pZCB7XG4gICAgLy8gRGV0ZXJtaW5lIGEgcm9sZSB1c2luZyBhIGhpZXJhcmNoeSBiYXNlZCBvbiBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMS9cbiAgICAvLyAgIDEuIElmIHRoZXJlIGFyZSBvbmUgb3IgbW9yZSBpbnRlcmFjdGlvbnMgaW4gdGhlIHJlcGVhdGVyIGl0ZW0gcHJvamVjdGVkIGNvbnRlbnQsIHVzZSBncmlkLlxuICAgIC8vICAgMi4gSWYgdGhlcmUgYXJlIHNlbGVjdGFibGUgcmVwZWF0ZXIgaXRlbXMgYW5kIG5vIG90aGVyIGludGVyYWN0aW9ucywgdXNlIGxpc3Rib3guXG4gICAgLy8gICAzLiBJZiB0aGVyZSBhcmUgbm8gaW50ZXJhY3Rpb25zLCB1c2UgbGlzdC5cblxuICAgIC8vIERlZmF1bHQgdG8gbGlzdCByb2xlLlxuICAgIGxldCBhdXRvUm9sZTogU2t5UmVwZWF0ZXJSb2xlVHlwZSA9ICdsaXN0JztcblxuICAgIGNvbnN0IHJvbGVNYXA6IFJlY29yZDxTa3lSZXBlYXRlclJvbGVUeXBlLCBTa3lSZXBlYXRlckl0ZW1Sb2xlc1R5cGU+ID0ge1xuICAgICAgbGlzdDogeyBpdGVtOiAnbGlzdGl0ZW0nLCB0aXRsZTogdW5kZWZpbmVkLCBjb250ZW50OiB1bmRlZmluZWQgfSxcbiAgICAgIGxpc3Rib3g6IHsgaXRlbTogJ29wdGlvbicsIHRpdGxlOiB1bmRlZmluZWQsIGNvbnRlbnQ6IHVuZGVmaW5lZCB9LFxuICAgICAgZ3JpZDogeyBpdGVtOiAncm93JywgdGl0bGU6ICdyb3doZWFkZXInLCBjb250ZW50OiAnZ3JpZGNlbGwnIH0sXG4gICAgfTtcblxuICAgIC8vIEJhc2VkIG9uIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2RvbS5odG1sI2ludGVyYWN0aXZlLWNvbnRlbnRcbiAgICBjb25zdCBpbnRlcmFjdGlvblNlbGVjdG9yID0gW1xuICAgICAgJ2FbaHJlZl0nLFxuICAgICAgJ2F1ZGlvW2NvbnRyb2xzXScsXG4gICAgICAnYnV0dG9uJyxcbiAgICAgICdkZXRhaWxzJyxcbiAgICAgICdlbWJlZCcsXG4gICAgICAnaWZyYW1lJyxcbiAgICAgICdpbWdbdXNlbWFwXScsXG4gICAgICAnaW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKScsXG4gICAgICAnbGFiZWwnLFxuICAgICAgJ3NlbGVjdCcsXG4gICAgICAndGV4dGFyZWEnLFxuICAgICAgJ3ZpZGVvW2NvbnRyb2xzXScsXG4gICAgICAnW2NvbnRlbnRlZGl0YWJsZV0nLFxuICAgICAgJy5za3ktcmVwZWF0ZXJbcm9sZT1cImdyaWRcIl0nLFxuICAgIF1cbiAgICAgIC5tYXAoXG4gICAgICAgIChzZWxlY3RvcikgPT5cbiAgICAgICAgICBgc2t5LXJlcGVhdGVyLWl0ZW0tdGl0bGUgJHtzZWxlY3Rvcn06bm90KFtoaWRkZW5dKSwgc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudCAke3NlbGVjdG9yfTpub3QoW2hpZGRlbl0pYFxuICAgICAgKVxuICAgICAgLmNvbmNhdChbYHNreXV4LWRyb3Bkb3duYF0pXG4gICAgICAuam9pbignLCAnKTtcblxuICAgIGNvbnN0IGhhc0ludGVyYWN0aW9uID1cbiAgICAgIHRoaXMucmVvcmRlcmFibGUgfHxcbiAgICAgIHRoaXMuaXRlbXM/LnNvbWUoKGl0ZW0pID0+IGl0ZW0uaXNDb2xsYXBzaWJsZSkgfHxcbiAgICAgIHRoaXMuaXRlbXM/LnNvbWUoKGl0ZW0pID0+ICEhaXRlbS5zZWxlY3RhYmxlKSB8fFxuICAgICAgISEodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBpbnRlcmFjdGlvblNlbGVjdG9yXG4gICAgICApO1xuXG4gICAgaWYgKGhhc0ludGVyYWN0aW9uKSB7XG4gICAgICAvLyBJZiB0aGUgcmVwZWF0ZXIgbWF0Y2hlcyBpbnRlcmFjdGlvbiBzZWxlY3RvciBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMS8jZ3JpZFxuICAgICAgYXV0b1JvbGUgPSAnZ3JpZCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucm9sZSAhPT0gYXV0b1JvbGUpIHtcbiAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5pdGVtUm9sZS5uZXh0KHtcbiAgICAgICAgLi4ucm9sZU1hcFthdXRvUm9sZV0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMucm9sZSA9IGAke2F1dG9Sb2xlfWA7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgI3JlcGVhdGVySG9zdD5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXJlcGVhdGVyXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8ICgnc2t5dXhfcmVwZWF0ZXJfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKVwiXG4gICAgW2RyYWd1bGFdPVwiZHJhZ3VsYUdyb3VwTmFtZVwiXG4gICAgKGNka09ic2VydmVDb250ZW50KT1cIm9uQ2RrT2JzZXJ2ZUNvbnRlbnQoKVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3RzL3NyYy9saWIvbW9kdWxlcy9yZXBlYXRlci9yZXBlYXRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdHMvc3JjL2xpYi9tb2R1bGVzL3JlcGVhdGVyL3JlcGVhdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixLQUFLLEVBSUwsTUFBTSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3ZFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7O0FBRXhEOztHQUVHO0FBUUgsTUFBTSxPQUFPLG9CQUFvQjtJQXdGL0IsWUFDRSxjQUFpQyxFQUNqQyxlQUFtQyxFQUNuQyxjQUF5QyxFQUN6QyxjQUE4QixFQUM5QixVQUFzQixFQUN0QixRQUFtQjs7UUF4RXJCOzs7O1dBSUc7UUFFSSxnQkFBVyxHQUF3QixLQUFLLENBQUM7UUFnQ2hEOztXQUVHO1FBRUksc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUV0RDs7O1dBR0c7UUFFSSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFTL0MsdURBQTJDO1FBQzNDLHVEQUFtQztRQUNuQyx1REFBZ0M7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IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IERyYWd1bGFTZXJ2aWNlIH0gZnJvbSAnbmcyLWRyYWd1bGEnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXBlYXRlci1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2t5UmVwZWF0ZXJFeHBhbmRNb2RlVHlwZSB9IGZyb20gJy4vcmVwZWF0ZXItZXhwYW5kLW1vZGUtdHlwZSc7XG5pbXBvcnQgeyBTa3lSZXBlYXRlckl0ZW1Sb2xlc1R5cGUgfSBmcm9tICcuL3JlcGVhdGVyLWl0ZW0tcm9sZXMudHlwZSc7XG5pbXBvcnQgeyBTa3lSZXBlYXRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3JlcGVhdGVyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVJlcGVhdGVyUm9sZVR5cGUgfSBmcm9tICcuL3JlcGVhdGVyLXJvbGUudHlwZSc7XG5pbXBvcnQgeyBTa3lSZXBlYXRlclNlcnZpY2UgfSBmcm9tICcuL3JlcGVhdGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb250YWluZXIgdG8gZGlzcGxheSByZXBlYXRlciBpdGVtcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXJlcGVhdGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVwZWF0ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcGVhdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbU2t5UmVwZWF0ZXJTZXJ2aWNlLCBTa3lSZXBlYXRlckFkYXB0ZXJTZXJ2aWNlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreVJlcGVhdGVyQ29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdFxue1xuICAvKipcbiAgICogVGhlIGluZGV4IG9mIHRoZSByZXBlYXRlciBpdGVtIHRvIHZpc3VhbGx5IGhpZ2hsaWdodCBhcyBhY3RpdmUuXG4gICAqIEZvciBleGFtcGxlLCB1c2UgdGhpcyBwcm9wZXJ0eSBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZVxuICAgKiBbc3BsaXQgdmlldyBjb21wb25lbnRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9zcGxpdC12aWV3KVxuICAgKiB0byBoaWdobGlnaHQgYSByZXBlYXRlciBpdGVtIHdoaWxlIHVzZXJzIGVkaXQgaXQuIE9ubHkgb25lIGl0ZW0gY2FuIGJlIGFjdGl2ZSBhdCBhIHRpbWUuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIEFSSUEgbGFiZWwgZm9yIHRoZSByZXBlYXRlciBsaXN0LlxuICAgKiBUaGlzIHNldHMgdGhlIHJlcGVhdGVyIGxpc3QncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlIHRvIHByb3ZpZGUgYSB0ZXh0IGVxdWl2YWxlbnQgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vYWNjZXNzaWJpbGl0eSkuXG4gICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBgYXJpYS1sYWJlbGAgYXR0cmlidXRlLCBzZWUgdGhlIFtXQUktQVJJQSBkZWZpbml0aW9uXShodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEvI2FyaWEtbGFiZWwpLlxuICAgKiBAZGVmYXVsdCBcIkxpc3Qgb2YgaXRlbXNcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHVzZXJzIGNhbiBjaGFuZ2UgdGhlIG9yZGVyIG9mIGl0ZW1zIGluIHRoZSByZXBlYXRlciBsaXN0LlxuICAgKiBFYWNoIHJlcGVhdGVyIGl0ZW0gYWxzbyBoYXMgYHJlb3JkZXJhYmxlYCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0aGVyXG4gICAqIHVzZXJzIGNhbiBjaGFuZ2UgaXRzIG9yZGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlb3JkZXJhYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBsYXlvdXQgdGhhdCBkZXRlcm1pbmVzIHdoaWNoIHJlcGVhdGVyIGl0ZW1zIGFyZSBleHBhbmRlZCBieSBkZWZhdWx0IGFuZCB3aGV0aGVyXG4gICAqIHJlcGVhdGVyIGl0ZW1zIGFyZSBleHBhbmRhYmxlIGFuZCBjb2xsYXBzaWJsZS4gQ29sbGFwc2VkIGl0ZW1zIGRpc3BsYXkgdGl0bGVzIG9ubHkuXG4gICAqIFRoZSB2YWxpZCBvcHRpb25zIGFyZSBgbXVsdGlwbGVgLCBgbm9uZWAsIGFuZCBgc2luZ2xlYC5cbiAgICogLSBgbXVsdGlwbGVgIGxvYWRzIHJlcGVhdGVyIGl0ZW1zIGluIGFuIGV4cGFuZGVkIHN0YXRlIHVubGVzcyBgaXNFeHBhbmRlZGAgaXMgc2V0IHRvXG4gICAqIGBmYWxzZWAgZm9yIGEgcmVwZWF0ZXIgaXRlbS4gVGhpcyBsYXlvdXQgYWxsb3dzIHVzZXJzIHRvIGV4cGFuZCBhbmQgY29sbGFwc2VcbiAgICogYXMgbWFueSByZXBlYXRlciBpdGVtcyBhcyBuZWNlc3NhcnkuIEl0IGlzIGJlc3Qtc3VpdGVkIHRvIHJlcGVhdGVyIGl0ZW1zIHdoZXJlIGJvZHlcbiAgICogY29udGVudCBpcyBpbXBvcnRhbnQgYnV0IHVzZXJzIGRvbid0IGFsd2F5cyBuZWVkIHRvIHNlZSBpdC5cbiAgICogLSBgbm9uZWAgbG9hZHMgYWxsIHJlcGVhdGVyIGl0ZW1zIGluIGFuIGV4cGFuZGVkIHN0YXRlIGFuZCBkb2VzIG5vdCBhbGxvdyB1c2VycyB0b1xuICAgKiBjb2xsYXBzZSB0aGVtLiBUaGlzIGRlZmF1bHQgbGF5b3V0IHByb3ZpZGVzIHRoZSBxdWlja2VzdCBhY2Nlc3MgdG8gdGhlIGRldGFpbHMgaW4gdGhlXG4gICAqIHJlcGVhdGVyIGl0ZW1zLiBJdCBpcyBiZXN0LXN1aXRlZCB0byByZXBlYXRlciBpdGVtcyB3aXRoIGNvbmNpc2UgY29udGVudFxuICAgKiB0aGF0IHVzZXJzIG5lZWQgdG8gdmlldyBmcmVxdWVudGx5LlxuICAgKiAtIGBzaW5nbGVgIGxvYWRzIG9uZSByZXBlYXRlciBpdGVtIGluIGFuIGV4cGFuZGVkIHN0YXRlIGFuZCBjb2xsYXBzZXMgYWxsIG90aGVycy5cbiAgICogVGhlIGV4cGFuZGVkIHJlcGVhdGVyIGl0ZW0gaXMgdGhlIGZpcnN0IG9uZSB3aGVyZSBgaXNFeHBhbmRlZGAgaXMgc2V0IHRvIGB0cnVlYC4gVGhpcyBsYXlvdXRcbiAgICogYWxsb3dzIHVzZXJzIHRvIGV4cGFuZCBvbmUgaXRlbSBhdCBhIHRpbWUuIEl0IHByb3ZpZGVzIHRoZSBtb3N0IGNvbXBhY3QgdmlldyBhbmQgaXNcbiAgICogYmVzdC1zdWl0ZWQgdG8gcmVwZWF0ZXIgaXRlbXMgd2hlcmUgdGhlIG1vc3QgaW1wb3J0YW50IGluZm9ybWF0aW9uIGlzIGluIHRoZSB0aXRsZXNcbiAgICogYW5kIHVzZXJzIG9ubHkgb2NjYXNpb25hbGx5IG5lZWQgdG8gdmlldyB0aGUgYm9keSBjb250ZW50LlxuICAgKiBAZGVmYXVsdCBcIm5vbmVcIlxuICAgKi9cbiAgLy8gVE9ETzogUmVtb3ZlICdzdHJpbmcnIGFzIGEgdmFsaWQgdHlwZSBpbiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBleHBhbmRNb2RlKHZhbHVlOiBTa3lSZXBlYXRlckV4cGFuZE1vZGVUeXBlIHwgc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLmV4cGFuZE1vZGUgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVGb3JFeHBhbmRNb2RlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGV4cGFuZE1vZGUoKTogU2t5UmVwZWF0ZXJFeHBhbmRNb2RlVHlwZSB8IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI3JlcGVhdGVyU2VydmljZS5leHBhbmRNb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdGhlIGFjdGl2ZSByZXBlYXRlciBpdGVtIGNoYW5nZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGFjdGl2ZUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVzIHdoZW4gdXNlcnMgY2hhbmdlIHRoZSBvcmRlciBvZiByZXBlYXRlciBpdGVtcy5cbiAgICogVGhpcyBldmVudCBlbWl0cyBhbiBvcmRlcmVkIGFycmF5IG9mIHRoZSBgdGFnYCBwcm9wZXJ0aWVzIHRoYXQgdGhlIGNvbnN1bWVyIHByb3ZpZGVzIGZvciBlYWNoIHJlcGVhdGVyIGl0ZW0uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIG9yZGVyQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnlbXT4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFNreVJlcGVhdGVySXRlbUNvbXBvbmVudClcbiAgcHVibGljIGl0ZW1zOiBRdWVyeUxpc3Q8U2t5UmVwZWF0ZXJJdGVtQ29tcG9uZW50PiB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZHJhZ3VsYUdyb3VwTmFtZTogc3RyaW5nO1xuXG4gIHB1YmxpYyByb2xlOiBTa3lSZXBlYXRlclJvbGVUeXBlIHwgdW5kZWZpbmVkO1xuXG4gICNhZGFwdGVyU2VydmljZTogU2t5UmVwZWF0ZXJBZGFwdGVyU2VydmljZTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2RyYWd1bGFTZXJ2aWNlOiBEcmFndWxhU2VydmljZTtcbiAgI2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG4gICNyZW5kZXJlcjogUmVuZGVyZXIyO1xuICAjcmVwZWF0ZXJTZXJ2aWNlOiBTa3lSZXBlYXRlclNlcnZpY2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcmVwZWF0ZXJTZXJ2aWNlOiBTa3lSZXBlYXRlclNlcnZpY2UsXG4gICAgYWRhcHRlclNlcnZpY2U6IFNreVJlcGVhdGVyQWRhcHRlclNlcnZpY2UsXG4gICAgZHJhZ3VsYVNlcnZpY2U6IERyYWd1bGFTZXJ2aWNlLFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3RvciA9IGNoYW5nZURldGVjdG9yO1xuICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZSA9IHJlcGVhdGVyU2VydmljZTtcbiAgICB0aGlzLiNhZGFwdGVyU2VydmljZSA9IGFkYXB0ZXJTZXJ2aWNlO1xuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlID0gZHJhZ3VsYVNlcnZpY2U7XG4gICAgdGhpcy4jZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gICAgdGhpcy4jcmVuZGVyZXIgPSByZW5kZXJlcjtcblxuICAgIHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSA9IGBza3ktcmVwZWF0ZXItZHJhZ3VsYS0ke1xuICAgICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLnJlcGVhdGVyR3JvdXBJZFxuICAgIH1gO1xuXG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLml0ZW1Db2xsYXBzZVN0YXRlQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChpdGVtOiBTa3lSZXBlYXRlckl0ZW1Db21wb25lbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kTW9kZSA9PT0gJ3NpbmdsZScgJiYgaXRlbS5pc0V4cGFuZGVkKSB7XG4gICAgICAgICAgdGhpcy5pdGVtcz8uZm9yRWFjaCgob3RoZXJJdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIG90aGVySXRlbSAhPT0gaXRlbSAmJlxuICAgICAgICAgICAgICBvdGhlckl0ZW0uaXNFeHBhbmRlZCAmJlxuICAgICAgICAgICAgICBvdGhlckl0ZW0uaXNDb2xsYXBzaWJsZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIG90aGVySXRlbS5pc0V4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLmFjdGl2ZUl0ZW1JbmRleENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuI25nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoaW5kZXgpID0+IHtcbiAgICAgICAgaWYgKGluZGV4ICE9PSB0aGlzLmFjdGl2ZUluZGV4KSB7XG4gICAgICAgICAgdGhpcy5hY3RpdmVJbmRleCA9IGluZGV4O1xuICAgICAgICAgIHRoaXMuYWN0aXZlSW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLm9yZGVyQ2hhbmdlXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy4jZW1pdFRhZ3MoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jdXBkYXRlRm9yRXhwYW5kTW9kZSgpO1xuXG4gICAgdGhpcy4jYWRhcHRlclNlcnZpY2Uuc2V0UmVwZWF0ZXJIb3N0KHRoaXMuI2VsZW1lbnRSZWYpO1xuXG4gICAgdGhpcy4jaW5pdGlhbGl6ZURyYWdBbmREcm9wKCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIC8vIElmIGFjdGl2ZUluZGV4IGhhcyBiZWVuIHNldCBvbiBpbml0LCBjYWxsIHNlcnZpY2UgdG8gYWN0aXZhdGUgdGhlIGFwcHJvcHJpYXRlIGl0ZW0uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hY3RpdmVJbmRleCB8fCB0aGlzLmFjdGl2ZUluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5hY3RpdmF0ZUl0ZW1CeUluZGV4KHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5yZW9yZGVyYWJsZSAmJiAhdGhpcy4jZXZlcnlJdGVtSGFzVGFnKCkpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICdQbGVhc2Ugc3VwcGx5IHRhZyBwcm9wZXJ0aWVzIGZvciBlYWNoIHJlcGVhdGVyIGl0ZW0gd2hlbiByZW9yZGVyaW5nIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZC4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBIQUNLOiBOb3QgdXBkYXRpbmcgZm9yIGV4cGFuZCBtb2RlIGluIGEgdGltZW91dCBjYXVzZXMgYW4gZXJyb3IuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNjAwNVxuICAgIHRoaXMuaXRlbXM/LmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXM/Lmxhc3QpIHtcbiAgICAgICAgICB0aGlzLiN1cGRhdGVGb3JFeHBhbmRNb2RlKHRoaXMuaXRlbXMubGFzdCk7XG4gICAgICAgICAgdGhpcy5pdGVtcy5sYXN0LnJlb3JkZXJhYmxlID0gdGhpcy5yZW9yZGVyYWJsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLiNyZXBlYXRlclNlcnZpY2UuYWN0aXZhdGVJdGVtQnlJbmRleCh0aGlzLmFjdGl2ZUluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLiN1cGRhdGVGb3JFeHBhbmRNb2RlKCk7XG5cbiAgICAgIHRoaXMuaXRlbXM/LmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgaXRlbS5yZW9yZGVyYWJsZSA9IHRoaXMucmVvcmRlcmFibGU7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy4jdXBkYXRlUm9sZSgpO1xuICAgIH0sIDApO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snYWN0aXZlSW5kZXgnXSkge1xuICAgICAgdGhpcy4jcmVwZWF0ZXJTZXJ2aWNlLmVuYWJsZUFjdGl2ZVN0YXRlID0gdHJ1ZTtcbiAgICAgIGlmIChcbiAgICAgICAgY2hhbmdlc1snYWN0aXZlSW5kZXgnXS5jdXJyZW50VmFsdWUgIT09XG4gICAgICAgIGNoYW5nZXNbJ2FjdGl2ZUluZGV4J10ucHJldmlvdXNWYWx1ZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5hY3RpdmF0ZUl0ZW1CeUluZGV4KHRoaXMuYWN0aXZlSW5kZXgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VzLnJlb3JkZXJhYmxlKSB7XG4gICAgICBpZiAodGhpcy5pdGVtcykge1xuICAgICAgICB0aGlzLml0ZW1zLmZvckVhY2goKGl0ZW0pID0+IChpdGVtLnJlb3JkZXJhYmxlID0gdGhpcy5yZW9yZGVyYWJsZSkpO1xuICAgICAgfVxuICAgICAgdGhpcy4jdXBkYXRlUm9sZSgpO1xuXG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuI2Rlc3Ryb3lEcmFnQW5kRHJvcCgpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkNka09ic2VydmVDb250ZW50KCk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgfVxuXG4gICN1cGRhdGVGb3JFeHBhbmRNb2RlKGl0ZW1BZGRlZD86IFNreVJlcGVhdGVySXRlbUNvbXBvbmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zKSB7XG4gICAgICBsZXQgZm91bmRFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgaXNDb2xsYXBzaWJsZSA9IHRoaXMuZXhwYW5kTW9kZSAhPT0gJ25vbmUnO1xuICAgICAgY29uc3QgaXNTaW5nbGUgPSB0aGlzLmV4cGFuZE1vZGUgPT09ICdzaW5nbGUnO1xuXG4gICAgICAvLyBLZWVwIGFueSBuZXdseS1hZGRlZCBleHBhbmRlZCBpdGVtIGV4cGFuZGVkIGFuZCBjb2xsYXBzZSB0aGUgcmVzdC5cbiAgICAgIGlmIChpdGVtQWRkZWQgJiYgaXRlbUFkZGVkLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgZm91bmRFeHBhbmRlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICAgIGl0ZW0uaXNDb2xsYXBzaWJsZSA9IGlzQ29sbGFwc2libGUgJiYgISFpdGVtLmhhc0l0ZW1Db250ZW50O1xuXG4gICAgICAgIC8vIENvbGxhcHNlIGFueSBpdGVtcyB0aGF0IGFyZW4ndCB0aGUgaXRlbSB0aGF0IHdhcyBqdXN0IGFkZGVkLlxuICAgICAgICBpZiAoaXRlbSAhPT0gaXRlbUFkZGVkICYmIGlzU2luZ2xlICYmIGl0ZW0uaXNFeHBhbmRlZCkge1xuICAgICAgICAgIGlmIChmb3VuZEV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGlzIGl0ZW0gaXMgYmVpbmcgY29sbGFwc2VkIGJlY2F1c2UgYSBuZXcgaXRlbSB3YXNcbiAgICAgICAgICAgIC8vIGFkZGVkLCBhbmltYXRlIGl0LlxuICAgICAgICAgICAgaXRlbS51cGRhdGVGb3JFeHBhbmRlZChmYWxzZSwgISFpdGVtQWRkZWQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvdW5kRXhwYW5kZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI3VwZGF0ZVJvbGUoKTtcbiAgICB9XG4gIH1cblxuICAjaW5pdGlhbGl6ZURyYWdBbmREcm9wKCk6IHZvaWQge1xuICAgIC8qIFNhbml0eSBjaGVjayB0aGF0IHdlIGhhdmVuJ3QgYWxyZWFkeSBzZXQgdXAgZHJhZ2dpbmcgYWJpbGl0aWVzICovXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuI2RyYWd1bGFTZXJ2aWNlLmZpbmQodGhpcy5kcmFndWxhR3JvdXBOYW1lKSkge1xuICAgICAgdGhpcy4jZHJhZ3VsYVNlcnZpY2UuY3JlYXRlR3JvdXAodGhpcy5kcmFndWxhR3JvdXBOYW1lLCB7XG4gICAgICAgIG1vdmVzOiAoZWwsIGNvbnRhaW5lciwgaGFuZGxlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0ID0gZWw/LnF1ZXJ5U2VsZWN0b3IoJy5za3ktcmVwZWF0ZXItaXRlbS1ncmFiLWhhbmRsZScpO1xuICAgICAgICAgIHJldHVybiAhIXRoaXMucmVvcmRlcmFibGUgJiYgISF0YXJnZXQgJiYgdGFyZ2V0LmNvbnRhaW5zKGhhbmRsZSEpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IGRyYWdnZWRJdGVtSW5kZXggPSAtMTtcblxuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlXG4gICAgICAuZHJhZyh0aGlzLmRyYWd1bGFHcm91cE5hbWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChhcmdzLm5hbWUgPT09IHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSkge1xuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKGFyZ3MuZWwsICdza3ktcmVwZWF0ZXItaXRlbS1kcmFnZ2luZycpO1xuICAgICAgICAgIGRyYWdnZWRJdGVtSW5kZXggPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRSZXBlYXRlckl0ZW1JbmRleChcbiAgICAgICAgICAgIGFyZ3MuZWwgYXMgSFRNTEVsZW1lbnRcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlXG4gICAgICAuZHJhZ2VuZCh0aGlzLmRyYWd1bGFHcm91cE5hbWUpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAuc3Vic2NyaWJlKChhcmdzKSA9PiB7XG4gICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgIGlmIChhcmdzLm5hbWUgPT09IHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSkge1xuICAgICAgICAgIHRoaXMuI3JlbmRlcmVyLnJlbW92ZUNsYXNzKGFyZ3MuZWwsICdza3ktcmVwZWF0ZXItaXRlbS1kcmFnZ2luZycpO1xuICAgICAgICAgIGNvbnN0IG5ld0l0ZW1JbmRleCA9IHRoaXMuI2FkYXB0ZXJTZXJ2aWNlLmdldFJlcGVhdGVySXRlbUluZGV4KFxuICAgICAgICAgICAgYXJncy5lbCBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvKiBzYW5pdHkgY2hlY2sgKi9cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmIChkcmFnZ2VkSXRlbUluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5yZW9yZGVySXRlbShkcmFnZ2VkSXRlbUluZGV4LCBuZXdJdGVtSW5kZXgpO1xuICAgICAgICAgICAgZHJhZ2dlZEl0ZW1JbmRleCA9IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuI2VtaXRUYWdzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgI2Rlc3Ryb3lEcmFnQW5kRHJvcCgpOiB2b2lkIHtcbiAgICAvKiBTYW5pdHkgY2hlY2sgdGhhdCB3ZSBoYXZlIHNldCB1cCBkcmFnZ2luZyBhYmlsaXRpZXMgKi9cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLiNkcmFndWxhU2VydmljZS5maW5kKHRoaXMuZHJhZ3VsYUdyb3VwTmFtZSkpIHtcbiAgICAgIHRoaXMuI2RyYWd1bGFTZXJ2aWNlLmRlc3Ryb3kodGhpcy5kcmFndWxhR3JvdXBOYW1lKTtcbiAgICB9XG4gIH1cblxuICAjZW1pdFRhZ3MoKTogdm9pZCB7XG4gICAgY29uc3QgdGFncyA9IHRoaXMuI3JlcGVhdGVyU2VydmljZS5pdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udGFnKTtcbiAgICB0aGlzLm9yZGVyQ2hhbmdlLmVtaXQodGFncyk7XG4gIH1cblxuICAjZXZlcnlJdGVtSGFzVGFnKCk6IGJvb2xlYW4ge1xuICAgIC8qIHNhbml0eSBjaGVjayAqL1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmICghdGhpcy5pdGVtcyB8fCB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5pdGVtcy50b0FycmF5KCkuZXZlcnkoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtLnRhZyAhPT0gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgI3VwZGF0ZVJvbGUoKTogdm9pZCB7XG4gICAgLy8gRGV0ZXJtaW5lIGEgcm9sZSB1c2luZyBhIGhpZXJhcmNoeSBiYXNlZCBvbiBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMS9cbiAgICAvLyAgIDEuIElmIHRoZXJlIGFyZSBvbmUgb3IgbW9yZSBpbnRlcmFjdGlvbnMgaW4gdGhlIHJlcGVhdGVyIGl0ZW0gcHJvamVjdGVkIGNvbnRlbnQsIHVzZSBncmlkLlxuICAgIC8vICAgMi4gSWYgdGhlcmUgYXJlIHNlbGVjdGFibGUgcmVwZWF0ZXIgaXRlbXMgYW5kIG5vIG90aGVyIGludGVyYWN0aW9ucywgdXNlIGxpc3Rib3guXG4gICAgLy8gICAzLiBJZiB0aGVyZSBhcmUgbm8gaW50ZXJhY3Rpb25zLCB1c2UgbGlzdC5cblxuICAgIC8vIERlZmF1bHQgdG8gbGlzdCByb2xlLlxuICAgIGxldCBhdXRvUm9sZTogU2t5UmVwZWF0ZXJSb2xlVHlwZSA9ICdsaXN0JztcblxuICAgIGNvbnN0IHJvbGVNYXA6IFJlY29yZDxTa3lSZXBlYXRlclJvbGVUeXBlLCBTa3lSZXBlYXRlckl0ZW1Sb2xlc1R5cGU+ID0ge1xuICAgICAgbGlzdDogeyBpdGVtOiAnbGlzdGl0ZW0nLCB0aXRsZTogdW5kZWZpbmVkLCBjb250ZW50OiB1bmRlZmluZWQgfSxcbiAgICAgIGxpc3Rib3g6IHsgaXRlbTogJ29wdGlvbicsIHRpdGxlOiB1bmRlZmluZWQsIGNvbnRlbnQ6IHVuZGVmaW5lZCB9LFxuICAgICAgZ3JpZDogeyBpdGVtOiAncm93JywgdGl0bGU6ICdyb3doZWFkZXInLCBjb250ZW50OiAnZ3JpZGNlbGwnIH0sXG4gICAgfTtcblxuICAgIC8vIEJhc2VkIG9uIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2RvbS5odG1sI2ludGVyYWN0aXZlLWNvbnRlbnRcbiAgICBjb25zdCBpbnRlcmFjdGlvblNlbGVjdG9yID0gW1xuICAgICAgJ2FbaHJlZl0nLFxuICAgICAgJ2F1ZGlvW2NvbnRyb2xzXScsXG4gICAgICAnYnV0dG9uJyxcbiAgICAgICdkZXRhaWxzJyxcbiAgICAgICdlbWJlZCcsXG4gICAgICAnaWZyYW1lJyxcbiAgICAgICdpbWdbdXNlbWFwXScsXG4gICAgICAnaW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKScsXG4gICAgICAnbGFiZWwnLFxuICAgICAgJ3NlbGVjdCcsXG4gICAgICAndGV4dGFyZWEnLFxuICAgICAgJ3ZpZGVvW2NvbnRyb2xzXScsXG4gICAgICAnW2NvbnRlbnRlZGl0YWJsZV0nLFxuICAgICAgJy5za3ktcmVwZWF0ZXJbcm9sZT1cImdyaWRcIl0nLFxuICAgIF1cbiAgICAgIC5tYXAoXG4gICAgICAgIChzZWxlY3RvcikgPT5cbiAgICAgICAgICBgc2t5LXJlcGVhdGVyLWl0ZW0tdGl0bGUgJHtzZWxlY3Rvcn06bm90KFtoaWRkZW5dKSwgc2t5LXJlcGVhdGVyLWl0ZW0tY29udGVudCAke3NlbGVjdG9yfTpub3QoW2hpZGRlbl0pYFxuICAgICAgKVxuICAgICAgLmNvbmNhdChbYHNreXV4LWRyb3Bkb3duYF0pXG4gICAgICAuam9pbignLCAnKTtcblxuICAgIGNvbnN0IGhhc0ludGVyYWN0aW9uID1cbiAgICAgIHRoaXMucmVvcmRlcmFibGUgfHxcbiAgICAgIHRoaXMuaXRlbXM/LnNvbWUoKGl0ZW0pID0+IGl0ZW0uaXNDb2xsYXBzaWJsZSkgfHxcbiAgICAgIHRoaXMuaXRlbXM/LnNvbWUoKGl0ZW0pID0+ICEhaXRlbS5zZWxlY3RhYmxlKSB8fFxuICAgICAgISEodGhpcy4jZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5xdWVyeVNlbGVjdG9yKFxuICAgICAgICBpbnRlcmFjdGlvblNlbGVjdG9yXG4gICAgICApO1xuXG4gICAgaWYgKGhhc0ludGVyYWN0aW9uKSB7XG4gICAgICAvLyBJZiB0aGUgcmVwZWF0ZXIgbWF0Y2hlcyBpbnRlcmFjdGlvbiBzZWxlY3RvciBodHRwczovL3d3dy53My5vcmcvVFIvd2FpLWFyaWEtcHJhY3RpY2VzLTEuMS8jZ3JpZFxuICAgICAgYXV0b1JvbGUgPSAnZ3JpZCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucm9sZSAhPT0gYXV0b1JvbGUpIHtcbiAgICAgIHRoaXMuI3JlcGVhdGVyU2VydmljZS5pdGVtUm9sZS5uZXh0KHtcbiAgICAgICAgLi4ucm9sZU1hcFthdXRvUm9sZV0sXG4gICAgICB9KTtcbiAgICAgIHRoaXMucm9sZSA9IGAke2F1dG9Sb2xlfWA7XG4gICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgI3JlcGVhdGVySG9zdD5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LXJlcGVhdGVyXCJcbiAgICBbYXR0ci5yb2xlXT1cInJvbGVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8ICgnc2t5dXhfcmVwZWF0ZXJfbGFiZWwnIHwgc2t5TGliUmVzb3VyY2VzKVwiXG4gICAgW2RyYWd1bGFdPVwiZHJhZ3VsYUdyb3VwTmFtZVwiXG4gICAgKGNka09ic2VydmVDb250ZW50KT1cIm9uQ2RrT2JzZXJ2ZUNvbnRlbnQoKVwiXG4gID5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -878,6 +878,7 @@ class SkyRepeaterItemComponent {
878
878
  this.hasItemContent = false;
879
879
  this.isActive = false;
880
880
  this.reorderButtonLabel = '';
881
+ this.animationDisabled = false;
881
882
  _SkyRepeaterItemComponent_adapterService.set(this, void 0);
882
883
  _SkyRepeaterItemComponent_changeDetector.set(this, void 0);
883
884
  _SkyRepeaterItemComponent_elementRef.set(this, void 0);
@@ -901,7 +902,7 @@ class SkyRepeaterItemComponent {
901
902
  __classPrivateFieldSet(this, _SkyRepeaterItemComponent_adapterService, adapterService, "f");
902
903
  __classPrivateFieldSet(this, _SkyRepeaterItemComponent_elementRef, elementRef, "f");
903
904
  __classPrivateFieldSet(this, _SkyRepeaterItemComponent_resourceService, resourceService, "f");
904
- __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
905
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this, false);
905
906
  forkJoin([
906
907
  __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_cancel'),
907
908
  __classPrivateFieldGet(this, _SkyRepeaterItemComponent_resourceService, "f").getString('skyux_repeater_item_reorder_finish'),
@@ -961,7 +962,7 @@ class SkyRepeaterItemComponent {
961
962
  * @default true
962
963
  */
963
964
  set isExpanded(value) {
964
- this.updateForExpanded(value !== false);
965
+ this.updateForExpanded(value !== false, true);
965
966
  }
966
967
  get isExpanded() {
967
968
  return __classPrivateFieldGet(this, _SkyRepeaterItemComponent_isExpanded, "f");
@@ -985,7 +986,7 @@ class SkyRepeaterItemComponent {
985
986
  __classPrivateFieldSet(this, _SkyRepeaterItemComponent__isCollapsible, value !== false, "f");
986
987
  /*istanbul ignore else */
987
988
  if (!__classPrivateFieldGet(this, _SkyRepeaterItemComponent__isCollapsible, "f")) {
988
- this.updateForExpanded(true);
989
+ this.updateForExpanded(true, true);
989
990
  }
990
991
  }
991
992
  __classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
@@ -1093,11 +1094,11 @@ class SkyRepeaterItemComponent {
1093
1094
  }
1094
1095
  headerClick() {
1095
1096
  if (this.isCollapsible) {
1096
- this.updateForExpanded(!this.isExpanded);
1097
+ this.updateForExpanded(!this.isExpanded, true);
1097
1098
  }
1098
1099
  }
1099
1100
  chevronDirectionChange(direction) {
1100
- this.updateForExpanded(direction === 'up');
1101
+ this.updateForExpanded(direction === 'up', true);
1101
1102
  }
1102
1103
  onRepeaterItemClick(event) {
1103
1104
  var _b, _c, _d;
@@ -1110,7 +1111,7 @@ class SkyRepeaterItemComponent {
1110
1111
  __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").activateItem(this);
1111
1112
  }
1112
1113
  }
1113
- updateForExpanded(value) {
1114
+ updateForExpanded(value, animate) {
1114
1115
  if (this.isCollapsible === false && value === false) {
1115
1116
  console.warn(`Setting isExpanded to false when the repeater item is not collapsible
1116
1117
  will have no effect.`);
@@ -1124,7 +1125,7 @@ class SkyRepeaterItemComponent {
1124
1125
  this.collapse.emit();
1125
1126
  }
1126
1127
  __classPrivateFieldGet(this, _SkyRepeaterItemComponent_repeaterService, "f").onItemCollapseStateChange(this);
1127
- __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this);
1128
+ __classPrivateFieldGet(this, _SkyRepeaterItemComponent_instances, "m", _SkyRepeaterItemComponent_slideForExpanded).call(this, animate);
1128
1129
  __classPrivateFieldGet(this, _SkyRepeaterItemComponent_changeDetector, "f").markForCheck();
1129
1130
  }
1130
1131
  }
@@ -1200,7 +1201,8 @@ class SkyRepeaterItemComponent {
1200
1201
  this.reorderState = undefined;
1201
1202
  }
1202
1203
  }
1203
- _SkyRepeaterItemComponent_adapterService = new WeakMap(), _SkyRepeaterItemComponent_changeDetector = new WeakMap(), _SkyRepeaterItemComponent_elementRef = new WeakMap(), _SkyRepeaterItemComponent_isExpanded = new WeakMap(), _SkyRepeaterItemComponent_keyboardReorderingEnabled = new WeakMap(), _SkyRepeaterItemComponent_ngUnsubscribe = new WeakMap(), _SkyRepeaterItemComponent_reorderCancelText = new WeakMap(), _SkyRepeaterItemComponent_reorderCurrentIndex = new WeakMap(), _SkyRepeaterItemComponent_reorderFinishText = new WeakMap(), _SkyRepeaterItemComponent_reorderInstructions = new WeakMap(), _SkyRepeaterItemComponent_reorderMovedText = new WeakMap(), _SkyRepeaterItemComponent_reorderStateDescription = new WeakMap(), _SkyRepeaterItemComponent_reorderSteps = new WeakMap(), _SkyRepeaterItemComponent_repeaterService = new WeakMap(), _SkyRepeaterItemComponent_resourceService = new WeakMap(), _SkyRepeaterItemComponent__isCollapsible = new WeakMap(), _SkyRepeaterItemComponent__isDisabled = new WeakMap(), _SkyRepeaterItemComponent__isSelected = new WeakMap(), _SkyRepeaterItemComponent_instances = new WeakSet(), _SkyRepeaterItemComponent_slideForExpanded = function _SkyRepeaterItemComponent_slideForExpanded() {
1204
+ _SkyRepeaterItemComponent_adapterService = new WeakMap(), _SkyRepeaterItemComponent_changeDetector = new WeakMap(), _SkyRepeaterItemComponent_elementRef = new WeakMap(), _SkyRepeaterItemComponent_isExpanded = new WeakMap(), _SkyRepeaterItemComponent_keyboardReorderingEnabled = new WeakMap(), _SkyRepeaterItemComponent_ngUnsubscribe = new WeakMap(), _SkyRepeaterItemComponent_reorderCancelText = new WeakMap(), _SkyRepeaterItemComponent_reorderCurrentIndex = new WeakMap(), _SkyRepeaterItemComponent_reorderFinishText = new WeakMap(), _SkyRepeaterItemComponent_reorderInstructions = new WeakMap(), _SkyRepeaterItemComponent_reorderMovedText = new WeakMap(), _SkyRepeaterItemComponent_reorderStateDescription = new WeakMap(), _SkyRepeaterItemComponent_reorderSteps = new WeakMap(), _SkyRepeaterItemComponent_repeaterService = new WeakMap(), _SkyRepeaterItemComponent_resourceService = new WeakMap(), _SkyRepeaterItemComponent__isCollapsible = new WeakMap(), _SkyRepeaterItemComponent__isDisabled = new WeakMap(), _SkyRepeaterItemComponent__isSelected = new WeakMap(), _SkyRepeaterItemComponent_instances = new WeakSet(), _SkyRepeaterItemComponent_slideForExpanded = function _SkyRepeaterItemComponent_slideForExpanded(animate) {
1205
+ this.animationDisabled = !animate;
1204
1206
  this.slideDirection = this.isExpanded ? 'down' : 'up';
1205
1207
  }, _SkyRepeaterItemComponent_keyboardReorderUp = function _SkyRepeaterItemComponent_keyboardReorderUp() {
1206
1208
  var _a;
@@ -1256,10 +1258,10 @@ _SkyRepeaterItemComponent_adapterService = new WeakMap(), _SkyRepeaterItemCompon
1256
1258
  });
1257
1259
  };
1258
1260
  SkyRepeaterItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyRepeaterItemComponent, deps: [{ token: SkyRepeaterService }, { token: i0.ChangeDetectorRef }, { token: SkyRepeaterAdapterService }, { token: i0.ElementRef }, { token: i4.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component });
1259
- SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
1261
+ SkyRepeaterItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.11", type: SkyRepeaterItemComponent, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@.disabled]=\"animationDisabled\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "component", type: i7.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None });
1260
1262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
1261
1263
  type: Component,
1262
- args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"] }]
1264
+ args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], encapsulation: ViewEncapsulation.None, template: "<div\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-selected]=\"selectable ? !!isSelected : undefined\"\n [attr.role]=\"(itemRole$ | async)?.item\"\n [attr.tabIndex]=\"tabindex\"\n [ngClass]=\"{\n 'sky-repeater-item-active': isActive,\n 'sky-repeater-item-collapsible': isCollapsible,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n #itemRef\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\"></ng-content>\n </div>\n\n <ng-container *ngIf=\"inlineFormTemplate\">\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </sky-inline-form>\n </ng-container>\n\n <ng-container *ngIf=\"!inlineFormTemplate\">\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\"></ng-container>\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n class=\"sky-repeater-item-left\"\n >\n <ng-container *ngIf=\"reorderable\">\n <span\n aria-live=\"assertive\"\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-state'\"\n >\n {{ reorderState }}\n </span>\n <span\n class=\"sky-screen-reader-only\"\n [id]=\"contentId + '-reorder-instructions'\"\n >{{ reorderButtonLabel }}</span\n >\n <button\n class=\"sky-btn sky-tile-tools-control sky-repeater-item-grab-handle\"\n type=\"button\"\n [attr.aria-describedby]=\"contentId + '-reorder-instructions'\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_label_default' | skyLibResources)\n \"\n (blur)=\"onReorderHandleBlur($event)\"\n (keydown)=\"onReorderHandleKeyDown($event)\"\n #grabHandle\n >\n <sky-icon icon=\"arrows-v\"></sky-icon>\n </button>\n </ng-container>\n <sky-checkbox\n *ngIf=\"selectable\"\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [label]=\"\n itemName\n ? ('skyux_repeater_item_checkbox_label' | skyLibResources: itemName)\n : ('skyux_repeater_item_checkbox_label_default' | skyLibResources)\n \"\n (change)=\"onCheckboxChange($event)\"\n >\n </sky-checkbox>\n <div\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n #contextMenuEl\n >\n <ng-content select=\"sky-repeater-item-context-menu\"></ng-content>\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div class=\"sky-repeater-item-right\" #itemHeaderRef>\n <div\n class=\"sky-repeater-item-header\"\n [attr.role]=\"(itemRole$ | async)?.title\"\n [hidden]=\"titleRef.children.length === 0\"\n (click)=\"headerClick()\"\n >\n <div class=\"sky-repeater-item-title sky-emphasized\" #titleRef>\n <ng-content select=\"sky-repeater-item-title\"></ng-content>\n </div>\n <button\n *ngIf=\"reorderable\"\n class=\"sky-btn sky-btn-link sky-repeater-item-reorder-top\"\n type=\"button\"\n [attr.aria-label]=\"\n itemName\n ? ('skyux_repeater_item_reorder_top_label'\n | skyLibResources: itemName)\n : ('skyux_repeater_item_reorder_top_label_default'\n | skyLibResources)\n \"\n (click)=\"moveToTop($event)\"\n >\n <sky-icon icon=\"arrow-circle-up\"></sky-icon>\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n <div *ngIf=\"isCollapsible\" class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_expand_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n >\n </sky-chevron>\n </div>\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"!isCollapsible && !contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder\"\n ></div>\n <!-- Used to ensure that the right side is the same height as the left.-->\n <div\n *ngIf=\"contextMenu\"\n class=\"sky-repeater-item-chevron-placeholder-with-context\"\n ></div>\n </div>\n <div\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@.disabled]=\"animationDisabled\"\n [@skyAnimationSlide]=\"slideDirection\"\n #itemContentRef\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\"></ng-content>\n </div>\n </div>\n</ng-template>\n", styles: ["sky-repeater-item .sky-repeater-item{display:flex;border-bottom:1px dotted #cdcfd2;padding-top:0;position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:10px}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:#eeeeef;color:#212327;padding-left:6px;border-left:4px solid #00b4f1}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:-4px;width:calc(100% + 4px)}sky-repeater-item .sky-repeater-item-left{display:flex;padding-top:10px;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex;padding-top:10px}sky-repeater-item .sky-repeater-item-chevron{margin-left:10px}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:24px}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:29px}sky-repeater-item .sky-repeater-item-context-menu{padding:0 10px 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 5px 0 0}sky-repeater-item .sky-repeater-item-selected{background-color:#f1eef6;transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:1.1;color:#212327}sky-repeater-item sky-repeater-item-content{display:block;margin:10px 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:34px}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{color:#cdcfd2;cursor:pointer;border:0;width:24px;height:24px;cursor:grab;cursor:-moz-grab;padding:0;margin:5px 10px 5px 0}sky-repeater-item .sky-repeater-item-grab-handle:hover{color:#979ba2;transition:color .15s}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:#fff;box-shadow:0 0 5px #0000004d}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:#d8d8d8}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-left,sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item .sky-repeater-item-right{visibility:hidden}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-webkit-grabbing}.sky-theme-modern sky-repeater-item .sky-repeater-item{padding-bottom:20px}.sky-theme-modern sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:transparent;border-left-color:#1870b8}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus,.sky-theme-modern sky-repeater-item .sky-repeater-item:active:focus{outline:solid 2px #1870B8;outline-offset:-2px}.sky-theme-modern sky-repeater-item .sky-repeater-item:focus:not(:active){box-shadow:0 1px 8px #0000004d}.sky-theme-modern sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin:20px 0 0}.sky-theme-modern sky-repeater-item .sky-repeater-item-header,.sky-theme-modern sky-repeater-item .sky-repeater-item-left{padding-top:20px}.sky-theme-modern sky-repeater-item sky-inline-form .sky-slide-dissolve-last{padding-top:20px}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item{border-bottom-color:#686c73}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item.sky-repeater-item-active{color:#fbfcfe}.sky-theme-modern.sky-theme-mode-dark sky-repeater-item .sky-repeater-item-title{color:#fbfcfe}\n"] }]
1263
1265
  }], ctorParameters: function () { return [{ type: SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i4.SkyLibResourcesService }]; }, propDecorators: { disabled: [{
1264
1266
  type: Input
1265
1267
  }], itemName: [{
@@ -1480,15 +1482,18 @@ _SkyRepeaterComponent_adapterService = new WeakMap(), _SkyRepeaterComponent_chan
1480
1482
  if (itemAdded && itemAdded.isExpanded) {
1481
1483
  foundExpanded = true;
1482
1484
  }
1483
- this.items.forEach((item) => {
1485
+ for (const item of this.items) {
1484
1486
  item.isCollapsible = isCollapsible && !!item.hasItemContent;
1487
+ // Collapse any items that aren't the item that was just added.
1485
1488
  if (item !== itemAdded && isSingle && item.isExpanded) {
1486
1489
  if (foundExpanded) {
1487
- item.updateForExpanded(false);
1490
+ // If this item is being collapsed because a new item was
1491
+ // added, animate it.
1492
+ item.updateForExpanded(false, !!itemAdded);
1488
1493
  }
1489
1494
  foundExpanded = true;
1490
1495
  }
1491
- });
1496
+ }
1492
1497
  __classPrivateFieldGet(this, _SkyRepeaterComponent_instances, "m", _SkyRepeaterComponent_updateRole).call(this);
1493
1498
  }
1494
1499
  }, _SkyRepeaterComponent_initializeDragAndDrop = function _SkyRepeaterComponent_initializeDragAndDrop() {