@skyux/lists 12.26.0 → 12.28.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.
@@ -1407,11 +1407,11 @@ class SkyRepeaterItemComponent {
1407
1407
  });
1408
1408
  }
1409
1409
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyRepeaterItemComponent, deps: [{ token: SkyRepeaterService }, { token: i0.ChangeDetectorRef }, { token: SkyRepeaterAdapterService }, { token: i0.ElementRef }, { token: i3.SkyLibResourcesService }], target: i0.ɵɵFactoryTarget.Component }); }
1410
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: SkyRepeaterItemComponent, isStandalone: false, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, providers: [SkyContentInfoProvider], queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "titleComponent", first: true, predicate: SkyRepeaterItemTitleComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n #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", styles: [".sky-repeater-item:not(.sky-theme-modern *){--sky-override-repeater-item-active-background-color: #eeeeef;--sky-override-repeater-item-active-border-left-color: #00b4f1;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-bottom: 1px dotted #cdcfd2;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-checkbox-margin: 0;--sky-override-repeater-item-checkbox-padding-right: 5px;--sky-override-repeater-item-chevron-margin-left: 10px;--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-margin-top: 10px;--sky-override-repeater-item-context-menu-padding-right: 10px;--sky-override-repeater-item-content-no-header-margin-top: 10px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-right: 10px;--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-outline-focus-visible: auto;--sky-override-repeater-item-padding: 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: none;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-active-background-color-active: #eeeeef;--sky-override-repeater-item-split-view-background-color-active: transparent;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left-active: 6px;--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0;--sky-override-repeater-item-left-no-header-padding-top: 10px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-repeater-item{--sky-override-repeater-item-active-background-color: #ffffff;--sky-override-repeater-item-active-border-left-color: #1870B8;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-box-shadow-focus-visible: 0px 1px 8px 0px rgba(0, 0, 0, .3);--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-no-header-margin-top: 20px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-left-no-header-padding-top: 20px;--sky-override-repeater-item-outline-focus-visible: solid 2px #1870B8;--sky-override-repeater-item-outline-offset-focus-visible: -2px;--sky-override-repeater-item-padding: 20px 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: 0 1px 8px #0000004d;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left: var( --sky-padding-even-md );--sky-override-repeater-item-split-view-active-background-color-active: #ffffff;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-background-color-active: #ffffff;--sky-override-repeater-item-split-view-padding-left-active: calc( var(--sky-padding-even-md) - 4px );--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0}sky-repeater-item .sky-repeater-item{display:flex;border-bottom:var(--sky-override-repeater-item-border-bottom, var(--sky-border-width-separator-row) var(--sky-border-style-separator-row) var(--sky-color-border-separator-row));border-radius:var(--sky-override-repeater-item-border-radius, var(--sky-border-radius-xs));padding:var(--sky-override-repeater-item-padding, var(--sky-comp-repeater_item-space-inset-top) var(--sky-comp-repeater_item-space-inset-right) var(--sky-comp-repeater_item-space-inset-bottom) var(--sky-comp-repeater_item-space-inset-left));position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item:focus-visible,sky-repeater-item .sky-repeater-item:focus-visible:active{outline:var(--sky-override-repeater-item-outline-focus-visible, none);outline-offset:var(--sky-override-repeater-item-outline-offset-focus-visible, 0)}sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-box-shadow-focus-visible, none)}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;align-items:flex-start;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-active-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-active-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-active-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:var(--sky-override-repeater-item-active-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable){background-color:var(--sky-override-repeater-item-single-select-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-single-select-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-single-select-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable) .sky-inline-delete{margin-left:var(--sky-override-repeater-item-single-select-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content){padding-top:0}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content) .sky-repeater-item-left{padding-top:var(--sky-override-repeater-item-left-no-header-padding-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin-top:var(--sky-override-repeater-item-content-no-header-margin-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-left{display:flex;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex}sky-repeater-item .sky-repeater-item-chevron{margin-left:var(--sky-override-repeater-item-chevron-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-reorder-top{margin-left:var(--sky-override-repeater-item-reorder-top-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:var(--sky-override-repeater-item-chevron-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:var(--sky-override-repeater-item-chevron-with-context-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-top-button-placeholder{height:var(--sky-override-repeater-item-top-button-placeholder-height, calc(var(--sky-comp-button-space-inset-bottom) + var(--sky-comp-button-space-inset-top) + var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m)))}sky-repeater-item .sky-repeater-item-context-menu{padding:0 var(--sky-override-repeater-item-context-menu-padding-right, var(--sky-space-gap-action_group-m)) 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 var(--sky-override-repeater-item-checkbox-padding-right, var(--sky-space-gap-action_group-s)) 0 0;margin:var(--sky-override-repeater-item-checkbox-margin, var(--sky-comp-repeater_item-checkbox-space-offset-top) var(--sky-comp-repeater_item-checkbox-space-offset-right) var(--sky-comp-repeater_item-checkbox-space-offset-bottom) var(--sky-comp-repeater_item-checkbox-space-offset-left))}sky-repeater-item .sky-repeater-item-selectable:hover,sky-repeater-item .sky-repeater-item-collapsible:hover{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}sky-repeater-item .sky-repeater-item-selectable:active,sky-repeater-item .sky-repeater-item-collapsible:active{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}sky-repeater-item .sky-repeater-item-selectable:active:not(.sky-repeater-item-selected),sky-repeater-item .sky-repeater-item-collapsible:active:not(.sky-repeater-item-selected){background-color:var(--sky-override-repeater-item-selectable-background-color-active, var(--sky-color-background-selected-soft))}sky-repeater-item .sky-repeater-item-selectable:focus-visible:not(:active),sky-repeater-item .sky-repeater-item-collapsible:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}sky-repeater-item .sky-repeater-item-selected{background-color:var(--sky-override-repeater-item-selected-color, var(--sky-color-background-selected-soft));transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:var(--sky-override-repeater-item-title-line-height, var(--sky-font-line_height-body-m))}sky-repeater-item sky-repeater-item-content{display:block;margin:var(--sky-override-repeater-item-content-margin-top, var(--sky-space-stacked-s)) 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:var(--sky-override-repeater-item-content-collapsible-padding-right, calc(var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-s) + var(--sky-space-gap-text_action-s)))}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{cursor:grab;cursor:-webkit-grab;cursor:-moz-grab;margin:var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) var(--sky-override-repeater-item-grab-handle-margin-right, var(--sky-space-gap-action_group-m)) var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) 0}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless{height:var(--sky-override-repeater-item-grab-handle-size, \"\");padding:var(--sky-override-repeater-item-grab-handle-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));width:var(--sky-override-repeater-item-grab-handle-size, \"\")}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:active{box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:hover{color:var(--sky-override-repeater-item-grab-handle-color-hover, var(--sky-color-icon-deemphasized));box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:var(--sky-override-repeater-item-dragging-background-color, var(--sky-color-background-container-base));box-shadow:var(--sky-override-repeater-item-dragging-box-shadow, var(--sky-elevation-overflow))}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:var(--sky-override-repeater-item-dragging-background-color-static, var(--sky-color-background-action-soft))}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.hover-rows .sky-repeater-item{cursor:pointer}.hover-rows .sky-repeater-item:hover{background-color:var(--sky-override-repeater-item-selection-modal-background-color-hover);box-shadow:var(--sky-override-repeater-item-selection-modal-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:hover{box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active{background-color:var(--sky-override-repeater-item-split-view-background-color-active, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-split-view-active-background-color-active, var(--sky-color-background-selected-soft))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item{padding-left:var(--sky-override-repeater-item-split-view-padding-left, var(--sky-comp-repeater_item-space-inset-left))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item.sky-repeater-item-active{padding-left:var(--sky-override-repeater-item-split-view-padding-left-active, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "iconName", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "component", type: i8.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None }); }
1410
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.14", type: SkyRepeaterItemComponent, isStandalone: false, selector: "sky-repeater-item", inputs: { disabled: "disabled", itemName: "itemName", inlineFormConfig: "inlineFormConfig", inlineFormTemplate: "inlineFormTemplate", isExpanded: "isExpanded", isSelected: "isSelected", reorderable: "reorderable", selectable: "selectable", showInlineForm: "showInlineForm", tag: "tag" }, outputs: { collapse: "collapse", expand: "expand", inlineFormClose: "inlineFormClose", isSelectedChange: "isSelectedChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "class": "this.repeaterGroupClass" } }, providers: [SkyContentInfoProvider], queries: [{ propertyName: "contextMenu", first: true, predicate: SkyRepeaterItemContextMenuComponent, descendants: true, read: ElementRef }, { propertyName: "titleComponent", first: true, predicate: SkyRepeaterItemTitleComponent, descendants: true, read: ElementRef }, { propertyName: "repeaterItemContentComponents", predicate: SkyRepeaterItemContentComponent }], viewQueries: [{ propertyName: "grabHandle", first: true, predicate: ["grabHandle"], descendants: true, read: ElementRef }, { propertyName: "itemContentRef", first: true, predicate: ["itemContentRef"], descendants: true, read: ElementRef }, { propertyName: "itemHeaderRef", first: true, predicate: ["itemHeaderRef"], descendants: true, read: ElementRef }, { propertyName: "itemRef", first: true, predicate: ["itemRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n #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", styles: [".sky-repeater-item:not(.sky-theme-modern *){--sky-override-repeater-item-active-background-color: #eeeeef;--sky-override-repeater-item-active-border-left-color: #00b4f1;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-bottom: 1px dotted #cdcfd2;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-checkbox-margin: 0;--sky-override-repeater-item-checkbox-padding-right: 5px;--sky-override-repeater-item-chevron-margin-left: 10px;--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-margin-top: 10px;--sky-override-repeater-item-context-menu-padding-right: 10px;--sky-override-repeater-item-content-no-header-margin-top: 10px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-right: 10px;--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-outline-focus-visible: auto;--sky-override-repeater-item-padding: 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: none;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-active-background-color-active: #eeeeef;--sky-override-repeater-item-split-view-background-color-active: transparent;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left-active: 6px;--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0;--sky-override-repeater-item-left-no-header-padding-top: 10px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-repeater-item{--sky-override-repeater-item-active-background-color: #ffffff;--sky-override-repeater-item-active-border-left-color: #1870B8;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-box-shadow-focus-visible: 0px 1px 8px 0px rgba(0, 0, 0, .3);--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-no-header-margin-top: 20px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-left-no-header-padding-top: 20px;--sky-override-repeater-item-outline-focus-visible: solid 2px #1870B8;--sky-override-repeater-item-outline-offset-focus-visible: -2px;--sky-override-repeater-item-padding: 20px 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: 0 1px 8px #0000004d;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left: var( --sky-padding-even-md );--sky-override-repeater-item-split-view-active-background-color-active: #ffffff;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-background-color-active: #ffffff;--sky-override-repeater-item-split-view-padding-left-active: calc( var(--sky-padding-even-md) - 4px );--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0}sky-repeater-item .sky-repeater-item{display:flex;border-bottom:var(--sky-override-repeater-item-border-bottom, var(--sky-border-width-separator-row) var(--sky-border-style-separator-row) var(--sky-color-border-separator-row));border-radius:var(--sky-override-repeater-item-border-radius, var(--sky-border-radius-xs));padding:var(--sky-override-repeater-item-padding, var(--sky-comp-repeater_item-space-inset-top) var(--sky-comp-repeater_item-space-inset-right) var(--sky-comp-repeater_item-space-inset-bottom) var(--sky-comp-repeater_item-space-inset-left));position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item:focus-visible,sky-repeater-item .sky-repeater-item:focus-visible:active{outline:var(--sky-override-repeater-item-outline-focus-visible, none);outline-offset:var(--sky-override-repeater-item-outline-offset-focus-visible, 0)}sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-box-shadow-focus-visible, none)}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;align-items:flex-start;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-active-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-active-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-active-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:var(--sky-override-repeater-item-active-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable){background-color:var(--sky-override-repeater-item-single-select-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-single-select-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-single-select-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable) .sky-inline-delete{margin-left:var(--sky-override-repeater-item-single-select-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content){padding-top:0}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content) .sky-repeater-item-left{padding-top:var(--sky-override-repeater-item-left-no-header-padding-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin-top:var(--sky-override-repeater-item-content-no-header-margin-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-left{display:flex;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex}sky-repeater-item .sky-repeater-item-chevron{margin-left:var(--sky-override-repeater-item-chevron-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-reorder-top{margin-left:var(--sky-override-repeater-item-reorder-top-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:var(--sky-override-repeater-item-chevron-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:var(--sky-override-repeater-item-chevron-with-context-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-top-button-placeholder{height:var(--sky-override-repeater-item-top-button-placeholder-height, calc(var(--sky-comp-button-space-inset-bottom) + var(--sky-comp-button-space-inset-top) + var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m)))}sky-repeater-item .sky-repeater-item-context-menu{padding:0 var(--sky-override-repeater-item-context-menu-padding-right, var(--sky-space-gap-action_group-m)) 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 var(--sky-override-repeater-item-checkbox-padding-right, var(--sky-space-gap-action_group-s)) 0 0;margin:var(--sky-override-repeater-item-checkbox-margin, var(--sky-comp-repeater_item-checkbox-space-offset-top) var(--sky-comp-repeater_item-checkbox-space-offset-right) var(--sky-comp-repeater_item-checkbox-space-offset-bottom) var(--sky-comp-repeater_item-checkbox-space-offset-left))}sky-repeater-item .sky-repeater-item-selectable:hover{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}sky-repeater-item .sky-repeater-item-selectable:active{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}sky-repeater-item .sky-repeater-item-selectable:active:not(.sky-repeater-item-selected){background-color:var(--sky-override-repeater-item-selectable-background-color-active, var(--sky-color-background-selected-soft))}sky-repeater-item .sky-repeater-item-selectable:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}sky-repeater-item .sky-repeater-item-selected{background-color:var(--sky-override-repeater-item-selected-color, var(--sky-color-background-selected-soft));transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:var(--sky-override-repeater-item-title-line-height, var(--sky-font-line_height-body-m))}sky-repeater-item sky-repeater-item-content{display:block;margin:var(--sky-override-repeater-item-content-margin-top, var(--sky-space-stacked-s)) 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:var(--sky-override-repeater-item-content-collapsible-padding-right, calc(var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-s) + var(--sky-space-gap-text_action-s)))}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{cursor:grab;cursor:-webkit-grab;cursor:-moz-grab;margin:var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) var(--sky-override-repeater-item-grab-handle-margin-right, var(--sky-space-gap-action_group-m)) var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) 0}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless{height:var(--sky-override-repeater-item-grab-handle-size, \"\");padding:var(--sky-override-repeater-item-grab-handle-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));width:var(--sky-override-repeater-item-grab-handle-size, \"\")}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:active{box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:hover{color:var(--sky-override-repeater-item-grab-handle-color-hover, var(--sky-color-icon-deemphasized));box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:var(--sky-override-repeater-item-dragging-background-color, var(--sky-color-background-container-base));box-shadow:var(--sky-override-repeater-item-dragging-box-shadow, var(--sky-elevation-overflow))}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:var(--sky-override-repeater-item-dragging-background-color-static, var(--sky-color-background-action-soft))}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.hover-rows .sky-repeater-item{cursor:pointer}.hover-rows .sky-repeater-item:hover{background-color:var(--sky-override-repeater-item-selection-modal-background-color-hover);box-shadow:var(--sky-override-repeater-item-selection-modal-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:hover{box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active{background-color:var(--sky-override-repeater-item-split-view-background-color-active, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-split-view-active-background-color-active, var(--sky-color-background-selected-soft))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item{padding-left:var(--sky-override-repeater-item-split-view-padding-left, var(--sky-comp-repeater_item-space-inset-left))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item.sky-repeater-item-active{padding-left:var(--sky-override-repeater-item-split-view-padding-left-active, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.λ2, selector: "sky-chevron", inputs: ["ariaControls", "ariaLabel", "direction", "disabled"], outputs: ["directionChange"] }, { kind: "component", type: i6.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "helpPopoverContent", "helpPopoverTitle", "icon", "iconName", "checkboxType", "checked", "indeterminate", "required", "labelText", "labelHidden", "hintText", "stacked", "helpKey"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i2.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant", "iconSize"] }, { kind: "component", type: i8.λ1, selector: "sky-inline-form", inputs: ["config", "template", "showForm"], outputs: ["close"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.SkyLibResourcesPipe, name: "skyLibResources" }], animations: [skyAnimationSlide], encapsulation: i0.ViewEncapsulation.None }); }
1411
1411
  }
