@skyux/lists 12.30.0 → 12.31.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.
- package/fesm2022/skyux-lists.mjs +2 -2
- package/fesm2022/skyux-lists.mjs.map +1 -1
- package/package.json +11 -11
package/fesm2022/skyux-lists.mjs
CHANGED
|
@@ -1969,11 +1969,11 @@ class SkySortItemComponent {
|
|
|
1969
1969
|
}
|
|
1970
1970
|
}
|
|
1971
1971
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkySortItemComponent, deps: [{ token: SkySortService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1972
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SkySortItemComponent, isStandalone: false, selector: "sky-sort-item", inputs: { active: "active" }, outputs: { itemSelect: "itemSelect" }, viewQueries: [{ propertyName: "itemTemplate", first: true, predicate: (TemplateRef), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #itemTemplate>\n <div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n >\n <button type=\"button\" (click)=\"itemClicked()\">\n <ng-content />\n </button>\n </div>\n</ng-template>\n", styles: [".sky-sort-item:not(.sky-theme-modern *){--sky-override-sort-item-active-class-background: #eeeeef;--sky-override-sort-item-border-left-selected: none;--sky-override-sort-item-border-radius: 0px;--sky-override-sort-item-box-shadow: none;--sky-override-sort-item-box-shadow-focus: none;--sky-override-sort-item-color-background: transparent;--sky-override-sort-item-color-selected: #f1eef6;--sky-override-sort-item-color-selected: inherit;--sky-override-sort-item-color-text: #212327;--sky-override-sort-item-focus-visible-background: #eeeeef;--sky-override-sort-item-font-weight-selected: 600;--sky-override-sort-item-hover-background: #eeeeef;--sky-override-sort-item-margin: 4px;--sky-override-sort-item-padding: 3px 20px;--sky-override-sort-item-padding-left-selected: 20px;--sky-override-sort-item-padding-selected: 4px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-sort-item{--sky-override-sort-item-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-sort-item-color-selected: transparent;--sky-override-sort-item-width-border-selected: var(--modern-size-3)}.sky-sort-item{background-color:var(--sky-override-sort-item-color-background, --sky-color-background-action-tertiary-base);box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base));border:none;cursor:pointer;margin:var(--sky-override-sort-item-margin, 0)}.sky-sort-item button{border-radius:var(--sky-override-sort-item-border-radius, var(--sky-border-radius-s));text-align:left;width:100%;outline:none;border:none;position:relative;background-color:transparent;color:var(--sky-override-sort-item-color-text, var(--sky-color-text-deemphasized));padding:var(--sky-override-sort-item-padding, var(--sky-comp-dropdown-option-space-inset-top) var(--sky-comp-dropdown-option-space-inset-right) var(--sky-comp-dropdown-option-space-inset-bottom) var(--sky-comp-dropdown-option-space-inset-left))}.sky-sort-item button:hover{text-decoration:none;background-color:var(--sky-override-sort-item-hover-background, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-sort-item button:active{background-color:var(--sky-override-sort-item-color-background, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}.sky-sort-item button:focus-visible:not(:active),.sky-sort-item button:focus-within:not(:active){background-color:var(--sky-override-sort-item-focus-visible-background, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-sort-item-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-sort-item button[disabled],.sky-sort-item button[disabled]:hover,.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:active{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled));background-color:var(--sky-override-sort-item-disabled-color-background, var(--sky-color-background-action-tertiary-disabled));color:var(--sky-override-sort-item-disabled-color-text, var(--sky-color-text-deemphasized));cursor:default;font-size:var(--sky-override-sort-item-disabled-font-size, inherit);font-style:var(--sky-override-sort-item-disabled-font-style, inherit)}.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:hover:focus-visible,.sky-sort-item button[disabled]:focus-visible:focus-visible,.sky-sort-item button[disabled]:active:focus-visible{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled))}.sky-sort-item-selected{background-color:var(--sky-override-sort-item-color-selected, var(--sky-color-background-selected-soft));border-left:var(--sky-override-sort-item-border-left-selected, solid var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m)) var(--sky-color-border-selected));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);padding:var(--sky-override-sort-item-padding-selected, 0);margin:0}.sky-sort-item-selected button{padding-left:var(--sky-override-sort-item-padding-left-selected, calc(var(--sky-comp-dropdown-option-space-inset-left) - var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m))));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);font-weight:var(--sky-override-sort-item-font-weight-selected, var(--sky-font-style-body-m));color:var(--sky-override-sort-item-color-text, var(--sky-color-text-
|
|
1972
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: SkySortItemComponent, isStandalone: false, selector: "sky-sort-item", inputs: { active: "active" }, outputs: { itemSelect: "itemSelect" }, viewQueries: [{ propertyName: "itemTemplate", first: true, predicate: (TemplateRef), descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template #itemTemplate>\n <div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n >\n <button type=\"button\" (click)=\"itemClicked()\">\n <ng-content />\n </button>\n </div>\n</ng-template>\n", styles: [".sky-sort-item:not(.sky-theme-modern *){--sky-override-sort-item-active-class-background: #eeeeef;--sky-override-sort-item-border-left-selected: none;--sky-override-sort-item-border-radius: 0px;--sky-override-sort-item-box-shadow: none;--sky-override-sort-item-box-shadow-focus: none;--sky-override-sort-item-box-shadow-selected-active: none;--sky-override-sort-item-box-shadow-selected-hover: none;--sky-override-sort-item-color-background: transparent;--sky-override-sort-item-color-selected: #f1eef6;--sky-override-sort-item-color-selected: inherit;--sky-override-sort-item-color-text: #212327;--sky-override-sort-item-selected-color-text: #212327;--sky-override-sort-item-focus-visible-background: #eeeeef;--sky-override-sort-item-font-weight-selected: 600;--sky-override-sort-item-hover-background: #eeeeef;--sky-override-sort-item-hover-active-background: transparent;--sky-override-sort-item-hover-selected-background: #eeeeef;--sky-override-sort-item-margin: 4px;--sky-override-sort-item-padding: 3px 20px;--sky-override-sort-item-padding-left-selected: 20px;--sky-override-sort-item-padding-selected: 4px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-sort-item{--sky-override-sort-item-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-sort-item-box-shadow-selected-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active);--sky-override-sort-item-box-shadow-selected-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover);--sky-override-sort-item-color-selected: transparent;--sky-override-sort-item-hover-active-background: var( --sky-color-background-action-tertiary-active );--sky-override-sort-item-hover-selected-background: var( --sky-color-background-action-tertiary-hover );--sky-override-sort-item-selected-color-text: var(--sky-color-text-default);--sky-override-sort-item-width-border-selected: var(--modern-size-3)}.sky-sort-item{background-color:var(--sky-override-sort-item-color-background, --sky-color-background-action-tertiary-base);box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base));border:none;cursor:pointer;margin:var(--sky-override-sort-item-margin, 0)}.sky-sort-item button{border-radius:var(--sky-override-sort-item-border-radius, var(--sky-border-radius-s));text-align:left;width:100%;outline:none;border:none;position:relative;background-color:transparent;color:var(--sky-override-sort-item-color-text, var(--sky-color-text-deemphasized));padding:var(--sky-override-sort-item-padding, var(--sky-comp-dropdown-option-space-inset-top) var(--sky-comp-dropdown-option-space-inset-right) var(--sky-comp-dropdown-option-space-inset-bottom) var(--sky-comp-dropdown-option-space-inset-left))}.sky-sort-item button:hover{text-decoration:none;background-color:var(--sky-override-sort-item-hover-background, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-sort-item button:active{background-color:var(--sky-override-sort-item-color-background, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}.sky-sort-item button:focus-visible:not(:active),.sky-sort-item button:focus-within:not(:active){background-color:var(--sky-override-sort-item-focus-visible-background, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-sort-item-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-sort-item button[disabled],.sky-sort-item button[disabled]:hover,.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:active{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled));background-color:var(--sky-override-sort-item-disabled-color-background, var(--sky-color-background-action-tertiary-disabled));color:var(--sky-override-sort-item-disabled-color-text, var(--sky-color-text-deemphasized));cursor:default;font-size:var(--sky-override-sort-item-disabled-font-size, inherit);font-style:var(--sky-override-sort-item-disabled-font-style, inherit)}.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:hover:focus-visible,.sky-sort-item button[disabled]:focus-visible:focus-visible,.sky-sort-item button[disabled]:active:focus-visible{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled))}.sky-sort-item-selected{background-color:var(--sky-override-sort-item-color-selected, var(--sky-color-background-selected-soft));border-left:var(--sky-override-sort-item-border-left-selected, solid var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m)) var(--sky-color-border-selected));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);padding:var(--sky-override-sort-item-padding-selected, 0);margin:0}.sky-sort-item-selected button{padding-left:var(--sky-override-sort-item-padding-left-selected, calc(var(--sky-comp-dropdown-option-space-inset-left) - var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m))));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);font-weight:var(--sky-override-sort-item-font-weight-selected, var(--sky-font-style-body-m));color:var(--sky-override-sort-item-selected-color-text, var(--sky-color-text-selected))}.sky-sort-item-selected button:hover{text-decoration:none;background-color:var(--sky-override-sort-item-hover-selected-background, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-sort-item-box-shadow-selected-hover, none)}.sky-sort-item-selected button:active{background-color:var(--sky-override-sort-item-hover-active-background, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-sort-item-box-shadow-selected-active, none)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1973
1973
|
}
|
|
1974
1974
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkySortItemComponent, decorators: [{
|
|
1975
1975
|
type: Component,
|
|
1976
|
-
args: [{ selector: 'sky-sort-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-template #itemTemplate>\n <div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n >\n <button type=\"button\" (click)=\"itemClicked()\">\n <ng-content />\n </button>\n </div>\n</ng-template>\n", styles: [".sky-sort-item:not(.sky-theme-modern *){--sky-override-sort-item-active-class-background: #eeeeef;--sky-override-sort-item-border-left-selected: none;--sky-override-sort-item-border-radius: 0px;--sky-override-sort-item-box-shadow: none;--sky-override-sort-item-box-shadow-focus: none;--sky-override-sort-item-color-background: transparent;--sky-override-sort-item-color-selected: #f1eef6;--sky-override-sort-item-color-selected: inherit;--sky-override-sort-item-color-text: #212327;--sky-override-sort-item-focus-visible-background: #eeeeef;--sky-override-sort-item-font-weight-selected: 600;--sky-override-sort-item-hover-background: #eeeeef;--sky-override-sort-item-margin: 4px;--sky-override-sort-item-padding: 3px 20px;--sky-override-sort-item-padding-left-selected: 20px;--sky-override-sort-item-padding-selected: 4px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-sort-item{--sky-override-sort-item-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-sort-item-color-selected: transparent;--sky-override-sort-item-width-border-selected: var(--modern-size-3)}.sky-sort-item{background-color:var(--sky-override-sort-item-color-background, --sky-color-background-action-tertiary-base);box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base));border:none;cursor:pointer;margin:var(--sky-override-sort-item-margin, 0)}.sky-sort-item button{border-radius:var(--sky-override-sort-item-border-radius, var(--sky-border-radius-s));text-align:left;width:100%;outline:none;border:none;position:relative;background-color:transparent;color:var(--sky-override-sort-item-color-text, var(--sky-color-text-deemphasized));padding:var(--sky-override-sort-item-padding, var(--sky-comp-dropdown-option-space-inset-top) var(--sky-comp-dropdown-option-space-inset-right) var(--sky-comp-dropdown-option-space-inset-bottom) var(--sky-comp-dropdown-option-space-inset-left))}.sky-sort-item button:hover{text-decoration:none;background-color:var(--sky-override-sort-item-hover-background, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-sort-item button:active{background-color:var(--sky-override-sort-item-color-background, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}.sky-sort-item button:focus-visible:not(:active),.sky-sort-item button:focus-within:not(:active){background-color:var(--sky-override-sort-item-focus-visible-background, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-sort-item-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-sort-item button[disabled],.sky-sort-item button[disabled]:hover,.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:active{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled));background-color:var(--sky-override-sort-item-disabled-color-background, var(--sky-color-background-action-tertiary-disabled));color:var(--sky-override-sort-item-disabled-color-text, var(--sky-color-text-deemphasized));cursor:default;font-size:var(--sky-override-sort-item-disabled-font-size, inherit);font-style:var(--sky-override-sort-item-disabled-font-style, inherit)}.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:hover:focus-visible,.sky-sort-item button[disabled]:focus-visible:focus-visible,.sky-sort-item button[disabled]:active:focus-visible{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled))}.sky-sort-item-selected{background-color:var(--sky-override-sort-item-color-selected, var(--sky-color-background-selected-soft));border-left:var(--sky-override-sort-item-border-left-selected, solid var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m)) var(--sky-color-border-selected));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);padding:var(--sky-override-sort-item-padding-selected, 0);margin:0}.sky-sort-item-selected button{padding-left:var(--sky-override-sort-item-padding-left-selected, calc(var(--sky-comp-dropdown-option-space-inset-left) - var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m))));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);font-weight:var(--sky-override-sort-item-font-weight-selected, var(--sky-font-style-body-m));color:var(--sky-override-sort-item-color-text, var(--sky-color-text-
|
|
1976
|
+
args: [{ selector: 'sky-sort-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-template #itemTemplate>\n <div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n >\n <button type=\"button\" (click)=\"itemClicked()\">\n <ng-content />\n </button>\n </div>\n</ng-template>\n", styles: [".sky-sort-item:not(.sky-theme-modern *){--sky-override-sort-item-active-class-background: #eeeeef;--sky-override-sort-item-border-left-selected: none;--sky-override-sort-item-border-radius: 0px;--sky-override-sort-item-box-shadow: none;--sky-override-sort-item-box-shadow-focus: none;--sky-override-sort-item-box-shadow-selected-active: none;--sky-override-sort-item-box-shadow-selected-hover: none;--sky-override-sort-item-color-background: transparent;--sky-override-sort-item-color-selected: #f1eef6;--sky-override-sort-item-color-selected: inherit;--sky-override-sort-item-color-text: #212327;--sky-override-sort-item-selected-color-text: #212327;--sky-override-sort-item-focus-visible-background: #eeeeef;--sky-override-sort-item-font-weight-selected: 600;--sky-override-sort-item-hover-background: #eeeeef;--sky-override-sort-item-hover-active-background: transparent;--sky-override-sort-item-hover-selected-background: #eeeeef;--sky-override-sort-item-margin: 4px;--sky-override-sort-item-padding: 3px 20px;--sky-override-sort-item-padding-left-selected: 20px;--sky-override-sort-item-padding-selected: 4px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-sort-item{--sky-override-sort-item-box-shadow-focus: inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus), var(--sky-elevation-focus);--sky-override-sort-item-box-shadow-selected-active: inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active);--sky-override-sort-item-box-shadow-selected-hover: inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover);--sky-override-sort-item-color-selected: transparent;--sky-override-sort-item-hover-active-background: var( --sky-color-background-action-tertiary-active );--sky-override-sort-item-hover-selected-background: var( --sky-color-background-action-tertiary-hover );--sky-override-sort-item-selected-color-text: var(--sky-color-text-default);--sky-override-sort-item-width-border-selected: var(--modern-size-3)}.sky-sort-item{background-color:var(--sky-override-sort-item-color-background, --sky-color-background-action-tertiary-base);box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-action-tertiary-base));border:none;cursor:pointer;margin:var(--sky-override-sort-item-margin, 0)}.sky-sort-item button{border-radius:var(--sky-override-sort-item-border-radius, var(--sky-border-radius-s));text-align:left;width:100%;outline:none;border:none;position:relative;background-color:transparent;color:var(--sky-override-sort-item-color-text, var(--sky-color-text-deemphasized));padding:var(--sky-override-sort-item-padding, var(--sky-comp-dropdown-option-space-inset-top) var(--sky-comp-dropdown-option-space-inset-right) var(--sky-comp-dropdown-option-space-inset-bottom) var(--sky-comp-dropdown-option-space-inset-left))}.sky-sort-item button:hover{text-decoration:none;background-color:var(--sky-override-sort-item-hover-background, var(--sky-color-background-action-tertiary-hover));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}.sky-sort-item button:active{background-color:var(--sky-override-sort-item-color-background, var(--sky-color-background-action-tertiary-active));box-shadow:var(--sky-override-sort-item-box-shadow, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}.sky-sort-item button:focus-visible:not(:active),.sky-sort-item button:focus-within:not(:active){background-color:var(--sky-override-sort-item-focus-visible-background, var(--sky-color-background-action-tertiary-focus));box-shadow:var(--sky-override-sort-item-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-action-tertiary-focus))}.sky-sort-item button[disabled],.sky-sort-item button[disabled]:hover,.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:active{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled));background-color:var(--sky-override-sort-item-disabled-color-background, var(--sky-color-background-action-tertiary-disabled));color:var(--sky-override-sort-item-disabled-color-text, var(--sky-color-text-deemphasized));cursor:default;font-size:var(--sky-override-sort-item-disabled-font-size, inherit);font-style:var(--sky-override-sort-item-disabled-font-style, inherit)}.sky-sort-item button[disabled]:focus-visible,.sky-sort-item button[disabled]:hover:focus-visible,.sky-sort-item button[disabled]:focus-visible:focus-visible,.sky-sort-item button[disabled]:active:focus-visible{box-shadow:var(--sky-override-sort-item-disabled-box-shadow, inset 0 0 0 var(--sky-border-width-action-disabled) var(--sky-color-border-action-tertiary-disabled))}.sky-sort-item-selected{background-color:var(--sky-override-sort-item-color-selected, var(--sky-color-background-selected-soft));border-left:var(--sky-override-sort-item-border-left-selected, solid var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m)) var(--sky-color-border-selected));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);padding:var(--sky-override-sort-item-padding-selected, 0);margin:0}.sky-sort-item-selected button{padding-left:var(--sky-override-sort-item-padding-left-selected, calc(var(--sky-comp-dropdown-option-space-inset-left) - var(--sky-override-sort-item-width-border-selected, var(--sky-border-width-selected-m))));border-radius:var(--sky-override-sort-item-border-radius, 0 var(--sky-border-radius-s) var(--sky-border-radius-s) 0);font-weight:var(--sky-override-sort-item-font-weight-selected, var(--sky-font-style-body-m));color:var(--sky-override-sort-item-selected-color-text, var(--sky-color-text-selected))}.sky-sort-item-selected button:hover{text-decoration:none;background-color:var(--sky-override-sort-item-hover-selected-background, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-sort-item-box-shadow-selected-hover, none)}.sky-sort-item-selected button:active{background-color:var(--sky-override-sort-item-hover-active-background, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-sort-item-box-shadow-selected-active, none)}\n"] }]
|
|
1977
1977
|
}], ctorParameters: () => [{ type: SkySortService }, { type: i0.ChangeDetectorRef }], propDecorators: { active: [{
|
|
1978
1978
|
type: Input
|
|
1979
1979
|
}], itemSelect: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-lists.mjs","sources":["../../../../../libs/components/lists/src/lib/modules/shared/sky-lists-resources.module.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-button.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-button.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline-item.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline-item.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary-item.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary-item.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter.module.ts","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.ts","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll.component.ts","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll.component.html","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll.module.ts","../../../../../libs/components/lists/src/lib/modules/paging/paging-content.component.ts","../../../../../libs/components/lists/src/lib/modules/paging/paging.component.ts","../../../../../libs/components/lists/src/lib/modules/paging/paging.component.html","../../../../../libs/components/lists/src/lib/modules/paging/paging.module.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-content.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-content.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-context-menu.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-context-menu.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-title.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-title.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.service.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-adapter.service.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-auto-scroll.service.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.module.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort.service.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort-item.component.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort-item.component.html","../../../../../libs/components/lists/src/lib/modules/sort/sort-menu-heading.component.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort-menu-heading.component.html","../../../../../libs/components/lists/src/lib/modules/sort/sort.component.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort.component.html","../../../../../libs/components/lists/src/lib/modules/sort/sort.module.ts","../../../../../libs/components/lists/src/skyux-lists.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-lists' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_filter_aria_label_descriptor: { message: 'Filter {0}' },\n skyux_filter_button_title: { message: 'Filter' },\n skyux_filter_summary_close: { message: 'Remove filter' },\n skyux_filter_summary_header: { message: 'Filter' },\n skyux_infinite_scroll_load_more_button: { message: 'Load more' },\n skyux_paging_label: { message: 'Pagination' },\n skyux_paging_loaded: { message: 'Page {0} loaded.' },\n skyux_paging_loading: { message: 'Loading page {0}' },\n skyux_paging_next: { message: 'Next' },\n skyux_paging_page_label: { message: 'Page {0} of {1}' },\n skyux_paging_page_link_aria_label: { message: 'Page {0}' },\n skyux_paging_previous: { message: 'Previous' },\n skyux_repeater_label: { message: 'List of items' },\n skyux_repeater_item_collapse: { message: 'Collapse {0}' },\n skyux_repeater_item_collapse_default: { message: 'Collapse' },\n skyux_repeater_item_expand: { message: 'Expand {0}' },\n skyux_repeater_item_expand_default: { message: 'Expand' },\n skyux_repeater_item_checkbox_label: { message: 'Select {0}' },\n skyux_repeater_item_checkbox_label_default: { message: 'Select row' },\n skyux_repeater_item_reorder_cancel: {\n message:\n 'Item reordering was canceled. The item was returned to its original position.',\n },\n skyux_repeater_item_reorder_finish: {\n message: 'Dropped the item in position',\n },\n skyux_repeater_item_reorder_instructions: {\n message:\n 'Item grabbed. Press the up and down arrow keys to change position. Press the spacebar or enter key to drop. And press the escape key to cancel.',\n },\n skyux_repeater_item_reorder_moved: {\n message: 'Moved the item to position',\n },\n skyux_repeater_item_reorder_label_default: { message: 'Reorder' },\n skyux_repeater_item_reorder_label: { message: 'Reorder {0}' },\n skyux_repeater_item_reorder_operation: {\n message: 'Press the spacebar or enter key to reorder.',\n },\n skyux_repeater_item_reorder_top: { message: 'Top' },\n skyux_repeater_item_reorder_top_label: { message: 'Move {0} to top' },\n skyux_repeater_item_reorder_top_label_default: { message: 'Move to top' },\n skyux_sort_aria_label_descriptor: { message: 'Sort {0}' },\n skyux_sort_button_label: { message: 'Sort' },\n skyux_sort_menu_heading: { message: 'Sort by' },\n },\n 'FR-CA': {\n skyux_filter_aria_label_descriptor: { message: 'Filtrer {0}' },\n skyux_filter_button_title: { message: 'Filtre' },\n skyux_filter_summary_close: { message: 'Retirer le filtre' },\n skyux_filter_summary_header: { message: 'Filtre' },\n skyux_infinite_scroll_load_more_button: { message: 'Charger encore' },\n skyux_paging_label: { message: 'Pagination' },\n skyux_paging_loaded: { message: 'Page {0} chargée.' },\n skyux_paging_loading: { message: 'Chargement de la page {0}' },\n skyux_paging_next: { message: 'Suivant' },\n skyux_paging_page_label: { message: 'Page {0} de {1}' },\n skyux_paging_page_link_aria_label: { message: 'Page {0}' },\n skyux_paging_previous: { message: 'Précédent' },\n skyux_repeater_label: { message: 'Liste des éléments' },\n skyux_repeater_item_collapse: { message: 'Réduire {0}' },\n skyux_repeater_item_collapse_default: { message: 'Réduire' },\n skyux_repeater_item_expand: { message: 'Agrandir {0}' },\n skyux_repeater_item_expand_default: { message: 'Agrandir' },\n skyux_repeater_item_checkbox_label: { message: 'Sélectionner {0}' },\n skyux_repeater_item_checkbox_label_default: {\n message: 'Sélectionner une ligne',\n },\n skyux_repeater_item_reorder_cancel: {\n message:\n 'La réorganisation de l’élément a été annulée. L’élément a été retourné à sa position initiale.',\n },\n skyux_repeater_item_reorder_finish: {\n message: 'A déposé l’élément en position',\n },\n skyux_repeater_item_reorder_instructions: {\n message:\n 'Élément saisi. Appuyez sur les flèches vers le haut et vers le bas pour modifier la position. Appuyez sur la touche Entrée ou Espace pour déposer. Et appuyez sur la touche d’échappement pour annuler.',\n },\n skyux_repeater_item_reorder_moved: {\n message: 'L’élément a été déplacé à la position',\n },\n skyux_repeater_item_reorder_label_default: { message: 'Réorganiser' },\n skyux_repeater_item_reorder_label: { message: 'Réorganiser {0}' },\n skyux_repeater_item_reorder_operation: {\n message: 'Appuyez sur la touche Espace ou Entrée pour réorganiser.',\n },\n skyux_repeater_item_reorder_top: { message: 'Haut' },\n skyux_repeater_item_reorder_top_label: {\n message: 'Déplacer {0} dans le haut',\n },\n skyux_repeater_item_reorder_top_label_default: {\n message: 'Déplacer au haut',\n },\n skyux_sort_aria_label_descriptor: { message: 'Trier {0}' },\n skyux_sort_button_label: { message: 'Trier' },\n skyux_sort_menu_heading: { message: 'Trier par' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyListsResourcesModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { SkyContentInfo, SkyContentInfoProvider } from '@skyux/core';\n\nimport { Observable } from 'rxjs';\n\nlet nextId = 0;\n\n@Component({\n selector: 'sky-filter-button',\n styleUrls: ['./filter-button.component.scss'],\n templateUrl: './filter-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFilterButtonComponent {\n /**\n * The ID for the filter button.\n */\n @Input()\n public get filterButtonId(): string {\n return this.#filterButtonIdOrDefault;\n }\n public set filterButtonId(value: string | undefined) {\n this.#filterButtonIdOrDefault = value || this.#defaultButtonId;\n }\n\n /**\n * The ID to identify the element that contains\n * the filtering options that the filter button exposes.\n * To support [accessibility rules for disclosures](https://www.w3.org/TR/wai-aria-practices-1.1/#disclosure),\n * this property is necessary to set the `aria-controls` attribute when using inline filters.\n * For more information about the `aria-controls` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-controls).\n */\n @Input()\n public ariaControls: string | undefined;\n\n /**\n * Whether the filtering options are exposed.\n * To support [accessibility rules for disclosures](https://www.w3.org/TR/wai-aria-practices-1.1/#disclosure),\n * this property is necessary to set the `aria-expanded` attribute when using inline filters.\n * For more information about the `aria-expanded` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-expanded).\n */\n @Input()\n public ariaExpanded: boolean | undefined = false;\n\n /**\n * The ARIA label for the filter button. This sets the\n * filter button's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * Use a context-sensitive label, such as \"Filter constituents.\" Context is especially important when multiple filter buttons are in close proximity.\n * In toolbars, filter buttons use the `listDescriptor` to provide context, and the ARIA label defaults to \"Filter <listDescriptor>.\"\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether to highlight the filter button to indicate that filters were applied.\n * We recommend setting this property to `true` when no indication of filtering is visible\n * to users. For example, set it to `true` if you do not display the filter summary.\n */\n @Input()\n public active: boolean | undefined = false;\n\n /**\n * Whether to disable the filter button.\n */\n @Input()\n public disabled: boolean | undefined = false;\n\n /**\n * Whether to display a \"Filter\" label beside the icon on the filter button.\n */\n @Input()\n public showButtonText: boolean | undefined = false;\n\n /**\n * Fires when the filter button is selected.\n */\n @Output()\n public filterButtonClick = new EventEmitter<void>();\n\n protected contentInfoObs: Observable<SkyContentInfo> | undefined;\n\n #contentInfoProvider = inject(SkyContentInfoProvider, { optional: true });\n\n constructor() {\n this.#filterButtonIdOrDefault =\n this.#defaultButtonId = `sky-filter-button-${++nextId}`;\n\n this.contentInfoObs = this.#contentInfoProvider?.getInfo();\n }\n\n #defaultButtonId: string;\n #filterButtonIdOrDefault: string;\n\n public filterButtonOnClick(): void {\n this.filterButtonClick.emit();\n }\n}\n","<button\n class=\"sky-btn sky-btn-default sky-filter-btn\"\n type=\"button\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"\n ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_filter_aria_label_descriptor'\n | skyLibResources: (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_filter_button_title' | skyLibResources))\n \"\n [attr.title]=\"'skyux_filter_button_title' | skyLibResources\"\n [disabled]=\"disabled\"\n [id]=\"filterButtonId\"\n [ngClass]=\"{\n 'sky-filter-btn-active': active\n }\"\n (click)=\"filterButtonOnClick()\"\n>\n <sky-icon iconName=\"filter\" />\n @if (showButtonText) {\n <span class=\"sky-filter-btn-text\">\n {{ 'skyux_filter_button_title' | skyLibResources }}\n </span>\n }\n</button>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies an inline filter.\n */\n@Component({\n selector: 'sky-filter-inline-item',\n styleUrls: ['./filter-inline-item.component.scss'],\n templateUrl: './filter-inline-item.component.html',\n standalone: false,\n})\nexport class SkyFilterInlineItemComponent {}\n","<div class=\"sky-filter-inline-item\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a wrapper for the inline filters.\n */\n@Component({\n selector: 'sky-filter-inline',\n styleUrls: ['./filter-inline.component.scss'],\n templateUrl: './filter-inline.component.html',\n standalone: false,\n})\nexport class SkyFilterInlineComponent {}\n","<div class=\"sky-filter-inline\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Specifies a filter that was applied.\n */\n@Component({\n selector: 'sky-filter-summary-item',\n styleUrls: ['./filter-summary-item.component.scss'],\n templateUrl: './filter-summary-item.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFilterSummaryItemComponent {\n /**\n * Whether the filter summary item has a close button.\n */\n @Input()\n public get dismissible(): boolean {\n return this.#_dismissible;\n }\n\n public set dismissible(value: boolean | undefined) {\n this.#_dismissible = value !== false;\n }\n\n /**\n * Fires when the summary item close button is selected.\n */\n @Output()\n public dismiss = new EventEmitter<void>();\n\n /**\n * Fires when the summary item is selected.\n */\n @Output()\n public itemClick = new EventEmitter<void>();\n\n #_dismissible = true;\n\n public onItemDismiss(): void {\n this.dismiss.emit();\n }\n\n public onItemClick(): void {\n this.itemClick.emit();\n }\n\n public onItemKeypress(): void {\n this.itemClick.emit();\n }\n}\n","<div\n class=\"sky-filter-summary-item\"\n (click)=\"onItemClick()\"\n (keypress.enter)=\"onItemKeypress()\"\n>\n <sky-token\n [ariaLabel]=\"'skyux_filter_summary_close' | skyLibResources\"\n [dismissible]=\"dismissible\"\n (dismiss)=\"onItemDismiss()\"\n >\n <ng-content />\n </sky-token>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a wrapper for the filters that were applied.\n */\n@Component({\n selector: 'sky-filter-summary',\n styleUrls: ['./filter-summary.component.scss'],\n templateUrl: './filter-summary.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFilterSummaryComponent {}\n","<div class=\"sky-filter-summary\">\n <span class=\"sky-filter-summary-header\"\n >{{ 'skyux_filter_summary_header' | skyLibResources }}:</span\n >\n <div class=\"sky-filter-summary-items\">\n <ng-content />\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyTokensModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyFilterButtonComponent } from './filter-button.component';\nimport { SkyFilterInlineItemComponent } from './filter-inline-item.component';\nimport { SkyFilterInlineComponent } from './filter-inline.component';\nimport { SkyFilterSummaryItemComponent } from './filter-summary-item.component';\nimport { SkyFilterSummaryComponent } from './filter-summary.component';\n\n@NgModule({\n declarations: [\n SkyFilterButtonComponent,\n SkyFilterInlineComponent,\n SkyFilterInlineItemComponent,\n SkyFilterSummaryComponent,\n SkyFilterSummaryItemComponent,\n ],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyListsResourcesModule,\n SkyTokensModule,\n SkyThemeModule,\n ],\n exports: [\n SkyFilterButtonComponent,\n SkyFilterInlineComponent,\n SkyFilterInlineItemComponent,\n SkyFilterSummaryComponent,\n SkyFilterSummaryItemComponent,\n ],\n})\nexport class SkyFilterModule {}\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { SkyAppWindowRef, SkyScrollableHostService } from '@skyux/core';\n\nimport { Observable, Subject, fromEvent as observableFromEvent } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInfiniteScrollDomAdapterService implements OnDestroy {\n #ngUnsubscribe = new Subject<void>();\n #observer: MutationObserver | undefined;\n #parentChanges: Subject<void>;\n #parentChangesObs: Observable<void>;\n #scrollableHostSvc: SkyScrollableHostService;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n scrollableHostSvc: SkyScrollableHostService,\n windowRef: SkyAppWindowRef,\n ) {\n this.#scrollableHostSvc = scrollableHostSvc;\n this.#windowRef = windowRef;\n\n this.#parentChanges = new Subject<void>();\n this.#parentChangesObs = this.#parentChanges.asObservable();\n }\n\n public ngOnDestroy(): void {\n this.#parentChanges.complete();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * This event is triggered when child nodes are added to the infinite\n * scroll parent container. e.g., A repeating list of elements was added.\n * @param elementRef The infinite scroll element reference.\n */\n public parentChanges(elementRef: ElementRef): Observable<void> {\n this.#createObserver(elementRef);\n return this.#parentChangesObs;\n }\n\n /**\n * This event is triggered when the provided element reference\n * is visible (or scrolled to) within its scrollable parent container.\n * @param elementRef The infinite scroll element reference.\n */\n public scrollTo(elementRef: ElementRef): Observable<void> {\n const parent = this.#scrollableHostSvc.getScrollableHost(elementRef);\n\n return observableFromEvent(parent, 'scroll').pipe(\n takeUntil(this.#ngUnsubscribe),\n filter(() => {\n return this.#isElementScrolledInView(elementRef.nativeElement, parent);\n }),\n map(() => undefined), // Change to void return type\n );\n }\n\n #createObserver(elementRef: ElementRef): void {\n this.#observer = new MutationObserver((mutations: MutationRecord[]) => {\n const hasUpdates = !!mutations.find((mutation) => {\n return (\n !elementRef.nativeElement.contains(mutation.target) &&\n mutation.addedNodes.length > 0\n );\n });\n\n if (hasUpdates) {\n this.#parentChanges.next();\n }\n });\n\n const windowObj = this.#windowRef.nativeWindow;\n const parent = this.#scrollableHostSvc.getScrollableHost(elementRef);\n const observedParent =\n parent === windowObj ? windowObj.document.body : parent;\n\n this.#observer.observe(observedParent, {\n childList: true,\n subtree: true,\n });\n }\n\n #isElementScrolledInView(\n element: HTMLElement,\n parentElement: HTMLElement | Window,\n ): boolean {\n const windowObj = this.#windowRef.nativeWindow as Window;\n\n if (parentElement === windowObj) {\n return (\n parentElement.pageYOffset + parentElement.innerHeight >\n element.offsetTop\n );\n }\n\n const elementRect = element.getBoundingClientRect();\n const parentRect = (parentElement as HTMLElement).getBoundingClientRect();\n\n return elementRect.top < parentRect.top + parentRect.height;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyInfiniteScrollDomAdapterService } from './infinite-scroll-dom-adapter.service';\n\n@Component({\n selector: 'sky-infinite-scroll',\n templateUrl: './infinite-scroll.component.html',\n styleUrls: ['./infinite-scroll.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInfiniteScrollDomAdapterService],\n standalone: false,\n})\nexport class SkyInfiniteScrollComponent implements OnDestroy {\n /**\n * Whether to make the infinite scroll component active when more data is available\n * to load. By default, infinite scroll is inactive and does not call the load function.\n * @default false\n */\n @Input()\n public get enabled(): boolean | undefined {\n return this.#_enabled;\n }\n public set enabled(value: boolean | undefined) {\n if (this.#_enabled !== value) {\n this.#_enabled = value;\n this.#setListeners();\n }\n }\n\n /**\n * Whether data is loading because of a `scrollEnd` event. Setting the property\n * to `true` disables new `scrollEnd` events from firing until it changes to `false`. If this\n * property is not specified, the infinite scroll component watches the DOM for changes\n * and fires `scrollEnd` events when changes occur on its parent DOM element. Relying\n * on this default behavior could fire an excessive number of `scrollEnd` events\n * if the DOM changes are not related to loading data, so we strongly recommend using this\n * property to explicitly set the infinite scroll's loading state.\n * @required\n */\n @Input()\n public get loading(): boolean | undefined {\n return this.#_loading;\n }\n\n public set loading(value: boolean | undefined) {\n this.#_loading = value;\n\n if (value !== undefined) {\n this.isWaiting = value;\n }\n }\n\n /**\n * Fires when scrolling triggers the need to load more data or when users select the button\n * to load more data. This event only fires when the `enabled` property is set to `true`\n * and data is not already loading.\n */\n @Output()\n public scrollEnd = new EventEmitter<void>();\n\n public isWaiting = false;\n\n #changeDetector: ChangeDetectorRef;\n #domAdapter: SkyInfiniteScrollDomAdapterService;\n #elementRef: ElementRef;\n #ngUnsubscribe = new Subject<void>();\n #_enabled: boolean | undefined = false;\n #_loading: boolean | undefined;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n elementRef: ElementRef,\n domAdapter: SkyInfiniteScrollDomAdapterService,\n ) {\n this.#changeDetector = changeDetector;\n this.#elementRef = elementRef;\n this.#domAdapter = domAdapter;\n }\n\n public ngOnDestroy(): void {\n this.enabled = false;\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public startInfiniteScrollLoad(): void {\n this.#notifyScrollEnd();\n }\n\n #notifyScrollEnd(): void {\n this.isWaiting = true;\n this.scrollEnd.emit();\n this.#changeDetector.markForCheck();\n }\n\n #setListeners(): void {\n if (this.enabled) {\n // The user has scrolled to the infinite scroll element.\n this.#domAdapter\n .scrollTo(this.#elementRef)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (!this.isWaiting && this.enabled) {\n this.#notifyScrollEnd();\n }\n });\n\n // New items have been loaded into the parent element.\n this.#domAdapter\n .parentChanges(this.#elementRef)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (!this.loading) {\n this.isWaiting = false;\n this.#changeDetector.markForCheck();\n }\n });\n } else {\n this.#ngUnsubscribe.next();\n }\n }\n}\n","@if (enabled) {\n <div class=\"sky-infinite-scroll\">\n @if (!isWaiting) {\n <button\n class=\"sky-btn sky-btn-default sky-infinite-scroll-load-more-button\"\n type=\"button\"\n (click)=\"startInfiniteScrollLoad()\"\n >\n {{ 'skyux_infinite_scroll_load_more_button' | skyLibResources }}\n </button>\n } @else {\n <sky-wait [isWaiting]=\"true\" />\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { SkyWaitModule } from '@skyux/indicators';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyInfiniteScrollComponent } from './infinite-scroll.component';\n\n@NgModule({\n declarations: [SkyInfiniteScrollComponent],\n imports: [SkyListsResourcesModule, SkyWaitModule],\n exports: [SkyInfiniteScrollComponent],\n})\nexport class SkyInfiniteScrollModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: 'sky-paging-content',\n template: `<ng-content />`,\n})\nexport class SkyPagingContentComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyPagingContentChangeArgs } from './types/paging-content-change-args';\n\n@Component({\n selector: 'sky-paging',\n templateUrl: './paging.component.html',\n styleUrls: ['./paging.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyPagingComponent implements OnChanges {\n /**\n * The page number of the current page. Page numbers start at 1 and increment.\n */\n @Input()\n public currentPage = 1;\n\n /**\n * The total number of items across all pages.\n */\n @Input()\n public itemCount = 0;\n\n /**\n * The maximum number of pages to display in the pagination control.\n */\n @Input()\n public maxPages = 5;\n\n /**\n * The number of items to display per page.\n */\n @Input()\n public pageSize = 10;\n\n /**\n * The label for the pagination control when an application includes\n * multiple paging components on the same page. The label should be unique and descriptive\n * to help users of assistive technology differentiate pagination controls\n * and understand what each one does.\n * @default \"Pagination\"\n */\n @Input()\n public pagingLabel: string | undefined;\n\n /**\n * Fires when the current page changes and emits the new current page.\n */\n @Output()\n public currentPageChange = new EventEmitter<number>();\n\n /**\n * Fires when the current page changes and emits the new current page with a function\n * to call when loading the new page completes. Handling this event will display the\n * wait component until the callback function is called, and focus will move to the top\n * of the list for keyboard navigation if the list contents are placed inside the\n * sky-paging-content element.\n */\n @Output()\n public contentChange = new EventEmitter<SkyPagingContentChangeArgs>();\n\n @ViewChild('contentWrapper', { read: ElementRef })\n public contentWrapper: ElementRef | undefined;\n\n public displayedPages: number[] = [];\n\n public pageCount = 0;\n\n protected isLoading = new BehaviorSubject(false);\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.setPage(this.currentPage, changes['currentPage']?.isFirstChange());\n }\n\n public setPage(pageNumber: number, forceContentChange?: boolean): void {\n const previousPage = this.currentPage;\n\n this.#setPageCount();\n\n if (pageNumber < 1 || this.pageCount < 1) {\n this.currentPage = 1;\n } else if (pageNumber > this.pageCount) {\n this.currentPage = this.pageCount;\n } else {\n this.currentPage = pageNumber;\n }\n\n this.#setDisplayedPages();\n\n let doContentChange = forceContentChange;\n\n if (previousPage !== this.currentPage) {\n this.currentPageChange.emit(this.currentPage);\n doContentChange = true;\n }\n\n if (doContentChange && this.contentChange.observed) {\n this.#moveFocusToTop();\n this.isLoading.next(true);\n\n this.contentChange.emit({\n currentPage: this.currentPage,\n loadingComplete: () => this.isLoading.next(false),\n });\n }\n }\n\n public nextPage(): void {\n this.setPage(this.currentPage + 1);\n }\n\n public previousPage(): void {\n this.setPage(this.currentPage - 1);\n }\n\n public get isPreviousButtonDisabled(): boolean {\n return this.currentPage === 1;\n }\n\n public get isNextButtonDisabled(): boolean {\n return this.currentPage === this.pageCount;\n }\n\n #getDisplayedPageNumbers(\n pageCount: number,\n maxDisplayedPages: number,\n pageNumber: number,\n ): number[] {\n const pageIndex = pageNumber - 1;\n const pageBounds = Math.floor(maxDisplayedPages / 2);\n\n let upperBound = pageIndex + pageBounds;\n let lowerBound = pageIndex - pageBounds;\n if (maxDisplayedPages % 2 !== 0) {\n upperBound += 1;\n }\n\n // Wrap negative values to increase the upper bound\n if (lowerBound < 0) {\n upperBound -= lowerBound;\n lowerBound = 0;\n }\n // Wrap overflow to decrease the lower bound\n if (upperBound > pageCount) {\n lowerBound -= upperBound - pageCount;\n upperBound = pageCount;\n }\n\n // If both are the same ignore everything else and just display it all\n if (pageCount < maxDisplayedPages) {\n lowerBound = 0;\n upperBound = pageCount;\n }\n\n const displayedPageNumbers: number[] = [];\n for (let i = lowerBound; i < upperBound; i++) {\n displayedPageNumbers.push(i + 1);\n }\n return displayedPageNumbers;\n }\n\n #setPageCount(): void {\n if (this.itemCount === 0 || this.pageSize === 0) {\n this.pageCount = 0;\n return;\n }\n\n this.pageCount = Math.ceil(this.itemCount / this.pageSize);\n }\n\n #setDisplayedPages(): void {\n this.displayedPages = this.#getDisplayedPageNumbers(\n this.pageCount,\n this.maxPages,\n this.currentPage,\n );\n }\n\n #moveFocusToTop(): void {\n this.contentWrapper?.nativeElement.focus();\n }\n}\n","<sky-wait\n [ariaLabel]=\"\n 'skyux_paging_loading' | skyLibResources: currentPage : pageCount\n \"\n [isWaiting]=\"!!(isLoading | async)\"\n [screenReaderCompletedText]=\"\n 'skyux_paging_loaded' | skyLibResources: currentPage\n \"\n/>\n<div\n #contentWrapper\n class=\"sky-paging-content-wrapper\"\n role=\"group\"\n tabindex=\"-1\"\n [attr.aria-label]=\"\n 'skyux_paging_page_label' | skyLibResources: currentPage : pageCount\n \"\n>\n <ng-content select=\"sky-paging-content\" />\n</div>\n@if (pageCount > 1) {\n <nav\n class=\"sky-paging\"\n [attr.aria-label]=\"pagingLabel || ('skyux_paging_label' | skyLibResources)\"\n >\n <ul>\n <li>\n <button\n class=\"sky-btn sky-btn-borderless sky-paging-btn sky-paging-btn-previous sky-box\"\n sky-cmp-id=\"previous\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_previous' | skyLibResources\"\n [disabled]=\"isPreviousButtonDisabled\"\n (click)=\"previousPage()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n </button>\n </li>\n @for (pageNumber of displayedPages; track pageNumber) {\n <li class=\"sky-list-paging-link\">\n <button\n class=\"sky-btn sky-btn-borderless sky-paging-btn sky-box\"\n type=\"button\"\n [attr.aria-current]=\"currentPage === pageNumber ? 'page' : null\"\n [attr.sky-cmp-id]=\"pageNumber\"\n [attr.aria-label]=\"\n 'skyux_paging_page_link_aria_label' | skyLibResources: pageNumber\n \"\n [disabled]=\"currentPage === pageNumber\"\n [ngClass]=\"{ 'sky-paging-current': currentPage === pageNumber }\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n }\n <li>\n <button\n class=\"sky-btn sky-btn-borderless sky-paging-btn sky-paging-btn-next sky-box\"\n sky-cmp-id=\"next\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_next' | skyLibResources\"\n [disabled]=\"isNextButtonDisabled\"\n (click)=\"nextPage()\"\n >\n <sky-icon iconName=\"chevron-right\" />\n </button>\n </li>\n </ul>\n </nav>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyWaitModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyPagingContentComponent } from './paging-content.component';\nimport { SkyPagingComponent } from './paging.component';\n\n@NgModule({\n declarations: [SkyPagingComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyListsResourcesModule,\n SkyPagingContentComponent,\n SkyThemeModule,\n SkyWaitModule,\n ],\n exports: [SkyPagingComponent, SkyPagingContentComponent],\n})\nexport class SkyPagingModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Displays content text when the repeater is expanded.\n */\n@Component({\n selector: 'sky-repeater-item-content',\n templateUrl: './repeater-item-content.component.html',\n standalone: false,\n})\nexport class SkyRepeaterItemContentComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Wraps and styles a\n * [`skyux-dropdown` component](https://developer.blackbaud.com/skyux-popovers/docs/dropdown).\n */\n@Component({\n selector: 'sky-repeater-item-context-menu',\n templateUrl: './repeater-item-context-menu.component.html',\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyRepeaterItemContextMenuComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Displays a header inside the repeater item.\n */\n@Component({\n selector: 'sky-repeater-item-title',\n templateUrl: './repeater-item-title.component.html',\n standalone: false,\n})\nexport class SkyRepeaterItemTitleComponent {}\n","<ng-content />\n","import { EventEmitter, Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyRepeaterExpandModeType } from './repeater-expand-mode-type';\nimport { SkyRepeaterItemRolesType } from './repeater-item-roles.type';\nimport { SkyRepeaterItemComponent } from './repeater-item.component';\n\nlet uniqueId = 0;\nconst DEFAULT_EXPAND_MODE: SkyRepeaterExpandModeType = 'none';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyRepeaterService implements OnDestroy {\n public activeItemChange = new BehaviorSubject<\n SkyRepeaterItemComponent | undefined\n >(undefined);\n\n public activeItemIndexChange = new BehaviorSubject<number | undefined>(\n undefined,\n );\n\n public enableActiveState = false;\n\n // TODO: Remove 'string' as a valid type in a breaking change.\n public get expandMode(): SkyRepeaterExpandModeType {\n return this.#_expandMode;\n }\n public set expandMode(value: SkyRepeaterExpandModeType | undefined) {\n this.#_expandMode = value ?? DEFAULT_EXPAND_MODE;\n }\n\n public itemCollapseStateChange = new EventEmitter<SkyRepeaterItemComponent>();\n\n public items: SkyRepeaterItemComponent[] = [];\n\n public readonly itemRole = new BehaviorSubject<SkyRepeaterItemRolesType>({\n content: undefined,\n item: undefined,\n title: undefined,\n });\n\n public orderChange = new BehaviorSubject<void>(undefined);\n\n public repeaterGroupId = ++uniqueId;\n\n #_expandMode = DEFAULT_EXPAND_MODE;\n\n public ngOnDestroy(): void {\n this.activeItemChange.complete();\n this.itemCollapseStateChange.complete();\n this.orderChange.complete();\n }\n\n public activateItem(item: SkyRepeaterItemComponent): void {\n if (this.enableActiveState) {\n /* istanbul ignore else */\n if (item && !item.disabled) {\n const index = this.items.findIndex((i) => i === item);\n this.activeItemIndexChange.next(index);\n this.activeItemChange.next(item);\n }\n }\n }\n\n public activateItemByIndex(index: number | undefined): void {\n /* istanbul ignore else */\n if (this.enableActiveState) {\n if (index === undefined) {\n this.activeItemChange.next(undefined);\n } else {\n const activeItem = this.items[index];\n if (activeItem && !activeItem.disabled) {\n this.activeItemChange.next(activeItem);\n }\n }\n }\n }\n\n public registerItem(item: SkyRepeaterItemComponent): void {\n this.items.push(item);\n }\n\n public unregisterItem(item: SkyRepeaterItemComponent): void {\n const indexOfDestroyedItem = this.items.indexOf(item);\n if (indexOfDestroyedItem > -1) {\n this.items.splice(indexOfDestroyedItem, 1);\n }\n }\n\n public onItemCollapseStateChange(item: SkyRepeaterItemComponent): void {\n this.itemCollapseStateChange.emit(item);\n }\n\n public registerOrderChange(): void {\n this.orderChange.next();\n }\n\n public reorderItem(oldIndex: number, newIndex: number): void {\n this.items.splice(newIndex, 0, this.items.splice(oldIndex, 1)[0]);\n }\n}\n","import { ElementRef, Injectable } from '@angular/core';\n\nimport { SkyRepeaterService } from './repeater.service';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyRepeaterAdapterService {\n get #repeaterItemGroupSelector(): string {\n return '.sky-repeater-item-group-' + this.#repeaterService.repeaterGroupId;\n }\n\n #host: ElementRef | undefined;\n #repeaterService: SkyRepeaterService;\n\n constructor(repeaterService: SkyRepeaterService) {\n this.#repeaterService = repeaterService;\n }\n\n public focusElement(element: ElementRef | HTMLElement | undefined): void {\n if (element) {\n if (element instanceof ElementRef) {\n element.nativeElement.focus();\n } else {\n element.focus();\n }\n }\n }\n\n public setRepeaterHost(hostRef: ElementRef): void {\n this.#host = hostRef;\n }\n\n public getRepeaterItemIndex(element: HTMLElement): number {\n return this.#getRepeaterItemArray().indexOf(element);\n }\n\n public moveItemUp(\n element: HTMLElement,\n top = false,\n steps = 1,\n ): number | undefined {\n const index = this.getRepeaterItemIndex(element);\n\n if (index === 0) {\n return;\n }\n\n let newIndex = index - steps;\n\n if (top || newIndex < 0) {\n newIndex = 0;\n }\n\n return this.#moveItem(element, index, newIndex);\n }\n\n public moveItemDown(element: HTMLElement, steps = 1): number | undefined {\n const itemArray = this.#getRepeaterItemArray();\n const index = this.getRepeaterItemIndex(element);\n\n if (index === itemArray.length - steps) {\n return;\n }\n\n const newIndex = index + steps;\n\n return this.#moveItem(element, index, newIndex);\n }\n\n #moveItem(element: HTMLElement, oldIndex: number, newIndex: number): number {\n /* istanbul ignore else */\n if (this.#host) {\n const repeaterDiv: HTMLElement =\n this.#host.nativeElement.querySelector('.sky-repeater');\n\n repeaterDiv.removeChild(element);\n const nextSibling = repeaterDiv.querySelectorAll(\n this.#repeaterItemGroupSelector,\n )[newIndex];\n\n repeaterDiv.insertBefore(element, nextSibling);\n this.#repeaterService.reorderItem(oldIndex, newIndex);\n }\n\n return newIndex;\n }\n\n /**\n * Returns an array of the immediate repeater item descendants. Excludes nested repeater items.\n */\n #getRepeaterItemArray(): any[] {\n return Array.from(\n this.#host?.nativeElement.querySelectorAll(\n this.#repeaterItemGroupSelector,\n ),\n );\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { skyAnimationSlide } from '@skyux/animations';\nimport { SkyContentInfoProvider, SkyIdService } from '@skyux/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport {\n SkyInlineFormCloseArgs,\n SkyInlineFormConfig,\n} from '@skyux/inline-form';\n\nimport { Observable, Subject, forkJoin as observableForkJoin } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyRepeaterAdapterService } from './repeater-adapter.service';\nimport { SkyRepeaterItemContentComponent } from './repeater-item-content.component';\nimport { SkyRepeaterItemContextMenuComponent } from './repeater-item-context-menu.component';\nimport { SkyRepeaterItemRolesType } from './repeater-item-roles.type';\nimport { SkyRepeaterItemTitleComponent } from './repeater-item-title.component';\nimport { SkyRepeaterService } from './repeater.service';\n\nlet nextContentId = 0;\n\n/**\n * Creates an individual repeater item.\n */\n@Component({\n selector: 'sky-repeater-item',\n styleUrls: ['./repeater-item.component.scss'],\n templateUrl: './repeater-item.component.html',\n animations: [skyAnimationSlide],\n providers: [SkyContentInfoProvider],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyRepeaterItemComponent\n implements OnDestroy, OnInit, AfterViewInit\n{\n /**\n * Make the first, non-disabled item tab-focusable.\n * - Disabled items should not be focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_disabled_controls).\n * - One item per list/grid/listbox should be tab focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#grid).\n */\n public get tabindex(): 0 | -1 {\n return this.#repeaterService.items.filter((item) => !item.disabled)[0] ===\n this\n ? 0\n : -1;\n }\n\n /**\n * Whether to exclude an item when cycling through.\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n if (this.#_isDisabled !== value) {\n if (value) {\n this.isSelected = false;\n this.#_isDisabled = true;\n } else {\n this.#_isDisabled = false;\n }\n if (this.isActive) {\n this.#repeaterService.activateItemByIndex(undefined);\n }\n if (this.#elementRef.nativeElement.matches(':focus-within')) {\n this.#elementRef.nativeElement.ownerDocument.activeElement.blur();\n }\n this.#changeDetector.markForCheck();\n }\n }\n public get disabled(): boolean | undefined {\n return this.#_isDisabled;\n }\n\n /**\n * The human-readable name for the repeater item that is available for multiple purposes,\n * such as accessibility and instrumentation. For example, the component uses the name to\n * construct ARIA labels for the repeater item controls\n * to [support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If not specified, the repeater item's title will be used for this value.\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public set itemName(value: string | undefined) {\n this.#_itemName = value;\n this.#updateContentInfo();\n }\n\n public get itemName(): string | undefined {\n return this.#_itemName;\n }\n\n /**\n * Configuration options for the buttons to display on an inline form\n * within the repeater. This property accepts\n * [a `SkyInlineFormConfig` object](https://developer.blackbaud.com/skyux/components/inline-form#skyinlineformconfig-properties).\n */\n @Input()\n public inlineFormConfig: SkyInlineFormConfig | undefined;\n\n /**\n * Specifies [an Angular `TemplateRef`](https://angular.io/api/core/TemplateRef) to use\n * as a template to instantiate an inline form within the repeater.\n */\n @Input()\n public inlineFormTemplate: TemplateRef<unknown> | undefined;\n\n /**\n * Whether the repeater item is expanded.\n * @default true\n */\n @Input()\n public set isExpanded(value: boolean | undefined) {\n this.updateForExpanded(value !== false, true);\n }\n\n public get isExpanded(): boolean {\n return this.#isExpanded;\n }\n\n /**\n * Whether the repeater item's checkbox is selected.\n * When users select the repeater item, the specified property on your model is updated accordingly.\n * @default false\n */\n @Input()\n public set isSelected(value: boolean | undefined) {\n if (!this.disabled && value !== this.#_isSelected) {\n this.#_isSelected = value;\n this.isSelectedChange.emit(this.#_isSelected);\n }\n }\n\n public get isSelected(): boolean | undefined {\n return this.#_isSelected;\n }\n\n /**\n * Whether users can change the order of the repeater item.\n * The repeater component's `reorderable` property must also be set to `true`.\n * @internal\n */\n @Input()\n public reorderable: boolean | undefined = false;\n\n /**\n * Whether to display a checkbox in the left of the repeater item.\n */\n @Input()\n public selectable: boolean | undefined = false;\n\n /**\n * Whether to display an inline form within the repeater.\n * Users can toggle between displaying and hiding the inline form.\n */\n @Input()\n public showInlineForm: boolean | undefined = false;\n\n /**\n * The object that the repeater component returns for this repeater item\n * when the `orderChange` event fires. This is required\n * if you set the `reorderable` property to `true`.\n */\n @Input()\n public tag: any;\n\n /**\n * Fires when users collapse the repeater item.\n */\n @Output()\n public collapse = new EventEmitter<void>();\n\n /**\n * Fires when users expand the repeater item.\n */\n @Output()\n public expand = new EventEmitter<void>();\n\n /**\n * Fires when the repeater includes an inline form and users close it. This event emits\n * [a `SkyInlineFormCloseArgs` type](https://developer.blackbaud.com/skyux/components/inline-form#skyinlineformcloseargs-properties).\n */\n @Output()\n public inlineFormClose = new EventEmitter<SkyInlineFormCloseArgs>();\n\n /**\n * Fires when users select or clear the checkbox for the repeater item.\n */\n @Output()\n public isSelectedChange = new EventEmitter<boolean>();\n\n @ContentChild(SkyRepeaterItemContextMenuComponent, { read: ElementRef })\n public contextMenu: ElementRef | undefined;\n\n public contentId: string;\n\n public hasItemContent = false;\n\n public isActive = false;\n\n public set isCollapsible(value: boolean | undefined) {\n if (this.isCollapsible !== value) {\n this.#_isCollapsible = value !== false;\n\n /*istanbul ignore else */\n if (!this.#_isCollapsible) {\n this.updateForExpanded(true, true);\n }\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public get isCollapsible(): boolean {\n return this.#_isCollapsible;\n }\n\n public itemRole$: Observable<SkyRepeaterItemRolesType>;\n\n public reorderButtonLabel = '';\n\n public reorderState: string | undefined;\n\n public slideDirection: string | undefined;\n\n public animationDisabled = false;\n\n @HostBinding('class')\n public get repeaterGroupClass(): string {\n return 'sky-repeater-item-group-' + this.#repeaterService.repeaterGroupId;\n }\n\n @ViewChild('grabHandle', { read: ElementRef })\n public grabHandle: ElementRef | undefined;\n\n @ViewChild('itemContentRef', { read: ElementRef })\n public itemContentRef: ElementRef | undefined;\n\n @ViewChild('itemHeaderRef', { read: ElementRef })\n public itemHeaderRef: ElementRef | undefined;\n\n @ViewChild('itemRef', { read: ElementRef })\n public itemRef: ElementRef | undefined;\n\n @ContentChild(SkyRepeaterItemTitleComponent, { read: ElementRef })\n public set titleComponent(value: ElementRef | undefined) {\n this.#titleComponent = value;\n this.#updateContentInfo();\n }\n\n @ContentChildren(SkyRepeaterItemContentComponent)\n public repeaterItemContentComponents:\n | QueryList<SkyRepeaterItemContentComponent>\n | undefined;\n\n protected titleId: string | undefined;\n\n #adapterService: SkyRepeaterAdapterService;\n #changeDetector: ChangeDetectorRef;\n #contentInfoProvider = inject(SkyContentInfoProvider);\n #elementRef: ElementRef;\n #isExpanded = true;\n #keyboardReorderingEnabled = false;\n #ngUnsubscribe = new Subject<void>();\n #reorderCancelText = '';\n #reorderCurrentIndex = -1;\n #reorderFinishText = '';\n #reorderInstructions = '';\n #reorderMovedText = '';\n #reorderStateDescription = '';\n #reorderSteps = 0;\n #repeaterService: SkyRepeaterService;\n #resourceService: SkyLibResourcesService;\n #titleComponent: ElementRef | undefined;\n #_isCollapsible = true;\n #_isDisabled: boolean | undefined = false;\n #_isSelected: boolean | undefined;\n #_itemName: string | undefined;\n\n readonly #idSvc = inject(SkyIdService);\n\n constructor(\n repeaterService: SkyRepeaterService,\n changeDetector: ChangeDetectorRef,\n adapterService: SkyRepeaterAdapterService,\n elementRef: ElementRef,\n resourceService: SkyLibResourcesService,\n ) {\n this.#repeaterService = repeaterService;\n this.#changeDetector = changeDetector;\n this.#adapterService = adapterService;\n this.#elementRef = elementRef;\n this.#resourceService = resourceService;\n\n this.#slideForExpanded(false);\n\n observableForkJoin([\n this.#resourceService.getString('skyux_repeater_item_reorder_cancel'),\n this.#resourceService.getString('skyux_repeater_item_reorder_finish'),\n this.#resourceService.getString(\n 'skyux_repeater_item_reorder_instructions',\n ),\n this.#resourceService.getString('skyux_repeater_item_reorder_operation'),\n this.#resourceService.getString('skyux_repeater_item_reorder_moved'),\n ])\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(\n ([\n reorderCancelText,\n reorderFinishText,\n reorderInstructionsText,\n reorderOperationText,\n reorderMovedText,\n ]) => {\n this.#reorderCancelText = reorderCancelText;\n this.#reorderFinishText = reorderFinishText;\n this.#reorderStateDescription = reorderInstructionsText;\n this.#reorderInstructions = reorderOperationText;\n this.#reorderMovedText = reorderMovedText;\n this.reorderButtonLabel = this.#reorderInstructions;\n },\n );\n this.contentId = `sky-repeater-item-content-${++nextContentId}`;\n this.itemRole$ = this.#repeaterService.itemRole.asObservable();\n }\n\n public ngOnInit(): void {\n this.#repeaterService.registerItem(this);\n this.#repeaterService.activeItemChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((item) => {\n const newIsActiveValue = this === item;\n if (newIsActiveValue !== this.isActive) {\n this.isActive = newIsActiveValue;\n this.#changeDetector.markForCheck();\n }\n });\n }\n\n public ngAfterViewInit(): void {\n this.hasItemContent = !!this.repeaterItemContentComponents?.length;\n this.#updateExpandOnContentChange();\n }\n\n public ngOnDestroy(): void {\n this.collapse.complete();\n this.expand.complete();\n this.inlineFormClose.complete();\n this.isSelectedChange.complete();\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n\n this.#repeaterService.unregisterItem(this);\n }\n\n @HostListener('keydown', ['$event'])\n public onKeydown($event: KeyboardEvent): void {\n if (\n [' ', 'Enter', 'Home', 'End', 'ArrowUp', 'ArrowDown'].includes($event.key)\n ) {\n if (\n ($event.target as HTMLElement).matches(\n 'input, textarea, select, option, [contenteditable], [contenteditable] *',\n )\n ) {\n return;\n }\n $event.preventDefault();\n $event.stopPropagation();\n let activateItem: SkyRepeaterItemComponent | undefined = undefined;\n /* istanbul ignore else */\n if ([' ', 'Enter'].includes($event.key)) {\n if (this.selectable) {\n this.isSelected = !this.isSelected;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n activateItem = this;\n }\n /* istanbul ignore else */\n if (['Home', 'End'].includes($event.key)) {\n const items = this.#repeaterService.items.filter(\n (item) => !item.disabled,\n );\n if ($event.key === 'Home') {\n activateItem = items.shift();\n } else {\n activateItem = items.pop();\n }\n }\n /* istanbul ignore else */\n if (['ArrowUp', 'ArrowDown'].includes($event.key)) {\n const currentIndex = this.#repeaterService.items.findIndex(\n (item) => item === this,\n );\n let sliceFrom: number;\n let sliceTo: number | undefined;\n if ($event.key === 'ArrowUp') {\n sliceFrom = 0;\n sliceTo = currentIndex;\n } else {\n sliceFrom = currentIndex + 1;\n sliceTo = undefined;\n }\n const items = this.#repeaterService.items\n .slice(sliceFrom, sliceTo)\n .filter((item) => !item.disabled);\n activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();\n if (!activateItem) {\n // Wrap around.\n if ($event.key === 'ArrowDown') {\n sliceFrom = 0;\n sliceTo = currentIndex;\n } else {\n sliceFrom = currentIndex + 1;\n sliceTo = undefined;\n }\n const items = this.#repeaterService.items\n .slice(sliceFrom, sliceTo)\n .filter((item) => !item.disabled);\n activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();\n }\n }\n /* istanbul ignore else */\n if (activateItem && !activateItem.isActive) {\n this.#repeaterService.activateItem(activateItem);\n if (\n !(activateItem.#elementRef.nativeElement as Element).matches(\n ':focus-within',\n )\n ) {\n activateItem.itemRef?.nativeElement.focus();\n }\n }\n }\n }\n\n public headerClick(): void {\n if (this.isCollapsible) {\n this.updateForExpanded(!this.isExpanded, true);\n }\n }\n\n public chevronDirectionChange(direction: string): void {\n this.updateForExpanded(direction === 'up', true);\n }\n\n public onRepeaterItemClick(event: MouseEvent): void {\n // Only activate item if clicking on the title, content, or parent item div.\n // This will avoid accidental activations when clicking inside interactive elements like\n // the expand/collapse chevron, dropdown, inline-delete, etc...\n if (\n event.target === this.itemRef?.nativeElement ||\n this.itemContentRef?.nativeElement.contains(event.target) ||\n this.itemHeaderRef?.nativeElement.contains(event.target)\n ) {\n this.#repeaterService.activateItem(this);\n }\n }\n\n public updateForExpanded(value: boolean, animate: boolean): void {\n if (this.isCollapsible === false && value === false) {\n console.warn(\n `Setting isExpanded to false when the repeater item is not collapsible\n will have no effect.`,\n );\n } else if (this.#isExpanded !== value) {\n this.#isExpanded = value;\n\n if (this.#isExpanded) {\n this.expand.emit();\n } else {\n this.collapse.emit();\n }\n\n this.#repeaterService.onItemCollapseStateChange(this);\n this.#slideForExpanded(animate);\n this.#changeDetector.markForCheck();\n }\n }\n\n public onCheckboxChange(value: SkyCheckboxChange): void {\n this.isSelected = value.checked;\n }\n\n public onInlineFormClose(inlineFormCloseArgs: SkyInlineFormCloseArgs): void {\n this.inlineFormClose.emit(inlineFormCloseArgs);\n }\n\n public moveToTop(event: Event): void {\n event.stopPropagation();\n this.#adapterService.moveItemUp(this.#elementRef.nativeElement, true);\n this.#adapterService.focusElement(event.target as HTMLElement);\n this.#repeaterService.registerOrderChange();\n }\n\n public onReorderHandleKeyDown(event: KeyboardEvent): void {\n /*istanbul ignore else */\n if (event.key) {\n switch (event.key.toLowerCase()) {\n case ' ':\n case 'enter':\n this.#keyboardToggleReorder();\n event.preventDefault();\n event.stopPropagation();\n break;\n\n case 'escape':\n /* istanbul ignore else */\n if (this.#keyboardReorderingEnabled) {\n this.#keyboardReorderingEnabled = false;\n this.#revertReorderSteps();\n this.reorderButtonLabel =\n this.#reorderCancelText + ' ' + this.#reorderInstructions;\n this.#adapterService.focusElement(event.target as HTMLElement);\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n\n case 'arrowup':\n if (this.#keyboardReorderingEnabled) {\n this.#keyboardReorderUp();\n event.preventDefault();\n event.stopPropagation();\n this.#repeaterService.registerOrderChange();\n }\n break;\n\n case 'arrowdown':\n /* istanbul ignore else */\n if (this.#keyboardReorderingEnabled) {\n this.#keyboardReorderDown();\n event.preventDefault();\n event.stopPropagation();\n this.#repeaterService.registerOrderChange();\n }\n break;\n\n case 'arrowleft':\n case 'arrowright':\n /* istanbul ignore else */\n if (this.#keyboardReorderingEnabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n\n public onReorderHandleBlur(event: any): void {\n this.#keyboardReorderingEnabled = false;\n this.#revertReorderSteps();\n this.reorderButtonLabel = this.#reorderInstructions;\n this.reorderState = undefined;\n }\n\n #slideForExpanded(animate: boolean): void {\n this.animationDisabled = !animate;\n this.slideDirection = this.isExpanded ? 'down' : 'up';\n }\n\n #keyboardReorderUp(): void {\n const newIndex = this.#adapterService.moveItemUp(\n this.#elementRef.nativeElement,\n );\n if (newIndex !== undefined) {\n this.#reorderCurrentIndex = newIndex;\n this.#reorderSteps--;\n this.#adapterService.focusElement(this.grabHandle);\n this.#keyboardReorderingEnabled = true;\n this.reorderButtonLabel = `${this.#reorderMovedText} ${\n this.#reorderCurrentIndex + 1\n }`;\n }\n }\n\n #keyboardReorderDown(): void {\n const newIndex = this.#adapterService.moveItemDown(\n this.#elementRef.nativeElement,\n );\n if (newIndex) {\n this.#reorderCurrentIndex = newIndex;\n this.#reorderSteps++;\n this.#adapterService.focusElement(this.grabHandle);\n this.#keyboardReorderingEnabled = true;\n this.reorderButtonLabel = `${this.#reorderMovedText} ${\n this.#reorderCurrentIndex + 1\n }`;\n }\n }\n\n #keyboardToggleReorder(): void {\n this.#keyboardReorderingEnabled = !this.#keyboardReorderingEnabled;\n this.#reorderSteps = 0;\n\n if (this.#keyboardReorderingEnabled) {\n this.reorderState = this.#reorderStateDescription;\n } else {\n // TODO: Needs improvement to be localized\n this.reorderState = `${this.#reorderFinishText} ${\n this.#reorderCurrentIndex + 1\n } ${this.#reorderInstructions}`;\n this.#reorderCurrentIndex = -1;\n }\n }\n\n #revertReorderSteps(): void {\n if (this.#reorderSteps < 0) {\n this.#adapterService.moveItemDown(\n this.#elementRef.nativeElement,\n Math.abs(this.#reorderSteps),\n );\n } else if (this.#reorderSteps > 0) {\n this.#adapterService.moveItemUp(\n this.#elementRef.nativeElement,\n false,\n this.#reorderSteps,\n );\n }\n this.#repeaterService.registerOrderChange();\n }\n\n #updateContentInfo(): void {\n // The `setTimeout` here is necessary to counteract the timing for change detection with the content child for the title component.\n // Because the title component is rendered within a template ref - the loading of the content child and then acting upon that can cause \"changed after checked\" errors.\n setTimeout(() => {\n if (this.itemName) {\n this.#contentInfoProvider.patchInfo({\n descriptor: { type: 'text', value: this.itemName },\n });\n } else if (this.#titleComponent) {\n this.titleId = this.#idSvc.generateId();\n\n this.#contentInfoProvider.patchInfo({\n descriptor: {\n type: 'elementId',\n value: this.titleId,\n },\n });\n } else {\n this.titleId = undefined;\n }\n });\n }\n\n #updateExpandOnContentChange(): void {\n this.repeaterItemContentComponents?.changes\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.hasItemContent = !!this.repeaterItemContentComponents?.length;\n /* istanbul ignore next */\n this.isCollapsible =\n this.hasItemContent && this.#repeaterService.expandMode !== 'none';\n /* istanbul ignore else */\n if (this.#repeaterService.expandMode === 'single') {\n this.#repeaterService.onItemCollapseStateChange(this);\n }\n });\n }\n}\n","<div\n #itemRef\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-labelledby]=\"itemName || titleId\"\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-selectable': selectable,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\" />\n </div>\n\n @if (inlineFormTemplate) {\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\" />\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\" />\n </sky-inline-form>\n } @else {\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\" />\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\" />\n }\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n class=\"sky-repeater-item-left\"\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n >\n @if (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 #grabHandle\n class=\"sky-btn sky-btn-icon-borderless 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 >\n <sky-icon iconName=\"arrow-bidirectional-up-down\" />\n </button>\n <!-- Used to ensure that the right side is the same height as the left by placeholding the size of the back to top button.-->\n <div class=\"sky-repeater-item-top-button-placeholder\"></div>\n }\n @if (selectable) {\n <sky-checkbox\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [disabled]=\"disabled\"\n [labelHidden]=\"true\"\n [labelText]=\"\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 }\n <div\n #contextMenuEl\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n >\n <ng-content select=\"sky-repeater-item-context-menu\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div #itemHeaderRef class=\"sky-repeater-item-right\">\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\n #titleRef\n class=\"sky-repeater-item-title sky-font-emphasized\"\n [attr.id]=\"titleId\"\n >\n <ng-content select=\"sky-repeater-item-title\" />\n </div>\n @if (reorderable) {\n <button\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 iconName=\"arrow-up\" />\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n }\n @if (isCollapsible) {\n <div class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? isExpanded\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_collapse' | skyLibResources: itemName)\n : isExpanded\n ? ('skyux_repeater_item_expand_default' | skyLibResources)\n : ('skyux_repeater_item_collapse_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n />\n </div>\n } @else if (!contextMenu) {\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div class=\"sky-repeater-item-chevron-placeholder\"></div>\n }\n <!-- Used to ensure that the right side is the same height as the left.-->\n @if (contextMenu) {\n <div class=\"sky-repeater-item-chevron-placeholder-with-context\"></div>\n }\n </div>\n <div\n #itemContentRef\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@.disabled]=\"animationDisabled\"\n [@skyAnimationSlide]=\"slideDirection\"\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\" />\n </div>\n </div>\n</ng-template>\n","import { Injectable } from '@angular/core';\n\nimport autoScroll from 'dom-autoscroller';\n\nimport { SkyRepeaterAutoScrollOptions } from './repeater-auto-scroll-options';\nimport { SkyRepeaterAutoScroller } from './repeater-auto-scroller';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyRepeaterAutoScrollService {\n public autoScroll(\n elements: (HTMLElement | Window)[],\n options: SkyRepeaterAutoScrollOptions,\n ): SkyRepeaterAutoScroller {\n return autoScroll(elements, options);\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SkyLogService, SkyScrollableHostService } from '@skyux/core';\n\nimport { DragulaService } from 'ng2-dragula';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyRepeaterAdapterService } from './repeater-adapter.service';\nimport { SkyRepeaterAutoScrollService } from './repeater-auto-scroll.service';\nimport { SkyRepeaterAutoScroller } from './repeater-auto-scroller';\nimport { SkyRepeaterExpandModeType } from './repeater-expand-mode-type';\nimport { SkyRepeaterItemRolesType } from './repeater-item-roles.type';\nimport { SkyRepeaterItemComponent } from './repeater-item.component';\nimport { SkyRepeaterRoleType } from './repeater-role.type';\nimport { SkyRepeaterService } from './repeater.service';\n\n/**\n * Creates a container to display repeater items.\n */\n@Component({\n selector: 'sky-repeater',\n styleUrls: ['./repeater.component.scss'],\n templateUrl: './repeater.component.html',\n providers: [\n SkyRepeaterService,\n SkyRepeaterAdapterService,\n SkyRepeaterAutoScrollService,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyRepeaterComponent\n implements AfterContentInit, AfterViewChecked, OnChanges, OnDestroy, OnInit\n{\n /**\n * The index of the repeater item to visually highlight as active.\n * For example, use this property in conjunction with the\n * [split view component](https://developer.blackbaud.com/skyux/components/split-view)\n * to highlight a repeater item while users edit it. Only one item can be active at a time.\n */\n @Input()\n public activeIndex: number | undefined;\n\n /**\n * The ARIA label for the repeater list.\n * This sets the repeater list's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n * @default \"List of items\"\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether users can change the order of items in the repeater list.\n * Each repeater item also has `reorderable` property to indicate whether\n * users can change its order.\n */\n @Input()\n public reorderable: boolean | undefined = false;\n\n /**\n * The layout that determines which repeater items are expanded by default and whether\n * repeater items are expandable and collapsible. Collapsed items display titles only.\n * The valid options are `multiple`, `none`, and `single`.\n * - `multiple` loads repeater items in an expanded state unless `isExpanded` is set to\n * `false` for a repeater item. This layout allows users to expand and collapse\n * as many repeater items as necessary. It is best-suited to repeater items where body\n * content is important but users don't always need to see it.\n * - `none` loads all repeater items in an expanded state and does not allow users to\n * collapse them. This default layout provides the quickest access to the details in the\n * repeater items. It is best-suited to repeater items with concise content\n * that users need to view frequently.\n * - `single` loads one repeater item in an expanded state and collapses all others.\n * The expanded repeater item is the first one where `isExpanded` is set to `true`. This layout\n * allows users to expand one item at a time. It provides the most compact view and is\n * best-suited to repeater items where the most important information is in the titles\n * and users only occasionally need to view the body content.\n * @default \"none\"\n */\n @Input()\n public set expandMode(value: SkyRepeaterExpandModeType | undefined) {\n this.#repeaterService.expandMode = value;\n this.#updateForExpandMode();\n }\n\n public get expandMode(): SkyRepeaterExpandModeType {\n return this.#repeaterService.expandMode;\n }\n\n /**\n * Fires when the active repeater item changes.\n */\n @Output()\n public activeIndexChange = new EventEmitter<number>();\n\n /**\n * Fires when users change the order of repeater items.\n * This event emits an ordered array of the `tag` properties that the consumer provides for each repeater item.\n */\n @Output()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public orderChange = new EventEmitter<any[]>();\n\n @ContentChildren(SkyRepeaterItemComponent)\n public items: QueryList<SkyRepeaterItemComponent> | undefined;\n\n public dragulaGroupName: string;\n\n public role: SkyRepeaterRoleType | undefined;\n\n #autoScroller: SkyRepeaterAutoScroller | undefined;\n #ngUnsubscribe = new Subject<void>();\n #itemNameWarned = false;\n\n #adapterService = inject(SkyRepeaterAdapterService);\n #changeDetector = inject(ChangeDetectorRef);\n #dragulaService = inject(DragulaService);\n #elementRef = inject(ElementRef);\n #renderer = inject(Renderer2);\n #repeaterService = inject(SkyRepeaterService);\n #autoScrollSvc = inject(SkyRepeaterAutoScrollService);\n #scrollableHostSvc = inject(SkyScrollableHostService);\n #logSvc = inject(SkyLogService);\n\n constructor() {\n this.dragulaGroupName = `sky-repeater-dragula-${this.#repeaterService.repeaterGroupId}`;\n\n this.#repeaterService.itemCollapseStateChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((item: SkyRepeaterItemComponent) => {\n if (this.expandMode === 'single' && item.isExpanded) {\n this.items?.forEach((otherItem) => {\n if (\n otherItem !== item &&\n otherItem.isExpanded &&\n otherItem.isCollapsible\n ) {\n otherItem.isExpanded = false;\n }\n });\n }\n });\n\n this.#repeaterService.activeItemIndexChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((index) => {\n if (index !== this.activeIndex) {\n this.activeIndex = index;\n this.activeIndexChange.emit(index);\n }\n });\n\n this.#repeaterService.orderChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#emitTags();\n });\n\n this.#updateForExpandMode();\n\n this.#adapterService.setRepeaterHost(this.#elementRef);\n\n this.#initializeDragAndDrop();\n }\n\n public ngAfterContentInit(): void {\n // If activeIndex has been set on init, call service to activate the appropriate item.\n setTimeout(() => {\n if (this.activeIndex || this.activeIndex === 0) {\n this.#repeaterService.activateItemByIndex(this.activeIndex);\n }\n\n this.#validateTags();\n });\n\n // HACK: Not updating for expand mode in a timeout causes an error.\n // https://github.com/angular/angular/issues/6005\n this.items?.changes.pipe(takeUntil(this.#ngUnsubscribe)).subscribe(() => {\n setTimeout(() => {\n if (this.items?.length) {\n this.#updateForExpandMode(this.items.last);\n\n this.#updateReorderability();\n\n this.#repeaterService.items = this.items.toArray();\n }\n\n if (this.activeIndex !== undefined) {\n this.#repeaterService.activateItemByIndex(this.activeIndex);\n }\n\n this.#updateRole();\n\n this.#validateTags();\n });\n });\n\n setTimeout(() => {\n this.#updateForExpandMode();\n\n this.items?.forEach((item) => {\n item.reorderable = this.reorderable;\n });\n\n this.#updateRole();\n }, 0);\n }\n\n public ngAfterViewChecked(): void {\n if (!this.#itemNameWarned && this.items?.some((item) => !item.itemName)) {\n this.#logSvc?.deprecated('SkyRepeaterItemComponent without `itemName`', {\n deprecationMajorVersion: 8,\n replacementRecommendation: 'Always specify an `itemName` property.',\n });\n\n this.#itemNameWarned = true;\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeIndex']) {\n this.#repeaterService.enableActiveState = true;\n if (\n changes['activeIndex'].currentValue !==\n changes['activeIndex'].previousValue\n ) {\n this.#repeaterService.activateItemByIndex(this.activeIndex);\n }\n }\n\n if (changes['reorderable']) {\n if (this.items) {\n this.#updateReorderability();\n }\n this.#updateRole();\n\n this.#changeDetector.markForCheck();\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#destroyDragAndDrop();\n }\n\n public ngOnInit(): void {\n this.#updateRole();\n }\n\n public onCdkObserveContent(): void {\n this.#updateRole();\n }\n\n #updateForExpandMode(itemAdded?: SkyRepeaterItemComponent): void {\n if (this.items) {\n let foundExpanded = false;\n const isCollapsible = this.expandMode !== 'none';\n const isSingle = this.expandMode === 'single';\n\n // Keep any newly-added expanded item expanded and collapse the rest.\n if (itemAdded && itemAdded.isExpanded) {\n foundExpanded = true;\n }\n\n for (const item of this.items) {\n item.isCollapsible = isCollapsible && !!item.hasItemContent;\n\n // Collapse any items that aren't the item that was just added.\n if (item !== itemAdded && isSingle && item.isExpanded) {\n if (foundExpanded) {\n // If this item is being collapsed because a new item was\n // added, animate it.\n item.updateForExpanded(false, !!itemAdded);\n }\n\n foundExpanded = true;\n }\n }\n\n this.#updateRole();\n }\n }\n\n #initializeDragAndDrop(): void {\n /* Sanity check that we haven't already set up dragging abilities */\n /* istanbul ignore else */\n if (!this.#dragulaService.find(this.dragulaGroupName)) {\n this.#dragulaService.createGroup(this.dragulaGroupName, {\n moves: (el, _container, handle) => {\n const target = el?.querySelector('.sky-repeater-item-grab-handle');\n return !!(\n this.reorderable && target?.contains(handle as Element | null)\n );\n },\n });\n }\n\n let draggedItemIndex = -1;\n\n this.#dragulaService\n .drag(this.dragulaGroupName)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((args) => {\n /* istanbul ignore else */\n if (args.name === this.dragulaGroupName) {\n this.#destroyAutoScroll();\n\n this.#autoScroller = this.#autoScrollSvc.autoScroll(\n [this.#scrollableHostSvc.getScrollableHost(this.#elementRef)],\n {\n margin: 20,\n maxSpeed: 10,\n scrollWhenOutside: true,\n autoScroll: () => true,\n },\n );\n\n this.#renderer.addClass(args.el, 'sky-repeater-item-dragging');\n draggedItemIndex = this.#adapterService.getRepeaterItemIndex(\n args.el as HTMLElement,\n );\n }\n });\n\n this.#dragulaService\n .dragend(this.dragulaGroupName)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((args) => {\n /* istanbul ignore else */\n if (args.name === this.dragulaGroupName) {\n this.#destroyAutoScroll();\n\n this.#renderer.removeClass(args.el, 'sky-repeater-item-dragging');\n const newItemIndex = this.#adapterService.getRepeaterItemIndex(\n args.el as HTMLElement,\n );\n\n /* sanity check */\n /* istanbul ignore else */\n if (draggedItemIndex >= 0) {\n this.#repeaterService.reorderItem(draggedItemIndex, newItemIndex);\n draggedItemIndex = -1;\n }\n\n this.#emitTags();\n }\n });\n }\n\n #destroyDragAndDrop(): void {\n /* Sanity check that we have set up dragging abilities */\n /* istanbul ignore else */\n if (this.#dragulaService.find(this.dragulaGroupName)) {\n this.#dragulaService.destroy(this.dragulaGroupName);\n }\n\n this.#destroyAutoScroll();\n }\n\n #destroyAutoScroll(): void {\n if (this.#autoScroller) {\n this.#autoScroller.destroy();\n this.#autoScroller = undefined;\n }\n }\n\n #emitTags(): void {\n const tags = this.#repeaterService.items.map((item) => item.tag);\n this.orderChange.emit(tags);\n }\n\n #everyItemHasTag(): boolean {\n /* safety check */\n if (!this.items || this.items.length === 0) {\n return true;\n }\n return this.items.toArray().every((item) => {\n return item.tag !== undefined;\n });\n }\n\n #updateRole(): void {\n // Determine a role using a hierarchy based on https://www.w3.org/TR/wai-aria-practices-1.1/\n // 1. If there are one or more interactions in the repeater item projected content, use grid.\n // 2. If there are selectable repeater items and no other interactions, use listbox.\n // 3. If there are no interactions, use list.\n\n // Default to list role.\n let autoRole: SkyRepeaterRoleType = 'list';\n\n const roleMap: Record<SkyRepeaterRoleType, SkyRepeaterItemRolesType> = {\n list: { item: 'listitem', title: undefined, content: undefined },\n listbox: { item: 'option', title: undefined, content: undefined },\n grid: { item: 'row', title: 'rowheader', content: 'gridcell' },\n };\n\n // Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content\n const interactionSelector = [\n 'a[href]',\n 'audio[controls]',\n 'button',\n 'details',\n 'embed',\n 'iframe',\n 'img[usemap]',\n 'input:not([type=\"hidden\"])',\n 'label',\n 'select',\n 'textarea',\n 'video[controls]',\n '[contenteditable]',\n '.sky-repeater[role=\"grid\"]',\n ]\n .map(\n (selector) =>\n `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`,\n )\n .concat([`skyux-dropdown`])\n .join(', ');\n\n const hasInteraction =\n this.reorderable ||\n this.items?.some((item) => item.isCollapsible) ||\n this.items?.some((item) => !!item.selectable) ||\n !!(this.#elementRef.nativeElement as HTMLElement).querySelector(\n interactionSelector,\n );\n\n if (hasInteraction) {\n // If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid\n autoRole = 'grid';\n }\n\n if (this.role !== autoRole) {\n this.#repeaterService.itemRole.next({\n ...roleMap[autoRole],\n });\n this.role = `${autoRole}`;\n this.#changeDetector.markForCheck();\n }\n }\n\n #updateReorderability(): void {\n if (this.items) {\n for (const item of this.items) {\n item.reorderable = this.reorderable;\n }\n }\n }\n\n #validateTags(): void {\n if (this.reorderable && !this.#everyItemHasTag()) {\n this.#logSvc.warn(\n 'Please supply tag properties for each repeater item when reordering functionality is enabled.',\n );\n }\n }\n}\n","<ng-container #repeaterHost>\n <div\n class=\"sky-repeater\"\n [attr.role]=\"role\"\n [attr.aria-label]=\"ariaLabel || ('skyux_repeater_label' | skyLibResources)\"\n [dragula]=\"dragulaGroupName\"\n (cdkObserveContent)=\"onCdkObserveContent()\"\n >\n <ng-content />\n </div>\n</ng-container>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyChevronModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\n\nimport { DragulaModule, DragulaService } from 'ng2-dragula';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyRepeaterItemContentComponent } from './repeater-item-content.component';\nimport { SkyRepeaterItemContextMenuComponent } from './repeater-item-context-menu.component';\nimport { SkyRepeaterItemTitleComponent } from './repeater-item-title.component';\nimport { SkyRepeaterItemComponent } from './repeater-item.component';\nimport { SkyRepeaterComponent } from './repeater.component';\n\n@NgModule({\n declarations: [\n SkyRepeaterComponent,\n SkyRepeaterItemComponent,\n SkyRepeaterItemContentComponent,\n SkyRepeaterItemContextMenuComponent,\n SkyRepeaterItemTitleComponent,\n ],\n imports: [\n CommonModule,\n DragulaModule,\n ObserversModule,\n SkyChevronModule,\n SkyCheckboxModule,\n SkyIconModule,\n SkyIdModule,\n SkyInlineFormModule,\n SkyListsResourcesModule,\n ],\n exports: [\n SkyRepeaterComponent,\n SkyRepeaterItemComponent,\n SkyRepeaterItemContentComponent,\n SkyRepeaterItemContextMenuComponent,\n SkyRepeaterItemTitleComponent,\n ],\n providers: [DragulaService],\n})\nexport class SkyRepeaterModule {}\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkySortService {\n public selectedItem = new BehaviorSubject<string>('');\n\n public selectItem(sortItem: string): void {\n this.selectedItem.next(sortItem);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\nimport { SkySortService } from './sort.service';\n\nconst SORT_ITEM_ID_PREFIX = 'sky-sort-item-';\n\nlet sortItemIdNumber = 0;\n\n@Component({\n selector: 'sky-sort-item',\n templateUrl: './sort-item.component.html',\n styleUrls: ['./sort-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkySortItemComponent implements OnInit, OnChanges, OnDestroy {\n /**\n * Whether the sorting option is active.\n */\n @Input()\n public active: boolean | undefined;\n\n /**\n * Fires when a sort item is selected.\n */\n @Output()\n public itemSelect = new EventEmitter<any>(); // TODO: Change to `EventEmitter<void>` in a breaking change.\n\n public isSelected: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(\n false,\n );\n\n @ViewChild(TemplateRef<any>)\n public itemTemplate?: TemplateRef<any> | null;\n\n #subscription: Subscription | undefined;\n\n #sortItemId: string | undefined;\n\n #sortService: SkySortService;\n #detector: ChangeDetectorRef;\n\n constructor(sortService: SkySortService, detector: ChangeDetectorRef) {\n this.#sortService = sortService;\n this.#detector = detector;\n }\n\n public ngOnInit(): void {\n sortItemIdNumber++;\n this.#sortItemId = SORT_ITEM_ID_PREFIX + sortItemIdNumber.toString();\n this.#subscription = this.#sortService.selectedItem.subscribe(\n (itemId: string) => {\n this.isSelected.next(itemId === this.#sortItemId);\n this.#detector.detectChanges();\n },\n );\n\n if (this.active) {\n this.#sortService.selectItem(this.#sortItemId);\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n this.#sortItemId &&\n changes &&\n changes['active'] &&\n changes['active'].currentValue &&\n changes['active'].currentValue !== changes['active'].previousValue\n ) {\n this.#sortService.selectItem(this.#sortItemId);\n }\n }\n\n public itemClicked(): void {\n if (this.#sortItemId) {\n this.#sortService.selectItem(this.#sortItemId);\n this.itemSelect.emit();\n }\n }\n\n public ngOnDestroy(): void {\n /* istanbul ignore else */\n /* sanity check */\n if (this.#subscription) {\n this.#subscription.unsubscribe();\n }\n }\n}\n","<ng-template #itemTemplate>\n <div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n >\n <button type=\"button\" (click)=\"itemClicked()\">\n <ng-content />\n </button>\n </div>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sky-sort-menu-heading',\n templateUrl: './sort-menu-heading.component.html',\n styleUrls: ['./sort-menu-heading.component.scss'],\n standalone: false,\n})\nexport class SkySortMenuHeadingComponent {}\n","<div\n class=\"sky-sort-menu-heading\"\n [skyThemeClass]=\"{\n 'sky-subsection-heading': 'default',\n 'sky-font-heading-4': 'modern'\n }\"\n>\n {{ 'skyux_sort_menu_heading' | skyLibResources }}\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n inject,\n} from '@angular/core';\nimport { SkyContentInfo, SkyContentInfoProvider } from '@skyux/core';\nimport { SkyDropdownMessage, SkyDropdownMessageType } from '@skyux/popovers';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkySortItemComponent } from './sort-item.component';\nimport { SkySortService } from './sort.service';\n\n@Component({\n selector: 'sky-sort',\n styleUrls: ['./sort.component.scss'],\n templateUrl: './sort.component.html',\n providers: [SkySortService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkySortComponent {\n /**\n * The ARIA label for the sort button. This sets the\n * sort button's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * Use a context-sensitive label, such as \"Sort constituents.\" Context is especially important when multiple filter buttons are in close proximity.\n * In toolbars, sort buttons use the `listDescriptor` to provide context, and the ARIA label defaults to \"Sort <listDescriptor>.\"\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether to display a \"Sort\" label beside the icon on the sort button.\n */\n @Input()\n public showButtonText: boolean | undefined = false;\n\n public dropdownController = new Subject<SkyDropdownMessage>();\n\n @ContentChildren(SkySortItemComponent, { descendants: true })\n public sortItems!: QueryList<SkySortItemComponent>;\n\n protected contentInfoObs: Observable<SkyContentInfo> | undefined;\n\n #contentInfoProvider = inject(SkyContentInfoProvider, { optional: true });\n\n constructor() {\n this.contentInfoObs = this.#contentInfoProvider?.getInfo();\n }\n\n public dropdownClicked(): void {\n this.dropdownController.next({\n type: SkyDropdownMessageType.Close,\n });\n }\n}\n","<div class=\"sky-sort\">\n <sky-dropdown\n buttonType=\"select\"\n [label]=\"\n ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_sort_aria_label_descriptor'\n | skyLibResources: (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_sort_button_label' | skyLibResources))\n \"\n [messageStream]=\"dropdownController\"\n [title]=\"'skyux_sort_button_label' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon iconName=\"arrow-sort\" />\n @if (showButtonText) {\n <span class=\"sky-sort-btn-text\">\n {{ 'skyux_sort_button_label' | skyLibResources }}\n </span>\n }\n </sky-dropdown-button>\n <sky-dropdown-menu\n ariaRole=\"menu\"\n [ariaLabelledBy]=\"sortMenuHeading.id\"\n (click)=\"dropdownClicked()\"\n >\n <sky-sort-menu-heading #sortMenuHeading=\"skyId\" skyId />\n <div *skyThemeIf=\"'default'\" class=\"sky-sort-heading-divider\"></div>\n @for (item of sortItems; track item) {\n <sky-dropdown-item>\n <ng-container [ngTemplateOutlet]=\"item.itemTemplate!\" />\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyDropdownModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkySortItemComponent } from './sort-item.component';\nimport { SkySortMenuHeadingComponent } from './sort-menu-heading.component';\nimport { SkySortComponent } from './sort.component';\n\n@NgModule({\n declarations: [\n SkySortComponent,\n SkySortItemComponent,\n SkySortMenuHeadingComponent,\n ],\n imports: [\n CommonModule,\n SkyDropdownModule,\n SkyIconModule,\n SkyIdModule,\n SkyListsResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkySortComponent, SkySortItemComponent],\n})\nexport class SkySortModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","observableFromEvent","i1.SkyInfiniteScrollDomAdapterService","i3","i4","i1.SkyRepeaterService","observableForkJoin","i2.SkyRepeaterAdapterService","i5","i7","i1.SkySortService","i6.SkySortMenuHeadingComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-lists.mjs","sources":["../../../../../libs/components/lists/src/lib/modules/shared/sky-lists-resources.module.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-button.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-button.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline-item.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline-item.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-inline.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary-item.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary-item.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary.component.ts","../../../../../libs/components/lists/src/lib/modules/filter/filter-summary.component.html","../../../../../libs/components/lists/src/lib/modules/filter/filter.module.ts","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll-dom-adapter.service.ts","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll.component.ts","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll.component.html","../../../../../libs/components/lists/src/lib/modules/infinite-scroll/infinite-scroll.module.ts","../../../../../libs/components/lists/src/lib/modules/paging/paging-content.component.ts","../../../../../libs/components/lists/src/lib/modules/paging/paging.component.ts","../../../../../libs/components/lists/src/lib/modules/paging/paging.component.html","../../../../../libs/components/lists/src/lib/modules/paging/paging.module.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-content.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-content.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-context-menu.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-context-menu.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-title.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item-title.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.service.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-adapter.service.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-item.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater-auto-scroll.service.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.component.ts","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.component.html","../../../../../libs/components/lists/src/lib/modules/repeater/repeater.module.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort.service.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort-item.component.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort-item.component.html","../../../../../libs/components/lists/src/lib/modules/sort/sort-menu-heading.component.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort-menu-heading.component.html","../../../../../libs/components/lists/src/lib/modules/sort/sort.component.ts","../../../../../libs/components/lists/src/lib/modules/sort/sort.component.html","../../../../../libs/components/lists/src/lib/modules/sort/sort.module.ts","../../../../../libs/components/lists/src/skyux-lists.ts"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-lists' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_filter_aria_label_descriptor: { message: 'Filter {0}' },\n skyux_filter_button_title: { message: 'Filter' },\n skyux_filter_summary_close: { message: 'Remove filter' },\n skyux_filter_summary_header: { message: 'Filter' },\n skyux_infinite_scroll_load_more_button: { message: 'Load more' },\n skyux_paging_label: { message: 'Pagination' },\n skyux_paging_loaded: { message: 'Page {0} loaded.' },\n skyux_paging_loading: { message: 'Loading page {0}' },\n skyux_paging_next: { message: 'Next' },\n skyux_paging_page_label: { message: 'Page {0} of {1}' },\n skyux_paging_page_link_aria_label: { message: 'Page {0}' },\n skyux_paging_previous: { message: 'Previous' },\n skyux_repeater_label: { message: 'List of items' },\n skyux_repeater_item_collapse: { message: 'Collapse {0}' },\n skyux_repeater_item_collapse_default: { message: 'Collapse' },\n skyux_repeater_item_expand: { message: 'Expand {0}' },\n skyux_repeater_item_expand_default: { message: 'Expand' },\n skyux_repeater_item_checkbox_label: { message: 'Select {0}' },\n skyux_repeater_item_checkbox_label_default: { message: 'Select row' },\n skyux_repeater_item_reorder_cancel: {\n message:\n 'Item reordering was canceled. The item was returned to its original position.',\n },\n skyux_repeater_item_reorder_finish: {\n message: 'Dropped the item in position',\n },\n skyux_repeater_item_reorder_instructions: {\n message:\n 'Item grabbed. Press the up and down arrow keys to change position. Press the spacebar or enter key to drop. And press the escape key to cancel.',\n },\n skyux_repeater_item_reorder_moved: {\n message: 'Moved the item to position',\n },\n skyux_repeater_item_reorder_label_default: { message: 'Reorder' },\n skyux_repeater_item_reorder_label: { message: 'Reorder {0}' },\n skyux_repeater_item_reorder_operation: {\n message: 'Press the spacebar or enter key to reorder.',\n },\n skyux_repeater_item_reorder_top: { message: 'Top' },\n skyux_repeater_item_reorder_top_label: { message: 'Move {0} to top' },\n skyux_repeater_item_reorder_top_label_default: { message: 'Move to top' },\n skyux_sort_aria_label_descriptor: { message: 'Sort {0}' },\n skyux_sort_button_label: { message: 'Sort' },\n skyux_sort_menu_heading: { message: 'Sort by' },\n },\n 'FR-CA': {\n skyux_filter_aria_label_descriptor: { message: 'Filtrer {0}' },\n skyux_filter_button_title: { message: 'Filtre' },\n skyux_filter_summary_close: { message: 'Retirer le filtre' },\n skyux_filter_summary_header: { message: 'Filtre' },\n skyux_infinite_scroll_load_more_button: { message: 'Charger encore' },\n skyux_paging_label: { message: 'Pagination' },\n skyux_paging_loaded: { message: 'Page {0} chargée.' },\n skyux_paging_loading: { message: 'Chargement de la page {0}' },\n skyux_paging_next: { message: 'Suivant' },\n skyux_paging_page_label: { message: 'Page {0} de {1}' },\n skyux_paging_page_link_aria_label: { message: 'Page {0}' },\n skyux_paging_previous: { message: 'Précédent' },\n skyux_repeater_label: { message: 'Liste des éléments' },\n skyux_repeater_item_collapse: { message: 'Réduire {0}' },\n skyux_repeater_item_collapse_default: { message: 'Réduire' },\n skyux_repeater_item_expand: { message: 'Agrandir {0}' },\n skyux_repeater_item_expand_default: { message: 'Agrandir' },\n skyux_repeater_item_checkbox_label: { message: 'Sélectionner {0}' },\n skyux_repeater_item_checkbox_label_default: {\n message: 'Sélectionner une ligne',\n },\n skyux_repeater_item_reorder_cancel: {\n message:\n 'La réorganisation de l’élément a été annulée. L’élément a été retourné à sa position initiale.',\n },\n skyux_repeater_item_reorder_finish: {\n message: 'A déposé l’élément en position',\n },\n skyux_repeater_item_reorder_instructions: {\n message:\n 'Élément saisi. Appuyez sur les flèches vers le haut et vers le bas pour modifier la position. Appuyez sur la touche Entrée ou Espace pour déposer. Et appuyez sur la touche d’échappement pour annuler.',\n },\n skyux_repeater_item_reorder_moved: {\n message: 'L’élément a été déplacé à la position',\n },\n skyux_repeater_item_reorder_label_default: { message: 'Réorganiser' },\n skyux_repeater_item_reorder_label: { message: 'Réorganiser {0}' },\n skyux_repeater_item_reorder_operation: {\n message: 'Appuyez sur la touche Espace ou Entrée pour réorganiser.',\n },\n skyux_repeater_item_reorder_top: { message: 'Haut' },\n skyux_repeater_item_reorder_top_label: {\n message: 'Déplacer {0} dans le haut',\n },\n skyux_repeater_item_reorder_top_label_default: {\n message: 'Déplacer au haut',\n },\n skyux_sort_aria_label_descriptor: { message: 'Trier {0}' },\n skyux_sort_button_label: { message: 'Trier' },\n skyux_sort_menu_heading: { message: 'Trier par' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyListsResourcesModule {}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n inject,\n} from '@angular/core';\nimport { SkyContentInfo, SkyContentInfoProvider } from '@skyux/core';\n\nimport { Observable } from 'rxjs';\n\nlet nextId = 0;\n\n@Component({\n selector: 'sky-filter-button',\n styleUrls: ['./filter-button.component.scss'],\n templateUrl: './filter-button.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFilterButtonComponent {\n /**\n * The ID for the filter button.\n */\n @Input()\n public get filterButtonId(): string {\n return this.#filterButtonIdOrDefault;\n }\n public set filterButtonId(value: string | undefined) {\n this.#filterButtonIdOrDefault = value || this.#defaultButtonId;\n }\n\n /**\n * The ID to identify the element that contains\n * the filtering options that the filter button exposes.\n * To support [accessibility rules for disclosures](https://www.w3.org/TR/wai-aria-practices-1.1/#disclosure),\n * this property is necessary to set the `aria-controls` attribute when using inline filters.\n * For more information about the `aria-controls` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-controls).\n */\n @Input()\n public ariaControls: string | undefined;\n\n /**\n * Whether the filtering options are exposed.\n * To support [accessibility rules for disclosures](https://www.w3.org/TR/wai-aria-practices-1.1/#disclosure),\n * this property is necessary to set the `aria-expanded` attribute when using inline filters.\n * For more information about the `aria-expanded` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-expanded).\n */\n @Input()\n public ariaExpanded: boolean | undefined = false;\n\n /**\n * The ARIA label for the filter button. This sets the\n * filter button's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * Use a context-sensitive label, such as \"Filter constituents.\" Context is especially important when multiple filter buttons are in close proximity.\n * In toolbars, filter buttons use the `listDescriptor` to provide context, and the ARIA label defaults to \"Filter <listDescriptor>.\"\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether to highlight the filter button to indicate that filters were applied.\n * We recommend setting this property to `true` when no indication of filtering is visible\n * to users. For example, set it to `true` if you do not display the filter summary.\n */\n @Input()\n public active: boolean | undefined = false;\n\n /**\n * Whether to disable the filter button.\n */\n @Input()\n public disabled: boolean | undefined = false;\n\n /**\n * Whether to display a \"Filter\" label beside the icon on the filter button.\n */\n @Input()\n public showButtonText: boolean | undefined = false;\n\n /**\n * Fires when the filter button is selected.\n */\n @Output()\n public filterButtonClick = new EventEmitter<void>();\n\n protected contentInfoObs: Observable<SkyContentInfo> | undefined;\n\n #contentInfoProvider = inject(SkyContentInfoProvider, { optional: true });\n\n constructor() {\n this.#filterButtonIdOrDefault =\n this.#defaultButtonId = `sky-filter-button-${++nextId}`;\n\n this.contentInfoObs = this.#contentInfoProvider?.getInfo();\n }\n\n #defaultButtonId: string;\n #filterButtonIdOrDefault: string;\n\n public filterButtonOnClick(): void {\n this.filterButtonClick.emit();\n }\n}\n","<button\n class=\"sky-btn sky-btn-default sky-filter-btn\"\n type=\"button\"\n [attr.aria-controls]=\"ariaControls\"\n [attr.aria-expanded]=\"ariaExpanded\"\n [attr.aria-label]=\"\n ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_filter_aria_label_descriptor'\n | skyLibResources: (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_filter_button_title' | skyLibResources))\n \"\n [attr.title]=\"'skyux_filter_button_title' | skyLibResources\"\n [disabled]=\"disabled\"\n [id]=\"filterButtonId\"\n [ngClass]=\"{\n 'sky-filter-btn-active': active\n }\"\n (click)=\"filterButtonOnClick()\"\n>\n <sky-icon iconName=\"filter\" />\n @if (showButtonText) {\n <span class=\"sky-filter-btn-text\">\n {{ 'skyux_filter_button_title' | skyLibResources }}\n </span>\n }\n</button>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies an inline filter.\n */\n@Component({\n selector: 'sky-filter-inline-item',\n styleUrls: ['./filter-inline-item.component.scss'],\n templateUrl: './filter-inline-item.component.html',\n standalone: false,\n})\nexport class SkyFilterInlineItemComponent {}\n","<div class=\"sky-filter-inline-item\">\n <ng-content />\n</div>\n","import { Component } from '@angular/core';\n\n/**\n * Specifies a wrapper for the inline filters.\n */\n@Component({\n selector: 'sky-filter-inline',\n styleUrls: ['./filter-inline.component.scss'],\n templateUrl: './filter-inline.component.html',\n standalone: false,\n})\nexport class SkyFilterInlineComponent {}\n","<div class=\"sky-filter-inline\">\n <ng-content />\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n} from '@angular/core';\nimport { SkyThemeComponentClassDirective } from '@skyux/theme';\n\n/**\n * Specifies a filter that was applied.\n */\n@Component({\n selector: 'sky-filter-summary-item',\n styleUrls: ['./filter-summary-item.component.scss'],\n templateUrl: './filter-summary-item.component.html',\n hostDirectives: [SkyThemeComponentClassDirective],\n\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFilterSummaryItemComponent {\n /**\n * Whether the filter summary item has a close button.\n */\n @Input()\n public get dismissible(): boolean {\n return this.#_dismissible;\n }\n\n public set dismissible(value: boolean | undefined) {\n this.#_dismissible = value !== false;\n }\n\n /**\n * Fires when the summary item close button is selected.\n */\n @Output()\n public dismiss = new EventEmitter<void>();\n\n /**\n * Fires when the summary item is selected.\n */\n @Output()\n public itemClick = new EventEmitter<void>();\n\n #_dismissible = true;\n\n public onItemDismiss(): void {\n this.dismiss.emit();\n }\n\n public onItemClick(): void {\n this.itemClick.emit();\n }\n\n public onItemKeypress(): void {\n this.itemClick.emit();\n }\n}\n","<div\n class=\"sky-filter-summary-item\"\n (click)=\"onItemClick()\"\n (keypress.enter)=\"onItemKeypress()\"\n>\n <sky-token\n [ariaLabel]=\"'skyux_filter_summary_close' | skyLibResources\"\n [dismissible]=\"dismissible\"\n (dismiss)=\"onItemDismiss()\"\n >\n <ng-content />\n </sky-token>\n</div>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Specifies a wrapper for the filters that were applied.\n */\n@Component({\n selector: 'sky-filter-summary',\n styleUrls: ['./filter-summary.component.scss'],\n templateUrl: './filter-summary.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyFilterSummaryComponent {}\n","<div class=\"sky-filter-summary\">\n <span class=\"sky-filter-summary-header\"\n >{{ 'skyux_filter_summary_header' | skyLibResources }}:</span\n >\n <div class=\"sky-filter-summary-items\">\n <ng-content />\n </div>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyTokensModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyFilterButtonComponent } from './filter-button.component';\nimport { SkyFilterInlineItemComponent } from './filter-inline-item.component';\nimport { SkyFilterInlineComponent } from './filter-inline.component';\nimport { SkyFilterSummaryItemComponent } from './filter-summary-item.component';\nimport { SkyFilterSummaryComponent } from './filter-summary.component';\n\n@NgModule({\n declarations: [\n SkyFilterButtonComponent,\n SkyFilterInlineComponent,\n SkyFilterInlineItemComponent,\n SkyFilterSummaryComponent,\n SkyFilterSummaryItemComponent,\n ],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyListsResourcesModule,\n SkyTokensModule,\n SkyThemeModule,\n ],\n exports: [\n SkyFilterButtonComponent,\n SkyFilterInlineComponent,\n SkyFilterInlineItemComponent,\n SkyFilterSummaryComponent,\n SkyFilterSummaryItemComponent,\n ],\n})\nexport class SkyFilterModule {}\n","import { ElementRef, Injectable, OnDestroy } from '@angular/core';\nimport { SkyAppWindowRef, SkyScrollableHostService } from '@skyux/core';\n\nimport { Observable, Subject, fromEvent as observableFromEvent } from 'rxjs';\nimport { filter, map, takeUntil } from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyInfiniteScrollDomAdapterService implements OnDestroy {\n #ngUnsubscribe = new Subject<void>();\n #observer: MutationObserver | undefined;\n #parentChanges: Subject<void>;\n #parentChangesObs: Observable<void>;\n #scrollableHostSvc: SkyScrollableHostService;\n #windowRef: SkyAppWindowRef;\n\n constructor(\n scrollableHostSvc: SkyScrollableHostService,\n windowRef: SkyAppWindowRef,\n ) {\n this.#scrollableHostSvc = scrollableHostSvc;\n this.#windowRef = windowRef;\n\n this.#parentChanges = new Subject<void>();\n this.#parentChangesObs = this.#parentChanges.asObservable();\n }\n\n public ngOnDestroy(): void {\n this.#parentChanges.complete();\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n /**\n * This event is triggered when child nodes are added to the infinite\n * scroll parent container. e.g., A repeating list of elements was added.\n * @param elementRef The infinite scroll element reference.\n */\n public parentChanges(elementRef: ElementRef): Observable<void> {\n this.#createObserver(elementRef);\n return this.#parentChangesObs;\n }\n\n /**\n * This event is triggered when the provided element reference\n * is visible (or scrolled to) within its scrollable parent container.\n * @param elementRef The infinite scroll element reference.\n */\n public scrollTo(elementRef: ElementRef): Observable<void> {\n const parent = this.#scrollableHostSvc.getScrollableHost(elementRef);\n\n return observableFromEvent(parent, 'scroll').pipe(\n takeUntil(this.#ngUnsubscribe),\n filter(() => {\n return this.#isElementScrolledInView(elementRef.nativeElement, parent);\n }),\n map(() => undefined), // Change to void return type\n );\n }\n\n #createObserver(elementRef: ElementRef): void {\n this.#observer = new MutationObserver((mutations: MutationRecord[]) => {\n const hasUpdates = !!mutations.find((mutation) => {\n return (\n !elementRef.nativeElement.contains(mutation.target) &&\n mutation.addedNodes.length > 0\n );\n });\n\n if (hasUpdates) {\n this.#parentChanges.next();\n }\n });\n\n const windowObj = this.#windowRef.nativeWindow;\n const parent = this.#scrollableHostSvc.getScrollableHost(elementRef);\n const observedParent =\n parent === windowObj ? windowObj.document.body : parent;\n\n this.#observer.observe(observedParent, {\n childList: true,\n subtree: true,\n });\n }\n\n #isElementScrolledInView(\n element: HTMLElement,\n parentElement: HTMLElement | Window,\n ): boolean {\n const windowObj = this.#windowRef.nativeWindow as Window;\n\n if (parentElement === windowObj) {\n return (\n parentElement.pageYOffset + parentElement.innerHeight >\n element.offsetTop\n );\n }\n\n const elementRect = element.getBoundingClientRect();\n const parentRect = (parentElement as HTMLElement).getBoundingClientRect();\n\n return elementRect.top < parentRect.top + parentRect.height;\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyInfiniteScrollDomAdapterService } from './infinite-scroll-dom-adapter.service';\n\n@Component({\n selector: 'sky-infinite-scroll',\n templateUrl: './infinite-scroll.component.html',\n styleUrls: ['./infinite-scroll.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [SkyInfiniteScrollDomAdapterService],\n standalone: false,\n})\nexport class SkyInfiniteScrollComponent implements OnDestroy {\n /**\n * Whether to make the infinite scroll component active when more data is available\n * to load. By default, infinite scroll is inactive and does not call the load function.\n * @default false\n */\n @Input()\n public get enabled(): boolean | undefined {\n return this.#_enabled;\n }\n public set enabled(value: boolean | undefined) {\n if (this.#_enabled !== value) {\n this.#_enabled = value;\n this.#setListeners();\n }\n }\n\n /**\n * Whether data is loading because of a `scrollEnd` event. Setting the property\n * to `true` disables new `scrollEnd` events from firing until it changes to `false`. If this\n * property is not specified, the infinite scroll component watches the DOM for changes\n * and fires `scrollEnd` events when changes occur on its parent DOM element. Relying\n * on this default behavior could fire an excessive number of `scrollEnd` events\n * if the DOM changes are not related to loading data, so we strongly recommend using this\n * property to explicitly set the infinite scroll's loading state.\n * @required\n */\n @Input()\n public get loading(): boolean | undefined {\n return this.#_loading;\n }\n\n public set loading(value: boolean | undefined) {\n this.#_loading = value;\n\n if (value !== undefined) {\n this.isWaiting = value;\n }\n }\n\n /**\n * Fires when scrolling triggers the need to load more data or when users select the button\n * to load more data. This event only fires when the `enabled` property is set to `true`\n * and data is not already loading.\n */\n @Output()\n public scrollEnd = new EventEmitter<void>();\n\n public isWaiting = false;\n\n #changeDetector: ChangeDetectorRef;\n #domAdapter: SkyInfiniteScrollDomAdapterService;\n #elementRef: ElementRef;\n #ngUnsubscribe = new Subject<void>();\n #_enabled: boolean | undefined = false;\n #_loading: boolean | undefined;\n\n constructor(\n changeDetector: ChangeDetectorRef,\n elementRef: ElementRef,\n domAdapter: SkyInfiniteScrollDomAdapterService,\n ) {\n this.#changeDetector = changeDetector;\n this.#elementRef = elementRef;\n this.#domAdapter = domAdapter;\n }\n\n public ngOnDestroy(): void {\n this.enabled = false;\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n }\n\n public startInfiniteScrollLoad(): void {\n this.#notifyScrollEnd();\n }\n\n #notifyScrollEnd(): void {\n this.isWaiting = true;\n this.scrollEnd.emit();\n this.#changeDetector.markForCheck();\n }\n\n #setListeners(): void {\n if (this.enabled) {\n // The user has scrolled to the infinite scroll element.\n this.#domAdapter\n .scrollTo(this.#elementRef)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (!this.isWaiting && this.enabled) {\n this.#notifyScrollEnd();\n }\n });\n\n // New items have been loaded into the parent element.\n this.#domAdapter\n .parentChanges(this.#elementRef)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n if (!this.loading) {\n this.isWaiting = false;\n this.#changeDetector.markForCheck();\n }\n });\n } else {\n this.#ngUnsubscribe.next();\n }\n }\n}\n","@if (enabled) {\n <div class=\"sky-infinite-scroll\">\n @if (!isWaiting) {\n <button\n class=\"sky-btn sky-btn-default sky-infinite-scroll-load-more-button\"\n type=\"button\"\n (click)=\"startInfiniteScrollLoad()\"\n >\n {{ 'skyux_infinite_scroll_load_more_button' | skyLibResources }}\n </button>\n } @else {\n <sky-wait [isWaiting]=\"true\" />\n }\n </div>\n}\n","import { NgModule } from '@angular/core';\nimport { SkyWaitModule } from '@skyux/indicators';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyInfiniteScrollComponent } from './infinite-scroll.component';\n\n@NgModule({\n declarations: [SkyInfiniteScrollComponent],\n imports: [SkyListsResourcesModule, SkyWaitModule],\n exports: [SkyInfiniteScrollComponent],\n})\nexport class SkyInfiniteScrollModule {}\n","import { Component } from '@angular/core';\n\n@Component({\n standalone: true,\n selector: 'sky-paging-content',\n template: `<ng-content />`,\n})\nexport class SkyPagingContentComponent {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyPagingContentChangeArgs } from './types/paging-content-change-args';\n\n@Component({\n selector: 'sky-paging',\n templateUrl: './paging.component.html',\n styleUrls: ['./paging.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyPagingComponent implements OnChanges {\n /**\n * The page number of the current page. Page numbers start at 1 and increment.\n */\n @Input()\n public currentPage = 1;\n\n /**\n * The total number of items across all pages.\n */\n @Input()\n public itemCount = 0;\n\n /**\n * The maximum number of pages to display in the pagination control.\n */\n @Input()\n public maxPages = 5;\n\n /**\n * The number of items to display per page.\n */\n @Input()\n public pageSize = 10;\n\n /**\n * The label for the pagination control when an application includes\n * multiple paging components on the same page. The label should be unique and descriptive\n * to help users of assistive technology differentiate pagination controls\n * and understand what each one does.\n * @default \"Pagination\"\n */\n @Input()\n public pagingLabel: string | undefined;\n\n /**\n * Fires when the current page changes and emits the new current page.\n */\n @Output()\n public currentPageChange = new EventEmitter<number>();\n\n /**\n * Fires when the current page changes and emits the new current page with a function\n * to call when loading the new page completes. Handling this event will display the\n * wait component until the callback function is called, and focus will move to the top\n * of the list for keyboard navigation if the list contents are placed inside the\n * sky-paging-content element.\n */\n @Output()\n public contentChange = new EventEmitter<SkyPagingContentChangeArgs>();\n\n @ViewChild('contentWrapper', { read: ElementRef })\n public contentWrapper: ElementRef | undefined;\n\n public displayedPages: number[] = [];\n\n public pageCount = 0;\n\n protected isLoading = new BehaviorSubject(false);\n\n public ngOnChanges(changes: SimpleChanges): void {\n this.setPage(this.currentPage, changes['currentPage']?.isFirstChange());\n }\n\n public setPage(pageNumber: number, forceContentChange?: boolean): void {\n const previousPage = this.currentPage;\n\n this.#setPageCount();\n\n if (pageNumber < 1 || this.pageCount < 1) {\n this.currentPage = 1;\n } else if (pageNumber > this.pageCount) {\n this.currentPage = this.pageCount;\n } else {\n this.currentPage = pageNumber;\n }\n\n this.#setDisplayedPages();\n\n let doContentChange = forceContentChange;\n\n if (previousPage !== this.currentPage) {\n this.currentPageChange.emit(this.currentPage);\n doContentChange = true;\n }\n\n if (doContentChange && this.contentChange.observed) {\n this.#moveFocusToTop();\n this.isLoading.next(true);\n\n this.contentChange.emit({\n currentPage: this.currentPage,\n loadingComplete: () => this.isLoading.next(false),\n });\n }\n }\n\n public nextPage(): void {\n this.setPage(this.currentPage + 1);\n }\n\n public previousPage(): void {\n this.setPage(this.currentPage - 1);\n }\n\n public get isPreviousButtonDisabled(): boolean {\n return this.currentPage === 1;\n }\n\n public get isNextButtonDisabled(): boolean {\n return this.currentPage === this.pageCount;\n }\n\n #getDisplayedPageNumbers(\n pageCount: number,\n maxDisplayedPages: number,\n pageNumber: number,\n ): number[] {\n const pageIndex = pageNumber - 1;\n const pageBounds = Math.floor(maxDisplayedPages / 2);\n\n let upperBound = pageIndex + pageBounds;\n let lowerBound = pageIndex - pageBounds;\n if (maxDisplayedPages % 2 !== 0) {\n upperBound += 1;\n }\n\n // Wrap negative values to increase the upper bound\n if (lowerBound < 0) {\n upperBound -= lowerBound;\n lowerBound = 0;\n }\n // Wrap overflow to decrease the lower bound\n if (upperBound > pageCount) {\n lowerBound -= upperBound - pageCount;\n upperBound = pageCount;\n }\n\n // If both are the same ignore everything else and just display it all\n if (pageCount < maxDisplayedPages) {\n lowerBound = 0;\n upperBound = pageCount;\n }\n\n const displayedPageNumbers: number[] = [];\n for (let i = lowerBound; i < upperBound; i++) {\n displayedPageNumbers.push(i + 1);\n }\n return displayedPageNumbers;\n }\n\n #setPageCount(): void {\n if (this.itemCount === 0 || this.pageSize === 0) {\n this.pageCount = 0;\n return;\n }\n\n this.pageCount = Math.ceil(this.itemCount / this.pageSize);\n }\n\n #setDisplayedPages(): void {\n this.displayedPages = this.#getDisplayedPageNumbers(\n this.pageCount,\n this.maxPages,\n this.currentPage,\n );\n }\n\n #moveFocusToTop(): void {\n this.contentWrapper?.nativeElement.focus();\n }\n}\n","<sky-wait\n [ariaLabel]=\"\n 'skyux_paging_loading' | skyLibResources: currentPage : pageCount\n \"\n [isWaiting]=\"!!(isLoading | async)\"\n [screenReaderCompletedText]=\"\n 'skyux_paging_loaded' | skyLibResources: currentPage\n \"\n/>\n<div\n #contentWrapper\n class=\"sky-paging-content-wrapper\"\n role=\"group\"\n tabindex=\"-1\"\n [attr.aria-label]=\"\n 'skyux_paging_page_label' | skyLibResources: currentPage : pageCount\n \"\n>\n <ng-content select=\"sky-paging-content\" />\n</div>\n@if (pageCount > 1) {\n <nav\n class=\"sky-paging\"\n [attr.aria-label]=\"pagingLabel || ('skyux_paging_label' | skyLibResources)\"\n >\n <ul>\n <li>\n <button\n class=\"sky-btn sky-btn-borderless sky-paging-btn sky-paging-btn-previous sky-box\"\n sky-cmp-id=\"previous\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_previous' | skyLibResources\"\n [disabled]=\"isPreviousButtonDisabled\"\n (click)=\"previousPage()\"\n >\n <sky-icon iconName=\"chevron-left\" />\n </button>\n </li>\n @for (pageNumber of displayedPages; track pageNumber) {\n <li class=\"sky-list-paging-link\">\n <button\n class=\"sky-btn sky-btn-borderless sky-paging-btn sky-box\"\n type=\"button\"\n [attr.aria-current]=\"currentPage === pageNumber ? 'page' : null\"\n [attr.sky-cmp-id]=\"pageNumber\"\n [attr.aria-label]=\"\n 'skyux_paging_page_link_aria_label' | skyLibResources: pageNumber\n \"\n [disabled]=\"currentPage === pageNumber\"\n [ngClass]=\"{ 'sky-paging-current': currentPage === pageNumber }\"\n (click)=\"setPage(pageNumber)\"\n >\n {{ pageNumber }}\n </button>\n </li>\n }\n <li>\n <button\n class=\"sky-btn sky-btn-borderless sky-paging-btn sky-paging-btn-next sky-box\"\n sky-cmp-id=\"next\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_paging_next' | skyLibResources\"\n [disabled]=\"isNextButtonDisabled\"\n (click)=\"nextPage()\"\n >\n <sky-icon iconName=\"chevron-right\" />\n </button>\n </li>\n </ul>\n </nav>\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyWaitModule } from '@skyux/indicators';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyPagingContentComponent } from './paging-content.component';\nimport { SkyPagingComponent } from './paging.component';\n\n@NgModule({\n declarations: [SkyPagingComponent],\n imports: [\n CommonModule,\n SkyIconModule,\n SkyListsResourcesModule,\n SkyPagingContentComponent,\n SkyThemeModule,\n SkyWaitModule,\n ],\n exports: [SkyPagingComponent, SkyPagingContentComponent],\n})\nexport class SkyPagingModule {}\n","import { Component } from '@angular/core';\n\n/**\n * Displays content text when the repeater is expanded.\n */\n@Component({\n selector: 'sky-repeater-item-content',\n templateUrl: './repeater-item-content.component.html',\n standalone: false,\n})\nexport class SkyRepeaterItemContentComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Wraps and styles a\n * [`skyux-dropdown` component](https://developer.blackbaud.com/skyux-popovers/docs/dropdown).\n */\n@Component({\n selector: 'sky-repeater-item-context-menu',\n templateUrl: './repeater-item-context-menu.component.html',\n standalone: false,\n})\n/* istanbul ignore next */\n/* Code coverage having problems with no statements in classes */\nexport class SkyRepeaterItemContextMenuComponent {}\n","<ng-content />\n","import { Component } from '@angular/core';\n\n/**\n * Displays a header inside the repeater item.\n */\n@Component({\n selector: 'sky-repeater-item-title',\n templateUrl: './repeater-item-title.component.html',\n standalone: false,\n})\nexport class SkyRepeaterItemTitleComponent {}\n","<ng-content />\n","import { EventEmitter, Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyRepeaterExpandModeType } from './repeater-expand-mode-type';\nimport { SkyRepeaterItemRolesType } from './repeater-item-roles.type';\nimport { SkyRepeaterItemComponent } from './repeater-item.component';\n\nlet uniqueId = 0;\nconst DEFAULT_EXPAND_MODE: SkyRepeaterExpandModeType = 'none';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyRepeaterService implements OnDestroy {\n public activeItemChange = new BehaviorSubject<\n SkyRepeaterItemComponent | undefined\n >(undefined);\n\n public activeItemIndexChange = new BehaviorSubject<number | undefined>(\n undefined,\n );\n\n public enableActiveState = false;\n\n // TODO: Remove 'string' as a valid type in a breaking change.\n public get expandMode(): SkyRepeaterExpandModeType {\n return this.#_expandMode;\n }\n public set expandMode(value: SkyRepeaterExpandModeType | undefined) {\n this.#_expandMode = value ?? DEFAULT_EXPAND_MODE;\n }\n\n public itemCollapseStateChange = new EventEmitter<SkyRepeaterItemComponent>();\n\n public items: SkyRepeaterItemComponent[] = [];\n\n public readonly itemRole = new BehaviorSubject<SkyRepeaterItemRolesType>({\n content: undefined,\n item: undefined,\n title: undefined,\n });\n\n public orderChange = new BehaviorSubject<void>(undefined);\n\n public repeaterGroupId = ++uniqueId;\n\n #_expandMode = DEFAULT_EXPAND_MODE;\n\n public ngOnDestroy(): void {\n this.activeItemChange.complete();\n this.itemCollapseStateChange.complete();\n this.orderChange.complete();\n }\n\n public activateItem(item: SkyRepeaterItemComponent): void {\n if (this.enableActiveState) {\n /* istanbul ignore else */\n if (item && !item.disabled) {\n const index = this.items.findIndex((i) => i === item);\n this.activeItemIndexChange.next(index);\n this.activeItemChange.next(item);\n }\n }\n }\n\n public activateItemByIndex(index: number | undefined): void {\n /* istanbul ignore else */\n if (this.enableActiveState) {\n if (index === undefined) {\n this.activeItemChange.next(undefined);\n } else {\n const activeItem = this.items[index];\n if (activeItem && !activeItem.disabled) {\n this.activeItemChange.next(activeItem);\n }\n }\n }\n }\n\n public registerItem(item: SkyRepeaterItemComponent): void {\n this.items.push(item);\n }\n\n public unregisterItem(item: SkyRepeaterItemComponent): void {\n const indexOfDestroyedItem = this.items.indexOf(item);\n if (indexOfDestroyedItem > -1) {\n this.items.splice(indexOfDestroyedItem, 1);\n }\n }\n\n public onItemCollapseStateChange(item: SkyRepeaterItemComponent): void {\n this.itemCollapseStateChange.emit(item);\n }\n\n public registerOrderChange(): void {\n this.orderChange.next();\n }\n\n public reorderItem(oldIndex: number, newIndex: number): void {\n this.items.splice(newIndex, 0, this.items.splice(oldIndex, 1)[0]);\n }\n}\n","import { ElementRef, Injectable } from '@angular/core';\n\nimport { SkyRepeaterService } from './repeater.service';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyRepeaterAdapterService {\n get #repeaterItemGroupSelector(): string {\n return '.sky-repeater-item-group-' + this.#repeaterService.repeaterGroupId;\n }\n\n #host: ElementRef | undefined;\n #repeaterService: SkyRepeaterService;\n\n constructor(repeaterService: SkyRepeaterService) {\n this.#repeaterService = repeaterService;\n }\n\n public focusElement(element: ElementRef | HTMLElement | undefined): void {\n if (element) {\n if (element instanceof ElementRef) {\n element.nativeElement.focus();\n } else {\n element.focus();\n }\n }\n }\n\n public setRepeaterHost(hostRef: ElementRef): void {\n this.#host = hostRef;\n }\n\n public getRepeaterItemIndex(element: HTMLElement): number {\n return this.#getRepeaterItemArray().indexOf(element);\n }\n\n public moveItemUp(\n element: HTMLElement,\n top = false,\n steps = 1,\n ): number | undefined {\n const index = this.getRepeaterItemIndex(element);\n\n if (index === 0) {\n return;\n }\n\n let newIndex = index - steps;\n\n if (top || newIndex < 0) {\n newIndex = 0;\n }\n\n return this.#moveItem(element, index, newIndex);\n }\n\n public moveItemDown(element: HTMLElement, steps = 1): number | undefined {\n const itemArray = this.#getRepeaterItemArray();\n const index = this.getRepeaterItemIndex(element);\n\n if (index === itemArray.length - steps) {\n return;\n }\n\n const newIndex = index + steps;\n\n return this.#moveItem(element, index, newIndex);\n }\n\n #moveItem(element: HTMLElement, oldIndex: number, newIndex: number): number {\n /* istanbul ignore else */\n if (this.#host) {\n const repeaterDiv: HTMLElement =\n this.#host.nativeElement.querySelector('.sky-repeater');\n\n repeaterDiv.removeChild(element);\n const nextSibling = repeaterDiv.querySelectorAll(\n this.#repeaterItemGroupSelector,\n )[newIndex];\n\n repeaterDiv.insertBefore(element, nextSibling);\n this.#repeaterService.reorderItem(oldIndex, newIndex);\n }\n\n return newIndex;\n }\n\n /**\n * Returns an array of the immediate repeater item descendants. Excludes nested repeater items.\n */\n #getRepeaterItemArray(): any[] {\n return Array.from(\n this.#host?.nativeElement.querySelectorAll(\n this.#repeaterItemGroupSelector,\n ),\n );\n }\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { skyAnimationSlide } from '@skyux/animations';\nimport { SkyContentInfoProvider, SkyIdService } from '@skyux/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport {\n SkyInlineFormCloseArgs,\n SkyInlineFormConfig,\n} from '@skyux/inline-form';\n\nimport { Observable, Subject, forkJoin as observableForkJoin } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyRepeaterAdapterService } from './repeater-adapter.service';\nimport { SkyRepeaterItemContentComponent } from './repeater-item-content.component';\nimport { SkyRepeaterItemContextMenuComponent } from './repeater-item-context-menu.component';\nimport { SkyRepeaterItemRolesType } from './repeater-item-roles.type';\nimport { SkyRepeaterItemTitleComponent } from './repeater-item-title.component';\nimport { SkyRepeaterService } from './repeater.service';\n\nlet nextContentId = 0;\n\n/**\n * Creates an individual repeater item.\n */\n@Component({\n selector: 'sky-repeater-item',\n styleUrls: ['./repeater-item.component.scss'],\n templateUrl: './repeater-item.component.html',\n animations: [skyAnimationSlide],\n providers: [SkyContentInfoProvider],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkyRepeaterItemComponent\n implements OnDestroy, OnInit, AfterViewInit\n{\n /**\n * Make the first, non-disabled item tab-focusable.\n * - Disabled items should not be focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#kbd_disabled_controls).\n * - One item per list/grid/listbox should be tab focusable per [W3C](https://www.w3.org/TR/wai-aria-practices-1.1/#grid).\n */\n public get tabindex(): 0 | -1 {\n return this.#repeaterService.items.filter((item) => !item.disabled)[0] ===\n this\n ? 0\n : -1;\n }\n\n /**\n * Whether to exclude an item when cycling through.\n */\n @Input()\n public set disabled(value: boolean | undefined) {\n if (this.#_isDisabled !== value) {\n if (value) {\n this.isSelected = false;\n this.#_isDisabled = true;\n } else {\n this.#_isDisabled = false;\n }\n if (this.isActive) {\n this.#repeaterService.activateItemByIndex(undefined);\n }\n if (this.#elementRef.nativeElement.matches(':focus-within')) {\n this.#elementRef.nativeElement.ownerDocument.activeElement.blur();\n }\n this.#changeDetector.markForCheck();\n }\n }\n public get disabled(): boolean | undefined {\n return this.#_isDisabled;\n }\n\n /**\n * The human-readable name for the repeater item that is available for multiple purposes,\n * such as accessibility and instrumentation. For example, the component uses the name to\n * construct ARIA labels for the repeater item controls\n * to [support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * If not specified, the repeater item's title will be used for this value.\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public set itemName(value: string | undefined) {\n this.#_itemName = value;\n this.#updateContentInfo();\n }\n\n public get itemName(): string | undefined {\n return this.#_itemName;\n }\n\n /**\n * Configuration options for the buttons to display on an inline form\n * within the repeater. This property accepts\n * [a `SkyInlineFormConfig` object](https://developer.blackbaud.com/skyux/components/inline-form#skyinlineformconfig-properties).\n */\n @Input()\n public inlineFormConfig: SkyInlineFormConfig | undefined;\n\n /**\n * Specifies [an Angular `TemplateRef`](https://angular.io/api/core/TemplateRef) to use\n * as a template to instantiate an inline form within the repeater.\n */\n @Input()\n public inlineFormTemplate: TemplateRef<unknown> | undefined;\n\n /**\n * Whether the repeater item is expanded.\n * @default true\n */\n @Input()\n public set isExpanded(value: boolean | undefined) {\n this.updateForExpanded(value !== false, true);\n }\n\n public get isExpanded(): boolean {\n return this.#isExpanded;\n }\n\n /**\n * Whether the repeater item's checkbox is selected.\n * When users select the repeater item, the specified property on your model is updated accordingly.\n * @default false\n */\n @Input()\n public set isSelected(value: boolean | undefined) {\n if (!this.disabled && value !== this.#_isSelected) {\n this.#_isSelected = value;\n this.isSelectedChange.emit(this.#_isSelected);\n }\n }\n\n public get isSelected(): boolean | undefined {\n return this.#_isSelected;\n }\n\n /**\n * Whether users can change the order of the repeater item.\n * The repeater component's `reorderable` property must also be set to `true`.\n * @internal\n */\n @Input()\n public reorderable: boolean | undefined = false;\n\n /**\n * Whether to display a checkbox in the left of the repeater item.\n */\n @Input()\n public selectable: boolean | undefined = false;\n\n /**\n * Whether to display an inline form within the repeater.\n * Users can toggle between displaying and hiding the inline form.\n */\n @Input()\n public showInlineForm: boolean | undefined = false;\n\n /**\n * The object that the repeater component returns for this repeater item\n * when the `orderChange` event fires. This is required\n * if you set the `reorderable` property to `true`.\n */\n @Input()\n public tag: any;\n\n /**\n * Fires when users collapse the repeater item.\n */\n @Output()\n public collapse = new EventEmitter<void>();\n\n /**\n * Fires when users expand the repeater item.\n */\n @Output()\n public expand = new EventEmitter<void>();\n\n /**\n * Fires when the repeater includes an inline form and users close it. This event emits\n * [a `SkyInlineFormCloseArgs` type](https://developer.blackbaud.com/skyux/components/inline-form#skyinlineformcloseargs-properties).\n */\n @Output()\n public inlineFormClose = new EventEmitter<SkyInlineFormCloseArgs>();\n\n /**\n * Fires when users select or clear the checkbox for the repeater item.\n */\n @Output()\n public isSelectedChange = new EventEmitter<boolean>();\n\n @ContentChild(SkyRepeaterItemContextMenuComponent, { read: ElementRef })\n public contextMenu: ElementRef | undefined;\n\n public contentId: string;\n\n public hasItemContent = false;\n\n public isActive = false;\n\n public set isCollapsible(value: boolean | undefined) {\n if (this.isCollapsible !== value) {\n this.#_isCollapsible = value !== false;\n\n /*istanbul ignore else */\n if (!this.#_isCollapsible) {\n this.updateForExpanded(true, true);\n }\n }\n\n this.#changeDetector.markForCheck();\n }\n\n public get isCollapsible(): boolean {\n return this.#_isCollapsible;\n }\n\n public itemRole$: Observable<SkyRepeaterItemRolesType>;\n\n public reorderButtonLabel = '';\n\n public reorderState: string | undefined;\n\n public slideDirection: string | undefined;\n\n public animationDisabled = false;\n\n @HostBinding('class')\n public get repeaterGroupClass(): string {\n return 'sky-repeater-item-group-' + this.#repeaterService.repeaterGroupId;\n }\n\n @ViewChild('grabHandle', { read: ElementRef })\n public grabHandle: ElementRef | undefined;\n\n @ViewChild('itemContentRef', { read: ElementRef })\n public itemContentRef: ElementRef | undefined;\n\n @ViewChild('itemHeaderRef', { read: ElementRef })\n public itemHeaderRef: ElementRef | undefined;\n\n @ViewChild('itemRef', { read: ElementRef })\n public itemRef: ElementRef | undefined;\n\n @ContentChild(SkyRepeaterItemTitleComponent, { read: ElementRef })\n public set titleComponent(value: ElementRef | undefined) {\n this.#titleComponent = value;\n this.#updateContentInfo();\n }\n\n @ContentChildren(SkyRepeaterItemContentComponent)\n public repeaterItemContentComponents:\n | QueryList<SkyRepeaterItemContentComponent>\n | undefined;\n\n protected titleId: string | undefined;\n\n #adapterService: SkyRepeaterAdapterService;\n #changeDetector: ChangeDetectorRef;\n #contentInfoProvider = inject(SkyContentInfoProvider);\n #elementRef: ElementRef;\n #isExpanded = true;\n #keyboardReorderingEnabled = false;\n #ngUnsubscribe = new Subject<void>();\n #reorderCancelText = '';\n #reorderCurrentIndex = -1;\n #reorderFinishText = '';\n #reorderInstructions = '';\n #reorderMovedText = '';\n #reorderStateDescription = '';\n #reorderSteps = 0;\n #repeaterService: SkyRepeaterService;\n #resourceService: SkyLibResourcesService;\n #titleComponent: ElementRef | undefined;\n #_isCollapsible = true;\n #_isDisabled: boolean | undefined = false;\n #_isSelected: boolean | undefined;\n #_itemName: string | undefined;\n\n readonly #idSvc = inject(SkyIdService);\n\n constructor(\n repeaterService: SkyRepeaterService,\n changeDetector: ChangeDetectorRef,\n adapterService: SkyRepeaterAdapterService,\n elementRef: ElementRef,\n resourceService: SkyLibResourcesService,\n ) {\n this.#repeaterService = repeaterService;\n this.#changeDetector = changeDetector;\n this.#adapterService = adapterService;\n this.#elementRef = elementRef;\n this.#resourceService = resourceService;\n\n this.#slideForExpanded(false);\n\n observableForkJoin([\n this.#resourceService.getString('skyux_repeater_item_reorder_cancel'),\n this.#resourceService.getString('skyux_repeater_item_reorder_finish'),\n this.#resourceService.getString(\n 'skyux_repeater_item_reorder_instructions',\n ),\n this.#resourceService.getString('skyux_repeater_item_reorder_operation'),\n this.#resourceService.getString('skyux_repeater_item_reorder_moved'),\n ])\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(\n ([\n reorderCancelText,\n reorderFinishText,\n reorderInstructionsText,\n reorderOperationText,\n reorderMovedText,\n ]) => {\n this.#reorderCancelText = reorderCancelText;\n this.#reorderFinishText = reorderFinishText;\n this.#reorderStateDescription = reorderInstructionsText;\n this.#reorderInstructions = reorderOperationText;\n this.#reorderMovedText = reorderMovedText;\n this.reorderButtonLabel = this.#reorderInstructions;\n },\n );\n this.contentId = `sky-repeater-item-content-${++nextContentId}`;\n this.itemRole$ = this.#repeaterService.itemRole.asObservable();\n }\n\n public ngOnInit(): void {\n this.#repeaterService.registerItem(this);\n this.#repeaterService.activeItemChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((item) => {\n const newIsActiveValue = this === item;\n if (newIsActiveValue !== this.isActive) {\n this.isActive = newIsActiveValue;\n this.#changeDetector.markForCheck();\n }\n });\n }\n\n public ngAfterViewInit(): void {\n this.hasItemContent = !!this.repeaterItemContentComponents?.length;\n this.#updateExpandOnContentChange();\n }\n\n public ngOnDestroy(): void {\n this.collapse.complete();\n this.expand.complete();\n this.inlineFormClose.complete();\n this.isSelectedChange.complete();\n\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n\n this.#repeaterService.unregisterItem(this);\n }\n\n @HostListener('keydown', ['$event'])\n public onKeydown($event: KeyboardEvent): void {\n if (\n [' ', 'Enter', 'Home', 'End', 'ArrowUp', 'ArrowDown'].includes($event.key)\n ) {\n if (\n ($event.target as HTMLElement).matches(\n 'input, textarea, select, option, [contenteditable], [contenteditable] *',\n )\n ) {\n return;\n }\n $event.preventDefault();\n $event.stopPropagation();\n let activateItem: SkyRepeaterItemComponent | undefined = undefined;\n /* istanbul ignore else */\n if ([' ', 'Enter'].includes($event.key)) {\n if (this.selectable) {\n this.isSelected = !this.isSelected;\n }\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n activateItem = this;\n }\n /* istanbul ignore else */\n if (['Home', 'End'].includes($event.key)) {\n const items = this.#repeaterService.items.filter(\n (item) => !item.disabled,\n );\n if ($event.key === 'Home') {\n activateItem = items.shift();\n } else {\n activateItem = items.pop();\n }\n }\n /* istanbul ignore else */\n if (['ArrowUp', 'ArrowDown'].includes($event.key)) {\n const currentIndex = this.#repeaterService.items.findIndex(\n (item) => item === this,\n );\n let sliceFrom: number;\n let sliceTo: number | undefined;\n if ($event.key === 'ArrowUp') {\n sliceFrom = 0;\n sliceTo = currentIndex;\n } else {\n sliceFrom = currentIndex + 1;\n sliceTo = undefined;\n }\n const items = this.#repeaterService.items\n .slice(sliceFrom, sliceTo)\n .filter((item) => !item.disabled);\n activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();\n if (!activateItem) {\n // Wrap around.\n if ($event.key === 'ArrowDown') {\n sliceFrom = 0;\n sliceTo = currentIndex;\n } else {\n sliceFrom = currentIndex + 1;\n sliceTo = undefined;\n }\n const items = this.#repeaterService.items\n .slice(sliceFrom, sliceTo)\n .filter((item) => !item.disabled);\n activateItem = $event.key === 'ArrowUp' ? items.pop() : items.shift();\n }\n }\n /* istanbul ignore else */\n if (activateItem && !activateItem.isActive) {\n this.#repeaterService.activateItem(activateItem);\n if (\n !(activateItem.#elementRef.nativeElement as Element).matches(\n ':focus-within',\n )\n ) {\n activateItem.itemRef?.nativeElement.focus();\n }\n }\n }\n }\n\n public headerClick(): void {\n if (this.isCollapsible) {\n this.updateForExpanded(!this.isExpanded, true);\n }\n }\n\n public chevronDirectionChange(direction: string): void {\n this.updateForExpanded(direction === 'up', true);\n }\n\n public onRepeaterItemClick(event: MouseEvent): void {\n // Only activate item if clicking on the title, content, or parent item div.\n // This will avoid accidental activations when clicking inside interactive elements like\n // the expand/collapse chevron, dropdown, inline-delete, etc...\n if (\n event.target === this.itemRef?.nativeElement ||\n this.itemContentRef?.nativeElement.contains(event.target) ||\n this.itemHeaderRef?.nativeElement.contains(event.target)\n ) {\n this.#repeaterService.activateItem(this);\n }\n }\n\n public updateForExpanded(value: boolean, animate: boolean): void {\n if (this.isCollapsible === false && value === false) {\n console.warn(\n `Setting isExpanded to false when the repeater item is not collapsible\n will have no effect.`,\n );\n } else if (this.#isExpanded !== value) {\n this.#isExpanded = value;\n\n if (this.#isExpanded) {\n this.expand.emit();\n } else {\n this.collapse.emit();\n }\n\n this.#repeaterService.onItemCollapseStateChange(this);\n this.#slideForExpanded(animate);\n this.#changeDetector.markForCheck();\n }\n }\n\n public onCheckboxChange(value: SkyCheckboxChange): void {\n this.isSelected = value.checked;\n }\n\n public onInlineFormClose(inlineFormCloseArgs: SkyInlineFormCloseArgs): void {\n this.inlineFormClose.emit(inlineFormCloseArgs);\n }\n\n public moveToTop(event: Event): void {\n event.stopPropagation();\n this.#adapterService.moveItemUp(this.#elementRef.nativeElement, true);\n this.#adapterService.focusElement(event.target as HTMLElement);\n this.#repeaterService.registerOrderChange();\n }\n\n public onReorderHandleKeyDown(event: KeyboardEvent): void {\n /*istanbul ignore else */\n if (event.key) {\n switch (event.key.toLowerCase()) {\n case ' ':\n case 'enter':\n this.#keyboardToggleReorder();\n event.preventDefault();\n event.stopPropagation();\n break;\n\n case 'escape':\n /* istanbul ignore else */\n if (this.#keyboardReorderingEnabled) {\n this.#keyboardReorderingEnabled = false;\n this.#revertReorderSteps();\n this.reorderButtonLabel =\n this.#reorderCancelText + ' ' + this.#reorderInstructions;\n this.#adapterService.focusElement(event.target as HTMLElement);\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n\n case 'arrowup':\n if (this.#keyboardReorderingEnabled) {\n this.#keyboardReorderUp();\n event.preventDefault();\n event.stopPropagation();\n this.#repeaterService.registerOrderChange();\n }\n break;\n\n case 'arrowdown':\n /* istanbul ignore else */\n if (this.#keyboardReorderingEnabled) {\n this.#keyboardReorderDown();\n event.preventDefault();\n event.stopPropagation();\n this.#repeaterService.registerOrderChange();\n }\n break;\n\n case 'arrowleft':\n case 'arrowright':\n /* istanbul ignore else */\n if (this.#keyboardReorderingEnabled) {\n event.preventDefault();\n event.stopPropagation();\n }\n break;\n\n /* istanbul ignore next */\n default:\n break;\n }\n }\n }\n\n public onReorderHandleBlur(event: any): void {\n this.#keyboardReorderingEnabled = false;\n this.#revertReorderSteps();\n this.reorderButtonLabel = this.#reorderInstructions;\n this.reorderState = undefined;\n }\n\n #slideForExpanded(animate: boolean): void {\n this.animationDisabled = !animate;\n this.slideDirection = this.isExpanded ? 'down' : 'up';\n }\n\n #keyboardReorderUp(): void {\n const newIndex = this.#adapterService.moveItemUp(\n this.#elementRef.nativeElement,\n );\n if (newIndex !== undefined) {\n this.#reorderCurrentIndex = newIndex;\n this.#reorderSteps--;\n this.#adapterService.focusElement(this.grabHandle);\n this.#keyboardReorderingEnabled = true;\n this.reorderButtonLabel = `${this.#reorderMovedText} ${\n this.#reorderCurrentIndex + 1\n }`;\n }\n }\n\n #keyboardReorderDown(): void {\n const newIndex = this.#adapterService.moveItemDown(\n this.#elementRef.nativeElement,\n );\n if (newIndex) {\n this.#reorderCurrentIndex = newIndex;\n this.#reorderSteps++;\n this.#adapterService.focusElement(this.grabHandle);\n this.#keyboardReorderingEnabled = true;\n this.reorderButtonLabel = `${this.#reorderMovedText} ${\n this.#reorderCurrentIndex + 1\n }`;\n }\n }\n\n #keyboardToggleReorder(): void {\n this.#keyboardReorderingEnabled = !this.#keyboardReorderingEnabled;\n this.#reorderSteps = 0;\n\n if (this.#keyboardReorderingEnabled) {\n this.reorderState = this.#reorderStateDescription;\n } else {\n // TODO: Needs improvement to be localized\n this.reorderState = `${this.#reorderFinishText} ${\n this.#reorderCurrentIndex + 1\n } ${this.#reorderInstructions}`;\n this.#reorderCurrentIndex = -1;\n }\n }\n\n #revertReorderSteps(): void {\n if (this.#reorderSteps < 0) {\n this.#adapterService.moveItemDown(\n this.#elementRef.nativeElement,\n Math.abs(this.#reorderSteps),\n );\n } else if (this.#reorderSteps > 0) {\n this.#adapterService.moveItemUp(\n this.#elementRef.nativeElement,\n false,\n this.#reorderSteps,\n );\n }\n this.#repeaterService.registerOrderChange();\n }\n\n #updateContentInfo(): void {\n // The `setTimeout` here is necessary to counteract the timing for change detection with the content child for the title component.\n // Because the title component is rendered within a template ref - the loading of the content child and then acting upon that can cause \"changed after checked\" errors.\n setTimeout(() => {\n if (this.itemName) {\n this.#contentInfoProvider.patchInfo({\n descriptor: { type: 'text', value: this.itemName },\n });\n } else if (this.#titleComponent) {\n this.titleId = this.#idSvc.generateId();\n\n this.#contentInfoProvider.patchInfo({\n descriptor: {\n type: 'elementId',\n value: this.titleId,\n },\n });\n } else {\n this.titleId = undefined;\n }\n });\n }\n\n #updateExpandOnContentChange(): void {\n this.repeaterItemContentComponents?.changes\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.hasItemContent = !!this.repeaterItemContentComponents?.length;\n /* istanbul ignore next */\n this.isCollapsible =\n this.hasItemContent && this.#repeaterService.expandMode !== 'none';\n /* istanbul ignore else */\n if (this.#repeaterService.expandMode === 'single') {\n this.#repeaterService.onItemCollapseStateChange(this);\n }\n });\n }\n}\n","<div\n #itemRef\n class=\"sky-repeater-item sky-padding-even-default\"\n [attr.aria-label]=\"itemName\"\n [attr.aria-labelledby]=\"itemName || titleId\"\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-selectable': selectable,\n 'sky-repeater-item-selected': isSelected\n }\"\n (click)=\"onRepeaterItemClick($event)\"\n>\n <div #inlineDelete>\n <ng-content select=\"sky-inline-delete\" />\n </div>\n\n @if (inlineFormTemplate) {\n <sky-inline-form\n [config]=\"inlineFormConfig\"\n [showForm]=\"showInlineForm\"\n [template]=\"inlineFormTemplate\"\n (close)=\"onInlineFormClose($event)\"\n >\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\" />\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\" />\n </sky-inline-form>\n } @else {\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemLeft\" />\n <ng-container *ngTemplateOutlet=\"skyRepeaterItemRight\" />\n }\n</div>\n\n<ng-template #skyRepeaterItemLeft>\n <div\n class=\"sky-repeater-item-left\"\n [attr.role]=\"!showInlineForm ? (itemRole$ | async)?.content : undefined\"\n >\n @if (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 #grabHandle\n class=\"sky-btn sky-btn-icon-borderless 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 >\n <sky-icon iconName=\"arrow-bidirectional-up-down\" />\n </button>\n <!-- Used to ensure that the right side is the same height as the left by placeholding the size of the back to top button.-->\n <div class=\"sky-repeater-item-top-button-placeholder\"></div>\n }\n @if (selectable) {\n <sky-checkbox\n class=\"sky-repeater-item-checkbox\"\n [checked]=\"isSelected\"\n [disabled]=\"disabled\"\n [labelHidden]=\"true\"\n [labelText]=\"\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 }\n <div\n #contextMenuEl\n class=\"sky-repeater-item-context-menu\"\n [hidden]=\"contextMenuEl.children.length === 0\"\n >\n <ng-content select=\"sky-repeater-item-context-menu\" />\n </div>\n </div>\n</ng-template>\n\n<ng-template #skyRepeaterItemRight>\n <div #itemHeaderRef class=\"sky-repeater-item-right\">\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\n #titleRef\n class=\"sky-repeater-item-title sky-font-emphasized\"\n [attr.id]=\"titleId\"\n >\n <ng-content select=\"sky-repeater-item-title\" />\n </div>\n @if (reorderable) {\n <button\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 iconName=\"arrow-up\" />\n {{ 'skyux_repeater_item_reorder_top' | skyLibResources }}\n </button>\n }\n @if (isCollapsible) {\n <div class=\"sky-repeater-item-chevron\">\n <sky-chevron\n [ariaControls]=\"contentId\"\n [ariaLabel]=\"\n itemName\n ? isExpanded\n ? ('skyux_repeater_item_expand' | skyLibResources: itemName)\n : ('skyux_repeater_item_collapse' | skyLibResources: itemName)\n : isExpanded\n ? ('skyux_repeater_item_expand_default' | skyLibResources)\n : ('skyux_repeater_item_collapse_default' | skyLibResources)\n \"\n [direction]=\"isExpanded ? 'up' : 'down'\"\n (directionChange)=\"chevronDirectionChange($event)\"\n />\n </div>\n } @else if (!contextMenu) {\n <!-- Used for when the chevron is hidden to ensure that the right side is the same height as the left.-->\n <div class=\"sky-repeater-item-chevron-placeholder\"></div>\n }\n <!-- Used to ensure that the right side is the same height as the left.-->\n @if (contextMenu) {\n <div class=\"sky-repeater-item-chevron-placeholder-with-context\"></div>\n }\n </div>\n <div\n #itemContentRef\n class=\"sky-repeater-item-content\"\n [id]=\"contentId\"\n [@.disabled]=\"animationDisabled\"\n [@skyAnimationSlide]=\"slideDirection\"\n [attr.role]=\"(itemRole$ | async)?.content\"\n >\n <ng-content select=\"sky-repeater-item-content\" />\n </div>\n </div>\n</ng-template>\n","import { Injectable } from '@angular/core';\n\nimport autoScroll from 'dom-autoscroller';\n\nimport { SkyRepeaterAutoScrollOptions } from './repeater-auto-scroll-options';\nimport { SkyRepeaterAutoScroller } from './repeater-auto-scroller';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyRepeaterAutoScrollService {\n public autoScroll(\n elements: (HTMLElement | Window)[],\n options: SkyRepeaterAutoScrollOptions,\n ): SkyRepeaterAutoScroller {\n return autoScroll(elements, options);\n }\n}\n","import {\n AfterContentInit,\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n Renderer2,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SkyLogService, SkyScrollableHostService } from '@skyux/core';\n\nimport { DragulaService } from 'ng2-dragula';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyRepeaterAdapterService } from './repeater-adapter.service';\nimport { SkyRepeaterAutoScrollService } from './repeater-auto-scroll.service';\nimport { SkyRepeaterAutoScroller } from './repeater-auto-scroller';\nimport { SkyRepeaterExpandModeType } from './repeater-expand-mode-type';\nimport { SkyRepeaterItemRolesType } from './repeater-item-roles.type';\nimport { SkyRepeaterItemComponent } from './repeater-item.component';\nimport { SkyRepeaterRoleType } from './repeater-role.type';\nimport { SkyRepeaterService } from './repeater.service';\n\n/**\n * Creates a container to display repeater items.\n */\n@Component({\n selector: 'sky-repeater',\n styleUrls: ['./repeater.component.scss'],\n templateUrl: './repeater.component.html',\n providers: [\n SkyRepeaterService,\n SkyRepeaterAdapterService,\n SkyRepeaterAutoScrollService,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyRepeaterComponent\n implements AfterContentInit, AfterViewChecked, OnChanges, OnDestroy, OnInit\n{\n /**\n * The index of the repeater item to visually highlight as active.\n * For example, use this property in conjunction with the\n * [split view component](https://developer.blackbaud.com/skyux/components/split-view)\n * to highlight a repeater item while users edit it. Only one item can be active at a time.\n */\n @Input()\n public activeIndex: number | undefined;\n\n /**\n * The ARIA label for the repeater list.\n * This sets the repeater list's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n * @default \"List of items\"\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether users can change the order of items in the repeater list.\n * Each repeater item also has `reorderable` property to indicate whether\n * users can change its order.\n */\n @Input()\n public reorderable: boolean | undefined = false;\n\n /**\n * The layout that determines which repeater items are expanded by default and whether\n * repeater items are expandable and collapsible. Collapsed items display titles only.\n * The valid options are `multiple`, `none`, and `single`.\n * - `multiple` loads repeater items in an expanded state unless `isExpanded` is set to\n * `false` for a repeater item. This layout allows users to expand and collapse\n * as many repeater items as necessary. It is best-suited to repeater items where body\n * content is important but users don't always need to see it.\n * - `none` loads all repeater items in an expanded state and does not allow users to\n * collapse them. This default layout provides the quickest access to the details in the\n * repeater items. It is best-suited to repeater items with concise content\n * that users need to view frequently.\n * - `single` loads one repeater item in an expanded state and collapses all others.\n * The expanded repeater item is the first one where `isExpanded` is set to `true`. This layout\n * allows users to expand one item at a time. It provides the most compact view and is\n * best-suited to repeater items where the most important information is in the titles\n * and users only occasionally need to view the body content.\n * @default \"none\"\n */\n @Input()\n public set expandMode(value: SkyRepeaterExpandModeType | undefined) {\n this.#repeaterService.expandMode = value;\n this.#updateForExpandMode();\n }\n\n public get expandMode(): SkyRepeaterExpandModeType {\n return this.#repeaterService.expandMode;\n }\n\n /**\n * Fires when the active repeater item changes.\n */\n @Output()\n public activeIndexChange = new EventEmitter<number>();\n\n /**\n * Fires when users change the order of repeater items.\n * This event emits an ordered array of the `tag` properties that the consumer provides for each repeater item.\n */\n @Output()\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public orderChange = new EventEmitter<any[]>();\n\n @ContentChildren(SkyRepeaterItemComponent)\n public items: QueryList<SkyRepeaterItemComponent> | undefined;\n\n public dragulaGroupName: string;\n\n public role: SkyRepeaterRoleType | undefined;\n\n #autoScroller: SkyRepeaterAutoScroller | undefined;\n #ngUnsubscribe = new Subject<void>();\n #itemNameWarned = false;\n\n #adapterService = inject(SkyRepeaterAdapterService);\n #changeDetector = inject(ChangeDetectorRef);\n #dragulaService = inject(DragulaService);\n #elementRef = inject(ElementRef);\n #renderer = inject(Renderer2);\n #repeaterService = inject(SkyRepeaterService);\n #autoScrollSvc = inject(SkyRepeaterAutoScrollService);\n #scrollableHostSvc = inject(SkyScrollableHostService);\n #logSvc = inject(SkyLogService);\n\n constructor() {\n this.dragulaGroupName = `sky-repeater-dragula-${this.#repeaterService.repeaterGroupId}`;\n\n this.#repeaterService.itemCollapseStateChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((item: SkyRepeaterItemComponent) => {\n if (this.expandMode === 'single' && item.isExpanded) {\n this.items?.forEach((otherItem) => {\n if (\n otherItem !== item &&\n otherItem.isExpanded &&\n otherItem.isCollapsible\n ) {\n otherItem.isExpanded = false;\n }\n });\n }\n });\n\n this.#repeaterService.activeItemIndexChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((index) => {\n if (index !== this.activeIndex) {\n this.activeIndex = index;\n this.activeIndexChange.emit(index);\n }\n });\n\n this.#repeaterService.orderChange\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe(() => {\n this.#emitTags();\n });\n\n this.#updateForExpandMode();\n\n this.#adapterService.setRepeaterHost(this.#elementRef);\n\n this.#initializeDragAndDrop();\n }\n\n public ngAfterContentInit(): void {\n // If activeIndex has been set on init, call service to activate the appropriate item.\n setTimeout(() => {\n if (this.activeIndex || this.activeIndex === 0) {\n this.#repeaterService.activateItemByIndex(this.activeIndex);\n }\n\n this.#validateTags();\n });\n\n // HACK: Not updating for expand mode in a timeout causes an error.\n // https://github.com/angular/angular/issues/6005\n this.items?.changes.pipe(takeUntil(this.#ngUnsubscribe)).subscribe(() => {\n setTimeout(() => {\n if (this.items?.length) {\n this.#updateForExpandMode(this.items.last);\n\n this.#updateReorderability();\n\n this.#repeaterService.items = this.items.toArray();\n }\n\n if (this.activeIndex !== undefined) {\n this.#repeaterService.activateItemByIndex(this.activeIndex);\n }\n\n this.#updateRole();\n\n this.#validateTags();\n });\n });\n\n setTimeout(() => {\n this.#updateForExpandMode();\n\n this.items?.forEach((item) => {\n item.reorderable = this.reorderable;\n });\n\n this.#updateRole();\n }, 0);\n }\n\n public ngAfterViewChecked(): void {\n if (!this.#itemNameWarned && this.items?.some((item) => !item.itemName)) {\n this.#logSvc?.deprecated('SkyRepeaterItemComponent without `itemName`', {\n deprecationMajorVersion: 8,\n replacementRecommendation: 'Always specify an `itemName` property.',\n });\n\n this.#itemNameWarned = true;\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (changes['activeIndex']) {\n this.#repeaterService.enableActiveState = true;\n if (\n changes['activeIndex'].currentValue !==\n changes['activeIndex'].previousValue\n ) {\n this.#repeaterService.activateItemByIndex(this.activeIndex);\n }\n }\n\n if (changes['reorderable']) {\n if (this.items) {\n this.#updateReorderability();\n }\n this.#updateRole();\n\n this.#changeDetector.markForCheck();\n }\n }\n\n public ngOnDestroy(): void {\n this.#ngUnsubscribe.next();\n this.#ngUnsubscribe.complete();\n this.#destroyDragAndDrop();\n }\n\n public ngOnInit(): void {\n this.#updateRole();\n }\n\n public onCdkObserveContent(): void {\n this.#updateRole();\n }\n\n #updateForExpandMode(itemAdded?: SkyRepeaterItemComponent): void {\n if (this.items) {\n let foundExpanded = false;\n const isCollapsible = this.expandMode !== 'none';\n const isSingle = this.expandMode === 'single';\n\n // Keep any newly-added expanded item expanded and collapse the rest.\n if (itemAdded && itemAdded.isExpanded) {\n foundExpanded = true;\n }\n\n for (const item of this.items) {\n item.isCollapsible = isCollapsible && !!item.hasItemContent;\n\n // Collapse any items that aren't the item that was just added.\n if (item !== itemAdded && isSingle && item.isExpanded) {\n if (foundExpanded) {\n // If this item is being collapsed because a new item was\n // added, animate it.\n item.updateForExpanded(false, !!itemAdded);\n }\n\n foundExpanded = true;\n }\n }\n\n this.#updateRole();\n }\n }\n\n #initializeDragAndDrop(): void {\n /* Sanity check that we haven't already set up dragging abilities */\n /* istanbul ignore else */\n if (!this.#dragulaService.find(this.dragulaGroupName)) {\n this.#dragulaService.createGroup(this.dragulaGroupName, {\n moves: (el, _container, handle) => {\n const target = el?.querySelector('.sky-repeater-item-grab-handle');\n return !!(\n this.reorderable && target?.contains(handle as Element | null)\n );\n },\n });\n }\n\n let draggedItemIndex = -1;\n\n this.#dragulaService\n .drag(this.dragulaGroupName)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((args) => {\n /* istanbul ignore else */\n if (args.name === this.dragulaGroupName) {\n this.#destroyAutoScroll();\n\n this.#autoScroller = this.#autoScrollSvc.autoScroll(\n [this.#scrollableHostSvc.getScrollableHost(this.#elementRef)],\n {\n margin: 20,\n maxSpeed: 10,\n scrollWhenOutside: true,\n autoScroll: () => true,\n },\n );\n\n this.#renderer.addClass(args.el, 'sky-repeater-item-dragging');\n draggedItemIndex = this.#adapterService.getRepeaterItemIndex(\n args.el as HTMLElement,\n );\n }\n });\n\n this.#dragulaService\n .dragend(this.dragulaGroupName)\n .pipe(takeUntil(this.#ngUnsubscribe))\n .subscribe((args) => {\n /* istanbul ignore else */\n if (args.name === this.dragulaGroupName) {\n this.#destroyAutoScroll();\n\n this.#renderer.removeClass(args.el, 'sky-repeater-item-dragging');\n const newItemIndex = this.#adapterService.getRepeaterItemIndex(\n args.el as HTMLElement,\n );\n\n /* sanity check */\n /* istanbul ignore else */\n if (draggedItemIndex >= 0) {\n this.#repeaterService.reorderItem(draggedItemIndex, newItemIndex);\n draggedItemIndex = -1;\n }\n\n this.#emitTags();\n }\n });\n }\n\n #destroyDragAndDrop(): void {\n /* Sanity check that we have set up dragging abilities */\n /* istanbul ignore else */\n if (this.#dragulaService.find(this.dragulaGroupName)) {\n this.#dragulaService.destroy(this.dragulaGroupName);\n }\n\n this.#destroyAutoScroll();\n }\n\n #destroyAutoScroll(): void {\n if (this.#autoScroller) {\n this.#autoScroller.destroy();\n this.#autoScroller = undefined;\n }\n }\n\n #emitTags(): void {\n const tags = this.#repeaterService.items.map((item) => item.tag);\n this.orderChange.emit(tags);\n }\n\n #everyItemHasTag(): boolean {\n /* safety check */\n if (!this.items || this.items.length === 0) {\n return true;\n }\n return this.items.toArray().every((item) => {\n return item.tag !== undefined;\n });\n }\n\n #updateRole(): void {\n // Determine a role using a hierarchy based on https://www.w3.org/TR/wai-aria-practices-1.1/\n // 1. If there are one or more interactions in the repeater item projected content, use grid.\n // 2. If there are selectable repeater items and no other interactions, use listbox.\n // 3. If there are no interactions, use list.\n\n // Default to list role.\n let autoRole: SkyRepeaterRoleType = 'list';\n\n const roleMap: Record<SkyRepeaterRoleType, SkyRepeaterItemRolesType> = {\n list: { item: 'listitem', title: undefined, content: undefined },\n listbox: { item: 'option', title: undefined, content: undefined },\n grid: { item: 'row', title: 'rowheader', content: 'gridcell' },\n };\n\n // Based on https://html.spec.whatwg.org/multipage/dom.html#interactive-content\n const interactionSelector = [\n 'a[href]',\n 'audio[controls]',\n 'button',\n 'details',\n 'embed',\n 'iframe',\n 'img[usemap]',\n 'input:not([type=\"hidden\"])',\n 'label',\n 'select',\n 'textarea',\n 'video[controls]',\n '[contenteditable]',\n '.sky-repeater[role=\"grid\"]',\n ]\n .map(\n (selector) =>\n `sky-repeater-item-title ${selector}:not([hidden]), sky-repeater-item-content ${selector}:not([hidden])`,\n )\n .concat([`skyux-dropdown`])\n .join(', ');\n\n const hasInteraction =\n this.reorderable ||\n this.items?.some((item) => item.isCollapsible) ||\n this.items?.some((item) => !!item.selectable) ||\n !!(this.#elementRef.nativeElement as HTMLElement).querySelector(\n interactionSelector,\n );\n\n if (hasInteraction) {\n // If the repeater matches interaction selector https://www.w3.org/TR/wai-aria-practices-1.1/#grid\n autoRole = 'grid';\n }\n\n if (this.role !== autoRole) {\n this.#repeaterService.itemRole.next({\n ...roleMap[autoRole],\n });\n this.role = `${autoRole}`;\n this.#changeDetector.markForCheck();\n }\n }\n\n #updateReorderability(): void {\n if (this.items) {\n for (const item of this.items) {\n item.reorderable = this.reorderable;\n }\n }\n }\n\n #validateTags(): void {\n if (this.reorderable && !this.#everyItemHasTag()) {\n this.#logSvc.warn(\n 'Please supply tag properties for each repeater item when reordering functionality is enabled.',\n );\n }\n }\n}\n","<ng-container #repeaterHost>\n <div\n class=\"sky-repeater\"\n [attr.role]=\"role\"\n [attr.aria-label]=\"ariaLabel || ('skyux_repeater_label' | skyLibResources)\"\n [dragula]=\"dragulaGroupName\"\n (cdkObserveContent)=\"onCdkObserveContent()\"\n >\n <ng-content />\n </div>\n</ng-container>\n","import { ObserversModule } from '@angular/cdk/observers';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyChevronModule } from '@skyux/indicators';\nimport { SkyInlineFormModule } from '@skyux/inline-form';\n\nimport { DragulaModule, DragulaService } from 'ng2-dragula';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkyRepeaterItemContentComponent } from './repeater-item-content.component';\nimport { SkyRepeaterItemContextMenuComponent } from './repeater-item-context-menu.component';\nimport { SkyRepeaterItemTitleComponent } from './repeater-item-title.component';\nimport { SkyRepeaterItemComponent } from './repeater-item.component';\nimport { SkyRepeaterComponent } from './repeater.component';\n\n@NgModule({\n declarations: [\n SkyRepeaterComponent,\n SkyRepeaterItemComponent,\n SkyRepeaterItemContentComponent,\n SkyRepeaterItemContextMenuComponent,\n SkyRepeaterItemTitleComponent,\n ],\n imports: [\n CommonModule,\n DragulaModule,\n ObserversModule,\n SkyChevronModule,\n SkyCheckboxModule,\n SkyIconModule,\n SkyIdModule,\n SkyInlineFormModule,\n SkyListsResourcesModule,\n ],\n exports: [\n SkyRepeaterComponent,\n SkyRepeaterItemComponent,\n SkyRepeaterItemContentComponent,\n SkyRepeaterItemContextMenuComponent,\n SkyRepeaterItemTitleComponent,\n ],\n providers: [DragulaService],\n})\nexport class SkyRepeaterModule {}\n","import { Injectable } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkySortService {\n public selectedItem = new BehaviorSubject<string>('');\n\n public selectItem(sortItem: string): void {\n this.selectedItem.next(sortItem);\n }\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { BehaviorSubject, Subscription } from 'rxjs';\n\nimport { SkySortService } from './sort.service';\n\nconst SORT_ITEM_ID_PREFIX = 'sky-sort-item-';\n\nlet sortItemIdNumber = 0;\n\n@Component({\n selector: 'sky-sort-item',\n templateUrl: './sort-item.component.html',\n styleUrls: ['./sort-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class SkySortItemComponent implements OnInit, OnChanges, OnDestroy {\n /**\n * Whether the sorting option is active.\n */\n @Input()\n public active: boolean | undefined;\n\n /**\n * Fires when a sort item is selected.\n */\n @Output()\n public itemSelect = new EventEmitter<any>(); // TODO: Change to `EventEmitter<void>` in a breaking change.\n\n public isSelected: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(\n false,\n );\n\n @ViewChild(TemplateRef<any>)\n public itemTemplate?: TemplateRef<any> | null;\n\n #subscription: Subscription | undefined;\n\n #sortItemId: string | undefined;\n\n #sortService: SkySortService;\n #detector: ChangeDetectorRef;\n\n constructor(sortService: SkySortService, detector: ChangeDetectorRef) {\n this.#sortService = sortService;\n this.#detector = detector;\n }\n\n public ngOnInit(): void {\n sortItemIdNumber++;\n this.#sortItemId = SORT_ITEM_ID_PREFIX + sortItemIdNumber.toString();\n this.#subscription = this.#sortService.selectedItem.subscribe(\n (itemId: string) => {\n this.isSelected.next(itemId === this.#sortItemId);\n this.#detector.detectChanges();\n },\n );\n\n if (this.active) {\n this.#sortService.selectItem(this.#sortItemId);\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n this.#sortItemId &&\n changes &&\n changes['active'] &&\n changes['active'].currentValue &&\n changes['active'].currentValue !== changes['active'].previousValue\n ) {\n this.#sortService.selectItem(this.#sortItemId);\n }\n }\n\n public itemClicked(): void {\n if (this.#sortItemId) {\n this.#sortService.selectItem(this.#sortItemId);\n this.itemSelect.emit();\n }\n }\n\n public ngOnDestroy(): void {\n /* istanbul ignore else */\n /* sanity check */\n if (this.#subscription) {\n this.#subscription.unsubscribe();\n }\n }\n}\n","<ng-template #itemTemplate>\n <div\n class=\"sky-sort-item\"\n role=\"menuitemradio\"\n [attr.aria-checked]=\"isSelected | async\"\n [ngClass]=\"{ 'sky-sort-item-selected': (isSelected | async) }\"\n >\n <button type=\"button\" (click)=\"itemClicked()\">\n <ng-content />\n </button>\n </div>\n</ng-template>\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'sky-sort-menu-heading',\n templateUrl: './sort-menu-heading.component.html',\n styleUrls: ['./sort-menu-heading.component.scss'],\n standalone: false,\n})\nexport class SkySortMenuHeadingComponent {}\n","<div\n class=\"sky-sort-menu-heading\"\n [skyThemeClass]=\"{\n 'sky-subsection-heading': 'default',\n 'sky-font-heading-4': 'modern'\n }\"\n>\n {{ 'skyux_sort_menu_heading' | skyLibResources }}\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n inject,\n} from '@angular/core';\nimport { SkyContentInfo, SkyContentInfoProvider } from '@skyux/core';\nimport { SkyDropdownMessage, SkyDropdownMessageType } from '@skyux/popovers';\n\nimport { Observable, Subject } from 'rxjs';\n\nimport { SkySortItemComponent } from './sort-item.component';\nimport { SkySortService } from './sort.service';\n\n@Component({\n selector: 'sky-sort',\n styleUrls: ['./sort.component.scss'],\n templateUrl: './sort.component.html',\n providers: [SkySortService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkySortComponent {\n /**\n * The ARIA label for the sort button. This sets the\n * sort button's `aria-label` attribute to provide a text equivalent for screen readers\n * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility).\n * Use a context-sensitive label, such as \"Sort constituents.\" Context is especially important when multiple filter buttons are in close proximity.\n * In toolbars, sort buttons use the `listDescriptor` to provide context, and the ARIA label defaults to \"Sort <listDescriptor>.\"\n * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label).\n */\n @Input()\n public ariaLabel: string | undefined;\n\n /**\n * Whether to display a \"Sort\" label beside the icon on the sort button.\n */\n @Input()\n public showButtonText: boolean | undefined = false;\n\n public dropdownController = new Subject<SkyDropdownMessage>();\n\n @ContentChildren(SkySortItemComponent, { descendants: true })\n public sortItems!: QueryList<SkySortItemComponent>;\n\n protected contentInfoObs: Observable<SkyContentInfo> | undefined;\n\n #contentInfoProvider = inject(SkyContentInfoProvider, { optional: true });\n\n constructor() {\n this.contentInfoObs = this.#contentInfoProvider?.getInfo();\n }\n\n public dropdownClicked(): void {\n this.dropdownController.next({\n type: SkyDropdownMessageType.Close,\n });\n }\n}\n","<div class=\"sky-sort\">\n <sky-dropdown\n buttonType=\"select\"\n [label]=\"\n ariaLabel ||\n ((contentInfoObs | async)?.descriptor?.type === 'text'\n ? ('skyux_sort_aria_label_descriptor'\n | skyLibResources: (contentInfoObs | async)?.descriptor?.value)\n : ('skyux_sort_button_label' | skyLibResources))\n \"\n [messageStream]=\"dropdownController\"\n [title]=\"'skyux_sort_button_label' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon iconName=\"arrow-sort\" />\n @if (showButtonText) {\n <span class=\"sky-sort-btn-text\">\n {{ 'skyux_sort_button_label' | skyLibResources }}\n </span>\n }\n </sky-dropdown-button>\n <sky-dropdown-menu\n ariaRole=\"menu\"\n [ariaLabelledBy]=\"sortMenuHeading.id\"\n (click)=\"dropdownClicked()\"\n >\n <sky-sort-menu-heading #sortMenuHeading=\"skyId\" skyId />\n <div *skyThemeIf=\"'default'\" class=\"sky-sort-heading-divider\"></div>\n @for (item of sortItems; track item) {\n <sky-dropdown-item>\n <ng-container [ngTemplateOutlet]=\"item.itemTemplate!\" />\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIdModule } from '@skyux/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyDropdownModule } from '@skyux/popovers';\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyListsResourcesModule } from '../shared/sky-lists-resources.module';\n\nimport { SkySortItemComponent } from './sort-item.component';\nimport { SkySortMenuHeadingComponent } from './sort-menu-heading.component';\nimport { SkySortComponent } from './sort.component';\n\n@NgModule({\n declarations: [\n SkySortComponent,\n SkySortItemComponent,\n SkySortMenuHeadingComponent,\n ],\n imports: [\n CommonModule,\n SkyDropdownModule,\n SkyIconModule,\n SkyIdModule,\n SkyListsResourcesModule,\n SkyThemeModule,\n ],\n exports: [SkySortComponent, SkySortItemComponent],\n})\nexport class SkySortModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1","observableFromEvent","i1.SkyInfiniteScrollDomAdapterService","i3","i4","i1.SkyRepeaterService","observableForkJoin","i2.SkyRepeaterAdapterService","i5","i7","i1.SkySortService","i6.SkySortMenuHeadingComponent"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/lists",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.31.0",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -20,16 +20,16 @@
|
|
|
20
20
|
"@angular/common": "^19.2.14",
|
|
21
21
|
"@angular/core": "^19.2.14",
|
|
22
22
|
"@angular/platform-browser": "^19.2.14",
|
|
23
|
-
"@skyux-sdk/testing": "12.
|
|
24
|
-
"@skyux/animations": "12.
|
|
25
|
-
"@skyux/core": "12.
|
|
26
|
-
"@skyux/forms": "12.
|
|
27
|
-
"@skyux/i18n": "12.
|
|
28
|
-
"@skyux/icon": "12.
|
|
29
|
-
"@skyux/indicators": "12.
|
|
30
|
-
"@skyux/inline-form": "12.
|
|
31
|
-
"@skyux/popovers": "12.
|
|
32
|
-
"@skyux/theme": "12.
|
|
23
|
+
"@skyux-sdk/testing": "12.31.0",
|
|
24
|
+
"@skyux/animations": "12.31.0",
|
|
25
|
+
"@skyux/core": "12.31.0",
|
|
26
|
+
"@skyux/forms": "12.31.0",
|
|
27
|
+
"@skyux/i18n": "12.31.0",
|
|
28
|
+
"@skyux/icon": "12.31.0",
|
|
29
|
+
"@skyux/indicators": "12.31.0",
|
|
30
|
+
"@skyux/inline-form": "12.31.0",
|
|
31
|
+
"@skyux/popovers": "12.31.0",
|
|
32
|
+
"@skyux/theme": "12.31.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@types/dragula": "2.1.36",
|