@fundamental-ngx/core 0.43.26 → 0.43.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/combobox/combobox-mobile/combobox-mobile.component.mjs +1 -1
- package/esm2020/combobox/combobox.component.mjs +2 -2
- package/esm2020/dialog/dialog-default/dialog-default.component.mjs +1 -1
- package/esm2020/dynamic-page/dynamic-page-header/header/dynamic-page-header.component.mjs +3 -3
- package/esm2020/dynamic-page/dynamic-page-header/subheader/dynamic-page-subheader.component.mjs +3 -3
- package/esm2020/facets/facet/facet.component.mjs +5 -3
- package/esm2020/grid-list/components/grid-list-item/grid-list-item.component.mjs +1 -1
- package/esm2020/input-group/input-group.component.mjs +2 -2
- package/esm2020/menu/menu-mobile/menu-mobile.component.mjs +1 -1
- package/esm2020/message-box/message-box-default/message-box-default.component.mjs +1 -1
- package/esm2020/multi-combobox/mobile/mobile-multi-combobox.component.mjs +1 -1
- package/esm2020/multi-input/multi-input-mobile/multi-input-mobile.component.mjs +1 -1
- package/esm2020/multi-input/multi-input.component.mjs +2 -2
- package/esm2020/popover/popover-mobile/popover-mobile.component.mjs +2 -2
- package/esm2020/quick-view/quick-view-subheader-title/quick-view-subheader-title.component.mjs +1 -1
- package/esm2020/rating-indicator/components/rating-indicator.component.mjs +2 -2
- package/esm2020/select/select-mobile/select-mobile.component.mjs +1 -1
- package/esm2020/select/select.component.mjs +2 -2
- package/esm2020/slider/slider.component.mjs +2 -2
- package/esm2020/time-picker/time-picker.component.mjs +2 -2
- package/esm2020/title/title.component.mjs +3 -3
- package/facets/facet/facet.component.d.ts +6 -1
- package/fesm2015/fundamental-ngx-core-combobox.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dialog.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs +4 -4
- package/fesm2015/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-facets.mjs +4 -2
- package/fesm2015/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-grid-list.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-input-group.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-menu.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-message-box.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-combobox.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-quick-view.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-select.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-slider.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-time-picker.mjs +1 -1
- package/fesm2015/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-title.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-combobox.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dialog.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs +4 -4
- package/fesm2020/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-facets.mjs +4 -2
- package/fesm2020/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-grid-list.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-input-group.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-menu.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-message-box.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-combobox.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-quick-view.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-select.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-slider.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-time-picker.mjs +1 -1
- package/fesm2020/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-title.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-title.mjs.map +1 -1
- package/fundamental-ngx-core-v0.43.28.tgz +0 -0
- package/package.json +3 -3
- package/schematics/add-dependencies/index.js +4 -4
- package/title/title.component.d.ts +1 -1
- package/fundamental-ngx-core-v0.43.26.tgz +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-grid-list.mjs","sources":["../../../../libs/core/src/lib/grid-list/helpers/parse-layout-pattern.ts","../../../../libs/core/src/lib/grid-list/directives/grid-list-item-body.directive.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.html","../../../../libs/core/src/lib/grid-list/models/grid-list-selection.models.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list/grid-list-base.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item/grid-list-item.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item/grid-list-item.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list/grid-list.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list/grid-list.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-footer/grid-list-footer.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-footer/grid-list-footer.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-group-header/grid-list-group-header.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-group-header/grid-list-group-header.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.ts","../../../../libs/core/src/lib/grid-list/directives/grid-list-item-image.directive.ts","../../../../libs/core/src/lib/grid-list/grid-list.module.ts","../../../../libs/core/src/lib/grid-list/fundamental-ngx-core-grid-list.ts"],"sourcesContent":["interface ParseLayout {\n [key: string]: {\n pattern: string;\n value: number;\n size: string;\n };\n}\n\n/** Parse layout pattern */\nexport function parseLayoutPattern(pattern: string | undefined, isBaseLayout = true): string[] {\n const parseLayout = pattern && validateAndParseLayoutPattern(pattern, isBaseLayout);\n\n if (!parseLayout) {\n throw new Error('Invalid layoutPattern.');\n }\n\n return generateLayoutClasses(parseLayout);\n}\n\nfunction validateAndParseLayoutPattern(pattern: string, isBaseLayout: boolean): ParseLayout | undefined {\n const columnsNames = 'XL|L|M|S';\n const columnNumbers = isBaseLayout ? '12|6|4|3|2|1' : '12|11|10|9|8|7|6|5|4|3|2|1';\n const reg = new RegExp(`(?!-)((${columnsNames})(${columnNumbers}))`, 'gi');\n const match = pattern.match(reg);\n if (!match) {\n return;\n }\n\n return match.reduce((res, item) => {\n const size = item.replace(reg, '$2').toLocaleLowerCase();\n const num = +item.replace(reg, '$3');\n\n res[size] = {\n pattern: item,\n size,\n value: isBaseLayout ? 12 / num : num\n };\n\n return res;\n }, {});\n}\n\nfunction generateLayoutClasses({ xl, l, m, s }: ParseLayout): string[] {\n const classes: string[] = ['fd-col'];\n\n if (s) {\n classes.push(`fd-col--${s.value}`);\n }\n\n if (m) {\n classes.push(`fd-col-md--${m.value}`);\n }\n\n if (l) {\n classes.push(`fd-col-lg--${l.value}`);\n }\n\n if (xl) {\n classes.push(`fd-col-xl--${xl.value}`);\n }\n\n return classes;\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-grid-list-item-body]'\n})\nexport class GridListItemBodyDirective {\n /** @hidden */\n constructor(public readonly templateRef: TemplateRef<any>) {}\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-item-toolbar',\n templateUrl: './grid-list-item-toolbar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListItemToolbarComponent {\n /** @hidden */\n @ViewChild(TemplateRef)\n contentTemplateRef: TemplateRef<any>;\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","export type GridListSelectionMode =\n | 'none'\n | 'delete'\n | 'singleSelect'\n | 'singleSelectLeft'\n | 'singleSelectRight'\n | 'multiSelect';\n\nexport enum GridListSelectionActions {\n ADD = 'add',\n REMOVE = 'remove'\n}\n\nexport interface GridListSelectionEvent<T> {\n /** currently selected items */\n selection: T[];\n /** items added */\n added: T[];\n /** items removed */\n removed: T[];\n /** indexes location of additions or removals */\n index: number[];\n}\n","import { Component, ViewChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-item-footer-bar',\n templateUrl: './grid-list-item-footer-bar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListItemFooterBarComponent {\n /** @hidden */\n @ViewChild(TemplateRef)\n contentTemplateRef: TemplateRef<any>;\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GridListSelectionActions, GridListSelectionEvent } from '../../models/grid-list-selection.models';\n\n@Directive()\nexport abstract class GridList<T> {\n /** an observable of selection state event */\n abstract _selectedItems$: Observable<GridListSelectionEvent<T>>;\n /** method to be used by list items to register the selection */\n abstract setSelectedItem(\n item: T,\n componentIndex: number,\n action?: GridListSelectionActions | null,\n event?: MouseEvent\n ): void;\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ToolbarSpacerDirective } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-grid-list-title-bar-spacer',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListTitleBarSpacerComponent extends ToolbarSpacerDirective {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { GridListItemBodyDirective } from '../../directives/grid-list-item-body.directive';\nimport { parseLayoutPattern } from '../../helpers/parse-layout-pattern';\nimport { GridListItemToolbarComponent } from '../grid-list-item-toolbar/grid-list-item-toolbar.component';\nimport { GridListSelectionMode, GridListSelectionActions } from '../../models/grid-list-selection.models';\nimport { GridListItemFooterBarComponent } from '../grid-list-item-footer-bar/grid-list-item-footer-bar.component';\nimport { GridList } from './../grid-list/grid-list-base.component';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nlet gridListItemUniqueId = 0;\n\nexport interface GridListItemOutputEvent<T> {\n index?: number;\n value?: T;\n}\n\nexport type GridListItemType = 'inactive' | 'active' | 'detail' | 'detailsAndActive' | 'navigation';\nexport type GridListItemState = 'unread' | 'locked' | 'error' | 'draft';\nexport type GridListItemStatus = 'success' | 'warning' | 'error' | 'neutral';\n\n@Component({\n selector: 'fd-grid-list-item',\n templateUrl: './grid-list-item.component.html',\n styleUrls: ['./grid-list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class GridListItemComponent<T> implements AfterViewInit, OnDestroy {\n /** id for the Element */\n @Input()\n id = `fd-grid-list-item-${gridListItemUniqueId++}`;\n\n /** width of the element */\n @Input()\n @HostBinding('style.max-width')\n @HostBinding('style.min-width')\n width: string;\n\n /**\n * specify the cell layout in the format `XLn-Ln-Mn-Sn` where n is\n * the number of occupied columns and n can be different for each size.\n */\n @Input()\n set layoutItemPattern(value: Nullable<string>) {\n this.gridLayoutClasses = value ? parseLayoutPattern(value, false) : [];\n }\n\n /**\n * Defines the status of Grid List Item\n * (Statuses: success | warning | error | neutral)\n */\n @Input()\n status?: GridListItemStatus;\n\n /** Sets number of sub items */\n @Input()\n counter: Nullable<number>;\n\n /**\n * Value field stores information for radio button value, checkbox button and for GridListSelectionEvent\n * The field is mandatory for modes like singleSelect, singleSelectLeft, singleSelectRight or multiSelect\n */\n @Input()\n value?: T;\n\n /** Whether click on the custom toolbar is disabled */\n @Input()\n disableToolbarClick = false;\n\n /** Allows an item to be selected programmatically */\n @Input()\n set selected(value: Nullable<boolean>) {\n this._selected = coerceBooleanProperty(value);\n }\n\n get selected(): boolean {\n return this._selected;\n }\n\n /** @hidden */\n private _selected = false;\n\n /** Remove the padding from the Item body */\n @Input()\n noPadding = false;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /**\n * Defines the type of Grid List Item\n * Types:\n * - active: indicates that the item is clickable via active feedback when item is pressed\n * - detail: enables detail button of the list item that fires event.\n * - detailsAndActive: enables \"detail\" and \"active\" enumerations together\n * - inactive: indicates the list item does not have any active feedback when item is pressed\n * - navigation: indicates the list item is navigable to show extra information about the item\n * Default: inactive\n */\n @Input()\n set type(value: Nullable<GridListItemType>) {\n this._type = value ?? 'inactive';\n }\n get type(): GridListItemType {\n return this._type;\n }\n\n /** @hidden */\n private _type: GridListItemType = 'inactive';\n\n /**\n * Sets the state of Grid List Item\n * (States: unread | error | locked | draft)\n */\n @Input()\n state?: GridListItemState;\n\n /**\n * The navigated state of the list item.\n * If set to true, a navigation indicator is displayed at the end of the list item.\n */\n @Input()\n isNavigated = false;\n\n /** Title of the item */\n @Input()\n title: string;\n\n /** Description of the item */\n @Input()\n description: string;\n\n /**\n * Event is thrown, when type is active\n * and item is pressed\n */\n @Output()\n press = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when type is detail or detailsAndActive\n * and Detail button was pressed\n */\n @Output()\n detail = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when mode delete\n * and Delete button was pressed\n */\n @Output()\n delete = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when type is navigation\n * and Navigate button was pressed\n */\n @Output()\n navigate = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when state is error, not used GridListItemFooterBarComponent\n * and Draft button was pressed\n */\n @Output()\n draft = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when state is locked, not used GridListItemFooterBarComponent\n * and Locked button was pressed\n */\n @Output()\n locked = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /** @hidden */\n @ViewChild('gridListItem')\n _gridListItem: ElementRef<HTMLDivElement>;\n\n /** @hidden\n * The active state of the list item.\n * If set to true, the whole card has active state. Becomes false only when the Edit button is clicked.\n */\n _isActive = true;\n\n /** @hidden */\n set gridLayoutClasses(value: string[]) {\n this._removeClassesNames(this._gridLayoutClasses);\n this._gridLayoutClasses = value;\n this._addClassesNames(this._gridLayoutClasses);\n }\n get gridLayoutClasses(): string[] {\n return this._gridLayoutClasses;\n }\n\n /** @hidden */\n @ContentChild(GridListItemFooterBarComponent)\n footerBarComponent: GridListItemFooterBarComponent;\n\n /** @hidden */\n @ContentChild(GridListItemToolbarComponent)\n itemToolbarComponent: GridListItemToolbarComponent;\n\n /** @hidden */\n @ContentChild(GridListItemBodyDirective)\n body: GridListItemBodyDirective;\n\n /** @hidden */\n _selectedItem?: T;\n\n /** @hidden */\n set selectionMode(mode: GridListSelectionMode | undefined) {\n this._selectionMode = mode;\n\n if (mode !== 'delete' && mode !== 'none' && !this.value) {\n throw new Error('Grid List Item must have [value] attribute.');\n }\n\n if (this.selected && this.value && this._index != null) {\n const action = this.selectionMode !== 'multiSelect' ? null : GridListSelectionActions.ADD;\n\n this._gridList.setSelectedItem(this.value, this._index, action);\n }\n\n this._cd.detectChanges();\n }\n get selectionMode(): GridListSelectionMode | undefined {\n return this._selectionMode;\n }\n\n /** @hidden */\n _index?: number;\n\n /** @hidden */\n private _selectionMode?: GridListSelectionMode;\n\n /** @hidden */\n private _gridLayoutClasses: string[] = [];\n\n /** @hidden */\n private readonly subscription = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _cd: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _render: Renderer2,\n private readonly _gridList: GridList<T>\n ) {\n const selectedItemsSub = this._gridList._selectedItems$.subscribe((items) => {\n this._selectedItem = items.selection.find((item) => item === this.value);\n this._cd.markForCheck();\n });\n this.subscription.add(selectedItemsSub);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /** Focus grid list item programmatically */\n focus(options?: FocusOptions): void {\n this._gridListItem?.nativeElement.focus(options);\n }\n\n /** @hidden */\n _setActive(event: MouseEvent, isActive: boolean): void {\n if (this._isElementCanBeClicked(event)) {\n return;\n }\n\n this._isActive = isActive;\n }\n\n /** @hidden */\n _singleSelect(event: Event): void {\n this._preventDefault(event);\n\n if (typeof this._selectedItem !== 'undefined' || !this.value || this._index == null) {\n return;\n }\n\n this._gridList.setSelectedItem(this.value, this._index);\n }\n\n /** @hidden */\n _checkboxClick(event: MouseEvent): void {\n const checked = (<HTMLInputElement>event.target).checked;\n this._selectionItem(checked, event);\n }\n\n /** @hidden */\n _selectionItem(value: boolean | number | T, event?: MouseEvent): void {\n if (!this.value || this._index == null) {\n return;\n }\n const action =\n this.selectionMode !== 'multiSelect'\n ? null\n : value || value === 0\n ? GridListSelectionActions.ADD\n : GridListSelectionActions.REMOVE;\n\n this._gridList.setSelectedItem(this.value, this._index, action, event);\n }\n\n /** @hidden */\n _onDetail(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.detail.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onNavigate(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.navigate.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onDelete(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.delete.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _clickOnDraft(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.draft.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _clickOnLocked(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.locked.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onClick(event: MouseEvent): void {\n if (!this._isElementCanBeClicked(event)) {\n return;\n }\n\n if (this.type !== 'active' && this.type !== 'detailsAndActive' && this.type !== 'navigation') {\n return;\n }\n\n if (this.type === 'navigation') {\n this._onNavigate(event);\n return;\n }\n\n this.press.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onKeyDown(event: KeyboardEvent): void {\n const target = event.target as HTMLDivElement;\n\n const isSelectionKeyDown = KeyUtil.isKeyCode(event, [ENTER, SPACE]);\n\n if (isSelectionKeyDown && this.selectionMode === 'none') {\n this.press.emit(this._outputEventValue);\n }\n\n if (!isSelectionKeyDown || this.selectionMode === 'none' || !target.classList.contains('fd-grid-list__item')) {\n return;\n }\n\n this._preventDefault(event);\n\n if (this.selectionMode === 'multiSelect') {\n this._selectionItem(!this._selectedItem);\n\n return;\n }\n\n if (typeof this._selectedItem === 'undefined') {\n this._singleSelect(event);\n }\n }\n\n /** @hidden */\n private _isElementCanBeClicked(event: MouseEvent): boolean {\n if (!event?.target) {\n return false;\n }\n\n const element = event.target as HTMLElement;\n const { classList } = element;\n\n return (\n !(this._isToolbarElement(element) && this.disableToolbarClick) &&\n !classList.contains('fd-grid-list__action-button') &&\n !classList.contains('fd-grid-list__radio-label') &&\n !classList.contains('fd-grid-list__radio-input') &&\n !classList.contains('fd-grid-list__checkbox-label') &&\n !classList.contains('fd-grid-list__checkbox-input')\n );\n }\n\n /** @hidden */\n private _isToolbarElement(element: HTMLElement): boolean {\n if (!this.itemToolbarComponent) {\n return false;\n }\n\n while (element.parentElement && !element.parentElement.classList.contains('fd-grid-list__item')) {\n if (element.classList.contains('fd-toolbar--extra-content')) {\n return true;\n }\n\n element = element.parentElement;\n }\n\n return false;\n }\n\n /** @hidden */\n private _preventDefault(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n /** @hidden */\n private get _outputEventValue(): GridListItemOutputEvent<T> {\n return {\n value: this.value,\n index: this._index\n };\n }\n\n /** @hidden */\n private _addClassesNames(classesNames: string[]): void {\n for (const className of classesNames) {\n this._render.addClass(this._elementRef.nativeElement, className);\n }\n }\n\n /** @hidden */\n private _removeClassesNames(classesNames: string[]): void {\n for (const className of classesNames) {\n this._render.removeClass(this._elementRef.nativeElement, className);\n }\n }\n}\n","<div\n #gridListItem\n [id]=\"id\"\n tabindex=\"0\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n <span\n *ngIf=\"status\"\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate : { status: status }\"\n ></span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelect'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-toolbar fd-grid-list__item-toolbar\"\n *ngIf=\"\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n \"\n >\n <ng-container *ngIf=\"selectionMode === 'singleSelectLeft'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectionMode === 'multiSelect'\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"itemToolbarComponent?.contentTemplateRef\">\n <div class=\"fd-toolbar--extra-content\">\n <ng-container *ngTemplateOutlet=\"itemToolbarComponent.contentTemplateRef\"></ng-container>\n </div>\n </ng-container>\n\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <span\n *ngIf=\"counter\"\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate : { count: counter }\"\n >{{ counter }}</span\n >\n\n <button\n *ngIf=\"type === 'detail' || type === 'detailsAndActive'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n\n <button\n *ngIf=\"selectionMode === 'delete'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n\n <span *ngIf=\"type === 'navigation'\" class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelectRight'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n\n <div *ngIf=\"title || description\" class=\"fd-grid-list__item-header\">\n <h4 *ngIf=\"title\" fd-title>{{ title }}</h4>\n <span *ngIf=\"description\" class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n </div>\n\n <div *ngIf=\"body?.templateRef\" class=\"fd-grid-list__item-content\">\n <ng-container [ngTemplateOutlet]=\"body.templateRef\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"state || footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"itemFooter\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio is-compact fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox is-compact fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\">\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n </label>\n</ng-template>\n\n<ng-template #itemFooter>\n <div class=\"fd-grid-list__item-body-actions\" *ngIf=\"footerBarComponent || state\">\n <ng-container *ngIf=\"footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"footerBarComponent.contentTemplateRef\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!footerBarComponent?.contentTemplateRef && state\">\n <span\n *ngIf=\"state === 'error'\"\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'locked'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'draft'\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n </ng-container>\n </div>\n</ng-template>\n","import {\n Component,\n ContentChildren,\n QueryList,\n ViewEncapsulation,\n Input,\n OnChanges,\n SimpleChanges,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n AfterContentInit,\n OnDestroy,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { BehaviorSubject, filter, Subscription } from 'rxjs';\nimport { parseLayoutPattern } from '../../helpers/parse-layout-pattern';\nimport { GridListItemComponent } from '../grid-list-item/grid-list-item.component';\nimport {\n GridListSelectionMode,\n GridListSelectionActions,\n GridListSelectionEvent\n} from './../../models/grid-list-selection.models';\nimport { RangeSelector } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { GridList } from './grid-list-base.component';\n\nlet gridListUniqueId = 0;\n\n@Component({\n selector: 'fd-grid-list',\n templateUrl: './grid-list.component.html',\n styleUrls: ['./grid-list.component.scss', '../../../../../../cdk/src/lib/utils/drag-and-drop/drag-and-drop.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: GridList, useExisting: GridListComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListComponent<T> extends GridList<T> implements OnChanges, AfterContentInit, OnDestroy {\n /** id for the Element */\n @Input()\n id = `fd-grid-list-${gridListUniqueId++}`;\n\n /** width of the element */\n @Input()\n width: string;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * Defines the mode of Grid List\n * Modes:\n * - none: Default mode (no selection)\n * - delete: Delete mode (only one list item can be deleted via provided delete button)\n * - singleSelect: Selected item is highlighted but no selection control is visible (only one list item can be selected)\n * - singleSelectLeft: Left-positioned single selection mode (only one list item can be selected)\n * - singleSelectRight: Right-positioned single selection mode (only one list item can be selected)\n * - multiSelect: Multi-selection mode (more than one list item can be selected)\n * */\n @Input()\n selectionMode: GridListSelectionMode = 'none';\n\n /**\n * specify the column layout in the format `XLn-Ln-Mn-Sn` where n is the number of columns and can be different for each size.\n * eg: XL2-L2-M2-S1 would create 2-column layouts for XL, L, and M sizes and single-column layout for S size.\n */\n @Input()\n layoutPattern: string;\n\n /** Event is thrown, when mode is singleSelect, singleSelectLeft, singleSelectRight or multiSelect and item was selected */\n @Output()\n selectionChange = new EventEmitter<GridListSelectionEvent<T>>();\n\n /** @hidden */\n @ContentChildren(GridListItemComponent, { descendants: true })\n set gridListItems(components: QueryList<GridListItemComponent<T>>) {\n this._gridListItems = components;\n this._updateGridListItemsProperties(components);\n }\n\n get gridListItems(): QueryList<GridListItemComponent<T>> {\n return this._gridListItems;\n }\n\n /** @hidden */\n private _gridListItems: QueryList<GridListItemComponent<T>>;\n\n /** @hidden */\n private readonly _rangeSelector = new RangeSelector();\n\n /** @hidden */\n private readonly _selectedItems: GridListSelectionEvent<T> = {\n added: [],\n index: [],\n removed: [],\n selection: []\n };\n\n /** @hidden */\n private readonly _selectedItemsSubject$ = new BehaviorSubject<GridListSelectionEvent<T>>(this._selectedItems);\n\n /** @hidden */\n readonly _selectedItems$ = this._selectedItemsSubject$.asObservable();\n\n /** @hidden */\n private readonly subscription = new Subscription();\n\n /** @hidden */\n constructor(private readonly _cd: ChangeDetectorRef) {\n super();\n const selectedItemsSub = this._selectedItems$\n .pipe(filter(() => !!this._gridListItems))\n .subscribe(this.selectionChange);\n\n this.subscription.add(selectedItemsSub);\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes.layoutPattern &&\n !changes.layoutPattern.firstChange &&\n changes.layoutPattern.previousValue !== changes.layoutPattern.currentValue\n ) {\n const baseLayoutItemPattern = parseLayoutPattern(this.layoutPattern);\n this._updateGridListItemsProperty('gridLayoutClasses', baseLayoutItemPattern);\n }\n\n if (\n changes.selectionMode &&\n !changes.selectionMode.firstChange &&\n changes.selectionMode.previousValue !== changes.selectionMode.currentValue\n ) {\n this._updateGridListItemsProperty('selectionMode', this.selectionMode);\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /**\n * Clears previous selection of the items.\n */\n clearSelection(): void {\n this._selectedItems.added = [];\n this._selectedItems.index = [];\n this._selectedItems.removed = this._selectedItems.selection;\n this._selectedItems.selection = [];\n\n this._selectedItemsSubject$.next(this._selectedItems);\n }\n\n /** @hidden */\n setSelectedItem(\n item: T,\n componentIndex: number,\n action?: GridListSelectionActions | null,\n event?: PointerEvent\n ): void {\n if (!action) {\n this._selectedItems.added = [item];\n const selectedItem = this._selectedItems.selection[0];\n if (selectedItem) {\n this._selectedItems.removed = [selectedItem];\n }\n\n this._selectedItems.selection = [item];\n this._selectedItems.index = [componentIndex];\n\n this._selectedItemsSubject$.next(this._selectedItems);\n\n return;\n }\n\n this._rangeSelector.onRangeElementToggled(componentIndex, event);\n const state = this._rangeSelector.lastRangeSelectionState;\n if (!state) {\n return;\n }\n const itemIndexes = new Array(state.to - state.from + 1).fill(null).map((e, i) => state.from + i);\n const selectedItems = itemIndexes.map((idx) => this.gridListItems.get(idx)?.value).filter((v): v is T => !!v);\n const itemsSet = new Set<T>(selectedItems);\n\n if (action === GridListSelectionActions.ADD) {\n this._selectedItems.added = [...itemsSet.values()];\n this._selectedItems.index = [...itemIndexes];\n this._selectedItems.removed = [];\n\n // remove \"itemsSet\" values from selection and add them back from \"itemsSet\"\n // this is needed to avoid duplicates as some of the items can be already selected\n this._selectedItems.selection = this._selectedItems.selection.filter((e) => !itemsSet.has(e));\n this._selectedItems.selection.push(...itemsSet.values());\n }\n\n if (action === GridListSelectionActions.REMOVE) {\n this._selectedItems.added = [];\n this._selectedItems.index = [...itemIndexes];\n this._selectedItems.removed = [...itemsSet.values()];\n\n this._selectedItems.selection = this._selectedItems.selection.filter(\n (selectedItem) => !itemsSet.has(selectedItem)\n );\n }\n\n this._selectedItemsSubject$.next(this._selectedItems);\n }\n\n /** @hidden */\n private _updateGridListItemsProperties(components: QueryList<GridListItemComponent<T>>): void {\n const layoutPattern = this.layoutPattern ? this.layoutPattern : 'XL4-L3-M2-S1';\n const baseLayoutItemPattern = parseLayoutPattern(layoutPattern);\n\n components.forEach((component, index) => {\n if (component._index !== index) {\n component._index = index;\n }\n\n if (!component.selectionMode) {\n component.selectionMode = this.selectionMode;\n }\n\n if (!component.layoutItemPattern) {\n component.gridLayoutClasses = baseLayoutItemPattern;\n }\n });\n }\n\n /** @hidden */\n private _updateGridListItemsProperty(key: string, value: string | string[]): void {\n this._gridListItems.forEach((componenet) => {\n componenet[key] = value;\n });\n }\n}\n","<div\n [id]=\"id\"\n [style.width]=\"width\"\n class=\"fd-grid-list\"\n [attr.aria-label]=\"ariaLabel\"\n [class.fd-grid-list--mode-delete]=\"selectionMode === 'delete'\"\n [class.fd-grid-list--mode-single-select]=\"selectionMode === 'singleSelect'\"\n [class.fd-grid-list--mode-single-select-left]=\"selectionMode === 'singleSelectLeft'\"\n [class.fd-grid-list--mode-single-select-right]=\"selectionMode === 'singleSelectRight'\"\n [class.fd-grid-list--mode-multi-select]=\"selectionMode === 'multiSelect'\"\n>\n <div class=\"fd-container\" role=\"listbox\">\n <div class=\"fd-row\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import { Component, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-filter-bar',\n templateUrl: './grid-list-filter-bar.component.html',\n host: {\n class: 'fd-col fd-col--12'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListFilterBarComponent {\n /** Event is thrown, when the control button is clicked */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly close = new EventEmitter<void>();\n}\n","<fd-toolbar\n fdType=\"info\"\n [active]=\"true\"\n [tabindex]=\"0\"\n class=\"fd-grid-list__filter\"\n [attr.aria-label]=\"'coreGridList.filterBarCancelButtonTitle' | fdTranslate\"\n (click)=\"close.emit()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"close.emit()\"\n (keydown.enter)=\"close.emit()\"\n>\n <ng-content></ng-content>\n\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <fd-icon glyph=\"decline\"></fd-icon>\n</fd-toolbar>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-footer',\n templateUrl: './grid-list-footer.component.html',\n host: {\n class: 'fd-col fd-col--12'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListFooterComponent {}\n","<div tabindex=\"0\" class=\"fd-grid-list__footer\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n@Component({\n selector: 'fd-grid-list-group-header',\n templateUrl: './grid-list-group-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-col fd-col--12'\n }\n})\nexport class GridListGroupHeaderComponent {\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n}\n","<div class=\"fd-grid-list__group-header fd-grid-list__group-header--no-margin\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fd-grid-list-more-btn',\n templateUrl: './grid-list-more-btn.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-col fd-col--12'\n }\n})\nexport class GridListMoreBtnComponent {\n /** Sets title of the button */\n @Input()\n title: string;\n\n /** Sets the number of total items. */\n @Input()\n totalCount: number;\n\n /** Sets the number of display items. */\n @Input()\n displayCount: number;\n\n /** Event is thrown, when the control button is clicked */\n @Output()\n showMore = new EventEmitter<void>();\n\n /** @hidden */\n _onKeyDown(event: KeyboardEvent): void {\n if (!KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n return;\n }\n\n event.preventDefault();\n\n this.showMore.emit();\n }\n}\n","<div tabindex=\"0\" role=\"button\" class=\"fd-grid-list__more\" (keydown)=\"_onKeyDown($event)\" (click)=\"showMore.emit()\">\n <h5 class=\"fd-title fd-title--h6 fd-grid-list__more-title\">{{ title }}</h5>\n <p class=\"fd-grid-list__more-description\">{{ '[ ' + displayCount + ' / ' + totalCount + ' ]' }}</p>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-title-bar',\n templateUrl: './grid-list-title-bar.component.html',\n host: {\n class: 'fd-col fd-col--12'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListTitleBarComponent {\n /** Sets title of the Grid List */\n @Input()\n title: string;\n}\n","<fd-toolbar fdType=\"solid\">\n <label fd-toolbar-label>\n {{ title }}\n <ng-content select=\"[fd-grid-list-title-bar-additional-title-item]\"></ng-content>\n </label>\n\n <ng-content></ng-content>\n</fd-toolbar>\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-grid-list-title-bar-additional-title-item]'\n})\nexport class GridListTitleBarAdditionalTitleItemDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-grid-list-item-image]',\n host: {\n class: 'fd-grid-list__item-image'\n }\n})\nexport class GridListItemImageDirective {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { ObjectStatusModule } from '@fundamental-ngx/core/object-status';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { GridListComponent } from './components/grid-list/grid-list.component';\nimport { GridListFilterBarComponent } from './components/grid-list-filter-bar/grid-list-filter-bar.component';\nimport { GridListFooterComponent } from './components/grid-list-footer/grid-list-footer.component';\nimport { GridListGroupHeaderComponent } from './components/grid-list-group-header/grid-list-group-header.component';\nimport { GridListItemComponent } from './components/grid-list-item/grid-list-item.component';\nimport { GridListItemFooterBarComponent } from './components/grid-list-item-footer-bar/grid-list-item-footer-bar.component';\nimport { GridListItemToolbarComponent } from './components/grid-list-item-toolbar/grid-list-item-toolbar.component';\nimport { GridListMoreBtnComponent } from './components/grid-list-more-btn/grid-list-more-btn.component';\nimport { GridListTitleBarComponent } from './components/grid-list-title-bar/grid-list-title-bar.component';\nimport { GridListTitleBarAdditionalTitleItemDirective } from './components/grid-list-title-bar/grid-list-title-bar.directive';\nimport { GridListTitleBarSpacerComponent } from './components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component';\nimport { GridListItemBodyDirective } from './directives/grid-list-item-body.directive';\nimport { GridListItemImageDirective } from './directives/grid-list-item-image.directive';\n\n@NgModule({\n declarations: [\n GridListComponent,\n GridListItemComponent,\n GridListTitleBarComponent,\n GridListFilterBarComponent,\n GridListMoreBtnComponent,\n GridListFooterComponent,\n GridListItemFooterBarComponent,\n GridListItemToolbarComponent,\n GridListGroupHeaderComponent,\n GridListTitleBarSpacerComponent,\n GridListTitleBarAdditionalTitleItemDirective,\n GridListItemImageDirective,\n GridListItemBodyDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ButtonModule,\n IconModule,\n TitleModule,\n ToolbarModule,\n ObjectStatusModule,\n I18nModule\n ],\n exports: [\n GridListComponent,\n GridListItemComponent,\n GridListTitleBarComponent,\n GridListFilterBarComponent,\n GridListMoreBtnComponent,\n GridListFooterComponent,\n GridListItemFooterBarComponent,\n GridListItemToolbarComponent,\n GridListGroupHeaderComponent,\n GridListTitleBarSpacerComponent,\n GridListTitleBarAdditionalTitleItemDirective,\n GridListItemImageDirective,\n GridListItemBodyDirective\n ]\n})\nexport class GridListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.GridList","i9.GridListTitleBarSpacerComponent","i1","i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-grid-list.mjs","sources":["../../../../libs/core/src/lib/grid-list/helpers/parse-layout-pattern.ts","../../../../libs/core/src/lib/grid-list/directives/grid-list-item-body.directive.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-toolbar/grid-list-item-toolbar.component.html","../../../../libs/core/src/lib/grid-list/models/grid-list-selection.models.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item-footer-bar/grid-list-item-footer-bar.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list/grid-list-base.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item/grid-list-item.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-item/grid-list-item.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list/grid-list.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list/grid-list.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-filter-bar/grid-list-filter-bar.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-footer/grid-list-footer.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-footer/grid-list-footer.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-group-header/grid-list-group-header.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-group-header/grid-list-group-header.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-more-btn/grid-list-more-btn.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.ts","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar/grid-list-title-bar.component.html","../../../../libs/core/src/lib/grid-list/components/grid-list-title-bar/grid-list-title-bar.directive.ts","../../../../libs/core/src/lib/grid-list/directives/grid-list-item-image.directive.ts","../../../../libs/core/src/lib/grid-list/grid-list.module.ts","../../../../libs/core/src/lib/grid-list/fundamental-ngx-core-grid-list.ts"],"sourcesContent":["interface ParseLayout {\n [key: string]: {\n pattern: string;\n value: number;\n size: string;\n };\n}\n\n/** Parse layout pattern */\nexport function parseLayoutPattern(pattern: string | undefined, isBaseLayout = true): string[] {\n const parseLayout = pattern && validateAndParseLayoutPattern(pattern, isBaseLayout);\n\n if (!parseLayout) {\n throw new Error('Invalid layoutPattern.');\n }\n\n return generateLayoutClasses(parseLayout);\n}\n\nfunction validateAndParseLayoutPattern(pattern: string, isBaseLayout: boolean): ParseLayout | undefined {\n const columnsNames = 'XL|L|M|S';\n const columnNumbers = isBaseLayout ? '12|6|4|3|2|1' : '12|11|10|9|8|7|6|5|4|3|2|1';\n const reg = new RegExp(`(?!-)((${columnsNames})(${columnNumbers}))`, 'gi');\n const match = pattern.match(reg);\n if (!match) {\n return;\n }\n\n return match.reduce((res, item) => {\n const size = item.replace(reg, '$2').toLocaleLowerCase();\n const num = +item.replace(reg, '$3');\n\n res[size] = {\n pattern: item,\n size,\n value: isBaseLayout ? 12 / num : num\n };\n\n return res;\n }, {});\n}\n\nfunction generateLayoutClasses({ xl, l, m, s }: ParseLayout): string[] {\n const classes: string[] = ['fd-col'];\n\n if (s) {\n classes.push(`fd-col--${s.value}`);\n }\n\n if (m) {\n classes.push(`fd-col-md--${m.value}`);\n }\n\n if (l) {\n classes.push(`fd-col-lg--${l.value}`);\n }\n\n if (xl) {\n classes.push(`fd-col-xl--${xl.value}`);\n }\n\n return classes;\n}\n","import { Directive, TemplateRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-grid-list-item-body]'\n})\nexport class GridListItemBodyDirective {\n /** @hidden */\n constructor(public readonly templateRef: TemplateRef<any>) {}\n}\n","import { ChangeDetectionStrategy, Component, TemplateRef, ViewChild } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-item-toolbar',\n templateUrl: './grid-list-item-toolbar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListItemToolbarComponent {\n /** @hidden */\n @ViewChild(TemplateRef)\n contentTemplateRef: TemplateRef<any>;\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","export type GridListSelectionMode =\n | 'none'\n | 'delete'\n | 'singleSelect'\n | 'singleSelectLeft'\n | 'singleSelectRight'\n | 'multiSelect';\n\nexport enum GridListSelectionActions {\n ADD = 'add',\n REMOVE = 'remove'\n}\n\nexport interface GridListSelectionEvent<T> {\n /** currently selected items */\n selection: T[];\n /** items added */\n added: T[];\n /** items removed */\n removed: T[];\n /** indexes location of additions or removals */\n index: number[];\n}\n","import { Component, ViewChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-item-footer-bar',\n templateUrl: './grid-list-item-footer-bar.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListItemFooterBarComponent {\n /** @hidden */\n @ViewChild(TemplateRef)\n contentTemplateRef: TemplateRef<any>;\n}\n","<ng-template>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GridListSelectionActions, GridListSelectionEvent } from '../../models/grid-list-selection.models';\n\n@Directive()\nexport abstract class GridList<T> {\n /** an observable of selection state event */\n abstract _selectedItems$: Observable<GridListSelectionEvent<T>>;\n /** method to be used by list items to register the selection */\n abstract setSelectedItem(\n item: T,\n componentIndex: number,\n action?: GridListSelectionActions | null,\n event?: MouseEvent\n ): void;\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { ToolbarSpacerDirective } from '@fundamental-ngx/core/toolbar';\n\n@Component({\n selector: 'fd-grid-list-title-bar-spacer',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListTitleBarSpacerComponent extends ToolbarSpacerDirective {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nimport { GridListItemBodyDirective } from '../../directives/grid-list-item-body.directive';\nimport { parseLayoutPattern } from '../../helpers/parse-layout-pattern';\nimport { GridListItemToolbarComponent } from '../grid-list-item-toolbar/grid-list-item-toolbar.component';\nimport { GridListSelectionMode, GridListSelectionActions } from '../../models/grid-list-selection.models';\nimport { GridListItemFooterBarComponent } from '../grid-list-item-footer-bar/grid-list-item-footer-bar.component';\nimport { GridList } from './../grid-list/grid-list-base.component';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\nlet gridListItemUniqueId = 0;\n\nexport interface GridListItemOutputEvent<T> {\n index?: number;\n value?: T;\n}\n\nexport type GridListItemType = 'inactive' | 'active' | 'detail' | 'detailsAndActive' | 'navigation';\nexport type GridListItemState = 'unread' | 'locked' | 'error' | 'draft';\nexport type GridListItemStatus = 'success' | 'warning' | 'error' | 'neutral';\n\n@Component({\n selector: 'fd-grid-list-item',\n templateUrl: './grid-list-item.component.html',\n styleUrls: ['./grid-list-item.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class GridListItemComponent<T> implements AfterViewInit, OnDestroy {\n /** id for the Element */\n @Input()\n id = `fd-grid-list-item-${gridListItemUniqueId++}`;\n\n /** width of the element */\n @Input()\n @HostBinding('style.max-width')\n @HostBinding('style.min-width')\n width: string;\n\n /**\n * specify the cell layout in the format `XLn-Ln-Mn-Sn` where n is\n * the number of occupied columns and n can be different for each size.\n */\n @Input()\n set layoutItemPattern(value: Nullable<string>) {\n this.gridLayoutClasses = value ? parseLayoutPattern(value, false) : [];\n }\n\n /**\n * Defines the status of Grid List Item\n * (Statuses: success | warning | error | neutral)\n */\n @Input()\n status?: GridListItemStatus;\n\n /** Sets number of sub items */\n @Input()\n counter: Nullable<number>;\n\n /**\n * Value field stores information for radio button value, checkbox button and for GridListSelectionEvent\n * The field is mandatory for modes like singleSelect, singleSelectLeft, singleSelectRight or multiSelect\n */\n @Input()\n value?: T;\n\n /** Whether click on the custom toolbar is disabled */\n @Input()\n disableToolbarClick = false;\n\n /** Allows an item to be selected programmatically */\n @Input()\n set selected(value: Nullable<boolean>) {\n this._selected = coerceBooleanProperty(value);\n }\n\n get selected(): boolean {\n return this._selected;\n }\n\n /** @hidden */\n private _selected = false;\n\n /** Remove the padding from the Item body */\n @Input()\n noPadding = false;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /**\n * Defines the type of Grid List Item\n * Types:\n * - active: indicates that the item is clickable via active feedback when item is pressed\n * - detail: enables detail button of the list item that fires event.\n * - detailsAndActive: enables \"detail\" and \"active\" enumerations together\n * - inactive: indicates the list item does not have any active feedback when item is pressed\n * - navigation: indicates the list item is navigable to show extra information about the item\n * Default: inactive\n */\n @Input()\n set type(value: Nullable<GridListItemType>) {\n this._type = value ?? 'inactive';\n }\n get type(): GridListItemType {\n return this._type;\n }\n\n /** @hidden */\n private _type: GridListItemType = 'inactive';\n\n /**\n * Sets the state of Grid List Item\n * (States: unread | error | locked | draft)\n */\n @Input()\n state?: GridListItemState;\n\n /**\n * The navigated state of the list item.\n * If set to true, a navigation indicator is displayed at the end of the list item.\n */\n @Input()\n isNavigated = false;\n\n /** Title of the item */\n @Input()\n title: string;\n\n /** Description of the item */\n @Input()\n description: string;\n\n /**\n * Event is thrown, when type is active\n * and item is pressed\n */\n @Output()\n press = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when type is detail or detailsAndActive\n * and Detail button was pressed\n */\n @Output()\n detail = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when mode delete\n * and Delete button was pressed\n */\n @Output()\n delete = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when type is navigation\n * and Navigate button was pressed\n */\n @Output()\n navigate = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when state is error, not used GridListItemFooterBarComponent\n * and Draft button was pressed\n */\n @Output()\n draft = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /**\n * Event is thrown, when state is locked, not used GridListItemFooterBarComponent\n * and Locked button was pressed\n */\n @Output()\n locked = new EventEmitter<GridListItemOutputEvent<T>>();\n\n /** @hidden */\n @ViewChild('gridListItem')\n _gridListItem: ElementRef<HTMLDivElement>;\n\n /** @hidden\n * The active state of the list item.\n * If set to true, the whole card has active state. Becomes false only when the Edit button is clicked.\n */\n _isActive = true;\n\n /** @hidden */\n set gridLayoutClasses(value: string[]) {\n this._removeClassesNames(this._gridLayoutClasses);\n this._gridLayoutClasses = value;\n this._addClassesNames(this._gridLayoutClasses);\n }\n get gridLayoutClasses(): string[] {\n return this._gridLayoutClasses;\n }\n\n /** @hidden */\n @ContentChild(GridListItemFooterBarComponent)\n footerBarComponent: GridListItemFooterBarComponent;\n\n /** @hidden */\n @ContentChild(GridListItemToolbarComponent)\n itemToolbarComponent: GridListItemToolbarComponent;\n\n /** @hidden */\n @ContentChild(GridListItemBodyDirective)\n body: GridListItemBodyDirective;\n\n /** @hidden */\n _selectedItem?: T;\n\n /** @hidden */\n set selectionMode(mode: GridListSelectionMode | undefined) {\n this._selectionMode = mode;\n\n if (mode !== 'delete' && mode !== 'none' && !this.value) {\n throw new Error('Grid List Item must have [value] attribute.');\n }\n\n if (this.selected && this.value && this._index != null) {\n const action = this.selectionMode !== 'multiSelect' ? null : GridListSelectionActions.ADD;\n\n this._gridList.setSelectedItem(this.value, this._index, action);\n }\n\n this._cd.detectChanges();\n }\n get selectionMode(): GridListSelectionMode | undefined {\n return this._selectionMode;\n }\n\n /** @hidden */\n _index?: number;\n\n /** @hidden */\n private _selectionMode?: GridListSelectionMode;\n\n /** @hidden */\n private _gridLayoutClasses: string[] = [];\n\n /** @hidden */\n private readonly subscription = new Subscription();\n\n /** @hidden */\n constructor(\n private readonly _cd: ChangeDetectorRef,\n private readonly _elementRef: ElementRef,\n private readonly _render: Renderer2,\n private readonly _gridList: GridList<T>\n ) {\n const selectedItemsSub = this._gridList._selectedItems$.subscribe((items) => {\n this._selectedItem = items.selection.find((item) => item === this.value);\n this._cd.markForCheck();\n });\n this.subscription.add(selectedItemsSub);\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /** Focus grid list item programmatically */\n focus(options?: FocusOptions): void {\n this._gridListItem?.nativeElement.focus(options);\n }\n\n /** @hidden */\n _setActive(event: MouseEvent, isActive: boolean): void {\n if (this._isElementCanBeClicked(event)) {\n return;\n }\n\n this._isActive = isActive;\n }\n\n /** @hidden */\n _singleSelect(event: Event): void {\n this._preventDefault(event);\n\n if (typeof this._selectedItem !== 'undefined' || !this.value || this._index == null) {\n return;\n }\n\n this._gridList.setSelectedItem(this.value, this._index);\n }\n\n /** @hidden */\n _checkboxClick(event: MouseEvent): void {\n const checked = (<HTMLInputElement>event.target).checked;\n this._selectionItem(checked, event);\n }\n\n /** @hidden */\n _selectionItem(value: boolean | number | T, event?: MouseEvent): void {\n if (!this.value || this._index == null) {\n return;\n }\n const action =\n this.selectionMode !== 'multiSelect'\n ? null\n : value || value === 0\n ? GridListSelectionActions.ADD\n : GridListSelectionActions.REMOVE;\n\n this._gridList.setSelectedItem(this.value, this._index, action, event);\n }\n\n /** @hidden */\n _onDetail(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.detail.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onNavigate(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.navigate.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onDelete(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.delete.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _clickOnDraft(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.draft.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _clickOnLocked(event: MouseEvent): void {\n this._preventDefault(event);\n\n this.locked.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onClick(event: MouseEvent): void {\n if (!this._isElementCanBeClicked(event)) {\n return;\n }\n\n if (this.type !== 'active' && this.type !== 'detailsAndActive' && this.type !== 'navigation') {\n return;\n }\n\n if (this.type === 'navigation') {\n this._onNavigate(event);\n return;\n }\n\n this.press.emit(this._outputEventValue);\n }\n\n /** @hidden */\n _onKeyDown(event: KeyboardEvent): void {\n const target = event.target as HTMLDivElement;\n\n const isSelectionKeyDown = KeyUtil.isKeyCode(event, [ENTER, SPACE]);\n\n if (isSelectionKeyDown && this.selectionMode === 'none') {\n this.press.emit(this._outputEventValue);\n }\n\n if (!isSelectionKeyDown || this.selectionMode === 'none' || !target.classList.contains('fd-grid-list__item')) {\n return;\n }\n\n this._preventDefault(event);\n\n if (this.selectionMode === 'multiSelect') {\n this._selectionItem(!this._selectedItem);\n\n return;\n }\n\n if (typeof this._selectedItem === 'undefined') {\n this._singleSelect(event);\n }\n }\n\n /** @hidden */\n private _isElementCanBeClicked(event: MouseEvent): boolean {\n if (!event?.target) {\n return false;\n }\n\n const element = event.target as HTMLElement;\n const { classList } = element;\n\n return (\n !(this._isToolbarElement(element) && this.disableToolbarClick) &&\n !classList.contains('fd-grid-list__action-button') &&\n !classList.contains('fd-grid-list__radio-label') &&\n !classList.contains('fd-grid-list__radio-input') &&\n !classList.contains('fd-grid-list__checkbox-label') &&\n !classList.contains('fd-grid-list__checkbox-input')\n );\n }\n\n /** @hidden */\n private _isToolbarElement(element: HTMLElement): boolean {\n if (!this.itemToolbarComponent) {\n return false;\n }\n\n while (element.parentElement && !element.parentElement.classList.contains('fd-grid-list__item')) {\n if (element.classList.contains('fd-toolbar--extra-content')) {\n return true;\n }\n\n element = element.parentElement;\n }\n\n return false;\n }\n\n /** @hidden */\n private _preventDefault(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n }\n\n /** @hidden */\n private get _outputEventValue(): GridListItemOutputEvent<T> {\n return {\n value: this.value,\n index: this._index\n };\n }\n\n /** @hidden */\n private _addClassesNames(classesNames: string[]): void {\n for (const className of classesNames) {\n this._render.addClass(this._elementRef.nativeElement, className);\n }\n }\n\n /** @hidden */\n private _removeClassesNames(classesNames: string[]): void {\n for (const className of classesNames) {\n this._render.removeClass(this._elementRef.nativeElement, className);\n }\n }\n}\n","<div\n #gridListItem\n [id]=\"id\"\n tabindex=\"0\"\n class=\"fd-grid-list__item\"\n role=\"option\"\n [class.is-navigated]=\"isNavigated\"\n [class.is-selected]=\"!!_selectedItem\"\n [class.fd-grid-list__item--link]=\"\n _isActive && (type === 'active' || type === 'detailsAndActive' || type === 'navigation')\n \"\n [class.fd-grid-list__item--unread]=\"state === 'unread'\"\n [class.fd-grid-list__item--locked]=\"state === 'locked'\"\n [class.fd-grid-list__item--draft]=\"state === 'draft'\"\n [class.fd-grid-list__item--error]=\"state === 'error'\"\n (keydown)=\"_onKeyDown($event)\"\n (click)=\"selectionMode === 'singleSelect' && _singleSelect($event); _onClick($event)\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n [attr.aria-selected]=\"selectionMode === 'none' ? null : !!_selectedItem\"\n>\n <span\n *ngIf=\"status\"\n class=\"fd-grid-list__highlight\"\n [class.fd-grid-list__highlight--positive]=\"status === 'success'\"\n [class.fd-grid-list__highlight--critical]=\"status === 'warning'\"\n [class.fd-grid-list__highlight--negative]=\"status === 'error'\"\n [class.fd-grid-list__highlight--neutral]=\"status === 'neutral'\"\n [attr.aria-label]=\"'coreGridList.listItemStatusAriaLabel' | fdTranslate : { status: status }\"\n ></span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelect'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <div\n class=\"fd-toolbar fd-grid-list__item-toolbar\"\n *ngIf=\"\n counter ||\n itemToolbarComponent?.contentTemplateRef ||\n (type && type !== 'inactive' && type !== 'active') ||\n (selectionMode !== 'none' && selectionMode !== 'singleSelect')\n \"\n >\n <ng-container *ngIf=\"selectionMode === 'singleSelectLeft'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"selectionMode === 'multiSelect'\">\n <ng-container *ngTemplateOutlet=\"checkbox\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"itemToolbarComponent?.contentTemplateRef\">\n <div class=\"fd-toolbar--extra-content\">\n <ng-container *ngTemplateOutlet=\"itemToolbarComponent.contentTemplateRef\"></ng-container>\n </div>\n </ng-container>\n\n <fd-grid-list-title-bar-spacer></fd-grid-list-title-bar-spacer>\n\n <span\n *ngIf=\"counter\"\n class=\"fd-grid-list__item-counter\"\n [attr.aria-label]=\"'coreGridList.listItemCounterAriaLabel' | fdTranslate : { count: counter }\"\n >{{ counter }}</span\n >\n\n <button\n *ngIf=\"type === 'detail' || type === 'detailsAndActive'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"edit\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDetailsTitle' | fdTranslate\"\n fdCompact\n (click)=\"_onDetail($event)\"\n ></button>\n\n <button\n *ngIf=\"selectionMode === 'delete'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"decline\"\n class=\"fd-grid-list__action-button\"\n [attr.aria-label]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n [title]=\"'coreGridList.listItemButtonDeleteTitle' | fdTranslate\"\n title=\"Delete\"\n fdCompact\n (click)=\"_onDelete($event)\"\n ></button>\n\n <span *ngIf=\"type === 'navigation'\" class=\"fd-grid-list__item-navigation-indicator\">\n <fd-icon glyph=\"navigation-right-arrow\"></fd-icon>\n </span>\n\n <ng-container *ngIf=\"selectionMode === 'singleSelectRight'\">\n <ng-container *ngTemplateOutlet=\"radio\"></ng-container>\n </ng-container>\n </div>\n\n <div class=\"fd-grid-list__item-body\" [class.fd-grid-list__item-body--no-padding]=\"noPadding\">\n <ng-content select=\"[fd-grid-list-item-image]\"></ng-content>\n\n <div *ngIf=\"title || description\" class=\"fd-grid-list__item-header\">\n <h4 *ngIf=\"title\" fd-title>{{ title }}</h4>\n <span *ngIf=\"description\" class=\"fd-grid-list__item-subtitle\">{{ description }}</span>\n </div>\n\n <div *ngIf=\"body?.templateRef\" class=\"fd-grid-list__item-content\">\n <ng-container [ngTemplateOutlet]=\"body.templateRef\"></ng-container>\n </div>\n\n <ng-container *ngIf=\"state || footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"itemFooter\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<ng-template #radio>\n <input\n [attr.tabindex]=\"selectionMode === 'singleSelect' ? -1 : 0\"\n type=\"radio\"\n class=\"fd-radio is-compact fd-grid-list__radio-input\"\n [style.display]=\"selectionMode === 'singleSelect' ? 'none' : ''\"\n [id]=\"id + '-radio'\"\n [name]=\"'fd-grid-list-item-toolbar-' + selectionMode\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [value]=\"value\"\n [ngModel]=\"_selectedItem\"\n (ngModelChange)=\"$event && _selectionItem($event)\"\n />\n <label\n class=\"fd-radio__label fd-grid-list__radio-label\"\n [for]=\"id + '-radio'\"\n tabindex=\"-1\"\n (mouseover)=\"_setActive($event, false)\"\n (mouseout)=\"_setActive($event, true)\"\n ></label>\n</ng-template>\n\n<ng-template #checkbox>\n <input\n type=\"checkbox\"\n class=\"fd-checkbox is-compact fd-grid-list__checkbox-input\"\n [id]=\"id + '-checkbox'\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [ngModel]=\"_selectedItem\"\n (click)=\"_checkboxClick($event)\"\n />\n <label class=\"fd-checkbox__label fd-grid-list__checkbox-label\" [for]=\"id + '-checkbox'\" tabindex=\"-1\">\n <span class=\"fd-checkbox__checkmark\" aria-hidden=\"true\"></span>\n </label>\n</ng-template>\n\n<ng-template #itemFooter>\n <div class=\"fd-grid-list__item-body-actions\" *ngIf=\"footerBarComponent || state\">\n <ng-container *ngIf=\"footerBarComponent?.contentTemplateRef\">\n <ng-container *ngTemplateOutlet=\"footerBarComponent.contentTemplateRef\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!footerBarComponent?.contentTemplateRef && state\">\n <span\n *ngIf=\"state === 'error'\"\n fd-object-status\n status=\"negative\"\n [label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusContainsErrors' | fdTranslate\"\n ></span>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'locked'\"\n fd-button\n fdType=\"transparent\"\n glyph=\"private\"\n [label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n [attr.aria-label]=\"'coreGridList.listItemStatusLocked' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnLocked($event)\"\n ></button>\n\n <button\n class=\"fd-grid-list__action-button\"\n *ngIf=\"state === 'draft'\"\n fd-button\n fdType=\"transparent\"\n [attr.aria-label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n [label]=\"'coreGridList.listItemStatusDraft' | fdTranslate\"\n fdCompact\n (click)=\"_clickOnDraft($event)\"\n ></button>\n </ng-container>\n </div>\n</ng-template>\n","import {\n Component,\n ContentChildren,\n QueryList,\n ViewEncapsulation,\n Input,\n OnChanges,\n SimpleChanges,\n ChangeDetectorRef,\n EventEmitter,\n Output,\n AfterContentInit,\n OnDestroy,\n ChangeDetectionStrategy\n} from '@angular/core';\nimport { BehaviorSubject, filter, Subscription } from 'rxjs';\nimport { parseLayoutPattern } from '../../helpers/parse-layout-pattern';\nimport { GridListItemComponent } from '../grid-list-item/grid-list-item.component';\nimport {\n GridListSelectionMode,\n GridListSelectionActions,\n GridListSelectionEvent\n} from './../../models/grid-list-selection.models';\nimport { RangeSelector } from '@fundamental-ngx/cdk/utils';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { GridList } from './grid-list-base.component';\n\nlet gridListUniqueId = 0;\n\n@Component({\n selector: 'fd-grid-list',\n templateUrl: './grid-list.component.html',\n styleUrls: ['./grid-list.component.scss', '../../../../../../cdk/src/lib/utils/drag-and-drop/drag-and-drop.scss'],\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: GridList, useExisting: GridListComponent }],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListComponent<T> extends GridList<T> implements OnChanges, AfterContentInit, OnDestroy {\n /** id for the Element */\n @Input()\n id = `fd-grid-list-${gridListUniqueId++}`;\n\n /** width of the element */\n @Input()\n width: string;\n\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n\n /**\n * Defines the mode of Grid List\n * Modes:\n * - none: Default mode (no selection)\n * - delete: Delete mode (only one list item can be deleted via provided delete button)\n * - singleSelect: Selected item is highlighted but no selection control is visible (only one list item can be selected)\n * - singleSelectLeft: Left-positioned single selection mode (only one list item can be selected)\n * - singleSelectRight: Right-positioned single selection mode (only one list item can be selected)\n * - multiSelect: Multi-selection mode (more than one list item can be selected)\n * */\n @Input()\n selectionMode: GridListSelectionMode = 'none';\n\n /**\n * specify the column layout in the format `XLn-Ln-Mn-Sn` where n is the number of columns and can be different for each size.\n * eg: XL2-L2-M2-S1 would create 2-column layouts for XL, L, and M sizes and single-column layout for S size.\n */\n @Input()\n layoutPattern: string;\n\n /** Event is thrown, when mode is singleSelect, singleSelectLeft, singleSelectRight or multiSelect and item was selected */\n @Output()\n selectionChange = new EventEmitter<GridListSelectionEvent<T>>();\n\n /** @hidden */\n @ContentChildren(GridListItemComponent, { descendants: true })\n set gridListItems(components: QueryList<GridListItemComponent<T>>) {\n this._gridListItems = components;\n this._updateGridListItemsProperties(components);\n }\n\n get gridListItems(): QueryList<GridListItemComponent<T>> {\n return this._gridListItems;\n }\n\n /** @hidden */\n private _gridListItems: QueryList<GridListItemComponent<T>>;\n\n /** @hidden */\n private readonly _rangeSelector = new RangeSelector();\n\n /** @hidden */\n private readonly _selectedItems: GridListSelectionEvent<T> = {\n added: [],\n index: [],\n removed: [],\n selection: []\n };\n\n /** @hidden */\n private readonly _selectedItemsSubject$ = new BehaviorSubject<GridListSelectionEvent<T>>(this._selectedItems);\n\n /** @hidden */\n readonly _selectedItems$ = this._selectedItemsSubject$.asObservable();\n\n /** @hidden */\n private readonly subscription = new Subscription();\n\n /** @hidden */\n constructor(private readonly _cd: ChangeDetectorRef) {\n super();\n const selectedItemsSub = this._selectedItems$\n .pipe(filter(() => !!this._gridListItems))\n .subscribe(this.selectionChange);\n\n this.subscription.add(selectedItemsSub);\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes.layoutPattern &&\n !changes.layoutPattern.firstChange &&\n changes.layoutPattern.previousValue !== changes.layoutPattern.currentValue\n ) {\n const baseLayoutItemPattern = parseLayoutPattern(this.layoutPattern);\n this._updateGridListItemsProperty('gridLayoutClasses', baseLayoutItemPattern);\n }\n\n if (\n changes.selectionMode &&\n !changes.selectionMode.firstChange &&\n changes.selectionMode.previousValue !== changes.selectionMode.currentValue\n ) {\n this._updateGridListItemsProperty('selectionMode', this.selectionMode);\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._cd.detectChanges();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n\n /**\n * Clears previous selection of the items.\n */\n clearSelection(): void {\n this._selectedItems.added = [];\n this._selectedItems.index = [];\n this._selectedItems.removed = this._selectedItems.selection;\n this._selectedItems.selection = [];\n\n this._selectedItemsSubject$.next(this._selectedItems);\n }\n\n /** @hidden */\n setSelectedItem(\n item: T,\n componentIndex: number,\n action?: GridListSelectionActions | null,\n event?: PointerEvent\n ): void {\n if (!action) {\n this._selectedItems.added = [item];\n const selectedItem = this._selectedItems.selection[0];\n if (selectedItem) {\n this._selectedItems.removed = [selectedItem];\n }\n\n this._selectedItems.selection = [item];\n this._selectedItems.index = [componentIndex];\n\n this._selectedItemsSubject$.next(this._selectedItems);\n\n return;\n }\n\n this._rangeSelector.onRangeElementToggled(componentIndex, event);\n const state = this._rangeSelector.lastRangeSelectionState;\n if (!state) {\n return;\n }\n const itemIndexes = new Array(state.to - state.from + 1).fill(null).map((e, i) => state.from + i);\n const selectedItems = itemIndexes.map((idx) => this.gridListItems.get(idx)?.value).filter((v): v is T => !!v);\n const itemsSet = new Set<T>(selectedItems);\n\n if (action === GridListSelectionActions.ADD) {\n this._selectedItems.added = [...itemsSet.values()];\n this._selectedItems.index = [...itemIndexes];\n this._selectedItems.removed = [];\n\n // remove \"itemsSet\" values from selection and add them back from \"itemsSet\"\n // this is needed to avoid duplicates as some of the items can be already selected\n this._selectedItems.selection = this._selectedItems.selection.filter((e) => !itemsSet.has(e));\n this._selectedItems.selection.push(...itemsSet.values());\n }\n\n if (action === GridListSelectionActions.REMOVE) {\n this._selectedItems.added = [];\n this._selectedItems.index = [...itemIndexes];\n this._selectedItems.removed = [...itemsSet.values()];\n\n this._selectedItems.selection = this._selectedItems.selection.filter(\n (selectedItem) => !itemsSet.has(selectedItem)\n );\n }\n\n this._selectedItemsSubject$.next(this._selectedItems);\n }\n\n /** @hidden */\n private _updateGridListItemsProperties(components: QueryList<GridListItemComponent<T>>): void {\n const layoutPattern = this.layoutPattern ? this.layoutPattern : 'XL4-L3-M2-S1';\n const baseLayoutItemPattern = parseLayoutPattern(layoutPattern);\n\n components.forEach((component, index) => {\n if (component._index !== index) {\n component._index = index;\n }\n\n if (!component.selectionMode) {\n component.selectionMode = this.selectionMode;\n }\n\n if (!component.layoutItemPattern) {\n component.gridLayoutClasses = baseLayoutItemPattern;\n }\n });\n }\n\n /** @hidden */\n private _updateGridListItemsProperty(key: string, value: string | string[]): void {\n this._gridListItems.forEach((componenet) => {\n componenet[key] = value;\n });\n }\n}\n","<div\n [id]=\"id\"\n [style.width]=\"width\"\n class=\"fd-grid-list\"\n [attr.aria-label]=\"ariaLabel\"\n [class.fd-grid-list--mode-delete]=\"selectionMode === 'delete'\"\n [class.fd-grid-list--mode-single-select]=\"selectionMode === 'singleSelect'\"\n [class.fd-grid-list--mode-single-select-left]=\"selectionMode === 'singleSelectLeft'\"\n [class.fd-grid-list--mode-single-select-right]=\"selectionMode === 'singleSelectRight'\"\n [class.fd-grid-list--mode-multi-select]=\"selectionMode === 'multiSelect'\"\n>\n <div class=\"fd-container\" role=\"listbox\">\n <div class=\"fd-row\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n","import { Component, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-filter-bar',\n templateUrl: './grid-list-filter-bar.component.html',\n host: {\n class: 'fd-col fd-col--12'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListFilterBarComponent {\n /** Event is thrown, when the control button is clicked */\n @Output()\n // eslint-disable-next-line @angular-eslint/no-output-native\n readonly close = new EventEmitter<void>();\n}\n","<fd-toolbar\n fdType=\"info\"\n [active]=\"true\"\n [tabindex]=\"0\"\n class=\"fd-grid-list__filter\"\n [attr.aria-label]=\"'coreGridList.filterBarCancelButtonTitle' | fdTranslate\"\n (click)=\"close.emit()\"\n (keydown.space)=\"$event.preventDefault()\"\n (keyup.space)=\"close.emit()\"\n (keydown.enter)=\"close.emit()\"\n>\n <ng-content></ng-content>\n\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <fd-icon glyph=\"decline\"></fd-icon>\n</fd-toolbar>\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-footer',\n templateUrl: './grid-list-footer.component.html',\n host: {\n class: 'fd-col fd-col--12'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListFooterComponent {}\n","<div tabindex=\"0\" class=\"fd-grid-list__footer\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n@Component({\n selector: 'fd-grid-list-group-header',\n templateUrl: './grid-list-group-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-col fd-col--12'\n }\n})\nexport class GridListGroupHeaderComponent {\n /** Sets the `aria-label` attribute to the element. */\n @Input()\n ariaLabel: Nullable<string>;\n}\n","<div class=\"fd-grid-list__group-header fd-grid-list__group-header--no-margin\" [attr.aria-label]=\"ariaLabel\">\n <ng-content></ng-content>\n</div>\n","import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\n\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\n\n@Component({\n selector: 'fd-grid-list-more-btn',\n templateUrl: './grid-list-more-btn.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'fd-col fd-col--12'\n }\n})\nexport class GridListMoreBtnComponent {\n /** Sets title of the button */\n @Input()\n title: string;\n\n /** Sets the number of total items. */\n @Input()\n totalCount: number;\n\n /** Sets the number of display items. */\n @Input()\n displayCount: number;\n\n /** Event is thrown, when the control button is clicked */\n @Output()\n showMore = new EventEmitter<void>();\n\n /** @hidden */\n _onKeyDown(event: KeyboardEvent): void {\n if (!KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n return;\n }\n\n event.preventDefault();\n\n this.showMore.emit();\n }\n}\n","<div tabindex=\"0\" role=\"button\" class=\"fd-grid-list__more\" (keydown)=\"_onKeyDown($event)\" (click)=\"showMore.emit()\">\n <h5 class=\"fd-title fd-title--h6 fd-grid-list__more-title\">{{ title }}</h5>\n <p class=\"fd-grid-list__more-description\">{{ '[ ' + displayCount + ' / ' + totalCount + ' ]' }}</p>\n</div>\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'fd-grid-list-title-bar',\n templateUrl: './grid-list-title-bar.component.html',\n host: {\n class: 'fd-col fd-col--12'\n },\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridListTitleBarComponent {\n /** Sets title of the Grid List */\n @Input()\n title: string;\n}\n","<fd-toolbar fdType=\"solid\">\n <label fd-toolbar-label>\n {{ title }}\n <ng-content select=\"[fd-grid-list-title-bar-additional-title-item]\"></ng-content>\n </label>\n\n <ng-content></ng-content>\n</fd-toolbar>\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-grid-list-title-bar-additional-title-item]'\n})\nexport class GridListTitleBarAdditionalTitleItemDirective {}\n","import { Directive } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[fd-grid-list-item-image]',\n host: {\n class: 'fd-grid-list__item-image'\n }\n})\nexport class GridListItemImageDirective {}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { ObjectStatusModule } from '@fundamental-ngx/core/object-status';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { TitleModule } from '@fundamental-ngx/core/title';\nimport { ToolbarModule } from '@fundamental-ngx/core/toolbar';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { I18nModule } from '@fundamental-ngx/i18n';\n\nimport { GridListComponent } from './components/grid-list/grid-list.component';\nimport { GridListFilterBarComponent } from './components/grid-list-filter-bar/grid-list-filter-bar.component';\nimport { GridListFooterComponent } from './components/grid-list-footer/grid-list-footer.component';\nimport { GridListGroupHeaderComponent } from './components/grid-list-group-header/grid-list-group-header.component';\nimport { GridListItemComponent } from './components/grid-list-item/grid-list-item.component';\nimport { GridListItemFooterBarComponent } from './components/grid-list-item-footer-bar/grid-list-item-footer-bar.component';\nimport { GridListItemToolbarComponent } from './components/grid-list-item-toolbar/grid-list-item-toolbar.component';\nimport { GridListMoreBtnComponent } from './components/grid-list-more-btn/grid-list-more-btn.component';\nimport { GridListTitleBarComponent } from './components/grid-list-title-bar/grid-list-title-bar.component';\nimport { GridListTitleBarAdditionalTitleItemDirective } from './components/grid-list-title-bar/grid-list-title-bar.directive';\nimport { GridListTitleBarSpacerComponent } from './components/grid-list-title-bar-spacer/grid-list-title-bar-spacer.component';\nimport { GridListItemBodyDirective } from './directives/grid-list-item-body.directive';\nimport { GridListItemImageDirective } from './directives/grid-list-item-image.directive';\n\n@NgModule({\n declarations: [\n GridListComponent,\n GridListItemComponent,\n GridListTitleBarComponent,\n GridListFilterBarComponent,\n GridListMoreBtnComponent,\n GridListFooterComponent,\n GridListItemFooterBarComponent,\n GridListItemToolbarComponent,\n GridListGroupHeaderComponent,\n GridListTitleBarSpacerComponent,\n GridListTitleBarAdditionalTitleItemDirective,\n GridListItemImageDirective,\n GridListItemBodyDirective\n ],\n imports: [\n CommonModule,\n FormsModule,\n ButtonModule,\n IconModule,\n TitleModule,\n ToolbarModule,\n ObjectStatusModule,\n I18nModule\n ],\n exports: [\n GridListComponent,\n GridListItemComponent,\n GridListTitleBarComponent,\n GridListFilterBarComponent,\n GridListMoreBtnComponent,\n GridListFooterComponent,\n GridListItemFooterBarComponent,\n GridListItemToolbarComponent,\n GridListGroupHeaderComponent,\n GridListTitleBarSpacerComponent,\n GridListTitleBarAdditionalTitleItemDirective,\n GridListItemImageDirective,\n GridListItemBodyDirective\n ]\n})\nexport class GridListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.GridList","i9.GridListTitleBarSpacerComponent","i1","i2","i3"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-input-group.mjs","sources":["../../../../libs/core/src/lib/input-group/input-group-directives.ts","../../../../libs/core/src/lib/input-group/input-group.component.ts","../../../../libs/core/src/lib/input-group/input-group.component.html","../../../../libs/core/src/lib/input-group/deprecated-input-group-compact.directive.ts","../../../../libs/core/src/lib/input-group/input-group.module.ts","../../../../libs/core/src/lib/input-group/fundamental-ngx-core-input-group.ts"],"sourcesContent":["import {\n AfterContentInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport { InputGroupPlacement } from './types';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n selector: '[fdInputGroupInput], [fd-input-group-input]',\n providers: [contentDensityObserverProviders()]\n})\nexport class InputGroupInputDirective implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-input', 'fd-input-group__input'];\n }\n}\n\n@Directive({\n selector: '[fdTextareaGroupInput], [fd-textarea-group-input]'\n})\nexport class InputGroupTextareaDirective {}\n\n@Directive({\n selector: '[fdInputGroupAddon], [fd-input-group-addon]',\n providers: [contentDensityObserverProviders()]\n})\nexport class InputGroupAddOnDirective implements OnInit, OnChanges, CssClassBuilder, AfterContentInit, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n @HostBinding('class.fd-input-group__addon')\n fdInputGroupAddonClass = true;\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n type: string;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state?: FormStates;\n\n /**\n * Whether the icon add-on or the text add-on is a button.\n */\n @Input()\n button = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private renderer: Renderer2,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n /** Add fd-input-group__button to button child element */\n const button = this.elementRef.nativeElement.querySelector('button');\n if (button) {\n this.renderer.addClass(button, 'fd-input-group__button');\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-input-group__addon',\n this.button ? 'fd-input-group__addon--button' : '',\n this.type ? 'fd-input-group__addon--' + this.type : '',\n this.state ? 'is-' + this.state : ''\n ];\n }\n}\n\n@Directive({\n selector: '[fdInputGroupAddonButton], [fd-input-group-addon-button]',\n host: {\n class: 'fd-input-group__button'\n }\n})\nexport class InputGroupAddonButtonDirective {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { filter, fromEvent, map, merge, Observable, Subject, takeUntil, debounceTime } from 'rxjs';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\n\nimport {\n InputGroupAddonButtonDirective,\n InputGroupAddOnDirective,\n InputGroupInputDirective\n} from './input-group-directives';\nimport { InputGroupPlacement } from './types';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\n\nlet addOnNonButtonRandomId = 0;\nlet addOnButtonRandomId = 0;\nlet addOnInputRandomId = 0;\n\n/**\n * The component that represents an input group.\n * The input group includes form inputs with add-ons that allow the user to better understand the information being entered.\n *\n * ```html\n * <fd-input-group placement=\"after\" addOnText=\"$\" placeholder=\"Amount\">\n * </fd-input-group>\n * ```\n */\n@Component({\n selector: 'fd-input-group',\n templateUrl: './input-group.component.html',\n styleUrls: ['./input-group.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputGroupComponent),\n multi: true\n },\n contentDensityObserverProviders(),\n registerFormItemControl(InputGroupComponent)\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(focusout)': '_focusOut($event)'\n }\n})\nexport class InputGroupComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, FormItemControl {\n /** @deprecated Input template, use fd-input-group-input directive instead. */\n @Input()\n set inputTemplate(value: TemplateRef<any>) {\n if (isDevMode()) {\n console.warn('\"inputTemplate\" is deprecated. Use \"fd-input-group-input\" directive instead');\n }\n\n this._inputTemplate = value;\n }\n\n get inputTemplate(): TemplateRef<any> {\n return this._inputTemplate;\n }\n\n /**\n * The placement of the add-on.\n * Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the input group is inline. */\n @Input()\n inline = false;\n\n /** Placeholder for the input group. */\n @Input()\n placeholder: string;\n\n /** The text for the add-on. */\n @Input()\n addOnText: string;\n\n /** Whether AddOn Button should be focusable */\n @Input()\n buttonFocusable = true;\n\n /** The type of the input, used in Input Group. By default, value is set to 'text' */\n @Input()\n type = 'text';\n\n /** The icon value for the add-on. */\n @Input()\n glyph: Nullable<string>;\n\n /** Whether the icon add-on or the text add-on is a button. */\n @Input()\n button: boolean;\n\n /** Whether the input group is disabled. */\n @Input()\n disabled: boolean;\n\n /** Whether the input group is readonly. */\n @Input()\n readonly: boolean;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state: Nullable<FormStates>;\n\n /**\n * Whether the input group is a popover control\n */\n @Input()\n isControl = false;\n\n /**\n * Whether should show focus outline\n */\n @Input()\n showFocus = true;\n\n /** @hidden */\n @Input()\n isExpanded = false;\n\n /** Label applied to button with glyph element. */\n @Input()\n glyphAriaLabel: Nullable<string>;\n\n /**\n * Whether the input group addon button should be aria-hidden\n * Useful in cases when the title is already applied on the\n * input group parent component\n **/\n @Input()\n addonButtonAriaHidden: Nullable<boolean>;\n\n /** The tooltip for the input group icon. */\n @Input()\n iconTitle: Nullable<string>;\n\n /** @deprecated renamed to \"ariaLabelledBy\" */\n @Input()\n set ariaLabelledby(value: Nullable<string>) {\n if (isDevMode()) {\n console.warn('\"ariaLabelledby\" is deprecated. Use \"ariaLabelledBy\" instead');\n }\n this.ariaLabelledBy = value;\n }\n\n /** the associated ids for the input aria-labelledby field */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Event emitted when the add-on button is clicked. */\n @Output()\n addOnButtonClicked = new EventEmitter<Event>();\n\n /**\n * Event emitted when the native clear button is clicked, or when native search is executed.\n * Works only for native search for input[type=\"search\"]\n */\n @Output()\n search = new EventEmitter<Event>();\n\n /** @hidden */\n @ContentChild(InputGroupInputDirective)\n inputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective)\n localInputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ContentChild(InputGroupAddOnDirective)\n addOnElement: InputGroupAddOnDirective;\n\n /** @hidden */\n @ViewChild(InputGroupAddonButtonDirective, { static: false, read: ElementRef })\n private readonly _localButtonElement: ElementRef;\n\n /** @hidden */\n _inputTextValue: string;\n\n /** @hidden */\n _inputId = `fd-input-group-input-id-${addOnInputRandomId++}`;\n\n /** @hidden */\n _addOnNonButtonId = `fd-input-group-non-button-id-${addOnNonButtonRandomId++}`;\n\n /** @hidden */\n _addOnButtonId = `fd-input-group-button-id-${addOnButtonRandomId++}`;\n\n /** @hidden */\n _inputFocused$: Observable<boolean>;\n\n /**\n * Whether the input group is in the shellbar. Only for internal use by combobox component.\n * @hidden\n */\n inShellbar = false;\n\n /** @hidden */\n private _inputTemplate: TemplateRef<any>;\n\n /** An RxJS Subject that will kill the stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n onChange: any = () => {};\n\n /** @hidden */\n onTouched: any = () => {};\n\n /** Value of the text input. */\n set inputText(value) {\n this._inputTextValue = value;\n\n this.onChange(value);\n }\n get inputText(): string {\n return this._inputTextValue;\n }\n\n /** @hidden\n * Calculate the correct ids for input aria-labelledby\n */\n get _inputAriaLabelledBy(): string {\n let ariaLabelledByIds = this.ariaLabelledBy ? this.ariaLabelledBy + ' ' : '';\n\n if (!this.button) {\n ariaLabelledByIds += this._addOnNonButtonId;\n }\n\n return ariaLabelledByIds;\n }\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenInputFocus();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n writeValue(value: any): void {\n this._inputTextValue = value;\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n registerOnChange(fn): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n setInShellbar(value: boolean): void {\n this.inShellbar = value;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _buttonClicked(event: Event): void {\n this.addOnButtonClicked.emit(event);\n }\n\n /** @hidden */\n _onSearchEvent(event: Event): void {\n this.search.emit(event);\n }\n\n /** @hidden */\n _preventFocus(event: MouseEvent): void {\n if (!this.buttonFocusable) {\n event.preventDefault();\n }\n }\n\n /** @hidden */\n private _listenInputFocus(): void {\n const inputElement =\n this.inputElement?.elementRef?.nativeElement || this.localInputElement?.elementRef?.nativeElement;\n\n if (!inputElement) {\n return;\n }\n\n const focusEvents = [\n fromEvent(inputElement, 'focusin').pipe(map(() => true)),\n fromEvent(inputElement, 'focusout').pipe(map(() => false))\n ];\n\n if (this._localButtonElement) {\n focusEvents.push(\n fromEvent(this._localButtonElement.nativeElement, 'mousedown').pipe(map(() => !this.buttonFocusable))\n );\n }\n\n this._inputFocused$ = merge(...focusEvents).pipe(\n // debounceTime is needed in order to filter subsequent focus-blur events, that happen simultaneously\n debounceTime(10),\n filter(() => this.showFocus),\n takeUntil(this._onDestroy$)\n );\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n private _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n}\n","<div\n class=\"fd-input-group\"\n [class.fd-input-group--inline]=\"inline\"\n [class.is-disabled]=\"disabled\"\n [class.is-readonly]=\"readonly\"\n [class.fd-shellbar__input-group]=\"inShellbar\"\n [class.fd-input-group--control]=\"isControl\"\n [class.is-focus]=\"_inputFocused$ | async\"\n [class]=\"state ? 'is-' + state : ' '\"\n>\n <ng-container *ngIf=\"placement === 'after' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"!addOnElement && (glyph || addOnText)\">\n <span\n *ngIf=\"button\"\n fd-input-group-addon\n [button]=\"true\"\n [placement]=\"placement\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n >\n <button\n fd-button\n fdInputGroupAddonButton\n type=\"button\"\n [attr.aria-hidden]=\"addonButtonAriaHidden\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n [id]=\"_addOnButtonId\"\n [attr.tabindex]=\"buttonFocusable ? 0 : -1\"\n [attr.title]=\"iconTitle || glyphAriaLabel || glyph\"\n [glyph]=\"glyph\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [class.is-expanded]=\"isExpanded\"\n [attr.aria-haspopup]=\"isControl\"\n [attr.aria-expanded]=\"inShellbar ? isExpanded : null\"\n [ariaLabel]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.aria-controls]=\"_inputId\"\n [disabled]=\"disabled\"\n (mousedown)=\"_preventFocus($event)\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keyup.enter)=\"_buttonClicked($event)\"\n (click)=\"_buttonClicked($event)\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n </button>\n </span>\n\n <span\n *ngIf=\"!button\"\n fd-input-group-addon\n [id]=\"_addOnNonButtonId\"\n [placement]=\"placement\"\n [attr.aria-label]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.title]=\"iconTitle || glyph || addOnText\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n\n <span *ngIf=\"glyph\" [className]=\"'sap-icon--' + glyph\"></span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"placement === 'before' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #input>\n <ng-container *ngIf=\"inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n\n <input\n *ngIf=\"!inputTemplate\"\n [(ngModel)]=\"inputText\"\n [id]=\"_inputId\"\n [attr.aria-labelledby]=\"_inputAriaLabelledBy\"\n [class.fd-shellbar__input-group-input]=\"inShellbar\"\n fd-input-group-input\n [type]=\"type\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-required]=\"required\"\n (search)=\"_onSearchEvent($event)\"\n />\n</ng-template>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-input-group[compact], [fd-input-group-addon][compact], [fd-input-group-input][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedInputGroupCompactDirective)\n }\n ]\n})\nexport class DeprecatedInputGroupCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-input-group[compact], [fd-input-group-addon][compact], [fd-input-group-input]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { InputGroupComponent } from './input-group.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport {\n InputGroupAddonButtonDirective,\n InputGroupAddOnDirective,\n InputGroupInputDirective,\n InputGroupTextareaDirective\n} from './input-group-directives';\nimport { DeprecatedInputGroupCompactDirective } from './deprecated-input-group-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [\n InputGroupComponent,\n InputGroupInputDirective,\n InputGroupTextareaDirective,\n InputGroupAddOnDirective,\n DeprecatedInputGroupCompactDirective,\n InputGroupAddonButtonDirective\n ],\n imports: [CommonModule, ButtonModule, IconModule, FormsModule, ContentDensityModule],\n exports: [\n InputGroupComponent,\n InputGroupInputDirective,\n InputGroupTextareaDirective,\n InputGroupAddOnDirective,\n DeprecatedInputGroupCompactDirective,\n ContentDensityModule,\n InputGroupAddonButtonDirective\n ]\n})\nexport class InputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5.InputGroupInputDirective","i5.InputGroupAddOnDirective","i5.InputGroupAddonButtonDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-input-group.mjs","sources":["../../../../libs/core/src/lib/input-group/input-group-directives.ts","../../../../libs/core/src/lib/input-group/input-group.component.ts","../../../../libs/core/src/lib/input-group/input-group.component.html","../../../../libs/core/src/lib/input-group/deprecated-input-group-compact.directive.ts","../../../../libs/core/src/lib/input-group/input-group.module.ts","../../../../libs/core/src/lib/input-group/fundamental-ngx-core-input-group.ts"],"sourcesContent":["import {\n AfterContentInit,\n Directive,\n ElementRef,\n HostBinding,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport { InputGroupPlacement } from './types';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { Subscription } from 'rxjs';\nimport { applyCssClass, CssClassBuilder } from '@fundamental-ngx/cdk/utils';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n selector: '[fdInputGroupInput], [fd-input-group-input]',\n providers: [contentDensityObserverProviders()]\n})\nexport class InputGroupInputDirective implements CssClassBuilder, OnInit, OnChanges, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private readonly _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return ['fd-input', 'fd-input-group__input'];\n }\n}\n\n@Directive({\n selector: '[fdTextareaGroupInput], [fd-textarea-group-input]'\n})\nexport class InputGroupTextareaDirective {}\n\n@Directive({\n selector: '[fdInputGroupAddon], [fd-input-group-addon]',\n providers: [contentDensityObserverProviders()]\n})\nexport class InputGroupAddOnDirective implements OnInit, OnChanges, CssClassBuilder, AfterContentInit, OnDestroy {\n /** user's custom classes */\n @Input()\n class: string;\n\n /** @hidden */\n @HostBinding('class.fd-input-group__addon')\n fdInputGroupAddonClass = true;\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /**\n * The placement of the add-on. Options include *before* and *after*\n */\n @Input()\n type: string;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state?: FormStates;\n\n /**\n * Whether the icon add-on or the text add-on is a button.\n */\n @Input()\n button = false;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n private renderer: Renderer2,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n /** Add fd-input-group__button to button child element */\n const button = this.elementRef.nativeElement.querySelector('button');\n if (button) {\n this.renderer.addClass(button, 'fd-input-group__button');\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden\n * CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n @applyCssClass\n buildComponentCssClass(): string[] {\n return [\n 'fd-input-group__addon',\n this.button ? 'fd-input-group__addon--button' : '',\n this.type ? 'fd-input-group__addon--' + this.type : '',\n this.state ? 'is-' + this.state : ''\n ];\n }\n}\n\n@Directive({\n selector: '[fdInputGroupAddonButton], [fd-input-group-addon-button]',\n host: {\n class: 'fd-input-group__button'\n }\n})\nexport class InputGroupAddonButtonDirective {}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n isDevMode,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { filter, fromEvent, map, merge, Observable, Subject, takeUntil, debounceTime } from 'rxjs';\n\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FormItemControl, registerFormItemControl } from '@fundamental-ngx/core/form';\n\nimport {\n InputGroupAddonButtonDirective,\n InputGroupAddOnDirective,\n InputGroupInputDirective\n} from './input-group-directives';\nimport { InputGroupPlacement } from './types';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\n\nlet addOnNonButtonRandomId = 0;\nlet addOnButtonRandomId = 0;\nlet addOnInputRandomId = 0;\n\n/**\n * The component that represents an input group.\n * The input group includes form inputs with add-ons that allow the user to better understand the information being entered.\n *\n * ```html\n * <fd-input-group placement=\"after\" addOnText=\"$\" placeholder=\"Amount\">\n * </fd-input-group>\n * ```\n */\n@Component({\n selector: 'fd-input-group',\n templateUrl: './input-group.component.html',\n styleUrls: ['./input-group.component.scss'],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputGroupComponent),\n multi: true\n },\n contentDensityObserverProviders(),\n registerFormItemControl(InputGroupComponent)\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(focusout)': '_focusOut($event)'\n }\n})\nexport class InputGroupComponent implements ControlValueAccessor, AfterViewInit, OnDestroy, FormItemControl {\n /** @deprecated Input template, use fd-input-group-input directive instead. */\n @Input()\n set inputTemplate(value: TemplateRef<any>) {\n if (isDevMode()) {\n console.warn('\"inputTemplate\" is deprecated. Use \"fd-input-group-input\" directive instead');\n }\n\n this._inputTemplate = value;\n }\n\n get inputTemplate(): TemplateRef<any> {\n return this._inputTemplate;\n }\n\n /**\n * The placement of the add-on.\n * Options include *before* and *after*\n */\n @Input()\n placement: InputGroupPlacement = 'after';\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether the input group is inline. */\n @Input()\n inline = false;\n\n /** Placeholder for the input group. */\n @Input()\n placeholder: string;\n\n /** The text for the add-on. */\n @Input()\n addOnText: string;\n\n /** Whether AddOn Button should be focusable */\n @Input()\n buttonFocusable = true;\n\n /** The type of the input, used in Input Group. By default, value is set to 'text' */\n @Input()\n type = 'text';\n\n /** The icon value for the add-on. */\n @Input()\n glyph: Nullable<string>;\n\n /** Whether the icon add-on or the text add-on is a button. */\n @Input()\n button: boolean;\n\n /** Whether the input group is disabled. */\n @Input()\n disabled: boolean;\n\n /** Whether the input group is readonly. */\n @Input()\n readonly: boolean;\n\n /**\n * The state of the form control - applies css classes.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n state: Nullable<FormStates>;\n\n /**\n * Whether the input group is a popover control\n */\n @Input()\n isControl = false;\n\n /**\n * Whether should show focus outline\n */\n @Input()\n showFocus = true;\n\n /** @hidden */\n @Input()\n isExpanded = false;\n\n /** Label applied to button with glyph element. */\n @Input()\n glyphAriaLabel: Nullable<string>;\n\n /**\n * Whether the input group addon button should be aria-hidden\n * Useful in cases when the title is already applied on the\n * input group parent component\n **/\n @Input()\n addonButtonAriaHidden: Nullable<boolean>;\n\n /** The tooltip for the input group icon. */\n @Input()\n iconTitle: Nullable<string>;\n\n /** @deprecated renamed to \"ariaLabelledBy\" */\n @Input()\n set ariaLabelledby(value: Nullable<string>) {\n if (isDevMode()) {\n console.warn('\"ariaLabelledby\" is deprecated. Use \"ariaLabelledBy\" instead');\n }\n this.ariaLabelledBy = value;\n }\n\n /** the associated ids for the input aria-labelledby field */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Event emitted when the add-on button is clicked. */\n @Output()\n addOnButtonClicked = new EventEmitter<Event>();\n\n /**\n * Event emitted when the native clear button is clicked, or when native search is executed.\n * Works only for native search for input[type=\"search\"]\n */\n @Output()\n search = new EventEmitter<Event>();\n\n /** @hidden */\n @ContentChild(InputGroupInputDirective)\n inputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective)\n localInputElement: InputGroupInputDirective;\n\n /** @hidden */\n @ContentChild(InputGroupAddOnDirective)\n addOnElement: InputGroupAddOnDirective;\n\n /** @hidden */\n @ViewChild(InputGroupAddonButtonDirective, { static: false, read: ElementRef })\n private readonly _localButtonElement: ElementRef;\n\n /** @hidden */\n _inputTextValue: string;\n\n /** @hidden */\n _inputId = `fd-input-group-input-id-${addOnInputRandomId++}`;\n\n /** @hidden */\n _addOnNonButtonId = `fd-input-group-non-button-id-${addOnNonButtonRandomId++}`;\n\n /** @hidden */\n _addOnButtonId = `fd-input-group-button-id-${addOnButtonRandomId++}`;\n\n /** @hidden */\n _inputFocused$: Observable<boolean>;\n\n /**\n * Whether the input group is in the shellbar. Only for internal use by combobox component.\n * @hidden\n */\n inShellbar = false;\n\n /** @hidden */\n private _inputTemplate: TemplateRef<any>;\n\n /** An RxJS Subject that will kill the stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n onChange: any = () => {};\n\n /** @hidden */\n onTouched: any = () => {};\n\n /** Value of the text input. */\n set inputText(value) {\n this._inputTextValue = value;\n\n this.onChange(value);\n }\n get inputText(): string {\n return this._inputTextValue;\n }\n\n /** @hidden\n * Calculate the correct ids for input aria-labelledby\n */\n get _inputAriaLabelledBy(): string {\n let ariaLabelledByIds = this.ariaLabelledBy ? this.ariaLabelledBy + ' ' : '';\n\n if (!this.button) {\n ariaLabelledByIds += this._addOnNonButtonId;\n }\n\n return ariaLabelledByIds;\n }\n\n /** @hidden */\n constructor(\n private readonly _elementRef: ElementRef,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n this._contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._listenInputFocus();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n writeValue(value: any): void {\n this._inputTextValue = value;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n registerOnChange(fn): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n setInShellbar(value: boolean): void {\n this.inShellbar = value;\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _buttonClicked(event: Event): void {\n this.addOnButtonClicked.emit(event);\n }\n\n /** @hidden */\n _onSearchEvent(event: Event): void {\n this.search.emit(event);\n }\n\n /** @hidden */\n _preventFocus(event: MouseEvent): void {\n if (!this.buttonFocusable) {\n event.preventDefault();\n }\n }\n\n /** @hidden */\n private _listenInputFocus(): void {\n const inputElement =\n this.inputElement?.elementRef?.nativeElement || this.localInputElement?.elementRef?.nativeElement;\n\n if (!inputElement) {\n return;\n }\n\n const focusEvents = [\n fromEvent(inputElement, 'focusin').pipe(map(() => true)),\n fromEvent(inputElement, 'focusout').pipe(map(() => false))\n ];\n\n if (this._localButtonElement) {\n focusEvents.push(\n fromEvent(this._localButtonElement.nativeElement, 'mousedown').pipe(map(() => !this.buttonFocusable))\n );\n }\n\n this._inputFocused$ = merge(...focusEvents).pipe(\n // debounceTime is needed in order to filter subsequent focus-blur events, that happen simultaneously\n debounceTime(10),\n filter(() => this.showFocus),\n takeUntil(this._onDestroy$)\n );\n\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden */\n private _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n}\n","<div\n class=\"fd-input-group\"\n [class.fd-input-group--inline]=\"inline\"\n [class.is-disabled]=\"disabled\"\n [class.is-readonly]=\"readonly\"\n [class.fd-shellbar__input-group]=\"inShellbar\"\n [class.fd-input-group--control]=\"isControl\"\n [class.is-focus]=\"_inputFocused$ | async\"\n [class]=\"state ? 'is-' + state : ' '\"\n>\n <ng-container *ngIf=\"placement === 'after' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n\n <ng-content></ng-content>\n\n <ng-container *ngIf=\"!addOnElement && (glyph || addOnText)\">\n <span\n *ngIf=\"button\"\n fd-input-group-addon\n [button]=\"true\"\n [placement]=\"placement\"\n [class.fd-shellbar__input-group-addon]=\"inShellbar\"\n >\n <button\n fd-button\n fdInputGroupAddonButton\n type=\"button\"\n [attr.aria-hidden]=\"addonButtonAriaHidden\"\n [fdType]=\"inShellbar ? 'standard' : 'transparent'\"\n [id]=\"_addOnButtonId\"\n [attr.tabindex]=\"buttonFocusable ? 0 : -1\"\n [attr.title]=\"iconTitle || glyphAriaLabel || glyph\"\n [glyph]=\"glyph\"\n [class.fd-shellbar__button]=\"inShellbar\"\n [class.is-expanded]=\"isExpanded\"\n [attr.aria-haspopup]=\"isControl\"\n [attr.aria-expanded]=\"inShellbar ? isExpanded : null\"\n [ariaLabel]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.aria-controls]=\"_inputId\"\n [disabled]=\"disabled\"\n (mousedown)=\"_preventFocus($event)\"\n (keydown.enter)=\"$event.preventDefault()\"\n (keyup.enter)=\"_buttonClicked($event)\"\n (click)=\"_buttonClicked($event)\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n </button>\n </span>\n\n <span\n *ngIf=\"!button\"\n fd-input-group-addon\n [id]=\"_addOnNonButtonId\"\n [placement]=\"placement\"\n [attr.aria-label]=\"glyphAriaLabel || glyph || addOnText\"\n [attr.title]=\"iconTitle || glyph || addOnText\"\n >\n <ng-container *ngIf=\"!glyph\">{{ addOnText }}</ng-container>\n\n <span *ngIf=\"glyph\" [className]=\"'sap-icon--' + glyph\"></span>\n </span>\n </ng-container>\n\n <ng-container *ngIf=\"placement === 'before' && !inputElement\">\n <ng-container *ngTemplateOutlet=\"input\"></ng-container>\n </ng-container>\n</div>\n\n<ng-template #input>\n <ng-container *ngIf=\"inputTemplate\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n\n <input\n *ngIf=\"!inputTemplate\"\n [(ngModel)]=\"inputText\"\n [id]=\"_inputId\"\n [attr.aria-labelledby]=\"_inputAriaLabelledBy\"\n [class.fd-shellbar__input-group-input]=\"inShellbar\"\n fd-input-group-input\n [type]=\"type\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-required]=\"required\"\n (search)=\"_onSearchEvent($event)\"\n />\n</ng-template>\n","import { Directive, forwardRef } from '@angular/core';\nimport { CONTENT_DENSITY_DIRECTIVE, DeprecatedCompactDirective } from '@fundamental-ngx/core/content-density';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'fd-input-group[compact], [fd-input-group-addon][compact], [fd-input-group-input][compact]',\n providers: [\n {\n provide: CONTENT_DENSITY_DIRECTIVE,\n useExisting: forwardRef(() => DeprecatedInputGroupCompactDirective)\n }\n ]\n})\nexport class DeprecatedInputGroupCompactDirective extends DeprecatedCompactDirective {\n /** @hidden */\n constructor() {\n super('fd-input-group[compact], [fd-input-group-addon][compact], [fd-input-group-input]');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { InputGroupComponent } from './input-group.component';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport {\n InputGroupAddonButtonDirective,\n InputGroupAddOnDirective,\n InputGroupInputDirective,\n InputGroupTextareaDirective\n} from './input-group-directives';\nimport { DeprecatedInputGroupCompactDirective } from './deprecated-input-group-compact.directive';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n declarations: [\n InputGroupComponent,\n InputGroupInputDirective,\n InputGroupTextareaDirective,\n InputGroupAddOnDirective,\n DeprecatedInputGroupCompactDirective,\n InputGroupAddonButtonDirective\n ],\n imports: [CommonModule, ButtonModule, IconModule, FormsModule, ContentDensityModule],\n exports: [\n InputGroupComponent,\n InputGroupInputDirective,\n InputGroupTextareaDirective,\n InputGroupAddOnDirective,\n DeprecatedInputGroupCompactDirective,\n ContentDensityModule,\n InputGroupAddonButtonDirective\n ]\n})\nexport class InputGroupModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i5.InputGroupInputDirective","i5.InputGroupAddOnDirective","i5.InputGroupAddonButtonDirective"],"mappings":"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"}
|