@ifsworld/granite-components 10.0.0 → 11.0.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.
Files changed (147) hide show
  1. package/README.md +4 -28
  2. package/date-picker/lib/date-picker-base.d.ts +1 -1
  3. package/date-picker/lib/date-picker-trigger-for.directive.d.ts +1 -1
  4. package/date-picker/lib/date-picker.component.d.ts +1 -1
  5. package/date-picker/lib/date-range-picker.component.d.ts +1 -1
  6. package/{esm2020 → esm2022}/date-picker/lib/date-picker-base.mjs +4 -4
  7. package/{esm2020 → esm2022}/date-picker/lib/date-picker-trigger-for.directive.mjs +4 -4
  8. package/esm2022/date-picker/lib/date-picker.component.mjs +30 -0
  9. package/{esm2020 → esm2022}/date-picker/lib/date-picker.module.mjs +21 -21
  10. package/esm2022/date-picker/lib/date-range-picker.component.mjs +46 -0
  11. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid-item.component.mjs +12 -12
  12. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid.component.mjs +7 -7
  13. package/{esm2020 → esm2022}/lib/arrange-grid/arrange-grid.module.mjs +5 -5
  14. package/{esm2020 → esm2022}/lib/badge/badge.component.mjs +5 -5
  15. package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +5 -5
  16. package/esm2022/lib/badge/testing/badge.harness.mjs +25 -0
  17. package/esm2022/lib/button/button.component.mjs +87 -0
  18. package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
  19. package/{esm2020 → esm2022}/lib/checkbox/checkbox-group.component.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/checkbox/checkbox.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/checkbox/checkbox.module.mjs +5 -5
  22. package/esm2022/lib/chips/chip-input.mjs +195 -0
  23. package/esm2022/lib/chips/chip-list.component.mjs +567 -0
  24. package/esm2022/lib/chips/chip.component.mjs +287 -0
  25. package/{esm2020 → esm2022}/lib/chips/chips.module.mjs +9 -9
  26. package/{esm2020 → esm2022}/lib/core/common-behaviors/disabled.mjs +4 -4
  27. package/{esm2020 → esm2022}/lib/core/core.module.mjs +11 -11
  28. package/esm2022/lib/core/devices/client-input-desktop.directive.mjs +29 -0
  29. package/esm2022/lib/core/devices/client-input-touch.directive.mjs +29 -0
  30. package/esm2022/lib/core/devices/client-output-desktop.directive.mjs +29 -0
  31. package/esm2022/lib/core/devices/client-output-touch.directive.mjs +29 -0
  32. package/{esm2020 → esm2022}/lib/core/pipes/pure-pipes.module.mjs +5 -5
  33. package/{esm2020 → esm2022}/lib/core/pipes/title.pipe.mjs +4 -4
  34. package/{esm2020 → esm2022}/lib/core/radio-checkbox-base.mjs +4 -4
  35. package/{esm2020 → esm2022}/lib/grid/grid.component.mjs +7 -7
  36. package/{esm2020 → esm2022}/lib/grid/grid.module.mjs +5 -5
  37. package/{esm2020 → esm2022}/lib/icon/icon.component.mjs +4 -4
  38. package/{esm2020 → esm2022}/lib/icon/icon.module.mjs +5 -5
  39. package/{esm2020 → esm2022}/lib/input-field/input-field.component.mjs +5 -5
  40. package/{esm2020 → esm2022}/lib/input-field/input-field.module.mjs +5 -5
  41. package/{esm2020 → esm2022}/lib/label/label.component.mjs +4 -4
  42. package/{esm2020 → esm2022}/lib/label/label.module.mjs +5 -5
  43. package/{esm2020 → esm2022}/lib/menu/divider.directive.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/menu/menu-base.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/menu/menu-item.component.mjs +6 -6
  46. package/{esm2020 → esm2022}/lib/menu/menu-touch-close.component.mjs +4 -4
  47. package/{esm2020 → esm2022}/lib/menu/menu-touch-title.component.mjs +6 -6
  48. package/esm2022/lib/menu/menu-trigger-for.directive.mjs +704 -0
  49. package/esm2022/lib/menu/menu.component.mjs +30 -0
  50. package/{esm2020 → esm2022}/lib/menu/menu.module.mjs +17 -17
  51. package/esm2022/lib/menu/testing/menu.harness.mjs +109 -0
  52. package/{esm2020 → esm2022}/lib/menu/title.directive.mjs +4 -4
  53. package/{esm2020 → esm2022}/lib/radio-button/radio-button.component.mjs +4 -4
  54. package/{esm2020 → esm2022}/lib/radio-button/radio-button.module.mjs +5 -5
  55. package/{esm2020 → esm2022}/lib/radio-button/radio-group.component.mjs +4 -4
  56. package/{esm2020 → esm2022}/lib/toggle-switch/toggle-switch.component.mjs +4 -4
  57. package/{esm2020 → esm2022}/lib/toggle-switch/toggle-switch.module.mjs +5 -5
  58. package/{esm2020 → esm2022}/table/lib/cell/cell-align/cell-align-classes.directive.mjs +4 -4
  59. package/{esm2020 → esm2022}/table/lib/cell/cell.mjs +4 -4
  60. package/{esm2020 → esm2022}/table/lib/cell/table-data-cell.component.mjs +5 -5
  61. package/{esm2020 → esm2022}/table/lib/cell/table-header-cell.component.mjs +4 -4
  62. package/{esm2020 → esm2022}/table/lib/column/table-column.directive.mjs +4 -4
  63. package/esm2022/table/lib/table-constants.library.mjs +9 -0
  64. package/{esm2020 → esm2022}/table/lib/table.component.mjs +4 -4
  65. package/{esm2020 → esm2022}/table/lib/table.module.mjs +9 -9
  66. package/{esm2020 → esm2022}/tooltip/lib/tooltip-constants.library.mjs +2 -2
  67. package/{esm2020 → esm2022}/tooltip/lib/tooltip-trigger-for.directive.mjs +4 -4
  68. package/{esm2020 → esm2022}/tooltip/lib/tooltip.component.mjs +5 -5
  69. package/{esm2020 → esm2022}/tooltip/lib/tooltip.module.mjs +5 -5
  70. package/fesm2022/ifsworld-granite-components-date-picker.mjs +396 -0
  71. package/{fesm2020 → fesm2022}/ifsworld-granite-components-date-picker.mjs.map +1 -1
  72. package/fesm2022/ifsworld-granite-components-table.mjs +190 -0
  73. package/{fesm2015 → fesm2022}/ifsworld-granite-components-table.mjs.map +1 -1
  74. package/{fesm2020 → fesm2022}/ifsworld-granite-components-tooltip.mjs +12 -12
  75. package/{fesm2020 → fesm2022}/ifsworld-granite-components-tooltip.mjs.map +1 -1
  76. package/{fesm2020 → fesm2022}/ifsworld-granite-components.mjs +340 -341
  77. package/fesm2022/ifsworld-granite-components.mjs.map +1 -0
  78. package/lib/arrange-grid/arrange-grid-item.component.d.ts +5 -5
  79. package/lib/arrange-grid/arrange-grid.component.d.ts +3 -3
  80. package/lib/badge/badge.component.d.ts +1 -1
  81. package/lib/button/button.component.d.ts +2 -2
  82. package/lib/checkbox/checkbox.component.d.ts +1 -1
  83. package/lib/chips/chip-input.d.ts +9 -9
  84. package/lib/chips/chip-list.component.d.ts +33 -33
  85. package/lib/chips/chip.component.d.ts +22 -22
  86. package/lib/core/radio-checkbox-base.d.ts +1 -1
  87. package/lib/grid/grid.component.d.ts +2 -2
  88. package/lib/icon/icon.component.d.ts +1 -1
  89. package/lib/input-field/input-field.component.d.ts +1 -1
  90. package/lib/label/label.component.d.ts +1 -1
  91. package/lib/menu/divider.directive.d.ts +1 -1
  92. package/lib/menu/menu-base.d.ts +1 -1
  93. package/lib/menu/menu-item.component.d.ts +1 -1
  94. package/lib/menu/menu-trigger-for.directive.d.ts +1 -1
  95. package/lib/radio-button/radio-button.component.d.ts +1 -1
  96. package/lib/toggle-switch/toggle-switch.component.d.ts +1 -1
  97. package/package.json +21 -40
  98. package/table/lib/cell/cell-align/cell-align-classes.directive.d.ts +1 -1
  99. package/table/lib/cell/cell.d.ts +1 -1
  100. package/table/lib/cell/table-data-cell.component.d.ts +1 -1
  101. package/table/lib/column/table-column.directive.d.ts +1 -1
  102. package/table/lib/table.component.d.ts +1 -1
  103. package/tooltip/lib/tooltip-trigger-for.directive.d.ts +1 -1
  104. package/esm2020/date-picker/lib/date-picker.component.mjs +0 -30
  105. package/esm2020/date-picker/lib/date-range-picker.component.mjs +0 -46
  106. package/esm2020/lib/badge/testing/badge.harness.mjs +0 -25
  107. package/esm2020/lib/button/button.component.mjs +0 -87
  108. package/esm2020/lib/chips/chip-input.mjs +0 -195
  109. package/esm2020/lib/chips/chip-list.component.mjs +0 -567
  110. package/esm2020/lib/chips/chip.component.mjs +0 -287
  111. package/esm2020/lib/core/devices/client-input-desktop.directive.mjs +0 -29
  112. package/esm2020/lib/core/devices/client-input-touch.directive.mjs +0 -29
  113. package/esm2020/lib/core/devices/client-output-desktop.directive.mjs +0 -29
  114. package/esm2020/lib/core/devices/client-output-touch.directive.mjs +0 -29
  115. package/esm2020/lib/menu/menu-trigger-for.directive.mjs +0 -705
  116. package/esm2020/lib/menu/menu.component.mjs +0 -30
  117. package/esm2020/lib/menu/testing/menu.harness.mjs +0 -109
  118. package/esm2020/table/lib/table-constants.library.mjs +0 -9
  119. package/fesm2015/ifsworld-granite-components-date-picker.mjs +0 -401
  120. package/fesm2015/ifsworld-granite-components-date-picker.mjs.map +0 -1
  121. package/fesm2015/ifsworld-granite-components-table.mjs +0 -190
  122. package/fesm2015/ifsworld-granite-components-tooltip.mjs +0 -169
  123. package/fesm2015/ifsworld-granite-components-tooltip.mjs.map +0 -1
  124. package/fesm2015/ifsworld-granite-components.mjs +0 -4133
  125. package/fesm2015/ifsworld-granite-components.mjs.map +0 -1
  126. package/fesm2020/ifsworld-granite-components-date-picker.mjs +0 -396
  127. package/fesm2020/ifsworld-granite-components-table.mjs +0 -190
  128. package/fesm2020/ifsworld-granite-components-table.mjs.map +0 -1
  129. package/fesm2020/ifsworld-granite-components.mjs.map +0 -1
  130. /package/{esm2020 → esm2022}/date-picker/ifsworld-granite-components-date-picker.mjs +0 -0
  131. /package/{esm2020 → esm2022}/date-picker/index.mjs +0 -0
  132. /package/{esm2020 → esm2022}/ifsworld-granite-components.mjs +0 -0
  133. /package/{esm2020 → esm2022}/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/core/animation.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/core/client-environment.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/core/theme.library.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/core/types.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/menu/menu-desktop-animations.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/menu/menu-errors.mjs +0 -0
  140. /package/{esm2020 → esm2022}/lib/menu/menu-panel.mjs +0 -0
  141. /package/{esm2020 → esm2022}/lib/menu/menu-positions.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/menu/menu-touch-animations.mjs +0 -0
  143. /package/{esm2020 → esm2022}/table/ifsworld-granite-components-table.mjs +0 -0
  144. /package/{esm2020 → esm2022}/table/index.mjs +0 -0
  145. /package/{esm2020 → esm2022}/table/lib/table.types.mjs +0 -0
  146. /package/{esm2020 → esm2022}/tooltip/ifsworld-granite-components-tooltip.mjs +0 -0
  147. /package/{esm2020 → esm2022}/tooltip/index.mjs +0 -0
