@fundamental-ngx/core 0.46.0-rc.2 → 0.46.0-rc.4
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/esm2022/avatar/avatar.component.mjs +3 -3
- package/esm2022/carousel/carousel.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/illustrated-message/illustrated-message.component.mjs +3 -3
- package/esm2022/scrollbar/scrollbar.directive.mjs +15 -8
- package/esm2022/time-picker/time-picker.component.mjs +3 -3
- package/esm2022/upload-collection/upload-collection-form-item/upload-collection-form-item.component.mjs +3 -3
- package/esm2022/wizard/wizard-step-indicator/wizard-step-indicator.component.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs +14 -7
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +2 -2
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fundamental-ngx-core-v0.46.0-rc.4.tgz +0 -0
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/scrollbar/scrollbar.directive.d.ts +4 -2
- package/fundamental-ngx-core-v0.46.0-rc.2.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-scrollbar.mjs","sources":["../../../../libs/core/src/lib/scrollbar/scrollbar.directive.ts","../../../../libs/core/src/lib/scrollbar/scrollbar.module.ts","../../../../libs/core/src/lib/scrollbar/fundamental-ngx-core-scrollbar.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n OnDestroy,\n PLATFORM_ID,\n Renderer2\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport scrollbarStyles from 'fundamental-styles/dist/js/scrollbar';\nimport { CdkScrollable } from '@angular/cdk/overlay';\n\nexport type ScrollbarOverflowOptions = 'auto' | 'scroll' | 'hidden';\n\nlet scrollbarElementsQuantity = 0;\nlet styleSheet: HTMLStyleElement | null = null;\n\n/**\n * The scrollbar directive.\n *\n * Children usage:\n * ```html\n * <div fd-scrollbar>\n * <div fd-scrollbar noVerticalScroll>\n * <div fd-scrollbar [noVerticalScroll]=\"true\">\n * <div fd-scrollbar noHorizontalScroll>\n * <div fd-scrollbar [noHorizontalScroll]=\"true\">\n * ```\n */\n@Directive({\n selector: '[fdScrollbar], [fd-scrollbar]',\n host: {\n class: 'fd-scrollbar'\n },\n hostDirectives: [CdkScrollable],\n standalone: true\n})\nexport class ScrollbarDirective implements OnDestroy {\n /** Whether overflow horizontal content should be hidden. */\n @Input()\n set noHorizontalScroll(value: BooleanInput) {\n this._noHorizontalScroll = coerceBooleanProperty(value);\n }\n\n get noHorizontalScroll(): boolean {\n return this._noHorizontalScroll;\n }\n\n /** Whether overflow vertical content should be hidden. */\n @Input()\n set noVerticalScroll(value: BooleanInput) {\n this._noVerticalScroll = coerceBooleanProperty(value);\n }\n\n get noVerticalScroll(): boolean {\n return this._noVerticalScroll;\n }\n\n /** Whether scrollbars should be visible even if content fits. */\n @Input()\n set alwaysVisible(value: BooleanInput) {\n this._alwaysVisible = coerceBooleanProperty(value);\n }\n\n get alwaysVisible(): boolean {\n return this._alwaysVisible;\n }\n\n /** Whether to force apply tabindex attribute. */\n @Input()\n overrideTabindex = true;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n get _tabindex(): number | null {\n return this.overrideTabindex ? 0 : null;\n }\n\n /** @hidden */\n @HostBinding('style.overflow-x')\n get _overflowX(): ScrollbarOverflowOptions {\n if (this.noHorizontalScroll) {\n return 'hidden';\n }\n\n return this._overflow;\n }\n\n /** @hidden */\n @HostBinding('style.overflow-y')\n get _overflowY(): ScrollbarOverflowOptions {\n if (this.noVerticalScroll) {\n return 'hidden';\n }\n\n return this._overflow;\n }\n\n /** @hidden */\n _inPopover = false;\n\n /** @hidden */\n private _document: Document = inject(DOCUMENT);\n /** @hidden */\n private
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-scrollbar.mjs","sources":["../../../../libs/core/src/lib/scrollbar/scrollbar.directive.ts","../../../../libs/core/src/lib/scrollbar/scrollbar.module.ts","../../../../libs/core/src/lib/scrollbar/fundamental-ngx-core-scrollbar.ts"],"sourcesContent":["import {\n CSP_NONCE,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n OnDestroy,\n PLATFORM_ID,\n Renderer2\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport scrollbarStyles from 'fundamental-styles/dist/js/scrollbar';\nimport { CdkScrollable } from '@angular/cdk/overlay';\n\nexport type ScrollbarOverflowOptions = 'auto' | 'scroll' | 'hidden';\n\nlet scrollbarElementsQuantity = 0;\nlet styleSheet: HTMLStyleElement | null = null;\n\n/**\n * The scrollbar directive.\n *\n * Children usage:\n * ```html\n * <div fd-scrollbar>\n * <div fd-scrollbar noVerticalScroll>\n * <div fd-scrollbar [noVerticalScroll]=\"true\">\n * <div fd-scrollbar noHorizontalScroll>\n * <div fd-scrollbar [noHorizontalScroll]=\"true\">\n * ```\n */\n@Directive({\n selector: '[fdScrollbar], [fd-scrollbar]',\n host: {\n class: 'fd-scrollbar'\n },\n hostDirectives: [CdkScrollable],\n standalone: true\n})\nexport class ScrollbarDirective implements OnDestroy {\n /** Whether overflow horizontal content should be hidden. */\n @Input()\n set noHorizontalScroll(value: BooleanInput) {\n this._noHorizontalScroll = coerceBooleanProperty(value);\n }\n\n get noHorizontalScroll(): boolean {\n return this._noHorizontalScroll;\n }\n\n /** Whether overflow vertical content should be hidden. */\n @Input()\n set noVerticalScroll(value: BooleanInput) {\n this._noVerticalScroll = coerceBooleanProperty(value);\n }\n\n get noVerticalScroll(): boolean {\n return this._noVerticalScroll;\n }\n\n /** Whether scrollbars should be visible even if content fits. */\n @Input()\n set alwaysVisible(value: BooleanInput) {\n this._alwaysVisible = coerceBooleanProperty(value);\n }\n\n get alwaysVisible(): boolean {\n return this._alwaysVisible;\n }\n\n /** Whether to force apply tabindex attribute. */\n @Input()\n overrideTabindex = true;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n get _tabindex(): number | null {\n return this.overrideTabindex ? 0 : null;\n }\n\n /** @hidden */\n @HostBinding('style.overflow-x')\n get _overflowX(): ScrollbarOverflowOptions {\n if (this.noHorizontalScroll) {\n return 'hidden';\n }\n\n return this._overflow;\n }\n\n /** @hidden */\n @HostBinding('style.overflow-y')\n get _overflowY(): ScrollbarOverflowOptions {\n if (this.noVerticalScroll) {\n return 'hidden';\n }\n\n return this._overflow;\n }\n\n /** @hidden */\n _inPopover = false;\n\n /** @hidden */\n private _document: Document = inject(DOCUMENT);\n\n /** @hidden */\n private readonly _csp_nonce = inject(CSP_NONCE, {\n optional: true\n });\n\n /** @hidden */\n private _noHorizontalScroll = false;\n\n /** @hidden */\n private _noVerticalScroll = false;\n\n /** @hidden */\n private _alwaysVisible = false;\n\n /**\n * @hidden\n */\n constructor(private _elementRef: ElementRef<HTMLElement>, renderer2: Renderer2) {\n scrollbarElementsQuantity++;\n const platform = inject(PLATFORM_ID);\n if (!styleSheet && isPlatformBrowser(platform)) {\n styleSheet = renderer2.createElement('style');\n styleSheet!.innerHTML = scrollbarStyles.cssSource;\n if (this._csp_nonce) {\n styleSheet?.setAttribute('nonce', this._csp_nonce);\n }\n renderer2.appendChild(this._document.head, styleSheet);\n }\n }\n\n /** @hidden */\n @HostListener('scroll', ['$event'])\n onScroll(event: Event): void {\n if (this._inPopover) {\n event.stopImmediatePropagation();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n if (--scrollbarElementsQuantity === 0) {\n styleSheet?.remove();\n styleSheet = null;\n }\n }\n\n /** method to invoke scroll */\n scroll(options: ScrollToOptions): void {\n this._elementRef.nativeElement.scroll(options);\n }\n\n /** @hidden */\n private get _overflow(): ScrollbarOverflowOptions {\n if (this.alwaysVisible) {\n return 'scroll';\n }\n\n return 'auto';\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { ScrollbarDirective } from './scrollbar.directive';\n\n@NgModule({\n imports: [ScrollbarDirective],\n exports: [ScrollbarDirective]\n})\nexport class ScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -407,7 +407,7 @@ class TimePickerComponent {
|
|
|
407
407
|
PopoverFormMessageService,
|
|
408
408
|
PopoverService,
|
|
409
409
|
registerFormItemControl(TimePickerComponent)
|
|
410
|
-
], viewQueries: [{ propertyName: "child", first: true, predicate: TimeComponent, descendants: true }, { propertyName: "_inputGroupElement", first: true, predicate: ["inputGroupComponent"], descendants: true, read: ElementRef }, { propertyName: "_inputElement", first: true, predicate: InputGroupInputDirective, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <fd-form-message [embedded]=\"true\" *ngIf=\"_message\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n <ng-content></ng-content>\n <fd-time\n *ngIf=\"isOpen\"\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n </fd-popover-body>\n</fd-popover>\n\n<div style=\"
|
|
410
|
+
], viewQueries: [{ propertyName: "child", first: true, predicate: TimeComponent, descendants: true }, { propertyName: "_inputGroupElement", first: true, predicate: ["inputGroupComponent"], descendants: true, read: ElementRef }, { propertyName: "_inputElement", first: true, predicate: InputGroupInputDirective, descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <fd-form-message [embedded]=\"true\" *ngIf=\"_message\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n <ng-content></ng-content>\n <fd-time\n *ngIf=\"isOpen\"\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n </fd-popover-body>\n</fd-popover>\n\n<div [style.display]=\"'none'\" aria-hidden=\"true\">\n <div [attr.id]=\"_formValueStateMessageId\" aria-atomic=\"true\" aria-live=\"assertive\">\n <ng-container [ngSwitch]=\"state\">\n <ng-container *ngSwitchCase=\"'success'\">{{ valueStateSuccessMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'information'\">{{ valueStateInformationMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'warning'\">{{ valueStateWarningMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'error'\">{{ valueStateErrorMessage }}</ng-container>\n </ng-container>\n {{ _message }}\n </div>\n</div>\n", styles: [".fd-timepicker-custom{display:inline-block}.fd-timepicker-custom fd-popover{display:block}.fd-timepicker-custom fd-time{width:auto}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.PopoverControlComponent, selector: "fd-popover-control" }, { kind: "component", type: i6.PopoverBodyComponent, selector: "fd-popover-body" }, { kind: "component", type: i6.PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig"] }, { kind: "component", type: i7.InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "placeholder", "addOnText", "buttonFocusable", "type", "glyph", "button", "disabled", "readonly", "state", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "iconTitle", "ariaLabelledBy"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: i7.InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: i8.TimeComponent, selector: "fd-time", inputs: ["meridian", "validate", "keepTwoDigits", "disabled", "displaySeconds", "displayMinutes", "displayHours", "tablet", "elementsAtOnce", "time", "spinnerButtons"] }, { kind: "component", type: i2.FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
411
411
|
}
|
|
412
412
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
413
413
|
type: Component,
|
|
@@ -429,7 +429,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
429
429
|
PopoverFormMessageService,
|
|
430
430
|
PopoverService,
|
|
431
431
|
registerFormItemControl(TimePickerComponent)
|
|
432
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <fd-form-message [embedded]=\"true\" *ngIf=\"_message\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n <ng-content></ng-content>\n <fd-time\n *ngIf=\"isOpen\"\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n </fd-popover-body>\n</fd-popover>\n\n<div style=\"
|
|
432
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <fd-form-message [embedded]=\"true\" *ngIf=\"_message\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n <ng-content></ng-content>\n <fd-time\n *ngIf=\"isOpen\"\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n </fd-popover-body>\n</fd-popover>\n\n<div [style.display]=\"'none'\" aria-hidden=\"true\">\n <div [attr.id]=\"_formValueStateMessageId\" aria-atomic=\"true\" aria-live=\"assertive\">\n <ng-container [ngSwitch]=\"state\">\n <ng-container *ngSwitchCase=\"'success'\">{{ valueStateSuccessMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'information'\">{{ valueStateInformationMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'warning'\">{{ valueStateWarningMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'error'\">{{ valueStateErrorMessage }}</ng-container>\n </ng-container>\n {{ _message }}\n </div>\n</div>\n", styles: [".fd-timepicker-custom{display:inline-block}.fd-timepicker-custom fd-popover{display:block}.fd-timepicker-custom fd-time{width:auto}\n"] }]
|
|
433
433
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.DatetimeAdapter, decorators: [{
|
|
434
434
|
type: Optional
|
|
435
435
|
}] }, { type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-time-picker.mjs","sources":["../../../../libs/core/src/lib/time-picker/errors.ts","../../../../libs/core/src/lib/time-picker/time-picker.component.ts","../../../../libs/core/src/lib/time-picker/time-picker.component.html","../../../../libs/core/src/lib/time-picker/time-picker.module.ts","../../../../libs/core/src/lib/time-picker/fundamental-ngx-core-time-picker.ts"],"sourcesContent":["/** Creates an error to be thrown when attempting to use an invalid date implementation. */\nexport function createMissingDateImplementationError(provider: string): Error {\n return Error(\n `FdTime: No provider found for ${provider}. You must import one of the following ` +\n `modules at your application root: FdDatetimeModule, or provide a ` +\n `custom implementation.`\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Placement, ValueStateAriaMessageService } from '@fundamental-ngx/core/shared';\nimport { DATE_TIME_FORMATS, DatetimeAdapter, DateTimeFormats } from '@fundamental-ngx/core/datetime';\nimport { TimeComponent } from '@fundamental-ngx/core/time';\nimport { PopoverFormMessageService, registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { InputGroupInputDirective } from '@fundamental-ngx/core/input-group';\n\nimport { createMissingDateImplementationError } from './errors';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\n\nlet timePickerCounter = 0;\n\n@Component({\n selector: 'fd-time-picker',\n templateUrl: './time-picker.component.html',\n host: {\n '(focusout)': '_focusOut($event)',\n '(blur)': 'onTouched()',\n class: 'fd-time-picker fd-timepicker-custom'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n PopoverFormMessageService,\n PopoverService,\n registerFormItemControl(TimePickerComponent)\n ],\n styleUrls: ['./time-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TimePickerComponent<D>\n implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges, OnDestroy, Validator, FormItemControl\n{\n /**\n * Date time object representation\n */\n @Input()\n time: Nullable<D>;\n\n /** Id attribute for input element inside TimePicker component */\n @Input()\n inputId: string;\n\n /** Disables the component. */\n @Input()\n disabled: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether to show spinner buttons */\n @Input()\n spinnerButtons = true;\n\n /**\n * When set to false, uses the 24 hour clock (hours ranging from 0 to 23).\n * Default value based on the current locale format option\n */\n @Input()\n meridian: boolean;\n\n /**\n * When set to false, hides the input for seconds.\n * Default value based on the current locale format option\n * */\n @Input()\n displaySeconds: boolean;\n\n /**\n * When set to false, hides the input for minutes.\n * Default value based on the current locale format option\n * */\n @Input()\n displayMinutes: boolean;\n\n /**\n * When set to false, hides the input for hours.\n * Default value based on the current locale format option\n * */\n @Input()\n displayHours: boolean;\n\n /**\n * Default time picker placeholder which is set dependant on the hours, minutes and seconds.\n * Otherwise It can be set to a default value\n */\n @Input()\n placeholder: string;\n\n /** Aria label for the time picker input. */\n @Input()\n timePickerInputLabel: string;\n\n /** Aria label for the time picker toggle button. */\n @Input()\n timePickerButtonLabel: string;\n\n /** Aria-labelledby for the time picker toggle button. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Whether a null input is considered valid(success). */\n @Input()\n allowNull = true;\n\n /** Defines if time component should be used with tablet mode */\n @Input()\n tablet = false;\n\n /** Text displayed in message */\n @Input()\n set message(message: string) {\n this._message = message;\n this._popoverFormMessage.message = message;\n }\n\n /** @hidden */\n _message: string | null = null;\n\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n set messageType(messageType: FormStates) {\n this._messageType = messageType;\n this._popoverFormMessage.messageType = messageType;\n }\n\n /** @hidden */\n _messageType: FormStates | null = null;\n\n /**\n * The trigger events that will open/close the message box.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n set messageTriggers(triggers: string[]) {\n this._messageTriggers = triggers;\n this._popoverFormMessage.triggers = triggers;\n }\n\n /** @hidden */\n _messageTriggers: string[] = ['focusin', 'focusout'];\n\n /**\n * The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n placement: Placement = 'bottom-start';\n\n /** Whether to validate the time picker input. */\n @Input()\n useValidation = true;\n\n /**\n * The state of the form control - applies css classes.\n * Also this is applied to message.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n set state(state: FormStates) {\n this._state = state;\n this._popoverFormMessage.messageType = state;\n }\n\n get state(): FormStates {\n if (this._state == null && this.useValidation && this._isInvalidTimeInput) {\n return 'error';\n }\n return this._state ?? 'default';\n }\n\n /** @hidden */\n private _state: FormStates | null = null;\n\n /**\n * Whether AddOn Button should be focusable\n * @default true\n */\n @Input()\n buttonFocusable = true;\n\n /**\n * When set to true, time inputs won't allow to have 1 digit\n * for example 9 will become 09\n * but 12 will be kept as 12.\n */\n @Input()\n keepTwoDigitsTime = false;\n\n /**\n * Display format option to customize time format in input control.\n * Must be a format option that is understandable by DatetimeAdapter.\n */\n @Input()\n displayFormat: unknown;\n\n /**\n * Parse format option to customize time format in input control.\n * Must be a format option that is understandable by DatetimeAdapter.\n */\n @Input()\n parseFormat: unknown;\n\n /**\n * Value state \"success\" aria message.\n */\n @Input()\n valueStateSuccessMessage: string = this._valueStateAriaMessagesService.success;\n\n /**\n * Value state \"information\" aria message.\n */\n @Input()\n valueStateInformationMessage: string = this._valueStateAriaMessagesService.information;\n\n /**\n * Value state \"warning\" aria message.\n */\n @Input()\n valueStateWarningMessage: string = this._valueStateAriaMessagesService.warning;\n\n /**\n * Value state \"error\" aria message.\n */\n @Input()\n valueStateErrorMessage: string = this._valueStateAriaMessagesService.error;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild(TimeComponent)\n child: TimeComponent<D>;\n\n /** @hidden */\n @ViewChild('inputGroupComponent', { read: ElementRef })\n _inputGroupElement: ElementRef;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective, { read: ElementRef })\n _inputElement: ElementRef;\n\n /**\n * @hidden\n * Whether the input time is valid(success). Internal use.\n */\n _isInvalidTimeInput = false;\n\n /**\n * @hidden\n * Indicates when popover is opened\n */\n isOpen: boolean;\n\n /** @hidden */\n _meridian: boolean;\n\n /** @hidden */\n _displaySeconds: boolean;\n\n /** @hidden */\n _displayMinutes: boolean;\n\n /** @hidden */\n _displayHours: boolean;\n\n /**\n * @hidden\n * Input field value\n */\n _inputTimeValue = '';\n\n /** @hidden */\n _formValueStateMessageId = `fd-time-picker-form-message-${timePickerCounter++}`;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n onChange: (_: Nullable<D>) => void = () => {};\n /** @hidden */\n onTouched: () => void = () => {};\n\n /** @hidden */\n get _placeholder(): string {\n return this.placeholder || this._getPlaceholder();\n }\n\n /** @hidden */\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n // Use @Optional to avoid angular injection error message and throw our own which is more precise one\n @Optional() private _dateTimeAdapter: DatetimeAdapter<D>,\n @Optional() @Inject(DATE_TIME_FORMATS) private _dateTimeFormats: DateTimeFormats,\n private _popoverFormMessage: PopoverFormMessageService,\n private _valueStateAriaMessagesService: ValueStateAriaMessageService\n ) {\n if (!this._dateTimeAdapter) {\n throw createMissingDateImplementationError('DateTimeAdapter');\n }\n if (!this._dateTimeFormats) {\n throw createMissingDateImplementationError('DATE_TIME_FORMATS');\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n\n this._dateTimeAdapter.localeChanges.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n ['displayHours', 'displayMinutes', 'displaySeconds', 'meridian', 'displayFormat'].some(\n (change) => change in changes\n )\n ) {\n this._calculateTimeOptions();\n }\n if (changes.displayFormat) {\n this._formatTimeInputField();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.initialiseVariablesInMessageService();\n }\n\n /**\n * @hidden\n * Function that implements Validator Interface, adds validation support for forms\n */\n validate(): { [key: string]: any } | null {\n if (this._isInvalidTimeInput) {\n return {\n timeValidation: {\n valid: false\n }\n };\n }\n\n return null;\n }\n\n /**\n * Returns the current value of the time input.\n */\n getTime(): Nullable<D> {\n return this.time;\n }\n\n /**\n * Returns format options to be used during time formatting.\n */\n getDisplayFormat(): unknown {\n return this.displayFormat || this._dateTimeFormats.display.timeInput;\n }\n\n /**\n * Returns format options to be used during time parsing.\n */\n getParseFormat(): unknown {\n return this.parseFormat || this._dateTimeFormats.parse.timeInput;\n }\n\n /** @hidden */\n _getFormattedTime(time = this.time): string {\n let formattedTime = '';\n\n try {\n if (this.allowNull && time === null) {\n return '';\n }\n formattedTime = this._dateTimeAdapter.format(time!, this.getDisplayFormat());\n } catch (e) {}\n\n return formattedTime;\n }\n\n /**\n * @hidden\n * When the open state is changed, there should be at least one active item, which by default is hour.\n */\n _setIsOpen(isOpen: boolean): void {\n this.isOpen = isOpen;\n this._onOpenStateChanged(isOpen);\n }\n\n /**\n * @hidden\n * Time input field changes handler\n */\n _timeInputChanged(inputValue: string): void {\n inputValue = inputValue.trim();\n\n // check if value has been changed\n if (this._inputTimeValue === inputValue) {\n return;\n }\n\n this._inputTimeValue = inputValue;\n\n if (inputValue === '') {\n this.time = null;\n this._isInvalidTimeInput = !this.allowNull;\n }\n\n if (inputValue !== '') {\n this.time = this._dateTimeAdapter.parse(inputValue, this.getParseFormat());\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(this.time!);\n }\n\n this.onChange(this.time);\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _inputGroupClicked($event: MouseEvent): void {\n if (!this.isOpen && !this.disabled) {\n $event.stopPropagation();\n this._setIsOpen(true);\n }\n }\n\n /** @hidden */\n _addOnButtonClicked(): void {\n if (!this.disabled) {\n this._setIsOpen(!this.isOpen);\n }\n }\n\n /** @hidden */\n _popoverClosed(): void {\n this._setIsOpen(false);\n }\n\n /** @hidden */\n _getPlaceholder(): string {\n let retVal = '';\n\n if (this._displayHours) {\n retVal = retVal + 'hh';\n }\n if (this._displayMinutes) {\n retVal = retVal + ':mm';\n }\n if (this._displaySeconds) {\n retVal = retVal + ':ss';\n }\n if (this._meridian) {\n retVal = retVal + ' am/pm';\n }\n\n return retVal;\n }\n\n /** @hidden */\n _timeComponentValueChanged(time: D): void {\n if (this._dateTimeAdapter.dateTimesEqual(time, this.time!)) {\n return;\n }\n this._inputTimeValue = this._getFormattedTime(time);\n this.time = time;\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n this.onChange(time);\n this._changeDetectorRef.detectChanges();\n }\n\n // #region ControlValueAccessor\n\n /** @hidden */\n registerOnChange(fn: (time: Nullable<D>) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(time: D): void {\n if (!time) {\n this.time = null;\n this._inputTimeValue = '';\n this._isInvalidTimeInput = !this.allowNull;\n } else {\n this.time = this._dateTimeAdapter.parse(time, this.getParseFormat());\n this._inputTimeValue = this._getFormattedTime(time);\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n // #endregion ControlValueAccessor\n\n /** @hidden */\n _formatTimeInputField(time = this.time): string {\n return (this._inputTimeValue = this._getFormattedTime(time));\n }\n\n /** @hidden */\n _changeMessageVisibility(): void {\n if (this.isOpen) {\n this._popoverFormMessage.hide();\n } else {\n this._popoverFormMessage.show();\n }\n }\n\n /** @hidden */\n _onOpenStateChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n this._changeMessageVisibility();\n if (isOpen) {\n this._changeDetectorRef.detectChanges();\n this.child.focusActiveColumn();\n }\n // focus input control every time popup is closed\n if (!isOpen && this._inputElement) {\n this._inputElement.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n private _calculateTimeOptions(): void {\n const format = this.getDisplayFormat();\n\n // default meridian option based on format option\n this._meridian =\n this.meridian != null ? this.meridian : this._dateTimeAdapter.isTimeFormatIncludesDayPeriod(format);\n\n // default seconds option based on format option\n this._displaySeconds =\n this.displaySeconds != null\n ? this.displaySeconds\n : this._dateTimeAdapter.isTimeFormatIncludesSeconds(format);\n\n // default minutes option based on format option\n this._displayMinutes =\n this.displayMinutes != null\n ? this.displayMinutes\n : this._dateTimeAdapter.isTimeFormatIncludesMinutes(format);\n\n // default hours option based on format option\n this._displayHours =\n this.displayHours != null ? this.displayHours : this._dateTimeAdapter.isTimeFormatIncludesHours(format);\n }\n\n /** @hidden */\n private initialiseVariablesInMessageService(): void {\n this._popoverFormMessage.init(this._inputGroupElement);\n this._popoverFormMessage.message = this._message ?? '';\n this._popoverFormMessage.triggers = this._messageTriggers;\n this._popoverFormMessage.messageType = this._state ?? 'default';\n }\n}\n","<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <fd-form-message [embedded]=\"true\" *ngIf=\"_message\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n <ng-content></ng-content>\n <fd-time\n *ngIf=\"isOpen\"\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n </fd-popover-body>\n</fd-popover>\n\n<div style=\"display: none\" aria-hidden=\"true\">\n <div [attr.id]=\"_formValueStateMessageId\" aria-atomic=\"true\" aria-live=\"assertive\">\n <ng-container [ngSwitch]=\"state\">\n <ng-container *ngSwitchCase=\"'success'\">{{ valueStateSuccessMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'information'\">{{ valueStateInformationMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'warning'\">{{ valueStateWarningMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'error'\">{{ valueStateErrorMessage }}</ng-container>\n </ng-container>\n {{ _message }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { InputGroupModule } from '@fundamental-ngx/core/input-group';\nimport { TimeModule } from '@fundamental-ngx/core/time';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { TimePickerComponent } from './time-picker.component';\nimport { FormMessageModule } from '@fundamental-ngx/core/form';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [TimePickerComponent],\n imports: [\n CommonModule,\n FormsModule,\n PopoverModule,\n InputGroupModule,\n TimeModule,\n FormMessageModule,\n ContentDensityModule,\n I18nModule\n ],\n exports: [TimePickerComponent, PopoverModule, InputGroupModule, TimeModule, ContentDensityModule]\n})\nexport class TimePickerModule {}\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-time-picker.mjs","sources":["../../../../libs/core/src/lib/time-picker/errors.ts","../../../../libs/core/src/lib/time-picker/time-picker.component.ts","../../../../libs/core/src/lib/time-picker/time-picker.component.html","../../../../libs/core/src/lib/time-picker/time-picker.module.ts","../../../../libs/core/src/lib/time-picker/fundamental-ngx-core-time-picker.ts"],"sourcesContent":["/** Creates an error to be thrown when attempting to use an invalid date implementation. */\nexport function createMissingDateImplementationError(provider: string): Error {\n return Error(\n `FdTime: No provider found for ${provider}. You must import one of the following ` +\n `modules at your application root: FdDatetimeModule, or provide a ` +\n `custom implementation.`\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { Placement, ValueStateAriaMessageService } from '@fundamental-ngx/core/shared';\nimport { DATE_TIME_FORMATS, DatetimeAdapter, DateTimeFormats } from '@fundamental-ngx/core/datetime';\nimport { TimeComponent } from '@fundamental-ngx/core/time';\nimport { PopoverFormMessageService, registerFormItemControl, FormItemControl } from '@fundamental-ngx/core/form';\nimport { PopoverService } from '@fundamental-ngx/core/popover';\nimport { InputGroupInputDirective } from '@fundamental-ngx/core/input-group';\n\nimport { createMissingDateImplementationError } from './errors';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\n\nlet timePickerCounter = 0;\n\n@Component({\n selector: 'fd-time-picker',\n templateUrl: './time-picker.component.html',\n host: {\n '(focusout)': '_focusOut($event)',\n '(blur)': 'onTouched()',\n class: 'fd-time-picker fd-timepicker-custom'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n PopoverFormMessageService,\n PopoverService,\n registerFormItemControl(TimePickerComponent)\n ],\n styleUrls: ['./time-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TimePickerComponent<D>\n implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges, OnDestroy, Validator, FormItemControl\n{\n /**\n * Date time object representation\n */\n @Input()\n time: Nullable<D>;\n\n /** Id attribute for input element inside TimePicker component */\n @Input()\n inputId: string;\n\n /** Disables the component. */\n @Input()\n disabled: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether to show spinner buttons */\n @Input()\n spinnerButtons = true;\n\n /**\n * When set to false, uses the 24 hour clock (hours ranging from 0 to 23).\n * Default value based on the current locale format option\n */\n @Input()\n meridian: boolean;\n\n /**\n * When set to false, hides the input for seconds.\n * Default value based on the current locale format option\n * */\n @Input()\n displaySeconds: boolean;\n\n /**\n * When set to false, hides the input for minutes.\n * Default value based on the current locale format option\n * */\n @Input()\n displayMinutes: boolean;\n\n /**\n * When set to false, hides the input for hours.\n * Default value based on the current locale format option\n * */\n @Input()\n displayHours: boolean;\n\n /**\n * Default time picker placeholder which is set dependant on the hours, minutes and seconds.\n * Otherwise It can be set to a default value\n */\n @Input()\n placeholder: string;\n\n /** Aria label for the time picker input. */\n @Input()\n timePickerInputLabel: string;\n\n /** Aria label for the time picker toggle button. */\n @Input()\n timePickerButtonLabel: string;\n\n /** Aria-labelledby for the time picker toggle button. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Whether a null input is considered valid(success). */\n @Input()\n allowNull = true;\n\n /** Defines if time component should be used with tablet mode */\n @Input()\n tablet = false;\n\n /** Text displayed in message */\n @Input()\n set message(message: string) {\n this._message = message;\n this._popoverFormMessage.message = message;\n }\n\n /** @hidden */\n _message: string | null = null;\n\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n set messageType(messageType: FormStates) {\n this._messageType = messageType;\n this._popoverFormMessage.messageType = messageType;\n }\n\n /** @hidden */\n _messageType: FormStates | null = null;\n\n /**\n * The trigger events that will open/close the message box.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n set messageTriggers(triggers: string[]) {\n this._messageTriggers = triggers;\n this._popoverFormMessage.triggers = triggers;\n }\n\n /** @hidden */\n _messageTriggers: string[] = ['focusin', 'focusout'];\n\n /**\n * The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n placement: Placement = 'bottom-start';\n\n /** Whether to validate the time picker input. */\n @Input()\n useValidation = true;\n\n /**\n * The state of the form control - applies css classes.\n * Also this is applied to message.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n set state(state: FormStates) {\n this._state = state;\n this._popoverFormMessage.messageType = state;\n }\n\n get state(): FormStates {\n if (this._state == null && this.useValidation && this._isInvalidTimeInput) {\n return 'error';\n }\n return this._state ?? 'default';\n }\n\n /** @hidden */\n private _state: FormStates | null = null;\n\n /**\n * Whether AddOn Button should be focusable\n * @default true\n */\n @Input()\n buttonFocusable = true;\n\n /**\n * When set to true, time inputs won't allow to have 1 digit\n * for example 9 will become 09\n * but 12 will be kept as 12.\n */\n @Input()\n keepTwoDigitsTime = false;\n\n /**\n * Display format option to customize time format in input control.\n * Must be a format option that is understandable by DatetimeAdapter.\n */\n @Input()\n displayFormat: unknown;\n\n /**\n * Parse format option to customize time format in input control.\n * Must be a format option that is understandable by DatetimeAdapter.\n */\n @Input()\n parseFormat: unknown;\n\n /**\n * Value state \"success\" aria message.\n */\n @Input()\n valueStateSuccessMessage: string = this._valueStateAriaMessagesService.success;\n\n /**\n * Value state \"information\" aria message.\n */\n @Input()\n valueStateInformationMessage: string = this._valueStateAriaMessagesService.information;\n\n /**\n * Value state \"warning\" aria message.\n */\n @Input()\n valueStateWarningMessage: string = this._valueStateAriaMessagesService.warning;\n\n /**\n * Value state \"error\" aria message.\n */\n @Input()\n valueStateErrorMessage: string = this._valueStateAriaMessagesService.error;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild(TimeComponent)\n child: TimeComponent<D>;\n\n /** @hidden */\n @ViewChild('inputGroupComponent', { read: ElementRef })\n _inputGroupElement: ElementRef;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective, { read: ElementRef })\n _inputElement: ElementRef;\n\n /**\n * @hidden\n * Whether the input time is valid(success). Internal use.\n */\n _isInvalidTimeInput = false;\n\n /**\n * @hidden\n * Indicates when popover is opened\n */\n isOpen: boolean;\n\n /** @hidden */\n _meridian: boolean;\n\n /** @hidden */\n _displaySeconds: boolean;\n\n /** @hidden */\n _displayMinutes: boolean;\n\n /** @hidden */\n _displayHours: boolean;\n\n /**\n * @hidden\n * Input field value\n */\n _inputTimeValue = '';\n\n /** @hidden */\n _formValueStateMessageId = `fd-time-picker-form-message-${timePickerCounter++}`;\n\n /** @hidden */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n onChange: (_: Nullable<D>) => void = () => {};\n /** @hidden */\n onTouched: () => void = () => {};\n\n /** @hidden */\n get _placeholder(): string {\n return this.placeholder || this._getPlaceholder();\n }\n\n /** @hidden */\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n // Use @Optional to avoid angular injection error message and throw our own which is more precise one\n @Optional() private _dateTimeAdapter: DatetimeAdapter<D>,\n @Optional() @Inject(DATE_TIME_FORMATS) private _dateTimeFormats: DateTimeFormats,\n private _popoverFormMessage: PopoverFormMessageService,\n private _valueStateAriaMessagesService: ValueStateAriaMessageService\n ) {\n if (!this._dateTimeAdapter) {\n throw createMissingDateImplementationError('DateTimeAdapter');\n }\n if (!this._dateTimeFormats) {\n throw createMissingDateImplementationError('DATE_TIME_FORMATS');\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n\n this._dateTimeAdapter.localeChanges.pipe(takeUntil(this._onDestroy$)).subscribe(() => {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n ['displayHours', 'displayMinutes', 'displaySeconds', 'meridian', 'displayFormat'].some(\n (change) => change in changes\n )\n ) {\n this._calculateTimeOptions();\n }\n if (changes.displayFormat) {\n this._formatTimeInputField();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.initialiseVariablesInMessageService();\n }\n\n /**\n * @hidden\n * Function that implements Validator Interface, adds validation support for forms\n */\n validate(): { [key: string]: any } | null {\n if (this._isInvalidTimeInput) {\n return {\n timeValidation: {\n valid: false\n }\n };\n }\n\n return null;\n }\n\n /**\n * Returns the current value of the time input.\n */\n getTime(): Nullable<D> {\n return this.time;\n }\n\n /**\n * Returns format options to be used during time formatting.\n */\n getDisplayFormat(): unknown {\n return this.displayFormat || this._dateTimeFormats.display.timeInput;\n }\n\n /**\n * Returns format options to be used during time parsing.\n */\n getParseFormat(): unknown {\n return this.parseFormat || this._dateTimeFormats.parse.timeInput;\n }\n\n /** @hidden */\n _getFormattedTime(time = this.time): string {\n let formattedTime = '';\n\n try {\n if (this.allowNull && time === null) {\n return '';\n }\n formattedTime = this._dateTimeAdapter.format(time!, this.getDisplayFormat());\n } catch (e) {}\n\n return formattedTime;\n }\n\n /**\n * @hidden\n * When the open state is changed, there should be at least one active item, which by default is hour.\n */\n _setIsOpen(isOpen: boolean): void {\n this.isOpen = isOpen;\n this._onOpenStateChanged(isOpen);\n }\n\n /**\n * @hidden\n * Time input field changes handler\n */\n _timeInputChanged(inputValue: string): void {\n inputValue = inputValue.trim();\n\n // check if value has been changed\n if (this._inputTimeValue === inputValue) {\n return;\n }\n\n this._inputTimeValue = inputValue;\n\n if (inputValue === '') {\n this.time = null;\n this._isInvalidTimeInput = !this.allowNull;\n }\n\n if (inputValue !== '') {\n this.time = this._dateTimeAdapter.parse(inputValue, this.getParseFormat());\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(this.time!);\n }\n\n this.onChange(this.time);\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _inputGroupClicked($event: MouseEvent): void {\n if (!this.isOpen && !this.disabled) {\n $event.stopPropagation();\n this._setIsOpen(true);\n }\n }\n\n /** @hidden */\n _addOnButtonClicked(): void {\n if (!this.disabled) {\n this._setIsOpen(!this.isOpen);\n }\n }\n\n /** @hidden */\n _popoverClosed(): void {\n this._setIsOpen(false);\n }\n\n /** @hidden */\n _getPlaceholder(): string {\n let retVal = '';\n\n if (this._displayHours) {\n retVal = retVal + 'hh';\n }\n if (this._displayMinutes) {\n retVal = retVal + ':mm';\n }\n if (this._displaySeconds) {\n retVal = retVal + ':ss';\n }\n if (this._meridian) {\n retVal = retVal + ' am/pm';\n }\n\n return retVal;\n }\n\n /** @hidden */\n _timeComponentValueChanged(time: D): void {\n if (this._dateTimeAdapter.dateTimesEqual(time, this.time!)) {\n return;\n }\n this._inputTimeValue = this._getFormattedTime(time);\n this.time = time;\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n this.onChange(time);\n this._changeDetectorRef.detectChanges();\n }\n\n // #region ControlValueAccessor\n\n /** @hidden */\n registerOnChange(fn: (time: Nullable<D>) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(time: D): void {\n if (!time) {\n this.time = null;\n this._inputTimeValue = '';\n this._isInvalidTimeInput = !this.allowNull;\n } else {\n this.time = this._dateTimeAdapter.parse(time, this.getParseFormat());\n this._inputTimeValue = this._getFormattedTime(time);\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n // #endregion ControlValueAccessor\n\n /** @hidden */\n _formatTimeInputField(time = this.time): string {\n return (this._inputTimeValue = this._getFormattedTime(time));\n }\n\n /** @hidden */\n _changeMessageVisibility(): void {\n if (this.isOpen) {\n this._popoverFormMessage.hide();\n } else {\n this._popoverFormMessage.show();\n }\n }\n\n /** @hidden */\n _onOpenStateChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n this._changeMessageVisibility();\n if (isOpen) {\n this._changeDetectorRef.detectChanges();\n this.child.focusActiveColumn();\n }\n // focus input control every time popup is closed\n if (!isOpen && this._inputElement) {\n this._inputElement.nativeElement.focus();\n }\n }\n\n /** @hidden */\n private _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n private _calculateTimeOptions(): void {\n const format = this.getDisplayFormat();\n\n // default meridian option based on format option\n this._meridian =\n this.meridian != null ? this.meridian : this._dateTimeAdapter.isTimeFormatIncludesDayPeriod(format);\n\n // default seconds option based on format option\n this._displaySeconds =\n this.displaySeconds != null\n ? this.displaySeconds\n : this._dateTimeAdapter.isTimeFormatIncludesSeconds(format);\n\n // default minutes option based on format option\n this._displayMinutes =\n this.displayMinutes != null\n ? this.displayMinutes\n : this._dateTimeAdapter.isTimeFormatIncludesMinutes(format);\n\n // default hours option based on format option\n this._displayHours =\n this.displayHours != null ? this.displayHours : this._dateTimeAdapter.isTimeFormatIncludesHours(format);\n }\n\n /** @hidden */\n private initialiseVariablesInMessageService(): void {\n this._popoverFormMessage.init(this._inputGroupElement);\n this._popoverFormMessage.message = this._message ?? '';\n this._popoverFormMessage.triggers = this._messageTriggers;\n this._popoverFormMessage.messageType = this._state ?? 'default';\n }\n}\n","<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <fd-form-message [embedded]=\"true\" *ngIf=\"_message\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n <ng-content></ng-content>\n <fd-time\n *ngIf=\"isOpen\"\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n </fd-popover-body>\n</fd-popover>\n\n<div [style.display]=\"'none'\" aria-hidden=\"true\">\n <div [attr.id]=\"_formValueStateMessageId\" aria-atomic=\"true\" aria-live=\"assertive\">\n <ng-container [ngSwitch]=\"state\">\n <ng-container *ngSwitchCase=\"'success'\">{{ valueStateSuccessMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'information'\">{{ valueStateInformationMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'warning'\">{{ valueStateWarningMessage }}</ng-container>\n <ng-container *ngSwitchCase=\"'error'\">{{ valueStateErrorMessage }}</ng-container>\n </ng-container>\n {{ _message }}\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { InputGroupModule } from '@fundamental-ngx/core/input-group';\nimport { TimeModule } from '@fundamental-ngx/core/time';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { TimePickerComponent } from './time-picker.component';\nimport { FormMessageModule } from '@fundamental-ngx/core/form';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [TimePickerComponent],\n imports: [\n CommonModule,\n FormsModule,\n PopoverModule,\n InputGroupModule,\n TimeModule,\n FormMessageModule,\n ContentDensityModule,\n I18nModule\n ],\n exports: [TimePickerComponent, PopoverModule, InputGroupModule, TimeModule, ContentDensityModule]\n})\nexport class TimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -270,11 +270,11 @@ class UploadCollectionFormItemComponent {
|
|
|
270
270
|
this.onTouched = fn;
|
|
271
271
|
}
|
|
272
272
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UploadCollectionFormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
273
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: UploadCollectionFormItemComponent, isStandalone: true, selector: "fd-upload-collection-form-item", inputs: { _editMode: "_editMode" }, outputs: { fileNameChanged: "fileNameChanged" }, host: { classAttribute: "fd-upload-collection__form-item" }, ngImport: i0, template: "<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n style
|
|
273
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.0", type: UploadCollectionFormItemComponent, isStandalone: true, selector: "fd-upload-collection-form-item", inputs: { _editMode: "_editMode" }, outputs: { fileNameChanged: "fileNameChanged" }, host: { classAttribute: "fd-upload-collection__form-item" }, ngImport: i0, template: "<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"'coreUploadCollection.formItemPlaceholder' | fdTranslate\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n/>\n<span *ngIf=\"_editMode\" class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormControlModule }, { kind: "component", type: i1$3.FormControlComponent, selector: "[fd-form-control]", inputs: ["state", "type", "class", "ariaLabel", "ariaLabelledBy"] }, { kind: "directive", type: i1$3.InputFormControlDirective, selector: "input[fd-form-control]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
274
274
|
}
|
|
275
275
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: UploadCollectionFormItemComponent, decorators: [{
|
|
276
276
|
type: Component,
|
|
277
|
-
args: [{ selector: 'fd-upload-collection-form-item', host: { class: 'fd-upload-collection__form-item' }, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, FormControlModule, FormsModule, FdTranslatePipe], template: "<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n style
|
|
277
|
+
args: [{ selector: 'fd-upload-collection-form-item', host: { class: 'fd-upload-collection__form-item' }, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgIf, FormControlModule, FormsModule, FdTranslatePipe], template: "<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"'coreUploadCollection.formItemPlaceholder' | fdTranslate\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n/>\n<span *ngIf=\"_editMode\" class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n" }]
|
|
278
278
|
}], propDecorators: { _editMode: [{
|
|
279
279
|
type: Input
|
|
280
280
|
}], fileNameChanged: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-upload-collection.mjs","sources":["../../../../libs/core/src/lib/upload-collection/upload-collection-simple.directives.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-item.directive.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.module.ts","../../../../libs/core/src/lib/upload-collection/fundamental-ngx-core-upload-collection.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\nimport { FD_OBJECT_STATUS_COMPONENT, ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-thumbnail]',\n host: { class: 'fd-upload-collection__thumbnail' },\n standalone: true\n})\nexport class UploadCollectionThumbnailDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title]',\n host: { class: 'fd-upload-collection__title' },\n standalone: true\n})\nexport class UploadCollectionTitleDirective {\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-description]',\n host: { class: 'fd-upload-collection__description' },\n standalone: true\n})\nexport class UploadCollectionDescriptionDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-text-separator], fd-upload-collection-text-separator',\n host: { class: 'fd-upload-collection__text-separator' },\n standalone: true\n})\nexport class UploadCollectionTextSeparatorDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-group]',\n host: { class: 'fd-upload-collection__status-group' },\n standalone: true\n})\nexport class UploadCollectionStatusGroupDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-item]',\n host: { class: 'fd-upload-collection__status-group-item' },\n standalone: true\n})\nexport class UploadCollectionStatusItemDirective implements OnInit {\n /** @hidden */\n constructor(@Optional() @Inject(FD_OBJECT_STATUS_COMPONENT) private _objectStatus: ObjectStatusComponent) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._objectStatus) {\n this._objectStatus._textClass += ' fd-upload-collection__status-group-item-text';\n }\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title-container]',\n standalone: true\n})\nexport class UploadCollectionTitleContainerDirective {\n /** @hidden */\n @ContentChildren(ObjectMarkerComponent)\n _objectMarkerComponents: QueryList<ObjectMarkerComponent>;\n\n /** Whether or not this is in edit mode. */\n @HostBinding('class.fd-upload-collection__title-container')\n applyContainerClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { ListModule } from '@fundamental-ngx/core/list';\n\n@Component({\n selector: 'fd-upload-collection',\n host: { class: 'fd-upload-collection' },\n styleUrls: ['./upload-collection.component.scss'],\n template: `<ul fd-list [byline]=\"true\" [selection]=\"selection\">\n <ng-content></ng-content>\n </ul>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ListModule]\n})\nexport class UploadCollectionComponent {\n /** Whether or not this is the small upload collection. */\n @Input()\n @HostBinding('class.fd-upload-collection--sm')\n small = false;\n\n /** Whether or not this upload collection supports selection. */\n @Input()\n selection = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'fd-upload-collection-button-group',\n host: { class: 'fd-upload-collection__button-group' },\n templateUrl: './upload-collection-button-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ButtonModule, FdTranslatePipe]\n})\nexport class UploadCollectionButtonGroupComponent {\n /** Event emitted when the user clicks the edit button. */\n @Output()\n readonly editClicked = new EventEmitter<boolean>();\n\n /** Event emitted when the user clicks the OK button to conform a file name change. */\n @Output()\n readonly okClicked = new EventEmitter<any>();\n\n /** Event emitted when the user clicks the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** Whether or not to allow file name editing. Default is true. */\n @Input()\n allowFileNameEdit = true;\n\n /** Whether or not to show the delete button. Default is true. */\n @Input()\n allowFileDeletion = true;\n\n /** Whether or not to disable the file name edit button. Default is false. */\n @Input()\n disableFileNameEdit = false;\n\n /** Whether or not to disable the delete button. Default is false. */\n @Input()\n disableFileDeletion = false;\n\n /** @hidden */\n @ViewChild('okButton')\n _okButton: ButtonComponent;\n\n /** @hidden */\n _editMode = false;\n\n /** @hidden */\n _editButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(true);\n this._editMode = true;\n }\n\n /** @hidden */\n _deleteButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.deleteClicked.emit();\n }\n\n /** @hidden */\n _okButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.okClicked.emit();\n }\n\n /** @hidden */\n _cancelButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(false);\n this._editMode = false;\n }\n}\n","<button\n *ngIf=\"!_editMode && allowFileNameEdit\"\n [disabled]=\"disableFileNameEdit\"\n (click)=\"_editButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n [ariaLabel]=\"'coreUploadCollection.menuEditAriaLabel' | fdTranslate\"\n></button>\n<button\n *ngIf=\"!_editMode && allowFileDeletion\"\n [disabled]=\"disableFileDeletion\"\n (click)=\"_deleteButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [ariaLabel]=\"'coreUploadCollection.menuDeleteAriaLabel' | fdTranslate\"\n></button>\n<button\n #okButton\n [style.display]=\"_editMode ? 'inline-flex' : 'none'\"\n (click)=\"_okButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuOkAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuOkText' | fdTranslate }}\n</button>\n<button\n *ngIf=\"_editMode\"\n (click)=\"_cancelButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuCancelAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuCancelText' | fdTranslate }}\n</button>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule } from '@angular/forms';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { FormControlModule } from '@fundamental-ngx/core/form';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'fd-upload-collection-form-item',\n host: { class: 'fd-upload-collection__form-item' },\n templateUrl: './upload-collection-form-item.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, FormControlModule, FormsModule, FdTranslatePipe]\n})\nexport class UploadCollectionFormItemComponent implements ControlValueAccessor {\n /** @hidden */\n @Input()\n _editMode = false;\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly fileNameChanged = new EventEmitter<string>();\n\n /** @hidden */\n _fileNameValue: string;\n\n /** @hidden */\n _extension: string;\n\n /** Value of the text input. */\n set fileName(value) {\n this._fileNameValue = value;\n this.onChange(value);\n this.onTouched();\n this.fileNameChanged.emit(value);\n }\n get fileName(): string {\n return this._fileNameValue;\n }\n\n /** @hidden */\n onChange: (value: string) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n writeValue(value: string): void {\n this.fileName = value;\n }\n\n /** @hidden */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n style=\"pointer-events: all\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"'coreUploadCollection.formItemPlaceholder' | fdTranslate\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n/>\n<span *ngIf=\"_editMode\" class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n","import {\n AfterContentInit,\n AfterViewInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output\n} from '@angular/core';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { Subscription } from 'rxjs';\nimport {\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { LINK_CLASS_NAME } from '@fundamental-ngx/core/link';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-item]',\n host: { class: 'fd-upload-collection__item' },\n standalone: true\n})\nexport class UploadCollectionItemDirective implements AfterContentInit, OnDestroy, AfterViewInit {\n /** The name of the file, not including the type extension. */\n @Input()\n fileName: string;\n\n /** The file type extension. */\n @Input()\n extension: string;\n\n /** @hidden */\n @ContentChild(UploadCollectionFormItemComponent)\n _formItemComponent: UploadCollectionFormItemComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleDirective)\n _titleDirective: UploadCollectionTitleDirective;\n\n /** @hidden */\n @ContentChild(UploadCollectionButtonGroupComponent)\n _buttonGroupComponent: UploadCollectionButtonGroupComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleContainerDirective)\n _titleContainerDirective: UploadCollectionTitleContainerDirective;\n\n /** Event emitted when the user changes a file name. */\n @Output()\n readonly fileNameChanged = new EventEmitter<any>();\n\n /** Event emitted when presses the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n fileNameFull: string;\n\n /** @hidden */\n titleWidth: number;\n\n /** @hidden used to compare to the current width to know whether to collapse or expand title */\n previousContainerWidth: number;\n\n /** @hidden */\n containerWidth: number;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.tabIndex = '0';\n this._titleDirective.elRef.nativeElement.innerHTML =\n '<span class=\"' + LINK_CLASS_NAME.linkContent + '\">' + this.fileNameFull + '</span>';\n this._handleDeleteClickedSubscription();\n this._handleOkClickedSubscription();\n this._handleEditClickedSubscription();\n this._handleFormItemInputChangedSubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Process resize after all the children views is initialized\n setTimeout(() => this.onResize());\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** @hidden */\n @HostListener('window:resize', [])\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n\n // if first load and no previous container width, or if container boundary is resized to smaller than before\n if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {\n // and the title extends past the container, 1.05x padding to prevent jaggy resizing.\n if (this.titleWidth * 1.05 >= this.containerWidth) {\n this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);\n }\n } else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {\n // Looks to expand file title if container width is resized to greater than before\n // reset file title to initial\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n }\n\n this.previousContainerWidth = this.containerWidth;\n }\n\n /** @hidden */\n private _handleOkClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.okClicked.subscribe(() => {\n if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {\n this.fileName = this._formItemComponent.fileName;\n this._titleDirective.elRef.nativeElement.style.display = 'inline-block';\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n this._formItemComponent._editMode = false;\n this._buttonGroupComponent._editMode = false;\n this.fileNameChanged.emit(this);\n }\n })\n );\n }\n\n /** @hidden */\n private _handleEditClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.editClicked.subscribe((event) => {\n this._formItemComponent._editMode = event;\n if (this._titleContainerDirective) {\n this._titleContainerDirective.applyContainerClass = !event;\n }\n const styles: CSSStyleDeclaration[] = [];\n styles.push((this._titleDirective.elRef.nativeElement as HTMLElement).style);\n this._titleContainerDirective?._objectMarkerComponents?.forEach((objectMarker) => {\n styles.push(objectMarker.elementRef.nativeElement.style);\n });\n event\n ? styles.forEach((style) => (style.display = 'none'))\n : styles.forEach((style) => (style.display = 'inline-block'));\n if (event) {\n this._formItemComponent._extension = this.extension;\n this._formItemComponent.fileName = this.fileName;\n }\n })\n );\n }\n\n /** @hidden */\n private _handleDeleteClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.deleteClicked.subscribe(() => {\n this.deleteClicked.emit(this);\n })\n );\n }\n\n /** @hidden */\n private _handleFormItemInputChangedSubscription(): void {\n this._subscriptions.add(\n this._formItemComponent.fileNameChanged.subscribe((event) => {\n this._buttonGroupComponent._okButton.disabled = event === '';\n this._buttonGroupComponent._okButton.buildComponentCssClass();\n })\n );\n }\n\n /** @hidden */\n private getTitleWidth(): number {\n return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** @hidden */\n private getContainerWidth(): number {\n return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;\n }\n\n /**\n * @hidden\n *\n * truncates the string by cutting out excess length in the middle and replacing with '...'\n */\n private truncateTitle(str: string): string {\n const cutLength = Math.floor(str.length * 0.8);\n\n if (str.length > cutLength) {\n const stringLeftIndex = Math.floor(cutLength / 2);\n const stringRightIndex = str.length - stringLeftIndex + 3;\n return str.substring(0, stringLeftIndex) + '...' + str.substring(stringRightIndex, str.length);\n }\n return str;\n }\n\n /**\n * @hidden\n *\n * determines if file title needs to be truncated given container constraint.\n */\n private resizeFileTitle(titleStr: string): void {\n let curTitle = titleStr;\n this.containerWidth = this.getContainerWidth();\n this.titleWidth = this.getTitleWidth();\n\n // repeatedly truncate the title until it fits inside container\n while (this.titleWidth * 1.05 >= this.containerWidth) {\n const truncatedTitleStr = this.truncateTitle(curTitle);\n this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;\n curTitle = truncatedTitleStr;\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n UploadCollectionDescriptionDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { UploadCollectionComponent } from './upload-collection.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionItemDirective } from './upload-collection-item.directive';\n\n@NgModule({\n imports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ],\n exports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ]\n})\nexport class UploadCollectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-upload-collection.mjs","sources":["../../../../libs/core/src/lib/upload-collection/upload-collection-simple.directives.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-button-group/upload-collection-button-group.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.ts","../../../../libs/core/src/lib/upload-collection/upload-collection-form-item/upload-collection-form-item.component.html","../../../../libs/core/src/lib/upload-collection/upload-collection-item.directive.ts","../../../../libs/core/src/lib/upload-collection/upload-collection.module.ts","../../../../libs/core/src/lib/upload-collection/fundamental-ngx-core-upload-collection.ts"],"sourcesContent":["import {\n ContentChildren,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n OnInit,\n Optional,\n QueryList\n} from '@angular/core';\nimport { ObjectMarkerComponent } from '@fundamental-ngx/core/object-marker';\nimport { FD_OBJECT_STATUS_COMPONENT, ObjectStatusComponent } from '@fundamental-ngx/core/object-status';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-thumbnail]',\n host: { class: 'fd-upload-collection__thumbnail' },\n standalone: true\n})\nexport class UploadCollectionThumbnailDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title]',\n host: { class: 'fd-upload-collection__title' },\n standalone: true\n})\nexport class UploadCollectionTitleDirective {\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-description]',\n host: { class: 'fd-upload-collection__description' },\n standalone: true\n})\nexport class UploadCollectionDescriptionDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-text-separator], fd-upload-collection-text-separator',\n host: { class: 'fd-upload-collection__text-separator' },\n standalone: true\n})\nexport class UploadCollectionTextSeparatorDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-group]',\n host: { class: 'fd-upload-collection__status-group' },\n standalone: true\n})\nexport class UploadCollectionStatusGroupDirective {}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-status-item]',\n host: { class: 'fd-upload-collection__status-group-item' },\n standalone: true\n})\nexport class UploadCollectionStatusItemDirective implements OnInit {\n /** @hidden */\n constructor(@Optional() @Inject(FD_OBJECT_STATUS_COMPONENT) private _objectStatus: ObjectStatusComponent) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this._objectStatus) {\n this._objectStatus._textClass += ' fd-upload-collection__status-group-item-text';\n }\n }\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-title-container]',\n standalone: true\n})\nexport class UploadCollectionTitleContainerDirective {\n /** @hidden */\n @ContentChildren(ObjectMarkerComponent)\n _objectMarkerComponents: QueryList<ObjectMarkerComponent>;\n\n /** Whether or not this is in edit mode. */\n @HostBinding('class.fd-upload-collection__title-container')\n applyContainerClass = true;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';\nimport { ListModule } from '@fundamental-ngx/core/list';\n\n@Component({\n selector: 'fd-upload-collection',\n host: { class: 'fd-upload-collection' },\n styleUrls: ['./upload-collection.component.scss'],\n template: `<ul fd-list [byline]=\"true\" [selection]=\"selection\">\n <ng-content></ng-content>\n </ul>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [ListModule]\n})\nexport class UploadCollectionComponent {\n /** Whether or not this is the small upload collection. */\n @Input()\n @HostBinding('class.fd-upload-collection--sm')\n small = false;\n\n /** Whether or not this upload collection supports selection. */\n @Input()\n selection = false;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'fd-upload-collection-button-group',\n host: { class: 'fd-upload-collection__button-group' },\n templateUrl: './upload-collection-button-group.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [NgIf, ButtonModule, FdTranslatePipe]\n})\nexport class UploadCollectionButtonGroupComponent {\n /** Event emitted when the user clicks the edit button. */\n @Output()\n readonly editClicked = new EventEmitter<boolean>();\n\n /** Event emitted when the user clicks the OK button to conform a file name change. */\n @Output()\n readonly okClicked = new EventEmitter<any>();\n\n /** Event emitted when the user clicks the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** Whether or not to allow file name editing. Default is true. */\n @Input()\n allowFileNameEdit = true;\n\n /** Whether or not to show the delete button. Default is true. */\n @Input()\n allowFileDeletion = true;\n\n /** Whether or not to disable the file name edit button. Default is false. */\n @Input()\n disableFileNameEdit = false;\n\n /** Whether or not to disable the delete button. Default is false. */\n @Input()\n disableFileDeletion = false;\n\n /** @hidden */\n @ViewChild('okButton')\n _okButton: ButtonComponent;\n\n /** @hidden */\n _editMode = false;\n\n /** @hidden */\n _editButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(true);\n this._editMode = true;\n }\n\n /** @hidden */\n _deleteButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.deleteClicked.emit();\n }\n\n /** @hidden */\n _okButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.okClicked.emit();\n }\n\n /** @hidden */\n _cancelButtonClicked(event?: MouseEvent): void {\n if (event) {\n event.stopPropagation();\n }\n this.editClicked.emit(false);\n this._editMode = false;\n }\n}\n","<button\n *ngIf=\"!_editMode && allowFileNameEdit\"\n [disabled]=\"disableFileNameEdit\"\n (click)=\"_editButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n [ariaLabel]=\"'coreUploadCollection.menuEditAriaLabel' | fdTranslate\"\n></button>\n<button\n *ngIf=\"!_editMode && allowFileDeletion\"\n [disabled]=\"disableFileDeletion\"\n (click)=\"_deleteButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n [ariaLabel]=\"'coreUploadCollection.menuDeleteAriaLabel' | fdTranslate\"\n></button>\n<button\n #okButton\n [style.display]=\"_editMode ? 'inline-flex' : 'none'\"\n (click)=\"_okButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuOkAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuOkText' | fdTranslate }}\n</button>\n<button\n *ngIf=\"_editMode\"\n (click)=\"_cancelButtonClicked($event)\"\n fd-button\n fdType=\"transparent\"\n [ariaLabel]=\"'coreUploadCollection.menuCancelAriaLabel' | fdTranslate\"\n>\n {{ 'coreUploadCollection.menuCancelText' | fdTranslate }}\n</button>\n","import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';\nimport { ControlValueAccessor, FormsModule } from '@angular/forms';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { FormControlModule } from '@fundamental-ngx/core/form';\nimport { NgIf } from '@angular/common';\n\n@Component({\n selector: 'fd-upload-collection-form-item',\n host: { class: 'fd-upload-collection__form-item' },\n templateUrl: './upload-collection-form-item.component.html',\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [NgIf, FormControlModule, FormsModule, FdTranslatePipe]\n})\nexport class UploadCollectionFormItemComponent implements ControlValueAccessor {\n /** @hidden */\n @Input()\n _editMode = false;\n\n /** Event emitted when the dragged file exits the dropzone. */\n @Output()\n readonly fileNameChanged = new EventEmitter<string>();\n\n /** @hidden */\n _fileNameValue: string;\n\n /** @hidden */\n _extension: string;\n\n /** Value of the text input. */\n set fileName(value) {\n this._fileNameValue = value;\n this.onChange(value);\n this.onTouched();\n this.fileNameChanged.emit(value);\n }\n get fileName(): string {\n return this._fileNameValue;\n }\n\n /** @hidden */\n onChange: (value: string) => void = () => {};\n\n /** @hidden */\n onTouched = (): void => {};\n\n /** @hidden */\n writeValue(value: string): void {\n this.fileName = value;\n }\n\n /** @hidden */\n registerOnChange(fn: (value: string) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n}\n","<input\n *ngIf=\"_editMode\"\n fd-form-control\n required\n [style.pointer-events]=\"'all'\"\n class=\"fd-input\"\n type=\"text\"\n [attr.placeholder]=\"'coreUploadCollection.formItemPlaceholder' | fdTranslate\"\n [(ngModel)]=\"fileName\"\n [state]=\"!fileName ? 'error' : null\"\n (click)=\"$event.stopPropagation()\"\n/>\n<span *ngIf=\"_editMode\" class=\"fd-upload-collection__extension\">.{{ _extension }}</span>\n","import {\n AfterContentInit,\n AfterViewInit,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n Output\n} from '@angular/core';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { Subscription } from 'rxjs';\nimport {\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { LINK_CLASS_NAME } from '@fundamental-ngx/core/link';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-upload-collection-item]',\n host: { class: 'fd-upload-collection__item' },\n standalone: true\n})\nexport class UploadCollectionItemDirective implements AfterContentInit, OnDestroy, AfterViewInit {\n /** The name of the file, not including the type extension. */\n @Input()\n fileName: string;\n\n /** The file type extension. */\n @Input()\n extension: string;\n\n /** @hidden */\n @ContentChild(UploadCollectionFormItemComponent)\n _formItemComponent: UploadCollectionFormItemComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleDirective)\n _titleDirective: UploadCollectionTitleDirective;\n\n /** @hidden */\n @ContentChild(UploadCollectionButtonGroupComponent)\n _buttonGroupComponent: UploadCollectionButtonGroupComponent;\n\n /** @hidden */\n @ContentChild(UploadCollectionTitleContainerDirective)\n _titleContainerDirective: UploadCollectionTitleContainerDirective;\n\n /** Event emitted when the user changes a file name. */\n @Output()\n readonly fileNameChanged = new EventEmitter<any>();\n\n /** Event emitted when presses the delete button. */\n @Output()\n readonly deleteClicked = new EventEmitter<any>();\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n fileNameFull: string;\n\n /** @hidden */\n titleWidth: number;\n\n /** @hidden used to compare to the current width to know whether to collapse or expand title */\n previousContainerWidth: number;\n\n /** @hidden */\n containerWidth: number;\n\n /** @hidden */\n ngAfterContentInit(): void {\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.tabIndex = '0';\n this._titleDirective.elRef.nativeElement.innerHTML =\n '<span class=\"' + LINK_CLASS_NAME.linkContent + '\">' + this.fileNameFull + '</span>';\n this._handleDeleteClickedSubscription();\n this._handleOkClickedSubscription();\n this._handleEditClickedSubscription();\n this._handleFormItemInputChangedSubscription();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n // Process resize after all the children views is initialized\n setTimeout(() => this.onResize());\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** @hidden */\n @HostListener('window:resize', [])\n onResize(): void {\n if (!this.elementRef.nativeElement.parentElement) {\n return;\n }\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n\n // if first load and no previous container width, or if container boundary is resized to smaller than before\n if (!this.previousContainerWidth || this.containerWidth < this.previousContainerWidth) {\n // and the title extends past the container, 1.05x padding to prevent jaggy resizing.\n if (this.titleWidth * 1.05 >= this.containerWidth) {\n this.resizeFileTitle(this._titleDirective.elRef.nativeElement.innerHTML);\n }\n } else if (this.previousContainerWidth && this.containerWidth > this.previousContainerWidth) {\n // Looks to expand file title if container width is resized to greater than before\n // reset file title to initial\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n }\n\n this.previousContainerWidth = this.containerWidth;\n }\n\n /** @hidden */\n private _handleOkClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.okClicked.subscribe(() => {\n if (this._formItemComponent.fileName && this._formItemComponent.fileName !== '') {\n this.fileName = this._formItemComponent.fileName;\n this._titleDirective.elRef.nativeElement.style.display = 'inline-block';\n this.fileNameFull = this.fileName + '.' + this.extension;\n this._titleDirective.elRef.nativeElement.innerHTML = this.fileNameFull;\n this.resizeFileTitle(this.fileNameFull);\n this._formItemComponent._editMode = false;\n this._buttonGroupComponent._editMode = false;\n this.fileNameChanged.emit(this);\n }\n })\n );\n }\n\n /** @hidden */\n private _handleEditClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.editClicked.subscribe((event) => {\n this._formItemComponent._editMode = event;\n if (this._titleContainerDirective) {\n this._titleContainerDirective.applyContainerClass = !event;\n }\n const styles: CSSStyleDeclaration[] = [];\n styles.push((this._titleDirective.elRef.nativeElement as HTMLElement).style);\n this._titleContainerDirective?._objectMarkerComponents?.forEach((objectMarker) => {\n styles.push(objectMarker.elementRef.nativeElement.style);\n });\n event\n ? styles.forEach((style) => (style.display = 'none'))\n : styles.forEach((style) => (style.display = 'inline-block'));\n if (event) {\n this._formItemComponent._extension = this.extension;\n this._formItemComponent.fileName = this.fileName;\n }\n })\n );\n }\n\n /** @hidden */\n private _handleDeleteClickedSubscription(): void {\n this._subscriptions.add(\n this._buttonGroupComponent.deleteClicked.subscribe(() => {\n this.deleteClicked.emit(this);\n })\n );\n }\n\n /** @hidden */\n private _handleFormItemInputChangedSubscription(): void {\n this._subscriptions.add(\n this._formItemComponent.fileNameChanged.subscribe((event) => {\n this._buttonGroupComponent._okButton.disabled = event === '';\n this._buttonGroupComponent._okButton.buildComponentCssClass();\n })\n );\n }\n\n /** @hidden */\n private getTitleWidth(): number {\n return this._titleDirective.elRef.nativeElement.getBoundingClientRect().width;\n }\n\n /** @hidden */\n private getContainerWidth(): number {\n return this._titleDirective.elRef.nativeElement.parentElement.getBoundingClientRect().width;\n }\n\n /**\n * @hidden\n *\n * truncates the string by cutting out excess length in the middle and replacing with '...'\n */\n private truncateTitle(str: string): string {\n const cutLength = Math.floor(str.length * 0.8);\n\n if (str.length > cutLength) {\n const stringLeftIndex = Math.floor(cutLength / 2);\n const stringRightIndex = str.length - stringLeftIndex + 3;\n return str.substring(0, stringLeftIndex) + '...' + str.substring(stringRightIndex, str.length);\n }\n return str;\n }\n\n /**\n * @hidden\n *\n * determines if file title needs to be truncated given container constraint.\n */\n private resizeFileTitle(titleStr: string): void {\n let curTitle = titleStr;\n this.containerWidth = this.getContainerWidth();\n this.titleWidth = this.getTitleWidth();\n\n // repeatedly truncate the title until it fits inside container\n while (this.titleWidth * 1.05 >= this.containerWidth) {\n const truncatedTitleStr = this.truncateTitle(curTitle);\n this._titleDirective.elRef.nativeElement.innerHTML = truncatedTitleStr;\n curTitle = truncatedTitleStr;\n this.titleWidth = this.getTitleWidth();\n this.containerWidth = this.getContainerWidth();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport {\n UploadCollectionDescriptionDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleContainerDirective,\n UploadCollectionTitleDirective\n} from './upload-collection-simple.directives';\nimport { UploadCollectionComponent } from './upload-collection.component';\nimport { UploadCollectionButtonGroupComponent } from './upload-collection-button-group/upload-collection-button-group.component';\nimport { UploadCollectionFormItemComponent } from './upload-collection-form-item/upload-collection-form-item.component';\nimport { UploadCollectionItemDirective } from './upload-collection-item.directive';\n\n@NgModule({\n imports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ],\n exports: [\n UploadCollectionComponent,\n UploadCollectionItemDirective,\n UploadCollectionThumbnailDirective,\n UploadCollectionTitleDirective,\n UploadCollectionDescriptionDirective,\n UploadCollectionTextSeparatorDirective,\n UploadCollectionStatusGroupDirective,\n UploadCollectionStatusItemDirective,\n UploadCollectionButtonGroupComponent,\n UploadCollectionFormItemComponent,\n UploadCollectionTitleContainerDirective\n ]\n})\nexport class UploadCollectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -896,7 +896,7 @@ class WizardStepIndicatorComponent {
|
|
|
896
896
|
provide: FD_WIZARD_STEP_INDICATOR,
|
|
897
897
|
useExisting: WizardStepIndicatorComponent
|
|
898
898
|
}
|
|
899
|
-
], viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet style
|
|
899
|
+
], viewQueries: [{ propertyName: "actionSheet", first: true, predicate: ActionSheetComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet [style.pointer-events]=\"'all'\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngFor=\"let step of stackedItems\"\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</ng-container>\n\n<ng-container *ngIf=\"!stackedItems || stackedItems.length <= 1\">\n <span\n class=\"fd-wizard__step-indicator\"\n (click)=\"stepItemClicked(stackedItems.length ? stackedItems[0] : undefined, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n</ng-container>\n\n<ng-template #stepIndicatorContent>\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i3$1.ActionSheetComponent, selector: "fd-action-sheet", inputs: ["mobile", "placement", "noArrow", "isOpen", "keyboardSupport", "triggers"], outputs: ["focusEscapeList", "isOpenChange"] }, { kind: "component", type: i3$1.ActionSheetControlComponent, selector: "fd-action-sheet-control", outputs: ["clicked"] }, { kind: "component", type: i3$1.ActionSheetItemComponent, selector: "[fd-action-sheet-item]", inputs: ["label", "glyph", "negative", "isCloseButton", "disabled"], outputs: ["keyDown"] }, { kind: "component", type: i3$1.ActionSheetBodyComponent, selector: "fd-action-sheet-body", inputs: ["actionSheetBodyId", "mobile", "ariaLabel", "ariaLabelledby"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
900
900
|
}
|
|
901
901
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: WizardStepIndicatorComponent, decorators: [{
|
|
902
902
|
type: Component,
|
|
@@ -905,7 +905,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImpor
|
|
|
905
905
|
provide: FD_WIZARD_STEP_INDICATOR,
|
|
906
906
|
useExisting: WizardStepIndicatorComponent
|
|
907
907
|
}
|
|
908
|
-
], template: "<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet style
|
|
908
|
+
], template: "<ng-container *ngIf=\"stackedItems && stackedItems.length > 1\">\n <fd-action-sheet [style.pointer-events]=\"'all'\">\n <fd-action-sheet-control>\n <span class=\"fd-wizard__step-indicator\">\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n </fd-action-sheet-control>\n <fd-action-sheet-body>\n <li\n fd-action-sheet-item\n *ngFor=\"let step of stackedItems\"\n [label]=\"step.label\"\n [glyph]=\"step.glyph\"\n [disabled]=\"!step.visited\"\n (click)=\"stepItemClicked(step, $event)\"\n ></li>\n </fd-action-sheet-body>\n </fd-action-sheet>\n</ng-container>\n\n<ng-container *ngIf=\"!stackedItems || stackedItems.length <= 1\">\n <span\n class=\"fd-wizard__step-indicator\"\n (click)=\"stepItemClicked(stackedItems.length ? stackedItems[0] : undefined, $event)\"\n >\n <ng-container *ngTemplateOutlet=\"stepIndicatorContent\"></ng-container>\n </span>\n</ng-container>\n\n<ng-template #stepIndicatorContent>\n <fd-icon *ngIf=\"glyph\" [glyph]=\"glyph\" class=\"fd-wizard__icon\"></fd-icon>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
909
909
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { glyph: [{
|
|
910
910
|
type: Input
|
|
911
911
|
}], stepIndicatorItemClicked: [{
|