@fundamental-ngx/core 0.39.2 → 0.40.0-rc.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/dialog/base/dialog-config-base.class.d.ts +2 -0
  2. package/esm2020/avatar/avatar.component.mjs +6 -3
  3. package/esm2020/calendar/calendar-views/calendar-day-view/calendar-day-view.component.mjs +6 -3
  4. package/esm2020/date-picker/date-picker.component.mjs +5 -15
  5. package/esm2020/dialog/base/dialog-config-base.class.mjs +3 -1
  6. package/esm2020/dialog/dialog-body/dialog-body.component.mjs +3 -3
  7. package/esm2020/dialog/dialog.component.mjs +4 -3
  8. package/esm2020/dynamic-page/dynamic-page.component.mjs +2 -2
  9. package/esm2020/form/form-input-message-group/form-input-message-group.component.mjs +1 -1
  10. package/esm2020/form/form-label/form-label.component.mjs +8 -2
  11. package/esm2020/icon/icon.component.mjs +1 -1
  12. package/esm2020/illustrated-message/illustrated-message.component.mjs +5 -2
  13. package/esm2020/layout-panel/layout-panel-footer/layout-panel-footer.component.mjs +40 -22
  14. package/esm2020/layout-panel/layout-panel-title/layout-panel-title.directive.mjs +4 -4
  15. package/esm2020/layout-panel/layout-panel.component.mjs +15 -3
  16. package/esm2020/link/link.component.mjs +3 -3
  17. package/esm2020/list/list-component.interface.mjs +1 -1
  18. package/esm2020/list/list-item/list-item.component.mjs +9 -10
  19. package/esm2020/list/list-navigation-item/list-navigation-item.component.mjs +2 -2
  20. package/esm2020/list/list.component.mjs +2 -2
  21. package/esm2020/list/tokens.mjs +1 -1
  22. package/esm2020/multi-combobox/base-multi-combobox.class.mjs +2 -2
  23. package/esm2020/multi-combobox/multi-combobox.component.mjs +8 -9
  24. package/esm2020/multi-input/multi-input.component.mjs +7 -4
  25. package/esm2020/object-status/object-status.component.mjs +1 -1
  26. package/esm2020/popover/base/base-popover.class.mjs +18 -4
  27. package/esm2020/popover/popover-service/popover.service.mjs +22 -8
  28. package/esm2020/segmented-button/segmented-button.component.mjs +11 -15
  29. package/esm2020/select/option/option.component.mjs +21 -5
  30. package/esm2020/select/select.component.mjs +1 -1
  31. package/esm2020/splitter/splitter-pane-container/splitter-pane-container.component.mjs +9 -3
  32. package/esm2020/text/text.component.mjs +3 -3
  33. package/esm2020/theming/theming.service.mjs +11 -4
  34. package/esm2020/timeline/timeline.component.mjs +11 -11
  35. package/esm2020/token/token.component.mjs +27 -6
  36. package/esm2020/token/tokenizer.component.mjs +151 -71
  37. package/fesm2015/fundamental-ngx-core-avatar.mjs +5 -2
  38. package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
  39. package/fesm2015/fundamental-ngx-core-calendar.mjs +5 -2
  40. package/fesm2015/fundamental-ngx-core-calendar.mjs.map +1 -1
  41. package/fesm2015/fundamental-ngx-core-date-picker.mjs +4 -14
  42. package/fesm2015/fundamental-ngx-core-date-picker.mjs.map +1 -1
  43. package/fesm2015/fundamental-ngx-core-dialog.mjs +6 -4
  44. package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
  45. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +2 -2
  46. package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  47. package/fesm2015/fundamental-ngx-core-form.mjs +7 -1
  48. package/fesm2015/fundamental-ngx-core-form.mjs.map +1 -1
  49. package/fesm2015/fundamental-ngx-core-icon.mjs.map +1 -1
  50. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs +4 -1
  51. package/fesm2015/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  52. package/fesm2015/fundamental-ngx-core-layout-panel.mjs +55 -25
  53. package/fesm2015/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  54. package/fesm2015/fundamental-ngx-core-link.mjs +2 -2
  55. package/fesm2015/fundamental-ngx-core-link.mjs.map +1 -1
  56. package/fesm2015/fundamental-ngx-core-list.mjs +15 -19
  57. package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
  58. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +9 -11
  59. package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  60. package/fesm2015/fundamental-ngx-core-multi-input.mjs +6 -3
  61. package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
  62. package/fesm2015/fundamental-ngx-core-object-status.mjs.map +1 -1
  63. package/fesm2015/fundamental-ngx-core-popover.mjs +38 -10
  64. package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
  65. package/fesm2015/fundamental-ngx-core-segmented-button.mjs +11 -15
  66. package/fesm2015/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  67. package/fesm2015/fundamental-ngx-core-select.mjs +29 -14
  68. package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
  69. package/fesm2015/fundamental-ngx-core-splitter.mjs +8 -2
  70. package/fesm2015/fundamental-ngx-core-splitter.mjs.map +1 -1
  71. package/fesm2015/fundamental-ngx-core-text.mjs +2 -2
  72. package/fesm2015/fundamental-ngx-core-text.mjs.map +1 -1
  73. package/fesm2015/fundamental-ngx-core-theming.mjs +10 -3
  74. package/fesm2015/fundamental-ngx-core-theming.mjs.map +1 -1
  75. package/fesm2015/fundamental-ngx-core-timeline.mjs +9 -10
  76. package/fesm2015/fundamental-ngx-core-timeline.mjs.map +1 -1
  77. package/fesm2015/fundamental-ngx-core-token.mjs +179 -76
  78. package/fesm2015/fundamental-ngx-core-token.mjs.map +1 -1
  79. package/fesm2020/fundamental-ngx-core-avatar.mjs +5 -2
  80. package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
  81. package/fesm2020/fundamental-ngx-core-calendar.mjs +5 -2
  82. package/fesm2020/fundamental-ngx-core-calendar.mjs.map +1 -1
  83. package/fesm2020/fundamental-ngx-core-date-picker.mjs +4 -14
  84. package/fesm2020/fundamental-ngx-core-date-picker.mjs.map +1 -1
  85. package/fesm2020/fundamental-ngx-core-dialog.mjs +6 -4
  86. package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
  87. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +2 -2
  88. package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
  89. package/fesm2020/fundamental-ngx-core-form.mjs +7 -1
  90. package/fesm2020/fundamental-ngx-core-form.mjs.map +1 -1
  91. package/fesm2020/fundamental-ngx-core-icon.mjs.map +1 -1
  92. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs +4 -1
  93. package/fesm2020/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  94. package/fesm2020/fundamental-ngx-core-layout-panel.mjs +55 -25
  95. package/fesm2020/fundamental-ngx-core-layout-panel.mjs.map +1 -1
  96. package/fesm2020/fundamental-ngx-core-link.mjs +2 -2
  97. package/fesm2020/fundamental-ngx-core-link.mjs.map +1 -1
  98. package/fesm2020/fundamental-ngx-core-list.mjs +15 -18
  99. package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
  100. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +8 -9
  101. package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  102. package/fesm2020/fundamental-ngx-core-multi-input.mjs +6 -3
  103. package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
  104. package/fesm2020/fundamental-ngx-core-object-status.mjs.map +1 -1
  105. package/fesm2020/fundamental-ngx-core-popover.mjs +38 -10
  106. package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
  107. package/fesm2020/fundamental-ngx-core-segmented-button.mjs +11 -15
  108. package/fesm2020/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  109. package/fesm2020/fundamental-ngx-core-select.mjs +27 -14
  110. package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
  111. package/fesm2020/fundamental-ngx-core-splitter.mjs +8 -2
  112. package/fesm2020/fundamental-ngx-core-splitter.mjs.map +1 -1
  113. package/fesm2020/fundamental-ngx-core-text.mjs +2 -2
  114. package/fesm2020/fundamental-ngx-core-text.mjs.map +1 -1
  115. package/fesm2020/fundamental-ngx-core-theming.mjs +10 -3
  116. package/fesm2020/fundamental-ngx-core-theming.mjs.map +1 -1
  117. package/fesm2020/fundamental-ngx-core-timeline.mjs +9 -10
  118. package/fesm2020/fundamental-ngx-core-timeline.mjs.map +1 -1
  119. package/fesm2020/fundamental-ngx-core-token.mjs +173 -74
  120. package/fesm2020/fundamental-ngx-core-token.mjs.map +1 -1
  121. package/form/form-input-message-group/form-input-message-group.component.d.ts +2 -1
  122. package/fundamental-ngx-core-v0.40.0-rc.0.tgz +0 -0
  123. package/illustrated-message/illustrated-message.component.d.ts +2 -2
  124. package/layout-panel/layout-panel-footer/layout-panel-footer.component.d.ts +23 -14
  125. package/layout-panel/layout-panel-title/layout-panel-title.directive.d.ts +1 -1
  126. package/layout-panel/layout-panel.component.d.ts +5 -1
  127. package/list/list-component.interface.d.ts +1 -0
  128. package/list/list-item/list-item.component.d.ts +2 -2
  129. package/list/tokens.d.ts +1 -1
  130. package/multi-combobox/base-multi-combobox.class.d.ts +1 -2
  131. package/multi-combobox/multi-combobox.component.d.ts +2 -3
  132. package/object-status/object-status.component.d.ts +1 -1
  133. package/package.json +4 -4
  134. package/popover/base/base-popover.class.d.ts +17 -3
  135. package/popover/popover-service/popover.service.d.ts +2 -0
  136. package/schematics/add-dependencies/index.js +6 -6
  137. package/segmented-button/segmented-button.component.d.ts +0 -1
  138. package/select/option/option.component.d.ts +9 -2
  139. package/select/select.component.d.ts +1 -1
  140. package/splitter/splitter-pane-container/splitter-pane-container.component.d.ts +5 -1
  141. package/theming/theming.service.d.ts +12 -6
  142. package/timeline/timeline.component.d.ts +3 -2
  143. package/token/token.component.d.ts +7 -1
  144. package/token/tokenizer.component.d.ts +28 -7
  145. package/esm2020/list/list-component.token.mjs +0 -4
  146. package/fundamental-ngx-core-v0.39.2.tgz +0 -0
  147. package/list/list-component.token.d.ts +0 -4
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n }\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _cdr: ChangeDetectorRef,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (this.clickable) {\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this._elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: string): string | null {\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this._bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this._bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this._elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","{{ abbreviate }}\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-avatar.mjs","sources":["../../../../libs/core/src/lib/avatar/tokens.ts","../../../../libs/core/src/lib/avatar/avatar.component.ts","../../../../libs/core/src/lib/avatar/avatar.component.html","../../../../libs/core/src/lib/avatar/avatar.module.ts","../../../../libs/core/src/lib/avatar/fundamental-ngx-core-avatar.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const FD_AVATAR_COMPONENT = new InjectionToken('FdAvatarComponent');\n","import {\n Attribute,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnChanges,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {\n ANY_LANGUAGE_LETTERS_REGEX,\n ColorAccent,\n Size,\n applyCssClass,\n getRandomColorAccent,\n CssClassBuilder\n} from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FD_AVATAR_COMPONENT } from './tokens';\n\nlet avatarUniqueId = 0;\n\nconst ALTER_ICON_OPTIONS = {\n CONTENT: 'content',\n ALT: 'alt',\n BACKUP: 'backup',\n DEFAULT_ICON: 'default-icon'\n};\n\n@Component({\n selector: 'fd-avatar',\n templateUrl: './avatar.component.html',\n styleUrls: ['./avatar.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: FD_AVATAR_COMPONENT,\n useExisting: AvatarComponent\n }\n ],\n host: {\n '[attr.tabindex]': '_tabindex'\n }\n})\nexport class AvatarComponent implements OnChanges, OnInit, CssClassBuilder, OnChanges {\n /** User's custom classes */\n @Input()\n class: string;\n\n /** Id of the Avatar. */\n @Input()\n @HostBinding('attr.id')\n id = `fd-avatar-${avatarUniqueId++}`;\n\n /** Aria-label for Avatar. */\n @Input()\n @HostBinding('attr.aria-label')\n @HostBinding('attr.alt')\n ariaLabel: Nullable<string> = null;\n\n /** Aria-Labelledby for element describing Avatar. */\n @Input()\n @HostBinding('attr.aria-labelledby')\n ariaLabelledby: Nullable<string> = null;\n\n /** Localized text for label */\n @Input()\n set label(value: Nullable<string>) {\n this.ariaLabel = value || null;\n this.abbreviate = this._getAbbreviate(value);\n }\n\n /** The size of the Avatar. Options include: *xs*, *s*, *m*, *l* and *xl*. */\n @Input() size: Size = 'l';\n\n /** The glyph name. */\n @Input() glyph: Nullable<string> = null;\n\n /** The glyph name for zoom icon. */\n @Input() zoomGlyph: Nullable<string> = null;\n\n /** Whether to apply a circle style to the Avatar. */\n @Input() circle = false;\n\n /** Whether to apply a transparent style to the Avatar. */\n @Input() transparent = false;\n\n /** Whether to apply background size contain style to the Avatar */\n @Input() contain = false;\n\n /** Whether to apply a placeholder background style to the Avatar. */\n @Input() placeholder = false;\n\n /** Whether to apply a tile background style to the Avatar. */\n @Input() tile = false;\n\n /** Whether to apply a border to the Avatar. */\n @Input() border = false;\n\n /** A number from 1 to 10 representing the background color of the Avatar. */\n @Input() colorAccent: Nullable<ColorAccent> = null;\n\n /** Whether to apply random background color to the Avatar. */\n @Input() random = false;\n\n /** Whether component should be focusable & clicable */\n @Input() clickable = false;\n\n /**\n * @deprecated\n * Deprecated according to Rename `backgroundImage` to `image`\n * */\n /** Background image url. */\n @Input()\n set backgroundImage(value: string) {\n this._setImage(value);\n }\n\n /** Background image resource: url or base64. */\n @Input()\n set image(value: Nullable<string>) {\n this._setImage(value);\n }\n get image(): Nullable<string> {\n return this._image;\n }\n\n /** Backup options to use when image hasn't been loaded successfully.\n * Options separated with \"|\" symbol.\n * Possible options: content, alt, backup, default-icon\n */\n @Input()\n set alterIcon(value: Nullable<string>) {\n this._alterIcon = value;\n }\n get alterIcon(): Nullable<string> {\n return this._alterIcon;\n }\n\n /** Backup image to load when image hasn't been loaded successfully.\n * Only applicable when using alterIcon input property.\n */\n @Input()\n set backupImage(value: Nullable<string>) {\n this._backupImage = value;\n }\n get backupImage(): Nullable<string> {\n return this._backupImage;\n }\n\n /** Event emitted when avatar clicked. Only fires if clickable input property set to true. */\n @Output() avatarClicked = new EventEmitter<Event>();\n\n /** Event emitted when zoom icon clicked. Only fires if zoomGlyph input property is set. */\n @Output() zoomGlyphClicked = new EventEmitter<void>();\n\n /** @hidden */\n @HostBinding('style.background-image')\n get bgImage(): Nullable<string> {\n return this._bgImage;\n }\n\n /** @hidden */\n @HostBinding('attr.role')\n get role(): string {\n return this.zoomGlyph ? 'button' : 'img';\n }\n\n /** @hidden */\n @ViewChild('content')\n set content(value: ElementRef) {\n this._content = value;\n }\n\n /** @hidden */\n abbreviate: Nullable<string> = null;\n\n /** @hidden */\n private _image: Nullable<string> = null;\n\n /** @hidden */\n private _alterIcon: Nullable<string> = null;\n\n /** @hidden */\n private _content: Nullable<ElementRef> = null;\n\n /** @hidden */\n private _backupImage: Nullable<string> = null;\n\n /** @hidden */\n private _bgImage: Nullable<string> = null;\n\n /** @hidden */\n get _tabindex(): number | null {\n if (this.hostTabindex != null) {\n return this.hostTabindex;\n }\n return this.clickable ? 0 : null;\n }\n\n /** If a default placeholder should be displayed */\n get showDefault(): boolean {\n return !this.abbreviate && !this._image && !this.glyph;\n }\n\n /** @hidden */\n constructor(\n private _elementRef: ElementRef,\n private _cdr: ChangeDetectorRef,\n @Attribute('tabindex') private hostTabindex: number | null\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n if (this.zoomGlyph) {\n this.clickable = true;\n }\n this.buildComponentCssClass();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-avatar',\n this.size ? `fd-avatar--${this.size}` : '',\n this.colorAccent && !this.random ? `fd-avatar--accent-color-${this.colorAccent}` : '',\n this.random ? `fd-avatar--accent-color-${getRandomColorAccent()}` : '',\n this.circle ? 'fd-avatar--circle' : '',\n this.border ? 'fd-avatar--border' : '',\n this.transparent ? 'fd-avatar--transparent' : '',\n this.contain ? 'fd-avatar--background-contain' : '',\n this.placeholder ? 'fd-avatar--placeholder' : '',\n this.tile ? 'fd-avatar--tile' : '',\n this.class\n ];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n _onClick(event: Event): void {\n if (this.clickable) {\n event.preventDefault();\n this.avatarClicked.emit(event);\n if (this.zoomGlyph) {\n this.zoomGlyphClicked.next();\n }\n }\n }\n\n /** @hidden */\n zoomClicked(event: Event): void {\n event.preventDefault();\n this._elementRef.nativeElement.focus();\n this.zoomGlyphClicked.next();\n }\n\n /** @hidden Get an abbreviate from the label or return null if not fit requirements */\n private _getAbbreviate(label: Nullable<string>): string | null {\n if (!label || this._image) {\n return null;\n }\n\n return this._generateAbbreviation(label);\n }\n\n /** @hidden Get the abbreviation string */\n private _generateAbbreviation(label: Nullable<string>): string | null {\n if (!label) {\n return null;\n }\n const maxLettersCount = 3;\n const firstLetters = label.split(' ').map((word) => word.charAt(0));\n const abbreviate = firstLetters.join('');\n\n if (firstLetters.length > maxLettersCount || !abbreviate.match(ANY_LANGUAGE_LETTERS_REGEX)) {\n return null;\n }\n\n return abbreviate;\n }\n\n /** @hidden */\n private _setImage(value: Nullable<string>): void {\n this._image = value;\n\n if (value) {\n this._verifyImageUrl(value, (): void => {}, this._onErrorCallback);\n } else {\n this._bgImage = null;\n }\n }\n\n /** @hidden */\n private _verifyImageUrl(srcValue: string, onLoadCallback: () => void, onErrorCallback: () => void): void {\n // Don't load the same image all the time check happens\n if (srcValue === this._bgImage) {\n return;\n }\n const img = new Image();\n img.onload = onLoadCallback.bind(this);\n img.onerror = onErrorCallback.bind(this);\n img.src = srcValue;\n this._assignBgImage(srcValue);\n }\n\n /** @hidden */\n private _assignBgImage(srcValue: Nullable<string>): void {\n this._bgImage = srcValue ? `url(${srcValue})` : null;\n }\n\n /** @hidden */\n private _onErrorCallback(): void {\n if (!this._alterIcon) {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n return;\n }\n\n const options = this._alterIcon.split('|');\n for (let i = 0; i < options.length; i++) {\n const option = options[i];\n\n if (option === ALTER_ICON_OPTIONS.CONTENT) {\n const contentValue = this._content?.nativeElement.textContent;\n if (contentValue) {\n this.abbreviate = this._generateAbbreviation(contentValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.ALT) {\n const altValue = this._elementRef.nativeElement.getAttribute('alt');\n if (altValue) {\n this.abbreviate = this._generateAbbreviation(altValue);\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.BACKUP) {\n if (this._backupImage && this._backupImage !== '') {\n // Check if backupImage can be loaded successfully\n // If not, set default user icon\n this._verifyImageUrl(\n this._backupImage,\n () => {\n this._assignBgImage(this._backupImage);\n this._cdr.detectChanges();\n },\n () => {\n this._showDefaultIcon();\n this._cdr.detectChanges();\n }\n );\n break;\n }\n\n continue;\n }\n\n if (option === ALTER_ICON_OPTIONS.DEFAULT_ICON) {\n this._showDefaultIcon();\n break;\n }\n\n this._showDefaultIcon();\n }\n\n this._cdr.detectChanges();\n }\n\n /** @hidden */\n private _showDefaultIcon(): void {\n this.abbreviate = null;\n this._image = null;\n this.glyph = null;\n }\n}\n","<ng-container *ngIf=\"abbreviate\">{{ abbreviate }}</ng-container>\n\n<i\n *ngIf=\"zoomGlyph\"\n role=\"presentation\"\n class=\"fd-avatar__zoom-icon\"\n [class]=\"zoomGlyph ? 'sap-icon--' + zoomGlyph : ''\"\n (mousedown)=\"zoomClicked($event)\"\n>\n</i>\n\n<i\n *ngIf=\"glyph || showDefault\"\n class=\"fd-avatar__icon\"\n role=\"presentation\"\n [class]=\"glyph ? 'sap-icon--' + glyph : 'sap-icon--person-placeholder'\"\n>\n</i>\n\n<div #content style=\"display: none\">\n <ng-content></ng-content>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AvatarComponent } from './avatar.component';\n\n@NgModule({\n imports: [CommonModule],\n exports: [AvatarComponent],\n declarations: [AvatarComponent]\n})\nexport class AvatarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -679,6 +679,9 @@ class CalendarDayViewComponent {
679
679
  if (!changes['selectedDate'] && !changes['selectedRangeDate'] && !changes['currentlyDisplayed']) {
680
680
  this._buildDayViewGrid();
681
681
  }
682
+ if (changes['startingDayOfWeek']) {
683
+ this._refreshShortWeekDays();
684
+ }
682
685
  }
683
686
  /** @hidden */
684
687
  ngOnDestroy() {
@@ -1322,13 +1325,13 @@ class CalendarDayViewComponent {
1322
1325
  }
1323
1326
  }
1324
1327
  CalendarDayViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CalendarDayViewComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: CalendarService }, { token: DATE_TIME_FORMATS }, { token: i2.DatetimeAdapter }, { token: CalendarI18nLabels }], target: i0.ɵɵFactoryTarget.Component });
1325
- CalendarDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CalendarDayViewComponent, selector: "fd-calendar-day-view", inputs: { currentlyDisplayed: "currentlyDisplayed", selectedDate: "selectedDate", selectedRangeDate: "selectedRangeDate", startingDayOfWeek: "startingDayOfWeek", calType: "calType", id: "id", rangeHoverEffect: "rangeHoverEffect", markWeekends: "markWeekends", showWeekNumbers: "showWeekNumbers", focusEscapeFunction: "focusEscapeFunction", specialDaysRules: "specialDaysRules", disableFunction: "disableFunction", disableRangeStartFunction: "disableRangeStartFunction", disableRangeEndFunction: "disableRangeEndFunction" }, outputs: { selectedRangeDateChange: "selectedRangeDateChange", nextMonthSelect: "nextMonthSelect", previousMonthSelect: "previousMonthSelect", selectedDateChange: "selectedDateChange" }, host: { properties: { "attr.id": "viewId" }, classAttribute: "fd-calendar__dates" }, usesOnChanges: true, ngImport: i0, template: "<table class=\"fd-calendar__table\" role=\"grid\" [attr.aria-roledescription]=\"_viewRoleDescription\">\n <thead class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n [attr.id]=\"_weekNumbersColumnHeaderId\"\n [attr.aria-label]=\"_weekColumnLabelAriaLabel\"\n ></th>\n <th\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n *ngFor=\"let day of shortWeekDays; index as i\"\n [attr.aria-label]=\"longWeekDays[i]\"\n >\n <span class=\"fd-calendar__text\">{{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\" *ngFor=\"let row of _dayViewGrid; let rowIndex = index\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"rowheader\"\n scope=\"row\"\n [attr.data-fd-calendar-week]=\"_weeks[rowIndex]\"\n [attr.id]=\"viewId + '-week-' + _weeks[rowIndex]\"\n [attr.aria-labelledby]=\"_weekNumbersColumnHeaderId + ' ' + (viewId + '-week-' + _weeks[rowIndex])\"\n >\n <span *ngIf=\"_weeks && _weeks[rowIndex]\" class=\"fd-calendar__text\">\n {{ _weeks[rowIndex] }}\n </span>\n </th>\n\n <td\n class=\"fd-calendar__item\"\n role=\"gridcell\"\n *ngFor=\"let cell of row; let cellIndex = index\"\n [class.is-active]=\"cell.selectedFirst || cell.selectedLast || cell.selected\"\n [class.fd-calendar__item--range]=\"\n (cell.selectedRange || cell.hoverRange) && !cell.selectedFirst && !cell.selectedLast\n \"\n [class.fd-calendar__item--current]=\"cell.current\"\n [class.fd-calendar__item--weekend]=\"cell.weekend && markWeekends && cell.monthStatus === 'current'\"\n [class.fd-calendar__item--other-month]=\"cell.monthStatus !== 'current'\"\n [class.is-disabled]=\"cell.disabled\"\n [class]=\"cell.specialNumber ? 'fd-calendar__special-day--' + cell.specialNumber : ''\"\n [attr.id]=\"cell.id\"\n [attr.data-fd-calendar-day]=\"cell.index\"\n [attr.aria-selected]=\"cell.selected\"\n [attr.aria-disabled]=\"cell.disabled\"\n [attr.tabindex]=\"cell.isTabIndexed ? 0 : -1\"\n (click)=\"selectDate(cell, $event)\"\n (mouseenter)=\"_refreshHoverRange(cell)\"\n (keydown)=\"_onKeydownDayHandler($event, cell, _getIndex(rowIndex, cellIndex))\"\n >\n <span\n class=\"fd-calendar__text\"\n role=\"button\"\n [attr.aria-labelledby]=\"\n cell.id +\n '-aria-label ' +\n (cell.selectedFirst ? _dateRangeStartLabelId + ' ' : '') +\n (cell.selectedLast ? _dateRangeEndLabelId + ' ' : '') +\n (cell.current ? _todayLabelId + ' ' : '') +\n (cell.selected && calType === 'single' ? _selectedDateLabelId + ' ' : '') +\n (cell.past ? _dateInPastLabelId : '')\n \"\n >{{ cell.label }}</span\n >\n <span hidden aria-hidden=\"true\" [attr.id]=\"cell.id + '-aria-label'\">\n {{ cell.ariaLabel }}\n </span>\n </td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length <= 5\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length === 4\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n </tbody>\n</table>\n\n<!-- Hidden elements for aria purposes -->\n<div hidden aria-hidden=\"true\">\n <div [attr.id]=\"_todayLabelId\">{{ _todayAriaLabel }}</div>\n <div [attr.id]=\"_selectedDateLabelId\">{{ _selectedDateAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeStartLabelId\">{{ _rangeStartAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeEndLabelId\">{{ _rangeEndAriaLabel }}</div>\n <div [attr.id]=\"_dateInPastLabelId\">{{ _dateInPastAriaLabel }}</div>\n</div>\n", styles: [".hidden-day{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1328
+ CalendarDayViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CalendarDayViewComponent, selector: "fd-calendar-day-view", inputs: { currentlyDisplayed: "currentlyDisplayed", selectedDate: "selectedDate", selectedRangeDate: "selectedRangeDate", startingDayOfWeek: "startingDayOfWeek", calType: "calType", id: "id", rangeHoverEffect: "rangeHoverEffect", markWeekends: "markWeekends", showWeekNumbers: "showWeekNumbers", focusEscapeFunction: "focusEscapeFunction", specialDaysRules: "specialDaysRules", disableFunction: "disableFunction", disableRangeStartFunction: "disableRangeStartFunction", disableRangeEndFunction: "disableRangeEndFunction" }, outputs: { selectedRangeDateChange: "selectedRangeDateChange", nextMonthSelect: "nextMonthSelect", previousMonthSelect: "previousMonthSelect", selectedDateChange: "selectedDateChange" }, host: { properties: { "attr.id": "viewId" }, classAttribute: "fd-calendar__dates" }, usesOnChanges: true, ngImport: i0, template: "<table class=\"fd-calendar__table\" role=\"grid\" [attr.aria-roledescription]=\"_viewRoleDescription\">\n <thead class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n [attr.id]=\"_weekNumbersColumnHeaderId\"\n [attr.aria-label]=\"_weekColumnLabelAriaLabel\"\n ></th>\n <th\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n *ngFor=\"let day of shortWeekDays; index as i\"\n [attr.aria-label]=\"longWeekDays[i]\"\n >\n <span class=\"fd-calendar__text\">{{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\" *ngFor=\"let row of _dayViewGrid; let rowIndex = index\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"rowheader\"\n scope=\"row\"\n [attr.data-fd-calendar-week]=\"_weeks[rowIndex]\"\n [attr.id]=\"viewId + '-week-' + _weeks[rowIndex]\"\n [attr.aria-labelledby]=\"_weekNumbersColumnHeaderId + ' ' + (viewId + '-week-' + _weeks[rowIndex])\"\n >\n <span *ngIf=\"_weeks && _weeks[rowIndex]\" class=\"fd-calendar__text\">\n {{ _weeks[rowIndex] }}\n </span>\n </th>\n\n <td\n class=\"fd-calendar__item\"\n role=\"gridcell\"\n *ngFor=\"let cell of row; let cellIndex = index\"\n [class.is-active]=\"cell.selectedFirst || cell.selectedLast || cell.selected\"\n [class.fd-calendar__item--range]=\"\n (cell.selectedRange || cell.hoverRange) && !cell.selectedFirst && !cell.selectedLast\n \"\n [class.fd-calendar__item--current]=\"cell.current\"\n [class.fd-calendar__item--weekend]=\"cell.weekend && markWeekends && cell.monthStatus === 'current'\"\n [class.fd-calendar__item--other-month]=\"cell.monthStatus !== 'current'\"\n [class.is-disabled]=\"cell.disabled\"\n [class]=\"cell.specialNumber ? 'fd-calendar__special-day--' + cell.specialNumber : ''\"\n [attr.id]=\"cell.id\"\n [attr.data-fd-calendar-date-day]=\"cell.label\"\n [attr.data-fd-calendar-day]=\"cell.index\"\n [attr.aria-selected]=\"cell.selected\"\n [attr.aria-disabled]=\"cell.disabled\"\n [attr.tabindex]=\"cell.isTabIndexed ? 0 : -1\"\n (click)=\"selectDate(cell, $event)\"\n (mouseenter)=\"_refreshHoverRange(cell)\"\n (keydown)=\"_onKeydownDayHandler($event, cell, _getIndex(rowIndex, cellIndex))\"\n >\n <span\n class=\"fd-calendar__text\"\n role=\"button\"\n [attr.aria-labelledby]=\"\n cell.id +\n '-aria-label ' +\n (cell.selectedFirst ? _dateRangeStartLabelId + ' ' : '') +\n (cell.selectedLast ? _dateRangeEndLabelId + ' ' : '') +\n (cell.current ? _todayLabelId + ' ' : '') +\n (cell.selected && calType === 'single' ? _selectedDateLabelId + ' ' : '') +\n (cell.past ? _dateInPastLabelId : '')\n \"\n >{{ cell.label }}</span\n >\n <span hidden aria-hidden=\"true\" [attr.id]=\"cell.id + '-aria-label'\">\n {{ cell.ariaLabel }}\n </span>\n </td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length <= 5\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length === 4\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n </tbody>\n</table>\n\n<!-- Hidden elements for aria purposes -->\n<div hidden aria-hidden=\"true\">\n <div [attr.id]=\"_todayLabelId\">{{ _todayAriaLabel }}</div>\n <div [attr.id]=\"_selectedDateLabelId\">{{ _selectedDateAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeStartLabelId\">{{ _rangeStartAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeEndLabelId\">{{ _rangeEndAriaLabel }}</div>\n <div [attr.id]=\"_dateInPastLabelId\">{{ _dateInPastAriaLabel }}</div>\n</div>\n", styles: [".hidden-day{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1326
1329
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CalendarDayViewComponent, decorators: [{
1327
1330
  type: Component,
1328
1331
  args: [{ selector: 'fd-calendar-day-view', encapsulation: ViewEncapsulation.None, host: {
1329
1332
  '[attr.id]': 'viewId',
1330
1333
  class: 'fd-calendar__dates'
1331
- }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"fd-calendar__table\" role=\"grid\" [attr.aria-roledescription]=\"_viewRoleDescription\">\n <thead class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n [attr.id]=\"_weekNumbersColumnHeaderId\"\n [attr.aria-label]=\"_weekColumnLabelAriaLabel\"\n ></th>\n <th\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n *ngFor=\"let day of shortWeekDays; index as i\"\n [attr.aria-label]=\"longWeekDays[i]\"\n >\n <span class=\"fd-calendar__text\">{{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\" *ngFor=\"let row of _dayViewGrid; let rowIndex = index\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"rowheader\"\n scope=\"row\"\n [attr.data-fd-calendar-week]=\"_weeks[rowIndex]\"\n [attr.id]=\"viewId + '-week-' + _weeks[rowIndex]\"\n [attr.aria-labelledby]=\"_weekNumbersColumnHeaderId + ' ' + (viewId + '-week-' + _weeks[rowIndex])\"\n >\n <span *ngIf=\"_weeks && _weeks[rowIndex]\" class=\"fd-calendar__text\">\n {{ _weeks[rowIndex] }}\n </span>\n </th>\n\n <td\n class=\"fd-calendar__item\"\n role=\"gridcell\"\n *ngFor=\"let cell of row; let cellIndex = index\"\n [class.is-active]=\"cell.selectedFirst || cell.selectedLast || cell.selected\"\n [class.fd-calendar__item--range]=\"\n (cell.selectedRange || cell.hoverRange) && !cell.selectedFirst && !cell.selectedLast\n \"\n [class.fd-calendar__item--current]=\"cell.current\"\n [class.fd-calendar__item--weekend]=\"cell.weekend && markWeekends && cell.monthStatus === 'current'\"\n [class.fd-calendar__item--other-month]=\"cell.monthStatus !== 'current'\"\n [class.is-disabled]=\"cell.disabled\"\n [class]=\"cell.specialNumber ? 'fd-calendar__special-day--' + cell.specialNumber : ''\"\n [attr.id]=\"cell.id\"\n [attr.data-fd-calendar-day]=\"cell.index\"\n [attr.aria-selected]=\"cell.selected\"\n [attr.aria-disabled]=\"cell.disabled\"\n [attr.tabindex]=\"cell.isTabIndexed ? 0 : -1\"\n (click)=\"selectDate(cell, $event)\"\n (mouseenter)=\"_refreshHoverRange(cell)\"\n (keydown)=\"_onKeydownDayHandler($event, cell, _getIndex(rowIndex, cellIndex))\"\n >\n <span\n class=\"fd-calendar__text\"\n role=\"button\"\n [attr.aria-labelledby]=\"\n cell.id +\n '-aria-label ' +\n (cell.selectedFirst ? _dateRangeStartLabelId + ' ' : '') +\n (cell.selectedLast ? _dateRangeEndLabelId + ' ' : '') +\n (cell.current ? _todayLabelId + ' ' : '') +\n (cell.selected && calType === 'single' ? _selectedDateLabelId + ' ' : '') +\n (cell.past ? _dateInPastLabelId : '')\n \"\n >{{ cell.label }}</span\n >\n <span hidden aria-hidden=\"true\" [attr.id]=\"cell.id + '-aria-label'\">\n {{ cell.ariaLabel }}\n </span>\n </td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length <= 5\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length === 4\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n </tbody>\n</table>\n\n<!-- Hidden elements for aria purposes -->\n<div hidden aria-hidden=\"true\">\n <div [attr.id]=\"_todayLabelId\">{{ _todayAriaLabel }}</div>\n <div [attr.id]=\"_selectedDateLabelId\">{{ _selectedDateAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeStartLabelId\">{{ _rangeStartAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeEndLabelId\">{{ _rangeEndAriaLabel }}</div>\n <div [attr.id]=\"_dateInPastLabelId\">{{ _dateInPastAriaLabel }}</div>\n</div>\n", styles: [".hidden-day{visibility:hidden}\n"] }]
1334
+ }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table class=\"fd-calendar__table\" role=\"grid\" [attr.aria-roledescription]=\"_viewRoleDescription\">\n <thead class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n [attr.id]=\"_weekNumbersColumnHeaderId\"\n [attr.aria-label]=\"_weekColumnLabelAriaLabel\"\n ></th>\n <th\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"columnheader\"\n *ngFor=\"let day of shortWeekDays; index as i\"\n [attr.aria-label]=\"longWeekDays[i]\"\n >\n <span class=\"fd-calendar__text\">{{ day }}</span>\n </th>\n </tr>\n </thead>\n <tbody class=\"fd-calendar__group\" role=\"rowgroup\">\n <tr class=\"fd-calendar__row\" role=\"row\" *ngFor=\"let row of _dayViewGrid; let rowIndex = index\">\n <th\n *ngIf=\"showWeekNumbers\"\n class=\"fd-calendar__item fd-calendar__item--side-helper\"\n role=\"rowheader\"\n scope=\"row\"\n [attr.data-fd-calendar-week]=\"_weeks[rowIndex]\"\n [attr.id]=\"viewId + '-week-' + _weeks[rowIndex]\"\n [attr.aria-labelledby]=\"_weekNumbersColumnHeaderId + ' ' + (viewId + '-week-' + _weeks[rowIndex])\"\n >\n <span *ngIf=\"_weeks && _weeks[rowIndex]\" class=\"fd-calendar__text\">\n {{ _weeks[rowIndex] }}\n </span>\n </th>\n\n <td\n class=\"fd-calendar__item\"\n role=\"gridcell\"\n *ngFor=\"let cell of row; let cellIndex = index\"\n [class.is-active]=\"cell.selectedFirst || cell.selectedLast || cell.selected\"\n [class.fd-calendar__item--range]=\"\n (cell.selectedRange || cell.hoverRange) && !cell.selectedFirst && !cell.selectedLast\n \"\n [class.fd-calendar__item--current]=\"cell.current\"\n [class.fd-calendar__item--weekend]=\"cell.weekend && markWeekends && cell.monthStatus === 'current'\"\n [class.fd-calendar__item--other-month]=\"cell.monthStatus !== 'current'\"\n [class.is-disabled]=\"cell.disabled\"\n [class]=\"cell.specialNumber ? 'fd-calendar__special-day--' + cell.specialNumber : ''\"\n [attr.id]=\"cell.id\"\n [attr.data-fd-calendar-date-day]=\"cell.label\"\n [attr.data-fd-calendar-day]=\"cell.index\"\n [attr.aria-selected]=\"cell.selected\"\n [attr.aria-disabled]=\"cell.disabled\"\n [attr.tabindex]=\"cell.isTabIndexed ? 0 : -1\"\n (click)=\"selectDate(cell, $event)\"\n (mouseenter)=\"_refreshHoverRange(cell)\"\n (keydown)=\"_onKeydownDayHandler($event, cell, _getIndex(rowIndex, cellIndex))\"\n >\n <span\n class=\"fd-calendar__text\"\n role=\"button\"\n [attr.aria-labelledby]=\"\n cell.id +\n '-aria-label ' +\n (cell.selectedFirst ? _dateRangeStartLabelId + ' ' : '') +\n (cell.selectedLast ? _dateRangeEndLabelId + ' ' : '') +\n (cell.current ? _todayLabelId + ' ' : '') +\n (cell.selected && calType === 'single' ? _selectedDateLabelId + ' ' : '') +\n (cell.past ? _dateInPastLabelId : '')\n \"\n >{{ cell.label }}</span\n >\n <span hidden aria-hidden=\"true\" [attr.id]=\"cell.id + '-aria-label'\">\n {{ cell.ariaLabel }}\n </span>\n </td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length <= 5\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n <tr class=\"fd-calendar__row\" *ngIf=\"_dayViewGrid.length === 4\">\n <td class=\"fd-calendar__item hidden-day\"></td>\n </tr>\n </tbody>\n</table>\n\n<!-- Hidden elements for aria purposes -->\n<div hidden aria-hidden=\"true\">\n <div [attr.id]=\"_todayLabelId\">{{ _todayAriaLabel }}</div>\n <div [attr.id]=\"_selectedDateLabelId\">{{ _selectedDateAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeStartLabelId\">{{ _rangeStartAriaLabel }}</div>\n <div [attr.id]=\"_dateRangeEndLabelId\">{{ _rangeEndAriaLabel }}</div>\n <div [attr.id]=\"_dateInPastLabelId\">{{ _dateInPastAriaLabel }}</div>\n</div>\n", styles: [".hidden-day{visibility:hidden}\n"] }]
1332
1335
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: CalendarService }, { type: undefined, decorators: [{
1333
1336
  type: Inject,
1334
1337
  args: [DATE_TIME_FORMATS]