@@ -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 { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\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 CommonModule,\n OverlayModule,\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 { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\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 CommonModule,\n OverlayModule,\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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"}
@@ -0,0 +1,190 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive, Input, ContentChild, Component, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, ContentChildren, NgModule } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from 'primeng/table';
6
+ import { TableModule } from 'primeng/table';
7
+ import * as i7 from '@ifsworld/granite-components';
8
+ import { PurePipesModule } from '@ifsworld/granite-components';
9
+ import * as i3 from 'primeng/api';
10
+
11
+ class GraniteTableColumnDirective {
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableColumnDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableColumnDirective, selector: "granite-table-column", inputs: { name: "name", title: "title", class: "class", headerClass: "headerClass" }, queries: [{ propertyName: "tableCellTemplateRef", first: true, predicate: ["graniteTableCellTemplate"], descendants: true }], ngImport: i0 }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableColumnDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ // eslint-disable-next-line @angular-eslint/directive-selector
19
+ selector: 'granite-table-column',
20
+ }]
21
+ }], propDecorators: { name: [{
22
+ type: Input
23
+ }], title: [{
24
+ type: Input
25
+ }], class: [{
26
+ type: Input
27
+ }], headerClass: [{
28
+ type: Input
29
+ }], tableCellTemplateRef: [{
30
+ type: ContentChild,
31
+ args: ['graniteTableCellTemplate', { static: false }]
32
+ }] } });
33
+
34
+ class GraniteTableCellConstants {
35
+ static { this.CELL_ID_PREFIX = 'granite-cell'; }
36
+ static { this.RIGHT_ALIGN = 'granite-right-align'; }
37
+ static { this.CENTER_ALIGN = 'granite-center-align'; }
38
+ }
39
+ class GraniteTableConstants {
40
+ static { this.STYLE_CLASS = 'granite-table'; }
41
+ }
42
+
43
+ class GraniteCell {
44
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteCell, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
45
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteCell, inputs: { id: "id", column: "column" }, ngImport: i0 }); }
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteCell, decorators: [{
48
+ type: Directive
49
+ }], propDecorators: { id: [{
50
+ type: Input
51
+ }], column: [{
52
+ type: Input
53
+ }] } });
54
+
55
+ class GraniteTableHeaderCellComponent extends GraniteCell {
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableHeaderCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]", host: { classAttribute: "granite-table-header-cell" }, usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-header-cell{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-micro);line-height:var(--granite-line-height-flowing);letter-spacing:.015em;font-weight:400;color:var(--granite-color-text-weak);background:var(--granite-color-background-variant)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableHeaderCellComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'th[graniteTableHeaderCell]', template: '<ng-content></ng-content>', host: {
62
+ class: 'granite-table-header-cell',
63
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-header-cell{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-micro);line-height:var(--granite-line-height-flowing);letter-spacing:.015em;font-weight:400;color:var(--granite-color-text-weak);background:var(--granite-color-background-variant)}\n"] }]
64
+ }] });
65
+
66
+ class GraniteTableDataCellComponent extends GraniteCell {
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableDataCellComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: { value: "value", rowIndex: "rowIndex", columnIndex: "columnIndex", row: "row", tableCellTemplateRef: "tableCellTemplateRef" }, host: { classAttribute: "granite-table-data-cell" }, usesInheritance: true, ngImport: i0, template: "<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);color:var(--granite-color-text);border-top:1px solid var(--granite-color-border-soft)}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr td{border:none}}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:not(.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:last-child) td{border-bottom:1px solid var(--granite-color-border-soft)}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableDataCellComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'granite-table-data-cell', host: {
73
+ class: 'granite-table-data-cell',
74
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td{padding:var(--granite-spacing-8);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);color:var(--granite-color-text);border-top:1px solid var(--granite-color-border-soft)}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr td{border:none}}@media only screen and (max-width: 960px){.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:not(.granite-table.p-datatable.p-datatable-responsive-stack .p-datatable-tbody>tr:last-child) td{border-bottom:1px solid var(--granite-color-border-soft)}}\n"] }]
75
+ }], propDecorators: { value: [{
76
+ type: Input
77
+ }], rowIndex: [{
78
+ type: Input
79
+ }], columnIndex: [{
80
+ type: Input
81
+ }], row: [{
82
+ type: Input
83
+ }], tableCellTemplateRef: [{
84
+ type: Input
85
+ }] } });
86
+
87
+ class GraniteCellAlignClassesDirective {
88
+ constructor() {
89
+ this.rightAlign = false;
90
+ this.centerAlign = false;
91
+ }
92
+ ngOnChanges(changes) {
93
+ if (changes.graniteCellAlignClasses &&
94
+ changes.graniteCellAlignClasses.currentValue != null) {
95
+ if (this.graniteCellAlignClasses.includes(GraniteTableCellConstants.RIGHT_ALIGN) ||
96
+ (Array.isArray(this.graniteCellAlignClasses) &&
97
+ this.graniteCellAlignClasses.includes(GraniteTableCellConstants.RIGHT_ALIGN))) {
98
+ this.rightAlign = true;
99
+ this.centerAlign = false;
100
+ }
101
+ else if (this.graniteCellAlignClasses.includes(GraniteTableCellConstants.CENTER_ALIGN) ||
102
+ (Array.isArray(this.graniteCellAlignClasses) &&
103
+ this.graniteCellAlignClasses.includes(GraniteTableCellConstants.CENTER_ALIGN))) {
104
+ this.centerAlign = true;
105
+ this.rightAlign = false;
106
+ }
107
+ else {
108
+ this.centerAlign = false;
109
+ this.rightAlign = false;
110
+ }
111
+ }
112
+ }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteCellAlignClassesDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
114
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: { graniteCellAlignClasses: "graniteCellAlignClasses" }, host: { properties: { "class.granite-table-cell-right-align": "this.rightAlign", "class.granite-table-cell-center-align": "this.centerAlign" } }, usesOnChanges: true, ngImport: i0 }); }
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteCellAlignClassesDirective, decorators: [{
117
+ type: Directive,
118
+ args: [{
119
+ selector: '[graniteCellAlignClasses]',
120
+ }]
121
+ }], propDecorators: { graniteCellAlignClasses: [{
122
+ type: Input
123
+ }], rightAlign: [{
124
+ type: HostBinding,
125
+ args: ['class.granite-table-cell-right-align']
126
+ }], centerAlign: [{
127
+ type: HostBinding,
128
+ args: ['class.granite-table-cell-center-align']
129
+ }] } });
130
+
131
+ class GraniteTableComponent {
132
+ constructor() {
133
+ this.dataSource = [];
134
+ this.layout = 'stack';
135
+ this.styleClass = GraniteTableConstants.STYLE_CLASS;
136
+ this.cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;
137
+ }
138
+ ngAfterContentInit() {
139
+ this._columns = this.tableColumnsComponent.toArray();
140
+ }
141
+ _trackColumnName(index, column) {
142
+ return column.name;
143
+ }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
145
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTableComponent, selector: "granite-table", inputs: { dataSource: "dataSource", trackBy: "trackBy", layout: "layout" }, queries: [{ propertyName: "tableColumnsComponent", predicate: GraniteTableColumnDirective }], ngImport: i0, template: "<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-right-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-right-align{text-align:end}.granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-center-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-center-align{text-align:center}.granite-table.p-datatable.p-component{font-family:inherit;font-weight:inherit;font-size:inherit}.granite-table.p-datatable .p-datatable-tbody>tr{background:var(--granite-color-background-variant)}.granite-table.p-datatable .p-datatable-thead>tr,.granite-table.p-datatable .p-datatable-tbody>tr{height:2.5rem}.granite-table.p-datatable .p-datatable-thead>tr>th,.granite-table.p-datatable .p-datatable-tbody>tr>td{border:none;border-width:0}.granite-table .p-datatable-table{overflow:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: GraniteTableHeaderCellComponent, selector: "th[graniteTableHeaderCell]" }, { kind: "component", type: GraniteTableDataCellComponent, selector: "granite-table-data-cell", inputs: ["value", "rowIndex", "columnIndex", "row", "tableCellTemplateRef"] }, { kind: "directive", type: GraniteCellAlignClassesDirective, selector: "[graniteCellAlignClasses]", inputs: ["graniteCellAlignClasses"] }, { kind: "pipe", type: i7.GraniteTitlePipe, name: "graniteTitle" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableComponent, decorators: [{
148
+ type: Component,
149
+ args: [{ selector: 'granite-table', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n", styles: [".granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-right-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-right-align{text-align:end}.granite-table.p-datatable .p-datatable-tbody>tr>td.granite-table-cell-center-align,.granite-table.p-datatable .p-datatable-thead>tr>th.granite-table-cell-center-align{text-align:center}.granite-table.p-datatable.p-component{font-family:inherit;font-weight:inherit;font-size:inherit}.granite-table.p-datatable .p-datatable-tbody>tr{background:var(--granite-color-background-variant)}.granite-table.p-datatable .p-datatable-thead>tr,.granite-table.p-datatable .p-datatable-tbody>tr{height:2.5rem}.granite-table.p-datatable .p-datatable-thead>tr>th,.granite-table.p-datatable .p-datatable-tbody>tr>td{border:none;border-width:0}.granite-table .p-datatable-table{overflow:hidden}\n"] }]
150
+ }], propDecorators: { dataSource: [{
151
+ type: Input
152
+ }], trackBy: [{
153
+ type: Input
154
+ }], layout: [{
155
+ type: Input
156
+ }], tableColumnsComponent: [{
157
+ type: ContentChildren,
158
+ args: [GraniteTableColumnDirective]
159
+ }] } });
160
+
161
+ class GraniteTableModule {
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
163
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, declarations: [GraniteTableComponent,
164
+ GraniteTableColumnDirective,
165
+ GraniteTableHeaderCellComponent,
166
+ GraniteTableDataCellComponent,
167
+ GraniteCellAlignClassesDirective], imports: [CommonModule, TableModule, PurePipesModule], exports: [GraniteTableComponent, GraniteTableColumnDirective] }); }
168
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, imports: [CommonModule, TableModule, PurePipesModule] }); }
169
+ }
170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTableModule, decorators: [{
171
+ type: NgModule,
172
+ args: [{
173
+ imports: [CommonModule, TableModule, PurePipesModule],
174
+ declarations: [
175
+ GraniteTableComponent,
176
+ GraniteTableColumnDirective,
177
+ GraniteTableHeaderCellComponent,
178
+ GraniteTableDataCellComponent,
179
+ GraniteCellAlignClassesDirective,
180
+ ],
181
+ exports: [GraniteTableComponent, GraniteTableColumnDirective],
182
+ }]
183
+ }] });
184
+
185
+ /**
186
+ * Generated bundle index. Do not edit.
187
+ */
188
+
189
+ export { GraniteTableCellConstants, GraniteTableColumnDirective, GraniteTableComponent, GraniteTableModule };
190
+ //# sourceMappingURL=ifsworld-granite-components-table.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ifsworld-granite-components-table.mjs","sources":["../../../../libs/granite-components/table/src/lib/column/table-column.directive.ts","../../../../libs/granite-components/table/src/lib/table-constants.library.ts","../../../../libs/granite-components/table/src/lib/cell/cell.ts","../../../../libs/granite-components/table/src/lib/cell/table-header-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.html","../../../../libs/granite-components/table/src/lib/cell/cell-align/cell-align-classes.directive.ts","../../../../libs/granite-components/table/src/lib/table.component.ts","../../../../libs/granite-components/table/src/lib/table.component.html","../../../../libs/granite-components/table/src/lib/table.module.ts","../../../../libs/granite-components/table/src/ifsworld-granite-components-table.ts"],"sourcesContent":["import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\n\nexport interface GraniteTableColumnInterface {\n name: string;\n title?: string;\n class?: string | string[];\n headerClass?: string | string[];\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'granite-table-column',\n})\nexport class GraniteTableColumnDirective\n implements GraniteTableColumnInterface\n{\n @Input()\n name: string;\n\n @Input()\n title?: string;\n\n @Input()\n class?: string | string[];\n\n @Input()\n headerClass?: string | string[];\n\n @ContentChild('graniteTableCellTemplate', { static: false })\n tableCellTemplateRef: TemplateRef<any>;\n}\n","export class GraniteTableCellConstants {\n static readonly CELL_ID_PREFIX: string = 'granite-cell';\n static readonly RIGHT_ALIGN: string = 'granite-right-align';\n static readonly CENTER_ALIGN: string = 'granite-center-align';\n}\n\nexport class GraniteTableConstants {\n static readonly STYLE_CLASS: string = 'granite-table';\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { GraniteTableColumnDirective } from '../column/table-column.directive';\n\n@Directive()\nexport abstract class GraniteCell {\n @Input()\n id: string;\n\n @Input()\n column: GraniteTableColumnDirective;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[graniteTableHeaderCell]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./table-header-cell.component.scss'],\n host: {\n class: 'granite-table-header-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableHeaderCellComponent extends GraniteCell {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n selector: 'granite-table-data-cell',\n templateUrl: './table-data-cell.component.html',\n styleUrls: ['./table-data-cell.component.scss'],\n host: {\n class: 'granite-table-data-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableDataCellComponent extends GraniteCell {\n @Input()\n value: any;\n\n @Input()\n rowIndex: number;\n\n @Input()\n columnIndex: number;\n\n @Input()\n row: any;\n\n // Custom template provided by the consumer\n @Input()\n tableCellTemplateRef: TemplateRef<any>;\n}\n","<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n","import {\n Directive,\n HostBinding,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\n\nimport { GraniteTableCellConstants } from '../../table-constants.library';\n\n@Directive({\n selector: '[graniteCellAlignClasses]',\n})\nexport class GraniteCellAlignClassesDirective implements OnChanges {\n @Input()\n graniteCellAlignClasses?: string | string[];\n\n @HostBinding('class.granite-table-cell-right-align')\n rightAlign: boolean = false;\n\n @HostBinding('class.granite-table-cell-center-align')\n centerAlign: boolean = false;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes.graniteCellAlignClasses &&\n changes.graniteCellAlignClasses.currentValue != null\n ) {\n if (\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.RIGHT_ALIGN\n ) ||\n (Array.isArray(this.graniteCellAlignClasses) &&\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.RIGHT_ALIGN\n ))\n ) {\n this.rightAlign = true;\n this.centerAlign = false;\n } else if (\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.CENTER_ALIGN\n ) ||\n (Array.isArray(this.graniteCellAlignClasses) &&\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.CENTER_ALIGN\n ))\n ) {\n this.centerAlign = true;\n this.rightAlign = false;\n } else {\n this.centerAlign = false;\n this.rightAlign = false;\n }\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TrackByFunction,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport {\n GraniteTableCellConstants,\n GraniteTableConstants,\n} from './table-constants.library';\nimport { ResponsiveLayout } from './table.types';\n\n@Component({\n selector: 'granite-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableComponent<T> implements AfterContentInit {\n @Input()\n dataSource: any[] = [];\n\n @Input()\n trackBy: TrackByFunction<T>;\n\n @Input()\n layout: ResponsiveLayout = 'stack';\n\n @ContentChildren(GraniteTableColumnDirective)\n tableColumnsComponent: QueryList<GraniteTableColumnDirective>;\n\n readonly styleClass = GraniteTableConstants.STYLE_CLASS;\n readonly cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;\n\n _columns: GraniteTableColumnDirective[];\n\n ngAfterContentInit(): void {\n this._columns = this.tableColumnsComponent.toArray();\n }\n\n _trackColumnName(index: number, column: GraniteTableColumnDirective): string {\n return column.name;\n }\n}\n","<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableModule } from 'primeng/table';\n\nimport { PurePipesModule } from '@ifsworld/granite-components';\n\nimport { GraniteTableComponent } from './table.component';\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';\nimport { GraniteTableDataCellComponent } from './cell/table-data-cell.component';\nimport { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';\n\n@NgModule({\n imports: [CommonModule, TableModule, PurePipesModule],\n declarations: [\n GraniteTableComponent,\n GraniteTableColumnDirective,\n GraniteTableHeaderCellComponent,\n GraniteTableDataCellComponent,\n GraniteCellAlignClassesDirective,\n ],\n exports: [GraniteTableComponent, GraniteTableColumnDirective],\n})\nexport class GraniteTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.GraniteTableHeaderCellComponent","i5.GraniteTableDataCellComponent","i6.GraniteCellAlignClassesDirective"],"mappings":"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"}
1
+ {"version":3,"file":"ifsworld-granite-components-table.mjs","sources":["../../../../libs/granite-components/table/src/lib/column/table-column.directive.ts","../../../../libs/granite-components/table/src/lib/table-constants.library.ts","../../../../libs/granite-components/table/src/lib/cell/cell.ts","../../../../libs/granite-components/table/src/lib/cell/table-header-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.ts","../../../../libs/granite-components/table/src/lib/cell/table-data-cell.component.html","../../../../libs/granite-components/table/src/lib/cell/cell-align/cell-align-classes.directive.ts","../../../../libs/granite-components/table/src/lib/table.component.ts","../../../../libs/granite-components/table/src/lib/table.component.html","../../../../libs/granite-components/table/src/lib/table.module.ts","../../../../libs/granite-components/table/src/ifsworld-granite-components-table.ts"],"sourcesContent":["import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';\n\nexport interface GraniteTableColumnInterface {\n name: string;\n title?: string;\n class?: string | string[];\n headerClass?: string | string[];\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'granite-table-column',\n})\nexport class GraniteTableColumnDirective\n implements GraniteTableColumnInterface\n{\n @Input()\n name: string;\n\n @Input()\n title?: string;\n\n @Input()\n class?: string | string[];\n\n @Input()\n headerClass?: string | string[];\n\n @ContentChild('graniteTableCellTemplate', { static: false })\n tableCellTemplateRef: TemplateRef<any>;\n}\n","export class GraniteTableCellConstants {\n static readonly CELL_ID_PREFIX: string = 'granite-cell';\n static readonly RIGHT_ALIGN: string = 'granite-right-align';\n static readonly CENTER_ALIGN: string = 'granite-center-align';\n}\n\nexport class GraniteTableConstants {\n static readonly STYLE_CLASS: string = 'granite-table';\n}\n","import { Directive, Input } from '@angular/core';\n\nimport { GraniteTableColumnDirective } from '../column/table-column.directive';\n\n@Directive()\nexport abstract class GraniteCell {\n @Input()\n id: string;\n\n @Input()\n column: GraniteTableColumnDirective;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'th[graniteTableHeaderCell]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./table-header-cell.component.scss'],\n host: {\n class: 'granite-table-header-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableHeaderCellComponent extends GraniteCell {}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteCell } from './cell';\n\n@Component({\n selector: 'granite-table-data-cell',\n templateUrl: './table-data-cell.component.html',\n styleUrls: ['./table-data-cell.component.scss'],\n host: {\n class: 'granite-table-data-cell',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableDataCellComponent extends GraniteCell {\n @Input()\n value: any;\n\n @Input()\n rowIndex: number;\n\n @Input()\n columnIndex: number;\n\n @Input()\n row: any;\n\n // Custom template provided by the consumer\n @Input()\n tableCellTemplateRef: TemplateRef<any>;\n}\n","<ng-template\n [ngTemplateOutlet]=\"tableCellTemplateRef || defaultTableCellTemplate\"\n [ngTemplateOutletContext]=\"{\n data: value,\n rowIndex: rowIndex,\n columnIndex: columnIndex,\n column: column,\n row: row\n }\"\n></ng-template>\n\n<ng-template #defaultTableCellTemplate>\n {{ value }}\n</ng-template>\n","import {\n Directive,\n HostBinding,\n Input,\n OnChanges,\n SimpleChanges,\n} from '@angular/core';\n\nimport { GraniteTableCellConstants } from '../../table-constants.library';\n\n@Directive({\n selector: '[graniteCellAlignClasses]',\n})\nexport class GraniteCellAlignClassesDirective implements OnChanges {\n @Input()\n graniteCellAlignClasses?: string | string[];\n\n @HostBinding('class.granite-table-cell-right-align')\n rightAlign: boolean = false;\n\n @HostBinding('class.granite-table-cell-center-align')\n centerAlign: boolean = false;\n\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes.graniteCellAlignClasses &&\n changes.graniteCellAlignClasses.currentValue != null\n ) {\n if (\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.RIGHT_ALIGN\n ) ||\n (Array.isArray(this.graniteCellAlignClasses) &&\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.RIGHT_ALIGN\n ))\n ) {\n this.rightAlign = true;\n this.centerAlign = false;\n } else if (\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.CENTER_ALIGN\n ) ||\n (Array.isArray(this.graniteCellAlignClasses) &&\n this.graniteCellAlignClasses.includes(\n GraniteTableCellConstants.CENTER_ALIGN\n ))\n ) {\n this.centerAlign = true;\n this.rightAlign = false;\n } else {\n this.centerAlign = false;\n this.rightAlign = false;\n }\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Input,\n QueryList,\n TrackByFunction,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport {\n GraniteTableCellConstants,\n GraniteTableConstants,\n} from './table-constants.library';\nimport { ResponsiveLayout } from './table.types';\n\n@Component({\n selector: 'granite-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTableComponent<T> implements AfterContentInit {\n @Input()\n dataSource: any[] = [];\n\n @Input()\n trackBy: TrackByFunction<T>;\n\n @Input()\n layout: ResponsiveLayout = 'stack';\n\n @ContentChildren(GraniteTableColumnDirective)\n tableColumnsComponent: QueryList<GraniteTableColumnDirective>;\n\n readonly styleClass = GraniteTableConstants.STYLE_CLASS;\n readonly cellIdPrefix = GraniteTableCellConstants.CELL_ID_PREFIX;\n\n _columns: GraniteTableColumnDirective[];\n\n ngAfterContentInit(): void {\n this._columns = this.tableColumnsComponent.toArray();\n }\n\n _trackColumnName(index: number, column: GraniteTableColumnDirective): string {\n return column.name;\n }\n}\n","<!-- [tableStyle]=\"{ width: '100%' }\" given to have equal width column -->\n<p-table\n [value]=\"dataSource\"\n [rowTrackBy]=\"trackBy\"\n [responsiveLayout]=\"layout\"\n [tableStyle]=\"{ width: '100%' }\"\n [styleClass]=\"styleClass\"\n>\n <ng-template pTemplate=\"header\">\n <tr data-granite-table-header-row>\n <ng-container *ngFor=\"let column of _columns; trackBy: _trackColumnName\"\n ><th\n [attr.data-granite-table-header-cell]=\"column.name\"\n graniteTableHeaderCell\n [graniteCellAlignClasses]=\"column.headerClass\"\n >\n {{ column.title ?? column.name | graniteTitle }}\n </th></ng-container\n >\n </tr>\n </ng-template>\n <ng-template pTemplate=\"body\" let-row let-rowIndex=\"rowIndex\">\n <tr data-granite-table-row>\n <ng-container\n *ngFor=\"\n let column of _columns;\n trackBy: _trackColumnName;\n let columnIndex = index\n \"\n >\n <td\n [attr.data-granite-table-cell]=\"column.name\"\n [graniteCellAlignClasses]=\"column.class\"\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n >\n <granite-table-data-cell\n [id]=\"cellIdPrefix + '-' + rowIndex + '-' + columnIndex\"\n [value]=\"row[column.name]\"\n [row]=\"row\"\n [column]=\"column\"\n [rowIndex]=\"rowIndex\"\n [columnIndex]=\"columnIndex\"\n [tableCellTemplateRef]=\"column.tableCellTemplateRef\"\n ></granite-table-data-cell>\n </td>\n </ng-container>\n </tr>\n </ng-template>\n</p-table>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TableModule } from 'primeng/table';\n\nimport { PurePipesModule } from '@ifsworld/granite-components';\n\nimport { GraniteTableComponent } from './table.component';\nimport { GraniteTableColumnDirective } from './column/table-column.directive';\nimport { GraniteTableHeaderCellComponent } from './cell/table-header-cell.component';\nimport { GraniteTableDataCellComponent } from './cell/table-data-cell.component';\nimport { GraniteCellAlignClassesDirective } from './cell/cell-align/cell-align-classes.directive';\n\n@NgModule({\n imports: [CommonModule, TableModule, PurePipesModule],\n declarations: [\n GraniteTableComponent,\n GraniteTableColumnDirective,\n GraniteTableHeaderCellComponent,\n GraniteTableDataCellComponent,\n GraniteCellAlignClassesDirective,\n ],\n exports: [GraniteTableComponent, GraniteTableColumnDirective],\n})\nexport class GraniteTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4.GraniteTableHeaderCellComponent","i5.GraniteTableDataCellComponent","i6.GraniteCellAlignClassesDirective"],"mappings":"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"}
@@ -9,20 +9,20 @@ import { Subject, fromEvent } from 'rxjs';
9
9
  import { takeUntil } from 'rxjs/operators';
