UNPKG

carbon-components-angular

Version:
102 lines 10.7 kB
import { Input, Output, Directive } from "@angular/core"; import * as i0 from "@angular/core"; /** * A component that intends to be used within `Dropdown` must provide an implementation that extends this base class. * It also must provide the base class in the `@Component` meta-data. * ex: `providers: [{provide: AbstractDropdownView, useExisting: forwardRef(() => MyDropdownView)}]` */ export class AbstractDropdownView { constructor() { /** * Specifies whether or not the `DropdownList` supports selecting multiple items as opposed to single * item selection. */ this.type = "single"; /** * Specifies the render size of the items within the `AbstractDropdownView`. */ this.size = "md"; } /** * The items to be displayed in the list within the `AbstractDropDownView`. */ set items(value) { } get items() { return; } /** * Returns the `ListItem` that is subsequent to the selected item in the `DropdownList`. */ getNextItem() { return; } /** * Returns a boolean if the currently selected item is preceded by another */ hasNextElement() { return; } /** * Returns the `HTMLElement` for the item that is subsequent to the selected item. */ getNextElement() { return; } /** * Returns the `ListItem` that precedes the selected item within `DropdownList`. */ getPrevItem() { return; } /** * Returns a boolean if the currently selected item is followed by another */ hasPrevElement() { return; } /** * Returns the `HTMLElement` for the item that precedes the selected item. */ getPrevElement() { return; } /** * Returns the selected leaf level item(s) within the `DropdownList`. */ getSelected() { return; } /** * Returns the `ListItem` that is selected within `DropdownList`. */ getCurrentItem() { return; } /** * Returns the `HTMLElement` for the item that is selected within the `DropdownList`. */ getCurrentElement() { return; } /** * Guaranteed to return the current items as an Array. */ getListItems() { return; } /** * Transforms array input list of items to the correct state by updating the selected item(s). */ propagateSelected(value) { } /** * * @param value value to filter the list by */ filterBy(value) { } /** * Initializes focus in the list * In most cases this just calls `getCurrentElement().focus()` */ initFocus() { } /** * Subscribe the function passed to an internal observable that will resolve once the items are ready */ onItemsReady(subcription) { } /** * Reorder selected items bringing them to the top of the list */ reorderSelected(moveFocus) { } } AbstractDropdownView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbstractDropdownView, deps: [], target: i0.ɵɵFactoryTarget.Directive }); AbstractDropdownView.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.3.0", type: AbstractDropdownView, selector: "[cdsAbstractDropdownView], [ibmAbstractDropdownView]", inputs: { items: "items" }, outputs: { select: "select", blurIntent: "blurIntent" }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: AbstractDropdownView, decorators: [{ type: Directive, args: [{ selector: "[cdsAbstractDropdownView], [ibmAbstractDropdownView]" }] }], propDecorators: { items: [{ type: Input }], select: [{ type: Output }], blurIntent: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZHJvcGRvd24tdmlldy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kcm9wZG93bi9hYnN0cmFjdC1kcm9wZG93bi12aWV3LmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsRUFDVCxNQUFNLGVBQWUsQ0FBQzs7QUFLdkI7Ozs7R0FJRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUF5QkM7OztXQUdHO1FBQ0ksU0FBSSxHQUF1QixRQUFRLENBQUM7UUFDM0M7O1dBRUc7UUFDSSxTQUFJLEdBQXVCLElBQUksQ0FBQztLQWdFdkM7SUE3RkE7O09BRUc7SUFDSCxJQUFhLEtBQUssQ0FBQyxLQUFvRCxJQUFJLENBQUM7SUFFNUUsSUFBSSxLQUFLLEtBQW9ELE9BQU8sQ0FBQyxDQUFDO0lBMEJ0RTs7T0FFRztJQUNILFdBQVcsS0FBZSxPQUFPLENBQUMsQ0FBQztJQUNuQzs7T0FFRztJQUNILGNBQWMsS0FBYyxPQUFPLENBQUMsQ0FBQztJQUNyQzs7T0FFRztJQUNILGNBQWMsS0FBa0IsT0FBTyxDQUFDLENBQUM7SUFDekM7O09BRUc7SUFDSCxXQUFXLEtBQWUsT0FBTyxDQUFDLENBQUM7SUFDbkM7O09BRUc7SUFDSCxjQUFjLEtBQWMsT0FBTyxDQUFDLENBQUM7SUFDckM7O09BRUc7SUFDSCxjQUFjLEtBQWtCLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDOztPQUVHO0lBQ0gsV0FBVyxLQUFpQixPQUFPLENBQUMsQ0FBQztJQUNyQzs7T0FFRztJQUNILGNBQWMsS0FBZSxPQUFPLENBQUMsQ0FBQztJQUN0Qzs7T0FFRztJQUNILGlCQUFpQixLQUFrQixPQUFPLENBQUMsQ0FBQztJQUM1Qzs7T0FFRztJQUNILFlBQVksS0FBc0IsT0FBTyxDQUFDLENBQUM7SUFDM0M7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxLQUFzQixJQUFTLENBQUM7SUFDbEQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQWEsSUFBUyxDQUFDO0lBQ2hDOzs7T0FHRztJQUNILFNBQVMsS0FBVSxDQUFDO0lBQ3BCOztPQUVHO0lBQ0gsWUFBWSxDQUFDLFdBQXVCLElBQVMsQ0FBQztJQUM5Qzs7T0FFRztJQUNILGVBQWUsQ0FBQyxTQUFtQixJQUFTLENBQUM7O2lIQTdGakMsb0JBQW9CO3FHQUFwQixvQkFBb0I7MkZBQXBCLG9CQUFvQjtrQkFIaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsc0RBQXNEO2lCQUNoRTs4QkFLYSxLQUFLO3NCQUFqQixLQUFLO2dCQU1JLE1BQU07c0JBQWYsTUFBTTtnQkFXRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0RXZlbnRFbWl0dGVyLFxuXHREaXJlY3RpdmVcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExpc3RJdGVtIH0gZnJvbSBcIi4vbGlzdC1pdGVtLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGludGVuZHMgdG8gYmUgdXNlZCB3aXRoaW4gYERyb3Bkb3duYCBtdXN0IHByb3ZpZGUgYW4gaW1wbGVtZW50YXRpb24gdGhhdCBleHRlbmRzIHRoaXMgYmFzZSBjbGFzcy5cbiAqIEl0IGFsc28gbXVzdCBwcm92aWRlIHRoZSBiYXNlIGNsYXNzIGluIHRoZSBgQENvbXBvbmVudGAgbWV0YS1kYXRhLlxuICogZXg6IGBwcm92aWRlcnM6IFt7cHJvdmlkZTogQWJzdHJhY3REcm9wZG93blZpZXcsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE15RHJvcGRvd25WaWV3KX1dYFxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6IFwiW2Nkc0Fic3RyYWN0RHJvcGRvd25WaWV3XSwgW2libUFic3RyYWN0RHJvcGRvd25WaWV3XVwiXG59KVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RHJvcGRvd25WaWV3IHtcblx0LyoqXG5cdCAqIFRoZSBpdGVtcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIGxpc3Qgd2l0aGluIHRoZSBgQWJzdHJhY3REcm9wRG93blZpZXdgLlxuXHQgKi9cblx0QElucHV0KCkgc2V0IGl0ZW1zKHZhbHVlOiBBcnJheTxMaXN0SXRlbT4gfCBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4pIHsgfVxuXG5cdGdldCBpdGVtcygpOiBBcnJheTxMaXN0SXRlbT4gfCBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtPj4geyByZXR1cm47IH1cblx0LyoqXG5cdCAqIEVtaXRzIHNlbGVjdGlvbiBldmVudHMgdG8gY29udHJvbGxpbmcgY2xhc3Nlc1xuXHQgKi9cblx0QE91dHB1dCgpIHNlbGVjdDogRXZlbnRFbWl0dGVyPHtpdGVtOiBMaXN0SXRlbSB9IHwgTGlzdEl0ZW1bXT47XG5cdC8qKlxuXHQgKiBFdmVudCB0byBzdWdnZXN0IGEgYmx1ciBvbiB0aGUgdmlldy5cblx0ICogRW1pdHMgX2FmdGVyXyB0aGUgZmlyc3QvbGFzdCBpdGVtIGhhcyBiZWVuIGZvY3VzZWQuXG5cdCAqIGV4LlxuXHQgKiBBcnJvd1VwIC0+IGZvY3VzIGZpcnN0IGl0ZW1cblx0ICogQXJyb3dVcCAtPiBlbWl0IGV2ZW50XG5cdCAqXG5cdCAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB0aGUgaW1wbGVtZW50aW5nIHZpZXcgaW5jbHVkZSBhIHNwZWNpZmljIHR5cGUgdW5pb24gb2YgcG9zc2libGUgYmx1cnNcblx0ICogZXguIGBAT3V0cHV0KCkgYmx1ckludGVudCA9IG5ldyBFdmVudEVtaXR0ZXI8XCJ0b3BcIiB8IFwiYm90dG9tXCI+KCk7YFxuXHQgKi9cblx0QE91dHB1dCgpIGJsdXJJbnRlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+O1xuXHQvKipcblx0ICogU3BlY2lmaWVzIHdoZXRoZXIgb3Igbm90IHRoZSBgRHJvcGRvd25MaXN0YCBzdXBwb3J0cyBzZWxlY3RpbmcgbXVsdGlwbGUgaXRlbXMgYXMgb3Bwb3NlZCB0byBzaW5nbGVcblx0ICogaXRlbSBzZWxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgdHlwZTogXCJzaW5nbGVcIiB8IFwibXVsdGlcIiA9IFwic2luZ2xlXCI7XG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIHJlbmRlciBzaXplIG9mIHRoZSBpdGVtcyB3aXRoaW4gdGhlIGBBYnN0cmFjdERyb3Bkb3duVmlld2AuXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZTogXCJzbVwiIHwgXCJtZFwiIHwgXCJsZ1wiID0gXCJtZFwiO1xuXHRwdWJsaWMgbGlzdElkPzogc3RyaW5nO1xuXHQvKipcblx0ICogUmV0dXJucyB0aGUgYExpc3RJdGVtYCB0aGF0IGlzIHN1YnNlcXVlbnQgdG8gdGhlIHNlbGVjdGVkIGl0ZW0gaW4gdGhlIGBEcm9wZG93bkxpc3RgLlxuXHQgKi9cblx0Z2V0TmV4dEl0ZW0oKTogTGlzdEl0ZW0geyByZXR1cm47IH1cblx0LyoqXG5cdCAqIFJldHVybnMgYSBib29sZWFuIGlmIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgaXRlbSBpcyBwcmVjZWRlZCBieSBhbm90aGVyXG5cdCAqL1xuXHRoYXNOZXh0RWxlbWVudCgpOiBib29sZWFuIHsgcmV0dXJuOyB9XG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBgSFRNTEVsZW1lbnRgIGZvciB0aGUgaXRlbSB0aGF0IGlzIHN1YnNlcXVlbnQgdG8gdGhlIHNlbGVjdGVkIGl0ZW0uXG5cdCAqL1xuXHRnZXROZXh0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7IHJldHVybjsgfVxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgYExpc3RJdGVtYCB0aGF0IHByZWNlZGVzIHRoZSBzZWxlY3RlZCBpdGVtIHdpdGhpbiBgRHJvcGRvd25MaXN0YC5cblx0ICovXG5cdGdldFByZXZJdGVtKCk6IExpc3RJdGVtIHsgcmV0dXJuOyB9XG5cdC8qKlxuXHQgKiBSZXR1cm5zIGEgYm9vbGVhbiBpZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIGl0ZW0gaXMgZm9sbG93ZWQgYnkgYW5vdGhlclxuXHQgKi9cblx0aGFzUHJldkVsZW1lbnQoKTogYm9vbGVhbiB7IHJldHVybjsgfVxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgYEhUTUxFbGVtZW50YCBmb3IgdGhlIGl0ZW0gdGhhdCBwcmVjZWRlcyB0aGUgc2VsZWN0ZWQgaXRlbS5cblx0ICovXG5cdGdldFByZXZFbGVtZW50KCk6IEhUTUxFbGVtZW50IHsgcmV0dXJuOyB9XG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBzZWxlY3RlZCBsZWFmIGxldmVsIGl0ZW0ocykgd2l0aGluIHRoZSBgRHJvcGRvd25MaXN0YC5cblx0ICovXG5cdGdldFNlbGVjdGVkKCk6IExpc3RJdGVtW10geyByZXR1cm47IH1cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGBMaXN0SXRlbWAgdGhhdCBpcyBzZWxlY3RlZCB3aXRoaW4gYERyb3Bkb3duTGlzdGAuXG5cdCAqL1xuXHRnZXRDdXJyZW50SXRlbSgpOiBMaXN0SXRlbSB7IHJldHVybjsgfVxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgYEhUTUxFbGVtZW50YCBmb3IgdGhlIGl0ZW0gdGhhdCBpcyBzZWxlY3RlZCB3aXRoaW4gdGhlIGBEcm9wZG93bkxpc3RgLlxuXHQgKi9cblx0Z2V0Q3VycmVudEVsZW1lbnQoKTogSFRNTEVsZW1lbnQgeyByZXR1cm47IH1cblx0LyoqXG5cdCAqIEd1YXJhbnRlZWQgdG8gcmV0dXJuIHRoZSBjdXJyZW50IGl0ZW1zIGFzIGFuIEFycmF5LlxuXHQgKi9cblx0Z2V0TGlzdEl0ZW1zKCk6IEFycmF5PExpc3RJdGVtPiB7IHJldHVybjsgfVxuXHQvKipcblx0ICogVHJhbnNmb3JtcyBhcnJheSBpbnB1dCBsaXN0IG9mIGl0ZW1zIHRvIHRoZSBjb3JyZWN0IHN0YXRlIGJ5IHVwZGF0aW5nIHRoZSBzZWxlY3RlZCBpdGVtKHMpLlxuXHQgKi9cblx0cHJvcGFnYXRlU2VsZWN0ZWQodmFsdWU6IEFycmF5PExpc3RJdGVtPik6IHZvaWQge31cblx0LyoqXG5cdCAqXG5cdCAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSB0byBmaWx0ZXIgdGhlIGxpc3QgYnlcblx0ICovXG5cdGZpbHRlckJ5KHZhbHVlOiBzdHJpbmcpOiB2b2lkIHt9XG5cdC8qKlxuXHQgKiBJbml0aWFsaXplcyBmb2N1cyBpbiB0aGUgbGlzdFxuXHQgKiBJbiBtb3N0IGNhc2VzIHRoaXMganVzdCBjYWxscyBgZ2V0Q3VycmVudEVsZW1lbnQoKS5mb2N1cygpYFxuXHQgKi9cblx0aW5pdEZvY3VzKCk6IHZvaWQge31cblx0LyoqXG5cdCAqIFN1YnNjcmliZSB0aGUgZnVuY3Rpb24gcGFzc2VkIHRvIGFuIGludGVybmFsIG9ic2VydmFibGUgdGhhdCB3aWxsIHJlc29sdmUgb25jZSB0aGUgaXRlbXMgYXJlIHJlYWR5XG5cdCAqL1xuXHRvbkl0ZW1zUmVhZHkoc3ViY3JpcHRpb246ICgpID0+IHZvaWQpOiB2b2lkIHt9XG5cdC8qKlxuXHQgKiBSZW9yZGVyIHNlbGVjdGVkIGl0ZW1zIGJyaW5naW5nIHRoZW0gdG8gdGhlIHRvcCBvZiB0aGUgbGlzdFxuXHQgKi9cblx0cmVvcmRlclNlbGVjdGVkKG1vdmVGb2N1cz86IGJvb2xlYW4pOiB2b2lkIHt9XG59XG4iXX0=