@fundamental-ngx/core 0.33.4-rc.6 → 0.33.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/action-bar/package.json +3 -3
- package/action-sheet/package.json +3 -3
- package/alert/package.json +3 -3
- package/avatar/avatar.component.d.ts +2 -0
- package/avatar/esm2020/avatar.component.mjs +8 -5
- package/avatar/fesm2015/fundamental-ngx-core-avatar.mjs +7 -4
- package/avatar/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/avatar/fesm2020/fundamental-ngx-core-avatar.mjs +7 -4
- package/avatar/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/avatar/package.json +3 -3
- package/avatar-group/package.json +3 -3
- package/bar/package.json +3 -3
- package/breadcrumb/package.json +3 -3
- package/busy-indicator/package.json +3 -3
- package/button/package.json +3 -3
- package/calendar/package.json +3 -3
- package/card/package.json +3 -3
- package/carousel/package.json +3 -3
- package/checkbox/checkbox/checkbox.component.d.ts +30 -35
- package/checkbox/esm2020/checkbox/checkbox.component.mjs +61 -80
- package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
- package/checkbox/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
- package/checkbox/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/checkbox/package.json +3 -3
- package/combobox/package.json +3 -3
- package/date-picker/package.json +3 -3
- package/datetime/package.json +3 -3
- package/datetime-picker/package.json +3 -3
- package/dialog/package.json +3 -3
- package/dynamic-page/package.json +3 -3
- package/dynamic-side-content/package.json +3 -3
- package/esm2020/avatar/avatar.component.mjs +8 -5
- package/esm2020/checkbox/checkbox/checkbox.component.mjs +61 -80
- package/esm2020/input-group/input-group.component.mjs +2 -2
- package/esm2020/list/list-item/list-item.component.mjs +6 -2
- package/esm2020/multi-input/multi-input.component.mjs +38 -11
- package/esm2020/utils/helpers/range-selector.mjs +113 -0
- package/esm2020/utils/public_api.mjs +2 -1
- package/facets/package.json +3 -3
- package/feed-input/package.json +3 -3
- package/feed-list-item/package.json +3 -3
- package/fesm2015/fundamental-ngx-core-avatar.mjs +7 -4
- package/fesm2015/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-checkbox.mjs +59 -77
- package/fesm2015/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
- package/fesm2015/fundamental-ngx-core-list.mjs +5 -1
- package/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
- package/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
- package/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-avatar.mjs +7 -4
- package/fesm2020/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-checkbox.mjs +59 -77
- package/fesm2020/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
- package/fesm2020/fundamental-ngx-core-list.mjs +5 -1
- package/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
- package/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
- package/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/file-uploader/package.json +3 -3
- package/fixed-card-layout/package.json +3 -3
- package/flexible-column-layout/package.json +3 -3
- package/form/package.json +3 -3
- package/formatted-text/package.json +3 -3
- package/grid-list/package.json +3 -3
- package/icon/package.json +3 -3
- package/illustrated-message/package.json +3 -3
- package/infinite-scroll/package.json +3 -3
- package/info-label/package.json +3 -3
- package/inline-help/package.json +3 -3
- package/input-group/esm2020/input-group.component.mjs +2 -2
- package/input-group/fesm2015/fundamental-ngx-core-input-group.mjs +2 -2
- package/input-group/fesm2020/fundamental-ngx-core-input-group.mjs +2 -2
- package/input-group/package.json +3 -3
- package/layout-grid/package.json +3 -3
- package/layout-panel/package.json +3 -3
- package/link/package.json +3 -3
- package/list/esm2020/list-item/list-item.component.mjs +6 -2
- package/list/fesm2015/fundamental-ngx-core-list.mjs +5 -1
- package/list/fesm2015/fundamental-ngx-core-list.mjs.map +1 -1
- package/list/fesm2020/fundamental-ngx-core-list.mjs +5 -1
- package/list/fesm2020/fundamental-ngx-core-list.mjs.map +1 -1
- package/list/package.json +3 -3
- package/menu/package.json +3 -3
- package/message-box/package.json +3 -3
- package/message-page/package.json +2 -2
- package/message-strip/package.json +3 -3
- package/message-toast/package.json +3 -3
- package/micro-process-flow/package.json +3 -3
- package/mobile-mode/package.json +3 -3
- package/multi-input/esm2020/multi-input.component.mjs +38 -11
- package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs +40 -11
- package/multi-input/fesm2015/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs +38 -11
- package/multi-input/fesm2020/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/multi-input/multi-input.component.d.ts +8 -1
- package/multi-input/package.json +3 -3
- package/nested-list/package.json +3 -3
- package/notification/package.json +3 -3
- package/object-identifier/package.json +3 -3
- package/object-marker/package.json +3 -3
- package/object-number/package.json +3 -3
- package/object-status/package.json +3 -3
- package/package.json +7 -7
- package/pagination/package.json +3 -3
- package/panel/package.json +3 -3
- package/popover/package.json +3 -3
- package/product-switch/package.json +3 -3
- package/progress-indicator/package.json +1 -1
- package/quick-view/package.json +3 -3
- package/radio/package.json +3 -3
- package/rating-indicator/package.json +3 -3
- package/resizable-card-layout/package.json +3 -3
- package/scroll-spy/package.json +3 -3
- package/scrollbar/package.json +3 -3
- package/segmented-button/package.json +3 -3
- package/select/package.json +3 -3
- package/shared/package.json +3 -3
- package/shellbar/package.json +3 -3
- package/side-navigation/package.json +3 -3
- package/slider/package.json +3 -3
- package/split-button/package.json +3 -3
- package/splitter/package.json +3 -3
- package/status-indicator/package.json +3 -3
- package/step-input/package.json +3 -3
- package/switch/package.json +3 -3
- package/table/package.json +3 -3
- package/tabs/package.json +3 -3
- package/tests/package.json +2 -2
- package/text/package.json +3 -3
- package/tile/package.json +3 -3
- package/time/package.json +3 -3
- package/time-picker/package.json +3 -3
- package/timeline/package.json +3 -3
- package/title/package.json +3 -3
- package/token/package.json +3 -3
- package/toolbar/package.json +3 -3
- package/tree/package.json +3 -3
- package/upload-collection/package.json +3 -3
- package/utils/esm2020/helpers/range-selector.mjs +113 -0
- package/utils/esm2020/public_api.mjs +2 -1
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs +114 -1
- package/utils/fesm2015/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs +114 -1
- package/utils/fesm2020/fundamental-ngx-core-utils.mjs.map +1 -1
- package/utils/helpers/range-selector.d.ts +84 -0
- package/utils/package.json +6 -6
- package/utils/public_api.d.ts +1 -0
- package/vertical-navigation/package.json +3 -3
- package/wizard/package.json +3 -3
|
@@ -80,7 +80,11 @@ export class ListItemComponent extends ListFocusItem {
|
|
|
80
80
|
onClick(event) {
|
|
81
81
|
this.clicked.emit(event);
|
|
82
82
|
if (this.checkbox && !this.link) {
|
|
83
|
-
this.checkbox.
|
|
83
|
+
if (!this.checkbox.elementRef.nativeElement.contains(event.target)) {
|
|
84
|
+
// clicking on the checkbox is not suppressed
|
|
85
|
+
// so we should only process clicks if clicked on the list-item, not checkbox itself
|
|
86
|
+
this.checkbox.nextValue();
|
|
87
|
+
}
|
|
84
88
|
}
|
|
85
89
|
if (this.radio && !this.link) {
|
|
86
90
|
this.radio.labelClicked(event);
|
|
@@ -201,4 +205,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.2", ngImpor
|
|
|
201
205
|
type: HostListener,
|
|
202
206
|
args: ['click', ['$event']]
|
|
203
207
|
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2xpc3QvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDckYsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxF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QVc7dUJBQUMsMkJBQTJCO2dCQUt4QyxRQUFRO3NCQURQLFlBQVk7dUJBQUMsaUJBQWlCO2dCQUsvQixLQUFLO3NCQURKLFlBQVk7dUJBQUMsb0JBQW9CO2dCQUtsQyxjQUFjO3NCQURiLGVBQWU7dUJBQUMsaUJBQWlCO2dCQUtsQyxPQUFPO3NCQUROLGVBQWU7dUJBQUMsZUFBZSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkE4QnZELGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBaUJuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jaGVja2JveCc7XG5pbXBvcnQgeyBSYWRpb0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9yYWRpbyc7XG5pbXBvcnQgeyBMaXN0TGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbGlzdC1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEtleVV0aWwgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgTElTVF9JVEVNX0NPTVBPTkVOVCwgTGlzdEl0ZW1JbnRlcmZhY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgRU5URVIsIFNQQUNFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IExpc3RGb2N1c0l0ZW0gfSBmcm9tICcuLi9saXN0LWZvY3VzLWl0ZW0ubW9kZWwnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2J1dHRvbic7XG5cbi8qKlxuICogVGhlIGNvbXBvbmVudCB0aGF0IHJlcHJlc2VudHMgYSBsaXN0IGl0ZW0uXG4gKiBUaGUgbGlzdCBpdGVtIGNhbiBjb250YWluIHBsYWluIHRleHQsIGxpbmtzIG9yIGFjdGlvbnMuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmRMaXN0SXRlbV0gLFtmZC1saXN0LWl0ZW1dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZmQtbGlzdF9faXRlbScsXG4gICAgICAgIHJvbGU6ICdsaXN0aXRlbSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBMSVNUX0lURU1fQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdEl0ZW1Db21wb25lbnQpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IExpc3RGb2N1c0l0ZW0sXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaXN0SXRlbUNvbXBvbmVudClcbiAgICAgICAgfVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBleHRlbmRzIExpc3RGb2N1c0l0ZW0gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIExpc3RJdGVtSW50ZXJmYWNlIHtcbiAgICAvKiogV2hldGhlciBsaXN0IGl0ZW0gaXMgc2VsZWN0ZWQgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGVkJylcbiAgICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqIHRhYiBpbmRleCBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgZ2V0IHRhYmluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl90YWJJbmRleDtcbiAgICB9XG4gICAgc2V0IHRhYmluZGV4KHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fdGFiSW5kZXggPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgLTEpO1xuICAgIH1cblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIG5vIGRhdGEgaW5zaWRlIGxpc3QgaXRlbSAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19pdGVtLS1uby1kYXRhJylcbiAgICBub0RhdGEgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGl0ZW0gcGVyZm9ybXMgc29tZSBhY3Rpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9faXRlbS0tYWN0aW9uJylcbiAgICBhY3Rpb24gPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoZXJlIGlzIGl0ZW0gcGVyZm9ybXMgc29tZSBhY3Rpb24gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9faXRlbS0taW50ZXJyYWN0aXZlJylcbiAgICBpbnRlcmFjdGl2ZSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBpdGVtIGNvbnRhaW5zIGJ1c3kgaW5kaWNhdG9yICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX2l0ZW0tLWdyb3dpbmcnKVxuICAgIGdyb3dpbmcgPSBmYWxzZTtcblxuICAgIC8qKiBDb3VudGVyIG9uIGxpc3QgaXRlbSAqL1xuICAgIEBJbnB1dCgpXG4gICAgY291bnRlcjogbnVtYmVyO1xuXG4gICAgLyoqIFdoZXRoZXIgbGlzdCBpdGVtIHNob3VsZCBjb250YWluIGFkZGl0aW9uYWwgdW5SZWFkIHN0eWxlcyAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19pdGVtLS11bnJlYWQnKVxuICAgIHVucmVhZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gSW1wbGVtZW50YXRpb24gb2YgS2V5Ym9hcmRTdXBwb3J0SXRlbUludGVyZmFjZSB8IFRPRE8gUmV2aXNpdCBLZXlib2FyZFN1cHBvcnRJdGVtSW50ZXJmYWNlKi9cbiAgICBAT3V0cHV0KClcbiAgICBrZXlEb3duOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGl0ZW0gY29udGFpbnMgbGluayAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9faXRlbS0tbGluaycpXG4gICAgbGluayA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKENoZWNrYm94Q29tcG9uZW50KVxuICAgIGNoZWNrYm94OiBDaGVja2JveENvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChSYWRpb0J1dHRvbkNvbXBvbmVudClcbiAgICByYWRpbzogUmFkaW9CdXR0b25Db21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTGlzdExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0RpcmVjdGl2ZXM6IFF1ZXJ5TGlzdDxMaXN0TGlua0RpcmVjdGl2ZT47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oQnV0dG9uQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgYnV0dG9uczogUXVlcnlMaXN0PEJ1dHRvbkNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiBJbXBsZW1lbnRhdGlvbiBvZiBLZXlib2FyZFN1cHBvcnRJdGVtSW50ZXJmYWNlIHwgVE9ETyBSZXZpc2l0IEtleWJvYXJkU3VwcG9ydEl0ZW1JbnRlcmZhY2UqL1xuICAgIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfdGFiSW5kZXggPSAwO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25MaW5rUXVlcnlDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5fbGlzdGVuT25CdXR0b25RdWVyeUNoYW5nZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLl9vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBrZXlkb3duSGFuZGxlcihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoZXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY2hlY2tib3gpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoZWNrYm94Lm5leHRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX211dGVFdmVudChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5yYWRpbykge1xuICAgICAgICAgICAgICAgIHRoaXMucmFkaW8ubGFiZWxDbGlja2VkKGV2ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLl9tdXRlRXZlbnQoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMua2V5RG93bi5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgbW91c2UgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgICAgICBpZiAodGhpcy5jaGVja2JveCAmJiAhdGhpcy5saW5rKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrYm94Lm5leHRWYWx1ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnJhZGlvICYmICF0aGlzLmxpbmspIHtcbiAgICAgICAgICAgIHRoaXMucmFkaW8ubGFiZWxDbGlja2VkKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbGlzdGVuT25MaW5rUXVlcnlDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGlua0RpcmVjdGl2ZXMuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgc3RhcnRXaXRoKDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5saW5rID0gdGhpcy5saW5rRGlyZWN0aXZlcy5sZW5ndGggPiAwO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uQnV0dG9uUXVlcnlDaGFuZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnV0dG9ucy5jaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLCBzdGFydFdpdGgoMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnMuZm9yRWFjaCh0aGlzLl9hZGRDbGFzc1RvQnV0dG9ucyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfYWRkQ2xhc3NUb0J1dHRvbnMoYnV0dG9uOiBCdXR0b25Db21wb25lbnQpOiB2b2lkIHtcbiAgICAgICAgYnV0dG9uLmNsYXNzICs9ICdmZC1saXN0X19idXR0b24nO1xuICAgICAgICBidXR0b24uYnVpbGRDb21wb25lbnRDc3NDbGFzcygpO1xuICAgICAgICBidXR0b24uZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfbXV0ZUV2ZW50KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY2hlY2tib3ggfHwgcmFkaW9cIj5cbiAgICA8ZGl2IGZkLWZvcm0taXRlbSBjbGFzcz1cImZkLWxpc3RfX2Zvcm0taXRlbVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZC1jaGVja2JveFwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtcmFkaW8tYnV0dG9uXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cblxuPHNwYW4gKm5nSWY9XCJjb3VudGVyIHx8IGNvdW50ZXIgPT09IDBcIiBjbGFzcz1cImZkLWxpc3RfX2l0ZW0tY291bnRlclwiPlxuICAgIHt7IGNvdW50ZXIudG9TdHJpbmcoKSB8IHNsaWNlOiAwOjUgfX1cbjwvc3Bhbj5cbiJdfQ==
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2xpc3QvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi9saXN0L2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFDckYsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxF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dUJBQUMsOEJBQThCO2dCQUszQyxPQUFPO3NCQUROLEtBQUs7Z0JBTU4sTUFBTTtzQkFGTCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLDZCQUE2QjtnQkFLMUMsT0FBTztzQkFETixNQUFNO2dCQUtQLElBQUk7c0JBREgsV0FBVzt1QkFBQywyQkFBMkI7Z0JBS3hDLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxpQkFBaUI7Z0JBSy9CLEtBQUs7c0JBREosWUFBWTt1QkFBQyxvQkFBb0I7Z0JBS2xDLGNBQWM7c0JBRGIsZUFBZTt1QkFBQyxpQkFBaUI7Z0JBS2xDLE9BQU87c0JBRE4sZUFBZTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQThCdkQsY0FBYztzQkFEYixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFpQm5DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBRdWVyeUxpc3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5cbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NoZWNrYm94JztcbmltcG9ydCB7IFJhZGlvQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3JhZGlvJztcbmltcG9ydCB7IExpc3RMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9saXN0LWxpbmsuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN0YXJ0V2l0aCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgS2V5VXRpbCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBMSVNUX0lURU1fQ09NUE9ORU5ULCBMaXN0SXRlbUludGVyZmFjZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS91dGlscyc7XG5pbXBvcnQgeyBFTlRFUiwgU1BBQ0UgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgTGlzdEZvY3VzSXRlbSB9IGZyb20gJy4uL2xpc3QtZm9jdXMtaXRlbS5tb2RlbCc7XG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvYnV0dG9uJztcblxuLyoqXG4gKiBUaGUgY29tcG9uZW50IHRoYXQgcmVwcmVzZW50cyBhIGxpc3QgaXRlbS5cbiAqIFRoZSBsaXN0IGl0ZW0gY2FuIGNvbnRhaW4gcGxhaW4gdGV4dCwgbGlua3Mgb3IgYWN0aW9ucy5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tmZExpc3RJdGVtXSAsW2ZkLWxpc3QtaXRlbV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdmZC1saXN0X19pdGVtJyxcbiAgICAgICAgcm9sZTogJ2xpc3RpdGVtJ1xuICAgIH0sXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IExJU1RfSVRFTV9DT01QT05FTlQsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBMaXN0SXRlbUNvbXBvbmVudClcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTGlzdEZvY3VzSXRlbSxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3RJdGVtQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgTGlzdEZvY3VzSXRlbSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgTGlzdEl0ZW1JbnRlcmZhY2Uge1xuICAgIC8qKiBXaGV0aGVyIGxpc3QgaXRlbSBpcyBzZWxlY3RlZCAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogdGFiIGluZGV4IGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBnZXQgdGFiaW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RhYkluZGV4O1xuICAgIH1cbiAgICBzZXQgdGFiaW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl90YWJJbmRleCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCAtMSk7XG4gICAgfVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlcmUgaXMgbm8gZGF0YSBpbnNpZGUgbGlzdCBpdGVtICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX2l0ZW0tLW5vLWRhdGEnKVxuICAgIG5vRGF0YSA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlcmUgaXMgaXRlbSBwZXJmb3JtcyBzb21lIGFjdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19pdGVtLS1hY3Rpb24nKVxuICAgIGFjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlcmUgaXMgaXRlbSBwZXJmb3JtcyBzb21lIGFjdGlvbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19pdGVtLS1pbnRlcnJhY3RpdmUnKVxuICAgIGludGVyYWN0aXZlID0gZmFsc2U7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGl0ZW0gY29udGFpbnMgYnVzeSBpbmRpY2F0b3IgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbGlzdF9faXRlbS0tZ3Jvd2luZycpXG4gICAgZ3Jvd2luZyA9IGZhbHNlO1xuXG4gICAgLyoqIENvdW50ZXIgb24gbGlzdCBpdGVtICovXG4gICAgQElucHV0KClcbiAgICBjb3VudGVyOiBudW1iZXI7XG5cbiAgICAvKiogV2hldGhlciBsaXN0IGl0ZW0gc2hvdWxkIGNvbnRhaW4gYWRkaXRpb25hbCB1blJlYWQgc3R5bGVzICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLWxpc3RfX2l0ZW0tLXVucmVhZCcpXG4gICAgdW5yZWFkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiBJbXBsZW1lbnRhdGlvbiBvZiBLZXlib2FyZFN1cHBvcnRJdGVtSW50ZXJmYWNlIHwgVE9ETyBSZXZpc2l0IEtleWJvYXJkU3VwcG9ydEl0ZW1JbnRlcmZhY2UqL1xuICAgIEBPdXRwdXQoKVxuICAgIGtleURvd246IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBXaGV0aGVyIGxpc3QgaXRlbSBjb250YWlucyBsaW5rICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1saXN0X19pdGVtLS1saW5rJylcbiAgICBsaW5rID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoQ2hlY2tib3hDb21wb25lbnQpXG4gICAgY2hlY2tib3g6IENoZWNrYm94Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKFJhZGlvQnV0dG9uQ29tcG9uZW50KVxuICAgIHJhZGlvOiBSYWRpb0J1dHRvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihMaXN0TGlua0RpcmVjdGl2ZSlcbiAgICBsaW5rRGlyZWN0aXZlczogUXVlcnlMaXN0PExpc3RMaW5rRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihCdXR0b25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBidXR0b25zOiBRdWVyeUxpc3Q8QnV0dG9uQ29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuIEltcGxlbWVudGF0aW9uIG9mIEtleWJvYXJkU3VwcG9ydEl0ZW1JbnRlcmZhY2UgfCBUT0RPIFJldmlzaXQgS2V5Ym9hcmRTdXBwb3J0SXRlbUludGVyZmFjZSovXG4gICAgY2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF90YWJJbmRleCA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9saXN0ZW5PbkxpbmtRdWVyeUNoYW5nZSgpO1xuICAgICAgICB0aGlzLl9saXN0ZW5PbkJ1dHRvblF1ZXJ5Q2hhbmdlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX29uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGtleWRvd25IYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmIChLZXlVdGlsLmlzS2V5Q29kZShldmVudCwgW0VOVEVSLCBTUEFDRV0pKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jaGVja2JveCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tib3gubmV4dFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fbXV0ZUV2ZW50KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLnJhZGlvKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yYWRpby5sYWJlbENsaWNrZWQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMuX211dGVFdmVudChldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5rZXlEb3duLmVtaXQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsaWNrZWQuZW1pdChldmVudCk7XG4gICAgICAgIGlmICh0aGlzLmNoZWNrYm94ICYmICF0aGlzLmxpbmspIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5jaGVja2JveC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgICAgICAgICAgLy8gY2xpY2tpbmcgb24gdGhlIGNoZWNrYm94IGlzIG5vdCBzdXBwcmVzc2VkXG4gICAgICAgICAgICAgICAgLy8gc28gd2Ugc2hvdWxkIG9ubHkgcHJvY2VzcyBjbGlja3MgaWYgY2xpY2tlZCBvbiB0aGUgbGlzdC1pdGVtLCBub3QgY2hlY2tib3ggaXRzZWxmXG4gICAgICAgICAgICAgICAgdGhpcy5jaGVja2JveC5uZXh0VmFsdWUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5yYWRpbyAmJiAhdGhpcy5saW5rKSB7XG4gICAgICAgICAgICB0aGlzLnJhZGlvLmxhYmVsQ2xpY2tlZChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uTGlua1F1ZXJ5Q2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxpbmtEaXJlY3RpdmVzLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksIHN0YXJ0V2l0aCgwKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGluayA9IHRoaXMubGlua0RpcmVjdGl2ZXMubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PbkJ1dHRvblF1ZXJ5Q2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1dHRvbnMuY2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSwgc3RhcnRXaXRoKDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25zLmZvckVhY2godGhpcy5fYWRkQ2xhc3NUb0J1dHRvbnMpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2FkZENsYXNzVG9CdXR0b25zKGJ1dHRvbjogQnV0dG9uQ29tcG9uZW50KTogdm9pZCB7XG4gICAgICAgIGJ1dHRvbi5jbGFzcyArPSAnZmQtbGlzdF9fYnV0dG9uJztcbiAgICAgICAgYnV0dG9uLmJ1aWxkQ29tcG9uZW50Q3NzQ2xhc3MoKTtcbiAgICAgICAgYnV0dG9uLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX211dGVFdmVudChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNoZWNrYm94IHx8IHJhZGlvXCI+XG4gICAgPGRpdiBmZC1mb3JtLWl0ZW0gY2xhc3M9XCJmZC1saXN0X19mb3JtLWl0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZmQtY2hlY2tib3hcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXJhZGlvLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG5cbjxzcGFuICpuZ0lmPVwiY291bnRlciB8fCBjb3VudGVyID09PSAwXCIgY2xhc3M9XCJmZC1saXN0X19pdGVtLWNvdW50ZXJcIj5cbiAgICB7eyBjb3VudGVyLnRvU3RyaW5nKCkgfCBzbGljZTogMDo1IH19XG48L3NwYW4+XG4iXX0=
|
|
@@ -141,7 +141,11 @@ class ListItemComponent extends ListFocusItem {
|
|
|
141
141
|
onClick(event) {
|
|
142
142
|
this.clicked.emit(event);
|
|
143
143
|
if (this.checkbox && !this.link) {
|
|
144
|
-
this.checkbox.
|
|
144
|
+
if (!this.checkbox.elementRef.nativeElement.contains(event.target)) {
|
|
145
|
+
// clicking on the checkbox is not suppressed
|
|
146
|
+
// so we should only process clicks if clicked on the list-item, not checkbox itself
|
|
147
|
+
this.checkbox.nextValue();
|
|
148
|
+
}
|
|
145
149
|
}
|
|
146
150
|
if (this.radio && !this.link) {
|
|
147
151
|
this.radio.labelClicked(event);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-list.mjs","sources":["../../../../../libs/core/src/lib/list/directives/list-link.directive.ts","../../../../../libs/core/src/lib/list/list-focus-item.model.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.html","../../../../../libs/core/src/lib/list/directives/list-navigation-item-arrow.directive.ts","../../../../../libs/core/src/lib/list/directives/list-navigation-item-text.directive.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.html","../../../../../libs/core/src/lib/list/list.component.ts","../../../../../libs/core/src/lib/list/list.component.html","../../../../../libs/core/src/lib/list/list-message.directive.ts","../../../../../libs/core/src/lib/list/directives/list-footer.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title.directive.ts","../../../../../libs/core/src/lib/list/directives/list-group-header.directive.ts","../../../../../libs/core/src/lib/list/directives/list-secondary.directive.ts","../../../../../libs/core/src/lib/list/directives/list-icon.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-left.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-right.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-content.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-thumbnail.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title-text.directive.ts","../../../../../libs/core/src/lib/list/list.module.ts","../../../../../libs/core/src/lib/list/fundamental-ngx-core-list.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-link], [fdListLink]'\n})\nexport class ListLinkDirective {\n /** Defines if navigation indicator arrow should be included inside list item */\n @Input()\n @HostBinding('class.fd-list__link--navigation-indicator')\n navigationIndicator = false;\n\n /** Defines if link should be treated as a navigated */\n @Input()\n @HostBinding('class.is-navigated')\n navigated = false;\n\n /** Defines if item is selected */\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__link')\n fdListLinkClass = true;\n}\n","import { ElementRef, EventEmitter } from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/core/utils';\n\nexport class ListFocusItem implements KeyboardSupportItemInterface {\n /** @hidden Implementation of KeyboardSupportItemInterface */\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n constructor(readonly elementRef: ElementRef) {}\n\n /** @hidden */\n click(): void {\n this.elementRef?.nativeElement?.click();\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef?.nativeElement?.focus();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { ListLinkDirective } from '../directives/list-link.directive';\nimport { Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { LIST_ITEM_COMPONENT, ListItemInterface } from '@fundamental-ngx/core/utils';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ListFocusItem } from '../list-focus-item.model';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\n/**\n * The component that represents a list item.\n * The list item can contain plain text, links or actions.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdListItem] ,[fd-list-item]',\n templateUrl: './list-item.component.html',\n host: {\n class: 'fd-list__item',\n role: 'listitem'\n },\n providers: [\n {\n provide: LIST_ITEM_COMPONENT,\n useExisting: forwardRef(() => ListItemComponent)\n },\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListItemComponent)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ListItemComponent extends ListFocusItem implements AfterContentInit, OnDestroy, ListItemInterface {\n /** Whether list item is selected */\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n\n /** Whether there is no data inside list item */\n @Input()\n @HostBinding('class.fd-list__item--no-data')\n noData = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--action')\n action = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--interractive')\n interactive = false;\n\n /** Whether list item contains busy indicator */\n @Input()\n @HostBinding('class.fd-list__item--growing')\n growing = false;\n\n /** Counter on list item */\n @Input()\n counter: number;\n\n /** Whether list item should contain additional unRead styles */\n @Input()\n @HostBinding('class.fd-list__item--unread')\n unread = false;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Whether list item contains link */\n @HostBinding('class.fd-list__item--link')\n link = false;\n\n /** @hidden */\n @ContentChild(CheckboxComponent)\n checkbox: CheckboxComponent;\n\n /** @hidden */\n @ContentChild(RadioButtonComponent)\n radio: RadioButtonComponent;\n\n /** @hidden */\n @ContentChildren(ListLinkDirective)\n linkDirectives: QueryList<ListLinkDirective>;\n\n /** @hidden */\n @ContentChildren(ButtonComponent, { descendants: true })\n buttons: QueryList<ButtonComponent>;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n clicked = new EventEmitter<MouseEvent>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _tabIndex = 0;\n\n constructor(public elementRef: ElementRef, private _changeDetectorRef: ChangeDetectorRef) {\n super(elementRef);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenOnLinkQueryChange();\n this._listenOnButtonQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n if (this.checkbox) {\n this.checkbox.nextValue();\n this._muteEvent(event);\n }\n if (this.radio) {\n this.radio.labelClicked(event);\n this._muteEvent(event);\n }\n }\n this.keyDown.emit(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.clicked.emit(event);\n if (this.checkbox && !this.link) {\n this.checkbox.nextValue();\n }\n if (this.radio && !this.link) {\n this.radio.labelClicked(event);\n }\n }\n\n /** @hidden */\n private _listenOnLinkQueryChange(): void {\n this.linkDirectives.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.link = this.linkDirectives.length > 0;\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _listenOnButtonQueryChange(): void {\n this.buttons.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.buttons.forEach(this._addClassToButtons);\n });\n }\n\n /** @hidden */\n private _addClassToButtons(button: ButtonComponent): void {\n button.class += 'fd-list__button';\n button.buildComponentCssClass();\n button.detectChanges();\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-container *ngIf=\"checkbox || radio\">\n <div fd-form-item class=\"fd-list__form-item\">\n <ng-content select=\"fd-checkbox\"></ng-content>\n <ng-content select=\"fd-radio-button\"></ng-content>\n </div>\n</ng-container>\n\n<ng-content></ng-content>\n\n<span *ngIf=\"counter || counter === 0\" class=\"fd-list__item-counter\">\n {{ counter.toString() | slice: 0:5 }}\n</span>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-arrow], [fdListNavigaitonItemArrow]'\n})\nexport class ListNavigationItemArrowDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-arrow')\n navigationItemArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n rightArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n downArrowClass = false;\n\n /** @hidden */\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** @hidden */\n _setExpanded(expanded: boolean): void {\n if (this.expanded !== expanded) {\n this.rightArrowClass = !this.rightArrowClass;\n this.downArrowClass = !this.downArrowClass;\n }\n this.expanded = expanded;\n }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-text], [fdListNavigaitonItemText]'\n})\nexport class ListNavigationItemTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-text')\n navigationItemTextClass = true;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n}\n","import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { ListComponent } from '../list.component';\nimport { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list-navigation-item], [fdListNavigaitonItem]',\n templateUrl: './list-navigation-item.component.html',\n styleUrls: ['./list-navigation-item.component.scss']\n})\nexport class ListNavigationItemComponent implements AfterContentInit {\n /** Whether or not the list item is expanded. */\n @Input()\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** Whether or not this list item is indicated for navigation. */\n @Input()\n @HostBinding('class.fd-list__navigation-item--indicated')\n indicated = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item')\n _navigationItemClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--expandable')\n _isExpandable = false;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n _tabIndex;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--condensed')\n _condensed = false;\n\n /** @hidden */\n @ContentChild(forwardRef(() => ListComponent))\n _listComponent: ListComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemArrowDirective)\n _listNavigationItemArrow: ListNavigationItemArrowDirective;\n\n /** @hidden */\n @ContentChild(IconComponent)\n _iconComponent: IconComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemTextDirective)\n _text: ListNavigationItemTextDirective;\n\n /** @hidden */\n _innerText: string;\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._listComponent) {\n this._isExpandable = true;\n } else {\n this._tabIndex = 0;\n }\n if (this._iconComponent) {\n this._iconComponent._navigationItemIcon = true;\n }\n this._innerText = this._text.elementRef.nativeElement.innerText;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onItemClick(event: MouseEvent): void {\n event.stopPropagation();\n this._handleExpandedChanges(!this.expanded);\n }\n\n /** @hidden */\n _childIndicatedAndCollapsed(): boolean {\n let retVal = false;\n this._listComponent?._navItems?.forEach((navItem) => {\n if (navItem.indicated && !navItem.expanded) {\n retVal = true;\n }\n });\n\n return retVal;\n }\n\n /** @hidden */\n private _handleExpandedChanges(expanded: boolean): void {\n if (this._isExpandable) {\n this.expanded = expanded;\n this._listNavigationItemArrow._setExpanded(this.expanded);\n }\n }\n}\n","<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { FocusEscapeDirection, KeyboardSupportService } from '@fundamental-ngx/core/utils';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListFocusItem } from './list-focus-item.model';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\n\ntype FocusItem = ListGroupHeaderDirective | ListItemComponent;\n/**\n * The directive that represents a list.\n * It is used to display a list of items with simple information such as scopes, names, etc.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list], [fdList]',\n templateUrl: `./list.component.html`,\n host: {\n class: 'fd-list',\n role: 'list'\n },\n styleUrls: ['./list.component.scss', '../utils/drag-and-drop/drag-and-drop.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService]\n})\nexport class ListComponent implements OnInit, AfterContentInit, OnDestroy {\n /** Whether dropdown mode is included to component, used for Select and Combobox */\n @Input()\n @HostBinding('class.fd-list--dropdown')\n dropdownMode = false;\n\n /** Whether multi mode is included to component, used for MultiInput */\n @Input()\n @HostBinding('class.fd-list--multi-input')\n multiInputMode = false;\n\n /** Whether list is used in mobile mode*/\n @Input()\n @HostBinding('class.fd-list--mobile')\n mobileMode = false;\n\n /** Whether compact mode is included to component */\n @Input()\n @HostBinding('class.fd-list--compact')\n compact?: boolean;\n\n /** Whether list component contains message */\n @Input()\n @HostBinding('class.fd-list--has-message')\n hasMessage = false;\n\n /** Whether list component has removed borders */\n @Input()\n @HostBinding('class.fd-list--no-border')\n noBorder = false;\n\n /** Whether list component has navigation indicators */\n @Input()\n @HostBinding('class.fd-list--navigation-indication')\n navigationIndicator = false;\n\n /** Whether list component has checkboxes or radio buttons included */\n @Input()\n @HostBinding('class.fd-list--selection')\n selection = false;\n\n /** Whether internal keyboard support should be enabled. It's enabled by default */\n @Input()\n keyboardSupport = true;\n\n /** Whether list should have a byline */\n @Input()\n @HostBinding('class.fd-list--byline')\n byline = false;\n\n /** Event thrown, when focus escapes the list */\n @Output()\n focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n /** Whether list component includes links */\n @HostBinding('class.fd-list--navigation')\n hasNavigation = false;\n\n /** @hidden */\n @ContentChildren(ListItemComponent)\n items: QueryList<ListItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListNavigationItemComponent)\n _navItems: QueryList<ListNavigationItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListFocusItem)\n private _focusItems: QueryList<FocusItem>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _keyboardSupportService: KeyboardSupportService<FocusItem>,\n private _cdr: ChangeDetectorRef,\n @Optional() private _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdr.detectChanges();\n })\n );\n }\n this._listenOnListFocusEscape();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._keyboardSupportService.setKeyboardService(this._focusItems, false);\n this._listenOnQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this.keyboardSupport) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** Set fake focus on element with passed index */\n setItemActive(index: number): void {\n this._keyboardSupportService.keyManager.setActiveItem(index);\n }\n\n /** @hidden */\n private _listenOnQueryChange(): void {\n this._focusItems.changes.pipe(startWith(0), takeUntil(this._onDestroy$)).subscribe(() => {\n this._recheckLinks();\n this._listenOnItemsClick();\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all of the streams, from before */\n this._onRefresh$.next();\n /** Merge refresh/destroy observables */\n const refreshObs = merge(this._onRefresh$, this._onDestroy$);\n this._focusItems.forEach((item, index) =>\n item.clicked.pipe(takeUntil(refreshObs)).subscribe(() => this.setItemActive(index))\n );\n }\n\n /** @hidden */\n private _recheckLinks(): void {\n const items = this.items.filter((item) => item.link);\n this.hasNavigation = items.length > 0;\n }\n\n /** @hidden */\n private _listenOnListFocusEscape(): void {\n this._keyboardSupportService.focusEscapeList\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((direction) => this.focusEscapeList.emit(direction));\n }\n}\n","<ng-content></ng-content>\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { MessageStates } from '@fundamental-ngx/core/form';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fd-list-message], [fdListMessage]'\n})\nexport class ListMessageDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-list__message', this.type ? 'fd-list__message--' + this.type : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListFooter], [fd-list-footer]'\n})\nexport class ListFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-list__footer')\n fdListFooterClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title], [fdListTitle]'\n})\nexport class ListTitleDirective implements OnInit {\n /** @hidden */\n @HostBinding('class.fd-list__title')\n fdListTitleClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__title--wrap')\n wrap = false;\n\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n const nativeEl = this.elRef.nativeElement;\n if (nativeEl.tagName === 'A') {\n nativeEl.setAttribute('tabIndex', '-1');\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { ListFocusItem } from '../list-focus-item.model';\n\n@Directive({\n selector: '[fdListGroupHeader], [fd-list-group-header]',\n host: {\n '[style.outline]': '\"none\"',\n '[class.fd-list__item]': 'true',\n '[class.fd-list__group-header]': 'true'\n },\n providers: [\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListGroupHeaderDirective)\n }\n ]\n})\nexport class ListGroupHeaderDirective extends ListFocusItem {\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n /** @hidden Implementation of KeyboardSupportItemInterface */\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n clicked = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n private _tabIndex = -1;\n\n constructor(readonly elementRef: ElementRef) {\n super(elementRef);\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n this.keyDown.emit(event);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-secondary] ,[fdListSecondary]'\n})\nexport class ListSecondaryDirective {\n /** @hidden */\n @HostBinding('class.fd-list__secondary')\n fdListSecondaryClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fdListIcon], [fd-list-icon]'\n})\nexport class ListIconDirective implements OnChanges, OnInit {\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n * */\n @Input()\n glyph: string;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** Role attribute for list icon */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-list__icon', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListByline], [fd-list-byline]',\n host: {\n class: 'fd-list__byline',\n '[class.fd-list__byline--2-col]': 'twoCol',\n '[class.fd-list__byline--wrap]': 'wrap'\n }\n})\nexport class ListBylineDirective {\n /** Whether or not this is a 2-column byline. */\n @Input()\n twoCol = false;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListBylineLeft], [fd-list-byline-left]'\n})\nexport class ListBylineLeftDirective {\n /** @hidden */\n @HostBinding('class.fd-list__byline-left')\n fdListBylineLeftClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__byline-left--wrap')\n wrap = false;\n}\n","import { Directive, Input } from '@angular/core';\n\nexport type ListBylineStatus = 'neutral' | 'positive' | 'negative' | 'critical' | 'informative';\n\n@Directive({\n selector: '[fdListBylineRight], [fd-list-byline-right]',\n host: {\n class: 'fd-list__byline-right',\n '[class.fd-list__byline-right--neutral]': 'status === \"neutral\"',\n '[class.fd-list__byline-right--positive]': 'status === \"positive\"',\n '[class.fd-list__byline-right--negative]': 'status === \"negative\"',\n '[class.fd-list__byline-right--critical]': 'status === \"critical\"',\n '[class.fd-list__byline-right--informative]': 'status === \"informative\"',\n '[class.fd-list__byline-right--wrap]': 'wrap'\n }\n})\nexport class ListBylineRightDirective {\n /** Semantic status of byline\n * Possible options are:\n * 'neutral' | 'positive' | 'negative' | 'critical' | 'informative'\n */\n @Input()\n status: ListBylineStatus;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListContent], [fd-list-content]'\n})\nexport class ListContentDirective {\n /** @hidden */\n @HostBinding('class.fd-list__content')\n fdListContentClass = true;\n\n /** Whether or not this is a 2-column content. */\n @Input()\n @HostBinding('class.fd-list__content--2-col')\n twoCol = false;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListThumbnail], [fd-list-thumbnail]'\n})\nexport class ListThumbnailDirective {\n /** @hidden */\n @HostBinding('class.fd-list__thumbnail')\n fdListThumbnailClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title-text], [fdListTitleText]'\n})\nexport class ListTitleTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__title-text')\n fdListTitleText = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListComponent } from './list.component';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListMessageDirective } from './list-message.directive';\nimport { ListLinkDirective } from './directives/list-link.directive';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ListFooterDirective } from './directives/list-footer.directive';\nimport { ListTitleDirective } from './directives/list-title.directive';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListSecondaryDirective } from './directives/list-secondary.directive';\nimport { ListIconDirective } from './directives/list-icon.directive';\nimport { ListBylineDirective } from './directives/byline/list-byline.directive';\nimport { ListBylineLeftDirective } from './directives/byline/list-byline-left.directive';\nimport { ListBylineRightDirective } from './directives/byline/list-byline-right.directive';\nimport { ListContentDirective } from './directives/byline/list-content.directive';\nimport { ListThumbnailDirective } from './directives/byline/list-thumbnail.directive';\nimport { ListTitleTextDirective } from './directives/list-title-text.directive';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\nimport { ListNavigationItemArrowDirective } from './directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from './directives/list-navigation-item-text.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\n\n@NgModule({\n declarations: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ],\n imports: [CommonModule, FormModule, IconModule],\n exports: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ]\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-list.mjs","sources":["../../../../../libs/core/src/lib/list/directives/list-link.directive.ts","../../../../../libs/core/src/lib/list/list-focus-item.model.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.ts","../../../../../libs/core/src/lib/list/list-item/list-item.component.html","../../../../../libs/core/src/lib/list/directives/list-navigation-item-arrow.directive.ts","../../../../../libs/core/src/lib/list/directives/list-navigation-item-text.directive.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.ts","../../../../../libs/core/src/lib/list/list-navigation-item/list-navigation-item.component.html","../../../../../libs/core/src/lib/list/list.component.ts","../../../../../libs/core/src/lib/list/list.component.html","../../../../../libs/core/src/lib/list/list-message.directive.ts","../../../../../libs/core/src/lib/list/directives/list-footer.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title.directive.ts","../../../../../libs/core/src/lib/list/directives/list-group-header.directive.ts","../../../../../libs/core/src/lib/list/directives/list-secondary.directive.ts","../../../../../libs/core/src/lib/list/directives/list-icon.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-left.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-byline-right.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-content.directive.ts","../../../../../libs/core/src/lib/list/directives/byline/list-thumbnail.directive.ts","../../../../../libs/core/src/lib/list/directives/list-title-text.directive.ts","../../../../../libs/core/src/lib/list/list.module.ts","../../../../../libs/core/src/lib/list/fundamental-ngx-core-list.ts"],"sourcesContent":["import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-link], [fdListLink]'\n})\nexport class ListLinkDirective {\n /** Defines if navigation indicator arrow should be included inside list item */\n @Input()\n @HostBinding('class.fd-list__link--navigation-indicator')\n navigationIndicator = false;\n\n /** Defines if link should be treated as a navigated */\n @Input()\n @HostBinding('class.is-navigated')\n navigated = false;\n\n /** Defines if item is selected */\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__link')\n fdListLinkClass = true;\n}\n","import { ElementRef, EventEmitter } from '@angular/core';\nimport { KeyboardSupportItemInterface } from '@fundamental-ngx/core/utils';\n\nexport class ListFocusItem implements KeyboardSupportItemInterface {\n /** @hidden Implementation of KeyboardSupportItemInterface */\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n constructor(readonly elementRef: ElementRef) {}\n\n /** @hidden */\n click(): void {\n this.elementRef?.nativeElement?.click();\n }\n\n /** @hidden */\n focus(): void {\n this.elementRef?.nativeElement?.focus();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { CheckboxComponent } from '@fundamental-ngx/core/checkbox';\nimport { RadioButtonComponent } from '@fundamental-ngx/core/radio';\nimport { ListLinkDirective } from '../directives/list-link.directive';\nimport { Subject } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { LIST_ITEM_COMPONENT, ListItemInterface } from '@fundamental-ngx/core/utils';\nimport { ENTER, SPACE } from '@angular/cdk/keycodes';\nimport { ListFocusItem } from '../list-focus-item.model';\nimport { ButtonComponent } from '@fundamental-ngx/core/button';\n\n/**\n * The component that represents a list item.\n * The list item can contain plain text, links or actions.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fdListItem] ,[fd-list-item]',\n templateUrl: './list-item.component.html',\n host: {\n class: 'fd-list__item',\n role: 'listitem'\n },\n providers: [\n {\n provide: LIST_ITEM_COMPONENT,\n useExisting: forwardRef(() => ListItemComponent)\n },\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListItemComponent)\n }\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class ListItemComponent extends ListFocusItem implements AfterContentInit, OnDestroy, ListItemInterface {\n /** Whether list item is selected */\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n\n /** Whether there is no data inside list item */\n @Input()\n @HostBinding('class.fd-list__item--no-data')\n noData = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--action')\n action = false;\n\n /** Whether there is item performs some action */\n @Input()\n @HostBinding('class.fd-list__item--interractive')\n interactive = false;\n\n /** Whether list item contains busy indicator */\n @Input()\n @HostBinding('class.fd-list__item--growing')\n growing = false;\n\n /** Counter on list item */\n @Input()\n counter: number;\n\n /** Whether list item should contain additional unRead styles */\n @Input()\n @HostBinding('class.fd-list__item--unread')\n unread = false;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Whether list item contains link */\n @HostBinding('class.fd-list__item--link')\n link = false;\n\n /** @hidden */\n @ContentChild(CheckboxComponent)\n checkbox: CheckboxComponent;\n\n /** @hidden */\n @ContentChild(RadioButtonComponent)\n radio: RadioButtonComponent;\n\n /** @hidden */\n @ContentChildren(ListLinkDirective)\n linkDirectives: QueryList<ListLinkDirective>;\n\n /** @hidden */\n @ContentChildren(ButtonComponent, { descendants: true })\n buttons: QueryList<ButtonComponent>;\n\n /** @hidden Implementation of KeyboardSupportItemInterface | TODO Revisit KeyboardSupportItemInterface*/\n clicked = new EventEmitter<MouseEvent>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n private _tabIndex = 0;\n\n constructor(public elementRef: ElementRef, private _changeDetectorRef: ChangeDetectorRef) {\n super(elementRef);\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._listenOnLinkQueryChange();\n this._listenOnButtonQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n if (KeyUtil.isKeyCode(event, [ENTER, SPACE])) {\n if (this.checkbox) {\n this.checkbox.nextValue();\n this._muteEvent(event);\n }\n if (this.radio) {\n this.radio.labelClicked(event);\n this._muteEvent(event);\n }\n }\n this.keyDown.emit(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n this.clicked.emit(event);\n if (this.checkbox && !this.link) {\n if (!this.checkbox.elementRef.nativeElement.contains(event.target as Node)) {\n // clicking on the checkbox is not suppressed\n // so we should only process clicks if clicked on the list-item, not checkbox itself\n this.checkbox.nextValue();\n }\n }\n if (this.radio && !this.link) {\n this.radio.labelClicked(event);\n }\n }\n\n /** @hidden */\n private _listenOnLinkQueryChange(): void {\n this.linkDirectives.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.link = this.linkDirectives.length > 0;\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n private _listenOnButtonQueryChange(): void {\n this.buttons.changes.pipe(takeUntil(this._onDestroy$), startWith(0)).subscribe(() => {\n this.buttons.forEach(this._addClassToButtons);\n });\n }\n\n /** @hidden */\n private _addClassToButtons(button: ButtonComponent): void {\n button.class += 'fd-list__button';\n button.buildComponentCssClass();\n button.detectChanges();\n }\n\n /** @hidden */\n private _muteEvent(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-container *ngIf=\"checkbox || radio\">\n <div fd-form-item class=\"fd-list__form-item\">\n <ng-content select=\"fd-checkbox\"></ng-content>\n <ng-content select=\"fd-radio-button\"></ng-content>\n </div>\n</ng-container>\n\n<ng-content></ng-content>\n\n<span *ngIf=\"counter || counter === 0\" class=\"fd-list__item-counter\">\n {{ counter.toString() | slice: 0:5 }}\n</span>\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-arrow], [fdListNavigaitonItemArrow]'\n})\nexport class ListNavigationItemArrowDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-arrow')\n navigationItemArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n rightArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n downArrowClass = false;\n\n /** @hidden */\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** @hidden */\n _setExpanded(expanded: boolean): void {\n if (this.expanded !== expanded) {\n this.rightArrowClass = !this.rightArrowClass;\n this.downArrowClass = !this.downArrowClass;\n }\n this.expanded = expanded;\n }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-navigation-item-text], [fdListNavigaitonItemText]'\n})\nexport class ListNavigationItemTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item-text')\n navigationItemTextClass = true;\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n}\n","import { AfterContentInit, Component, ContentChild, forwardRef, HostBinding, HostListener, Input } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { ListComponent } from '../list.component';\nimport { ListNavigationItemArrowDirective } from '../directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from '../directives/list-navigation-item-text.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list-navigation-item], [fdListNavigaitonItem]',\n templateUrl: './list-navigation-item.component.html',\n styleUrls: ['./list-navigation-item.component.scss']\n})\nexport class ListNavigationItemComponent implements AfterContentInit {\n /** Whether or not the list item is expanded. */\n @Input()\n @HostBinding('class.is-expanded')\n expanded = false;\n\n /** Whether or not this list item is indicated for navigation. */\n @Input()\n @HostBinding('class.fd-list__navigation-item--indicated')\n indicated = false;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item')\n _navigationItemClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--expandable')\n _isExpandable = false;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n _tabIndex;\n\n /** @hidden */\n @HostBinding('class.fd-list__navigation-item--condensed')\n _condensed = false;\n\n /** @hidden */\n @ContentChild(forwardRef(() => ListComponent))\n _listComponent: ListComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemArrowDirective)\n _listNavigationItemArrow: ListNavigationItemArrowDirective;\n\n /** @hidden */\n @ContentChild(IconComponent)\n _iconComponent: IconComponent;\n\n /** @hidden */\n @ContentChild(ListNavigationItemTextDirective)\n _text: ListNavigationItemTextDirective;\n\n /** @hidden */\n _innerText: string;\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._listComponent) {\n this._isExpandable = true;\n } else {\n this._tabIndex = 0;\n }\n if (this._iconComponent) {\n this._iconComponent._navigationItemIcon = true;\n }\n this._innerText = this._text.elementRef.nativeElement.innerText;\n }\n\n /** @hidden */\n @HostListener('click', ['$event'])\n onItemClick(event: MouseEvent): void {\n event.stopPropagation();\n this._handleExpandedChanges(!this.expanded);\n }\n\n /** @hidden */\n _childIndicatedAndCollapsed(): boolean {\n let retVal = false;\n this._listComponent?._navItems?.forEach((navItem) => {\n if (navItem.indicated && !navItem.expanded) {\n retVal = true;\n }\n });\n\n return retVal;\n }\n\n /** @hidden */\n private _handleExpandedChanges(expanded: boolean): void {\n if (this._isExpandable) {\n this.expanded = expanded;\n this._listNavigationItemArrow._setExpanded(this.expanded);\n }\n }\n}\n","<ng-container *ngIf=\"!expanded || !_isExpandable || !_condensed || !_listComponent\">\n <ng-content></ng-content\n ><span *ngIf=\"indicated || _childIndicatedAndCollapsed()\" class=\"fd-list__navigation-item-indicator\"></span>\n</ng-container>\n<ng-container *ngIf=\"expanded && _isExpandable && _condensed && _listComponent\">\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--first-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li class=\"fd-list__navigation-item fd-list__navigation-item--condensed\">\n <fd-icon class=\"fd-list__navigation-item-icon\" [glyph]=\"_iconComponent.glyph\"></fd-icon>\n <span class=\"fd-list__navigation-item-text\">{{ _innerText }}</span>\n </li>\n </ul>\n </div>\n <div\n class=\"fd-popover__body fd-popover__body--no-arrow fd-list__navigation-item-popover--second-level\"\n aria-hidden=\"false\"\n >\n <ul class=\"fd-list\">\n <li\n *ngFor=\"let navItem of _listComponent._navItems\"\n class=\"fd-list__navigation-item fd-list__navigation-item--condensed\"\n [class.fd-list__navigation-item--indicated]=\"navItem.indicated\"\n tabindex=\"0\"\n >\n <span *ngIf=\"navItem._innerText\" class=\"fd-list__navigation-item-text\">{{ navItem._innerText }}</span>\n <span *ngIf=\"navItem.indicated\" class=\"fd-list__navigation-item-indicator\"></span>\n </li>\n </ul>\n </div>\n</ng-container>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation\n} from '@angular/core';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { merge, Subject, Subscription } from 'rxjs';\nimport { startWith, takeUntil } from 'rxjs/operators';\nimport { FocusEscapeDirection, KeyboardSupportService } from '@fundamental-ngx/core/utils';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListFocusItem } from './list-focus-item.model';\nimport { ContentDensityService } from '@fundamental-ngx/core/utils';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\n\ntype FocusItem = ListGroupHeaderDirective | ListItemComponent;\n/**\n * The directive that represents a list.\n * It is used to display a list of items with simple information such as scopes, names, etc.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[fd-list], [fdList]',\n templateUrl: `./list.component.html`,\n host: {\n class: 'fd-list',\n role: 'list'\n },\n styleUrls: ['./list.component.scss', '../utils/drag-and-drop/drag-and-drop.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [KeyboardSupportService]\n})\nexport class ListComponent implements OnInit, AfterContentInit, OnDestroy {\n /** Whether dropdown mode is included to component, used for Select and Combobox */\n @Input()\n @HostBinding('class.fd-list--dropdown')\n dropdownMode = false;\n\n /** Whether multi mode is included to component, used for MultiInput */\n @Input()\n @HostBinding('class.fd-list--multi-input')\n multiInputMode = false;\n\n /** Whether list is used in mobile mode*/\n @Input()\n @HostBinding('class.fd-list--mobile')\n mobileMode = false;\n\n /** Whether compact mode is included to component */\n @Input()\n @HostBinding('class.fd-list--compact')\n compact?: boolean;\n\n /** Whether list component contains message */\n @Input()\n @HostBinding('class.fd-list--has-message')\n hasMessage = false;\n\n /** Whether list component has removed borders */\n @Input()\n @HostBinding('class.fd-list--no-border')\n noBorder = false;\n\n /** Whether list component has navigation indicators */\n @Input()\n @HostBinding('class.fd-list--navigation-indication')\n navigationIndicator = false;\n\n /** Whether list component has checkboxes or radio buttons included */\n @Input()\n @HostBinding('class.fd-list--selection')\n selection = false;\n\n /** Whether internal keyboard support should be enabled. It's enabled by default */\n @Input()\n keyboardSupport = true;\n\n /** Whether list should have a byline */\n @Input()\n @HostBinding('class.fd-list--byline')\n byline = false;\n\n /** Event thrown, when focus escapes the list */\n @Output()\n focusEscapeList = new EventEmitter<FocusEscapeDirection>();\n\n /** Whether list component includes links */\n @HostBinding('class.fd-list--navigation')\n hasNavigation = false;\n\n /** @hidden */\n @ContentChildren(ListItemComponent)\n items: QueryList<ListItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListNavigationItemComponent)\n _navItems: QueryList<ListNavigationItemComponent>;\n\n /** @hidden */\n @ContentChildren(ListFocusItem)\n private _focusItems: QueryList<FocusItem>;\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** An RxJS Subject that will kill the data stream upon queryList changes (for unsubscribing) */\n private readonly _onRefresh$: Subject<void> = new Subject<void>();\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n private _keyboardSupportService: KeyboardSupportService<FocusItem>,\n private _cdr: ChangeDetectorRef,\n @Optional() private _contentDensityService: ContentDensityService\n ) {}\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._isCompactDensity.subscribe((isCompact) => {\n this.compact = isCompact;\n this._cdr.detectChanges();\n })\n );\n }\n this._listenOnListFocusEscape();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._keyboardSupportService.setKeyboardService(this._focusItems, false);\n this._listenOnQueryChange();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keyDownHandler(event: KeyboardEvent): void {\n if (this.keyboardSupport) {\n this._keyboardSupportService.onKeyDown(event);\n }\n }\n\n /** Set fake focus on element with passed index */\n setItemActive(index: number): void {\n this._keyboardSupportService.keyManager.setActiveItem(index);\n }\n\n /** @hidden */\n private _listenOnQueryChange(): void {\n this._focusItems.changes.pipe(startWith(0), takeUntil(this._onDestroy$)).subscribe(() => {\n this._recheckLinks();\n this._listenOnItemsClick();\n });\n }\n\n /** @hidden */\n private _listenOnItemsClick(): void {\n /** Finish all of the streams, from before */\n this._onRefresh$.next();\n /** Merge refresh/destroy observables */\n const refreshObs = merge(this._onRefresh$, this._onDestroy$);\n this._focusItems.forEach((item, index) =>\n item.clicked.pipe(takeUntil(refreshObs)).subscribe(() => this.setItemActive(index))\n );\n }\n\n /** @hidden */\n private _recheckLinks(): void {\n const items = this.items.filter((item) => item.link);\n this.hasNavigation = items.length > 0;\n }\n\n /** @hidden */\n private _listenOnListFocusEscape(): void {\n this._keyboardSupportService.focusEscapeList\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((direction) => this.focusEscapeList.emit(direction));\n }\n}\n","<ng-content></ng-content>\n","import { Directive, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { MessageStates } from '@fundamental-ngx/core/form';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\nimport { CssClassBuilder } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fd-list-message], [fdListMessage]'\n})\nexport class ListMessageDirective implements OnChanges, OnInit, CssClassBuilder {\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n type: MessageStates;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-list__message', this.type ? 'fd-list__message--' + this.type : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListFooter], [fd-list-footer]'\n})\nexport class ListFooterDirective {\n /** @hidden */\n @HostBinding('class.fd-list__footer')\n fdListFooterClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnInit } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title], [fdListTitle]'\n})\nexport class ListTitleDirective implements OnInit {\n /** @hidden */\n @HostBinding('class.fd-list__title')\n fdListTitleClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__title--wrap')\n wrap = false;\n\n /** @hidden */\n constructor(public elRef: ElementRef) {}\n\n /** @hidden */\n ngOnInit(): void {\n const nativeEl = this.elRef.nativeElement;\n if (nativeEl.tagName === 'A') {\n nativeEl.setAttribute('tabIndex', '-1');\n }\n }\n}\n","import {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output\n} from '@angular/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\n\nimport { ListFocusItem } from '../list-focus-item.model';\n\n@Directive({\n selector: '[fdListGroupHeader], [fd-list-group-header]',\n host: {\n '[style.outline]': '\"none\"',\n '[class.fd-list__item]': 'true',\n '[class.fd-list__group-header]': 'true'\n },\n providers: [\n {\n provide: ListFocusItem,\n useExisting: forwardRef(() => ListGroupHeaderDirective)\n }\n ]\n})\nexport class ListGroupHeaderDirective extends ListFocusItem {\n /** tab index attribute */\n @Input()\n @HostBinding('attr.tabindex')\n get tabindex(): number {\n return this._tabIndex;\n }\n set tabindex(value: number) {\n this._tabIndex = coerceNumberProperty(value, -1);\n }\n /** @hidden Implementation of KeyboardSupportItemInterface */\n @Output()\n keyDown: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n clicked = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n private _tabIndex = -1;\n\n constructor(readonly elementRef: ElementRef) {\n super(elementRef);\n }\n\n /** @hidden */\n @HostListener('keydown', ['$event'])\n keydownHandler(event: KeyboardEvent): void {\n this.keyDown.emit(event);\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-secondary] ,[fdListSecondary]'\n})\nexport class ListSecondaryDirective {\n /** @hidden */\n @HostBinding('class.fd-list__secondary')\n fdListSecondaryClass = true;\n}\n","import { Directive, ElementRef, HostBinding, Input, OnChanges, OnInit } from '@angular/core';\nimport { applyCssClass } from '@fundamental-ngx/core/utils';\n\n@Directive({\n selector: '[fdListIcon], [fd-list-icon]'\n})\nexport class ListIconDirective implements OnChanges, OnInit {\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n * */\n @Input()\n glyph: string;\n\n /** Apply user custom styles */\n @Input()\n class: string;\n\n /** Role attribute for list icon */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnChanges(): void {\n this.buildComponentCssClass();\n }\n\n /** @hidden */\n ngOnInit(): void {\n this.buildComponentCssClass();\n }\n\n @applyCssClass\n /** CssClassBuilder interface implementation\n * function must return single string\n * function is responsible for order which css classes are applied\n */\n buildComponentCssClass(): string[] {\n return ['fd-list__icon', this.glyph ? 'sap-icon--' + this.glyph : '', this.class];\n }\n\n /** @hidden */\n elementRef(): ElementRef<any> {\n return this._elementRef;\n }\n}\n","import { Directive, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListByline], [fd-list-byline]',\n host: {\n class: 'fd-list__byline',\n '[class.fd-list__byline--2-col]': 'twoCol',\n '[class.fd-list__byline--wrap]': 'wrap'\n }\n})\nexport class ListBylineDirective {\n /** Whether or not this is a 2-column byline. */\n @Input()\n twoCol = false;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListBylineLeft], [fd-list-byline-left]'\n})\nexport class ListBylineLeftDirective {\n /** @hidden */\n @HostBinding('class.fd-list__byline-left')\n fdListBylineLeftClass = true;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n @HostBinding('class.fd-list__byline-left--wrap')\n wrap = false;\n}\n","import { Directive, Input } from '@angular/core';\n\nexport type ListBylineStatus = 'neutral' | 'positive' | 'negative' | 'critical' | 'informative';\n\n@Directive({\n selector: '[fdListBylineRight], [fd-list-byline-right]',\n host: {\n class: 'fd-list__byline-right',\n '[class.fd-list__byline-right--neutral]': 'status === \"neutral\"',\n '[class.fd-list__byline-right--positive]': 'status === \"positive\"',\n '[class.fd-list__byline-right--negative]': 'status === \"negative\"',\n '[class.fd-list__byline-right--critical]': 'status === \"critical\"',\n '[class.fd-list__byline-right--informative]': 'status === \"informative\"',\n '[class.fd-list__byline-right--wrap]': 'wrap'\n }\n})\nexport class ListBylineRightDirective {\n /** Semantic status of byline\n * Possible options are:\n * 'neutral' | 'positive' | 'negative' | 'critical' | 'informative'\n */\n @Input()\n status: ListBylineStatus;\n\n /** Whether or not this should be wrapped, when too much text. */\n @Input()\n wrap = false;\n}\n","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[fdListContent], [fd-list-content]'\n})\nexport class ListContentDirective {\n /** @hidden */\n @HostBinding('class.fd-list__content')\n fdListContentClass = true;\n\n /** Whether or not this is a 2-column content. */\n @Input()\n @HostBinding('class.fd-list__content--2-col')\n twoCol = false;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fdListThumbnail], [fd-list-thumbnail]'\n})\nexport class ListThumbnailDirective {\n /** @hidden */\n @HostBinding('class.fd-list__thumbnail')\n fdListThumbnailClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[fd-list-title-text], [fdListTitleText]'\n})\nexport class ListTitleTextDirective {\n /** @hidden */\n @HostBinding('class.fd-list__title-text')\n fdListTitleText = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ListComponent } from './list.component';\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { ListMessageDirective } from './list-message.directive';\nimport { ListLinkDirective } from './directives/list-link.directive';\nimport { FormModule } from '@fundamental-ngx/core/form';\nimport { ListFooterDirective } from './directives/list-footer.directive';\nimport { ListTitleDirective } from './directives/list-title.directive';\nimport { ListGroupHeaderDirective } from './directives/list-group-header.directive';\nimport { ListSecondaryDirective } from './directives/list-secondary.directive';\nimport { ListIconDirective } from './directives/list-icon.directive';\nimport { ListBylineDirective } from './directives/byline/list-byline.directive';\nimport { ListBylineLeftDirective } from './directives/byline/list-byline-left.directive';\nimport { ListBylineRightDirective } from './directives/byline/list-byline-right.directive';\nimport { ListContentDirective } from './directives/byline/list-content.directive';\nimport { ListThumbnailDirective } from './directives/byline/list-thumbnail.directive';\nimport { ListTitleTextDirective } from './directives/list-title-text.directive';\nimport { ListNavigationItemComponent } from './list-navigation-item/list-navigation-item.component';\nimport { ListNavigationItemArrowDirective } from './directives/list-navigation-item-arrow.directive';\nimport { ListNavigationItemTextDirective } from './directives/list-navigation-item-text.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\n\n@NgModule({\n declarations: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ],\n imports: [CommonModule, FormModule, IconModule],\n exports: [\n ListComponent,\n ListItemComponent,\n ListTitleDirective,\n ListFooterDirective,\n ListGroupHeaderDirective,\n ListSecondaryDirective,\n ListIconDirective,\n ListMessageDirective,\n ListLinkDirective,\n ListBylineDirective,\n ListBylineLeftDirective,\n ListBylineRightDirective,\n ListContentDirective,\n ListThumbnailDirective,\n ListTitleTextDirective,\n ListNavigationItemComponent,\n ListNavigationItemArrowDirective,\n ListNavigationItemTextDirective\n ]\n})\nexport class ListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -139,7 +139,11 @@ class ListItemComponent extends ListFocusItem {
|
|
|
139
139
|
onClick(event) {
|
|
140
140
|
this.clicked.emit(event);
|
|
141
141
|
if (this.checkbox && !this.link) {
|
|
142
|
-
this.checkbox.
|
|
142
|
+
if (!this.checkbox.elementRef.nativeElement.contains(event.target)) {
|
|
143
|
+
// clicking on the checkbox is not suppressed
|
|
144
|
+
// so we should only process clicks if clicked on the list-item, not checkbox itself
|
|
145
|
+
this.checkbox.nextValue();
|
|
146
|
+
}
|
|
143
147
|
}
|
|
144
148
|
if (this.radio && !this.link) {
|
|
145
149
|
this.radio.labelClicked(event);
|