carbon-components-angular
Version:
Next generation components
109 lines • 9.18 kB
JavaScript
import { Component, Input, HostBinding } from "@angular/core";
import { Select } from "carbon-components-angular/select";
import { NG_VALUE_ACCESSOR } from "@angular/forms";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "carbon-components-angular/icon";
/**
* Get started with importing the module:
*
* ```typescript
* import { TimePickerSelectModule } from 'carbon-components-angular';
* ```
*
* [See demo](../../?path=/story/components-time-picker-select--simple)
*/
export class TimePickerSelect extends Select {
constructor() {
super(...arguments);
this.timeSelect = true;
this.timePickerSelect = true;
this.id = `timepicker-select-${TimePickerSelect.selectCount++}`;
/**
* Set to true for a loading select.
*/
this.skeleton = false;
/**
* @deprecated since v5 - Use `cdsLayer` directive instead
* `light` or `dark` select theme
*/
this.theme = "dark";
this.timePickerSelectSkeleton = this.skeleton;
}
get timePickerSelectLight() {
return this.theme === "light";
}
}
TimePickerSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerSelect, deps: null, target: i0.ɵɵFactoryTarget.Component });
TimePickerSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TimePickerSelect, selector: "cds-timepicker-select, ibm-timepicker-select", inputs: { id: "id", ariaLabel: "ariaLabel", skeleton: "skeleton", theme: "theme", label: "label" }, host: { properties: { "class.cds--select": "this.timeSelect", "class.cds--time-picker__select": "this.timePickerSelect", "class.cds--skeleton": "this.timePickerSelectSkeleton", "class.cds--select--light": "this.timePickerSelectLight" } }, providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: TimePickerSelect,
multi: true
}
], usesInheritance: true, ngImport: i0, template: `
<label *ngIf="!skeleton && label" [attr.for]="id" class="cds--label cds--visually-hidden">{{label}}</label>
<div class="cds--select-input__wrapper">
<select
[ ]="id"
[ ]="ariaLabel"
[ ]="disabled"
(change)="onChange($event)"
class="cds--select-input">
<ng-content></ng-content>
</select>
<svg cdsIcon="chevron--down" size="16" *ngIf="!skeleton" class="cds--select__arrow"></svg>
</div>
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.IconDirective, selector: "[cdsIcon], [ibmIcon]", inputs: ["ibmIcon", "cdsIcon", "size", "title", "ariaLabel", "ariaLabelledBy", "ariaHidden", "isFocusable"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerSelect, decorators: [{
type: Component,
args: [{
selector: "cds-timepicker-select, ibm-timepicker-select",
template: `
<label *ngIf="!skeleton && label" [attr.for]="id" class="cds--label cds--visually-hidden">{{label}}</label>
<div class="cds--select-input__wrapper">
<select
[ ]="id"
[ ]="ariaLabel"
[ ]="disabled"
(change)="onChange($event)"
class="cds--select-input">
<ng-content></ng-content>
</select>
<svg cdsIcon="chevron--down" size="16" *ngIf="!skeleton" class="cds--select__arrow"></svg>
</div>
`,
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: TimePickerSelect,
multi: true
}
]
}]
}], propDecorators: { timeSelect: [{
type: HostBinding,
args: ["class.cds--select"]
}], timePickerSelect: [{
type: HostBinding,
args: ["class.cds--time-picker__select"]
}], id: [{
type: Input
}], ariaLabel: [{
type: Input
}], skeleton: [{
type: Input
}], theme: [{
type: Input
}], label: [{
type: Input
}], timePickerSelectSkeleton: [{
type: HostBinding,
args: ["class.cds--skeleton"]
}], timePickerSelectLight: [{
type: HostBinding,
args: ["class.cds--select--light"]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RpbWVwaWNrZXItc2VsZWN0L3RpbWVwaWNrZXItc2VsZWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sU0FBUyxFQUNULEtBQUssRUFHTCxXQUFXLEVBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBRW5EOzs7Ozs7OztHQVFHO0FBMEJILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxNQUFNO0lBekI1Qzs7UUEwQm1DLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDTCxxQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFOUQsT0FBRSxHQUFHLHFCQUFxQixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBSXBFOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7O1dBR0c7UUFDTSxVQUFLLEdBQXFCLE1BQU0sQ0FBQztRQUlOLDZCQUF3QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7S0FLN0U7SUFIQSxJQUE2QyxxQkFBcUI7UUFDakUsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQztJQUMvQixDQUFDOzs2R0F6QlcsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsMFpBUmpCO1FBQ1Y7WUFDQyxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxnQkFBZ0I7WUFDN0IsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUNELGlEQXJCUzs7Ozs7Ozs7Ozs7Ozs7RUFjVDsyRkFTVyxnQkFBZ0I7a0JBekI1QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSw4Q0FBOEM7b0JBQ3hELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7RUFjVDtvQkFDRCxTQUFTLEVBQUU7d0JBQ1Y7NEJBQ0MsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxrQkFBa0I7NEJBQzdCLEtBQUssRUFBRSxJQUFJO3lCQUNYO3FCQUNEO2lCQUNEOzhCQUVrQyxVQUFVO3NCQUEzQyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFDZSxnQkFBZ0I7c0JBQTlELFdBQVc7dUJBQUMsZ0NBQWdDO2dCQUVwQyxFQUFFO3NCQUFWLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRThCLHdCQUF3QjtzQkFBM0QsV0FBVzt1QkFBQyxxQkFBcUI7Z0JBRVcscUJBQXFCO3NCQUFqRSxXQUFXO3VCQUFDLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENvbXBvbmVudCxcblx0SW5wdXQsXG5cdE91dHB1dCxcblx0RXZlbnRFbWl0dGVyLFxuXHRIb3N0QmluZGluZyxcblx0VGVtcGxhdGVSZWZcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gXCJjYXJib24tY29tcG9uZW50cy1hbmd1bGFyL3NlbGVjdFwiO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuLyoqXG4gKiBHZXQgc3RhcnRlZCB3aXRoIGltcG9ydGluZyB0aGUgbW9kdWxlOlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGltcG9ydCB7IFRpbWVQaWNrZXJTZWxlY3RNb2R1bGUgfSBmcm9tICdjYXJib24tY29tcG9uZW50cy1hbmd1bGFyJztcbiAqIGBgYFxuICpcbiAqIFtTZWUgZGVtb10oLi4vLi4vP3BhdGg9L3N0b3J5L2NvbXBvbmVudHMtdGltZS1waWNrZXItc2VsZWN0LS1zaW1wbGUpXG4gKi9cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJjZHMtdGltZXBpY2tlci1zZWxlY3QsIGlibS10aW1lcGlja2VyLXNlbGVjdFwiLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxsYWJlbCAqbmdJZj1cIiFza2VsZXRvbiAmJiBsYWJlbFwiIFthdHRyLmZvcl09XCJpZFwiIGNsYXNzPVwiY2RzLS1sYWJlbCBjZHMtLXZpc3VhbGx5LWhpZGRlblwiPnt7bGFiZWx9fTwvbGFiZWw+XG5cdFx0PGRpdiBjbGFzcz1cImNkcy0tc2VsZWN0LWlucHV0X193cmFwcGVyXCI+XG5cdFx0XHQ8c2VsZWN0XG5cdFx0XHRcdCNzZWxlY3Rcblx0XHRcdFx0W2F0dHIuaWRdPVwiaWRcIlxuXHRcdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG5cdFx0XHRcdFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG5cdFx0XHRcdChjaGFuZ2UpPVwib25DaGFuZ2UoJGV2ZW50KVwiXG5cdFx0XHRcdGNsYXNzPVwiY2RzLS1zZWxlY3QtaW5wdXRcIj5cblx0XHRcdFx0PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuXHRcdFx0PC9zZWxlY3Q+XG5cdFx0XHQ8c3ZnIGNkc0ljb249XCJjaGV2cm9uLS1kb3duXCIgc2l6ZT1cIjE2XCIgKm5nSWY9XCIhc2tlbGV0b25cIiBjbGFzcz1cImNkcy0tc2VsZWN0X19hcnJvd1wiPjwvc3ZnPlxuXHRcdDwvZGl2PlxuXHRgLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBUaW1lUGlja2VyU2VsZWN0LFxuXHRcdFx0bXVsdGk6IHRydWVcblx0XHR9XG5cdF1cbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlclNlbGVjdCBleHRlbmRzIFNlbGVjdCB7XG5cdEBIb3N0QmluZGluZyhcImNsYXNzLmNkcy0tc2VsZWN0XCIpIHRpbWVTZWxlY3QgPSB0cnVlO1xuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXRpbWUtcGlja2VyX19zZWxlY3RcIikgdGltZVBpY2tlclNlbGVjdCA9IHRydWU7XG5cblx0QElucHV0KCkgaWQgPSBgdGltZXBpY2tlci1zZWxlY3QtJHtUaW1lUGlja2VyU2VsZWN0LnNlbGVjdENvdW50Kyt9YDtcblxuXHRASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcblxuXHQvKipcblx0ICogU2V0IHRvIHRydWUgZm9yIGEgbG9hZGluZyBzZWxlY3QuXG5cdCAqL1xuXHRASW5wdXQoKSBza2VsZXRvbiA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBAZGVwcmVjYXRlZCBzaW5jZSB2NSAtIFVzZSBgY2RzTGF5ZXJgIGRpcmVjdGl2ZSBpbnN0ZWFkXG5cdCAqIGBsaWdodGAgb3IgYGRhcmtgIHNlbGVjdCB0aGVtZVxuXHQgKi9cblx0QElucHV0KCkgdGhlbWU6IFwibGlnaHRcIiB8IFwiZGFya1wiID0gXCJkYXJrXCI7XG5cblx0QElucHV0KCkgbGFiZWw6IHN0cmluZztcblxuXHRASG9zdEJpbmRpbmcoXCJjbGFzcy5jZHMtLXNrZWxldG9uXCIpIHRpbWVQaWNrZXJTZWxlY3RTa2VsZXRvbiA9IHRoaXMuc2tlbGV0b247XG5cblx0QEhvc3RCaW5kaW5nKFwiY2xhc3MuY2RzLS1zZWxlY3QtLWxpZ2h0XCIpIGdldCB0aW1lUGlja2VyU2VsZWN0TGlnaHQoKSB7XG5cdFx0cmV0dXJuIHRoaXMudGhlbWUgPT09IFwibGlnaHRcIjtcblx0fVxufVxuIl19