ngx-bimplus-components 0.0.148 → 0.0.149-28792-3
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/assets/images/default/Attachment_18_gray.svg +1 -0
- package/assets/images/default/Attachment_18_maincolor.svg +3 -0
- package/assets/images/default/Attachmentlink_18_gray.svg +7 -0
- package/assets/images/default/Attachmentlink_18_maincolor.svg +7 -0
- package/assets/images/default/Comments_18_gray.svg +1 -0
- package/assets/images/default/Comments_18_maincolor.svg +4 -0
- package/assets/images/default/Links_18_gray.svg +1 -0
- package/assets/images/default/Links_18_maincolor.svg +4 -0
- package/assets/images/default/ic_models.svg +3 -0
- package/assets/images/default/ic_models_maincolor.svg +3 -0
- package/assets/images/default/icn_grid_attachments.png +0 -0
- package/assets/images/default/icn_grid_hyperlinks.png +0 -0
- package/assets/languages/strings_cs.json +24 -72
- package/assets/languages/strings_de.json +4 -15
- package/assets/languages/strings_en.json +5 -5
- package/assets/languages/strings_es.json +6 -54
- package/assets/languages/strings_fr.json +6 -50
- package/assets/languages/strings_it.json +2 -50
- package/assets/languages/strings_nl.json +796 -796
- package/assets/languages/strings_ro.json +7 -55
- package/assets/languages/strings_ru.json +45 -93
- package/assets/languages/strings_tr.json +2 -50
- package/assets/languages/strings_us.json +8 -44
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.component.mjs +69 -0
- package/esm2022/lib/components/bimplus-attachments/bimplus-attachments.interface.mjs +34 -0
- package/esm2022/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.mjs +82 -0
- package/esm2022/lib/components/bimplus-attachments/services/bimplus-attachments.service.mjs +49 -0
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.mjs +20 -7
- package/esm2022/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.mjs +5 -2
- package/esm2022/lib/components/bimplus-comment/bimplus-comment.component.mjs +68 -0
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.component.mjs +7 -7
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-connection-designer/bimplus-connection-designer.service.mjs +4 -4
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-connection-designer-results/bimplus-connection-designer-results.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-contact/bimplus-contact.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-context-menu/bimplus-context-menu.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-flat-tree/bimplus-flat-tree.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-floating-bar/bimplus-floating-bar.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-floating-bar-body/bimplus-floating-bar-body.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-floating-bar-dragger/bimplus-floating-bar-dragger.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-floating-bar-header-content/bimplus-floating-bar-header-content.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.mjs +4 -4
- package/esm2022/lib/components/bimplus-floating-bar-hide-objects/bimplus-floating-bar-hide-objects.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-floating-bar-isolation-objects/bimplus-floating-bar-isolation-objects.component.mjs +4 -4
- package/esm2022/lib/components/bimplus-floating-bar-project-navigator/bimplus-floating-bar-project-navigator.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.component.mjs +4 -4
- package/esm2022/lib/components/bimplus-general-overlay-dialog/bimplus-general-overlay-dialog.service.mjs +3 -3
- package/esm2022/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.mjs +58 -0
- package/esm2022/lib/components/bimplus-language-menu/bimplus-language-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-localized-widget/bimplus-localized-widget.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-main-menu/bimplus-main-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-navbar/bimplus-navbar.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-notify/bimplus-notify.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.mjs +242 -0
- package/esm2022/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.mjs +2 -0
- package/esm2022/lib/components/bimplus-object-complex-properties/bimplus-object-complex-properties.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-navigator/bimplus-object-navigator.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-object-navigator/filter-criterium/filter-criterium.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-object-navigator/object-filter-result/object-filter-result.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-object-structure/bimplus-object-structure.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.mjs +73 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.mjs +75 -0
- package/esm2022/lib/components/bimplus-overlay-dialog-error/bimplus-overlay-dialog-error.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.mjs +10 -7
- package/esm2022/lib/components/bimplus-panel-toolbar/bimplus-panel-toolbar.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-project-menu/bimplus-project-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-sidenav/bimplus-sidenav.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-sidenav-drawer-content/bimplus-sidenav-drawer-content.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-storage-info/bimplus-storage-info.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.mjs +38 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.mjs +10 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.mjs +89 -0
- package/esm2022/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.mjs +33 -0
- package/esm2022/lib/components/bimplus-text-message/bimplus-text-message.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-textarea/autoResizeTextarea.directive.mjs +83 -0
- package/esm2022/lib/components/bimplus-textarea/bimplus-textarea.component.mjs +122 -0
- package/esm2022/lib/components/bimplus-tool-hub/bimplus-tool-hub.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tool-hub/svgGenerator.mjs +1 -1
- package/esm2022/lib/components/bimplus-tool-hub/tool-hub-item/tool-hub-item.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tool-hub/tool-hub-sub-item/tool-hub-sub-item.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-tooltip-message/bimplus-tooltip-message.interface.mjs +1 -1
- package/esm2022/lib/components/bimplus-touch-menu/bimplus-touch-menu.component.mjs +5 -5
- package/esm2022/lib/components/bimplus-user-menu/bimplus-user-menu.component.mjs +3 -3
- package/esm2022/lib/components/bimplus-zoom/bimplus-zoom.component.mjs +5 -5
- package/esm2022/lib/components/expansion-panel/expansion-panel.component.mjs +3 -3
- package/esm2022/lib/components/expansion-panel-header/expansion-panel-header.component.mjs +3 -3
- package/esm2022/lib/components/expansion-panel-header-actions/expansion-panel-header-actions.component.mjs +3 -3
- package/esm2022/lib/components/links-to-documents/links-to-documents.component.interface.mjs +2 -0
- package/esm2022/lib/components/links-to-documents/links-to-documents.component.mjs +337 -0
- package/esm2022/lib/components/loading-spinner/loading-spinner.component.mjs +3 -3
- package/esm2022/lib/components/object-hyperlinks/object-hyperlinks.component.mjs +141 -0
- package/esm2022/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.mjs +36 -0
- package/esm2022/lib/components/object-properties/object-properties.component.mjs +261 -0
- package/esm2022/lib/components/object-properties/object-properties.interface.mjs +2 -0
- package/esm2022/lib/components/object-properties-group/object-properties-group.component.mjs +40 -0
- package/esm2022/lib/components/object-properties-group/object-property-value/object-property-value.component.mjs +55 -0
- package/esm2022/lib/components/object-properties-header/object-properties-header.component.mjs +21 -6
- package/esm2022/lib/components/object-properties-header/object-properties-header.interface.mjs +1 -1
- package/esm2022/lib/components/project-models/project-models.component.mjs +3 -3
- package/esm2022/lib/components/project-models/project-models.interface.mjs +1 -1
- package/esm2022/lib/components/resizable-panel/resizable-panel.component.mjs +5 -5
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +4 -4
- package/esm2022/lib/directives/component-draggable/componentsDraggable.directive.mjs +3 -3
- package/esm2022/lib/directives/draggable.directive.mjs +3 -3
- package/esm2022/lib/directives/resizable.directive.mjs +4 -4
- package/esm2022/lib/directives/x-draggable.directive.mjs +3 -3
- package/esm2022/lib/interfaces/bimplus-opacity-properties.interface.mjs +1 -1
- package/esm2022/lib/interfaces/bimplus-visibility-properties.interface.mjs +1 -1
- package/esm2022/lib/ngx-bimplus-components.component.mjs +3 -3
- package/esm2022/lib/ngx-bimplus-components.service.mjs +3 -3
- package/esm2022/lib/pipes/bit-converter.pipe.mjs +46 -0
- package/esm2022/lib/pipes/get-attribute-value.pipe.mjs +110 -0
- package/esm2022/lib/pipes/pxsuffix.pipe.mjs +3 -3
- package/esm2022/lib/pipes/round.pipe.mjs +20 -0
- package/esm2022/lib/services/cursors.service.mjs +3 -3
- package/esm2022/lib/services/language-strings.service.mjs +3 -3
- package/esm2022/lib/services/layout-manager.service.mjs +3 -3
- package/esm2022/lib/services/local-storage.service.mjs +4 -4
- package/esm2022/lib/services/resize-observer.service.mjs +4 -4
- package/esm2022/lib/types/types.mjs +1 -1
- package/esm2022/lib/utils/filterString.mjs +1 -1
- package/esm2022/lib/utils/filterStructureFetcher.mjs +1 -1
- package/esm2022/lib/utils/objectProperties.mjs +9 -0
- package/esm2022/lib/utils/utils.mjs +1 -1
- package/esm2022/public-api.mjs +17 -1
- package/fesm2022/ngx-bimplus-components.mjs +2317 -249
- package/fesm2022/ngx-bimplus-components.mjs.map +1 -1
- package/lib/components/bimplus-attachments/bimplus-attachments.component.d.ts +25 -0
- package/lib/components/bimplus-attachments/bimplus-attachments.interface.d.ts +19 -0
- package/lib/components/bimplus-attachments/components/bimplus-attachment-item/bimplus-attachment-item.component.d.ts +26 -0
- package/lib/components/bimplus-attachments/services/bimplus-attachments.service.d.ts +12 -0
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.component.d.ts +9 -3
- package/lib/components/bimplus-buttons-row/bimplus-buttons-row.interface.d.ts +5 -0
- package/lib/components/bimplus-comment/bimplus-comment.component.d.ts +34 -0
- package/lib/components/bimplus-floating-bar-header-logo/bimplus-floating-bar-header-logo.component.d.ts +1 -1
- package/lib/components/bimplus-input-text-field/bimplus-input-text-field.component.d.ts +17 -0
- package/lib/components/bimplus-object-comments-list/bimplus-object-comments-list.component.d.ts +51 -0
- package/lib/components/bimplus-object-comments-list/bimplusObjectCommentsI.d.ts +11 -0
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.component.d.ts +7 -7
- package/lib/components/bimplus-object-navigator/criteria-select-object-properties/criteria-select-object-properties.interface.d.ts +3 -3
- package/lib/components/bimplus-overlay-dialog-confirm/bimplus-overlay-dialog-confirm.component.d.ts +28 -0
- package/lib/components/bimplus-overlay-dialog-delete/bimplus-overlay-dialog-delete.component.d.ts +23 -0
- package/lib/components/bimplus-overlay-dialog-warning/bimplus-overlay-dialog-warning.component.d.ts +3 -0
- package/lib/components/bimplus-scrollable-container/bimplus-scrollable-container.component.d.ts +1 -1
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.component.d.ts +16 -0
- package/lib/components/bimplus-tabs-switcher/bimplus-tabs-switcher.interface.d.ts +18 -0
- package/lib/components/bimplus-tabs-switcher/components/bimplus-tab/bimplus-tab.component.d.ts +36 -0
- package/lib/components/bimplus-tabs-switcher/services/bimplus-tabs-switcher.service.d.ts +15 -0
- package/lib/components/bimplus-textarea/autoResizeTextarea.directive.d.ts +24 -0
- package/lib/components/bimplus-textarea/bimplus-textarea.component.d.ts +42 -0
- package/lib/components/links-to-documents/links-to-documents.component.d.ts +55 -0
- package/lib/components/links-to-documents/links-to-documents.component.interface.d.ts +11 -0
- package/lib/components/object-hyperlinks/object-hyperlinks.component.d.ts +32 -0
- package/lib/components/object-hyperlinks-item/object-hyperlinks-item.component.d.ts +15 -0
- package/lib/components/object-properties/object-properties.component.d.ts +45 -0
- package/lib/components/object-properties/object-properties.interface.d.ts +21 -0
- package/lib/components/object-properties-group/object-properties-group.component.d.ts +11 -0
- package/lib/components/object-properties-group/object-property-value/object-property-value.component.d.ts +14 -0
- package/lib/components/object-properties-header/object-properties-header.component.d.ts +5 -3
- package/lib/components/object-properties-header/object-properties-header.interface.d.ts +1 -0
- package/lib/pipes/bit-converter.pipe.d.ts +17 -0
- package/lib/pipes/get-attribute-value.pipe.d.ts +23 -0
- package/lib/pipes/round.pipe.d.ts +7 -0
- package/lib/utils/objectProperties.d.ts +2 -0
- package/package.json +12 -5
- package/public-api.d.ts +16 -0
|
@@ -24,12 +24,12 @@ export class ResizablePanelComponent {
|
|
|
24
24
|
this.drawerWidth -= deltaX;
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
27
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizablePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: ResizablePanelComponent, isStandalone: true, selector: "lib-resizable-panel", inputs: { position: "position", hasDraggableHandle: "hasDraggableHandle", hasDraggableBorder: "hasDraggableBorder" }, ngImport: i0, template: "<div\n class=\"resizable-panel-drawer\"\n [style.width] = \"drawerWidth | pxsuffix\"\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n>\n <slot></slot>\n @if (drawerExpanded) {\n @if (hasDraggableBorder) {\n <div\n xDraggable\n class=\"resizable-panel-resize-border\"\n (dragging)=\"_onResizeWidth($event)\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n @if (hasDraggableHandle) {\n <div\n xDraggable\n class=\"resizable-panel-resize-handle\"\n (dragging)=\"_onResizeWidth($event)\"\n (clicked)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n }\n</div>\n@if (!drawerExpanded) {\n @if (hasDraggableHandle) {\n <div\n class=\"resizable-panel-resize-handle collapsed\"\n (click)=\"_toggleDrawer()\"\n (keypress)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n}\n", styles: [".noselect{-webkit-user-select:none;user-select:none}.resizable-panel-drawer.position-left.hidden,.resizable-panel-drawer.position-right.hidden{display:none}.resizable-panel-drawer.position-left{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;left:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-right:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-left:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-drawer.position-right{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;right:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-left:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-right:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-resize-border.position-left{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-border.position-right{left:0;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-right{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);left:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left.collapsed{left:0;border-radius:.4rem 0 0 .4rem;transform:rotate(180deg)}.resizable-panel-resize-handle.position-right.collapsed{left:calc(100% - 2.1rem);border-radius:.4rem 0 0 .4rem;transform:rotate(0)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: XDraggableDirective, selector: "[xDraggable]", outputs: ["dragging", "clicked"] }, { kind: "pipe", type: PxsuffixPipe, name: "pxsuffix" }], encapsulation: i0.ViewEncapsulation.ShadowDom }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizablePanelComponent, decorators: [{
|
|
31
31
|
type: Component,
|
|
32
|
-
args: [{ selector: 'lib-resizable-panel', standalone: true, imports: [CommonModule, XDraggableDirective, PxsuffixPipe], encapsulation: ViewEncapsulation.ShadowDom, template: "<div\
|
|
32
|
+
args: [{ selector: 'lib-resizable-panel', standalone: true, imports: [CommonModule, XDraggableDirective, PxsuffixPipe], encapsulation: ViewEncapsulation.ShadowDom, template: "<div\n class=\"resizable-panel-drawer\"\n [style.width] = \"drawerWidth | pxsuffix\"\n [ngClass]=\"drawerExpanded ? '' : 'hidden'\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n>\n <slot></slot>\n @if (drawerExpanded) {\n @if (hasDraggableBorder) {\n <div\n xDraggable\n class=\"resizable-panel-resize-border\"\n (dragging)=\"_onResizeWidth($event)\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n @if (hasDraggableHandle) {\n <div\n xDraggable\n class=\"resizable-panel-resize-handle\"\n (dragging)=\"_onResizeWidth($event)\"\n (clicked)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n }\n</div>\n@if (!drawerExpanded) {\n @if (hasDraggableHandle) {\n <div\n class=\"resizable-panel-resize-handle collapsed\"\n (click)=\"_toggleDrawer()\"\n (keypress)=\"_toggleDrawer()\"\n [class.position-right]=\"position === 'right'\"\n [class.position-left]=\"position === 'left'\"\n >\n </div>\n }\n}\n", styles: [".noselect{-webkit-user-select:none;user-select:none}.resizable-panel-drawer.position-left.hidden,.resizable-panel-drawer.position-right.hidden{display:none}.resizable-panel-drawer.position-left{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;left:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-right:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-left:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-drawer.position-right{min-width:var(--resizable-panel-min-width, 1rem);height:100%;border:0 solid var(--sidenav-drawer-border-color-enabled);position:absolute;bottom:0;right:0;background-color:var(--sidenav-drawer-background-color-enabled);transition:background-color .7s;border-left:solid thin var(--sidenav-drawer-border-right-color-enabled);width:300px;display:flex;flex-direction:row}.resizable-panel-drawer.position-right:hover{background-color:var(--sidenav-drawer-background-color-hovered)}.resizable-panel-resize-border.position-left{right:-5px;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-border.position-right{left:0;position:absolute;height:100%;cursor:col-resize;width:5px;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);right:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-right{background-image:url('data:image/svg+xml,<svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">%0D%0A<path d=\"M11.0104 0L2 9L11.0104 18L12.4246 16.5874L4.82843 9L12.4246 1.41258L11.0104 0Z\" fill=\"%23444444\"/>%0D%0A</svg>%0D%0A');position:absolute;top:calc(50% - 2.4rem);left:-2.1rem;width:2.1rem;height:4.8rem;border-radius:0 .4rem .4rem 0;background-color:var(--sidenav-resize-handle-left-background-color-enabled);cursor:pointer;pointer-events:all;background-position:center center;background-repeat:no-repeat;transform:rotate(180deg);-webkit-user-select:none;user-select:none}.resizable-panel-resize-handle.position-left.collapsed{left:0;border-radius:.4rem 0 0 .4rem;transform:rotate(180deg)}.resizable-panel-resize-handle.position-right.collapsed{left:calc(100% - 2.1rem);border-radius:.4rem 0 0 .4rem;transform:rotate(0)}\n"] }]
|
|
33
33
|
}], propDecorators: { position: [{
|
|
34
34
|
type: Input
|
|
35
35
|
}], hasDraggableHandle: [{
|
|
@@ -37,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
37
37
|
}], hasDraggableBorder: [{
|
|
38
38
|
type: Input
|
|
39
39
|
}] } });
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Jlc2l6YWJsZS1wYW5lbC9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcmVzaXphYmxlLXBhbmVsL3Jlc2l6YWJsZS1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQTtBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFVL0MsTUFBTSxPQUFPLHVCQUF1QjtJQVJwQztRQVNXLGFBQVEsR0FBc0IsT0FBTyxDQUFDO1FBQ3RDLHVCQUFrQixHQUFhLEtBQUssQ0FBQztRQUNyQyx1QkFBa0IsR0FBYSxLQUFLLENBQUM7UUFFOUMsZ0JBQVcsR0FBWSxHQUFHLENBQUM7UUFDM0IsbUJBQWMsR0FBYSxJQUFJLENBQUM7S0FnQmpDO0lBYkMsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRCxjQUFjLENBQUMsS0FBYztRQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBRyxJQUFJLENBQUMsUUFBUSxLQUFLLE1BQU0sRUFBQyxDQUFDO1lBQzNCLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDO1FBQzdCLENBQUM7YUFDSSxJQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUM7UUFDN0IsQ0FBQztJQUNILENBQUM7K0dBckJVLHVCQUF1QjttR0FBdkIsdUJBQXVCLHFNQ2JwQyxzdkNBNENBLDZqR0RwQ1ksWUFBWSw2SEFBRSxtQkFBbUIsc0ZBQUUsWUFBWTs7NEZBSzlDLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxxQkFBcUIsY0FDbkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxpQkFHM0MsaUJBQWlCLENBQUMsU0FBUzs4QkFHakMsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFhEcmFnZ2FibGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3gtZHJhZ2dhYmxlLmRpcmVjdGl2ZSdcbmltcG9ydCB7IFB4c3VmZml4UGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3B4c3VmZml4LnBpcGUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXJlc2l6YWJsZS1wYW5lbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFhEcmFnZ2FibGVEaXJlY3RpdmUsIFB4c3VmZml4UGlwZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXNpemFibGUtcGFuZWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vcmVzaXphYmxlLXBhbmVsLmNvbXBvbmVudC5sZXNzJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uU2hhZG93RG9tXG59KVxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZVBhbmVsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcG9zaXRpb24gOiBcImxlZnRcIiB8IFwicmlnaHRcIiA9IFwicmlnaHRcIjtcbiAgQElucHV0KCkgaGFzRHJhZ2dhYmxlSGFuZGxlIDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBoYXNEcmFnZ2FibGVCb3JkZXIgOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZHJhd2VyV2lkdGggOiBudW1iZXIgPSAzMDA7XG4gIGRyYXdlckV4cGFuZGVkIDogYm9vbGVhbiA9IHRydWU7XG5cblxuICBfdG9nZ2xlRHJhd2VyKCl7XG4gICAgdGhpcy5kcmF3ZXJFeHBhbmRlZCA9ICF0aGlzLmRyYXdlckV4cGFuZGVkO1xuICB9XG4gIFxuICBfb25SZXNpemVXaWR0aChldmVudCA6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGRlbHRhWCA9IGV2ZW50O1xuICAgIGlmKHRoaXMucG9zaXRpb24gPT09IFwibGVmdFwiKXtcbiAgICAgIHRoaXMuZHJhd2VyV2lkdGggKz0gZGVsdGFYO1xuICAgIH1cbiAgICBlbHNlIGlmKHRoaXMucG9zaXRpb24gPT09IFwicmlnaHRcIil7XG4gICAgICB0aGlzLmRyYXdlcldpZHRoIC09IGRlbHRhWDtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJyZXNpemFibGUtcGFuZWwtZHJhd2VyXCJcbiAgW3N0eWxlLndpZHRoXSA9IFwiZHJhd2VyV2lkdGggfCBweHN1ZmZpeFwiXG4gIFtuZ0NsYXNzXT1cImRyYXdlckV4cGFuZGVkID8gJycgOiAnaGlkZGVuJ1wiXG4gIFtjbGFzcy5wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxuPlxuICA8c2xvdD48L3Nsb3Q+XG4gIEBpZiAoZHJhd2VyRXhwYW5kZWQpIHtcbiAgICBAaWYgKGhhc0RyYWdnYWJsZUJvcmRlcikge1xuICAgICAgPGRpdlxuICAgICAgICB4RHJhZ2dhYmxlXG4gICAgICAgIGNsYXNzPVwicmVzaXphYmxlLXBhbmVsLXJlc2l6ZS1ib3JkZXJcIlxuICAgICAgICAoZHJhZ2dpbmcpPVwiX29uUmVzaXplV2lkdGgoJGV2ZW50KVwiXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1yaWdodF09XCJwb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICAgIEBpZiAoaGFzRHJhZ2dhYmxlSGFuZGxlKSB7XG4gICAgICA8ZGl2XG4gICAgICAgIHhEcmFnZ2FibGVcbiAgICAgICAgY2xhc3M9XCJyZXNpemFibGUtcGFuZWwtcmVzaXplLWhhbmRsZVwiXG4gICAgICAgIChkcmFnZ2luZyk9XCJfb25SZXNpemVXaWR0aCgkZXZlbnQpXCJcbiAgICAgICAgKGNsaWNrZWQpPVwiX3RvZ2dsZURyYXdlcigpXCJcbiAgICAgICAgW2NsYXNzLnBvc2l0aW9uLXJpZ2h0XT1cInBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICAgICAgW2NsYXNzLnBvc2l0aW9uLWxlZnRdPVwicG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gICAgICA+XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIH1cbjwvZGl2PlxuQGlmICghZHJhd2VyRXhwYW5kZWQpIHtcbiAgQGlmIChoYXNEcmFnZ2FibGVIYW5kbGUpIHtcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJlc2l6YWJsZS1wYW5lbC1yZXNpemUtaGFuZGxlIGNvbGxhcHNlZFwiXG4gICAgICAoY2xpY2spPVwiX3RvZ2dsZURyYXdlcigpXCJcbiAgICAgIChrZXlwcmVzcyk9XCJfdG9nZ2xlRHJhd2VyKClcIlxuICAgICAgW2NsYXNzLnBvc2l0aW9uLXJpZ2h0XT1cInBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICAgIFtjbGFzcy5wb3NpdGlvbi1sZWZ0XT1cInBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgID5cbiAgICA8L2Rpdj5cbiAgfVxufVxuIl19
|
|
@@ -11,10 +11,10 @@ export class ClickOutsideDirective {
|
|
|
11
11
|
this.clickOutside.emit();
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
15
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
15
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: ClickOutsideDirective, isStandalone: true, selector: "[libClickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0 }); }
|
|
16
16
|
}
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ClickOutsideDirective, decorators: [{
|
|
18
18
|
type: Directive,
|
|
19
19
|
args: [{
|
|
20
20
|
selector: '[libClickOutside]',
|
|
@@ -26,4 +26,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
26
26
|
type: HostListener,
|
|
27
27
|
args: ['document:click', ['$event.target']]
|
|
28
28
|
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtYmltcGx1cy1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlL2NsaWNrLW91dHNpZGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTFGLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUZ6QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFWCxDQUFDO0lBR3hDLE9BQU8sQ0FBQyxhQUEwQjtRQUN2QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNILENBQUM7K0dBWFUscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOytFQUVrQixZQUFZO3NCQUE1QixNQUFNO2dCQUtBLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbGliQ2xpY2tPdXRzaWRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ2xpY2tPdXRzaWRlRGlyZWN0aXZlIHtcbiAgQE91dHB1dCgpIHB1YmxpYyBjbGlja091dHNpZGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50LnRhcmdldCddKVxuICBwdWJsaWMgb25DbGljayh0YXJnZXRFbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0YXJnZXRFbGVtZW50KTtcbiAgICBpZiAoIWNsaWNrZWRJbnNpZGUpIHtcbiAgICAgIHRoaXMuY2xpY2tPdXRzaWRlLmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -89,10 +89,10 @@ export class ComponentDraggableDirective {
|
|
|
89
89
|
this.renderer.setStyle(this.el.nativeElement, 'cursor', 'grab');
|
|
90
90
|
}
|
|
91
91
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
93
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ComponentDraggableDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
93
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: ComponentDraggableDirective, isStandalone: true, selector: "[libDraggableComponent]", inputs: { libDraggableComponent: "libDraggableComponent" }, host: { listeners: { "mousedown": "onMouseDown($event)", "document:mouseup": "onMouseUp()", "document:mousemove": "onMouseMove($event)", "touchstart": "onTouchStart($event)", "document:touchmove": "onTouchMove($event)", "document:touchend": "onTouchEnd($event)" } }, ngImport: i0 }); }
|
|
94
94
|
}
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ComponentDraggableDirective, decorators: [{
|
|
96
96
|
type: Directive,
|
|
97
97
|
args: [{
|
|
98
98
|
selector: '[libDraggableComponent]',
|
|
@@ -49,10 +49,10 @@ export class DraggableDirective {
|
|
|
49
49
|
fireEvent(this, "clicked", event);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
53
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
52
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DraggableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
53
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: DraggableDirective, isStandalone: true, selector: "[libDraggable]", outputs: { dragging: "dragging", dragEnd: "dragEnd", clicked: "clicked" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onMouseDown($event)", "click": "onMouseClick($event)" } }, ngImport: i0 }); }
|
|
54
54
|
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: DraggableDirective, decorators: [{
|
|
56
56
|
type: Directive,
|
|
57
57
|
args: [{
|
|
58
58
|
selector: '[libDraggable]',
|
|
@@ -275,10 +275,10 @@ export class ResizableDirective {
|
|
|
275
275
|
}
|
|
276
276
|
this.actResizeStrategy = resizeStrategy;
|
|
277
277
|
}
|
|
278
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
279
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
278
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizableDirective, deps: [{ token: i0.ElementRef }, { token: i1.LayoutManagerService }, { token: i2.ResizeObserverService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
279
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: ResizableDirective, isStandalone: true, selector: "[libResizable]", outputs: { resizedEnd: "resizedEnd" }, ngImport: i0 }); }
|
|
280
280
|
}
|
|
281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
281
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: ResizableDirective, decorators: [{
|
|
282
282
|
type: Directive,
|
|
283
283
|
args: [{
|
|
284
284
|
selector: '[libResizable]',
|
|
@@ -287,4 +287,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
|
|
|
287
287
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LayoutManagerService }, { type: i2.ResizeObserverService }], propDecorators: { resizedEnd: [{
|
|
288
288
|
type: Output
|
|
289
289
|
}] } });
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkZBQTZGO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0IzQyxNQUFNLE9BQU8sa0JBQWtCO0lBZ0M3QixZQUFvQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTJDO1FBRjNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBakMvRCx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBUyxJQUFJLENBQUM7UUFDM0Isa0JBQWEsR0FBUyxLQUFLLENBQUM7UUFRNUIsc0JBQWlCLEdBQUssSUFBSSxDQUFDO1FBSTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzVDLHlEQUF5RDtRQUN6RCxpQkFBWSxHQUFrQjtZQUM1QixFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFHLElBQUksRUFBRTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcsRUFBSTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFFLElBQUksRUFBRztZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcs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dGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiAsIE91dHB1dCwgRXZlbnRFbWl0dGVyICwgT25Jbml0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2xheW91dC1tYW5hZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IGZpcmVFdmVudCB9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcclxuXHJcbmludGVyZmFjZSBSZXNpemVySXRlbSB7XHJcbiAgJ2NsYXNzTmFtZScgOiBzdHJpbmcgLFxyXG4gICdyZXNpemVTdHJhdGVneScgOiBzdHJpbmcgXHJcbn1cclxuXHJcbmludGVyZmFjZSBSZXNpemFibGVFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnR7XHJcbiAgcmVzaXplU3RyYXRlZ3k/OiBzdHJpbmc7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2xpYlJlc2l6YWJsZV0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBSZXNpemFibGVEaXJlY3RpdmUgIGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXR7XHJcbiAgcmVzaXplQ29udGFjdFBvaW50WCA9IDA7XHJcbiAgcmVzaXplQ29udGFjdFBvaW50WSA9IDA7XHJcbiAgcmVzaXphYmxlRWxlbWVudHM6UmVzaXphYmxlRWxlbWVudFtdID0gW107XHJcbiAgcmVzaXplRW5hYmxlZCAgICAgICA9IHRydWU7XHJcbiAgcmVzaXplU3RhcnRlZCAgICAgICA9IGZhbHNlO1xyXG4gIHJlc2l6ZVN0YXJ0ICAgICA6IChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XHJcbiAgcmVzaXplSW5Qcm9ncmVzczogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDsgIFxyXG4gIGJvdW5kUmVzaXplU3RhcnQ6IChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XHJcbiAgYm91bmRSZXNpemVJblByb2dyZXNzOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xyXG4gIGJvdW5kUmVzaXplRW5kOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xyXG4gICBcclxuICBfZWxlbWVudDpIVE1MRWxlbWVudDsgXHJcbiAgYWN0UmVzaXplU3RyYXRlZ3kgICA9IFwic2VcIjtcclxuICBcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcmVzaXplZEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcblxyXG4gIC8vIGxpc3Qgb2YgcmVzaXplcnMsIHJlc2l6ZXJzIGFyZSBzcGVjaWZpZWQgYnkgY2xhc3MgbmFtZVxyXG4gIHJlc2l6ZXJzTGlzdDpSZXNpemVySXRlbVtdID0gIFsgXHJcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1ud1wiICwgcmVzaXplU3RyYXRlZ3kgOiBcIm53XCIgfSxcclxuICAgIHsgY2xhc3NOYW1lIDogXCJyZXNpemVyLW5cIiAgLCByZXNpemVTdHJhdGVneTogXCJuXCIgICB9LFxyXG4gICAgeyBjbGFzc05hbWUgOiBcInJlc2l6ZXItbmVcIiAsIHJlc2l6ZVN0cmF0ZWd5OiBcIm5lXCIgIH0sXHJcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1lXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwiZVwiICAgfSxcclxuICAgIHsgY2xhc3NOYW1lIDogXCJyZXNpemVyLXNlXCIgLCByZXNpemVTdHJhdGVneTogXCJzZVwiICB9LFxyXG4gICAgeyBjbGFzc05hbWUgOiBcInJlc2l6ZXItc1wiICAsIHJlc2l6ZVN0cmF0ZWd5OiBcInNcIiAgIH0sXHJcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zd1wiICwgcmVzaXplU3RyYXRlZ3k6IFwic3dcIiAgfSxcclxuICAgIHsgY2xhc3NOYW1lIDogXCJyZXNpemVyLXdcIiAgLCByZXNpemVTdHJhdGVneTogXCJ3XCIgICB9XHJcbiAgXTtcclxuICBcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBsYXlvdXRNYW5hZ2VyU2VydmljZTogTGF5b3V0TWFuYWdlclNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlclNlcnZpY2U6UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKSB7ICAgICAgICAgICAgICBcclxuICAgIFxyXG4gICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcclxuICAgIHRoaXMubGF5b3V0TWFuYWdlclNlcnZpY2UgPSBsYXlvdXRNYW5hZ2VyU2VydmljZTtcclxuICAgIFxyXG4gICAgdGhpcy5yZXNpemVTdGFydCA9ICAgKGV2ZW50Ok1vdXNlRXZlbnR8VG91Y2hFdmVudCkgPT4ge1xyXG4gICAgICAvL2dldCBtb3VzZS9maW5nZXIgWCBZIHBvc2l0aW9uc1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgaWYodGhpcy5yZXNpemVTdGFydGVkKXtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZXNpemVTdGFydGVkID0gdHJ1ZTtcclxuICAgICAgY29uc3QgdG91Y2hMaXN0ID0gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXM/IChldmVudCBhcyBUb3VjaEV2ZW50KS50YXJnZXRUb3VjaGVzOiBbXTtcclxuICAgICAgY29uc3QgY2xpZW50WCA9IGV2ZW50LnR5cGUgPT09ICd0b3VjaHN0YXJ0JyA/IHRvdWNoTGlzdFswXT8uY2xpZW50WCA6IChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRYO1xyXG4gICAgICBjb25zdCBjbGllbnRZID0gZXZlbnQudHlwZSA9PT0gJ3RvdWNoc3RhcnQnID8gdG91Y2hMaXN0WzBdPy5jbGllbnRZIDogKGV2ZW50IGFzIE1vdXNlRXZlbnQpLmNsaWVudFk7XHJcbiAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WCA9IGNsaWVudFg7XHJcbiAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WSA9IGNsaWVudFk7XHJcbiAgICAgIHRoaXMub3BlbkRvY3VtZW50TGlzdGVuZXJzUmVzaXplKCk7ICAgICAgXHJcbiAgICAgIHRoaXMuc2V0dXBSZXNpemVTdHJhdGVneShldmVudCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgKiBjYWxjdWF0ZXMgYW5kIHNldHMgdGhlIG5ldyBwb3NpdGlvblxyXG4gICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gICAgdGhpcy5yZXNpemVJblByb2dyZXNzID0gKGV2ZW50Ok1vdXNlRXZlbnR8VG91Y2hFdmVudCkgPT4ge1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgIC8vZ2V0IG1vdXNlL2ZpbmdlciBYIFkgcG9zaXRpb25zXHJcbiAgICAgIGNvbnN0IHRvdWNoTGlzdCA9IChldmVudCBhcyBUb3VjaEV2ZW50KS50YXJnZXRUb3VjaGVzID8gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXM6IFtdO1xyXG4gICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQudHlwZSA9PT0gJ3RvdWNobW92ZScgPyB0b3VjaExpc3RbMF0/LmNsaWVudFggOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcclxuICAgICAgY29uc3QgY2xpZW50WSA9IGV2ZW50LnR5cGUgPT09ICd0b3VjaG1vdmUnID8gdG91Y2hMaXN0WzBdPy5jbGllbnRZIDogKGV2ZW50IGFzIE1vdXNlRXZlbnQpLmNsaWVudFk7XHJcbiAgICAgIC8vY29uc3QgY2xpZW50WCA9ICAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcclxuICAgICAgLy9jb25zdCBjbGllbnRZID0gIChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZO1xyXG5cclxuICAgICAgY29uc3QgbW92ZWQgPSB0aGlzLnJlc2l6ZUZyb21Ubyh0aGlzLl9lbGVtZW50LHRoaXMucmVzaXplQ29udGFjdFBvaW50WCwgdGhpcy5yZXNpemVDb250YWN0UG9pbnRZLGNsaWVudFgsY2xpZW50WSwgdGhpcy5hY3RSZXNpemVTdHJhdGVneSk7XHJcbiAgICAgIGlmKG1vdmVkKSB7XHJcbiAgICAgICAgdGhpcy5yZXNpemVDb250YWN0UG9pbnRYID0gY2xpZW50WDtcclxuICAgICAgICB0aGlzLnJlc2l6ZUNvbnRhY3RQb2ludFkgPSBjbGllbnRZO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplU3RhcnQgPSB0aGlzLnJlc2l6ZVN0YXJ0LmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyA9IHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5ib3VuZFJlc2l6ZUVuZCA9IHRoaXMucmVzaXplRW5kLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MuYmluZCh0aGlzKTtcclxuICAgIHRoaXMuc2V0UmVzaXplcnModGhpcy5fZWxlbWVudCk7ICAgICAgICBcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplU3RhcnQgPSB0aGlzLnJlc2l6ZVN0YXJ0LmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyA9IHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5ib3VuZFJlc2l6ZUVuZCA9IHRoaXMucmVzaXplRW5kLmJpbmQodGhpcyk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgICAgXHJcbiAgfVxyXG5cclxuICByZXNpemVFbmQoKXsgICBcclxuICAgIC8vdGhpcy5jbG9zZURvY3VtZW50TGlzdGVuZXJzUmVzaXplKCk7XHJcbiAgICBpZighdGhpcy5yZXNpemVTdGFydGVkKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfSAgICAgXHJcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgXHJcbiAgICB0aGlzLm9wZW5FbGVtZW50TGlzdGVuZXJzUmVzaXplKCk7XHJcbiAgICBmaXJlRXZlbnQodGhpcywgXCJyZXNpemVkRW5kXCIsIFsnJGV2ZW50J10pOyAgICBcclxuICB9XHJcbiAgXHJcblxyXG4gIF9nZXRWaWV3UmVjdCgpIHtcclxuICAgIGNvbnN0IHZpZXcgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnI2NvbnRhaW5lclZpZXcnKTsgIC8vIHdlIHNob3VsZCBnZXQgaGVyZSB0aGUgcGFyZW50IG9iamVjdCBzZWxlY3RvciBhcyBpbnB1dCBwYXJhbWV0ZXJcclxuICAgIGlmKHZpZXcpe1xyXG4gICAgICByZXR1cm4gdmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgRE9NUmVjdCgwLDAsMCwwKTtcclxuICB9XHJcblxyXG4vKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogZmluZCBpZiByZWN0YW5nbGUgMSBpcyBpbnNpZGUgcmVjdGFuZ2xlIDJcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgaXNJbnNpZGVSZWN0KHJlY3QxOkRPTVJlY3QsIHJlY3QyOkRPTVJlY3QpIHtcclxuICAgIGlmKCFyZWN0MSB8fCAhcmVjdDIpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVjdDFJbnNpZGU6Ym9vbGVhbiA9IHJlY3QyLmxlZnQgPD0gcmVjdDEubGVmdFxyXG4gICAgICAgICAgICAgICAgICAmJiByZWN0Mi50b3AgPD0gcmVjdDEudG9wIFxyXG4gICAgICAgICAgICAgICAgICAmJiByZWN0Mi5yaWdodCA+PSByZWN0MS5yaWdodCBcclxuICAgICAgICAgICAgICAgICAgJiYgcmVjdDIuYm90dG9tID49IHJlY3QxLmJvdHRvbTtcclxuXHJcbiAgICByZXR1cm4gcmVjdDFJbnNpZGU7XHJcbiAgfVxyXG4gICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHJlc2l6ZSByZWN0YW5nbGUgYnkgeCwgeVxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBfcmVzaXplUmVjdGFuZ2xlKHJlY3Q6RE9NUmVjdCwgcmVzaXplWDpudW1iZXIsIHJlc2l6ZVk6bnVtYmVyLCByZXNpemVTdHJhdGVneTpzdHJpbmcpIHtcclxuICAgIGlmKCFyZWN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZihbJ253JywndycsICdzdyddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xyXG4gICAgICByZWN0LnggKz0gcmVzaXplWDtcclxuICAgICAgcmVzaXplWCA9IHJlc2l6ZVggKiAtMTtcclxuICAgIH1cclxuXHJcbiAgICBpZihbJ253JywnbicsICduZSddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xyXG4gICAgICByZWN0LnkgKz0gcmVzaXplWTtcclxuICAgICAgcmVzaXplWSA9IHJlc2l6ZVkgKiAtMTtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlb2YocmVzaXplWCkgPT09ICdudW1iZXInICYmICFbJ24nLCdzJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHJlY3Qud2lkdGggKz0gcmVzaXplWDtcclxuICAgIH1cclxuXHJcbiAgICBpZih0eXBlb2YocmVzaXplWSkgPT09ICdudW1iZXInICYmICFbJ3cnLCdlJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHJlY3QuaGVpZ2h0ICs9IHJlc2l6ZVk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlY3Q7XHJcbiAgfVxyXG5cclxuICBfbWF4SGVpZ2h0UmVzZXQob2JqOkhUTUxFbGVtZW50LCBlbGVtZW50UmVjdDpET01SZWN0KSB7ICAgIFxyXG4gICAgdGhpcy5yZXNpemVGcm9tVG8ob2JqLCBlbGVtZW50UmVjdC5yaWdodCwgZWxlbWVudFJlY3QuYm90dG9tLCBlbGVtZW50UmVjdC5sZWZ0LGVsZW1lbnRSZWN0LnRvcCwgXCJzZVwiKTtcclxuICB9XHJcblxyXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAqIHJlc2l6ZSBvYmplY3QgZnJvbSB7eCx5fSB0byB7eCx5fSBiYXNlZCBvbiByZXNpemUgc3RyYXRlZ3lcclxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiAgcmVzaXplRnJvbVRvIChvYmo6SFRNTEVsZW1lbnQsIGZyb21YOm51bWJlciwgZnJvbVk6bnVtYmVyLCB0b1g6bnVtYmVyLHRvWTpudW1iZXIsIHJlc2l6ZVN0cmF0ZWd5OnN0cmluZyl7XHJcbiAgICBjb25zdCBwb3NYRGVsdGEgPSB0b1ggLSBmcm9tWDtcclxuICAgIGNvbnN0IHBvc1lEZWx0YSA9IHRvWSAtIGZyb21ZO1xyXG4gICAgY29uc3QgZWxlbWVudCA9IG9iaiA/PyB0aGlzLl9lbGVtZW50O1xyXG4gICAgY29uc3QgZWxlbWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgLy9jb25zdCB2aWV3UmVjdCA9IHRoaXMuX2dldFZpZXdSZWN0KCk7XHJcbiAgICBjb25zdCB2aWV3UmVjdCA9IHRoaXMucmVzaXplT2JzZXJ2ZXJTZXJ2aWNlLmdldFBhcmVudEFwcFJlY3QoKTtcclxuICAgIFxyXG4gICAgbGV0IGNoZWNrQm91bmRhcmllcyA9IHRydWU7XHJcblxyXG4gICAgcmVzaXplU3RyYXRlZ3kgPSByZXNpemVTdHJhdGVneSB8fCBcInNlXCI7XHJcblxyXG4gICAgLy9pZiB0aGUgb2JqZWN0IGlzIG91dHNpZGUgdGhlIHZpZXcgcmVjdCBiZWNhdXNlIGl0J3MgYmlnZ2VyLCBkbyBub3QgY2hlY2sgYm91bmRhcmllcyxcclxuICAgIC8vYWxsb3cgbW92aW5nIG91dHNpZGUgdGhlIHZpZXcgcmVjdFxyXG4gICAgaWYodGhpcy5pc0luc2lkZVJlY3QoZWxlbWVudFJlY3QsIHZpZXdSZWN0KSA9PT0gZmFsc2UpIHtcclxuICAgICAgY2hlY2tCb3VuZGFyaWVzID0gZmFsc2U7IFxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3Jlc2l6ZVJlY3RhbmdsZShlbGVtZW50UmVjdCwgcG9zWERlbHRhLCBwb3NZRGVsdGEsIHJlc2l6ZVN0cmF0ZWd5KTtcclxuXHJcbiAgICBpZiAoY2hlY2tCb3VuZGFyaWVzICYmIHRoaXMuaXNJbnNpZGVSZWN0KGVsZW1lbnRSZWN0LCB2aWV3UmVjdCkgPT09IGZhbHNlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XHJcbiAgICBsZXQgdG9wID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS50b3AsIDEwKTtcclxuICAgIGxldCBsZWZ0ID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5sZWZ0LCAxMCk7XHJcbiAgICBsZXQgd2lkdGggPSBwYXJzZUludChjb21wdXRlZFN0eWxlLndpZHRoLCAxMCk7XHJcbiAgICBsZXQgaGVpZ2h0ID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5oZWlnaHQsIDEwKTtcclxuICAgIFxyXG4gICAgaWYoWydudycsJ3cnLCAnc3cnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcclxuICAgICAgIGxlZnQgPSBsZWZ0ICsgcG9zWERlbHRhOyAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmKFsnbncnLCduJywgJ25lJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHRvcCA9IHRvcCAgKyAgcG9zWURlbHRhOyAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIGlmKCFbJ24nLCdzJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XHJcbiAgICAgIHdpZHRoID0gZWxlbWVudFJlY3Qud2lkdGg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKCB2aWV3UmVjdC5oZWlnaHQgPCBlbGVtZW50UmVjdC5oZWlnaHQgKXtcclxuICAgICAgdGhpcy5fbWF4SGVpZ2h0UmVzZXQoZWxlbWVudCwgZWxlbWVudFJlY3QpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZighWyd3JywnZSddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xyXG4gICAgICBoZWlnaHQgPSBlbGVtZW50UmVjdC5oZWlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbiAgICBlbGVtZW50LnN0eWxlLnRvcCAgICA9IHRvcCAgICsgJ3B4JztcclxuICAgIGVsZW1lbnQuc3R5bGUubGVmdCAgID0gbGVmdCAgKyAncHgnO1xyXG4gICAgZWxlbWVudC5zdHlsZS53aWR0aCAgPSB3aWR0aCArICdweCc7XHJcbiAgICBlbGVtZW50LnN0eWxlLmhlaWdodCAgPSBoZWlnaHQgKyAncHgnO1xyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiByZXNpemUgc3RhcnQgYXQgdGhlIGxheW91dCBtYW5hZ2FlclxyXG4gICAqIG9wZW4gZG9jdW1lbnQgbGlzdGVuZXJzXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIFxyXG4gICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiBzZXQgdGhlIGVsZW1lbnRzIHVzZWQgZm9yIHJlc2l6aW5nXHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIHNldFJlc2l6ZXJzKGVsZW1lbnQ6SFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnN0IHNldFJlc2l6YWJsZUVsZW1lbnRzID0gKCkgPT4ge1xyXG4gICAgICBsZXQgcmVzaXphYmxlRWxlbWVudHM6UmVzaXphYmxlRWxlbWVudFtdID0gW107XHJcbiAgICAgIC8vIGdldCBkb20gZWxlbWVudHMgb2YgYWxsIHJlc2l6ZXJzXHJcbiAgICAgIHRoaXMucmVzaXplcnNMaXN0LmZvckVhY2goIGl0ZW0gPT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc2l6ZUVsZW1zID0gIGVsZW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShpdGVtLmNsYXNzTmFtZSk7XHJcbiAgICAgICAgaWYoIHJlc2l6ZUVsZW1zPy5sZW5ndGggKSB7XHJcbiAgICAgICAgICAvLyBzZXQgcmVzaXplIHN0cmF0ZWd5IGluIGVhY2ggZWxlbWVudCBzbyB3ZSBrbm93IGluIHdoaWNoIGRpcmVjdGlvbiB0byByZXNpemVcclxuICAgICAgICAgIGNvbnN0IGRlY29yYXRlZFJlc2l6ZUVsZW1zOiBSZXNpemFibGVFbGVtZW50W10gPSBBcnJheS5mcm9tKHJlc2l6ZUVsZW1zKS5tYXAoIGVsZW0gPT4ge1xyXG4gICAgICAgICAgICBjb25zdCByZXNpemFibGVFbGVtID0gZWxlbSBhcyBSZXNpemFibGVFbGVtZW50O1xyXG4gICAgICAgICAgICByZXNpemFibGVFbGVtLnJlc2l6ZVN0cmF0ZWd5ID0gaXRlbS5yZXNpemVTdHJhdGVneTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc2l6YWJsZUVsZW07XHJcbiAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAvLyBhZGQgaXQgdG8gbGlzdCBvZiBhbGwgcmVzaXplcnNcclxuICAgICAgICAgIHJlc2l6YWJsZUVsZW1lbnRzID0gWy4uLnJlc2l6YWJsZUVsZW1lbnRzLCAuLi5kZWNvcmF0ZWRSZXNpemVFbGVtc107XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMucmVzaXphYmxlRWxlbWVudHMgPSAgWy4uLnJlc2l6YWJsZUVsZW1lbnRzXTtcclxuICAgICAgdGhpcy5vcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpO1xyXG4gICAgfVxyXG4gICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICBzZXRSZXNpemFibGVFbGVtZW50cygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogb3BlbiBtb3VzZWRvd24sIHRvdWNoc3RhcnQgbGlzdGVuZXJzIG9uIGFsbCBlbGVtZW50cyBhbGxvd2VkIGZvciByZXNpemluZ1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBvcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMucmVzaXphYmxlRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcclxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xyXG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiBvcGVuIG1vdXNldXAsIHRvdWNoZW5kIGFuZCBtb3VzZW1vdmUsIHRvdWNobW92ZSBvbiBkb2N1bWVudFxyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBvcGVuRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpO1xyXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpOyAgICBcclxuICB9XHJcbiBcclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2xvc2UgbW91c2V1cCwgdG91Y2hlbmQgYW5kIG1vdXNlbW92ZSwgdG91Y2htb3ZlIG9uIGRvY3VtZW50XHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIGNsb3NlRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XHJcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xyXG4gIH1cclxuXHJcbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgKiBjbG9zZSBtb3VzZWRvd24sIHRvdWNoc3RhcnQgbGlzdGVuZXJzIG9uIGFsbCBlbGVtZW50cyBhbGxvd2VkIGZvciByZXNpemluZ1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBjbG9zZUVsZW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XHJcbiAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XHJcbiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5ib3VuZFJlc2l6ZVN0YXJ0KTtcclxuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaHN0YXJ0JywgdGhpcy5ib3VuZFJlc2l6ZVN0YXJ0KTtcclxuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XHJcbiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpOyAgICAgIFxyXG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB0aGlzLmJvdW5kUmVzaXplRW5kKTtcclxuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICogY2xvc2UgYWxsIGxpc3RlbmVyc1xyXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuICBjbG9zZUFsbExpc3RlbmVyc1Jlc2l6ZSgpIHtcclxuICAgIHRoaXMuY2xvc2VFbGVtZW50TGlzdGVuZXJzUmVzaXplKCk7XHJcbiAgICB0aGlzLmNsb3NlRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKTtcclxuICB9XHJcblxyXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICAgKiBzZXR1cCBhY3R1YWwgcmVzaXplIHN0cmF0ZWd5XHJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4gIHNldHVwUmVzaXplU3RyYXRlZ3koZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7XHJcbiAgICBpZiggIWV2ZW50ICkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gZmluZCBvbiB3aGljaCBlbGVtZW50IHJlc2l6ZSBzdGFydGVkIHNvIHdlIGtub3cgaW4gd2hpY2ggZGlyZWN0aW9uIHRvIHJlc2l6ZVxyXG4gICAgbGV0IHJlc2l6ZVN0cmF0ZWd5OnN0cmluZyA9IFwic2VcIjtcclxuICAgIGNvbnN0ICByZXNpemVTb3VyY2VFbGVtID0gZXZlbnQ/LnRhcmdldDtcclxuXHJcbiAgICBpZiggcmVzaXplU291cmNlRWxlbSApIHtcclxuICAgICAgY29uc3QgIGZvdW5kRWxlbSA9IHRoaXMucmVzaXphYmxlRWxlbWVudHMuZmluZCggaXRlbSA9PiBpdGVtID09PSByZXNpemVTb3VyY2VFbGVtICk7XHJcbiAgICAgIGlmIChmb3VuZEVsZW0/LnJlc2l6ZVN0cmF0ZWd5KSB7XHJcbiAgICAgICAgcmVzaXplU3RyYXRlZ3kgPSBmb3VuZEVsZW0/LnJlc2l6ZVN0cmF0ZWd5O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3RSZXNpemVTdHJhdGVneSA9ICByZXNpemVTdHJhdGVneTtcclxuICB9XHJcbn1cclxuIl19
|
|
290
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1iaW1wbHVzLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Jlc2l6YWJsZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkZBQTZGO0FBQzdGLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHaEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBZ0IzQyxNQUFNLE9BQU8sa0JBQWtCO0lBZ0M3QixZQUFvQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTJDO1FBRjNDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXNCO1FBakMvRCx3QkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDeEIsd0JBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLHNCQUFpQixHQUFzQixFQUFFLENBQUM7UUFDMUMsa0JBQWEsR0FBUyxJQUFJLENBQUM7UUFDM0Isa0JBQWEsR0FBUyxLQUFLLENBQUM7UUFRNUIsc0JBQWlCLEdBQUssSUFBSSxDQUFDO1FBSTNCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRzVDLHlEQUF5RDtRQUN6RCxpQkFBWSxHQUFrQjtZQUM1QixFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFHLElBQUksRUFBRTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcsRUFBSTtZQUNwRCxFQUFFLFNBQVMsRUFBRyxZQUFZLEVBQUcsY0FBYyxFQUFFLElBQUksRUFBRztZQUNwRCxFQUFFLFNBQVMsRUFBRyxXQUFXLEVBQUksY0FBYyxFQUFFLEdBQUcs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dGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgLCBPdXRwdXQsIEV2ZW50RW1pdHRlciAsIE9uSW5pdCwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExheW91dE1hbmFnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbGF5b3V0LW1hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNpemVPYnNlcnZlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZXNpemUtb2JzZXJ2ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBmaXJlRXZlbnQgfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5cbmludGVyZmFjZSBSZXNpemVySXRlbSB7XG4gICdjbGFzc05hbWUnIDogc3RyaW5nICxcbiAgJ3Jlc2l6ZVN0cmF0ZWd5JyA6IHN0cmluZyBcbn1cblxuaW50ZXJmYWNlIFJlc2l6YWJsZUVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudHtcbiAgcmVzaXplU3RyYXRlZ3k/OiBzdHJpbmc7XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tsaWJSZXNpemFibGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcblxuZXhwb3J0IGNsYXNzIFJlc2l6YWJsZURpcmVjdGl2ZSAgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdHtcbiAgcmVzaXplQ29udGFjdFBvaW50WCA9IDA7XG4gIHJlc2l6ZUNvbnRhY3RQb2ludFkgPSAwO1xuICByZXNpemFibGVFbGVtZW50czpSZXNpemFibGVFbGVtZW50W10gPSBbXTtcbiAgcmVzaXplRW5hYmxlZCAgICAgICA9IHRydWU7XG4gIHJlc2l6ZVN0YXJ0ZWQgICAgICAgPSBmYWxzZTtcbiAgcmVzaXplU3RhcnQgICAgIDogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDtcbiAgcmVzaXplSW5Qcm9ncmVzczogKGV2ZW50OiBNb3VzZUV2ZW50IHwgVG91Y2hFdmVudCkgPT4gdm9pZDsgIFxuICBib3VuZFJlc2l6ZVN0YXJ0OiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xuICBib3VuZFJlc2l6ZUluUHJvZ3Jlc3M6IChldmVudDogTW91c2VFdmVudCB8IFRvdWNoRXZlbnQpID0+IHZvaWQ7XG4gIGJvdW5kUmVzaXplRW5kOiAoZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSA9PiB2b2lkO1xuICAgXG4gIF9lbGVtZW50OkhUTUxFbGVtZW50OyBcbiAgYWN0UmVzaXplU3RyYXRlZ3kgICA9IFwic2VcIjtcbiAgXG5cbiAgQE91dHB1dCgpXG4gIHJlc2l6ZWRFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cblxuICAvLyBsaXN0IG9mIHJlc2l6ZXJzLCByZXNpemVycyBhcmUgc3BlY2lmaWVkIGJ5IGNsYXNzIG5hbWVcbiAgcmVzaXplcnNMaXN0OlJlc2l6ZXJJdGVtW10gPSAgWyBcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1ud1wiICwgcmVzaXplU3RyYXRlZ3kgOiBcIm53XCIgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1uXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwiblwiICAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1uZVwiICwgcmVzaXplU3RyYXRlZ3k6IFwibmVcIiAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1lXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwiZVwiICAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zZVwiICwgcmVzaXplU3RyYXRlZ3k6IFwic2VcIiAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zXCIgICwgcmVzaXplU3RyYXRlZ3k6IFwic1wiICAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci1zd1wiICwgcmVzaXplU3RyYXRlZ3k6IFwic3dcIiAgfSxcbiAgICB7IGNsYXNzTmFtZSA6IFwicmVzaXplci13XCIgICwgcmVzaXplU3RyYXRlZ3k6IFwid1wiICAgfVxuICBdO1xuICBcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICBwcml2YXRlIGxheW91dE1hbmFnZXJTZXJ2aWNlOiBMYXlvdXRNYW5hZ2VyU2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZXNpemVPYnNlcnZlclNlcnZpY2U6UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlKSB7ICAgICAgICAgICAgICBcbiAgICBcbiAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMubGF5b3V0TWFuYWdlclNlcnZpY2UgPSBsYXlvdXRNYW5hZ2VyU2VydmljZTtcbiAgICBcbiAgICB0aGlzLnJlc2l6ZVN0YXJ0ID0gICAoZXZlbnQ6TW91c2VFdmVudHxUb3VjaEV2ZW50KSA9PiB7XG4gICAgICAvL2dldCBtb3VzZS9maW5nZXIgWCBZIHBvc2l0aW9uc1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICBpZih0aGlzLnJlc2l6ZVN0YXJ0ZWQpe1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aGlzLnJlc2l6ZVN0YXJ0ZWQgPSB0cnVlO1xuICAgICAgY29uc3QgdG91Y2hMaXN0ID0gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXM/IChldmVudCBhcyBUb3VjaEV2ZW50KS50YXJnZXRUb3VjaGVzOiBbXTtcbiAgICAgIGNvbnN0IGNsaWVudFggPSBldmVudC50eXBlID09PSAndG91Y2hzdGFydCcgPyB0b3VjaExpc3RbMF0/LmNsaWVudFggOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcbiAgICAgIGNvbnN0IGNsaWVudFkgPSBldmVudC50eXBlID09PSAndG91Y2hzdGFydCcgPyB0b3VjaExpc3RbMF0/LmNsaWVudFkgOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WTtcbiAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WCA9IGNsaWVudFg7XG4gICAgICB0aGlzLnJlc2l6ZUNvbnRhY3RQb2ludFkgPSBjbGllbnRZO1xuICAgICAgdGhpcy5vcGVuRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKTsgICAgICBcbiAgICAgIHRoaXMuc2V0dXBSZXNpemVTdHJhdGVneShldmVudCk7XG4gICAgfVxuICAgIFxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICogY2FsY3VhdGVzIGFuZCBzZXRzIHRoZSBuZXcgcG9zaXRpb25cbiAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gICAgdGhpcy5yZXNpemVJblByb2dyZXNzID0gKGV2ZW50Ok1vdXNlRXZlbnR8VG91Y2hFdmVudCkgPT4ge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgICAvL2dldCBtb3VzZS9maW5nZXIgWCBZIHBvc2l0aW9uc1xuICAgICAgY29uc3QgdG91Y2hMaXN0ID0gKGV2ZW50IGFzIFRvdWNoRXZlbnQpLnRhcmdldFRvdWNoZXMgPyAoZXZlbnQgYXMgVG91Y2hFdmVudCkudGFyZ2V0VG91Y2hlczogW107XG4gICAgICBjb25zdCBjbGllbnRYID0gZXZlbnQudHlwZSA9PT0gJ3RvdWNobW92ZScgPyB0b3VjaExpc3RbMF0/LmNsaWVudFggOiAoZXZlbnQgYXMgTW91c2VFdmVudCkuY2xpZW50WDtcbiAgICAgIGNvbnN0IGNsaWVudFkgPSBldmVudC50eXBlID09PSAndG91Y2htb3ZlJyA/IHRvdWNoTGlzdFswXT8uY2xpZW50WSA6IChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZO1xuICAgICAgLy9jb25zdCBjbGllbnRYID0gIChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRYO1xuICAgICAgLy9jb25zdCBjbGllbnRZID0gIChldmVudCBhcyBNb3VzZUV2ZW50KS5jbGllbnRZO1xuXG4gICAgICBjb25zdCBtb3ZlZCA9IHRoaXMucmVzaXplRnJvbVRvKHRoaXMuX2VsZW1lbnQsdGhpcy5yZXNpemVDb250YWN0UG9pbnRYLCB0aGlzLnJlc2l6ZUNvbnRhY3RQb2ludFksY2xpZW50WCxjbGllbnRZLCB0aGlzLmFjdFJlc2l6ZVN0cmF0ZWd5KTtcbiAgICAgIGlmKG1vdmVkKSB7XG4gICAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WCA9IGNsaWVudFg7XG4gICAgICAgIHRoaXMucmVzaXplQ29udGFjdFBvaW50WSA9IGNsaWVudFk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuYm91bmRSZXNpemVTdGFydCA9IHRoaXMucmVzaXplU3RhcnQuYmluZCh0aGlzKTtcbiAgICB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyA9IHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuYm91bmRSZXNpemVFbmQgPSB0aGlzLnJlc2l6ZUVuZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVzaXplSW5Qcm9ncmVzcy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuc2V0UmVzaXplcnModGhpcy5fZWxlbWVudCk7ICAgICAgICBcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJvdW5kUmVzaXplU3RhcnQgPSB0aGlzLnJlc2l6ZVN0YXJ0LmJpbmQodGhpcyk7XG4gICAgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MgPSB0aGlzLnJlc2l6ZUluUHJvZ3Jlc3MuYmluZCh0aGlzKTtcbiAgICB0aGlzLmJvdW5kUmVzaXplRW5kID0gdGhpcy5yZXNpemVFbmQuYmluZCh0aGlzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgICAgXG4gIH1cblxuICByZXNpemVFbmQoKXsgICBcbiAgICAvL3RoaXMuY2xvc2VEb2N1bWVudExpc3RlbmVyc1Jlc2l6ZSgpO1xuICAgIGlmKCF0aGlzLnJlc2l6ZVN0YXJ0ZWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH0gICAgIFxuICAgIHRoaXMucmVzaXplU3RhcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKTsgXG4gICAgdGhpcy5vcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpO1xuICAgIGZpcmVFdmVudCh0aGlzLCBcInJlc2l6ZWRFbmRcIiwgWyckZXZlbnQnXSk7ICAgIFxuICB9XG4gIFxuXG4gIF9nZXRWaWV3UmVjdCgpIHtcbiAgICBjb25zdCB2aWV3ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJyNjb250YWluZXJWaWV3Jyk7ICAvLyB3ZSBzaG91bGQgZ2V0IGhlcmUgdGhlIHBhcmVudCBvYmplY3Qgc2VsZWN0b3IgYXMgaW5wdXQgcGFyYW1ldGVyXG4gICAgaWYodmlldyl7XG4gICAgICByZXR1cm4gdmlldy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBET01SZWN0KDAsMCwwLDApO1xuICB9XG5cbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogZmluZCBpZiByZWN0YW5nbGUgMSBpcyBpbnNpZGUgcmVjdGFuZ2xlIDJcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBpc0luc2lkZVJlY3QocmVjdDE6RE9NUmVjdCwgcmVjdDI6RE9NUmVjdCkge1xuICAgIGlmKCFyZWN0MSB8fCAhcmVjdDIpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgcmVjdDFJbnNpZGU6Ym9vbGVhbiA9IHJlY3QyLmxlZnQgPD0gcmVjdDEubGVmdFxuICAgICAgICAgICAgICAgICAgJiYgcmVjdDIudG9wIDw9IHJlY3QxLnRvcCBcbiAgICAgICAgICAgICAgICAgICYmIHJlY3QyLnJpZ2h0ID49IHJlY3QxLnJpZ2h0IFxuICAgICAgICAgICAgICAgICAgJiYgcmVjdDIuYm90dG9tID49IHJlY3QxLmJvdHRvbTtcblxuICAgIHJldHVybiByZWN0MUluc2lkZTtcbiAgfVxuICAgIC8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogcmVzaXplIHJlY3RhbmdsZSBieSB4LCB5XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgX3Jlc2l6ZVJlY3RhbmdsZShyZWN0OkRPTVJlY3QsIHJlc2l6ZVg6bnVtYmVyLCByZXNpemVZOm51bWJlciwgcmVzaXplU3RyYXRlZ3k6c3RyaW5nKSB7XG4gICAgaWYoIXJlY3QpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihbJ253JywndycsICdzdyddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xuICAgICAgcmVjdC54ICs9IHJlc2l6ZVg7XG4gICAgICByZXNpemVYID0gcmVzaXplWCAqIC0xO1xuICAgIH1cblxuICAgIGlmKFsnbncnLCduJywgJ25lJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XG4gICAgICByZWN0LnkgKz0gcmVzaXplWTtcbiAgICAgIHJlc2l6ZVkgPSByZXNpemVZICogLTE7XG4gICAgfVxuXG4gICAgaWYodHlwZW9mKHJlc2l6ZVgpID09PSAnbnVtYmVyJyAmJiAhWyduJywncyddLmluY2x1ZGVzKHJlc2l6ZVN0cmF0ZWd5KSkge1xuICAgICAgcmVjdC53aWR0aCArPSByZXNpemVYO1xuICAgIH1cblxuICAgIGlmKHR5cGVvZihyZXNpemVZKSA9PT0gJ251bWJlcicgJiYgIVsndycsJ2UnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcbiAgICAgIHJlY3QuaGVpZ2h0ICs9IHJlc2l6ZVk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlY3Q7XG4gIH1cblxuICBfbWF4SGVpZ2h0UmVzZXQob2JqOkhUTUxFbGVtZW50LCBlbGVtZW50UmVjdDpET01SZWN0KSB7ICAgIFxuICAgIHRoaXMucmVzaXplRnJvbVRvKG9iaiwgZWxlbWVudFJlY3QucmlnaHQsIGVsZW1lbnRSZWN0LmJvdHRvbSwgZWxlbWVudFJlY3QubGVmdCxlbGVtZW50UmVjdC50b3AsIFwic2VcIik7XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICogcmVzaXplIG9iamVjdCBmcm9tIHt4LHl9IHRvIHt4LHl9IGJhc2VkIG9uIHJlc2l6ZSBzdHJhdGVneVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHJlc2l6ZUZyb21UbyAob2JqOkhUTUxFbGVtZW50LCBmcm9tWDpudW1iZXIsIGZyb21ZOm51bWJlciwgdG9YOm51bWJlcix0b1k6bnVtYmVyLCByZXNpemVTdHJhdGVneTpzdHJpbmcpe1xuICAgIGNvbnN0IHBvc1hEZWx0YSA9IHRvWCAtIGZyb21YO1xuICAgIGNvbnN0IHBvc1lEZWx0YSA9IHRvWSAtIGZyb21ZO1xuICAgIGNvbnN0IGVsZW1lbnQgPSBvYmogPz8gdGhpcy5fZWxlbWVudDtcbiAgICBjb25zdCBlbGVtZW50UmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgLy9jb25zdCB2aWV3UmVjdCA9IHRoaXMuX2dldFZpZXdSZWN0KCk7XG4gICAgY29uc3Qgdmlld1JlY3QgPSB0aGlzLnJlc2l6ZU9ic2VydmVyU2VydmljZS5nZXRQYXJlbnRBcHBSZWN0KCk7XG4gICAgXG4gICAgbGV0IGNoZWNrQm91bmRhcmllcyA9IHRydWU7XG5cbiAgICByZXNpemVTdHJhdGVneSA9IHJlc2l6ZVN0cmF0ZWd5IHx8IFwic2VcIjtcblxuICAgIC8vaWYgdGhlIG9iamVjdCBpcyBvdXRzaWRlIHRoZSB2aWV3IHJlY3QgYmVjYXVzZSBpdCdzIGJpZ2dlciwgZG8gbm90IGNoZWNrIGJvdW5kYXJpZXMsXG4gICAgLy9hbGxvdyBtb3Zpbmcgb3V0c2lkZSB0aGUgdmlldyByZWN0XG4gICAgaWYodGhpcy5pc0luc2lkZVJlY3QoZWxlbWVudFJlY3QsIHZpZXdSZWN0KSA9PT0gZmFsc2UpIHtcbiAgICAgIGNoZWNrQm91bmRhcmllcyA9IGZhbHNlOyBcbiAgICB9XG5cbiAgICB0aGlzLl9yZXNpemVSZWN0YW5nbGUoZWxlbWVudFJlY3QsIHBvc1hEZWx0YSwgcG9zWURlbHRhLCByZXNpemVTdHJhdGVneSk7XG5cbiAgICBpZiAoY2hlY2tCb3VuZGFyaWVzICYmIHRoaXMuaXNJbnNpZGVSZWN0KGVsZW1lbnRSZWN0LCB2aWV3UmVjdCkgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgXG4gICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpO1xuICAgIGxldCB0b3AgPSBwYXJzZUludChjb21wdXRlZFN0eWxlLnRvcCwgMTApO1xuICAgIGxldCBsZWZ0ID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS5sZWZ0LCAxMCk7XG4gICAgbGV0IHdpZHRoID0gcGFyc2VJbnQoY29tcHV0ZWRTdHlsZS53aWR0aCwgMTApO1xuICAgIGxldCBoZWlnaHQgPSBwYXJzZUludChjb21wdXRlZFN0eWxlLmhlaWdodCwgMTApO1xuICAgIFxuICAgIGlmKFsnbncnLCd3JywgJ3N3J10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XG4gICAgICAgbGVmdCA9IGxlZnQgKyBwb3NYRGVsdGE7ICAgICAgXG4gICAgfVxuXG4gICAgaWYoWydudycsJ24nLCAnbmUnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcbiAgICAgIHRvcCA9IHRvcCAgKyAgcG9zWURlbHRhOyAgICAgIFxuICAgIH1cblxuICAgIGlmKCFbJ24nLCdzJ10uaW5jbHVkZXMocmVzaXplU3RyYXRlZ3kpKSB7XG4gICAgICB3aWR0aCA9IGVsZW1lbnRSZWN0LndpZHRoO1xuICAgIH1cbiAgICBcbiAgICBpZiggdmlld1JlY3QuaGVpZ2h0IDwgZWxlbWVudFJlY3QuaGVpZ2h0ICl7XG4gICAgICB0aGlzLl9tYXhIZWlnaHRSZXNldChlbGVtZW50LCBlbGVtZW50UmVjdCk7XG4gICAgfVxuICAgIGVsc2UgaWYoIVsndycsJ2UnXS5pbmNsdWRlcyhyZXNpemVTdHJhdGVneSkpIHtcbiAgICAgIGhlaWdodCA9IGVsZW1lbnRSZWN0LmhlaWdodDtcbiAgICB9XG5cbiAgICBcbiAgICBlbGVtZW50LnN0eWxlLnRvcCAgICA9IHRvcCAgICsgJ3B4JztcbiAgICBlbGVtZW50LnN0eWxlLmxlZnQgICA9IGxlZnQgICsgJ3B4JztcbiAgICBlbGVtZW50LnN0eWxlLndpZHRoICA9IHdpZHRoICsgJ3B4JztcbiAgICBlbGVtZW50LnN0eWxlLmhlaWdodCAgPSBoZWlnaHQgKyAncHgnO1xuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbi8qKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIHJlc2l6ZSBzdGFydCBhdCB0aGUgbGF5b3V0IG1hbmFnYWVyXG4gICAqIG9wZW4gZG9jdW1lbnQgbGlzdGVuZXJzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgXG4gICAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogc2V0IHRoZSBlbGVtZW50cyB1c2VkIGZvciByZXNpemluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHNldFJlc2l6ZXJzKGVsZW1lbnQ6SFRNTEVsZW1lbnQpIHtcbiAgICBjb25zdCBzZXRSZXNpemFibGVFbGVtZW50cyA9ICgpID0+IHtcbiAgICAgIGxldCByZXNpemFibGVFbGVtZW50czpSZXNpemFibGVFbGVtZW50W10gPSBbXTtcbiAgICAgIC8vIGdldCBkb20gZWxlbWVudHMgb2YgYWxsIHJlc2l6ZXJzXG4gICAgICB0aGlzLnJlc2l6ZXJzTGlzdC5mb3JFYWNoKCBpdGVtID0+IHtcbiAgICAgICAgY29uc3QgcmVzaXplRWxlbXMgPSAgZWxlbWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGl0ZW0uY2xhc3NOYW1lKTtcbiAgICAgICAgaWYoIHJlc2l6ZUVsZW1zPy5sZW5ndGggKSB7XG4gICAgICAgICAgLy8gc2V0IHJlc2l6ZSBzdHJhdGVneSBpbiBlYWNoIGVsZW1lbnQgc28gd2Uga25vdyBpbiB3aGljaCBkaXJlY3Rpb24gdG8gcmVzaXplXG4gICAgICAgICAgY29uc3QgZGVjb3JhdGVkUmVzaXplRWxlbXM6IFJlc2l6YWJsZUVsZW1lbnRbXSA9IEFycmF5LmZyb20ocmVzaXplRWxlbXMpLm1hcCggZWxlbSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXNpemFibGVFbGVtID0gZWxlbSBhcyBSZXNpemFibGVFbGVtZW50O1xuICAgICAgICAgICAgcmVzaXphYmxlRWxlbS5yZXNpemVTdHJhdGVneSA9IGl0ZW0ucmVzaXplU3RyYXRlZ3k7XG4gICAgICAgICAgICByZXR1cm4gcmVzaXphYmxlRWxlbTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIGFkZCBpdCB0byBsaXN0IG9mIGFsbCByZXNpemVyc1xuICAgICAgICAgIHJlc2l6YWJsZUVsZW1lbnRzID0gWy4uLnJlc2l6YWJsZUVsZW1lbnRzLCAuLi5kZWNvcmF0ZWRSZXNpemVFbGVtc107XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzID0gIFsuLi5yZXNpemFibGVFbGVtZW50c107XG4gICAgICB0aGlzLm9wZW5FbGVtZW50TGlzdGVuZXJzUmVzaXplKCk7XG4gICAgfVxuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgIHNldFJlc2l6YWJsZUVsZW1lbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKiotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAqIG9wZW4gbW91c2Vkb3duLCB0b3VjaHN0YXJ0IGxpc3RlbmVycyBvbiBhbGwgZWxlbWVudHMgYWxsb3dlZCBmb3IgcmVzaXppbmdcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBvcGVuRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpIHtcbiAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuYm91bmRSZXNpemVTdGFydCk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xuICAgIH0pO1xuICB9XG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogb3BlbiBtb3VzZXVwLCB0b3VjaGVuZCBhbmQgbW91c2Vtb3ZlLCB0b3VjaG1vdmUgb24gZG9jdW1lbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBvcGVuRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5ib3VuZFJlc2l6ZUluUHJvZ3Jlc3MpO1xuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuYm91bmRSZXNpemVJblByb2dyZXNzKTsgICAgXG4gIH1cbiBcbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiBjbG9zZSBtb3VzZXVwLCB0b3VjaGVuZCBhbmQgbW91c2Vtb3ZlLCB0b3VjaG1vdmUgb24gZG9jdW1lbnRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICBjbG9zZURvY3VtZW50TGlzdGVuZXJzUmVzaXplKCkge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuYm91bmRSZXNpemVJblByb2dyZXNzKTtcbiAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaG1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgdGhpcy5ib3VuZFJlc2l6ZUVuZCk7XG4gIH1cblxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiBjbG9zZSBtb3VzZWRvd24sIHRvdWNoc3RhcnQgbGlzdGVuZXJzIG9uIGFsbCBlbGVtZW50cyBhbGxvd2VkIGZvciByZXNpemluZ1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIGNsb3NlRWxlbWVudExpc3RlbmVyc1Jlc2l6ZSgpIHtcbiAgICB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuYm91bmRSZXNpemVTdGFydCk7XG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCB0aGlzLmJvdW5kUmVzaXplU3RhcnQpO1xuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLmJvdW5kUmVzaXplSW5Qcm9ncmVzcyk7XG4gICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3RvdWNobW92ZScsIHRoaXMuYm91bmRSZXNpemVJblByb2dyZXNzKTsgICAgICBcbiAgICAgIGVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgICAgZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIHRoaXMuYm91bmRSZXNpemVFbmQpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgKiBjbG9zZSBhbGwgbGlzdGVuZXJzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgY2xvc2VBbGxMaXN0ZW5lcnNSZXNpemUoKSB7XG4gICAgdGhpcy5jbG9zZUVsZW1lbnRMaXN0ZW5lcnNSZXNpemUoKTtcbiAgICB0aGlzLmNsb3NlRG9jdW1lbnRMaXN0ZW5lcnNSZXNpemUoKTtcbiAgfVxuXG4gLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogc2V0dXAgYWN0dWFsIHJlc2l6ZSBzdHJhdGVneVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIHNldHVwUmVzaXplU3RyYXRlZ3koZXZlbnQ6IE1vdXNlRXZlbnQgfCBUb3VjaEV2ZW50KSB7XG4gICAgaWYoICFldmVudCApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBmaW5kIG9uIHdoaWNoIGVsZW1lbnQgcmVzaXplIHN0YXJ0ZWQgc28gd2Uga25vdyBpbiB3aGljaCBkaXJlY3Rpb24gdG8gcmVzaXplXG4gICAgbGV0IHJlc2l6ZVN0cmF0ZWd5OnN0cmluZyA9IFwic2VcIjtcbiAgICBjb25zdCAgcmVzaXplU291cmNlRWxlbSA9IGV2ZW50Py50YXJnZXQ7XG5cbiAgICBpZiggcmVzaXplU291cmNlRWxlbSApIHtcbiAgICAgIGNvbnN0ICBmb3VuZEVsZW0gPSB0aGlzLnJlc2l6YWJsZUVsZW1lbnRzLmZpbmQoIGl0ZW0gPT4gaXRlbSA9PT0gcmVzaXplU291cmNlRWxlbSApO1xuICAgICAgaWYgKGZvdW5kRWxlbT8ucmVzaXplU3RyYXRlZ3kpIHtcbiAgICAgICAgcmVzaXplU3RyYXRlZ3kgPSBmb3VuZEVsZW0/LnJlc2l6ZVN0cmF0ZWd5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuYWN0UmVzaXplU3RyYXRlZ3kgPSAgcmVzaXplU3RyYXRlZ3k7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -41,10 +41,10 @@ export class XDraggableDirective {
|
|
|
41
41
|
fireEvent(this, "clicked", event);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: XDraggableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: XDraggableDirective, isStandalone: true, selector: "[xDraggable]", outputs: { dragging: "dragging", clicked: "clicked" }, host: { listeners: { "document:mousemove": "onMouseMove($event)", "document:mouseup": "onMouseUp($event)", "mousedown": "onMouseDown($event)", "click": "onMouseClick($event)" } }, ngImport: i0 }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: XDraggableDirective, decorators: [{
|
|
48
48
|
type: Directive,
|
|
49
49
|
args: [{
|
|
50
50
|
selector: '[xDraggable]',
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy1vcGFjaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvYmltcGx1cy1vcGFjaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9wYWNpdHlQcm9wZXJ0aWVzIHtcbiAgaXNPcGFxdWU6IGJvb2xlYW47XG4gIGlzU2VtaU9wYXF1ZTogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmltcGx1cy12aXNpYmlsaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL2ludGVyZmFjZXMvYmltcGx1cy12aXNpYmlsaXR5LXByb3BlcnRpZXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFZpc2liaWxpdHlQcm9wZXJ0aWVzIHtcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBpc1NlbWlWaXNpYmxlOiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class NgxBimplusComponentsComponent {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
5
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: NgxBimplusComponentsComponent, isStandalone: true, selector: "lib-ngx-bimplus-components", ngImport: i0, template: `
|
|
6
6
|
<p>
|
|
7
7
|
ngx-bimplus-components works!
|
|
8
8
|
</p>
|
|
9
9
|
`, isInline: true, styles: [""] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
13
|
args: [{ selector: 'lib-ngx-bimplus-components', standalone: true, imports: [], template: `
|
|
14
14
|
<p>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class NgxBimplusComponentsService {
|
|
4
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
5
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.
|
|
4
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsService, providedIn: 'root' }); }
|
|
6
6
|
}
|
|
7
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgxBimplusComponentsService, decorators: [{
|
|
8
8
|
type: Injectable,
|
|
9
9
|
args: [{
|
|
10
10
|
providedIn: 'root'
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { DecimalPipe } from '@angular/common';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const MB_SIZE = 1024;
|
|
5
|
+
export const BitConverterSize = {
|
|
6
|
+
KB: 'kB',
|
|
7
|
+
GB: 'gib',
|
|
8
|
+
MB: 'mb'
|
|
9
|
+
// more..
|
|
10
|
+
};
|
|
11
|
+
export class BitConverterPipe extends DecimalPipe {
|
|
12
|
+
transform(value, sizeToConvert = BitConverterSize.KB, digitsInfo = '1.2-2') {
|
|
13
|
+
if (!this.isNumber(value)) {
|
|
14
|
+
throw new Error('[BitConverterPipe]: value is not a number');
|
|
15
|
+
}
|
|
16
|
+
const size = this.getSizeFromBites(value, sizeToConvert);
|
|
17
|
+
let decimalValue = super.transform(size, digitsInfo);
|
|
18
|
+
decimalValue ??= value.toString();
|
|
19
|
+
return `(${decimalValue} ${sizeToConvert})`;
|
|
20
|
+
}
|
|
21
|
+
getSizeFromBites(value, size) {
|
|
22
|
+
switch (size) {
|
|
23
|
+
case 'kB':
|
|
24
|
+
return value / MB_SIZE;
|
|
25
|
+
case 'mb':
|
|
26
|
+
return value / (MB_SIZE * MB_SIZE);
|
|
27
|
+
case 'gib':
|
|
28
|
+
return value / (MB_SIZE * MB_SIZE * MB_SIZE);
|
|
29
|
+
default:
|
|
30
|
+
return value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
isNumber(value) {
|
|
34
|
+
return typeof value === 'number' && !isNaN(value);
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BitConverterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
37
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: BitConverterPipe, isStandalone: true, name: "bitConverter" }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: BitConverterPipe, decorators: [{
|
|
40
|
+
type: Pipe,
|
|
41
|
+
args: [{
|
|
42
|
+
name: 'bitConverter',
|
|
43
|
+
standalone: true
|
|
44
|
+
}]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LWNvbnZlcnRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL3BpcGVzL2JpdC1jb252ZXJ0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxLQUFLO0lBQ1QsRUFBRSxFQUFFLElBQUk7SUFDUixTQUFTO0NBQ0gsQ0FBQztBQVFYLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBSXBDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsZ0JBQTBCLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxhQUFxQixPQUFPO1FBQzFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELFlBQVksS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFbEMsT0FBTyxJQUFJLFlBQVksSUFBSSxhQUFhLEdBQUcsQ0FBQztJQUNoRCxDQUFDO0lBRU8sZ0JBQWdCLENBQUMsS0FBYSxFQUFFLElBQWM7UUFDbEQsUUFBTyxJQUFJLEVBQUUsQ0FBQztZQUNWLEtBQUssSUFBSTtnQkFDTCxPQUFPLEtBQUssR0FBRyxPQUFPLENBQUM7WUFDM0IsS0FBSyxJQUFJO2dCQUNMLE9BQU8sS0FBSyxHQUFHLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZDLEtBQUssS0FBSztnQkFDTixPQUFPLEtBQUssR0FBRyxDQUFDLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7WUFDakQ7Z0JBQ0ksT0FBTyxLQUFLLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRLENBQUMsS0FBYztRQUMzQixPQUFRLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN2RCxDQUFDOytHQTlCUSxnQkFBZ0I7NkdBQWhCLGdCQUFnQjs7NEZBQWhCLGdCQUFnQjtrQkFKNUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsY0FBYztvQkFDcEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjaW1hbFBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5jb25zdCBNQl9TSVpFID0gMTAyNDtcclxuXHJcbmV4cG9ydCBjb25zdCBCaXRDb252ZXJ0ZXJTaXplID0ge1xyXG4gICAgS0I6ICdrQicsXHJcbiAgICBHQjogJ2dpYicsXHJcbiAgICBNQjogJ21iJ1xyXG4gICAgLy8gbW9yZS4uXHJcbn0gYXMgY29uc3Q7XHJcblxyXG50eXBlIFNpemVUeXBlID0gdHlwZW9mIEJpdENvbnZlcnRlclNpemVbJ0dCJyB8ICdLQicgfCAnTUInXTtcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnYml0Q29udmVydGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCaXRDb252ZXJ0ZXJQaXBlIGV4dGVuZHMgRGVjaW1hbFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIG92ZXJyaWRlIHRyYW5zZm9ybSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBudWxsIHwgdW5kZWZpbmVkLCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBudWxsO1xyXG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCBkaWdpdHNJbmZvPzogc3RyaW5nLCBsb2NhbGU/OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsO1xyXG4gICAgb3ZlcnJpZGUgdHJhbnNmb3JtKHZhbHVlOiB1bmtub3duLCBzaXplVG9Db252ZXJ0OiBTaXplVHlwZSA9IEJpdENvbnZlcnRlclNpemUuS0IsIGRpZ2l0c0luZm86IHN0cmluZyA9ICcxLjItMicpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignW0JpdENvbnZlcnRlclBpcGVdOiB2YWx1ZSBpcyBub3QgYSBudW1iZXInKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMuZ2V0U2l6ZUZyb21CaXRlcyh2YWx1ZSwgc2l6ZVRvQ29udmVydCk7XHJcbiAgICAgICAgbGV0IGRlY2ltYWxWYWx1ZSA9IHN1cGVyLnRyYW5zZm9ybShzaXplLCBkaWdpdHNJbmZvKTtcclxuICAgICAgICBkZWNpbWFsVmFsdWUgPz89IHZhbHVlLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgIHJldHVybiBgKCR7ZGVjaW1hbFZhbHVlfSAke3NpemVUb0NvbnZlcnR9KWA7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTaXplRnJvbUJpdGVzKHZhbHVlOiBudW1iZXIsIHNpemU6IFNpemVUeXBlKTogbnVtYmVyIHtcclxuICAgICAgICBzd2l0Y2goc2l6ZSkge1xyXG4gICAgICAgICAgICBjYXNlICdrQic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgLyBNQl9TSVpFO1xyXG4gICAgICAgICAgICBjYXNlICdtYic6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUgLyAoTUJfU0laRSAqIE1CX1NJWkUpO1xyXG4gICAgICAgICAgICBjYXNlICdnaWInOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIC8gKE1CX1NJWkUgKiBNQl9TSVpFICogTUJfU0laRSk7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNOdW1iZXIodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiAhaXNOYU4odmFsdWUpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { RoundPipe } from './round.pipe';
|
|
3
|
+
import moment from 'moment';
|
|
4
|
+
import 'moment/min/locales';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class GetAttributeValue {
|
|
7
|
+
constructor() {
|
|
8
|
+
const locale = window.navigator.language;
|
|
9
|
+
moment.locale(locale);
|
|
10
|
+
}
|
|
11
|
+
_transformDouble(value) {
|
|
12
|
+
if (value.control && /^Enumeration$/i.test(value.control)) {
|
|
13
|
+
return value.enumdefinition[`${value.value}`];
|
|
14
|
+
}
|
|
15
|
+
return new RoundPipe().transform(value.value, value.decimal || 2);
|
|
16
|
+
}
|
|
17
|
+
_transformDatetime(value) {
|
|
18
|
+
moment.locale(window.navigator.language);
|
|
19
|
+
const localeDate = moment(value.value).format('L');
|
|
20
|
+
console.log(localeDate);
|
|
21
|
+
if (localeDate) {
|
|
22
|
+
return localeDate;
|
|
23
|
+
}
|
|
24
|
+
return value.value;
|
|
25
|
+
}
|
|
26
|
+
_transformGUIDorInt(value) {
|
|
27
|
+
if (value.control && /^Enumeration$/i.test(value.control)) {
|
|
28
|
+
return value.enumdefinition[`${value.value}`];
|
|
29
|
+
}
|
|
30
|
+
return value.value;
|
|
31
|
+
}
|
|
32
|
+
_transformString(value) {
|
|
33
|
+
if (value.control && /^Combobox$/i.test(value.control)) {
|
|
34
|
+
return value.value;
|
|
35
|
+
}
|
|
36
|
+
if (value.control && /^Enumeration$/i.test(value.control)) {
|
|
37
|
+
return value.enumdefinition[`${value.value}`];
|
|
38
|
+
}
|
|
39
|
+
return value.value;
|
|
40
|
+
}
|
|
41
|
+
_transformCheckbox(value) {
|
|
42
|
+
if (value.value === '1') {
|
|
43
|
+
return "True";
|
|
44
|
+
}
|
|
45
|
+
return "False";
|
|
46
|
+
}
|
|
47
|
+
_transformBoolean(value) {
|
|
48
|
+
if (value.value === '1'
|
|
49
|
+
|| /^true$/i.test(value.value)) {
|
|
50
|
+
return "True";
|
|
51
|
+
}
|
|
52
|
+
return "False";
|
|
53
|
+
}
|
|
54
|
+
transform(value) {
|
|
55
|
+
const _value = value.value;
|
|
56
|
+
if (this.isEmpty(_value)) {
|
|
57
|
+
return '';
|
|
58
|
+
}
|
|
59
|
+
if (this.isDouble(value)) {
|
|
60
|
+
return this._transformDouble(value);
|
|
61
|
+
}
|
|
62
|
+
if (this.isDatetime(value)) {
|
|
63
|
+
return this._transformDatetime(value);
|
|
64
|
+
}
|
|
65
|
+
if (this.isGUIDorInt(value)) {
|
|
66
|
+
return this._transformGUIDorInt(value);
|
|
67
|
+
}
|
|
68
|
+
if (this.isString(value)) {
|
|
69
|
+
return this._transformString(value);
|
|
70
|
+
}
|
|
71
|
+
if (this.isCheckbox(value)) {
|
|
72
|
+
return this._transformCheckbox(value);
|
|
73
|
+
}
|
|
74
|
+
if (this.isBoolean(value)) {
|
|
75
|
+
return this._transformBoolean(value);
|
|
76
|
+
}
|
|
77
|
+
return value.value;
|
|
78
|
+
}
|
|
79
|
+
isEmpty(value) {
|
|
80
|
+
return value === undefined || value === null || value === '';
|
|
81
|
+
}
|
|
82
|
+
isDouble(value) {
|
|
83
|
+
return typeof value.type === 'string' && /^double$/i.test(value.type);
|
|
84
|
+
}
|
|
85
|
+
isDatetime(value) {
|
|
86
|
+
return typeof value.type === 'string' && /^datetime$/i.test(value.type);
|
|
87
|
+
}
|
|
88
|
+
isGUIDorInt(value) {
|
|
89
|
+
return typeof value.type === 'string' && (/^guid$/i.test(value.type) || /^int(32)?$/i.test(value.type));
|
|
90
|
+
}
|
|
91
|
+
isString(value) {
|
|
92
|
+
return typeof value.type === 'string' && /^string$/i.test(value.type);
|
|
93
|
+
}
|
|
94
|
+
isCheckbox(value) {
|
|
95
|
+
return typeof value.type === 'string' && /^checkbox$/i.test(value.control);
|
|
96
|
+
}
|
|
97
|
+
isBoolean(value) {
|
|
98
|
+
return typeof value.type === 'string' && /^boolean$/i.test(value.type);
|
|
99
|
+
}
|
|
100
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GetAttributeValue, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
101
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: GetAttributeValue, isStandalone: true, name: "getAttributeValue" }); }
|
|
102
|
+
}
|
|
103
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: GetAttributeValue, decorators: [{
|
|
104
|
+
type: Pipe,
|
|
105
|
+
args: [{
|
|
106
|
+
name: 'getAttributeValue',
|
|
107
|
+
standalone: true
|
|
108
|
+
}]
|
|
109
|
+
}], ctorParameters: () => [] });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF0dHJpYnV0ZS12YWx1ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJpbXBsdXMtY29tcG9uZW50cy9zcmMvbGliL3BpcGVzL2dldC1hdHRyaWJ1dGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3pDLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLG9CQUFvQixDQUFDOztBQU81QixNQUFNLE9BQU8saUJBQWlCO0lBRTVCO1FBQ0UsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7UUFDekMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBc0I7UUFDckMsSUFBRyxLQUFLLENBQUMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6RCxPQUFPLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQXNCO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxNQUFNLFVBQVUsR0FBVyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxH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SyxRQUFRLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzsrR0FwSFUsaUJBQWlCOzZHQUFqQixpQkFBaUI7OzRGQUFqQixpQkFBaUI7a0JBSjdCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYmplY3RBdHRyaWJ1dGUgfSBmcm9tICcuLi9jb21wb25lbnRzL29iamVjdC1wcm9wZXJ0aWVzL29iamVjdC1wcm9wZXJ0aWVzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFJvdW5kUGlwZSB9IGZyb20gJy4vcm91bmQucGlwZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0ICdtb21lbnQvbWluL2xvY2FsZXMnO1xyXG5cclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZ2V0QXR0cmlidXRlVmFsdWUnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEdldEF0dHJpYnV0ZVZhbHVlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgY29uc3QgbG9jYWxlID0gd2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZTtcclxuICAgIG1vbWVudC5sb2NhbGUobG9jYWxlKTtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1Eb3VibGUodmFsdWU6IE9iamVjdEF0dHJpYnV0ZSk6IHN0cmluZyB7XHJcbiAgICBpZih2YWx1ZS5jb250cm9sICYmIC9eRW51bWVyYXRpb24kL2kudGVzdCh2YWx1ZS5jb250cm9sKSkge1xyXG4gICAgICByZXR1cm4gdmFsdWUuZW51bWRlZmluaXRpb25bYCR7dmFsdWUudmFsdWV9YF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFJvdW5kUGlwZSgpLnRyYW5zZm9ybSh2YWx1ZS52YWx1ZSwgdmFsdWUuZGVjaW1hbCB8fCAyKTtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1EYXRldGltZSh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIG1vbWVudC5sb2NhbGUod2luZG93Lm5hdmlnYXRvci5sYW5ndWFnZSk7XHJcbiAgICBjb25zdCBsb2NhbGVEYXRlOiBzdHJpbmcgPSBtb21lbnQodmFsdWUudmFsdWUpLmZvcm1hdCgnTCcpXHJcbiAgICBjb25zb2xlLmxvZyhsb2NhbGVEYXRlKTtcclxuICAgIGlmKGxvY2FsZURhdGUpIHtcclxuICAgICAgcmV0dXJuIGxvY2FsZURhdGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWUudmFsdWU7XHJcbiAgfVxyXG5cclxuICBfdHJhbnNmb3JtR1VJRG9ySW50KHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBzdHJpbmcge1xyXG4gICAgaWYodmFsdWUuY29udHJvbCAmJiAvXkVudW1lcmF0aW9uJC9pLnRlc3QodmFsdWUuY29udHJvbCkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlLmVudW1kZWZpbml0aW9uW2Ake3ZhbHVlLnZhbHVlfWBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlLnZhbHVlO1xyXG4gIH1cclxuXHJcbiAgX3RyYW5zZm9ybVN0cmluZyh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIGlmKHZhbHVlLmNvbnRyb2wgJiYgL15Db21ib2JveCQvaS50ZXN0KHZhbHVlLmNvbnRyb2wpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcclxuICAgIH1cclxuICAgIGlmKHZhbHVlLmNvbnRyb2wgJiYgL15FbnVtZXJhdGlvbiQvaS50ZXN0KHZhbHVlLmNvbnRyb2wpKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZS5lbnVtZGVmaW5pdGlvbltgJHt2YWx1ZS52YWx1ZX1gXTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1DaGVja2JveCh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogc3RyaW5nIHtcclxuICAgIGlmKHZhbHVlLnZhbHVlID09PSAnMScpIHtcclxuICAgICAgcmV0dXJuIFwiVHJ1ZVwiO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiRmFsc2VcIjtcclxuICB9XHJcblxyXG4gIF90cmFuc2Zvcm1Cb29sZWFuKHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBzdHJpbmcge1xyXG4gICAgaWYodmFsdWUudmFsdWUgPT09ICcxJ1xyXG4gICAgICB8fCAvXnRydWUkL2kudGVzdCh2YWx1ZS52YWx1ZSlcclxuICAgICAgKSB7XHJcbiAgICAgIHJldHVybiBcIlRydWVcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBcIkZhbHNlXCI7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm0odmFsdWU6IE9iamVjdEF0dHJpYnV0ZSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBfdmFsdWUgPSB2YWx1ZS52YWx1ZTtcclxuICAgIGlmICh0aGlzLmlzRW1wdHkoX3ZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNEb3VibGUodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1Eb3VibGUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzRGF0ZXRpbWUodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1EYXRldGltZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNHVUlEb3JJbnQodmFsdWUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl90cmFuc2Zvcm1HVUlEb3JJbnQodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzU3RyaW5nKHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RyaW5nKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5pc0NoZWNrYm94KHZhbHVlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fdHJhbnNmb3JtQ2hlY2tib3godmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmlzQm9vbGVhbih2YWx1ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zZm9ybUJvb2xlYW4odmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZS52YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFbXB0eSh2YWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgfHwgdmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0RvdWJsZSh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlLnR5cGUgPT09ICdzdHJpbmcnICYmIC9eZG91YmxlJC9pLnRlc3QodmFsdWUudHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRGF0ZXRpbWUodmFsdWU6IE9iamVjdEF0dHJpYnV0ZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZS50eXBlID09PSAnc3RyaW5nJyAmJiAvXmRhdGV0aW1lJC9pLnRlc3QodmFsdWUudHlwZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzR1VJRG9ySW50KHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgKC9eZ3VpZCQvaS50ZXN0KHZhbHVlLnR5cGUpIHx8IC9eaW50KDMyKT8kL2kudGVzdCh2YWx1ZS50eXBlKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzU3RyaW5nKHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgL15zdHJpbmckL2kudGVzdCh2YWx1ZS50eXBlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNDaGVja2JveCh2YWx1ZTogT2JqZWN0QXR0cmlidXRlKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlLnR5cGUgPT09ICdzdHJpbmcnICYmIC9eY2hlY2tib3gkL2kudGVzdCh2YWx1ZS5jb250cm9sKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNCb29sZWFuKHZhbHVlOiBPYmplY3RBdHRyaWJ1dGUpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgL15ib29sZWFuJC9pLnRlc3QodmFsdWUudHlwZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -4,10 +4,10 @@ export class PxsuffixPipe {
|
|
|
4
4
|
transform(input) {
|
|
5
5
|
return input + 'px';
|
|
6
6
|
}
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PxsuffixPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
8
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: PxsuffixPipe, isStandalone: true, name: "pxsuffix" }); }
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: PxsuffixPipe, decorators: [{
|
|
11
11
|
type: Pipe,
|
|
12
12
|
args: [{
|
|
13
13
|
name: 'pxsuffix',
|