@fundamental-ngx/core 0.43.4 → 0.43.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/button/base-button.d.ts +3 -1
- package/button/button.component.d.ts +5 -0
- package/date-picker/date-picker.component.d.ts +15 -2
- package/datetime-picker/datetime-picker.component.d.ts +6 -0
- package/esm2020/button/base-button.mjs +4 -2
- package/esm2020/button/button.component.mjs +19 -5
- package/esm2020/carousel/carousel.service.mjs +5 -1
- package/esm2020/date-picker/date-picker.component.mjs +51 -22
- package/esm2020/datetime-picker/datetime-picker.component.mjs +29 -17
- package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +3 -3
- package/esm2020/multi-input/multi-input.component.mjs +3 -3
- package/esm2020/switch/switch.component.mjs +3 -3
- package/fesm2015/fundamental-ngx-core-button.mjs +21 -5
- package/fesm2015/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-carousel.mjs +4 -0
- package/fesm2015/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-date-picker.mjs +51 -21
- package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-datetime-picker.mjs +28 -16
- package/fesm2015/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-button.mjs +21 -5
- package/fesm2020/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-carousel.mjs +4 -0
- package/fesm2020/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-date-picker.mjs +50 -21
- package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-datetime-picker.mjs +28 -16
- package/fesm2020/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-switch.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fundamental-ngx-core-v0.43.6.tgz +0 -0
- package/multi-input/multi-input.component.d.ts +3 -1
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/fundamental-ngx-core-v0.43.4.tgz +0 -0
|
@@ -75,8 +75,7 @@ class SwitchComponent {
|
|
|
75
75
|
/** Checked property of the switch. */
|
|
76
76
|
set isChecked(value) {
|
|
77
77
|
this._switchLabelWrapperEl.nativeElement.classList.remove('fd-switch-no-animate');
|
|
78
|
-
this.
|
|
79
|
-
this.onChange(value);
|
|
78
|
+
this.writeValue(value);
|
|
80
79
|
this.checkedChange.emit(value);
|
|
81
80
|
setTimeout(() => {
|
|
82
81
|
// add the no-animate class after the transition duration, 100ms
|
|
@@ -92,6 +91,7 @@ class SwitchComponent {
|
|
|
92
91
|
*/
|
|
93
92
|
writeValue(value) {
|
|
94
93
|
this.checked = value;
|
|
94
|
+
this.onChange(value);
|
|
95
95
|
this._changeDetectorRef.detectChanges();
|
|
96
96
|
}
|
|
97
97
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-switch.mjs","sources":["../../../../libs/core/src/lib/switch/switch.component.ts","../../../../libs/core/src/lib/switch/switch.component.html","../../../../libs/core/src/lib/switch/deprecated-switch-compact.directive.ts","../../../../libs/core/src/lib/switch/switch.module.ts","../../../../libs/core/src/lib/switch/fundamental-ngx-core-switch.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nlet switchUniqueId = 0;\nlet warnedAboutAriaLabeledBy = false;\n\n/**\n * The Switch component is used to activate or deactivate an element.\n * It uses a visual metaphor to inform the user of the state of the switch.\n */\n@Component({\n selector: 'fd-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true\n },\n registerFormItemControl(SwitchComponent),\n contentDensityObserverProviders()\n ],\n host: {\n class: 'fd-form__item fd-form__item--check fd-switch-custom',\n '[attr.id]': 'id',\n '(focusout)': 'onTouched()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SwitchComponent implements ControlValueAccessor, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('switchInput')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** Optional text for the active state of the switch. */\n @Input()\n activeText = '';\n\n /** Optional text for the inactive state of the switch. */\n @Input()\n inactiveText = '';\n\n /** Whether the switch is disabled. */\n @Input()\n disabled = false;\n\n /** Id for the switch component. If omitted, a unique one is generated. */\n @Input()\n id = `fd-switch-${switchUniqueId++}`;\n\n /** Sets input name attribute. */\n @Input()\n name: string;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the switch is checked. */\n @Input()\n checked = false;\n\n /** Whether the switch is semantic */\n @Input()\n semantic = false;\n\n /** aria-label attribute of the inner input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** @deprecated renamed to \"ariaLabelledBy\" */\n @Input()\n set ariaLabelledby(value: Nullable<string>) {\n if (isDevMode() && !warnedAboutAriaLabeledBy) {\n console.warn('fd-switch[ariaLabelledby] is deprecated. Use fd-switch[ariaLabelledBy] instead');\n warnedAboutAriaLabeledBy = true;\n }\n this.ariaLabelledBy = value;\n }\n\n /** aria-labelledby attribute of the inner input element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /**\n * @deprecated use i18n capabilities instead\n * Semantic Label Accept set for Accessibility\n */\n @Input()\n semanticAcceptLabel: string;\n\n /**\n * @deprecated use i18n capabilities instead\n * Semantic Label Decline set for Accessibility\n */\n @Input()\n semanticDeclineLabel: string;\n\n /**\n * Event fired when the state of the switch changes.\n * *$event* can be used to retrieve the new state of the switch.\n */\n @Output()\n readonly checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('switchEl', { read: ElementRef })\n _switchLabelWrapperEl: ElementRef;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n onChange: (value: boolean) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Set focus on the input element. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /** Get the id of the inner input element of the switch. */\n get innerInputId(): string {\n return `${this.id}-input`;\n }\n\n /** Get the id of the semantic label element of the switch. */\n get _semanticLabelId(): string {\n return `${this.id}-semantic-label`;\n }\n\n /** Checked property of the switch. */\n set isChecked(value) {\n this._switchLabelWrapperEl.nativeElement.classList.remove('fd-switch-no-animate');\n this.checked = value;\n this.onChange(value);\n this.checkedChange.emit(value);\n setTimeout(() => {\n // add the no-animate class after the transition duration, 100ms\n this._switchLabelWrapperEl.nativeElement.classList.add('fd-switch-no-animate');\n }, 100);\n }\n get isChecked(): boolean {\n return this.checked;\n }\n\n /**\n * @hidden\n * @param value Sets the value of the *checked* property of the switch.\n */\n writeValue(value: any): void {\n this.checked = value;\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onChange* event of the switch.\n */\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onTouch* event of the switch.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @hidden\n * @param isDisabled Sets the value of the *disabled* property of the switch.\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n}\n","<label\n class=\"fd-switch fd-switch-no-animate\"\n (click)=\"focus()\"\n [style.cursor]=\"disabled ? 'auto' : 'pointer'\"\n [class.is-compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-switch--semantic]=\"semantic\"\n [class.is-disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n #switchEl\n>\n <span *ngIf=\"isChecked ? activeText : inactiveText as text\" class=\"fd-switch__text\">\n {{ text }}\n </span>\n <span class=\"fd-switch__control\">\n <input\n #switchInput\n class=\"fd-switch__input\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"innerInputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-labelledby]=\"ariaLabelledBy + ' ' + (semantic ? _semanticLabelId : '')\"\n [(ngModel)]=\"isChecked\"\n />\n <div class=\"fd-switch__slider\">\n <div class=\"fd-switch__track\" aria-hidden=\"true\">\n <i\n *ngIf=\"semantic\"\n role=\"presentation\"\n class=\"fd-switch__icon fd-switch__icon--on sap-icon--accept\"\n ></i>\n <span class=\"fd-switch__handle\" role=\"presentation\"></span>\n <i\n *ngIf=\"semantic\"\n role=\"presentation\"\n class=\"fd-switch__icon--off fd-switch__icon sap-icon--decline\"\n ></i>\n </div>\n\n <span *ngIf=\"semantic\" [id]=\"_semanticLabelId\" aria-hidden=\"true\" class=\"fd-switch__invisible-text\">\n {{\n checked\n ? semanticAcceptLabel || ('coreSwitch.semanticAcceptLabel' | fdTranslate)\n : semanticDeclineLabel || ('coreSwitch.semanticAcceptLabel' | fdTranslate)\n }}\n </span>\n </div>\n </span>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-switch[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedSwitchCompactDirective)\n }\n ]\n})\nexport class DeprecatedSwitchCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-switch');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SwitchComponent } from './switch.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { FormsModule } from '@angular/forms';\nimport { DeprecatedSwitchCompactDirective } from './deprecated-switch-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [SwitchComponent, DeprecatedSwitchCompactDirective],\n imports: [CommonModule, FormsModule, ContentDensityModule, I18nModule],\n exports: [SwitchComponent, DeprecatedSwitchCompactDirective, ContentDensityModule]\n})\nexport class SwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-switch.mjs","sources":["../../../../libs/core/src/lib/switch/switch.component.ts","../../../../libs/core/src/lib/switch/switch.component.html","../../../../libs/core/src/lib/switch/deprecated-switch-compact.directive.ts","../../../../libs/core/src/lib/switch/switch.module.ts","../../../../libs/core/src/lib/switch/fundamental-ngx-core-switch.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nlet switchUniqueId = 0;\nlet warnedAboutAriaLabeledBy = false;\n\n/**\n * The Switch component is used to activate or deactivate an element.\n * It uses a visual metaphor to inform the user of the state of the switch.\n */\n@Component({\n selector: 'fd-switch',\n templateUrl: './switch.component.html',\n styleUrls: ['./switch.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => SwitchComponent),\n multi: true\n },\n registerFormItemControl(SwitchComponent),\n contentDensityObserverProviders()\n ],\n host: {\n class: 'fd-form__item fd-form__item--check fd-switch-custom',\n '[attr.id]': 'id',\n '(focusout)': 'onTouched()'\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SwitchComponent implements ControlValueAccessor, OnDestroy, FormItemControl {\n /** @hidden */\n @ViewChild('switchInput')\n inputElement: ElementRef<HTMLInputElement>;\n\n /** Optional text for the active state of the switch. */\n @Input()\n activeText = '';\n\n /** Optional text for the inactive state of the switch. */\n @Input()\n inactiveText = '';\n\n /** Whether the switch is disabled. */\n @Input()\n disabled = false;\n\n /** Id for the switch component. If omitted, a unique one is generated. */\n @Input()\n id = `fd-switch-${switchUniqueId++}`;\n\n /** Sets input name attribute. */\n @Input()\n name: string;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the switch is checked. */\n @Input()\n checked = false;\n\n /** Whether the switch is semantic */\n @Input()\n semantic = false;\n\n /** aria-label attribute of the inner input element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** @deprecated renamed to \"ariaLabelledBy\" */\n @Input()\n set ariaLabelledby(value: Nullable<string>) {\n if (isDevMode() && !warnedAboutAriaLabeledBy) {\n console.warn('fd-switch[ariaLabelledby] is deprecated. Use fd-switch[ariaLabelledBy] instead');\n warnedAboutAriaLabeledBy = true;\n }\n this.ariaLabelledBy = value;\n }\n\n /** aria-labelledby attribute of the inner input element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /**\n * @deprecated use i18n capabilities instead\n * Semantic Label Accept set for Accessibility\n */\n @Input()\n semanticAcceptLabel: string;\n\n /**\n * @deprecated use i18n capabilities instead\n * Semantic Label Decline set for Accessibility\n */\n @Input()\n semanticDeclineLabel: string;\n\n /**\n * Event fired when the state of the switch changes.\n * *$event* can be used to retrieve the new state of the switch.\n */\n @Output()\n readonly checkedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild('switchEl', { read: ElementRef })\n _switchLabelWrapperEl: ElementRef;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n onChange: (value: boolean) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n constructor(\n private readonly _changeDetectorRef: ChangeDetectorRef,\n readonly _contentDensityObserver: ContentDensityObserver\n ) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** Set focus on the input element. */\n focus(): void {\n this.inputElement.nativeElement.focus();\n }\n\n /** Get the id of the inner input element of the switch. */\n get innerInputId(): string {\n return `${this.id}-input`;\n }\n\n /** Get the id of the semantic label element of the switch. */\n get _semanticLabelId(): string {\n return `${this.id}-semantic-label`;\n }\n\n /** Checked property of the switch. */\n set isChecked(value) {\n this._switchLabelWrapperEl.nativeElement.classList.remove('fd-switch-no-animate');\n this.writeValue(value);\n this.checkedChange.emit(value);\n setTimeout(() => {\n // add the no-animate class after the transition duration, 100ms\n this._switchLabelWrapperEl.nativeElement.classList.add('fd-switch-no-animate');\n }, 100);\n }\n get isChecked(): boolean {\n return this.checked;\n }\n\n /**\n * @hidden\n * @param value Sets the value of the *checked* property of the switch.\n */\n writeValue(value: any): void {\n this.checked = value;\n this.onChange(value);\n this._changeDetectorRef.detectChanges();\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onChange* event of the switch.\n */\n registerOnChange(fn: (value: boolean) => void): void {\n this.onChange = fn;\n }\n\n /**\n * @hidden\n * @param fn User defined function that handles the *onTouch* event of the switch.\n */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n /**\n * @hidden\n * @param isDisabled Sets the value of the *disabled* property of the switch.\n */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n}\n","<label\n class=\"fd-switch fd-switch-no-animate\"\n (click)=\"focus()\"\n [style.cursor]=\"disabled ? 'auto' : 'pointer'\"\n [class.is-compact]=\"_contentDensityObserver.isCompact$ | async\"\n [class.fd-switch--semantic]=\"semantic\"\n [class.is-disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n #switchEl\n>\n <span *ngIf=\"isChecked ? activeText : inactiveText as text\" class=\"fd-switch__text\">\n {{ text }}\n </span>\n <span class=\"fd-switch__control\">\n <input\n #switchInput\n class=\"fd-switch__input\"\n type=\"checkbox\"\n role=\"switch\"\n [id]=\"innerInputId\"\n [name]=\"name\"\n [disabled]=\"disabled\"\n [attr.aria-required]=\"required\"\n [attr.aria-checked]=\"checked\"\n [attr.aria-labelledby]=\"ariaLabelledBy + ' ' + (semantic ? _semanticLabelId : '')\"\n [(ngModel)]=\"isChecked\"\n />\n <div class=\"fd-switch__slider\">\n <div class=\"fd-switch__track\" aria-hidden=\"true\">\n <i\n *ngIf=\"semantic\"\n role=\"presentation\"\n class=\"fd-switch__icon fd-switch__icon--on sap-icon--accept\"\n ></i>\n <span class=\"fd-switch__handle\" role=\"presentation\"></span>\n <i\n *ngIf=\"semantic\"\n role=\"presentation\"\n class=\"fd-switch__icon--off fd-switch__icon sap-icon--decline\"\n ></i>\n </div>\n\n <span *ngIf=\"semantic\" [id]=\"_semanticLabelId\" aria-hidden=\"true\" class=\"fd-switch__invisible-text\">\n {{\n checked\n ? semanticAcceptLabel || ('coreSwitch.semanticAcceptLabel' | fdTranslate)\n : semanticDeclineLabel || ('coreSwitch.semanticAcceptLabel' | fdTranslate)\n }}\n </span>\n </div>\n </span>\n</label>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-switch[compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedSwitchCompactDirective)\n }\n ]\n})\nexport class DeprecatedSwitchCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-switch');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SwitchComponent } from './switch.component';\nimport { I18nModule } from '@fundamental-ngx/i18n';\nimport { FormsModule } from '@angular/forms';\nimport { DeprecatedSwitchCompactDirective } from './deprecated-switch-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [SwitchComponent, DeprecatedSwitchCompactDirective],\n imports: [CommonModule, FormsModule, ContentDensityModule, I18nModule],\n exports: [SwitchComponent, DeprecatedSwitchCompactDirective, ContentDensityModule]\n})\nexport class SwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ class BaseButton {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
BaseButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseButton, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
63
|
-
BaseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseButton, inputs: { type: "type", glyphPosition: "glyphPosition", glyph: "glyph", fdType: "fdType", label: "label", fdMenu: "fdMenu", ariaLabel: "ariaLabel", toggled: "toggled", disabled: "disabled", ariaDisabled: ["aria-disabled", "ariaDisabled"] }, host: { properties: { "class.fd-button--toggled": "this._toggled", "attr.aria-pressed": "this._toggled" } }, ngImport: i0 });
|
|
63
|
+
BaseButton.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: BaseButton, inputs: { type: "type", glyphPosition: "glyphPosition", glyph: "glyph", fdType: "fdType", label: "label", fdMenu: "fdMenu", ariaLabel: "ariaLabel", ariaDescription: "ariaDescription", toggled: "toggled", disabled: "disabled", ariaDisabled: ["aria-disabled", "ariaDisabled"] }, host: { properties: { "class.fd-button--toggled": "this._toggled", "attr.aria-pressed": "this._toggled" } }, ngImport: i0 });
|
|
64
64
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BaseButton, decorators: [{
|
|
65
65
|
type: Directive
|
|
66
66
|
}], propDecorators: { type: [{
|
|
@@ -77,6 +77,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
77
77
|
type: Input
|
|
78
78
|
}], ariaLabel: [{
|
|
79
79
|
type: Input
|
|
80
|
+
}], ariaDescription: [{
|
|
81
|
+
type: Input
|
|
80
82
|
}], _toggled: [{
|
|
81
83
|
type: HostBinding,
|
|
82
84
|
args: ['class.fd-button--toggled']
|
|
@@ -115,14 +117,27 @@ class ButtonComponent extends BaseButton {
|
|
|
115
117
|
}
|
|
116
118
|
if (this.specialButtonType.includes(this.fdType)) {
|
|
117
119
|
if (this.label != null) {
|
|
118
|
-
return this.label
|
|
120
|
+
return this.label;
|
|
119
121
|
}
|
|
120
122
|
if (this.glyph != null) {
|
|
121
|
-
return this.
|
|
123
|
+
return this.glyph.split('-').join(' ');
|
|
122
124
|
}
|
|
123
125
|
}
|
|
124
126
|
return null;
|
|
125
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Calculate aria-description attribute
|
|
130
|
+
* @hidden
|
|
131
|
+
*/
|
|
132
|
+
get buttonAriaDescription() {
|
|
133
|
+
if (this.ariaDescription) {
|
|
134
|
+
return this.ariaDescription;
|
|
135
|
+
}
|
|
136
|
+
if (this.specialButtonType.includes(this.fdType)) {
|
|
137
|
+
return this.fdType;
|
|
138
|
+
}
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
126
141
|
/** Forces the focus outline around the button, which is not default behavior in Safari. */
|
|
127
142
|
clicked(event) {
|
|
128
143
|
const target = event?.target;
|
|
@@ -181,7 +196,7 @@ class ButtonComponent extends BaseButton {
|
|
|
181
196
|
}
|
|
182
197
|
}
|
|
183
198
|
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
184
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: { class: "class" }, host: { listeners: { "click": "clicked($event)" }, properties: { "attr.type": "type", "attr.disabled": "_disabled || null", "attr.aria-label": "buttonArialabel" } }, providers: [
|
|
199
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: { class: "class" }, host: { listeners: { "click": "clicked($event)" }, properties: { "attr.type": "type", "attr.disabled": "_disabled || null", "attr.aria-label": "buttonArialabel", "attr.aria-description": "buttonAriaDescription" } }, providers: [
|
|
185
200
|
contentDensityObserverProviders(),
|
|
186
201
|
{
|
|
187
202
|
provide: FD_BUTTON_COMPONENT,
|
|
@@ -199,7 +214,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
199
214
|
args: [{ selector: 'button[fd-button], a[fd-button]', exportAs: 'fd-button', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
200
215
|
'[attr.type]': 'type',
|
|
201
216
|
'[attr.disabled]': '_disabled || null',
|
|
202
|
-
'[attr.aria-label]': 'buttonArialabel'
|
|
217
|
+
'[attr.aria-label]': 'buttonArialabel',
|
|
218
|
+
'[attr.aria-description]': 'buttonAriaDescription'
|
|
203
219
|
}, providers: [
|
|
204
220
|
contentDensityObserverProviders(),
|
|
205
221
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-button.mjs","sources":["../../../../libs/core/src/lib/button/base-button.ts","../../../../libs/core/src/lib/button/tokens.ts","../../../../libs/core/src/lib/button/button.component.ts","../../../../libs/core/src/lib/button/button.component.html","../../../../libs/core/src/lib/button/deprecated-button-content-density.directive.ts","../../../../libs/core/src/lib/button/button.module.ts","../../../../libs/core/src/lib/button/fundamental-ngx-core-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type GlyphPosition = 'before' | 'after';\n\nexport type ButtonType =\n | ''\n | 'standard'\n | 'positive'\n | 'negative'\n | 'attention'\n | 'half'\n | 'ghost'\n | 'transparent'\n | 'emphasized'\n | 'menu';\n\n@Directive()\nexport class BaseButton {\n /**\n * Native type of button element\n */\n @Input()\n type: Nullable<string> = 'button';\n\n /** Position of glyph related to text */\n @Input()\n glyphPosition: GlyphPosition = 'before';\n\n /** The icon to include in the button. See the icon page for the list of icons.\n * Setter is used to control when css class have to be rebuilded.\n * Default value is set to ''.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Leave empty for default (Standard button).'\n * Default value is set to 'standard'\n */\n @Input()\n fdType: ButtonType = 'standard';\n\n /**\n * Text rendered inside button component\n */\n @Input()\n label: string;\n\n /** Whether to apply menu mode to the button.\n * Default value is set to false\n */\n @Input()\n fdMenu = false;\n\n /** adding native aria-label to the component */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** @hidden */\n @HostBinding('class.fd-button--toggled')\n @HostBinding('attr.aria-pressed')\n _toggled: boolean;\n\n /** @hidden */\n _disabled = false;\n\n /** @hidden */\n _ariaDisabled: boolean;\n\n /** Whether button is in toggled state. */\n @Input()\n set toggled(value: BooleanInput) {\n this._toggled = coerceBooleanProperty(value);\n }\n get toggled(): boolean {\n return this._toggled;\n }\n\n /**\n * Native disabled attribute of button element\n */\n @Input()\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Native aria-disabled attribute of button element\n */\n @Input('aria-disabled')\n set ariaDisabled(value: BooleanInput) {\n this._ariaDisabled = coerceBooleanProperty(value);\n }\n get ariaDisabled(): boolean {\n return this._ariaDisabled;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_BUTTON_COMPONENT = new InjectionToken('FdButtonComponent');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { BaseButton } from './base-button';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nimport { FD_BUTTON_COMPONENT } from './tokens';\n\n/**\n * Button directive, used to enhance standard HTML buttons.\n *\n * ``` selector: button[fd-button], a[fd-button] ```\n *\n * ```html\n * <button fd-button label=\"Button Text\"></button>\n * <a fd-button label=\"Button Text\"></a>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[fd-button], a[fd-button]',\n exportAs: 'fd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.type]': 'type',\n '[attr.disabled]': '_disabled || null',\n '[attr.aria-label]': 'buttonArialabel'\n },\n providers: [\n contentDensityObserverProviders(),\n {\n provide: FD_BUTTON_COMPONENT,\n useExisting: ButtonComponent\n }\n ]\n})\nexport class ButtonComponent extends BaseButton implements OnChanges, CssClassBuilder, OnInit, OnDestroy {\n /** The property allows user to pass additional css classes. */\n @Input()\n class = '';\n\n /** @hidden */\n specialButtonType: Array<string> = ['emphasized', 'positive', 'negative', 'attention'];\n\n /**\n * Calculate aria-label attribute\n * @hidden\n */\n get buttonArialabel(): string | null {\n if (this.ariaLabel) {\n return this.ariaLabel;\n }\n\n if (this.specialButtonType.includes(this.fdType)) {\n if (this.label != null) {\n return this.label + ', ' + this.fdType;\n }\n\n if (this.glyph != null) {\n return this.fdType + ', ' + this.glyph.split('-').join(' ');\n }\n }\n\n return null;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Forces the focus outline around the button, which is not default behavior in Safari. */\n @HostListener('click', ['$event'])\n clicked(event: MouseEvent): void {\n const target = event?.target as HTMLElement;\n // Target can be empty during unit tests execution.\n if (target && document.activeElement !== target) {\n target.focus();\n }\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n super();\n _contentDensityObserver.subscribe();\n }\n\n /** Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n public ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n this.fdType ? `fd-button--${this.fdType}` : '',\n this.fdMenu ? 'fd-button--menu' : '',\n this._disabled || this._ariaDisabled ? 'is-disabled' : '',\n this.toggled ? `fd-button--toggled` : '',\n this.class\n ];\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectorRef.detectChanges();\n }\n}\n","<ng-container *ngIf=\"glyph && glyphPosition === 'before'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<span class=\"fd-button__text\" *ngIf=\"label\">\n {{ label }}\n</span>\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"glyph && glyphPosition === 'after'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<fd-icon glyph=\"slim-arrow-down\" *ngIf=\"fdMenu\"></fd-icon>\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-button][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedButtonContentDensityDirective)\n }\n ]\n})\nexport class DeprecatedButtonContentDensityDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('[fd-button]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonComponent } from './button.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { DeprecatedButtonContentDensityDirective } from './deprecated-button-content-density.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, IconModule, ContentDensityModule],\n exports: [ButtonComponent, DeprecatedButtonContentDensityDirective, ContentDensityModule],\n declarations: [ButtonComponent, DeprecatedButtonContentDensityDirective]\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-button.mjs","sources":["../../../../libs/core/src/lib/button/base-button.ts","../../../../libs/core/src/lib/button/tokens.ts","../../../../libs/core/src/lib/button/button.component.ts","../../../../libs/core/src/lib/button/button.component.html","../../../../libs/core/src/lib/button/deprecated-button-content-density.directive.ts","../../../../libs/core/src/lib/button/button.module.ts","../../../../libs/core/src/lib/button/fundamental-ngx-core-button.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/member-ordering */\nimport { Directive, HostBinding, Input } from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nexport type GlyphPosition = 'before' | 'after';\n\nexport type ButtonType =\n | ''\n | 'standard'\n | 'positive'\n | 'negative'\n | 'attention'\n | 'half'\n | 'ghost'\n | 'transparent'\n | 'emphasized'\n | 'menu';\n\n@Directive()\nexport class BaseButton {\n /**\n * Native type of button element\n */\n @Input()\n type: Nullable<string> = 'button';\n\n /** Position of glyph related to text */\n @Input()\n glyphPosition: GlyphPosition = 'before';\n\n /** The icon to include in the button. See the icon page for the list of icons.\n * Setter is used to control when css class have to be rebuilded.\n * Default value is set to ''.\n */\n @Input()\n glyph: Nullable<string>;\n\n /** The type of the button. Types include:\n * 'standard' | 'positive' | 'negative' | 'attention' | 'half' | 'ghost' | 'transparent' | 'emphasized' | 'menu'.\n * Leave empty for default (Standard button).'\n * Default value is set to 'standard'\n */\n @Input()\n fdType: ButtonType = 'standard';\n\n /**\n * Text rendered inside button component\n */\n @Input()\n label: string;\n\n /** Whether to apply menu mode to the button.\n * Default value is set to false\n */\n @Input()\n fdMenu = false;\n\n /** adding native aria-label to the component */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** adding native aria-description to the componenet */\n @Input()\n ariaDescription: Nullable<string>;\n\n /** @hidden */\n @HostBinding('class.fd-button--toggled')\n @HostBinding('attr.aria-pressed')\n _toggled: boolean;\n\n /** @hidden */\n _disabled = false;\n\n /** @hidden */\n _ariaDisabled: boolean;\n\n /** Whether button is in toggled state. */\n @Input()\n set toggled(value: BooleanInput) {\n this._toggled = coerceBooleanProperty(value);\n }\n get toggled(): boolean {\n return this._toggled;\n }\n\n /**\n * Native disabled attribute of button element\n */\n @Input()\n set disabled(value: BooleanInput) {\n this._disabled = coerceBooleanProperty(value);\n }\n get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Native aria-disabled attribute of button element\n */\n @Input('aria-disabled')\n set ariaDisabled(value: BooleanInput) {\n this._ariaDisabled = coerceBooleanProperty(value);\n }\n get ariaDisabled(): boolean {\n return this._ariaDisabled;\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const FD_BUTTON_COMPONENT = new InjectionToken('FdButtonComponent');\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostListener,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport { BaseButton } from './base-button';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\nimport { FD_BUTTON_COMPONENT } from './tokens';\n\n/**\n * Button directive, used to enhance standard HTML buttons.\n *\n * ``` selector: button[fd-button], a[fd-button] ```\n *\n * ```html\n * <button fd-button label=\"Button Text\"></button>\n * <a fd-button label=\"Button Text\"></a>\n * ```\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[fd-button], a[fd-button]',\n exportAs: 'fd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.type]': 'type',\n '[attr.disabled]': '_disabled || null',\n '[attr.aria-label]': 'buttonArialabel',\n '[attr.aria-description]': 'buttonAriaDescription'\n },\n providers: [\n contentDensityObserverProviders(),\n {\n provide: FD_BUTTON_COMPONENT,\n useExisting: ButtonComponent\n }\n ]\n})\nexport class ButtonComponent extends BaseButton implements OnChanges, CssClassBuilder, OnInit, OnDestroy {\n /** The property allows user to pass additional css classes. */\n @Input()\n class = '';\n\n /** @hidden */\n specialButtonType: Array<string> = ['emphasized', 'positive', 'negative', 'attention'];\n\n /**\n * Calculate aria-label attribute\n * @hidden\n */\n get buttonArialabel(): string | null {\n if (this.ariaLabel) {\n return this.ariaLabel;\n }\n\n if (this.specialButtonType.includes(this.fdType)) {\n if (this.label != null) {\n return this.label;\n }\n\n if (this.glyph != null) {\n return this.glyph.split('-').join(' ');\n }\n }\n\n return null;\n }\n\n /**\n * Calculate aria-description attribute\n * @hidden\n */\n get buttonAriaDescription(): string | null {\n if (this.ariaDescription) {\n return this.ariaDescription;\n }\n\n if (this.specialButtonType.includes(this.fdType)) {\n return this.fdType;\n }\n\n return null;\n }\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** Forces the focus outline around the button, which is not default behavior in Safari. */\n @HostListener('click', ['$event'])\n clicked(event: MouseEvent): void {\n const target = event?.target as HTMLElement;\n // Target can be empty during unit tests execution.\n if (target && document.activeElement !== target) {\n target.focus();\n }\n }\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n super();\n _contentDensityObserver.subscribe();\n }\n\n /** Function runs when component is initialized\n * function should build component css class\n * function should build css style\n */\n public ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n public ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-button',\n this.fdType ? `fd-button--${this.fdType}` : '',\n this.fdMenu ? 'fd-button--menu' : '',\n this._disabled || this._ariaDisabled ? 'is-disabled' : '',\n this.toggled ? `fd-button--toggled` : '',\n this.class\n ];\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectorRef.detectChanges();\n }\n}\n","<ng-container *ngIf=\"glyph && glyphPosition === 'before'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<span class=\"fd-button__text\" *ngIf=\"label\">\n {{ label }}\n</span>\n<ng-content></ng-content>\n\n<ng-container *ngIf=\"glyph && glyphPosition === 'after'\">\n <fd-icon [glyph]=\"glyph\"></fd-icon>\n</ng-container>\n\n<fd-icon glyph=\"slim-arrow-down\" *ngIf=\"fdMenu\"></fd-icon>\n","import { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\nimport { Directive, forwardRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-button][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedButtonContentDensityDirective)\n }\n ]\n})\nexport class DeprecatedButtonContentDensityDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('[fd-button]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ButtonComponent } from './button.component';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { DeprecatedButtonContentDensityDirective } from './deprecated-button-content-density.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, IconModule, ContentDensityModule],\n exports: [ButtonComponent, DeprecatedButtonContentDensityDirective, ContentDensityModule],\n declarations: [ButtonComponent, DeprecatedButtonContentDensityDirective]\n})\nexport class ButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -164,6 +164,10 @@ class CarouselService {
|
|
|
164
164
|
}
|
|
165
165
|
/** @hidden */
|
|
166
166
|
_centerActive(index) {
|
|
167
|
+
const size = this._getSize(this.items.first);
|
|
168
|
+
if (isNaN(size)) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
167
171
|
const middleIndex = Math.ceil(this.items.length / 2);
|
|
168
172
|
const offset = Math.ceil(this.elementsAtOnce / 2);
|
|
169
173
|
const missingItems = index + offset - middleIndex;
|