10
10
 
11
11
  class GraniteTooltipComponent {
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
14
  }
13
- GraniteTooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
- GraniteTooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GraniteTooltipComponent, selector: "granite-tooltip", viewQueries: [{ propertyName: "_templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:.25rem;position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipComponent, decorators: [{
16
16
  type: Component,
17
- args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:.25rem;position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
17
+ args: [{ selector: 'granite-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: [".granite-tooltip{background-color:var(--granite-color-background-inverse);color:var(--granite-color-text-inverse);font-size:var(--granite-font-size-body-small);line-height:var(--granite-line-height-regular);padding:var(--granite-spacing-8);margin:0 var(--granite-spacing-4);border-radius:var(--granite-radius-s);position:relative;filter:drop-shadow(var(--granite-shadow-m))}\n"] }]
18
18
  }], propDecorators: { _templateRef: [{
19
19
  type: ViewChild,
20
20
  args: [TemplateRef]
21
21
  }] } });
22
22
 
23
23
  class GraniteTooltipConstants {
24
+ static { this.OFFSET_Y = 8; }
24
25
  }
25
- GraniteTooltipConstants.OFFSET_Y = 8;
26
26
 
27
27
  class GraniteTooltipTriggerForDirective {
28
28
  constructor(_elementRef, _overlay, _viewContainerRef, _focusMonitor) {
@@ -122,10 +122,10 @@ class GraniteTooltipTriggerForDirective {
122
122
  _getTriggerElement() {
123
123
  return this._elementRef.nativeElement;
124
124
  }
125
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive }); }
126
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)" } }, usesOnChanges: true, ngImport: i0 }); }
125
127
  }
