@ifsworld/granite-components 7.5.0 → 7.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/date-picker/lib/date-picker-trigger-for.directive.mjs +5 -5
- package/esm2020/lib/checkbox/checkbox.component.mjs +7 -4
- package/esm2020/lib/radio-button/radio-button.component.mjs +7 -4
- package/fesm2015/ifsworld-granite-components-date-picker.mjs +6 -4
- package/fesm2015/ifsworld-granite-components-date-picker.mjs.map +1 -1
- package/fesm2015/ifsworld-granite-components.mjs +12 -6
- package/fesm2015/ifsworld-granite-components.mjs.map +1 -1
- package/fesm2020/ifsworld-granite-components-date-picker.mjs +4 -4
- package/fesm2020/ifsworld-granite-components-date-picker.mjs.map +1 -1
- package/fesm2020/ifsworld-granite-components.mjs +12 -6
- package/fesm2020/ifsworld-granite-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -170,13 +170,13 @@ class GraniteDatePickerTriggerForDirective {
|
|
|
170
170
|
this.picker.clientInput = this._clientInput;
|
|
171
171
|
this.picker.clientOutput = this._clientOutput;
|
|
172
172
|
const panelClass = [];
|
|
173
|
-
if (this._clientOutput
|
|
173
|
+
if (this._clientOutput?.device === 'touch') {
|
|
174
174
|
panelClass.push('granite-overlay-pane-center');
|
|
175
175
|
}
|
|
176
|
-
const scrollStrategy = this._clientOutput
|
|
176
|
+
const scrollStrategy = this._clientOutput?.device !== 'touch'
|
|
177
177
|
? this._overlay.scrollStrategies.reposition()
|
|
178
178
|
: this._overlay.scrollStrategies.block();
|
|
179
|
-
const hasBackdrop = this._clientOutput
|
|
179
|
+
const hasBackdrop = this._clientOutput?.device === 'touch';
|
|
180
180
|
if (!this._overlayRef) {
|
|
181
181
|
const config = new OverlayConfig({
|
|
182
182
|
positionStrategy: this._positionStrategy(),
|
|
@@ -297,7 +297,7 @@ class GraniteDatePickerTriggerForDirective {
|
|
|
297
297
|
* device the picker is being shown on
|
|
298
298
|
*/
|
|
299
299
|
_positionStrategy() {
|
|
300
|
-
if (this._clientOutput
|
|
300
|
+
if (this._clientOutput?.device !== 'touch') {
|
|
301
301
|
return this._desktopPositionStrategy();
|
|
302
302
|
}
|
|
303
303
|
return this._touchPositionStrategy();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ifsworld-granite-components-date-picker.mjs","sources":["../../../../libs/granite-components/date-picker/src/lib/date-picker-base.ts","../../../../libs/granite-components/date-picker/src/lib/date-picker.component.ts","../../../../libs/granite-components/date-picker/src/lib/date-picker.component.html","../../../../libs/granite-components/date-picker/src/lib/date-range-picker.component.ts","../../../../libs/granite-components/date-picker/src/lib/date-range-picker.component.html","../../../../libs/granite-components/date-picker/src/lib/date-picker-trigger-for.directive.ts","../../../../libs/granite-components/date-picker/src/lib/date-picker.module.ts","../../../../libs/granite-components/date-picker/src/ifsworld-granite-components-date-picker.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Direction } from '@angular/cdk/bidi';\n// eslint-disable-next-line import/no-internal-modules\nimport { PrimeNGConfig } from 'primeng/api';\nimport {\n ClientInputInterface,\n ClientOutputInterface,\n} from '@ifsworld/granite-components';\n\nexport type PositionX = 'before' | 'after';\n\nexport type PositionY = 'above' | 'below';\n\nlet pickerPanelUid = 0;\n\n/** Base class with common functionality for date/date-range pickers. */\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class _DatePickerBase implements OnInit {\n @Input()\n minDate: Date | null = null;\n\n @Input()\n maxDate: Date | null = null;\n\n @Input()\n firstDayOfWeek: number = 0;\n\n @Output()\n readonly pickerClosed: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\n\n xPosition: PositionX = 'before';\n yPosition: PositionY = 'below';\n\n direction: Direction;\n\n /**\n * Used for locating the panel in tests and setting the aria-control attribute\n * for the picker trigger.\n */\n readonly panelId = `granite-date-picker-panel-${pickerPanelUid++}`;\n\n /** Client input device information */\n clientInput: ClientInputInterface;\n\n /** Client output device information */\n clientOutput: ClientOutputInterface;\n\n constructor(public _elementRef: ElementRef, public config: PrimeNGConfig) {}\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n ngOnInit() {\n this.config.setTranslation({\n dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.pickerClosed.emit();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n} from '@angular/core';\n// eslint-disable-next-line import/no-internal-modules\nimport { _DatePickerBase } from './date-picker-base';\n\n@Component({\n selector: 'granite-date-picker',\n templateUrl: './date-picker.component.html',\n styleUrls: ['./date-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteDatePickerComponent extends _DatePickerBase {\n @Input()\n selectedDate: Date | undefined = undefined;\n\n @Output()\n readonly selectionChanged: EventEmitter<Date> = new EventEmitter<Date>();\n\n dateSelectionChanged(newDate: Date): void {\n this.selectedDate = newDate;\n this.selectionChanged.emit(newDate);\n }\n}\n","<ng-template>\n <div class=\"granite-date-picker\" cdkTrapFocus>\n <div *ngIf=\"selectedDate; else notSelected\">\n <p-calendar\n [(ngModel)]=\"selectedDate\"\n [focusTrap]=\"true\"\n [showButtonBar]=\"true\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </div>\n <ng-template #notSelected>\n <p-calendar\n [focusTrap]=\"true\"\n [showButtonBar]=\"true\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </ng-template>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n Output,\n EventEmitter,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\n// eslint-disable-next-line import/no-internal-modules\nimport { _DatePickerBase } from './date-picker-base';\n\n@Component({\n selector: 'granite-date-range-picker',\n templateUrl: './date-range-picker.component.html',\n styleUrls: ['./date-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteDateRangePickerComponent\n extends _DatePickerBase\n implements OnChanges\n{\n @Input()\n selectedDateRange: Date[] = null;\n\n @Output()\n readonly selectionChanged: EventEmitter<Date[]> = new EventEmitter<Date[]>();\n\n _selectedDateRangeInternal: Date[] = null;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selectedDateRange) {\n this._selectedDateRangeInternal =\n this.selectedDateRange?.length > 0 ? this.selectedDateRange : null;\n }\n }\n\n dateRangeSelectionChanged(date: Date): void {\n if (\n this._selectedDateRangeInternal == null ||\n this._selectedDateRangeInternal.length === 0\n ) {\n this._selectedDateRangeInternal = [date];\n } else if (this._selectedDateRangeInternal.length === 1) {\n this._selectedDateRangeInternal.push(date);\n } else if (\n this._selectedDateRangeInternal.length === 2 &&\n this._selectedDateRangeInternal[1] != null\n ) {\n this.selectionChanged.emit(this._selectedDateRangeInternal);\n }\n }\n}\n","<ng-template>\n <div\n class=\"granite-date-picker\"\n [class.granite-date-range-picker]=\"true\"\n cdkTrapFocus\n >\n <div *ngIf=\"_selectedDateRangeInternal !== null; else rangeNotSelected\">\n <p-calendar\n selectionMode=\"range\"\n [(ngModel)]=\"_selectedDateRangeInternal\"\n [focusTrap]=\"true\"\n [showButtonBar]=\"false\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateRangeSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </div>\n <ng-template #rangeNotSelected>\n <p-calendar\n selectionMode=\"range\"\n [focusTrap]=\"true\"\n [showButtonBar]=\"false\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateRangeSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </ng-template>\n </div>\n</ng-template>\n","import {\n AfterContentInit,\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n FlexibleConnectedPositionStrategy,\n HorizontalConnectionPos,\n Overlay,\n OverlayConfig,\n OverlayOutsideClickDispatcher,\n OverlayRef,\n PositionStrategy,\n VerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\nimport { merge, Observable, Subscription } from 'rxjs';\n\nimport {\n ClientInputInterface,\n ClientOutputInterface,\n GRANITE_CLIENT_INPUT,\n GRANITE_CLIENT_OUTPUT,\n} from '@ifsworld/granite-components';\nimport { GraniteDatePickerComponent } from './date-picker.component';\nimport { GraniteDateRangePickerComponent } from './date-range-picker.component';\n\n@Directive({\n selector: `[graniteDatePickerTriggerFor]`,\n host: {\n class: 'granite-date-picker-trigger',\n 'aria-haspopup': 'true',\n '[attr.aria-expanded]': '_isPickerOpen || null',\n '[attr.aria-controls]': '_isPickerOpen ? picker.panelId : null',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n})\nexport class GraniteDatePickerTriggerForDirective\n implements AfterContentInit, OnDestroy\n{\n /** References the picker instance that the trigger is associated with. */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('graniteDatePickerTriggerFor')\n picker: GraniteDatePickerComponent | GraniteDateRangePickerComponent;\n\n /** Whether the associated picker is open */\n _isPickerOpen: boolean = false;\n\n private _pickerCloseSubscription = Subscription.EMPTY;\n\n private _portal: TemplatePortal | null = null;\n private _overlayRef: OverlayRef | null = null;\n\n constructor(\n private _overlay: Overlay,\n private _element: ElementRef<HTMLElement>,\n private _viewContainerRef: ViewContainerRef,\n private _outsideClickDispatcher: OverlayOutsideClickDispatcher,\n\n /** Client input device information */\n @Inject(GRANITE_CLIENT_INPUT)\n @Optional()\n public _clientInput: ClientInputInterface,\n\n /** Client output device information */\n @Inject(GRANITE_CLIENT_OUTPUT)\n @Optional()\n public _clientOutput: ClientOutputInterface,\n\n @Optional()\n private _dir: Directionality,\n\n private _focusMonitor: FocusMonitor\n ) {}\n\n ngAfterContentInit(): void {\n const selectionChanged = this.picker.selectionChanged as Observable<any>;\n const closed = this.picker.pickerClosed as Observable<any>;\n\n this._pickerCloseSubscription = merge(selectionChanged, closed).subscribe(\n () => {\n this.closePicker();\n }\n );\n }\n\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._pickerCloseSubscription.unsubscribe();\n }\n\n isOpen(): boolean {\n return this._isPickerOpen;\n }\n\n openPicker(): void {\n if (this._isPickerOpen) {\n return;\n }\n\n this.picker.direction = this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n this.picker.clientInput = this._clientInput;\n this.picker.clientOutput = this._clientOutput;\n\n const panelClass: string[] = [];\n if (this._clientOutput.device === 'touch') {\n panelClass.push('granite-overlay-pane-center');\n }\n\n const scrollStrategy =\n this._clientOutput.device !== 'touch'\n ? this._overlay.scrollStrategies.reposition()\n : this._overlay.scrollStrategies.block();\n\n const hasBackdrop = this._clientOutput.device === 'touch';\n\n if (!this._overlayRef) {\n const config = new OverlayConfig({\n positionStrategy: this._positionStrategy(),\n backdropClass: 'granite-overlay-dark-glass-backdrop',\n scrollStrategy,\n direction: this._dir,\n panelClass,\n hasBackdrop,\n });\n\n this._overlayRef = this._overlay.create(config);\n }\n\n if (!this._portal || this._portal.templateRef !== this.picker.templateRef) {\n this._portal = new TemplatePortal(\n this.picker.templateRef,\n this._viewContainerRef\n );\n }\n // Attach portal to overlay ref (which is a portal outlet)\n this._overlayRef.attach(this._portal);\n this._outsideClickDispatcher.add(this._overlayRef);\n this._overlayRef.outsidePointerEvents().subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.closePicker();\n });\n\n this._isPickerOpen = true;\n }\n\n /** Toggles the picker between the open and closed states. */\n togglePicker(): void {\n if (this._isPickerOpen) {\n this.closePicker();\n } else {\n this.openPicker();\n }\n }\n\n /** Close the associated picker */\n closePicker(): void {\n if (!this._overlayRef || !this._isPickerOpen) {\n return;\n }\n\n this._outsideClickDispatcher.remove(this._overlayRef);\n this._overlayRef.detach();\n\n this._restoreFocus();\n this._isPickerOpen = false;\n }\n\n /** Handles key presses on the trigger. */\n _handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n this.togglePicker();\n }\n }\n\n /** Handles click events on the trigger. */\n _handleClick(): void {\n this.togglePicker();\n }\n\n /**\n * Restores focus to the element that was focused before the picker was open.\n */\n _restoreFocus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(this._element, origin, options);\n } else {\n this._element.nativeElement.focus(options);\n }\n }\n\n /**\n * Returns strategy for positioning the overlay for desktop devices:\n */\n private _desktopPositionStrategy(): PositionStrategy {\n const positionStrategy: FlexibleConnectedPositionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withTransformOriginOn('.granite-date-picker')\n .withPush(false);\n\n this._setPosition(positionStrategy);\n return positionStrategy;\n }\n\n /**\n * Sets the appropriate positions on a position strategy\n * so the overlay connects with the trigger correctly.\n * @param positionStrategy Strategy whose position to update.\n */\n private _setPosition(positionStrategy: FlexibleConnectedPositionStrategy) {\n const [originX, originFallbackX]: HorizontalConnectionPos[] =\n this.picker.xPosition === 'before' ? ['end', 'start'] : ['start', 'end'];\n\n const [overlayY, overlayFallbackY]: VerticalConnectionPos[] =\n this.picker.yPosition === 'above' ? ['bottom', 'top'] : ['top', 'bottom'];\n\n let [originY, originFallbackY] = [overlayY, overlayFallbackY];\n const [overlayX, overlayFallbackX] = [originX, originFallbackX];\n const offsetY = 0;\n\n originY = overlayY === 'top' ? 'bottom' : 'top';\n originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';\n\n positionStrategy.withPositions([\n { originX, originY, overlayX, overlayY, offsetY },\n {\n originX: originFallbackX,\n originY,\n overlayX: overlayFallbackX,\n overlayY,\n offsetY,\n },\n {\n originX,\n originY: originFallbackY,\n overlayX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n {\n originX: originFallbackX,\n originY: originFallbackY,\n overlayX: overlayFallbackX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n ]);\n }\n\n /**\n * Returns strategy for positioning the overlay depending on what type of\n * device the picker is being shown on\n */\n private _positionStrategy(): PositionStrategy {\n if (this._clientOutput.device !== 'touch') {\n return this._desktopPositionStrategy();\n }\n return this._touchPositionStrategy();\n }\n\n /**\n * Returns strategy for positioning the overlay for touch devices:\n * Place centered in the screen.\n */\n private _touchPositionStrategy(): PositionStrategy {\n return this._overlay.position().global();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { GraniteDatePickerComponent } from './date-picker.component';\nimport { GraniteDateRangePickerComponent } from './date-range-picker.component';\nimport { CalendarModule } from 'primeng/calendar';\nimport {\n GraniteIconModule,\n GraniteButtonModule,\n} from '@ifsworld/granite-components';\nimport { GraniteDatePickerTriggerForDirective } from './date-picker-trigger-for.directive';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@NgModule({\n declarations: [\n GraniteDatePickerComponent,\n GraniteDateRangePickerComponent,\n GraniteDatePickerTriggerForDirective,\n ],\n imports: [\n BrowserModule,\n OverlayModule,\n BrowserAnimationsModule,\n CalendarModule,\n FormsModule,\n GraniteIconModule,\n GraniteButtonModule,\n A11yModule,\n ],\n exports: [\n GraniteDatePickerComponent,\n GraniteDateRangePickerComponent,\n GraniteDatePickerTriggerForDirective,\n ],\n providers: [],\n})\nexport class GraniteDatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ifsworld-granite-components-date-picker.mjs","sources":["../../../../libs/granite-components/date-picker/src/lib/date-picker-base.ts","../../../../libs/granite-components/date-picker/src/lib/date-picker.component.ts","../../../../libs/granite-components/date-picker/src/lib/date-picker.component.html","../../../../libs/granite-components/date-picker/src/lib/date-range-picker.component.ts","../../../../libs/granite-components/date-picker/src/lib/date-range-picker.component.html","../../../../libs/granite-components/date-picker/src/lib/date-picker-trigger-for.directive.ts","../../../../libs/granite-components/date-picker/src/lib/date-picker.module.ts","../../../../libs/granite-components/date-picker/src/ifsworld-granite-components-date-picker.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { Direction } from '@angular/cdk/bidi';\n// eslint-disable-next-line import/no-internal-modules\nimport { PrimeNGConfig } from 'primeng/api';\nimport {\n ClientInputInterface,\n ClientOutputInterface,\n} from '@ifsworld/granite-components';\n\nexport type PositionX = 'before' | 'after';\n\nexport type PositionY = 'above' | 'below';\n\nlet pickerPanelUid = 0;\n\n/** Base class with common functionality for date/date-range pickers. */\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class _DatePickerBase implements OnInit {\n @Input()\n minDate: Date | null = null;\n\n @Input()\n maxDate: Date | null = null;\n\n @Input()\n firstDayOfWeek: number = 0;\n\n @Output()\n readonly pickerClosed: EventEmitter<any> = new EventEmitter();\n\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\n\n xPosition: PositionX = 'before';\n yPosition: PositionY = 'below';\n\n direction: Direction;\n\n /**\n * Used for locating the panel in tests and setting the aria-control attribute\n * for the picker trigger.\n */\n readonly panelId = `granite-date-picker-panel-${pickerPanelUid++}`;\n\n /** Client input device information */\n clientInput: ClientInputInterface;\n\n /** Client output device information */\n clientOutput: ClientOutputInterface;\n\n constructor(public _elementRef: ElementRef, public config: PrimeNGConfig) {}\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n ngOnInit() {\n this.config.setTranslation({\n dayNamesMin: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n });\n }\n\n _handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Escape') {\n this.pickerClosed.emit();\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n Output,\n EventEmitter,\n ViewEncapsulation,\n} from '@angular/core';\n// eslint-disable-next-line import/no-internal-modules\nimport { _DatePickerBase } from './date-picker-base';\n\n@Component({\n selector: 'granite-date-picker',\n templateUrl: './date-picker.component.html',\n styleUrls: ['./date-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteDatePickerComponent extends _DatePickerBase {\n @Input()\n selectedDate: Date | undefined = undefined;\n\n @Output()\n readonly selectionChanged: EventEmitter<Date> = new EventEmitter<Date>();\n\n dateSelectionChanged(newDate: Date): void {\n this.selectedDate = newDate;\n this.selectionChanged.emit(newDate);\n }\n}\n","<ng-template>\n <div class=\"granite-date-picker\" cdkTrapFocus>\n <div *ngIf=\"selectedDate; else notSelected\">\n <p-calendar\n [(ngModel)]=\"selectedDate\"\n [focusTrap]=\"true\"\n [showButtonBar]=\"true\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </div>\n <ng-template #notSelected>\n <p-calendar\n [focusTrap]=\"true\"\n [showButtonBar]=\"true\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </ng-template>\n </div>\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n Output,\n EventEmitter,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\n// eslint-disable-next-line import/no-internal-modules\nimport { _DatePickerBase } from './date-picker-base';\n\n@Component({\n selector: 'granite-date-range-picker',\n templateUrl: './date-range-picker.component.html',\n styleUrls: ['./date-picker.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteDateRangePickerComponent\n extends _DatePickerBase\n implements OnChanges\n{\n @Input()\n selectedDateRange: Date[] = null;\n\n @Output()\n readonly selectionChanged: EventEmitter<Date[]> = new EventEmitter<Date[]>();\n\n _selectedDateRangeInternal: Date[] = null;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selectedDateRange) {\n this._selectedDateRangeInternal =\n this.selectedDateRange?.length > 0 ? this.selectedDateRange : null;\n }\n }\n\n dateRangeSelectionChanged(date: Date): void {\n if (\n this._selectedDateRangeInternal == null ||\n this._selectedDateRangeInternal.length === 0\n ) {\n this._selectedDateRangeInternal = [date];\n } else if (this._selectedDateRangeInternal.length === 1) {\n this._selectedDateRangeInternal.push(date);\n } else if (\n this._selectedDateRangeInternal.length === 2 &&\n this._selectedDateRangeInternal[1] != null\n ) {\n this.selectionChanged.emit(this._selectedDateRangeInternal);\n }\n }\n}\n","<ng-template>\n <div\n class=\"granite-date-picker\"\n [class.granite-date-range-picker]=\"true\"\n cdkTrapFocus\n >\n <div *ngIf=\"_selectedDateRangeInternal !== null; else rangeNotSelected\">\n <p-calendar\n selectionMode=\"range\"\n [(ngModel)]=\"_selectedDateRangeInternal\"\n [focusTrap]=\"true\"\n [showButtonBar]=\"false\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateRangeSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </div>\n <ng-template #rangeNotSelected>\n <p-calendar\n selectionMode=\"range\"\n [focusTrap]=\"true\"\n [showButtonBar]=\"false\"\n [inline]=\"true\"\n [showIcon]=\"false\"\n [clearButtonStyleClass]=\"'hideClearButton'\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [firstDayOfWeek]=\"firstDayOfWeek\"\n [showWeek]=\"false\"\n [touchUI]=\"clientOutput.device === 'touch'\"\n (onSelect)=\"dateRangeSelectionChanged($event)\"\n (keydown)=\"_handleKeydown($event)\"\n ></p-calendar>\n </ng-template>\n </div>\n</ng-template>\n","import {\n AfterContentInit,\n Directive,\n ElementRef,\n Inject,\n Input,\n OnDestroy,\n Optional,\n ViewContainerRef,\n} from '@angular/core';\n\nimport { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport {\n FlexibleConnectedPositionStrategy,\n HorizontalConnectionPos,\n Overlay,\n OverlayConfig,\n OverlayOutsideClickDispatcher,\n OverlayRef,\n PositionStrategy,\n VerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\n\nimport { merge, Observable, Subscription } from 'rxjs';\n\nimport {\n ClientInputInterface,\n ClientOutputInterface,\n GRANITE_CLIENT_INPUT,\n GRANITE_CLIENT_OUTPUT,\n} from '@ifsworld/granite-components';\nimport { GraniteDatePickerComponent } from './date-picker.component';\nimport { GraniteDateRangePickerComponent } from './date-range-picker.component';\n\n@Directive({\n selector: `[graniteDatePickerTriggerFor]`,\n host: {\n class: 'granite-date-picker-trigger',\n 'aria-haspopup': 'true',\n '[attr.aria-expanded]': '_isPickerOpen || null',\n '[attr.aria-controls]': '_isPickerOpen ? picker.panelId : null',\n '(keydown)': '_handleKeydown($event)',\n '(click)': '_handleClick($event)',\n },\n})\nexport class GraniteDatePickerTriggerForDirective\n implements AfterContentInit, OnDestroy\n{\n /** References the picker instance that the trigger is associated with. */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('graniteDatePickerTriggerFor')\n picker: GraniteDatePickerComponent | GraniteDateRangePickerComponent;\n\n /** Whether the associated picker is open */\n _isPickerOpen: boolean = false;\n\n private _pickerCloseSubscription = Subscription.EMPTY;\n\n private _portal: TemplatePortal | null = null;\n private _overlayRef: OverlayRef | null = null;\n\n constructor(\n private _overlay: Overlay,\n private _element: ElementRef<HTMLElement>,\n private _viewContainerRef: ViewContainerRef,\n private _outsideClickDispatcher: OverlayOutsideClickDispatcher,\n\n /** Client input device information */\n @Inject(GRANITE_CLIENT_INPUT)\n @Optional()\n public _clientInput: ClientInputInterface,\n\n /** Client output device information */\n @Inject(GRANITE_CLIENT_OUTPUT)\n @Optional()\n public _clientOutput: ClientOutputInterface,\n\n @Optional()\n private _dir: Directionality,\n\n private _focusMonitor: FocusMonitor\n ) {}\n\n ngAfterContentInit(): void {\n const selectionChanged = this.picker.selectionChanged as Observable<any>;\n const closed = this.picker.pickerClosed as Observable<any>;\n\n this._pickerCloseSubscription = merge(selectionChanged, closed).subscribe(\n () => {\n this.closePicker();\n }\n );\n }\n\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n this._pickerCloseSubscription.unsubscribe();\n }\n\n isOpen(): boolean {\n return this._isPickerOpen;\n }\n\n openPicker(): void {\n if (this._isPickerOpen) {\n return;\n }\n\n this.picker.direction = this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n this.picker.clientInput = this._clientInput;\n this.picker.clientOutput = this._clientOutput;\n\n const panelClass: string[] = [];\n if (this._clientOutput?.device === 'touch') {\n panelClass.push('granite-overlay-pane-center');\n }\n\n const scrollStrategy =\n this._clientOutput?.device !== 'touch'\n ? this._overlay.scrollStrategies.reposition()\n : this._overlay.scrollStrategies.block();\n\n const hasBackdrop = this._clientOutput?.device === 'touch';\n\n if (!this._overlayRef) {\n const config = new OverlayConfig({\n positionStrategy: this._positionStrategy(),\n backdropClass: 'granite-overlay-dark-glass-backdrop',\n scrollStrategy,\n direction: this._dir,\n panelClass,\n hasBackdrop,\n });\n\n this._overlayRef = this._overlay.create(config);\n }\n\n if (!this._portal || this._portal.templateRef !== this.picker.templateRef) {\n this._portal = new TemplatePortal(\n this.picker.templateRef,\n this._viewContainerRef\n );\n }\n // Attach portal to overlay ref (which is a portal outlet)\n this._overlayRef.attach(this._portal);\n this._outsideClickDispatcher.add(this._overlayRef);\n this._overlayRef.outsidePointerEvents().subscribe((event: MouseEvent) => {\n event.stopPropagation();\n this.closePicker();\n });\n\n this._isPickerOpen = true;\n }\n\n /** Toggles the picker between the open and closed states. */\n togglePicker(): void {\n if (this._isPickerOpen) {\n this.closePicker();\n } else {\n this.openPicker();\n }\n }\n\n /** Close the associated picker */\n closePicker(): void {\n if (!this._overlayRef || !this._isPickerOpen) {\n return;\n }\n\n this._outsideClickDispatcher.remove(this._overlayRef);\n this._overlayRef.detach();\n\n this._restoreFocus();\n this._isPickerOpen = false;\n }\n\n /** Handles key presses on the trigger. */\n _handleKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter') {\n event.preventDefault();\n this.togglePicker();\n }\n }\n\n /** Handles click events on the trigger. */\n _handleClick(): void {\n this.togglePicker();\n }\n\n /**\n * Restores focus to the element that was focused before the picker was open.\n */\n _restoreFocus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (this._focusMonitor) {\n this._focusMonitor.focusVia(this._element, origin, options);\n } else {\n this._element.nativeElement.focus(options);\n }\n }\n\n /**\n * Returns strategy for positioning the overlay for desktop devices:\n */\n private _desktopPositionStrategy(): PositionStrategy {\n const positionStrategy: FlexibleConnectedPositionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._element)\n .withLockedPosition()\n .withTransformOriginOn('.granite-date-picker')\n .withPush(false);\n\n this._setPosition(positionStrategy);\n return positionStrategy;\n }\n\n /**\n * Sets the appropriate positions on a position strategy\n * so the overlay connects with the trigger correctly.\n * @param positionStrategy Strategy whose position to update.\n */\n private _setPosition(positionStrategy: FlexibleConnectedPositionStrategy) {\n const [originX, originFallbackX]: HorizontalConnectionPos[] =\n this.picker.xPosition === 'before' ? ['end', 'start'] : ['start', 'end'];\n\n const [overlayY, overlayFallbackY]: VerticalConnectionPos[] =\n this.picker.yPosition === 'above' ? ['bottom', 'top'] : ['top', 'bottom'];\n\n let [originY, originFallbackY] = [overlayY, overlayFallbackY];\n const [overlayX, overlayFallbackX] = [originX, originFallbackX];\n const offsetY = 0;\n\n originY = overlayY === 'top' ? 'bottom' : 'top';\n originFallbackY = overlayFallbackY === 'top' ? 'bottom' : 'top';\n\n positionStrategy.withPositions([\n { originX, originY, overlayX, overlayY, offsetY },\n {\n originX: originFallbackX,\n originY,\n overlayX: overlayFallbackX,\n overlayY,\n offsetY,\n },\n {\n originX,\n originY: originFallbackY,\n overlayX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n {\n originX: originFallbackX,\n originY: originFallbackY,\n overlayX: overlayFallbackX,\n overlayY: overlayFallbackY,\n offsetY: -offsetY,\n },\n ]);\n }\n\n /**\n * Returns strategy for positioning the overlay depending on what type of\n * device the picker is being shown on\n */\n private _positionStrategy(): PositionStrategy {\n if (this._clientOutput?.device !== 'touch') {\n return this._desktopPositionStrategy();\n }\n return this._touchPositionStrategy();\n }\n\n /**\n * Returns strategy for positioning the overlay for touch devices:\n * Place centered in the screen.\n */\n private _touchPositionStrategy(): PositionStrategy {\n return this._overlay.position().global();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { FormsModule } from '@angular/forms';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { GraniteDatePickerComponent } from './date-picker.component';\nimport { GraniteDateRangePickerComponent } from './date-range-picker.component';\nimport { CalendarModule } from 'primeng/calendar';\nimport {\n GraniteIconModule,\n GraniteButtonModule,\n} from '@ifsworld/granite-components';\nimport { GraniteDatePickerTriggerForDirective } from './date-picker-trigger-for.directive';\nimport { A11yModule } from '@angular/cdk/a11y';\n\n@NgModule({\n declarations: [\n GraniteDatePickerComponent,\n GraniteDateRangePickerComponent,\n GraniteDatePickerTriggerForDirective,\n ],\n imports: [\n BrowserModule,\n OverlayModule,\n BrowserAnimationsModule,\n CalendarModule,\n FormsModule,\n GraniteIconModule,\n GraniteButtonModule,\n A11yModule,\n ],\n exports: [\n GraniteDatePickerComponent,\n GraniteDateRangePickerComponent,\n GraniteDatePickerTriggerForDirective,\n ],\n providers: [],\n})\nexport class GraniteDatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
@@ -2297,9 +2297,12 @@ class GraniteRadioButtonComponent {
|
|
|
2297
2297
|
changes.labelPosition.currentValue != null &&
|
|
2298
2298
|
changes.labelPosition.currentValue === 'before';
|
|
2299
2299
|
}
|
|
2300
|
-
if (
|
|
2301
|
-
(this.disabled || this.readonly)
|
|
2302
|
-
|
|
2300
|
+
if (changes.disabled || changes.readonly) {
|
|
2301
|
+
if (this.disabled || this.readonly) {
|
|
2302
|
+
this._radioDisabled = true;
|
|
2303
|
+
}
|
|
2304
|
+
else
|
|
2305
|
+
this._radioDisabled = false;
|
|
2303
2306
|
}
|
|
2304
2307
|
}
|
|
2305
2308
|
ngOnDestroy() {
|
|
@@ -2441,9 +2444,12 @@ class GraniteCheckboxComponent {
|
|
|
2441
2444
|
changes.labelPosition.currentValue != null &&
|
|
2442
2445
|
changes.labelPosition.currentValue === 'before';
|
|
2443
2446
|
}
|
|
2444
|
-
if (
|
|
2445
|
-
(this.disabled || this.readonly)
|
|
2446
|
-
|
|
2447
|
+
if (changes.disabled || changes.readonly) {
|
|
2448
|
+
if (this.disabled || this.readonly) {
|
|
2449
|
+
this._checkboxDisabled = true;
|
|
2450
|
+
}
|
|
2451
|
+
else
|
|
2452
|
+
this._checkboxDisabled = false;
|
|
2447
2453
|
}
|
|
2448
2454
|
}
|
|
2449
2455
|
focus(origin = 'program', options) {
|