geonetwork-ui 2.2.0-dev.55bb5e18 → 2.2.0-dev.7a59af6f
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/esm2022/libs/api/metadata-converter/src/lib/gn4/atomic-operations.mjs +2 -1
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +36 -2
- package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.mjs +2 -1
- package/esm2022/libs/api/repository/src/lib/gn4/index.mjs +3 -1
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +1 -1
- package/esm2022/libs/feature/dataviz/src/lib/service/data.service.mjs +5 -4
- package/esm2022/libs/feature/editor/src/lib/record-form/record-form.component.mjs +5 -3
- package/esm2022/libs/feature/map/src/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-catalog/add-layer-record-preview/add-layer-record-preview.component.mjs +1 -1
- package/esm2022/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.mjs +106 -0
- package/esm2022/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.mjs +64 -0
- package/esm2022/libs/feature/map/src/lib/constant/index.mjs +2 -1
- package/esm2022/libs/feature/map/src/lib/constant/projections.mjs +2 -0
- package/esm2022/libs/feature/map/src/lib/feature-map.module.mjs +23 -3
- package/esm2022/libs/feature/map/src/lib/geocoding/geocoding.component.mjs +93 -0
- package/esm2022/libs/feature/map/src/lib/geocoding.service.mjs +40 -0
- package/esm2022/libs/feature/map/src/lib/layers-panel/layers-panel.component.mjs +5 -3
- package/esm2022/libs/feature/map/src/lib/map-context/map-context.service.mjs +3 -1
- package/esm2022/libs/feature/map/src/lib/utils/index.mjs +1 -3
- package/esm2022/libs/feature/map/src/lib/utils/map-utils.service.mjs +60 -29
- package/esm2022/libs/feature/record/src/lib/map-view/map-view.component.mjs +29 -20
- package/esm2022/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.mjs +1 -1
- package/esm2022/libs/feature/search/src/lib/state/effects.mjs +5 -3
- package/esm2022/libs/ui/catalog/src/lib/organisation-preview/organisation-preview.component.mjs +1 -1
- package/esm2022/libs/ui/elements/src/index.mjs +3 -1
- package/esm2022/libs/ui/elements/src/lib/downloads-list/downloads-list.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.mjs +27 -0
- package/esm2022/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.mjs +2 -2
- package/esm2022/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/metadata-info/metadata-info.component.mjs +15 -7
- package/esm2022/libs/ui/elements/src/lib/related-record-card/related-record-card.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/lib/thumbnail/thumbnail.component.mjs +7 -3
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +10 -3
- package/esm2022/libs/ui/inputs/src/index.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -2
- package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs +3 -3
- package/esm2022/libs/ui/inputs/src/lib/editable-label/editable-label.directive.mjs +46 -0
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +8 -3
- package/esm2022/libs/ui/layout/src/lib/carousel/carousel.component.mjs +2 -2
- package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-row/record-preview-row.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs +1 -1
- package/esm2022/libs/ui/search/src/lib/record-table/record-table.component.mjs +3 -3
- package/esm2022/libs/util/shared/src/lib/links/link-utils.mjs +29 -13
- package/esm2022/translations/de.json +102 -94
- package/esm2022/translations/en.json +27 -19
- package/esm2022/translations/es.json +8 -0
- package/esm2022/translations/fr.json +12 -4
- package/esm2022/translations/it.json +11 -3
- package/esm2022/translations/nl.json +8 -0
- package/esm2022/translations/pt.json +8 -0
- package/fesm2022/geonetwork-ui.mjs +752 -277
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts +1 -0
- package/libs/api/metadata-converter/src/lib/gn4/atomic-operations.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/index.d.ts +2 -0
- package/libs/api/repository/src/lib/gn4/index.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +10 -5
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts +15 -2
- package/libs/feature/dataviz/src/lib/service/data.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/record-form/record-form.component.d.ts.map +1 -1
- package/libs/feature/map/src/index.d.ts +1 -0
- package/libs/feature/map/src/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts +22 -0
- package/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts +1 -0
- package/libs/feature/map/src/lib/constant/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/constant/projections.d.ts.map +1 -0
- package/libs/feature/map/src/lib/feature-map.module.d.ts +15 -12
- package/libs/feature/map/src/lib/feature-map.module.d.ts.map +1 -1
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts +25 -0
- package/libs/feature/map/src/lib/geocoding/geocoding.component.d.ts.map +1 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts +18 -0
- package/libs/feature/map/src/lib/geocoding.service.d.ts.map +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts +1 -0
- package/libs/feature/map/src/lib/map-context/map-context.service.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/index.d.ts +0 -2
- package/libs/feature/map/src/lib/utils/index.d.ts.map +1 -1
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts +13 -11
- package/libs/feature/map/src/lib/utils/map-utils.service.d.ts.map +1 -1
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts +1 -3
- package/libs/feature/record/src/lib/map-view/map-view.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts +3 -3
- package/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts +3 -2
- package/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.d.ts.map +1 -1
- package/libs/feature/search/src/lib/state/effects.d.ts.map +1 -1
- package/libs/ui/dataviz/src/lib/chart/chart.component.d.ts +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -0
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/downloads-list/downloads-list.component.d.ts +1 -1
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts +10 -0
- package/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts +2 -0
- package/libs/ui/elements/src/lib/metadata-info/metadata-info.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts +3 -2
- package/libs/ui/elements/src/lib/thumbnail/thumbnail.component.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +12 -11
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +1 -0
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts +13 -0
- package/libs/ui/inputs/src/lib/editable-label/editable-label.directive.d.ts.map +1 -0
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +2 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/util/shared/src/lib/links/link-utils.d.ts +19 -7
- package/libs/util/shared/src/lib/links/link-utils.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/libs/api/metadata-converter/src/lib/gn4/atomic-operations.ts +3 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +43 -0
- package/src/libs/api/metadata-converter/src/lib/gn4/gn4.metadata.mapper.ts +1 -0
- package/src/libs/api/repository/src/lib/gn4/index.ts +2 -0
- package/src/libs/common/domain/src/lib/index.ts +2 -0
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +12 -7
- package/src/libs/feature/dataviz/src/lib/service/data.service.ts +8 -5
- package/src/libs/feature/editor/src/lib/record-form/record-form.component.ts +2 -1
- package/src/libs/feature/map/src/index.ts +1 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.html +21 -0
- package/src/libs/feature/map/src/lib/add-layer-from-file/add-layer-from-file.component.ts +107 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.css +0 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.html +37 -0
- package/src/libs/feature/map/src/lib/add-layer-from-wfs/add-layer-from-wfs.component.ts +64 -0
- package/src/libs/feature/map/src/lib/constant/index.ts +1 -0
- package/src/libs/feature/map/src/lib/feature-map.module.ts +12 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.css +0 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.html +39 -0
- package/src/libs/feature/map/src/lib/geocoding/geocoding.component.ts +99 -0
- package/src/libs/feature/map/src/lib/geocoding.service.ts +59 -0
- package/src/libs/feature/map/src/lib/layers-panel/layers-panel.component.html +6 -2
- package/src/libs/feature/map/src/lib/map-context/map-context.service.ts +6 -0
- package/src/libs/feature/map/src/lib/utils/index.ts +0 -2
- package/src/libs/feature/map/src/lib/utils/map-utils.service.ts +85 -50
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +18 -3
- package/src/libs/feature/search/src/lib/favorites/favorite-star/favorite-star.component.ts +1 -1
- package/src/libs/feature/search/src/lib/filter-dropdown/filter-dropdown.component.ts +4 -4
- package/src/libs/feature/search/src/lib/state/effects.ts +4 -3
- package/src/libs/ui/elements/src/index.ts +2 -0
- package/src/libs/ui/elements/src/lib/downloads-list/downloads-list.component.html +4 -1
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.css +0 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.html +30 -0
- package/src/libs/ui/elements/src/lib/image-overlay-preview/image-overlay-preview.component.ts +15 -0
- package/src/libs/ui/elements/src/lib/markdown-parser/markdown-parser.component.css +52 -52
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +2 -2
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.css +4 -0
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.html +56 -7
- package/src/libs/ui/elements/src/lib/metadata-info/metadata-info.component.ts +9 -0
- package/src/libs/ui/elements/src/lib/related-record-card/related-record-card.component.html +1 -1
- package/src/libs/ui/elements/src/lib/thumbnail/thumbnail.component.ts +4 -0
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +4 -0
- package/src/libs/ui/inputs/src/index.ts +1 -0
- package/src/libs/ui/inputs/src/lib/autocomplete/autocomplete.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/button/button.component.css +1 -1
- package/src/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.html +1 -1
- package/src/libs/ui/inputs/src/lib/editable-label/editable-label.directive.ts +48 -0
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +3 -0
- package/src/libs/ui/layout/src/lib/carousel/carousel.component.css +1 -1
- package/src/libs/ui/search/src/lib/record-table/record-table.component.html +2 -2
- package/src/libs/util/shared/src/lib/links/link-utils.ts +34 -11
- package/translations/de.json +102 -94
- package/translations/en.json +27 -19
- package/translations/es.json +8 -0
- package/translations/fr.json +12 -4
- package/translations/it.json +11 -3
- package/translations/nl.json +8 -0
- package/translations/pt.json +8 -0
- package/translations/sk.json +8 -0
- package/esm2022/libs/feature/map/src/lib/utils/map-utils-wms.service.mjs +0 -55
- package/esm2022/libs/feature/map/src/lib/utils/projections.mjs +0 -2
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts +0 -17
- package/libs/feature/map/src/lib/utils/map-utils-wms.service.d.ts.map +0 -1
- package/libs/feature/map/src/lib/utils/projections.d.ts.map +0 -1
- package/src/libs/feature/map/src/lib/utils/map-utils-wms.service.ts +0 -58
- /package/libs/feature/map/src/lib/{utils → constant}/projections.d.ts +0 -0
- /package/src/libs/feature/map/src/lib/{utils → constant}/projections.ts +0 -0
package/esm2022/libs/ui/inputs/src/lib/dropdown-multiselect/dropdown-multiselect.component.mjs
CHANGED
|
@@ -155,11 +155,11 @@ export class DropdownMultiselectComponent {
|
|
|
155
155
|
this.setFocus();
|
|
156
156
|
}
|
|
157
157
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DropdownMultiselectComponent, deps: [{ token: i1.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
158
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: { title: "title", choices: "choices", selected: "selected", allowSearch: "allowSearch", maxRows: "maxRows", searchInputValue: "searchInputValue" }, outputs: { selectValues: "selectValues" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true, read: ElementRef }, { propertyName: "searchFieldInput", first: true, predicate: ["searchFieldInput"], descendants: true }, { propertyName: "checkboxes", predicate: ["checkBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice,
|
|
158
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: DropdownMultiselectComponent, selector: "gn-ui-dropdown-multiselect", inputs: { title: "title", choices: "choices", selected: "selected", allowSearch: "allowSearch", maxRows: "maxRows", searchInputValue: "searchInputValue" }, outputs: { selectValues: "selectValues" }, viewQueries: [{ propertyName: "overlayOrigin", first: true, predicate: ["overlayOrigin"], descendants: true }, { propertyName: "overlay", first: true, predicate: CdkConnectedOverlay, descendants: true }, { propertyName: "overlayContainer", first: true, predicate: ["overlayContainer"], descendants: true, read: ElementRef }, { propertyName: "searchFieldInput", first: true, predicate: ["searchFieldInput"], descendants: true }, { propertyName: "checkboxes", predicate: ["checkBox"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i5.ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
159
159
|
}
|
|
160
160
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: DropdownMultiselectComponent, decorators: [{
|
|
161
161
|
type: Component,
|
|
162
|
-
args: [{ selector: 'gn-ui-dropdown-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice,
|
|
162
|
+
args: [{ selector: 'gn-ui-dropdown-multiselect', changeDetection: ChangeDetectionStrategy.OnPush, template: "<gn-ui-button\n type=\"outline\"\n extraClass=\"w-full !p-[8px] !pl-[16px]\"\n [title]=\"title\"\n [attr.aria-owns]=\"id\"\n (buttonClick)=\"openOverlay()\"\n (keydown)=\"handleTriggerKeydown($event)\"\n cdkOverlayOrigin\n #overlayOrigin=\"cdkOverlayOrigin\"\n>\n <div class=\"grow flex items-center mr-2 gap-2 overflow-hidden\">\n <div class=\"text-left font-medium truncate py-1\">\n {{ title }}\n </div>\n <div\n *ngIf=\"hasSelectedChoices\"\n class=\"shrink-0 rounded-full text-primary bg-primary-opacity-25 text-white font-bold text-[12px] w-5 h-5 flex items-center justify-center mr-1 selected-count\"\n >\n {{ selected.length }}\n </div>\n </div>\n <button class=\"h-6 w-6\" data-cy=\"clearSelection\">\n <mat-icon\n class=\"material-symbols-outlined shrink-0 opacity-40 mr-1.5 hover:opacity-80 transition-colors clear-btn\"\n *ngIf=\"hasSelectedChoices && !overlayOpen\"\n (click)=\"clearSelection($event)\"\n >\n close\n </mat-icon>\n </button>\n <mat-icon class=\"material-symbols-outlined shrink-0 opacity-40\">\n <ng-container *ngIf=\"overlayOpen\">expand_less</ng-container>\n <ng-container *ngIf=\"!overlayOpen\">expand_more</ng-container>\n </mat-icon>\n</gn-ui-button>\n\n<ng-template\n cdkConnectedOverlay\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOrigin]=\"overlayOrigin\"\n [cdkConnectedOverlayOpen]=\"overlayOpen\"\n [cdkConnectedOverlayPositions]=\"overlayPositions\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n [cdkConnectedOverlayFlexibleDimensions]=\"true\"\n (overlayOutsideClick)=\"closeOverlay()\"\n (detach)=\"closeOverlay()\"\n>\n <div\n class=\"bg-white border border-gray-300 rounded shadow-lg py-2 w-full overflow-x-hidden overflow-y-auto overlay-container\"\n [style.max-height]=\"overlayMaxHeight\"\n [style.width]=\"overlayWidth\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.id]=\"id\"\n [attr.aria-multiselectable]=\"true\"\n [attr.aria-label]=\"title\"\n (keydown)=\"handleOverlayKeydown($event)\"\n #overlayContainer\n >\n <div\n class=\"border border-gray-300 rounded mb-2 mx-2 min-h-[44px] flex flex-row flex-wrap p-2 focus-within:rounded focus-within:border-2 focus-within:border-primary\"\n >\n <button\n type=\"button\"\n *ngFor=\"let selected of selectedChoices\"\n [title]=\"selected.label\"\n class=\"max-w-full bg-main text-white rounded pr-[7px] flex gap-1 items-center opacity-70 hover:opacity-100 focus:opacity-100 transition-opacity mb-1\"\n (click)=\"select(selected, false)\"\n >\n <div class=\"text-sm truncate leading-[26px] px-2\">\n {{ selected.label }}\n </div>\n <div\n class=\"flex items-center justify-center rounded-full bg-white text-main h-[13px] w-[13px] pt-px -mt-px shrink-0\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[12px] !w-[12px] text-[12px]\"\n >\n close</mat-icon\n >\n </div>\n </button>\n\n <div *ngIf=\"allowSearch\" class=\"w-[50%] relative grow shrink\">\n <input\n #searchFieldInput\n class=\"w-full px-2 truncate text-[14px] h-full overlaySearchInput focus:outline-none\"\n [(ngModel)]=\"searchInputValue\"\n [placeholder]=\"'multiselect.filter.placeholder' | translate\"\n />\n <button\n *ngIf=\"!!searchInputValue\"\n class=\"absolute top-1/2 -translate-y-1/2 right-0 px-[7px] leading-tight clear-search-input mr-2\"\n (click)=\"clearSearchInputValue($event)\"\n >\n <mat-icon\n class=\"material-symbols-outlined !h-[10px] !w-[12px] text-[12px]\"\n >\n close\n </mat-icon>\n </button>\n </div>\n </div>\n\n <label\n *ngFor=\"let choice of filteredChoicesByText\"\n [title]=\"choice.label\"\n class=\"flex px-5 py-1 w-full text-gray-900 cursor-pointer hover:text-primary-darkest hover:bg-gray-50 focus-within:text-primary-darkest focus-within:bg-gray-50 transition-colors\"\n >\n <input\n class=\"w-[18px] h-[18px] align-text-top shrink-0\"\n type=\"checkbox\"\n #checkBox\n [checked]=\"isSelected(choice)\"\n (change)=\"select(choice, checkBox.checked)\"\n />\n <span class=\"ml-[8px] text-[14px] truncate\">\n {{ choice.label }}\n </span>\n </label>\n </div>\n</ng-template>\n" }]
|
|
163
163
|
}], ctorParameters: function () { return [{ type: i1.ScrollStrategyOptions }]; }, propDecorators: { title: [{
|
|
164
164
|
type: Input
|
|
165
165
|
}], choices: [{
|
|
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
190
190
|
type: ViewChildren,
|
|
191
191
|
args: ['checkBox', { read: ElementRef }]
|
|
192
192
|
}] } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQXNDdkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVELElB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QUNTLFVBQVUsMkxBSWYsVUFBVSw2QkM1QzlDLDBnSkEySEE7OzJGRDdGYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzRHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRnV6enlGaWx0ZXIsXG4gIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoSW5wdXRWYWx1ZSkgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSlcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBmaWx0ZXIoY2hvaWNlLmxhYmVsKSlcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cInctZnVsbCAhcC1bOHB4XSAhcGwtWzE2cHhdXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVUcmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcbiAgY2RrT3ZlcmxheU9yaWdpblxuICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGl0ZW1zLWNlbnRlciBtci0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImhhc1NlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtZnVsbCB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaHJpbmstMCBvcGFjaXR5LTQwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTJweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTBweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCAkZXZlbnQudGFyZ2V0LmNoZWNrZWQpXCJcbiAgICAgIC8+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1sLVs4cHhdIHRleHQtWzE0cHhdIHRydW5jYXRlXCI+XG4gICAgICAgIHt7IGNob2ljZS5sYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9kcm9wZG93bi1tdWx0aXNlbGVjdC9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpL2lucHV0cy9zcmMvbGliL2Ryb3Bkb3duLW11bHRpc2VsZWN0L2Ryb3Bkb3duLW11bHRpc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixxQkFBcUIsR0FDdEIsTUFBTSxzQkFBc0IsQ0FBQTtBQUM3QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFckMsT0FBTyxFQUNMLGlCQUFpQixFQUNqQix1QkFBdUIsR0FDeEIsTUFBTSx3Q0FBd0MsQ0FBQTs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQXNDdkMsSUFBSSxrQkFBa0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUE7SUFDakMsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN4QixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNyRCxDQUFBO0lBQ0gsQ0FBQztJQUVELElB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QUNTLFVBQVUsMkxBSWYsVUFBVSw2QkM1QzlDLHFnSkEySEE7OzJGRDdGYSw0QkFBNEI7a0JBTnhDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNOzRHQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNJLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ3FCLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTSxPQUFPO3NCQUF0QyxTQUFTO3VCQUFDLG1CQUFtQjtnQkFFOUIsZ0JBQWdCO3NCQURmLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUduRCxnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBRzdCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQ2RrQ29ubmVjdGVkT3ZlcmxheSxcbiAgQ2RrT3ZlcmxheU9yaWdpbixcbiAgQ29ubmVjdGVkUG9zaXRpb24sXG4gIFNjcm9sbFN0cmF0ZWd5T3B0aW9ucyxcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBDaG9pY2UgfSBmcm9tICcuL2Ryb3Bkb3duLW11bHRpc2VsZWN0Lm1vZGVsJ1xuaW1wb3J0IHtcbiAgY3JlYXRlRnV6enlGaWx0ZXIsXG4gIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5LFxufSBmcm9tICcuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3V0aWwvc2hhcmVkL3NyYydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZ24tdWktZHJvcGRvd24tbXVsdGlzZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1tdWx0aXNlbGVjdC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZ1xuICBASW5wdXQoKSBjaG9pY2VzOiBDaG9pY2VbXVxuICBASW5wdXQoKSBzZWxlY3RlZDogdW5rbm93bltdID0gW11cbiAgQElucHV0KCkgYWxsb3dTZWFyY2ggPSB0cnVlXG4gIEBJbnB1dCgpIG1heFJvd3M6IG51bWJlclxuICBASW5wdXQoKSBzZWFyY2hJbnB1dFZhbHVlID0gJydcbiAgQE91dHB1dCgpIHNlbGVjdFZhbHVlcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bltdPigpXG4gIEBWaWV3Q2hpbGQoJ292ZXJsYXlPcmlnaW4nKSBvdmVybGF5T3JpZ2luOiBDZGtPdmVybGF5T3JpZ2luXG4gIEBWaWV3Q2hpbGQoQ2RrQ29ubmVjdGVkT3ZlcmxheSkgb3ZlcmxheTogQ2RrQ29ubmVjdGVkT3ZlcmxheVxuICBAVmlld0NoaWxkKCdvdmVybGF5Q29udGFpbmVyJywgeyByZWFkOiBFbGVtZW50UmVmIH0pXG4gIG92ZXJsYXlDb250YWluZXI6IEVsZW1lbnRSZWZcbiAgQFZpZXdDaGlsZCgnc2VhcmNoRmllbGRJbnB1dCcpXG4gIHNlYXJjaEZpZWxkSW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQFZpZXdDaGlsZHJlbignY2hlY2tCb3gnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgY2hlY2tib3hlczogUXVlcnlMaXN0PEVsZW1lbnRSZWY+XG4gIG92ZXJsYXlQb3NpdGlvbnM6IENvbm5lY3RlZFBvc2l0aW9uW10gPSBbXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICdib3R0b20nLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICBvZmZzZXRZOiA4LFxuICAgIH0sXG4gICAge1xuICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICBvZmZzZXRZOiAtOCxcbiAgICB9LFxuICBdXG4gIHNjcm9sbFN0cmF0ZWd5ID0gdGhpcy5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxuICBvdmVybGF5T3BlbiA9IGZhbHNlXG4gIG92ZXJsYXlXaWR0aCA9ICdhdXRvJ1xuICBvdmVybGF5TWF4SGVpZ2h0ID0gJ25vbmUnXG4gIGlkID0gYGRyb3Bkb3duLW11bHRpc2VsZWN0LSR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDApfWBcblxuICBnZXQgaGFzU2VsZWN0ZWRDaG9pY2VzKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA+IDBcbiAgfVxuXG4gIGdldCBzZWxlY3RlZENob2ljZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcy5maWx0ZXIoXG4gICAgICAoY2hvaWNlKSA9PiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gICAgKVxuICB9XG5cbiAgZ2V0IGZpbHRlcmVkQ2hvaWNlc0J5VGV4dCgpIHtcbiAgICBpZiAoIXRoaXMuc2VhcmNoSW5wdXRWYWx1ZSkgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgIGNvbnN0IGZpbHRlciA9IGNyZWF0ZUZ1enp5RmlsdGVyKHRoaXMuc2VhcmNoSW5wdXRWYWx1ZSlcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBmaWx0ZXIoY2hvaWNlLmxhYmVsKSlcbiAgfVxuXG4gIGdldCBmb2N1c2VkSW5kZXgoKTogbnVtYmVyIHwgLTEge1xuICAgIHJldHVybiB0aGlzLmNoZWNrYm94ZXMucmVkdWNlKFxuICAgICAgKHByZXYsIGN1cnIsIGN1ckluZGV4KSA9PlxuICAgICAgICBjdXJyLm5hdGl2ZUVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPyBjdXJJbmRleCA6IHByZXYsXG4gICAgICAtMVxuICAgIClcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2Nyb2xsU3RyYXRlZ2llczogU2Nyb2xsU3RyYXRlZ3lPcHRpb25zKSB7fVxuXG4gIHByaXZhdGUgc2V0Rm9jdXMoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNlYXJjaEZpZWxkSW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gICAgfSwgMClcbiAgfVxuXG4gIG9wZW5PdmVybGF5KCkge1xuICAgIHRoaXMub3ZlcmxheVdpZHRoID1cbiAgICAgIHRoaXMub3ZlcmxheU9yaWdpbi5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClcbiAgICAgICAgLndpZHRoICsgJ3B4J1xuICAgIHRoaXMub3ZlcmxheU1heEhlaWdodCA9IHRoaXMubWF4Um93c1xuICAgICAgPyBgJHt0aGlzLm1heFJvd3MgKiAyOSArIDYwfXB4YFxuICAgICAgOiAnbm9uZSdcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gdHJ1ZVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuXG4gICAgLy8gdGhpcyB3aWxsIHdhaXQgZm9yIHRoZSBjaGVja2JveGVzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIHRoZSBvdmVybGF5IHRvIGJlIGF0dGFjaGVkXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKFtcbiAgICAgIHRoaXMub3ZlcmxheS5hdHRhY2gucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSxcbiAgICAgIHRoaXMuY2hlY2tib3hlcy5jaGFuZ2VzLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCksXG4gICAgXSlcbiAgfVxuXG4gIGNsb3NlT3ZlcmxheSgpIHtcbiAgICB0aGlzLm92ZXJsYXlPcGVuID0gZmFsc2VcbiAgfVxuXG4gIGFzeW5jIGhhbmRsZVRyaWdnZXJLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmNvZGVcbiAgICBjb25zdCBpc09wZW5LZXkgPVxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93RG93bicgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1VwJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0Fycm93TGVmdCcgfHxcbiAgICAgIGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ0VudGVyJyB8fFxuICAgICAga2V5Q29kZSA9PT0gJ1NwYWNlJ1xuICAgIGNvbnN0IGlzQ2xvc2VLZXkgPSBrZXlDb2RlID09PSAnRXNjYXBlJyB8fCBpc09wZW5LZXlcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4gJiYgaXNPcGVuS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBhd2FpdCB0aGlzLm9wZW5PdmVybGF5KClcbiAgICAgIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHRoaXMuZm9jdXNMYXN0SXRlbSgpXG4gICAgICBlbHNlIHRoaXMuZm9jdXNGaXJzdEl0ZW0oKVxuICAgIH0gZWxzZSBpZiAodGhpcy5vdmVybGF5T3BlbiAmJiBpc0Nsb3NlS2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICB0aGlzLmNsb3NlT3ZlcmxheSgpXG4gICAgfVxuICB9XG5cbiAgaGFuZGxlT3ZlcmxheUtleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMub3ZlcmxheU9wZW4pIHJldHVyblxuICAgIGNvbnN0IGtleUNvZGUgPSBldmVudC5jb2RlXG4gICAgaWYgKGtleUNvZGUgPT09ICdBcnJvd0Rvd24nIHx8IGtleUNvZGUgPT09ICdBcnJvd1JpZ2h0Jykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnRbJ3R5cGUnXSAhPT0gJ2NoZWNrYm94Jykge1xuICAgICAgICB0aGlzLmZvY3VzRmlyc3RJdGVtKClcbiAgICAgIH0gZWxzZSB0aGlzLnNoaWZ0SXRlbUZvY3VzKDEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnQXJyb3dMZWZ0JyB8fCBrZXlDb2RlID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIHRoaXMuc2hpZnRJdGVtRm9jdXMoLTEpXG4gICAgfSBlbHNlIGlmIChrZXlDb2RlID09PSAnRXNjYXBlJykge1xuICAgICAgdGhpcy5jbG9zZU92ZXJsYXkoKVxuICAgIH1cbiAgfVxuXG4gIGZvY3VzRmlyc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQoMCkubmF0aXZlRWxlbWVudC5mb2N1cygpXG4gIH1cblxuICBmb2N1c0xhc3RJdGVtKCkge1xuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQodGhpcy5jaGVja2JveGVzLmxlbmd0aCAtIDEpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgc2hpZnRJdGVtRm9jdXMoc2hpZnQ6IG51bWJlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5mb2N1c2VkSW5kZXhcbiAgICBpZiAoaW5kZXggPT09IC0xKSByZXR1cm5cbiAgICBjb25zdCBtYXggPSB0aGlzLmNoZWNrYm94ZXMubGVuZ3RoXG4gICAgLy8gbW9kdWxvLCBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvT3BlcmF0b3JzL1JlbWFpbmRlclxuICAgIGNvbnN0IG5ld0luZGV4ID0gKCgoaW5kZXggKyBzaGlmdCkgJSBtYXgpICsgbWF4KSAlIG1heFxuICAgIHRoaXMuY2hlY2tib3hlcy5nZXQobmV3SW5kZXgpLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKVxuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IENob2ljZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmluZGV4T2YoY2hvaWNlLnZhbHVlKSA+IC0xXG4gIH1cblxuICBzZWxlY3QoY2hvaWNlOiBDaG9pY2UsIHNlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkXG4gICAgICA/IFsuLi50aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKSwgY2hvaWNlLnZhbHVlXVxuICAgICAgOiB0aGlzLnNlbGVjdGVkLmZpbHRlcigodikgPT4gdiAhPT0gY2hvaWNlLnZhbHVlKVxuICAgIHRoaXMuc2VsZWN0VmFsdWVzLmVtaXQodGhpcy5zZWxlY3RlZClcbiAgfVxuXG4gIHRvZ2dsZShjaG9pY2U6IENob2ljZSkge1xuICAgIHRoaXMuc2VsZWN0KGNob2ljZSwgIXRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKVxuICB9XG5cbiAgY2xlYXJTZWxlY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XG4gICAgdGhpcy5zZWxlY3RWYWx1ZXMuZW1pdChbXSlcbiAgICBwcm9wYWdhdGVUb0RvY3VtZW50T25seShldmVudClcbiAgfVxuXG4gIGNsZWFyU2VhcmNoSW5wdXRWYWx1ZShldmVudDogRXZlbnQpIHtcbiAgICB0aGlzLnNlYXJjaElucHV0VmFsdWUgPSAnJ1xuICAgIHByb3BhZ2F0ZVRvRG9jdW1lbnRPbmx5KGV2ZW50KVxuICAgIHRoaXMuc2V0Rm9jdXMoKVxuICB9XG59XG4iLCI8Z24tdWktYnV0dG9uXG4gIHR5cGU9XCJvdXRsaW5lXCJcbiAgZXh0cmFDbGFzcz1cInctZnVsbCAhcC1bOHB4XSAhcGwtWzE2cHhdXCJcbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2F0dHIuYXJpYS1vd25zXT1cImlkXCJcbiAgKGJ1dHRvbkNsaWNrKT1cIm9wZW5PdmVybGF5KClcIlxuICAoa2V5ZG93bik9XCJoYW5kbGVUcmlnZ2VyS2V5ZG93bigkZXZlbnQpXCJcbiAgY2RrT3ZlcmxheU9yaWdpblxuICAjb3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuPlxuICA8ZGl2IGNsYXNzPVwiZ3JvdyBmbGV4IGl0ZW1zLWNlbnRlciBtci0yIGdhcC0yIG92ZXJmbG93LWhpZGRlblwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxlZnQgZm9udC1tZWRpdW0gdHJ1bmNhdGUgcHktMVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICAqbmdJZj1cImhhc1NlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICBjbGFzcz1cInNocmluay0wIHJvdW5kZWQtZnVsbCB0ZXh0LXByaW1hcnkgYmctcHJpbWFyeS1vcGFjaXR5LTI1IHRleHQtd2hpdGUgZm9udC1ib2xkIHRleHQtWzEycHhdIHctNSBoLTUgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgbXItMSBzZWxlY3RlZC1jb3VudFwiXG4gICAgPlxuICAgICAge3sgc2VsZWN0ZWQubGVuZ3RoIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YnV0dG9uIGNsYXNzPVwiaC02IHctNlwiIGRhdGEtY3k9XCJjbGVhclNlbGVjdGlvblwiPlxuICAgIDxtYXQtaWNvblxuICAgICAgY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIHNocmluay0wIG9wYWNpdHktNDAgbXItMS41IGhvdmVyOm9wYWNpdHktODAgdHJhbnNpdGlvbi1jb2xvcnMgY2xlYXItYnRuXCJcbiAgICAgICpuZ0lmPVwiaGFzU2VsZWN0ZWRDaG9pY2VzICYmICFvdmVybGF5T3BlblwiXG4gICAgICAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgPlxuICAgICAgY2xvc2VcbiAgICA8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1pY29uIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBzaHJpbmstMCBvcGFjaXR5LTQwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm92ZXJsYXlPcGVuXCI+ZXhwYW5kX2xlc3M8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW92ZXJsYXlPcGVuXCI+ZXhwYW5kX21vcmU8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtaWNvbj5cbjwvZ24tdWktYnV0dG9uPlxuXG48bmctdGVtcGxhdGVcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICBjZGtDb25uZWN0ZWRPdmVybGF5SGFzQmFja2Ryb3BcbiAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cIm92ZXJsYXlPcmlnaW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3ZlcmxheU9wZW5cIlxuICBbY2RrQ29ubmVjdGVkT3ZlcmxheVBvc2l0aW9uc109XCJvdmVybGF5UG9zaXRpb25zXCJcbiAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlTY3JvbGxTdHJhdGVneV09XCJzY3JvbGxTdHJhdGVneVwiXG4gIFtjZGtDb25uZWN0ZWRPdmVybGF5RmxleGlibGVEaW1lbnNpb25zXT1cInRydWVcIlxuICAob3ZlcmxheU91dHNpZGVDbGljayk9XCJjbG9zZU92ZXJsYXkoKVwiXG4gIChkZXRhY2gpPVwiY2xvc2VPdmVybGF5KClcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJiZy13aGl0ZSBib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgc2hhZG93LWxnIHB5LTIgdy1mdWxsIG92ZXJmbG93LXgtaGlkZGVuIG92ZXJmbG93LXktYXV0byBvdmVybGF5LWNvbnRhaW5lclwiXG4gICAgW3N0eWxlLm1heC1oZWlnaHRdPVwib3ZlcmxheU1heEhlaWdodFwiXG4gICAgW3N0eWxlLndpZHRoXT1cIm92ZXJsYXlXaWR0aFwiXG4gICAgcm9sZT1cImxpc3Rib3hcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbYXR0ci5hcmlhLW11bHRpc2VsZWN0YWJsZV09XCJ0cnVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInRpdGxlXCJcbiAgICAoa2V5ZG93bik9XCJoYW5kbGVPdmVybGF5S2V5ZG93bigkZXZlbnQpXCJcbiAgICAjb3ZlcmxheUNvbnRhaW5lclxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJib3JkZXIgYm9yZGVyLWdyYXktMzAwIHJvdW5kZWQgbWItMiBteC0yIG1pbi1oLVs0NHB4XSBmbGV4IGZsZXgtcm93IGZsZXgtd3JhcCBwLTIgZm9jdXMtd2l0aGluOnJvdW5kZWQgZm9jdXMtd2l0aGluOmJvcmRlci0yIGZvY3VzLXdpdGhpbjpib3JkZXItcHJpbWFyeVwiXG4gICAgPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgKm5nRm9yPVwibGV0IHNlbGVjdGVkIG9mIHNlbGVjdGVkQ2hvaWNlc1wiXG4gICAgICAgIFt0aXRsZV09XCJzZWxlY3RlZC5sYWJlbFwiXG4gICAgICAgIGNsYXNzPVwibWF4LXctZnVsbCBiZy1tYWluIHRleHQtd2hpdGUgcm91bmRlZCBwci1bN3B4XSBmbGV4IGdhcC0xIGl0ZW1zLWNlbnRlciBvcGFjaXR5LTcwIGhvdmVyOm9wYWNpdHktMTAwIGZvY3VzOm9wYWNpdHktMTAwIHRyYW5zaXRpb24tb3BhY2l0eSBtYi0xXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbGVjdChzZWxlY3RlZCwgZmFsc2UpXCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdHJ1bmNhdGUgbGVhZGluZy1bMjZweF0gcHgtMlwiPlxuICAgICAgICAgIHt7IHNlbGVjdGVkLmxhYmVsIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciByb3VuZGVkLWZ1bGwgYmctd2hpdGUgdGV4dC1tYWluIGgtWzEzcHhdIHctWzEzcHhdIHB0LXB4IC1tdC1weCBzaHJpbmstMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTJweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZTwvbWF0LWljb25cbiAgICAgICAgICA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJhbGxvd1NlYXJjaFwiIGNsYXNzPVwidy1bNTAlXSByZWxhdGl2ZSBncm93IHNocmlua1wiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjc2VhcmNoRmllbGRJbnB1dFxuICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB4LTIgdHJ1bmNhdGUgdGV4dC1bMTRweF0gaC1mdWxsIG92ZXJsYXlTZWFyY2hJbnB1dCBmb2N1czpvdXRsaW5lLW5vbmVcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidtdWx0aXNlbGVjdC5maWx0ZXIucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwiISFzZWFyY2hJbnB1dFZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImFic29sdXRlIHRvcC0xLzIgLXRyYW5zbGF0ZS15LTEvMiByaWdodC0wIHB4LVs3cHhdIGxlYWRpbmctdGlnaHQgY2xlYXItc2VhcmNoLWlucHV0IG1yLTJcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhclNlYXJjaElucHV0VmFsdWUoJGV2ZW50KVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bWF0LWljb25cbiAgICAgICAgICAgIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCAhaC1bMTBweF0gIXctWzEycHhdIHRleHQtWzEycHhdXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBjbG9zZVxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bGFiZWxcbiAgICAgICpuZ0Zvcj1cImxldCBjaG9pY2Ugb2YgZmlsdGVyZWRDaG9pY2VzQnlUZXh0XCJcbiAgICAgIFt0aXRsZV09XCJjaG9pY2UubGFiZWxcIlxuICAgICAgY2xhc3M9XCJmbGV4IHB4LTUgcHktMSB3LWZ1bGwgdGV4dC1ncmF5LTkwMCBjdXJzb3ItcG9pbnRlciBob3Zlcjp0ZXh0LXByaW1hcnktZGFya2VzdCBob3ZlcjpiZy1ncmF5LTUwIGZvY3VzLXdpdGhpbjp0ZXh0LXByaW1hcnktZGFya2VzdCBmb2N1cy13aXRoaW46YmctZ3JheS01MCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgPlxuICAgICAgPGlucHV0XG4gICAgICAgIGNsYXNzPVwidy1bMThweF0gaC1bMThweF0gYWxpZ24tdGV4dC10b3Agc2hyaW5rLTBcIlxuICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAjY2hlY2tCb3hcbiAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChjaG9pY2UpXCJcbiAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3QoY2hvaWNlLCBjaGVja0JveC5jaGVja2VkKVwiXG4gICAgICAvPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtbC1bOHB4XSB0ZXh0LVsxNHB4XSB0cnVuY2F0ZVwiPlxuICAgICAgICB7eyBjaG9pY2UubGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Directive, ElementRef, Renderer2, EventEmitter, Output, Input, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class EditableLabelDirective {
|
|
4
|
+
constructor(el, renderer) {
|
|
5
|
+
this.el = el;
|
|
6
|
+
this.renderer = renderer;
|
|
7
|
+
this.editableLabelChanged = new EventEmitter();
|
|
8
|
+
}
|
|
9
|
+
ngAfterViewInit() {
|
|
10
|
+
if (this.gnUiEditableLabel !== false) {
|
|
11
|
+
const appendedInput = this.renderer.createElement('input');
|
|
12
|
+
this.renderer.setStyle(appendedInput, 'background', 'inherit');
|
|
13
|
+
this.renderer.setStyle(appendedInput, 'color', 'inherit');
|
|
14
|
+
this.renderer.setStyle(appendedInput, 'font', 'inherit');
|
|
15
|
+
this.renderer.setStyle(appendedInput, 'border', 'inherit');
|
|
16
|
+
this.renderer.setStyle(appendedInput, 'width', '100%');
|
|
17
|
+
this.renderer.setStyle(appendedInput, 'padding', 'inherit');
|
|
18
|
+
this.renderer.setStyle(appendedInput, 'margin', '0');
|
|
19
|
+
this.renderer.setStyle(appendedInput, 'height', 'inherit');
|
|
20
|
+
this.renderer.setStyle(appendedInput, 'line-height', 'inherit');
|
|
21
|
+
this.renderer.setStyle(appendedInput, 'text-decoration', 'inherit');
|
|
22
|
+
const hostContent = this.el.nativeElement.textContent || '';
|
|
23
|
+
const formattedContent = hostContent.replace(/\s+/g, ' ').trim();
|
|
24
|
+
this.renderer.setProperty(appendedInput, 'value', formattedContent);
|
|
25
|
+
this.renderer.setProperty(this.el.nativeElement, 'innerHTML', '');
|
|
26
|
+
this.renderer.listen(appendedInput, 'input', (event) => {
|
|
27
|
+
this.editableLabelChanged.emit(event.target.value);
|
|
28
|
+
});
|
|
29
|
+
this.renderer.appendChild(this.el.nativeElement, appendedInput);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditableLabelDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
33
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: EditableLabelDirective, isStandalone: true, selector: "[gnUiEditableLabel]", inputs: { gnUiEditableLabel: "gnUiEditableLabel" }, outputs: { editableLabelChanged: "editableLabelChanged" }, ngImport: i0 }); }
|
|
34
|
+
}
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: EditableLabelDirective, decorators: [{
|
|
36
|
+
type: Directive,
|
|
37
|
+
args: [{
|
|
38
|
+
selector: '[gnUiEditableLabel]',
|
|
39
|
+
standalone: true,
|
|
40
|
+
}]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { editableLabelChanged: [{
|
|
42
|
+
type: Output
|
|
43
|
+
}], gnUiEditableLabel: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}] } });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtbGFiZWwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS9pbnB1dHMvc3JjL2xpYi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFBOztBQU10QixNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUhyRCx5QkFBb0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFBO0lBR08sQ0FBQztJQUVuRSxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxFQUFFO1lBQ3BDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBRTFELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQ3hELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUE7WUFDMUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQTtZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFBO1lBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLENBQUMsQ0FBQTtZQUVuRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO1lBQzNELE1BQU0sZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1lBQ25FLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUVqRSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3JELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNwRCxDQUFDLENBQUMsQ0FBQTtZQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFBO1NBQ2hFO0lBQ0gsQ0FBQzs4R0FoQ1Usc0JBQXNCO2tHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3lIQUVXLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRSxpQkFBaUI7c0JBQXpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIFJlbmRlcmVyMixcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgRXZlbnRFbWl0dGVyLFxuICBPdXRwdXQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZ25VaUVkaXRhYmxlTGFiZWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRWRpdGFibGVMYWJlbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBAT3V0cHV0KCkgZWRpdGFibGVMYWJlbENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBASW5wdXQoKSBnblVpRWRpdGFibGVMYWJlbD86IGJvb2xlYW5cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIGlmICh0aGlzLmduVWlFZGl0YWJsZUxhYmVsICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgYXBwZW5kZWRJbnB1dCA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnaW5wdXQnKVxuXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdiYWNrZ3JvdW5kJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnY29sb3InLCAnaW5oZXJpdCcpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdmb250JywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnYm9yZGVyJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnd2lkdGgnLCAnMTAwJScpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICdwYWRkaW5nJywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnbWFyZ2luJywgJzAnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnaGVpZ2h0JywgJ2luaGVyaXQnKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShhcHBlbmRlZElucHV0LCAnbGluZS1oZWlnaHQnLCAnaW5oZXJpdCcpXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGFwcGVuZGVkSW5wdXQsICd0ZXh0LWRlY29yYXRpb24nLCAnaW5oZXJpdCcpXG5cbiAgICAgIGNvbnN0IGhvc3RDb250ZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50IHx8ICcnXG4gICAgICBjb25zdCBmb3JtYXR0ZWRDb250ZW50ID0gaG9zdENvbnRlbnQucmVwbGFjZSgvXFxzKy9nLCAnICcpLnRyaW0oKVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eShhcHBlbmRlZElucHV0LCAndmFsdWUnLCBmb3JtYXR0ZWRDb250ZW50KVxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdpbm5lckhUTUwnLCAnJylcblxuICAgICAgdGhpcy5yZW5kZXJlci5saXN0ZW4oYXBwZW5kZWRJbnB1dCwgJ2lucHV0JywgKGV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMuZWRpdGFibGVMYWJlbENoYW5nZWQuZW1pdChldmVudC50YXJnZXQudmFsdWUpXG4gICAgICB9KVxuXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgYXBwZW5kZWRJbnB1dClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -32,6 +32,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
|
|
|
32
32
|
import { MatInputModule } from '@angular/material/input';
|
|
33
33
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
34
34
|
import { MatNativeDateModule } from '@angular/material/core';
|
|
35
|
+
import { EditableLabelDirective } from './editable-label/editable-label.directive';
|
|
35
36
|
import * as i0 from "@angular/core";
|
|
36
37
|
import * as i1 from "@ngx-translate/core";
|
|
37
38
|
export class UiInputsModule {
|
|
@@ -73,7 +74,8 @@ export class UiInputsModule {
|
|
|
73
74
|
MatFormFieldModule,
|
|
74
75
|
MatInputModule,
|
|
75
76
|
MatDatepickerModule,
|
|
76
|
-
MatNativeDateModule
|
|
77
|
+
MatNativeDateModule,
|
|
78
|
+
EditableLabelDirective], exports: [DropdownSelectorComponent,
|
|
77
79
|
AutocompleteComponent,
|
|
78
80
|
ButtonComponent,
|
|
79
81
|
TextInputComponent,
|
|
@@ -89,7 +91,8 @@ export class UiInputsModule {
|
|
|
89
91
|
CopyTextButtonComponent,
|
|
90
92
|
CheckboxComponent,
|
|
91
93
|
SearchInputComponent,
|
|
92
|
-
DateRangePickerComponent
|
|
94
|
+
DateRangePickerComponent,
|
|
95
|
+
EditableLabelDirective] }); }
|
|
93
96
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: UiInputsModule, imports: [CommonModule,
|
|
94
97
|
TranslateModule.forChild(),
|
|
95
98
|
NgxDropzoneModule,
|
|
@@ -155,6 +158,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
155
158
|
MatInputModule,
|
|
156
159
|
MatDatepickerModule,
|
|
157
160
|
MatNativeDateModule,
|
|
161
|
+
EditableLabelDirective,
|
|
158
162
|
],
|
|
159
163
|
exports: [
|
|
160
164
|
DropdownSelectorComponent,
|
|
@@ -174,7 +178,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImpor
|
|
|
174
178
|
CheckboxComponent,
|
|
175
179
|
SearchInputComponent,
|
|
176
180
|
DateRangePickerComponent,
|
|
181
|
+
EditableLabelDirective,
|
|
177
182
|
],
|
|
178
183
|
}]
|
|
179
184
|
}] });
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUs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QkFDdkIsaUJBQWlCO3dCQUNqQixvQkFBb0I7d0JBQ3BCLHdCQUF3QjtxQkFDekI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgVXRpbFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRhZ0lucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWNoaXBzJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50J1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IENoaXBzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzLWlucHV0L2NoaXBzLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgU3RhclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vc3Rhci10b2dnbGUvc3Rhci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50J1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3cG9ydC1pbnRlcnNlY3Rvci92aWV3cG9ydC1pbnRlcnNlY3Rvci5jb21wb25lbnQnXG5pbXBvcnQge1xuICBGb3JtRmllbGRBcnJheUNvbXBvbmVudCxcbiAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICBGb3JtRmllbGRGaWxlQ29tcG9uZW50LFxuICBGb3JtRmllbGRPYmplY3RDb21wb25lbnQsXG4gIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gIEZvcm1GaWVsZFNpbXBsZUNvbXBvbmVudCxcbiAgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRDb21wb25lbnQsXG59IGZyb20gJy4vZm9ybS1maWVsZCdcbmltcG9ydCB7IENoZWNrVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay10b2dnbGUvY2hlY2stdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IENvcHlUZXh0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb3B5LXRleHQtYnV0dG9uL2NvcHktdGV4dC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50J1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgRHJhZ0FuZERyb3BGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgQ2hpcHNJbnB1dENvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50LFxuICAgIFN0YXJUb2dnbGVDb21wb25lbnQsXG4gICAgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTaW1wbGVDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQXJyYXlDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT2JqZWN0Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50Q29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRHJvcGRvd25TZWxlY3RvckNvbXBvbmVudCxcbiAgICBBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQnV0dG9uQ29tcG9uZW50LFxuICAgIFRleHRJbnB1dENvbXBvbmVudCxcbiAgICBEcmFnQW5kRHJvcEZpbGVJbnB1dENvbXBvbmVudCxcbiAgICBUZXh0QXJlYUNvbXBvbmVudCxcbiAgICBDaGlwc0lucHV0Q29tcG9uZW50LFxuICAgIE5hdmlnYXRpb25CdXR0b25Db21wb25lbnQsXG4gICAgU3RhclRvZ2dsZUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgIFZpZXdwb3J0SW50ZXJzZWN0b3JDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVWlJbnB1dHNNb2R1bGUge31cbiJdfQ==
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWktaW5wdXRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkvaW5wdXRzL3NyYy9saWIvdWktaW5wdXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDaEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUE7QUFDN0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBQ3pFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtEQUErRCxDQUFBO0FBQzdHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQzNGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFBO0FBQ3RFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQTtBQUMzRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUs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d0JBQ3pCLG1CQUFtQjt3QkFDbkIsNEJBQTRCO3dCQUM1Qiw0QkFBNEI7d0JBQzVCLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQix3QkFBd0I7d0JBQ3hCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0IHsgVXRpbFNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xpYnMvdXRpbC9zaGFyZWQvc3JjJ1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFRhZ0lucHV0TW9kdWxlIH0gZnJvbSAnbmd4LWNoaXBzJ1xuaW1wb3J0IHsgTmd4RHJvcHpvbmVNb2R1bGUgfSBmcm9tICduZ3gtZHJvcHpvbmUnXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50J1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCdcbmltcG9ydCB7IENoaXBzSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL2NoaXBzLWlucHV0L2NoaXBzLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi9kcmFnLWFuZC1kcm9wLWZpbGUtaW5wdXQvZHJhZy1hbmQtZHJvcC1maWxlLWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQgfSBmcm9tICcuL2Ryb3Bkb3duLXNlbGVjdG9yL2Ryb3Bkb3duLXNlbGVjdG9yLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRBcmVhQ29tcG9uZW50IH0gZnJvbSAnLi90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCdcbmltcG9ydCB7IFRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudCdcbmltcG9ydCB7IE1hdEF1dG9jb21wbGV0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSdcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJ1xuaW1wb3J0IHsgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1idXR0b24vbmF2aWdhdGlvbi1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgU3RhclRvZ2dsZUNvbXBvbmVudCB9IGZyb20gJy4vc3Rhci10b2dnbGUvc3Rhci10b2dnbGUuY29tcG9uZW50J1xuaW1wb3J0IHsgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24tbXVsdGlzZWxlY3QvZHJvcGRvd24tbXVsdGlzZWxlY3QuY29tcG9uZW50J1xuaW1wb3J0IHsgVWlXaWRnZXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbGlicy91aS93aWRnZXRzL3NyYydcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnXG5pbXBvcnQgeyBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50IH0gZnJvbSAnLi92aWV3cG9ydC1pbnRlcnNlY3Rvci92aWV3cG9ydC1pbnRlcnNlY3Rvci5jb21wb25lbnQnXG5pbXBvcnQge1xuICBGb3JtRmllbGRBcnJheUNvbXBvbmVudCxcbiAgRm9ybUZpZWxkQ29tcG9uZW50LFxuICBGb3JtRmllbGRGaWxlQ29tcG9uZW50LFxuICBGb3JtRmllbGRPYmplY3RDb21wb25lbnQsXG4gIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gIEZvcm1GaWVsZFNpbXBsZUNvbXBvbmVudCxcbiAgRm9ybUZpZWxkU3BhdGlhbEV4dGVudENvbXBvbmVudCxcbiAgRm9ybUZpZWxkVGVtcG9yYWxFeHRlbnRDb21wb25lbnQsXG59IGZyb20gJy4vZm9ybS1maWVsZCdcbmltcG9ydCB7IENoZWNrVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVjay10b2dnbGUvY2hlY2stdG9nZ2xlLmNvbXBvbmVudCdcbmltcG9ydCB7IENvcHlUZXh0QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb3B5LXRleHQtYnV0dG9uL2NvcHktdGV4dC1idXR0b24uY29tcG9uZW50J1xuaW1wb3J0IHsgTWF0VG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50J1xuaW1wb3J0IHsgU2VhcmNoSW5wdXRDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXJhbmdlLXBpY2tlci9kYXRlLXJhbmdlLXBpY2tlci5jb21wb25lbnQnXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJ1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCdcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJ1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnXG5pbXBvcnQgeyBFZGl0YWJsZUxhYmVsRGlyZWN0aXZlIH0gZnJvbSAnLi9lZGl0YWJsZS1sYWJlbC9lZGl0YWJsZS1sYWJlbC5kaXJlY3RpdmUnXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERyb3Bkb3duU2VsZWN0b3JDb21wb25lbnQsXG4gICAgQXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICBUZXh0SW5wdXRDb21wb25lbnQsXG4gICAgRHJhZ0FuZERyb3BGaWxlSW5wdXRDb21wb25lbnQsXG4gICAgVGV4dEFyZWFDb21wb25lbnQsXG4gICAgQ2hpcHNJbnB1dENvbXBvbmVudCxcbiAgICBOYXZpZ2F0aW9uQnV0dG9uQ29tcG9uZW50LFxuICAgIFN0YXJUb2dnbGVDb21wb25lbnQsXG4gICAgRHJvcGRvd25NdWx0aXNlbGVjdENvbXBvbmVudCxcbiAgICBWaWV3cG9ydEludGVyc2VjdG9yQ29tcG9uZW50LFxuICAgIEZvcm1GaWVsZENvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTaW1wbGVDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkQXJyYXlDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkT2JqZWN0Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFJpY2hDb21wb25lbnQsXG4gICAgRm9ybUZpZWxkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRTcGF0aWFsRXh0ZW50Q29tcG9uZW50LFxuICAgIEZvcm1GaWVsZFRlbXBvcmFsRXh0ZW50Q29tcG9uZW50LFxuICAgIENoZWNrVG9nZ2xlQ29tcG9uZW50LFxuICAgIENvcHlUZXh0QnV0dG9uQ29tcG9uZW50LFxuICAgIENoZWNrYm94Q29tcG9uZW50LFxuICAgIFNlYXJjaElucHV0Q29tcG9uZW50LFxuICAgIERhdGVSYW5nZVBpY2tlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBOZ3hEcm9wem9uZU1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIFRhZ0lucHV0TW9kdWxlLFxuICAgIFV0aWxTaGFyZWRNb2R1bGUsXG4gICAgTWF0QXV0b2NvbXBsZXRlTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgVWlXaWRnZXRzTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXROYXRpdmVEYXRlTW9kdWxlLFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEcm9wZG93blNlbGVjdG9yQ29tcG9uZW50LFxuICAgIEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICBCdXR0b25Db21wb25lbnQsXG4gICAgVGV4dElucHV0Q29tcG9uZW50LFxuICAgIERyYWdBbmREcm9wRmlsZUlucHV0Q29tcG9uZW50LFxuICAgIFRleHRBcmVhQ29tcG9uZW50LFxuICAgIENoaXBzSW5wdXRDb21wb25lbnQsXG4gICAgTmF2aWdhdGlvbkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTdGFyVG9nZ2xlQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgVmlld3BvcnRJbnRlcnNlY3RvckNvbXBvbmVudCxcbiAgICBGb3JtRmllbGRDb21wb25lbnQsXG4gICAgQ2hlY2tUb2dnbGVDb21wb25lbnQsXG4gICAgQ29weVRleHRCdXR0b25Db21wb25lbnQsXG4gICAgQ2hlY2tib3hDb21wb25lbnQsXG4gICAgU2VhcmNoSW5wdXRDb21wb25lbnQsXG4gICAgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50LFxuICAgIEVkaXRhYmxlTGFiZWxEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFVpSW5wdXRzTW9kdWxlIHt9XG4iXX0=
|
|
@@ -28,11 +28,11 @@ export class CarouselComponent {
|
|
|
28
28
|
this.emblaApi.scrollTo(stepIndex);
|
|
29
29
|
}
|
|
30
30
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: CarouselComponent, selector: "gn-ui-carousel", inputs: { containerClass: "containerClass", stepsContainerClass: "stepsContainerClass" }, viewQueries: [{ propertyName: "carouselOverflowContainer", first: true, predicate: ["carouselOverflowContainer"], descendants: true }], ngImport: i0, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
32
|
}
|
|
33
33
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
34
34
|
type: Component,
|
|
35
|
-
args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container
|
|
35
|
+
args: [{ selector: 'gn-ui-carousel', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #carouselOverflowContainer class=\"overflow-hidden h-full w-full\">\n <div class=\"carousel-container flex flex-row\" [ngClass]=\"containerClass\">\n <ng-content></ng-content>\n </div>\n</div>\n<div\n class=\"absolute right-0 top-0 flex flex-row justify-center gap-[10px] p-1\"\n [ngClass]=\"stepsContainerClass\"\n>\n <button\n *ngFor=\"let step of steps; let i = index\"\n class=\"carousel-step-dot\"\n (click)=\"scrollToStep(i)\"\n [ngClass]=\"selectedStep === i ? 'bg-secondary' : 'bg-gray-400'\"\n ></button>\n</div>\n", styles: [":host .carousel-container ::ng-deep>*{flex-shrink:0}:host{position:relative}.carousel-step-dot{width:6px;height:6px;border-radius:6px;position:relative}.carousel-step-dot:after{content:\"\";position:absolute;left:-4px;top:-4px;width:14px;height:14px}\n"] }]
|
|
36
36
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { containerClass: [{
|
|
37
37
|
type: Input
|
|
38
38
|
}], stepsContainerClass: [{
|
package/esm2022/libs/ui/search/src/lib/record-preview-card/record-preview-card.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
5
5
|
export class RecordPreviewCardComponent extends RecordPreviewComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewCardComponent, selector: "gn-ui-record-preview-card", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-full border bg-white rounded-sm overflow-hidden transition duration-200 transform hover:scale-105 hover:bg-gray-50 border-gray-300 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [title]=\"record.abstract\"\n [target]=\"linkTarget\"\n >\n <div class=\"flex flex-col min-h-full\">\n <gn-ui-thumbnail\n class=\"lg:h-48 md:h-36 border-b border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow p-4\">\n <h1 class=\"title-font text-lg font-medium mb-3 clamp-2\">\n {{ record.title }}\n </h1>\n <p class=\"leading-relaxed text-sm text-gray-700 clamp-3\">\n {{ record.abstract }}\n </p>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewCardComponent, decorators: [{
|
|
10
10
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-feed/record-preview-feed.component.mjs
CHANGED
|
@@ -27,7 +27,7 @@ export class RecordPreviewFeedComponent extends RecordPreviewComponent {
|
|
|
27
27
|
return this.timeFormat.format(this.record.recordCreated, Date.now());
|
|
28
28
|
}
|
|
29
29
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewFeedComponent, selector: "gn-ui-record-preview-feed", usesInheritance: true, ngImport: i0, template: "<div\n class=\"mx-[18px] pl-[18px] pb-[18px] border-solid border-l-2 border-gray-100\"\n>\n <a\n class=\"record-container block rounded-lg bg-white border border-white card-shadow\"\n [attr.href]=\"linkHref\"\n [target]=\"linkTarget\"\n >\n <div\n class=\"record-header py-4 px-4 border-b border-gray-300 flex flex-row items-center relative transition duration-200\"\n >\n <div\n class=\"absolute w-3 h-3 bg-secondary rounded-full\"\n style=\"right: calc(100% + 14px)\"\n ></div>\n <div\n class=\"record-header-image border border-gray-300 bg-white rounded-full w-16 h-16 object-contain mr-4 overflow-hidden transition duration-200 shrink-0\"\n >\n <mat-icon\n *ngIf=\"!hasLogo\"\n class=\"material-symbols-outlined text-gray-200\"\n style=\"width: 42px; height: 42px; font-size: 42px; margin: 10px\"\n >{{ hasOnlyPerson ? 'face' : 'home_work' }}</mat-icon\n >\n <gn-ui-thumbnail\n *ngIf=\"hasLogo\"\n [thumbnailUrl]=\"record.ownerOrganization?.logoUrl?.toString()\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n </div>\n <div class=\"flex flex-col overflow-hidden items-start\">\n <span\n *ngIf=\"hasOrganization\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ record.ownerOrganization.name }}\n </span>\n <span\n *ngIf=\"hasOnlyPerson\"\n class=\"font-bold transition duration-200 text-primary truncate max-w-full\"\n >\n {{ contact.firstName }} {{ contact.lastName }}\n </span>\n <p class=\"\">\n <span translate [translateParams]=\"{ time }\"\n >record.was.created.time</span\n >\n </p>\n </div>\n </div>\n <div class=\"pt-5 pb-5 px-10 relative\">\n <div class=\"absolute top-[0.85em] right-[0.85em]\">\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n <h1\n class=\"font-title text-black text-[21px] font-medium mb-3 pr-8\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </h1>\n <p class=\"line-clamp-3\">{{ abstract }}</p>\n <gn-ui-thumbnail\n *ngIf=\"record.overviews?.[0]\"\n class=\"block mt-3 w-full h-[136px] border border-gray-100 rounded-lg overflow-hidden\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-row mt-3\" *ngIf=\"isDownloadable || isViewable\">\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >cloud_download\n </mat-icon>\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mr-3\"\n >map\n </mat-icon>\n </div>\n </div>\n </a>\n</div>\n", styles: [".record-container:hover .record-header,.record-container:hover .record-header-image{border-color:var(--color-primary-lightest)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
31
|
}
|
|
32
32
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewFeedComponent, decorators: [{
|
|
33
33
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-list/record-preview-list.component.mjs
CHANGED
|
@@ -6,7 +6,7 @@ import * as i2 from "@ngx-translate/core";
|
|
|
6
6
|
import * as i3 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
7
7
|
export class RecordPreviewListComponent extends RecordPreviewComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewListComponent, selector: "gn-ui-record-preview-list", usesInheritance: true, ngImport: i0, template: "<div\n class=\"h-40 bg-white transition duration-200 border border-gray-200 rounded-md hover:bg-gray-50 hover:border-primary hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center shadow-sm\">\n <gn-ui-thumbnail\n class=\"w-40 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow h-full px-6 py-4 flex flex-col overflow-hidden\">\n <div class=\"title-font text-lg font-medium mb-2\">\n <h1 class=\"truncate\">{{ record.title }}</h1>\n </div>\n <p class=\"leading-relaxed clamp-3 text-sm text-gray-700\">\n {{ record.abstract }}\n </p>\n <div class=\"grow\"></div>\n <div class=\"flex flex-row items-center\">\n <div\n class=\"text-gray-500 text-xs truncate capitalize border-r mr-4 pr-4\"\n *ngIf=\"record.kind === 'dataset'\"\n >\n <span translate>{{ record.updateFrequency }}</span>\n </div>\n <div\n class=\"text-gray-500 text-xs border-gray-300 truncate viewable-downloadable\"\n *ngIf=\"isViewable || isDownloadable\"\n >\n <span *ngIf=\"isViewable\" translate>record.action.view</span>\n <span *ngIf=\"isViewable && isDownloadable\">, </span>\n <span *ngIf=\"isDownloadable\" translate>record.action.download</span>\n </div>\n </div>\n </div>\n </div>\n </a>\n</div>\n", styles: [".viewable-downloadable :first-child{text-transform:capitalize}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewListComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
@@ -11,7 +11,7 @@ export class RecordPreviewRowComponent extends RecordPreviewComponent {
|
|
|
11
11
|
this.elementRef = elementRef;
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewRowComponent, selector: "gn-ui-record-preview-row", usesInheritance: true, ngImport: i0, template: "<a\n class=\"group container-lg mx-auto flex cursor-pointer flex-wrap sm:flex-nowrap\"\n [title]=\"record.title\"\n [attr.href]=\"linkHref\"\n>\n <div class=\"shrink-0 w-full sm:w-52\">\n <div\n class=\"overflow-hidden bg-gray-100 rounded-lg w-full border border-gray-300 h-36\"\n >\n <gn-ui-thumbnail\n class=\"relative h-full w-full object-cover object-left-top\"\n [thumbnailUrl]=\"[record.overviews?.[0]?.url?.toString(), organization?.logoUrl?.toString()]\"\n [fit]=\"['cover', 'contain']\"\n ></gn-ui-thumbnail>\n </div>\n </div>\n <div\n class=\"content grid grow relative sm:pl-6 sm:pr-12\"\n style=\"grid-template-columns: auto 70px\"\n >\n <div class=\"mb-3 mt-5 sm:mt-2\">\n <div\n class=\"font-title text-21 text-title line-clamp-2 col-start-1 col-span-2 sm:line-clamp-1 group-hover:text-primary transition-colors\"\n data-cy=\"recordTitle\"\n >\n {{ record.title }}\n </div>\n </div>\n <div\n class=\"abstract mt-4 mb-5 h-36 line-clamp-6 col-start-1 col-span-2 row-start-3 sm:mb-2 sm:h-[4.5rem] sm:line-clamp-3 sm:row-start-2 sm:mt-0\"\n data-cy=\"recordAbstract\"\n >\n {{ abstract }}\n </div>\n <div\n class=\"text-primary opacity-45 uppercase col-start-1 col-span-2 row-start-2 sm:truncate sm:row-start-3 sm:col-span-1\"\n data-cy=\"recordOrg\"\n [class]=\"metadataQualityDisplay ? 'limit-organisation-with-quality' : ''\"\n >\n {{ organization?.name }}\n </div>\n <div\n class=\"icons flex flex-row col-start-1 row-start-4 sm:col-start-2 sm:row-start-3 sm:absolute sm:right-[0.4em]\"\n >\n <mat-icon\n *ngIf=\"isDownloadable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >cloud_download</mat-icon\n >\n <mat-icon\n *ngIf=\"isViewable\"\n class=\"material-symbols-outlined text-primary opacity-45 mx-1\"\n >map</mat-icon\n >\n </div>\n <div\n *ngIf=\"metadataQualityDisplay\"\n class=\"col-start-2 row-start-4 sm:row-start-3 absolute right-[4em] sm:right-[5em]\"\n >\n <gn-ui-metadata-quality\n smaller=\"true\"\n [metadata]=\"record\"\n [metadataQualityDisplay]=\"metadataQualityDisplay\"\n ></gn-ui-metadata-quality>\n </div>\n <div\n class=\"text-right col-start-3 row-start-4 sm:absolute sm:col-start-2 sm:row-start-1 sm:top-[-1.125em] sm:right-[0.4em]\"\n data-cy=\"recordFav\"\n >\n <ng-container\n [ngTemplateOutlet]=\"favoriteTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: record }\"\n ></ng-container>\n </div>\n </div>\n</a>\n", styles: [".limit-organisation-with-quality{max-width:calc(100% - 170px)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MetadataQualityComponent, selector: "gn-ui-metadata-quality", inputs: ["metadata", "smaller", "metadataQualityDisplay"] }, { kind: "component", type: i3.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewRowComponent, decorators: [{
|
|
17
17
|
type: Component,
|
package/esm2022/libs/ui/search/src/lib/record-preview-title/record-preview-title.component.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
import * as i1 from "../../../../elements/src/lib/thumbnail/thumbnail.component";
|
|
5
5
|
export class RecordPreviewTitleComponent extends RecordPreviewComponent {
|
|
6
6
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: RecordPreviewTitleComponent, selector: "gn-ui-record-preview-title", usesInheritance: true, ngImport: i0, template: "<!-- Record list item: List Small -->\n<div\n class=\"h-10 w-full border-b border-gray-200 transition duration-200 rounded-sm hover:text-primary\"\n>\n <a\n [href]=\"record.landingPage\"\n [target]=\"linkTarget\"\n [title]=\"record.abstract\"\n >\n <div class=\"h-full flex flex-row items-center\">\n <gn-ui-thumbnail\n class=\"w-10 h-full shrink-0 border-r border-gray-200 bg-gray-100\"\n [thumbnailUrl]=\"record.overviews?.[0]?.url.toString()\"\n ></gn-ui-thumbnail>\n\n <div class=\"grow px-3 py-1 flex flex-col overflow-hidden\">\n <h1 class=\"title-font text-sm font-bold truncate md:text-clip\">\n {{ record.title }}\n </h1>\n </div>\n </div>\n </a>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
9
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RecordPreviewTitleComponent, decorators: [{
|
|
10
10
|
type: Component,
|