1412
1412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: SkyRepeaterItemComponent, decorators: [{
1413
1413
  type: Component,
1414
- args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], providers: [SkyContentInfoProvider], encapsulation: ViewEncapsulation.None, standalone: false, template: "<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", styles: [".sky-repeater-item:not(.sky-theme-modern *){--sky-override-repeater-item-active-background-color: #eeeeef;--sky-override-repeater-item-active-border-left-color: #00b4f1;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-bottom: 1px dotted #cdcfd2;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-checkbox-margin: 0;--sky-override-repeater-item-checkbox-padding-right: 5px;--sky-override-repeater-item-chevron-margin-left: 10px;--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-margin-top: 10px;--sky-override-repeater-item-context-menu-padding-right: 10px;--sky-override-repeater-item-content-no-header-margin-top: 10px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-right: 10px;--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-outline-focus-visible: auto;--sky-override-repeater-item-padding: 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: none;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-active-background-color-active: #eeeeef;--sky-override-repeater-item-split-view-background-color-active: transparent;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left-active: 6px;--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0;--sky-override-repeater-item-left-no-header-padding-top: 10px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-repeater-item{--sky-override-repeater-item-active-background-color: #ffffff;--sky-override-repeater-item-active-border-left-color: #1870B8;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-box-shadow-focus-visible: 0px 1px 8px 0px rgba(0, 0, 0, .3);--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-no-header-margin-top: 20px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-left-no-header-padding-top: 20px;--sky-override-repeater-item-outline-focus-visible: solid 2px #1870B8;--sky-override-repeater-item-outline-offset-focus-visible: -2px;--sky-override-repeater-item-padding: 20px 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: 0 1px 8px #0000004d;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left: var( --sky-padding-even-md );--sky-override-repeater-item-split-view-active-background-color-active: #ffffff;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-background-color-active: #ffffff;--sky-override-repeater-item-split-view-padding-left-active: calc( var(--sky-padding-even-md) - 4px );--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0}sky-repeater-item .sky-repeater-item{display:flex;border-bottom:var(--sky-override-repeater-item-border-bottom, var(--sky-border-width-separator-row) var(--sky-border-style-separator-row) var(--sky-color-border-separator-row));border-radius:var(--sky-override-repeater-item-border-radius, var(--sky-border-radius-xs));padding:var(--sky-override-repeater-item-padding, var(--sky-comp-repeater_item-space-inset-top) var(--sky-comp-repeater_item-space-inset-right) var(--sky-comp-repeater_item-space-inset-bottom) var(--sky-comp-repeater_item-space-inset-left));position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item:focus-visible,sky-repeater-item .sky-repeater-item:focus-visible:active{outline:var(--sky-override-repeater-item-outline-focus-visible, none);outline-offset:var(--sky-override-repeater-item-outline-offset-focus-visible, 0)}sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-box-shadow-focus-visible, none)}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;align-items:flex-start;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-active-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-active-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-active-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:var(--sky-override-repeater-item-active-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable){background-color:var(--sky-override-repeater-item-single-select-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-single-select-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-single-select-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable) .sky-inline-delete{margin-left:var(--sky-override-repeater-item-single-select-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content){padding-top:0}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content) .sky-repeater-item-left{padding-top:var(--sky-override-repeater-item-left-no-header-padding-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin-top:var(--sky-override-repeater-item-content-no-header-margin-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-left{display:flex;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex}sky-repeater-item .sky-repeater-item-chevron{margin-left:var(--sky-override-repeater-item-chevron-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-reorder-top{margin-left:var(--sky-override-repeater-item-reorder-top-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:var(--sky-override-repeater-item-chevron-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:var(--sky-override-repeater-item-chevron-with-context-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-top-button-placeholder{height:var(--sky-override-repeater-item-top-button-placeholder-height, calc(var(--sky-comp-button-space-inset-bottom) + var(--sky-comp-button-space-inset-top) + var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m)))}sky-repeater-item .sky-repeater-item-context-menu{padding:0 var(--sky-override-repeater-item-context-menu-padding-right, var(--sky-space-gap-action_group-m)) 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 var(--sky-override-repeater-item-checkbox-padding-right, var(--sky-space-gap-action_group-s)) 0 0;margin:var(--sky-override-repeater-item-checkbox-margin, var(--sky-comp-repeater_item-checkbox-space-offset-top) var(--sky-comp-repeater_item-checkbox-space-offset-right) var(--sky-comp-repeater_item-checkbox-space-offset-bottom) var(--sky-comp-repeater_item-checkbox-space-offset-left))}sky-repeater-item .sky-repeater-item-selectable:hover,sky-repeater-item .sky-repeater-item-collapsible:hover{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}sky-repeater-item .sky-repeater-item-selectable:active,sky-repeater-item .sky-repeater-item-collapsible:active{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}sky-repeater-item .sky-repeater-item-selectable:active:not(.sky-repeater-item-selected),sky-repeater-item .sky-repeater-item-collapsible:active:not(.sky-repeater-item-selected){background-color:var(--sky-override-repeater-item-selectable-background-color-active, var(--sky-color-background-selected-soft))}sky-repeater-item .sky-repeater-item-selectable:focus-visible:not(:active),sky-repeater-item .sky-repeater-item-collapsible:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}sky-repeater-item .sky-repeater-item-selected{background-color:var(--sky-override-repeater-item-selected-color, var(--sky-color-background-selected-soft));transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:var(--sky-override-repeater-item-title-line-height, var(--sky-font-line_height-body-m))}sky-repeater-item sky-repeater-item-content{display:block;margin:var(--sky-override-repeater-item-content-margin-top, var(--sky-space-stacked-s)) 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:var(--sky-override-repeater-item-content-collapsible-padding-right, calc(var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-s) + var(--sky-space-gap-text_action-s)))}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{cursor:grab;cursor:-webkit-grab;cursor:-moz-grab;margin:var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) var(--sky-override-repeater-item-grab-handle-margin-right, var(--sky-space-gap-action_group-m)) var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) 0}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless{height:var(--sky-override-repeater-item-grab-handle-size, \"\");padding:var(--sky-override-repeater-item-grab-handle-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));width:var(--sky-override-repeater-item-grab-handle-size, \"\")}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:active{box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:hover{color:var(--sky-override-repeater-item-grab-handle-color-hover, var(--sky-color-icon-deemphasized));box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:var(--sky-override-repeater-item-dragging-background-color, var(--sky-color-background-container-base));box-shadow:var(--sky-override-repeater-item-dragging-box-shadow, var(--sky-elevation-overflow))}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:var(--sky-override-repeater-item-dragging-background-color-static, var(--sky-color-background-action-soft))}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.hover-rows .sky-repeater-item{cursor:pointer}.hover-rows .sky-repeater-item:hover{background-color:var(--sky-override-repeater-item-selection-modal-background-color-hover);box-shadow:var(--sky-override-repeater-item-selection-modal-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:hover{box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active{background-color:var(--sky-override-repeater-item-split-view-background-color-active, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-split-view-active-background-color-active, var(--sky-color-background-selected-soft))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item{padding-left:var(--sky-override-repeater-item-split-view-padding-left, var(--sky-comp-repeater_item-space-inset-left))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item.sky-repeater-item-active{padding-left:var(--sky-override-repeater-item-split-view-padding-left-active, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)))}\n"] }]
1414
+ args: [{ selector: 'sky-repeater-item', animations: [skyAnimationSlide], providers: [SkyContentInfoProvider], encapsulation: ViewEncapsulation.None, standalone: false, template: "<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", styles: [".sky-repeater-item:not(.sky-theme-modern *){--sky-override-repeater-item-active-background-color: #eeeeef;--sky-override-repeater-item-active-border-left-color: #00b4f1;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-bottom: 1px dotted #cdcfd2;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-checkbox-margin: 0;--sky-override-repeater-item-checkbox-padding-right: 5px;--sky-override-repeater-item-chevron-margin-left: 10px;--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-margin-top: 10px;--sky-override-repeater-item-context-menu-padding-right: 10px;--sky-override-repeater-item-content-no-header-margin-top: 10px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-right: 10px;--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-outline-focus-visible: auto;--sky-override-repeater-item-padding: 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: none;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-active-background-color-active: #eeeeef;--sky-override-repeater-item-split-view-background-color-active: transparent;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left-active: 6px;--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0;--sky-override-repeater-item-left-no-header-padding-top: 10px}.sky-theme-modern:not(.sky-theme-brand-base) .sky-repeater-item{--sky-override-repeater-item-active-background-color: #ffffff;--sky-override-repeater-item-active-border-left-color: #1870B8;--sky-override-repeater-item-active-border-left-width: 4px;--sky-override-repeater-item-active-inline-delete-margin-left: -4px;--sky-override-repeater-item-active-padding-left: 6px;--sky-override-repeater-item-border-radius: 0;--sky-override-repeater-item-box-shadow-focus-visible: 0px 1px 8px 0px rgba(0, 0, 0, .3);--sky-override-repeater-item-chevron-placeholder-height: 24px;--sky-override-repeater-item-chevron-with-context-placeholder-height: 29px;--sky-override-repeater-item-content-collapsible-padding-right: 34px;--sky-override-repeater-item-content-no-header-margin-top: 20px;--sky-override-repeater-item-dragging-background-color: #fff;--sky-override-repeater-item-dragging-background-color-static: #d8d8d8;--sky-override-repeater-item-dragging-box-shadow: 0px 0px 5px 0 rgba(0, 0, 0, .3);--sky-override-repeater-item-grab-handle-box-shadow-active: none;--sky-override-repeater-item-grab-handle-box-shadow-hover: none;--sky-override-repeater-item-grab-handle-color-hover: rgb(55.5616438356, 57.698630137, 61.4383561644);--sky-override-repeater-item-grab-handle-margin-vertical: 5px;--sky-override-repeater-item-grab-handle-padding: 0;--sky-override-repeater-item-grab-handle-size: 24px;--sky-override-repeater-item-left-no-header-padding-top: 20px;--sky-override-repeater-item-outline-focus-visible: solid 2px #1870B8;--sky-override-repeater-item-outline-offset-focus-visible: -2px;--sky-override-repeater-item-padding: 20px 10px;--sky-override-repeater-item-reorder-top-margin-left: 0;--sky-override-repeater-item-selectable-background-color-active: transparent;--sky-override-repeater-item-selectable-box-shadow-active: none;--sky-override-repeater-item-selectable-box-shadow-focus: 0 1px 8px #0000004d;--sky-override-repeater-item-selectable-box-shadow-hover: none;--sky-override-repeater-item-selected-color: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-background-color-hover: var( --sky-background-color-selected );--sky-override-repeater-item-selection-modal-box-shadow-hover: none;--sky-override-repeater-item-single-select-background-color: var( --sky-background-color-selected );--sky-override-repeater-item-single-select-border-left-color: transparent;--sky-override-repeater-item-single-select-border-left-width: 0;--sky-override-repeater-item-single-select-inline-delete-margin-left: 0;--sky-override-repeater-item-single-select-padding-left: 10px;--sky-override-repeater-item-split-view-padding-left: var( --sky-padding-even-md );--sky-override-repeater-item-split-view-active-background-color-active: #ffffff;--sky-override-repeater-item-split-view-box-shadow-active: none;--sky-override-repeater-item-split-view-box-shadow-focus: none;--sky-override-repeater-item-split-view-box-shadow-hover: none;--sky-override-repeater-item-split-view-background-color-active: #ffffff;--sky-override-repeater-item-split-view-padding-left-active: calc( var(--sky-padding-even-md) - 4px );--sky-override-repeater-item-title-line-height: 1.1;--sky-override-repeater-item-top-button-placeholder-height: 0}sky-repeater-item .sky-repeater-item{display:flex;border-bottom:var(--sky-override-repeater-item-border-bottom, var(--sky-border-width-separator-row) var(--sky-border-style-separator-row) var(--sky-color-border-separator-row));border-radius:var(--sky-override-repeater-item-border-radius, var(--sky-border-radius-xs));padding:var(--sky-override-repeater-item-padding, var(--sky-comp-repeater_item-space-inset-top) var(--sky-comp-repeater_item-space-inset-right) var(--sky-comp-repeater_item-space-inset-bottom) var(--sky-comp-repeater_item-space-inset-left));position:relative;transition:box-shadow .15s;align-items:flex-start}sky-repeater-item .sky-repeater-item:focus-visible,sky-repeater-item .sky-repeater-item:focus-visible:active{outline:var(--sky-override-repeater-item-outline-focus-visible, none);outline-offset:var(--sky-override-repeater-item-outline-offset-focus-visible, 0)}sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-box-shadow-focus-visible, none)}sky-repeater-item .sky-repeater-item sky-inline-form{display:block;width:100%}sky-repeater-item .sky-repeater-item sky-inline-form>:first-child,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-first,sky-repeater-item .sky-repeater-item sky-inline-form .sky-slide-dissolve-last{display:flex;align-items:flex-start;flex:1 0 auto;width:100%}sky-repeater-item .sky-repeater-item.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-active-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-active-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-active-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-active .sky-inline-delete{margin-left:var(--sky-override-repeater-item-active-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-active-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable){background-color:var(--sky-override-repeater-item-single-select-background-color, var(--sky-color-background-selected-soft));padding-left:var(--sky-override-repeater-item-single-select-padding-left, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)));border-left:var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)) solid var(--sky-override-repeater-item-single-select-border-left-color, var(--sky-color-border-selected))}sky-repeater-item .sky-repeater-item.sky-repeater-item-selected:not(.sky-repeater-item-selectable) .sky-inline-delete{margin-left:var(--sky-override-repeater-item-single-select-inline-delete-margin-left, calc((var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)) * -1));width:calc(100% + var(--sky-override-repeater-item-single-select-border-left-width, var(--sky-border-width-selected-m)))}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content){padding-top:0}sky-repeater-item .sky-repeater-item:has(.sky-repeater-item-header[hidden]+.sky-repeater-item-content) .sky-repeater-item-left{padding-top:var(--sky-override-repeater-item-left-no-header-padding-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-header[hidden]+.sky-repeater-item-content sky-repeater-item-content{margin-top:var(--sky-override-repeater-item-content-no-header-margin-top, var(--sky-comp-repeater_item-space-inset-top))}sky-repeater-item .sky-repeater-item-left{display:flex;align-items:center}sky-repeater-item .sky-repeater-item-left sky-checkbox{display:flex}sky-repeater-item .sky-repeater-item-right{max-width:100%;flex-grow:1;align-self:center}sky-repeater-item .sky-repeater-item-header{align-items:center;display:flex}sky-repeater-item .sky-repeater-item-chevron{margin-left:var(--sky-override-repeater-item-chevron-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-reorder-top{margin-left:var(--sky-override-repeater-item-reorder-top-margin-left, var(--sky-space-gap-text_action-s))}sky-repeater-item .sky-repeater-item-chevron-placeholder{height:var(--sky-override-repeater-item-chevron-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-chevron-placeholder-with-context{height:var(--sky-override-repeater-item-chevron-with-context-placeholder-height, max(var(--sky-size-switch), var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-m)))}sky-repeater-item .sky-repeater-item-top-button-placeholder{height:var(--sky-override-repeater-item-top-button-placeholder-height, calc(var(--sky-comp-button-space-inset-bottom) + var(--sky-comp-button-space-inset-top) + var(--sky-font-line_height-body-m) * var(--sky-font-size-body-m)))}sky-repeater-item .sky-repeater-item-context-menu{padding:0 var(--sky-override-repeater-item-context-menu-padding-right, var(--sky-space-gap-action_group-m)) 0 0}sky-repeater-item .sky-repeater-item-checkbox{padding:0 var(--sky-override-repeater-item-checkbox-padding-right, var(--sky-space-gap-action_group-s)) 0 0;margin:var(--sky-override-repeater-item-checkbox-margin, var(--sky-comp-repeater_item-checkbox-space-offset-top) var(--sky-comp-repeater_item-checkbox-space-offset-right) var(--sky-comp-repeater_item-checkbox-space-offset-bottom) var(--sky-comp-repeater_item-checkbox-space-offset-left))}sky-repeater-item .sky-repeater-item-selectable:hover{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}sky-repeater-item .sky-repeater-item-selectable:active{box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}sky-repeater-item .sky-repeater-item-selectable:active:not(.sky-repeater-item-selected){background-color:var(--sky-override-repeater-item-selectable-background-color-active, var(--sky-color-background-selected-soft))}sky-repeater-item .sky-repeater-item-selectable:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-selectable-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}sky-repeater-item .sky-repeater-item-selected{background-color:var(--sky-override-repeater-item-selected-color, var(--sky-color-background-selected-soft));transition:background-color .15s}sky-repeater-item .sky-repeater-item-title{margin:0;flex-grow:1;line-height:var(--sky-override-repeater-item-title-line-height, var(--sky-font-line_height-body-m))}sky-repeater-item sky-repeater-item-content{display:block;margin:var(--sky-override-repeater-item-content-margin-top, var(--sky-space-stacked-s)) 0 0}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-header{cursor:pointer}sky-repeater-item .sky-repeater-item-collapsible .sky-repeater-item-content{padding-right:var(--sky-override-repeater-item-content-collapsible-padding-right, calc(var(--sky-comp-button-borderless-space-inset-bottom) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-size-icon-s) + var(--sky-space-gap-text_action-s)))}sky-repeater-item .sky-repeater-item-collapsed .sky-repeater-item-content{display:none}sky-repeater-item .sky-repeater-item-grab-handle{cursor:grab;cursor:-webkit-grab;cursor:-moz-grab;margin:var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) var(--sky-override-repeater-item-grab-handle-margin-right, var(--sky-space-gap-action_group-m)) var(--sky-override-repeater-item-grab-handle-margin-vertical, 0) 0}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless{height:var(--sky-override-repeater-item-grab-handle-size, \"\");padding:var(--sky-override-repeater-item-grab-handle-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));width:var(--sky-override-repeater-item-grab-handle-size, \"\")}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:active{box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-action-tertiary-active))}sky-repeater-item .sky-repeater-item-grab-handle.sky-btn-icon-borderless:hover{color:var(--sky-override-repeater-item-grab-handle-color-hover, var(--sky-color-icon-deemphasized));box-shadow:var(--sky-override-repeater-item-grab-handle-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-action-tertiary-hover))}sky-repeater-item.sky-repeater-item-dragging.gu-mirror{opacity:initial;-ms-filter:initial;filter:initial;background-color:var(--sky-override-repeater-item-dragging-background-color, var(--sky-color-background-container-base));box-shadow:var(--sky-override-repeater-item-dragging-box-shadow, var(--sky-elevation-overflow))}sky-repeater-item.sky-repeater-item-dragging.gu-transit .sky-repeater-item{background-color:var(--sky-override-repeater-item-dragging-background-color-static, var(--sky-color-background-action-soft))}sky-repeater-item.sky-repeater-item-dragging .sky-repeater-item-grab-handle{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}.hover-rows .sky-repeater-item{cursor:pointer}.hover-rows .sky-repeater-item:hover{background-color:var(--sky-override-repeater-item-selection-modal-background-color-hover);box-shadow:var(--sky-override-repeater-item-selection-modal-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:hover{box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-hover, inset 0 0 0 var(--sky-border-width-input-hover) var(--sky-color-border-input-hover))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active{background-color:var(--sky-override-repeater-item-split-view-background-color-active, var(--sky-color-background-selected-soft));box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-active, inset 0 0 0 var(--sky-border-width-input-active) var(--sky-color-border-input-active))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:active.sky-repeater-item-active{background-color:var(--sky-override-repeater-item-split-view-active-background-color-active, var(--sky-color-background-selected-soft))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item:focus-visible:not(:active){box-shadow:var(--sky-override-repeater-item-split-view-box-shadow-focus, inset 0 0 0 var(--sky-border-width-input-focus) var(--sky-color-border-input-focus))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item{padding-left:var(--sky-override-repeater-item-split-view-padding-left, var(--sky-comp-repeater_item-space-inset-left))}.sky-split-view-drawer sky-repeater-item .sky-repeater-item.sky-repeater-item-active{padding-left:var(--sky-override-repeater-item-split-view-padding-left-active, calc(var(--sky-comp-repeater_item-space-inset-left) - var(--sky-border-width-selected-m)))}\n"] }]
1415
1415
  }], ctorParameters: () => [{ type: SkyRepeaterService }, { type: i0.ChangeDetectorRef }, { type: SkyRepeaterAdapterService }, { type: i0.ElementRef }, { type: i3.SkyLibResourcesService }], propDecorators: { disabled: [{
1416
1416
  type: Input
1417
1417
  }], itemName: [{
@@ -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-l)) 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-l))));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-weight-body-m));color:var(--sky-override-sort-item-color-text, var(--sky-color-text-default))}\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 }); }
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-weight-body-m));color:var(--sky-override-sort-item-color-text, var(--sky-color-text-default))}\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-l)) 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-l))));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-weight-body-m));color:var(--sky-override-sort-item-color-text, var(--sky-color-text-default))}\n"] }]
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-weight-body-m));color:var(--sky-override-sort-item-color-text, var(--sky-color-text-default))}\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.26.0",
3
+ "version": "12.28.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.26.0",
24
- "@skyux/animations": "12.26.0",
25
- "@skyux/core": "12.26.0",
26
- "@skyux/forms": "12.26.0",
27
- "@skyux/i18n": "12.26.0",
28
- "@skyux/icon": "12.26.0",
29
- "@skyux/indicators": "12.26.0",
30
- "@skyux/inline-form": "12.26.0",
31
- "@skyux/popovers": "12.26.0",
32
- "@skyux/theme": "12.26.0"
23
+ "@skyux-sdk/testing": "12.28.0",
24
+ "@skyux/animations": "12.28.0",
25
+ "@skyux/core": "12.28.0",
26
+ "@skyux/forms": "12.28.0",
27
+ "@skyux/i18n": "12.28.0",
28
+ "@skyux/icon": "12.28.0",
29
+ "@skyux/indicators": "12.28.0",
30
+ "@skyux/inline-form": "12.28.0",
31
+ "@skyux/popovers": "12.28.0",
32
+ "@skyux/theme": "12.28.0"
33
33
  },
34
34
  "dependencies": {
35
35
  "@types/dragula": "2.1.36",