126
- GraniteTooltipTriggerForDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipTriggerForDirective, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i2.FocusMonitor }], target: i0.ɵɵFactoryTarget.Directive });
127
- GraniteTooltipTriggerForDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: GraniteTooltipTriggerForDirective, selector: "[graniteTooltipTriggerFor]", inputs: { tooltip: ["graniteTooltipTriggerFor", "tooltip"], hideDelay: "hideDelay", showDelay: "showDelay", showOnKeyboardFocus: "showOnKeyboardFocus", showOnClick: "showOnClick" }, host: { listeners: { "mouseenter": "_handleMouseenter($event)", "mouseleave": "_handleMouseleave($event)" } }, usesOnChanges: true, ngImport: i0 });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipTriggerForDirective, decorators: [{
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipTriggerForDirective, decorators: [{
129
129
  type: Directive,
130
130
  args: [{
131
131
  selector: '[graniteTooltipTriggerFor]',
@@ -148,11 +148,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
148
148
  }] } });
149
149
 
150
150
  class GraniteTooltipModule {
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
152
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipModule, declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective], imports: [CommonModule], exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective] }); }
153
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipModule, imports: [CommonModule] }); }
151
154
  }
152
- GraniteTooltipModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
153
- GraniteTooltipModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipModule, declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective], imports: [CommonModule], exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective] });
154
- GraniteTooltipModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipModule, imports: [CommonModule] });
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraniteTooltipModule, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: GraniteTooltipModule, decorators: [{
156
156
  type: NgModule,
157
157
  args: [{
158
158
  imports: [CommonModule],
@@ -1 +1 @@
1
- {"version":3,"file":"ifsworld-granite-components-tooltip.mjs","sources":["../../../../libs/granite-components/tooltip/src/lib/tooltip.component.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.component.html","../../../../libs/granite-components/tooltip/src/lib/tooltip-constants.library.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip-trigger-for.directive.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.module.ts","../../../../libs/granite-components/tooltip/src/ifsworld-granite-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'granite-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTooltipComponent {\n @ViewChild(TemplateRef) _templateRef: TemplateRef<any>;\n}\n","<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","export class GraniteTooltipConstants {\n static readonly OFFSET_Y: number = 8;\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ConnectionPositionPair,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { GraniteTooltipConstants } from './tooltip-constants.library';\nimport { GraniteTooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[graniteTooltipTriggerFor]',\n host: {\n '(mouseenter)': '_handleMouseenter($event)',\n '(mouseleave)': '_handleMouseleave($event)',\n },\n})\nexport class GraniteTooltipTriggerForDirective\n implements OnDestroy, OnInit, OnChanges\n{\n @Input('graniteTooltipTriggerFor')\n tooltip: GraniteTooltipComponent;\n\n @Input()\n hideDelay: number = 0;\n\n @Input()\n showDelay: number = 0;\n\n @Input()\n showOnKeyboardFocus: boolean = false;\n\n @Input()\n showOnClick: boolean = false;\n\n private _overlayRef: OverlayRef;\n private _destroy: Subject<void> = new Subject();\n\n private _detachOverlayTimeoutId: number | null;\n private _attachOverlayTimeoutId: number | null;\n\n constructor(\n private _elementRef: ElementRef,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n private _focusMonitor: FocusMonitor\n ) {}\n\n ngOnInit(): void {\n this._createOverlay();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.showOnKeyboardFocus) {\n this._handleKeyboardFocus();\n }\n if (changes.showOnClick) {\n this._handleClick();\n }\n }\n\n ngOnDestroy(): void {\n this._detachOverlay(this.hideDelay);\n this._destroy.next();\n this._destroy.complete();\n }\n\n _handleMouseenter(): void {\n if (!this.showOnClick) {\n this._attachOverlay(this.showDelay);\n }\n }\n\n _handleMouseleave(): void {\n this._detachOverlay(this.hideDelay);\n }\n\n private _handleClick(): void {\n fromEvent(this._getTriggerElement(), 'click')\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._attachOverlay(this.showDelay);\n });\n }\n\n private _handleKeyboardFocus(): void {\n this._focusMonitor\n .monitor(this._getTriggerElement())\n .pipe(takeUntil(this._destroy))\n .subscribe((origin) => {\n if (!origin) {\n this._detachOverlay(this.hideDelay);\n } else if (origin === 'keyboard') {\n this._attachOverlay(this.hideDelay);\n }\n });\n }\n\n private _createOverlay(): void {\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getTriggerElement())\n .withPositions([\n new ConnectionPositionPair(\n { originX: 'center', originY: 'bottom' },\n { overlayX: 'center', overlayY: 'top' },\n undefined,\n GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-below'\n ),\n new ConnectionPositionPair(\n { originX: 'center', originY: 'top' },\n { overlayX: 'center', overlayY: 'bottom' },\n undefined,\n -GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-above'\n ),\n ])\n .withPush(true);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n\n this._overlayRef\n .backdropClick()\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._detachOverlay(this.hideDelay);\n });\n }\n\n private _attachOverlay(delay: number): void {\n if (!this._overlayRef.hasAttached()) {\n clearTimeout(this._detachOverlayTimeoutId);\n\n this._attachOverlayTimeoutId = window.setTimeout(() => {\n const portal = new TemplatePortal(\n this.tooltip._templateRef,\n this._viewContainerRef\n );\n this._overlayRef.attach(portal);\n }, delay);\n }\n }\n\n private _detachOverlay(delay: number): void {\n if (this._overlayRef.hasAttached()) {\n clearTimeout(this._attachOverlayTimeoutId);\n\n this._detachOverlayTimeoutId = window.setTimeout(() => {\n this._overlayRef.detach();\n this._detachOverlayTimeoutId = null;\n }, delay);\n }\n }\n\n private _getTriggerElement(): HTMLInputElement {\n return this._elementRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipTriggerForDirective } from './tooltip-trigger-for.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n})\nexport class GraniteTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ifsworld-granite-components-tooltip.mjs","sources":["../../../../libs/granite-components/tooltip/src/lib/tooltip.component.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.component.html","../../../../libs/granite-components/tooltip/src/lib/tooltip-constants.library.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip-trigger-for.directive.ts","../../../../libs/granite-components/tooltip/src/lib/tooltip.module.ts","../../../../libs/granite-components/tooltip/src/ifsworld-granite-components-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\n@Component({\n selector: 'granite-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GraniteTooltipComponent {\n @ViewChild(TemplateRef) _templateRef: TemplateRef<any>;\n}\n","<ng-template>\n <div class=\"granite-tooltip\">\n <ng-content></ng-content>\n </div>\n</ng-template>\n","export class GraniteTooltipConstants {\n static readonly OFFSET_Y: number = 8;\n}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport {\n ConnectionPositionPair,\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Directive,\n ElementRef,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewContainerRef,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { GraniteTooltipConstants } from './tooltip-constants.library';\nimport { GraniteTooltipComponent } from './tooltip.component';\n\n@Directive({\n selector: '[graniteTooltipTriggerFor]',\n host: {\n '(mouseenter)': '_handleMouseenter($event)',\n '(mouseleave)': '_handleMouseleave($event)',\n },\n})\nexport class GraniteTooltipTriggerForDirective\n implements OnDestroy, OnInit, OnChanges\n{\n @Input('graniteTooltipTriggerFor')\n tooltip: GraniteTooltipComponent;\n\n @Input()\n hideDelay: number = 0;\n\n @Input()\n showDelay: number = 0;\n\n @Input()\n showOnKeyboardFocus: boolean = false;\n\n @Input()\n showOnClick: boolean = false;\n\n private _overlayRef: OverlayRef;\n private _destroy: Subject<void> = new Subject();\n\n private _detachOverlayTimeoutId: number | null;\n private _attachOverlayTimeoutId: number | null;\n\n constructor(\n private _elementRef: ElementRef,\n private _overlay: Overlay,\n private _viewContainerRef: ViewContainerRef,\n private _focusMonitor: FocusMonitor\n ) {}\n\n ngOnInit(): void {\n this._createOverlay();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.showOnKeyboardFocus) {\n this._handleKeyboardFocus();\n }\n if (changes.showOnClick) {\n this._handleClick();\n }\n }\n\n ngOnDestroy(): void {\n this._detachOverlay(this.hideDelay);\n this._destroy.next();\n this._destroy.complete();\n }\n\n _handleMouseenter(): void {\n if (!this.showOnClick) {\n this._attachOverlay(this.showDelay);\n }\n }\n\n _handleMouseleave(): void {\n this._detachOverlay(this.hideDelay);\n }\n\n private _handleClick(): void {\n fromEvent(this._getTriggerElement(), 'click')\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._attachOverlay(this.showDelay);\n });\n }\n\n private _handleKeyboardFocus(): void {\n this._focusMonitor\n .monitor(this._getTriggerElement())\n .pipe(takeUntil(this._destroy))\n .subscribe((origin) => {\n if (!origin) {\n this._detachOverlay(this.hideDelay);\n } else if (origin === 'keyboard') {\n this._attachOverlay(this.hideDelay);\n }\n });\n }\n\n private _createOverlay(): void {\n const scrollStrategy = this._overlay.scrollStrategies.reposition();\n const positionStrategy = this._overlay\n .position()\n .flexibleConnectedTo(this._getTriggerElement())\n .withPositions([\n new ConnectionPositionPair(\n { originX: 'center', originY: 'bottom' },\n { overlayX: 'center', overlayY: 'top' },\n undefined,\n GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-below'\n ),\n new ConnectionPositionPair(\n { originX: 'center', originY: 'top' },\n { overlayX: 'center', overlayY: 'bottom' },\n undefined,\n -GraniteTooltipConstants.OFFSET_Y,\n 'granite-tooltip-position-above'\n ),\n ])\n .withPush(true);\n\n this._overlayRef = this._overlay.create({\n positionStrategy,\n scrollStrategy,\n });\n\n this._overlayRef\n .backdropClick()\n .pipe(takeUntil(this._destroy))\n .subscribe(() => {\n this._detachOverlay(this.hideDelay);\n });\n }\n\n private _attachOverlay(delay: number): void {\n if (!this._overlayRef.hasAttached()) {\n clearTimeout(this._detachOverlayTimeoutId);\n\n this._attachOverlayTimeoutId = window.setTimeout(() => {\n const portal = new TemplatePortal(\n this.tooltip._templateRef,\n this._viewContainerRef\n );\n this._overlayRef.attach(portal);\n }, delay);\n }\n }\n\n private _detachOverlay(delay: number): void {\n if (this._overlayRef.hasAttached()) {\n clearTimeout(this._attachOverlayTimeoutId);\n\n this._detachOverlayTimeoutId = window.setTimeout(() => {\n this._overlayRef.detach();\n this._detachOverlayTimeoutId = null;\n }, delay);\n }\n }\n\n private _getTriggerElement(): HTMLInputElement {\n return this._elementRef.nativeElement;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { GraniteTooltipComponent } from './tooltip.component';\nimport { GraniteTooltipTriggerForDirective } from './tooltip-trigger-for.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n exports: [GraniteTooltipComponent, GraniteTooltipTriggerForDirective],\n})\nexport class GraniteTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}