@ng-doc/ui-kit 17.6.16 → 18.0.0-beta.2
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/animations/index.d.ts +1 -0
- package/animations/popup.d.ts +2 -0
- package/assets/icons/16/maximize.svg +1 -0
- package/assets/icons/16/zoom-in.svg +1 -0
- package/assets/icons/16/zoom-out.svg +1 -0
- package/assets/icons/24/activity.svg +1 -0
- package/assets/icons/24/check.svg +1 -0
- package/classes/base-input/base-input.d.ts +1 -0
- package/components/blockquote/blockquote.component.d.ts +2 -1
- package/components/button/button.component.d.ts +20 -0
- package/components/button-icon/button-icon.component.d.ts +1 -1
- package/components/button-toggle/button-toggle.component.d.ts +8 -0
- package/components/button-toggle/index.d.ts +1 -0
- package/components/expander/expander.component.d.ts +5 -3
- package/components/floated-content/floated-content.component.d.ts +2 -8
- package/components/icon/icon.component.d.ts +1 -0
- package/components/index.d.ts +4 -0
- package/components/input-wrapper/input-wrapper.component.d.ts +1 -3
- package/components/magnifier/index.d.ts +1 -0
- package/components/magnifier/magnifier.component.d.ts +21 -0
- package/components/magnifier-controller/index.d.ts +1 -0
- package/components/magnifier-controller/magnifier-controller.component.d.ts +7 -0
- package/components/overlay-container/overlay-container.component.d.ts +6 -5
- package/components/sidenav/sidenav.component.d.ts +2 -20
- package/components/tab-group/tab/tab.component.d.ts +1 -1
- package/components/tab-routes-group/index.d.ts +2 -0
- package/components/tab-routes-group/tab-route/tab-route.component.d.ts +7 -0
- package/components/tab-routes-group/tab-routes-group.component.d.ts +6 -0
- package/directives/index.d.ts +1 -1
- package/directives/radio-group/index.d.ts +1 -0
- package/directives/radio-group/radio-group.directive.d.ts +7 -0
- package/directives/rotator/rotator.directive.d.ts +5 -9
- package/esm2022/animations/index.mjs +2 -1
- package/esm2022/animations/popup.mjs +8 -0
- package/esm2022/cdk/combobox-host/combobox-host.component.mjs +3 -3
- package/esm2022/classes/base-input/base-input.mjs +7 -6
- package/esm2022/classes/overlay-ref/overlay-ref.mjs +2 -2
- package/esm2022/components/blockquote/blockquote.component.mjs +7 -5
- package/esm2022/components/button/button.component.mjs +25 -5
- package/esm2022/components/button-icon/button-icon.component.mjs +5 -5
- package/esm2022/components/button-toggle/button-toggle.component.mjs +23 -0
- package/esm2022/components/button-toggle/index.mjs +2 -0
- package/esm2022/components/button-toggle/ng-doc-ui-kit-components-button-toggle.mjs +5 -0
- package/esm2022/components/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/components/clear-control/clear-control.component.mjs +5 -5
- package/esm2022/components/combobox/combobox.component.mjs +6 -6
- package/esm2022/components/data-list/data-list.component.mjs +4 -4
- package/esm2022/components/data-list-group/data-list-group.component.mjs +3 -3
- package/esm2022/components/dialog-outlet/dialog-outlet.component.mjs +3 -3
- package/esm2022/components/dot/dot.component.mjs +3 -3
- package/esm2022/components/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/components/expander/expander.component.mjs +13 -13
- package/esm2022/components/floated-border/floated-border.component.mjs +3 -3
- package/esm2022/components/floated-content/floated-content.component.mjs +9 -30
- package/esm2022/components/focus-control/focus-control.component.mjs +3 -3
- package/esm2022/components/icon/icon.component.mjs +7 -6
- package/esm2022/components/index.mjs +5 -1
- package/esm2022/components/input-wrapper/input-wrapper.component.mjs +6 -12
- package/esm2022/components/label/label.component.mjs +3 -3
- package/esm2022/components/line/line.component.mjs +3 -3
- package/esm2022/components/list/list.component.mjs +3 -3
- package/esm2022/components/magnifier/index.mjs +2 -0
- package/esm2022/components/magnifier/magnifier.component.mjs +79 -0
- package/esm2022/components/magnifier/ng-doc-ui-kit-components-magnifier.mjs +5 -0
- package/esm2022/components/magnifier-controller/index.mjs +2 -0
- package/esm2022/components/magnifier-controller/magnifier-controller.component.mjs +16 -0
- package/esm2022/components/magnifier-controller/ng-doc-ui-kit-components-magnifier-controller.mjs +5 -0
- package/esm2022/components/option/option.component.mjs +3 -3
- package/esm2022/components/option-group/option-group.component.mjs +6 -6
- package/esm2022/components/overlay-container/overlay-container.component.mjs +14 -8
- package/esm2022/components/overlay-pointer/overlay-pointer.component.mjs +3 -3
- package/esm2022/components/pane/pane.component.mjs +9 -9
- package/esm2022/components/selection/selection-host.directive.mjs +3 -3
- package/esm2022/components/selection/selection-origin.directive.mjs +3 -3
- package/esm2022/components/selection/selection.component.mjs +6 -5
- package/esm2022/components/sidenav/sidenav.component.mjs +10 -130
- package/esm2022/components/smooth-resize/smooth-resize.component.mjs +3 -3
- package/esm2022/components/spinner/spinner.component.mjs +3 -3
- package/esm2022/components/tab-group/tab/tab.component.mjs +5 -5
- package/esm2022/components/tab-group/tab-group.component.mjs +4 -4
- package/esm2022/components/tab-routes-group/index.mjs +3 -0
- package/esm2022/components/tab-routes-group/ng-doc-ui-kit-components-tab-routes-group.mjs +5 -0
- package/esm2022/components/tab-routes-group/tab-route/tab-route.component.mjs +21 -0
- package/esm2022/components/tab-routes-group/tab-routes-group.component.mjs +14 -0
- package/esm2022/components/tag/tag.component.mjs +4 -4
- package/esm2022/components/text/text-left.directive.mjs +3 -3
- package/esm2022/components/text/text-right.directive.mjs +3 -3
- package/esm2022/components/text/text.component.mjs +5 -5
- package/esm2022/components/toggle/toggle.component.mjs +3 -3
- package/esm2022/components/wrapper/wrapper.component.mjs +3 -3
- package/esm2022/directives/autofocus/autofocus.directive.mjs +3 -3
- package/esm2022/directives/checked-change/checked-change.directive.mjs +3 -3
- package/esm2022/directives/data/data.directive.mjs +3 -3
- package/esm2022/directives/dropdown-handler/dropdown-handler.directive.mjs +3 -3
- package/esm2022/directives/dropdown-origin/dropdown-origin.directive.mjs +3 -3
- package/esm2022/directives/event-switcher/event-switcher.directive.mjs +3 -3
- package/esm2022/directives/focus-catcher/focus-catcher.directive.mjs +3 -3
- package/esm2022/directives/focusable/focusable.directive.mjs +3 -3
- package/esm2022/directives/hotkey/hotkey.directive.mjs +3 -3
- package/esm2022/directives/index.mjs +2 -2
- package/esm2022/directives/input-number/input-number.directive.mjs +3 -3
- package/esm2022/directives/input-string/input-string.directive.mjs +3 -3
- package/esm2022/directives/let/let.directive.mjs +3 -3
- package/esm2022/directives/radio-group/index.mjs +2 -0
- package/esm2022/directives/{media-query/ng-doc-ui-kit-directives-media-query.mjs → radio-group/ng-doc-ui-kit-directives-radio-group.mjs} +1 -1
- package/esm2022/directives/radio-group/radio-group.directive.mjs +19 -0
- package/esm2022/directives/rotator/rotator.directive.mjs +15 -23
- package/esm2022/directives/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/interceptors/cache.interceptor.mjs +3 -3
- package/esm2022/observables/zone.mjs +5 -1
- package/esm2022/pipes/as-array/as-array.pipe.mjs +3 -3
- package/esm2022/pipes/bind/bind.pipe.mjs +4 -4
- package/esm2022/pipes/execute/execute.pipe.mjs +3 -3
- package/esm2022/pipes/highlighter/highlighter.pipe.mjs +3 -3
- package/esm2022/services/dialog/dialog.config.mjs +1 -1
- package/esm2022/services/dialog/dialog.service.mjs +14 -12
- package/esm2022/services/notify/notify.service.mjs +3 -3
- package/esm2022/services/overlay/overlay.service.mjs +6 -6
- package/esm2022/services/overlay-strategy/overlay-strategy.mjs +3 -3
- package/esm2022/services/scroll/scroll.service.mjs +3 -3
- package/esm2022/types/blockquote-type.mjs +1 -1
- package/esm2022/types/color.mjs +1 -1
- package/esm2022/types/content.mjs +1 -1
- package/fesm2022/ng-doc-ui-kit-animations.mjs +8 -1
- package/fesm2022/ng-doc-ui-kit-animations.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-cdk-combobox-host.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-classes-base-input.mjs +6 -5
- package/fesm2022/ng-doc-ui-kit-classes-base-input.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-classes-overlay-ref.mjs +1 -1
- package/fesm2022/ng-doc-ui-kit-classes-overlay-ref.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-blockquote.mjs +6 -4
- package/fesm2022/ng-doc-ui-kit-components-blockquote.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-button-icon.mjs +4 -4
- package/fesm2022/ng-doc-ui-kit-components-button-icon.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-button-toggle.mjs +30 -0
- package/fesm2022/ng-doc-ui-kit-components-button-toggle.mjs.map +1 -0
- package/fesm2022/ng-doc-ui-kit-components-button.mjs +24 -4
- package/fesm2022/ng-doc-ui-kit-components-button.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-checkbox.mjs +4 -4
- package/fesm2022/ng-doc-ui-kit-components-checkbox.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-clear-control.mjs +4 -4
- package/fesm2022/ng-doc-ui-kit-components-clear-control.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-combobox.mjs +5 -5
- package/fesm2022/ng-doc-ui-kit-components-combobox.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-data-list-group.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-data-list.mjs +4 -4
- package/fesm2022/ng-doc-ui-kit-components-dialog-outlet.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-dot.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-dropdown.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-expander.mjs +12 -12
- package/fesm2022/ng-doc-ui-kit-components-expander.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-floated-border.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-floated-content.mjs +8 -29
- package/fesm2022/ng-doc-ui-kit-components-floated-content.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-focus-control.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-icon.mjs +6 -5
- package/fesm2022/ng-doc-ui-kit-components-icon.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-input-wrapper.mjs +5 -11
- package/fesm2022/ng-doc-ui-kit-components-input-wrapper.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-label.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-line.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-list.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-magnifier-controller.mjs +23 -0
- package/fesm2022/ng-doc-ui-kit-components-magnifier-controller.mjs.map +1 -0
- package/fesm2022/ng-doc-ui-kit-components-magnifier.mjs +86 -0
- package/fesm2022/ng-doc-ui-kit-components-magnifier.mjs.map +1 -0
- package/fesm2022/ng-doc-ui-kit-components-option-group.mjs +6 -6
- package/fesm2022/ng-doc-ui-kit-components-option.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-overlay-container.mjs +13 -7
- package/fesm2022/ng-doc-ui-kit-components-overlay-container.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-overlay-pointer.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-pane.mjs +9 -9
- package/fesm2022/ng-doc-ui-kit-components-selection.mjs +11 -11
- package/fesm2022/ng-doc-ui-kit-components-selection.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-sidenav.mjs +9 -129
- package/fesm2022/ng-doc-ui-kit-components-sidenav.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-smooth-resize.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-spinner.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-tab-group.mjs +8 -8
- package/fesm2022/ng-doc-ui-kit-components-tab-group.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-tab-routes-group.mjs +37 -0
- package/fesm2022/ng-doc-ui-kit-components-tab-routes-group.mjs.map +1 -0
- package/fesm2022/ng-doc-ui-kit-components-tag.mjs +4 -4
- package/fesm2022/ng-doc-ui-kit-components-tag.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-text.mjs +10 -10
- package/fesm2022/ng-doc-ui-kit-components-text.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-components-toggle.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components-wrapper.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-components.mjs +4 -0
- package/fesm2022/ng-doc-ui-kit-components.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-directives-autofocus.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-checked-change.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-data.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-dropdown-handler.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-dropdown-origin.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-event-switcher.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-focus-catcher.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-focusable.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-hotkey.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-input-number.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-input-string.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-let.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives-radio-group.mjs +26 -0
- package/fesm2022/ng-doc-ui-kit-directives-radio-group.mjs.map +1 -0
- package/fesm2022/ng-doc-ui-kit-directives-rotator.mjs +14 -22
- package/fesm2022/ng-doc-ui-kit-directives-rotator.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-directives-tooltip.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-directives.mjs +1 -1
- package/fesm2022/ng-doc-ui-kit-interceptors.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-observables.mjs +4 -0
- package/fesm2022/ng-doc-ui-kit-observables.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-pipes-as-array.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-pipes-bind.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-pipes-bind.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-pipes-execute.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-pipes-highlighter.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-services-dialog.mjs +14 -12
- package/fesm2022/ng-doc-ui-kit-services-dialog.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-services-notify.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-services-overlay-strategy.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-services-overlay.mjs +5 -5
- package/fesm2022/ng-doc-ui-kit-services-overlay.mjs.map +1 -1
- package/fesm2022/ng-doc-ui-kit-services-scroll.mjs +3 -3
- package/fesm2022/ng-doc-ui-kit-types.mjs.map +1 -1
- package/observables/zone.d.ts +3 -3
- package/package.json +40 -16
- package/services/dialog/dialog.config.d.ts +3 -1
- package/services/dialog/dialog.service.d.ts +4 -0
- package/styles/main.css +15 -9
- package/types/blockquote-type.d.ts +1 -1
- package/types/color.d.ts +1 -1
- package/directives/media-query/index.d.ts +0 -1
- package/directives/media-query/media-query.directive.d.ts +0 -15
- package/esm2022/directives/media-query/index.mjs +0 -2
- package/esm2022/directives/media-query/media-query.directive.mjs +0 -50
- package/fesm2022/ng-doc-ui-kit-directives-media-query.mjs +0 -56
- package/fesm2022/ng-doc-ui-kit-directives-media-query.mjs.map +0 -1
package/animations/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-maximize"><path d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zoom-in"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="11" y1="8" x2="11" y2="14"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-zoom-out"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line><line x1="8" y1="11" x2="14" y2="11"></line></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-activity"><polyline points="22 12 18 12 15 21 9 3 6 12 2 12"></polyline></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-check"><polyline points="20 6 9 17 4 12"></polyline></svg>
|
|
@@ -6,6 +6,7 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
export declare abstract class NgDocBaseInput<T> extends DIControl<T> {
|
|
7
7
|
readonly elementRef: ElementRef<HTMLInputElement>;
|
|
8
8
|
readonly changes: Subject<void>;
|
|
9
|
+
protected readonly document: Document;
|
|
9
10
|
protected constructor(config?: DIControlConfig<T, T>);
|
|
10
11
|
get hostClasses(): string;
|
|
11
12
|
get placeholder(): string;
|
|
@@ -2,6 +2,7 @@ import { NgDocBlockquoteType } from '@ng-doc/ui-kit/types';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export declare class NgDocBlockquoteComponent {
|
|
4
4
|
type: NgDocBlockquoteType;
|
|
5
|
+
icon?: string;
|
|
5
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocBlockquoteComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocBlockquoteComponent, "blockquote[ng-doc-blockquote]", never, { "type": { "alias": "type"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocBlockquoteComponent, "blockquote[ng-doc-blockquote]", never, { "type": { "alias": "type"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
7
8
|
}
|
|
@@ -1,8 +1,28 @@
|
|
|
1
1
|
import { NgDocColor, NgDocSize } from '@ng-doc/ui-kit/types';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* `NgDocButtonComponent` is a reusable button component with customizable properties.
|
|
5
|
+
* It can be used as a regular button, a flat button, or a text button.
|
|
6
|
+
* @example
|
|
7
|
+
* ```html
|
|
8
|
+
* <button ng-doc-button [size]="'large'" [color]="'secondary'" [rounded]="true">Click me</button>
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
3
11
|
export declare class NgDocButtonComponent {
|
|
12
|
+
/**
|
|
13
|
+
* Size of the button. Can be 'small', 'medium', or 'large'.
|
|
14
|
+
* Default is 'small'.
|
|
15
|
+
*/
|
|
4
16
|
size: NgDocSize;
|
|
17
|
+
/**
|
|
18
|
+
* Color of the button. Can be 'primary', 'secondary', etc.
|
|
19
|
+
* Default is 'primary'.
|
|
20
|
+
*/
|
|
5
21
|
color: NgDocColor;
|
|
22
|
+
/**
|
|
23
|
+
* Whether the button is rounded or not.
|
|
24
|
+
* Default is false.
|
|
25
|
+
*/
|
|
6
26
|
rounded: boolean;
|
|
7
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocButtonComponent, never>;
|
|
8
28
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonComponent, "button[ng-doc-button], a[ng-doc-button], button[ng-doc-button-flat], a[ng-doc-button-flat], button[ng-doc-button-text], a[ng-doc-button-text]", never, { "size": { "alias": "size"; "required": false; }; "color": { "alias": "color"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
@@ -4,5 +4,5 @@ export declare class NgDocButtonIconComponent {
|
|
|
4
4
|
size: NgDocSize;
|
|
5
5
|
rounded: boolean;
|
|
6
6
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocButtonIconComponent, never>;
|
|
7
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonIconComponent, "button[ng-doc-button-icon], a[ng-doc-button-icon]", never, { "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonIconComponent, "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", never, { "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
8
8
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DIStateControl } from 'di-controls';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class NgDocButtonToggleComponent<T> extends DIStateControl<T> {
|
|
4
|
+
constructor();
|
|
5
|
+
clickEvent(): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocButtonToggleComponent<any>, never>;
|
|
7
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocButtonToggleComponent<any>, "[ng-doc-button-toggle]", never, {}, {}, never, ["*"], true, never>;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './button-toggle.component';
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
+
import { AfterViewInit } from '@angular/core';
|
|
1
2
|
import { NgDocContent } from '@ng-doc/ui-kit/types';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
/** Component helps to expand or collapse content */
|
|
4
|
-
export declare class NgDocExpanderComponent {
|
|
5
|
+
export declare class NgDocExpanderComponent implements AfterViewInit {
|
|
5
6
|
/** Change expand state */
|
|
6
7
|
expanded: boolean;
|
|
7
8
|
/** Expander content */
|
|
8
9
|
content: NgDocContent;
|
|
9
10
|
/** Closed height could be used to show preview of the content */
|
|
10
11
|
from: number;
|
|
11
|
-
|
|
12
|
+
protected animationDisabled: boolean;
|
|
13
|
+
ngAfterViewInit(): void;
|
|
12
14
|
toggle(): void;
|
|
13
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocExpanderComponent, never>;
|
|
14
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocExpanderComponent, "ng-doc-expander", never, { "expanded": { "alias": "expanded"; "required": false; }; "content": { "alias": "content"; "required":
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocExpanderComponent, "ng-doc-expander", never, { "expanded": { "alias": "expanded"; "required": false; }; "content": { "alias": "content"; "required": true; }; "from": { "alias": "from"; "required": false; }; }, {}, never, never, true, never>;
|
|
15
17
|
}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import { AfterViewChecked, ElementRef, NgZone, Renderer2 } from '@angular/core';
|
|
2
1
|
import { BaseElement, NgDocHorizontalAlign } from '@ng-doc/ui-kit/types';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class NgDocFloatedContentComponent
|
|
5
|
-
private elementRef;
|
|
6
|
-
private renderer;
|
|
7
|
-
private ngZone;
|
|
3
|
+
export declare class NgDocFloatedContentComponent {
|
|
8
4
|
bindTo?: BaseElement<HTMLElement>;
|
|
9
5
|
propertyName: string;
|
|
10
6
|
alignTo: NgDocHorizontalAlign;
|
|
11
|
-
|
|
12
|
-
ngAfterViewChecked(): void;
|
|
13
|
-
setPadding(padding: number): void;
|
|
7
|
+
readonly element: HTMLElement;
|
|
14
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocFloatedContentComponent, never>;
|
|
15
9
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocFloatedContentComponent, "[ng-doc-floated-content]", never, { "bindTo": { "alias": "bindTo"; "required": false; }; "propertyName": { "alias": "propertyName"; "required": false; }; "alignTo": { "alias": "alignTo"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
16
10
|
}
|
|
@@ -20,4 +20,5 @@ export declare class NgDocIconComponent implements OnChanges, OnInit {
|
|
|
20
20
|
get href(): string;
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocIconComponent, never>;
|
|
22
22
|
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocIconComponent, "ng-doc-icon", never, { "icon": { "alias": "icon"; "required": false; }; "customIcon": { "alias": "customIcon"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, never, true, never>;
|
|
23
|
+
static ngAcceptInputType_size: unknown;
|
|
23
24
|
}
|
package/components/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from '@ng-doc/ui-kit/components/blockquote';
|
|
2
2
|
export * from '@ng-doc/ui-kit/components/button';
|
|
3
3
|
export * from '@ng-doc/ui-kit/components/button-icon';
|
|
4
|
+
export * from '@ng-doc/ui-kit/components/button-toggle';
|
|
4
5
|
export * from '@ng-doc/ui-kit/components/checkbox';
|
|
5
6
|
export * from '@ng-doc/ui-kit/components/clear-control';
|
|
6
7
|
export * from '@ng-doc/ui-kit/components/combobox';
|
|
@@ -18,6 +19,8 @@ export * from '@ng-doc/ui-kit/components/input-wrapper';
|
|
|
18
19
|
export * from '@ng-doc/ui-kit/components/label';
|
|
19
20
|
export * from '@ng-doc/ui-kit/components/line';
|
|
20
21
|
export * from '@ng-doc/ui-kit/components/list';
|
|
22
|
+
export * from '@ng-doc/ui-kit/components/magnifier';
|
|
23
|
+
export * from '@ng-doc/ui-kit/components/magnifier-controller';
|
|
21
24
|
export * from '@ng-doc/ui-kit/components/option';
|
|
22
25
|
export * from '@ng-doc/ui-kit/components/option-group';
|
|
23
26
|
export * from '@ng-doc/ui-kit/components/overlay-container';
|
|
@@ -28,6 +31,7 @@ export * from '@ng-doc/ui-kit/components/sidenav';
|
|
|
28
31
|
export * from '@ng-doc/ui-kit/components/smooth-resize';
|
|
29
32
|
export * from '@ng-doc/ui-kit/components/spinner';
|
|
30
33
|
export * from '@ng-doc/ui-kit/components/tab-group';
|
|
34
|
+
export * from '@ng-doc/ui-kit/components/tab-routes-group';
|
|
31
35
|
export * from '@ng-doc/ui-kit/components/tag';
|
|
32
36
|
export * from '@ng-doc/ui-kit/components/text';
|
|
33
37
|
export * from '@ng-doc/ui-kit/components/toggle';
|
|
@@ -10,8 +10,6 @@ export declare class NgDocInputWrapperComponent<T, B = unknown> implements After
|
|
|
10
10
|
protected changeDetectorRef: ChangeDetectorRef;
|
|
11
11
|
blurContent: NgDocContent<NgDocContextWithImplicit<B | null>>;
|
|
12
12
|
blurContext: B | null;
|
|
13
|
-
leftContent: NgDocContent;
|
|
14
|
-
rightContent: NgDocContent;
|
|
15
13
|
align: NgDocTextAlign;
|
|
16
14
|
input?: NgDocBaseInput<T>;
|
|
17
15
|
inputControl?: NgDocBaseInput<T>;
|
|
@@ -24,5 +22,5 @@ export declare class NgDocInputWrapperComponent<T, B = unknown> implements After
|
|
|
24
22
|
get blurContentIsVisible(): boolean;
|
|
25
23
|
emptyEvent(): void;
|
|
26
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocInputWrapperComponent<any, any>, never>;
|
|
27
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocInputWrapperComponent<any, any>, "ng-doc-input-wrapper", never, { "blurContent": { "alias": "blurContent"; "required": false; }; "blurContext": { "alias": "blurContext"; "required": false; }; "
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocInputWrapperComponent<any, any>, "ng-doc-input-wrapper", never, { "blurContent": { "alias": "blurContent"; "required": false; }; "blurContext": { "alias": "blurContext"; "required": false; }; "align": { "alias": "align"; "required": false; }; }, {}, ["input", "inputControl"], ["[ngDocInputWrapperLeft]", "*", "[ngDocInputWrapperRight]"], true, never>;
|
|
28
26
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './magnifier.component';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DestroyRef, NgZone, OnInit } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class NgDocMagnifierComponent implements OnInit {
|
|
4
|
+
protected readonly x: import("@angular/core").WritableSignal<number>;
|
|
5
|
+
protected readonly y: import("@angular/core").WritableSignal<number>;
|
|
6
|
+
protected readonly scale: import("@angular/core").WritableSignal<number>;
|
|
7
|
+
protected readonly transform: import("@angular/core").Signal<string>;
|
|
8
|
+
protected readonly drag: import("@angular/core").WritableSignal<boolean>;
|
|
9
|
+
protected readonly document: Document;
|
|
10
|
+
protected readonly element: HTMLElement;
|
|
11
|
+
protected readonly ngZone: NgZone;
|
|
12
|
+
protected readonly destroyRef: DestroyRef;
|
|
13
|
+
constructor();
|
|
14
|
+
ngOnInit(): void;
|
|
15
|
+
incrementX(x: number): void;
|
|
16
|
+
incrementY(y: number): void;
|
|
17
|
+
zoom(diff: number): void;
|
|
18
|
+
reset(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocMagnifierComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocMagnifierComponent, "ng-doc-magnifier", never, {}, {}, never, ["*"], true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './magnifier-controller.component';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { NgDocMagnifierComponent } from '@ng-doc/ui-kit/components/magnifier';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class MagnifierControllerComponent {
|
|
4
|
+
magnifier: import("@angular/core").InputSignal<NgDocMagnifierComponent>;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MagnifierControllerComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MagnifierControllerComponent, "ng-doc-magnifier-controller", never, { "magnifier": { "alias": "magnifier"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import { AnimationBuilder } from '@angular/animations';
|
|
2
|
-
import { ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { AfterViewInit, ChangeDetectorRef, ElementRef, NgZone, OnDestroy, OnInit } from '@angular/core';
|
|
3
3
|
import { NgDocFocusCatcherDirective } from '@ng-doc/ui-kit/directives/focus-catcher';
|
|
4
4
|
import { NgDocOverlayConfig, NgDocOverlayContainer } from '@ng-doc/ui-kit/interfaces';
|
|
5
5
|
import { NgDocContent, NgDocHorizontalAlign, NgDocOverlayAnimationEvent, NgDocOverlayRelativePosition, NgDocVerticalAlign } from '@ng-doc/ui-kit/types';
|
|
6
6
|
import { PolymorpheusOutletDirective } from '@tinkoff/ng-polymorpheus';
|
|
7
7
|
import { Observable } from 'rxjs';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class NgDocOverlayContainerComponent implements NgDocOverlayContainer, OnInit, OnDestroy {
|
|
9
|
+
export declare class NgDocOverlayContainerComponent implements NgDocOverlayContainer, OnInit, AfterViewInit, OnDestroy {
|
|
10
10
|
private elementRef;
|
|
11
11
|
private documentRef;
|
|
12
12
|
private changeDetectorRef;
|
|
13
13
|
private ngZone;
|
|
14
14
|
private animationBuilder;
|
|
15
|
+
content: NgDocContent;
|
|
16
|
+
config?: NgDocOverlayConfig;
|
|
15
17
|
contentContainer?: ElementRef<HTMLElement>;
|
|
16
18
|
focusCatcher?: NgDocFocusCatcherDirective;
|
|
17
19
|
outlet?: PolymorpheusOutletDirective<object>;
|
|
18
20
|
relativePosition: NgDocOverlayRelativePosition | null;
|
|
19
|
-
config?: NgDocOverlayConfig;
|
|
20
|
-
content: NgDocContent;
|
|
21
21
|
private currentPosition?;
|
|
22
22
|
private animationEvent$;
|
|
23
23
|
private isOpened;
|
|
24
24
|
constructor(elementRef: ElementRef<HTMLElement>, documentRef: Document, changeDetectorRef: ChangeDetectorRef, ngZone: NgZone, animationBuilder: AnimationBuilder);
|
|
25
25
|
ngOnInit(): void;
|
|
26
|
+
ngAfterViewInit(): void;
|
|
26
27
|
get contactBorder(): boolean;
|
|
27
28
|
get isFocused(): boolean;
|
|
28
29
|
get animationEvent(): Observable<NgDocOverlayAnimationEvent>;
|
|
@@ -33,5 +34,5 @@ export declare class NgDocOverlayContainerComponent implements NgDocOverlayConta
|
|
|
33
34
|
private runAnimation;
|
|
34
35
|
ngOnDestroy(): void;
|
|
35
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocOverlayContainerComponent, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocOverlayContainerComponent, "ng-doc-overlay-container", never, {}, {}, never, never, true, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocOverlayContainerComponent, "ng-doc-overlay-container", never, { "content": { "alias": "content"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
|
|
37
38
|
}
|
|
@@ -1,21 +1,11 @@
|
|
|
1
|
-
import { AnimationEvent } from '@angular/animations';
|
|
2
1
|
import { EventEmitter } from '@angular/core';
|
|
3
|
-
import { NgDocContent
|
|
2
|
+
import { NgDocContent } from '@ng-doc/ui-kit/types';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
export declare class NgDocSidenavComponent {
|
|
6
5
|
/**
|
|
7
6
|
* Content of the sidenav.
|
|
8
7
|
*/
|
|
9
8
|
sidebar: NgDocContent;
|
|
10
|
-
/**
|
|
11
|
-
* Align of the sidenav.
|
|
12
|
-
*/
|
|
13
|
-
align: NgDocHorizontalAlign;
|
|
14
|
-
/**
|
|
15
|
-
* Indicates whether the sidenav is over the page content or not.
|
|
16
|
-
* Which means that the sidenav is not part of the page content.
|
|
17
|
-
*/
|
|
18
|
-
over: boolean;
|
|
19
9
|
/**
|
|
20
10
|
* Indicates whether the sidenav is opened or not.
|
|
21
11
|
* This is used to trigger the animation.
|
|
@@ -25,15 +15,7 @@ export declare class NgDocSidenavComponent {
|
|
|
25
15
|
* Indicates whether the sidenav has a backdrop or not.
|
|
26
16
|
*/
|
|
27
17
|
hasBackdrop: boolean;
|
|
28
|
-
openedChange: EventEmitter<boolean>;
|
|
29
18
|
closeEvent: EventEmitter<void>;
|
|
30
|
-
beforeOpen: EventEmitter<void>;
|
|
31
|
-
beforeClose: EventEmitter<void>;
|
|
32
|
-
afterOpen: EventEmitter<void>;
|
|
33
|
-
afterClose: EventEmitter<void>;
|
|
34
|
-
protected get backdrop(): boolean;
|
|
35
|
-
protected animationStart(event: AnimationEvent): void;
|
|
36
|
-
protected animationDone(event: AnimationEvent): void;
|
|
37
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocSidenavComponent, never>;
|
|
38
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocSidenavComponent, "ng-doc-sidenav", never, { "sidebar": { "alias": "sidebar"; "required": false; }; "
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocSidenavComponent, "ng-doc-sidenav", never, { "sidebar": { "alias": "sidebar"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; }, { "closeEvent": "closeEvent"; }, never, ["*"], true, never>;
|
|
39
21
|
}
|
|
@@ -6,5 +6,5 @@ export declare class NgDocTabComponent<T> {
|
|
|
6
6
|
/** Expander content */
|
|
7
7
|
content: NgDocContent;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTabComponent<any>, never>;
|
|
9
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocTabComponent<any>, "ng-doc-tab", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
|
|
9
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocTabComponent<any>, "ng-doc-tab, a[ng-doc-tab]", never, { "label": { "alias": "label"; "required": false; }; "id": { "alias": "id"; "required": false; }; "content": { "alias": "content"; "required": false; }; }, {}, never, never, true, never>;
|
|
10
10
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@ng-doc/ui-kit/components/selection";
|
|
3
|
+
export declare class NgDocTabRouteComponent {
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTabRouteComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocTabRouteComponent, "a[ng-doc-tab-route]", never, { "isActive": { "alias": "isActive"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.NgDocSelectionOriginDirective; inputs: { "ngDocSelectionOrigin": "isActive"; }; outputs: {}; }]>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@ng-doc/ui-kit/components/selection";
|
|
3
|
+
export declare class NgDocTabRoutesGroupComponent {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocTabRoutesGroupComponent, never>;
|
|
5
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgDocTabRoutesGroupComponent, "ng-doc-tab-routes-group", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.NgDocSelectionHostDirective; inputs: {}; outputs: {}; }]>;
|
|
6
|
+
}
|
package/directives/index.d.ts
CHANGED
|
@@ -10,6 +10,6 @@ export * from '@ng-doc/ui-kit/directives/hotkey';
|
|
|
10
10
|
export * from '@ng-doc/ui-kit/directives/input-number';
|
|
11
11
|
export * from '@ng-doc/ui-kit/directives/input-string';
|
|
12
12
|
export * from '@ng-doc/ui-kit/directives/let';
|
|
13
|
-
export * from '@ng-doc/ui-kit/directives/
|
|
13
|
+
export * from '@ng-doc/ui-kit/directives/radio-group';
|
|
14
14
|
export * from '@ng-doc/ui-kit/directives/rotator';
|
|
15
15
|
export * from '@ng-doc/ui-kit/directives/tooltip';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './radio-group.directive';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DIControl } from 'di-controls';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class NgDocRadioGroupDirective<T> extends DIControl<T> {
|
|
4
|
+
constructor();
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocRadioGroupDirective<any>, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocRadioGroupDirective<any>, "[ngDocRadioGroup]", never, {}, {}, never, never, true, never>;
|
|
7
|
+
}
|
|
@@ -1,19 +1,15 @@
|
|
|
1
|
-
import { ElementRef, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
1
|
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Directive rotates host with transition
|
|
4
|
+
*/
|
|
5
|
+
export declare class NgDocRotatorDirective {
|
|
7
6
|
/** Rotator state */
|
|
8
7
|
rotated: boolean;
|
|
9
8
|
/** Start position angle */
|
|
10
9
|
from: number;
|
|
11
10
|
/** End position anle */
|
|
12
11
|
to: number;
|
|
13
|
-
|
|
14
|
-
ngOnChanges({ rotated, to }: SimpleChanges): void;
|
|
15
|
-
ngOnInit(): void;
|
|
16
|
-
private rotate;
|
|
12
|
+
get transform(): string;
|
|
17
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgDocRotatorDirective, never>;
|
|
18
14
|
static ɵdir: i0.ɵɵDirectiveDeclaration<NgDocRotatorDirective, "[ngDocRotator]", never, { "rotated": { "alias": "ngDocRotator"; "required": false; }; "from": { "alias": "from"; "required": false; }; "to": { "alias": "to"; "required": false; }; }, {}, never, never, true, never>;
|
|
19
15
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './expand-collapse';
|
|
2
2
|
export * from './fade';
|
|
3
3
|
export * from './overlay';
|
|
4
|
+
export * from './popup';
|
|
4
5
|
export * from './prevent-initial-animation';
|
|
5
6
|
export * from './tab-fade';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWtpdC9hbmltYXRpb25zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXhwYW5kLWNvbGxhcHNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmFkZSc7XG5leHBvcnQgKiBmcm9tICcuL292ZXJsYXknO1xuZXhwb3J0ICogZnJvbSAnLi9wb3B1cCc7XG5leHBvcnQgKiBmcm9tICcuL3ByZXZlbnQtaW5pdGlhbC1hbmltYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi90YWItZmFkZSc7XG4iXX0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
export const popupAnimation = trigger('popupAnimation', [
|
|
3
|
+
transition(':enter', [
|
|
4
|
+
style({ transform: 'scale(0.9)' }),
|
|
5
|
+
animate('220ms cubic-bezier(0.25, 0.8, 0.25, 1)', style({ transform: 'scale(1)' })),
|
|
6
|
+
]),
|
|
7
|
+
]);
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9wdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3VpLWtpdC9hbmltYXRpb25zL3BvcHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQTRCLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEcsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUE2QixPQUFPLENBQUMsZ0JBQWdCLEVBQUU7SUFDaEYsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNuQixLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUM7UUFDbEMsT0FBTyxDQUFDLHdDQUF3QyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ3BGLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBwb3B1cEFuaW1hdGlvbjogQW5pbWF0aW9uVHJpZ2dlck1ldGFkYXRhID0gdHJpZ2dlcigncG9wdXBBbmltYXRpb24nLCBbXG4gIHRyYW5zaXRpb24oJzplbnRlcicsIFtcbiAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ3NjYWxlKDAuOSknIH0pLFxuICAgIGFuaW1hdGUoJzIyMG1zIGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdzY2FsZSgxKScgfSkpLFxuICBdKSxcbl0pO1xuIl19
|
|
@@ -46,8 +46,8 @@ let NgDocComboboxHostComponent = class NgDocComboboxHostComponent extends DICont
|
|
|
46
46
|
this.dropdown?.open();
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
50
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.
|
|
49
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocComboboxHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
50
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: NgDocComboboxHostComponent, isStandalone: true, selector: "ng-doc-combobox-host", inputs: { compareFn: "compareFn", displayValueFn: "displayValueFn" }, providers: [
|
|
51
51
|
provideHostControl(forwardRef(() => NgDocComboboxHostComponent)),
|
|
52
52
|
provideCompareHost(forwardRef(() => NgDocComboboxHostComponent)),
|
|
53
53
|
{
|
|
@@ -73,7 +73,7 @@ NgDocComboboxHostComponent = __decorate([
|
|
|
73
73
|
__metadata("design:paramtypes", [])
|
|
74
74
|
], NgDocComboboxHostComponent);
|
|
75
75
|
export { NgDocComboboxHostComponent };
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocComboboxHostComponent, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{ selector: 'ng-doc-combobox-host', providers: [
|
|
79
79
|
provideHostControl(forwardRef(() => NgDocComboboxHostComponent)),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
1
2
|
import { Directive, ElementRef, HostBinding, inject } from '@angular/core';
|
|
2
|
-
import { isBrowser } from '@ng-doc/core';
|
|
3
3
|
import { DIControl, injectHostControl } from 'di-controls';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -11,6 +11,7 @@ export class NgDocBaseInput extends DIControl {
|
|
|
11
11
|
});
|
|
12
12
|
this.elementRef = inject(ElementRef);
|
|
13
13
|
this.changes = new Subject();
|
|
14
|
+
this.document = inject(DOCUMENT);
|
|
14
15
|
}
|
|
15
16
|
get hostClasses() {
|
|
16
17
|
return 'ng-doc-input';
|
|
@@ -19,7 +20,7 @@ export class NgDocBaseInput extends DIControl {
|
|
|
19
20
|
return this.elementRef.nativeElement.placeholder || '';
|
|
20
21
|
}
|
|
21
22
|
get isFocused() {
|
|
22
|
-
return
|
|
23
|
+
return this.document.activeElement === this.elementRef.nativeElement;
|
|
23
24
|
}
|
|
24
25
|
get isReadonly() {
|
|
25
26
|
return this.elementRef.nativeElement.readOnly;
|
|
@@ -40,13 +41,13 @@ export class NgDocBaseInput extends DIControl {
|
|
|
40
41
|
super.updateModel(value);
|
|
41
42
|
this.changes.next();
|
|
42
43
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.
|
|
44
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocBaseInput, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
|
|
45
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: NgDocBaseInput, host: { properties: { "class": "this.hostClasses" } }, usesInheritance: true, ngImport: i0 }); }
|
|
45
46
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: NgDocBaseInput, decorators: [{
|
|
47
48
|
type: Directive
|
|
48
49
|
}], ctorParameters: () => [{ type: undefined }], propDecorators: { hostClasses: [{
|
|
49
50
|
type: HostBinding,
|
|
50
51
|
args: ['class']
|
|
51
52
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWkta2l0L2NsYXNzZXMvYmFzZS1pbnB1dC9iYXNlLWlucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFnQixjQUFrQixTQUFRLFNBQVk7SUFNMUQsWUFBc0IsTUFBOEI7UUFDbEQsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQzNDLEdBQUcsTUFBTTtTQUNWLENBQUMsQ0FBQztRQVRhLGVBQVUsR0FBaUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLFlBQU8sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUU3QixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBTy9DLENBQUM7SUFFRCxJQUNJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVRLFdBQVcsQ0FBQyxLQUFlO1FBQ2xDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQWpEbUIsY0FBYztrR0FBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQURuQyxTQUFTOzJFQWVKLFdBQVc7c0JBRGQsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBESUNvbnRyb2wsIGluamVjdEhvc3RDb250cm9sIH0gZnJvbSAnZGktY29udHJvbHMnO1xuaW1wb3J0IHsgRElDb250cm9sQ29uZmlnIH0gZnJvbSAnZGktY29udHJvbHMvY29udHJvbHMvY29udHJvbCc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5nRG9jQmFzZUlucHV0PFQ+IGV4dGVuZHMgRElDb250cm9sPFQ+IHtcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgY2hhbmdlczogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoY29uZmlnPzogRElDb250cm9sQ29uZmlnPFQsIFQ+KSB7XG4gICAgc3VwZXIoe1xuICAgICAgaG9zdDogaW5qZWN0SG9zdENvbnRyb2woeyBvcHRpb25hbDogdHJ1ZSB9KSxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9KTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgaG9zdENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ25nLWRvYy1pbnB1dCc7XG4gIH1cblxuICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXIgfHwgJyc7XG4gIH1cblxuICBnZXQgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0IGlzUmVhZG9ubHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlYWRPbmx5O1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIGJsaW5rKCk6IHZvaWQge1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICctYmxpbmsnKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICctYmxpbmsnKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHVwZGF0ZU1vZGVsKHZhbHVlOiBUIHwgbnVsbCkge1xuICAgIHN1cGVyLnVwZGF0ZU1vZGVsKHZhbHVlKTtcblxuICAgIHRoaXMuY2hhbmdlcy5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FlexibleConnectedPositionStrategy, } from '@angular/cdk/overlay';
|
|
2
2
|
import { NavigationEnd } from '@angular/router';
|
|
3
|
-
import { isPresent } from '@ng-doc/core
|
|
3
|
+
import { isPresent } from '@ng-doc/core';
|
|
4
4
|
import { toElement } from '@ng-doc/ui-kit/helpers';
|
|
5
5
|
import { fromSubscribe, ngDocZoneDetach, ngDocZoneOptimize } from '@ng-doc/ui-kit/observables';
|
|
6
6
|
import { fromEvent, merge, NEVER } from 'rxjs';
|
|
@@ -104,4 +104,4 @@ export class NgDocOverlayRef {
|
|
|
104
104
|
return true;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWtpdC9jbGFzc2VzL292ZXJsYXktcmVmL292ZXJsYXktcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixpQ0FBaUMsR0FFakMsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQVMsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRS9GLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFakcsTUFBTSxPQUFPLGVBQWU7SUFJM0IsWUFDVSxVQUFzQixFQUNkLGFBQWlDLEVBQ3pDLGdCQUF1QyxFQUMvQixNQUFjLEVBQ2QsTUFBZSxFQUNmLFFBQW1CO1FBTDNCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDZCxrQkFBYSxHQUFiLGFBQWEsQ0FBb0I7UUFDekMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF1QjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUNmLGFBQVEsR0FBUixRQUFRLENBQVc7UUFUN0Isa0JBQWEsR0FBYSxJQUFJLENBQUM7UUFDL0IsV0FBTSxHQUFZLElBQUksQ0FBQztRQVU5Qiw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLFNBQVMs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IjpbImltcG9ydCB7XG5cdENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSxcblx0RmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuXHRPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50LCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG5nLWRvYy9jb3JlL2hlbHBlcnMvaXMtcHJlc2VudCc7XG5pbXBvcnQgeyB0b0VsZW1lbnQgfSBmcm9tICdAbmctZG9jL3VpLWtpdC9oZWxwZXJzJztcbmltcG9ydCB7IE5nRG9jT3ZlcmxheUNvbmZpZywgTmdEb2NPdmVybGF5Q29udGFpbmVyIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBmcm9tU3Vic2NyaWJlLCBuZ0RvY1pvbmVEZXRhY2gsIG5nRG9jWm9uZU9wdGltaXplIH0gZnJvbSAnQG5nLWRvYy91aS1raXQvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5QW5pbWF0aW9uRXZlbnQgfSBmcm9tICdAbmctZG9jL3VpLWtpdC90eXBlcyc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlLCBORVZFUiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmaWx0ZXIsIG1hcCwgcGFpcndpc2UsIHN3aXRjaE1hcCwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY2xhc3MgTmdEb2NPdmVybGF5UmVmPFQgPSB1bmtub3duPiB7XG5cdHByaXZhdGUgb3ZlcmxheVJlc3VsdDogVCB8IG51bGwgPSBudWxsO1xuXHRwcml2YXRlIG9wZW5lZDogYm9vbGVhbiA9IHRydWU7XG5cblx0Y29uc3RydWN0b3IoXG5cdFx0cmVhZG9ubHkgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcblx0XHRwcml2YXRlIHJlYWRvbmx5IG92ZXJsYXlDb25maWc6IE5nRG9jT3ZlcmxheUNvbmZpZyxcblx0XHRyZWFkb25seSBvdmVybGF5Q29udGFpbmVyOiBOZ0RvY092ZXJsYXlDb250YWluZXIsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcblx0XHRwcml2YXRlIHJlYWRvbmx5IHJvdXRlcj86IFJvdXRlcixcblx0XHRwcml2YXRlIHJlYWRvbmx5IGxvY2F0aW9uPzogTG9jYXRpb24sXG5cdCkge1xuXHRcdC8qIENsb3NlcyBvdmVybGF5IHdoZW4gaXQgd2FzIG91dHNpZGUgY2xpY2sgKi9cblx0XHR0aGlzLmFmdGVyT3BlbigpXG5cdFx0XHQucGlwZShcblx0XHRcdFx0c3dpdGNoTWFwKCgpID0+XG5cdFx0XHRcdFx0dGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gdGhpcy5vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkpLFxuXHRcdFx0XHQpLFxuXHRcdFx0XHRmaWx0ZXIoXG5cdFx0XHRcdFx0KGV2ZW50OiBNb3VzZUV2ZW50KSA9PlxuXHRcdFx0XHRcdFx0ISF0aGlzLm92ZXJsYXlDb25maWcuY2xvc2VJZk91dHNpZGVDbGljayAmJiB0aGlzLm91dHNpZGVDbGlja0NoZWNrZXIoZXZlbnQpLFxuXHRcdFx0XHQpLFxuXHRcdFx0XHRuZ0RvY1pvbmVPcHRpbWl6ZSh0aGlzLm5nWm9uZSksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG5cblx0XHQvKiBDbG9zZXMgb3ZlcmxheSB3aGVuIGl0IHdhcyBpbm5lciBjbGljayAqL1xuXHRcdGZyb21FdmVudCh0aGlzLm92ZXJsYXlSZWYub3ZlcmxheUVsZW1lbnQsICdjbGljaycpXG5cdFx0XHQucGlwZShcblx0XHRcdFx0ZmlsdGVyKCgpID0+ICEhdGhpcy5vdmVybGF5Q29uZmlnLmNsb3NlSWZJbm5lckNsaWNrKSxcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMub3ZlcmxheVJlZi5kZXRhY2htZW50cygpKSxcblx0XHRcdFx0bmdEb2Nab25lT3B0aW1pemUodGhpcy5uZ1pvbmUpLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuXG5cdFx0LyogQ2xvc2VzIG92ZXJsYXkgaWYgcm91dGUgd2FzIGNoYW5nZWQgKi9cblx0XHRpZiAodGhpcy5yb3V0ZXIgJiYgdGhpcy5vdmVybGF5Q29uZmlnLmRpc3Bvc2VPblJvdXRlTmF2aWdhdGlvbikge1xuXHRcdFx0dGhpcy5yb3V0ZXIuZXZlbnRzXG5cdFx0XHRcdC5waXBlKFxuXHRcdFx0XHRcdGZpbHRlcigoZXZlbnQ6IEV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuXHRcdFx0XHRcdG5nRG9jWm9uZU9wdGltaXplKHRoaXMubmdab25lKSxcblx0XHRcdFx0XHR0YWtlVW50aWwodGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkpLFxuXHRcdFx0XHQpXG5cdFx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5sb2NhdGlvbiAmJiB0aGlzLm92ZXJsYXlDb25maWcuZGlzcG9zZU9uTmF2aWdhdGlvbikge1xuXHRcdFx0ZnJvbVN1YnNjcmliZSh0aGlzLmxvY2F0aW9uKVxuXHRcdFx0XHQucGlwZSh0YWtlVW50aWwodGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkpKVxuXHRcdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG5cdFx0fVxuXG5cdFx0aWYgKCF0aGlzLm92ZXJsYXlDb25maWcuZGlzYWJsZUNsb3NlKSB7XG5cdFx0XHRtZXJnZShcblx0XHRcdFx0dGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSxcblx0XHRcdFx0dGhpcy5vdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcigoZTogS2V5Ym9hcmRFdmVudCkgPT4gZS5jb2RlID09PSAnRXNjYXBlJykpLFxuXHRcdFx0KVxuXHRcdFx0XHQucGlwZSh0YWtlKDEpLCB0YWtlVW50aWwodGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkpKVxuXHRcdFx0XHQuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG5cdFx0fVxuXG5cdFx0LyogVXBkYXRlIHBvc2l0aW9uIGlmIG9yaWdpbiBjaGFuZ2VzIGl0cyBwb3NpdGlvbiAqL1xuXHRcdGNvbnN0IG9yaWdpbjogdW5rbm93biA9IHRvRWxlbWVudCh0aGlzLm92ZXJsYXlDb25maWcub3JpZ2luKTtcblxuXHRcdGlmIChvcmlnaW4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuXHRcdFx0dGhpcy5uZ1pvbmUub25TdGFibGVcblx0XHRcdFx0LnBpcGUoXG5cdFx0XHRcdFx0ZGVib3VuY2VUaW1lKDEwKSxcblx0XHRcdFx0XHRtYXAoKCkgPT4gb3JpZ2luLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxcblx0XHRcdFx0XHRwYWlyd2lzZSgpLFxuXHRcdFx0XHRcdGZpbHRlcihcblx0XHRcdFx0XHRcdChbYSwgYl06IFtET01SZWN0LCBET01SZWN0XSkgPT5cblx0XHRcdFx0XHRcdFx0aXNQcmVzZW50KGEpICYmXG5cdFx0XHRcdFx0XHRcdGlzUHJlc2VudChiKSAmJlxuXHRcdFx0XHRcdFx0XHQoYS54ICE9PSBiLnggfHwgYS55ICE9PSBiLnkgfHwgYS53aWR0aCAhPT0gYi53aWR0aCB8fCBhLmhlaWdodCAhPT0gYi5oZWlnaHQpLFxuXHRcdFx0XHRcdCksXG5cdFx0XHRcdFx0bmdEb2Nab25lRGV0YWNoKHRoaXMubmdab25lKSxcblx0XHRcdFx0XHR0YWtlVW50aWwodGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkpLFxuXHRcdFx0XHQpXG5cdFx0XHRcdC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vdmVybGF5UmVmLnVwZGF0ZVBvc2l0aW9uKCkpO1xuXHRcdH1cblx0fVxuXG5cdC8qKiBTZXRzIGZvY3VzIHRvIG92ZXJsYXkgKi9cblx0Zm9jdXMoKTogdm9pZCB7XG5cdFx0dGhpcy5vdmVybGF5Q29udGFpbmVyLmZvY3VzKCk7XG5cdH1cblxuXHQvKiogT3ZlcmxheSBoYXMgZm9jdXMgKi9cblx0Z2V0IGlzRm9jdXNlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5vdmVybGF5Q29udGFpbmVyLmlzRm9jdXNlZDtcblx0fVxuXG5cdC8qKiBPdmVybGF5IGlzIG9wZW5lZCAqL1xuXHRnZXQgaXNPcGVuZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMub3BlbmVkO1xuXHR9XG5cblx0LyoqIE92ZXJsYXkgaGFzIGF0dGFjaGVkICovXG5cdGdldCBoYXNBdHRhY2hlZCgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5vdmVybGF5UmVmLmhhc0F0dGFjaGVkKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2xvc2VzIG92ZXJsYXlcblx0ICogQHBhcmFtIGNsb3NlUmVzdWx0XG5cdCAqL1xuXHRjbG9zZShjbG9zZVJlc3VsdD86IFQpOiB2b2lkIHtcblx0XHR0aGlzLm92ZXJsYXlSZXN1bHQgPSBpc1ByZXNlbnQoY2xvc2VSZXN1bHQpID8gY2xvc2VSZXN1bHQgOiBudWxsO1xuXHRcdHRoaXMuYWZ0ZXJDbG9zZSgpLnN1YnNjcmliZSgoKSA9PiB2b2lkIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKSk7XG5cdFx0dGhpcy5vdmVybGF5Q29udGFpbmVyLmNsb3NlKCk7XG5cdFx0dGhpcy5vdmVybGF5UmVmLmRldGFjaEJhY2tkcm9wKCk7XG5cdFx0dGhpcy5vcGVuZWQgPSBmYWxzZTtcblx0fVxuXG5cdGJlZm9yZU9wZW4oKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG5cdFx0cmV0dXJuIHRoaXMub3ZlcmxheUNvbnRhaW5lci5hbmltYXRpb25FdmVudC5waXBlKFxuXHRcdFx0ZmlsdGVyKChldmVudDogTmdEb2NPdmVybGF5QW5pbWF0aW9uRXZlbnQpID0+IGV2ZW50ID09PSAnYmVmb3JlT3BlbicpLFxuXHRcdFx0dGFrZSgxKSxcblx0XHRcdG1hcCgoKSA9PiB2b2lkIDApLFxuXHRcdCk7XG5cdH1cblxuXHRhZnRlck9wZW4oKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG5cdFx0cmV0dXJuIHRoaXMub3ZlcmxheUNvbnRhaW5lci5hbmltYXRpb25FdmVudC5waXBlKFxuXHRcdFx0ZmlsdGVyKChldmVudDogTmdEb2NPdmVybGF5QW5pbWF0aW9uRXZlbnQpID0+IGV2ZW50ID09PSAnYWZ0ZXJPcGVuJyksXG5cdFx0XHR0YWtlKDEpLFxuXHRcdFx0bWFwKCgpID0+IHZvaWQgMCksXG5cdFx0KTtcblx0fVxuXG5cdGJlZm9yZUNsb3NlKCk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcblx0XHRyZXR1cm4gbWVyZ2UoXG5cdFx0XHR0aGlzLm92ZXJsYXlDb250YWluZXIuYW5pbWF0aW9uRXZlbnQucGlwZShcblx0XHRcdFx0ZmlsdGVyKChldmVudDogTmdEb2NPdmVybGF5QW5pbWF0aW9uRXZlbnQpID0+IGV2ZW50ID09PSAnYmVmb3JlQ2xvc2UnKSxcblx0XHRcdCksXG5cdFx0XHR0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKSxcblx0XHQpLnBpcGUoXG5cdFx0XHR0YWtlKDEpLFxuXHRcdFx0bWFwKCgpID0+IHRoaXMub3ZlcmxheVJlc3VsdCksXG5cdFx0KTtcblx0fVxuXG5cdGFmdGVyQ2xvc2UoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuXHRcdHJldHVybiBtZXJnZShcblx0XHRcdHRoaXMub3ZlcmxheUNvbnRhaW5lci5hbmltYXRpb25FdmVudC5waXBlKFxuXHRcdFx0XHRmaWx0ZXIoKGV2ZW50OiBOZ0RvY092ZXJsYXlBbmltYXRpb25FdmVudCkgPT4gZXZlbnQgPT09ICdhZnRlckNsb3NlJyksXG5cdFx0XHQpLFxuXHRcdFx0dGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCksXG5cdFx0KS5waXBlKFxuXHRcdFx0dGFrZSgxKSxcblx0XHRcdG1hcCgoKSA9PiB0aGlzLm92ZXJsYXlSZXN1bHQpLFxuXHRcdCk7XG5cdH1cblxuXHRwb3NpdGlvbkNoYW5nZXMoKTogT2JzZXJ2YWJsZTxDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2U+IHtcblx0XHRyZXR1cm4gdGhpcy5vdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgaW5zdGFuY2VvZiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3lcblx0XHRcdD8gdGhpcy5vdmVybGF5Q29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kucG9zaXRpb25DaGFuZ2VzXG5cdFx0XHQ6IE5FVkVSO1xuXHR9XG5cblx0cHJpdmF0ZSBvdXRzaWRlQ2xpY2tDaGVja2VyKGV2ZW50OiBNb3VzZUV2ZW50KTogYm9vbGVhbiB7XG5cdFx0Y29uc3QgdGFyZ2V0OiBFdmVudFRhcmdldCB8IG51bGwgPSBldmVudC50YXJnZXQ7XG5cdFx0aWYgKHRhcmdldCBpbnN0YW5jZW9mIEVsZW1lbnQpIHtcblx0XHRcdGNvbnN0IG9yaWdpbjogdW5rbm93biA9IHRvRWxlbWVudCh0aGlzLm92ZXJsYXlDb25maWcub3JpZ2luKTtcblx0XHRcdGlmIChvcmlnaW4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuXHRcdFx0XHRyZXR1cm4gIW9yaWdpbi5jb250YWlucyh0YXJnZXQpO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxufVxuIl19
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcmxheS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWtpdC9jbGFzc2VzL292ZXJsYXktcmVmL292ZXJsYXktcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQ0FBaUMsR0FFbEMsTUFBTSxzQkFBc0IsQ0FBQztBQUc5QixPQUFPLEVBQVMsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRixPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpHLE1BQU0sT0FBTyxlQUFlO0lBSTFCLFlBQ1csVUFBc0IsRUFDZCxhQUFpQyxFQUN6QyxnQkFBdUMsRUFDL0IsTUFBYyxFQUNkLE1BQWUsRUFDZixRQUFtQjtRQUwzQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ2Qsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ3pDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUI7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBVDlCLGtCQUFhLEdBQWEsSUFBSSxDQUFDO1FBQy9CLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFVN0IsOENBQThDO1FBQzlDLElBQUksQ0FBQyxTQUFTLEVB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ImltcG9ydCB7XG4gIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSxcbiAgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5LFxuICBPdmVybGF5UmVmLFxufSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50LCBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG5nLWRvYy9jb3JlJztcbmltcG9ydCB7IHRvRWxlbWVudCB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L2hlbHBlcnMnO1xuaW1wb3J0IHsgTmdEb2NPdmVybGF5Q29uZmlnLCBOZ0RvY092ZXJsYXlDb250YWluZXIgfSBmcm9tICdAbmctZG9jL3VpLWtpdC9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGZyb21TdWJzY3JpYmUsIG5nRG9jWm9uZURldGFjaCwgbmdEb2Nab25lT3B0aW1pemUgfSBmcm9tICdAbmctZG9jL3VpLWtpdC9vYnNlcnZhYmxlcyc7XG5pbXBvcnQgeyBOZ0RvY092ZXJsYXlBbmltYXRpb25FdmVudCB9IGZyb20gJ0BuZy1kb2MvdWkta2l0L3R5cGVzJztcbmltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2UsIE5FVkVSLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgbWFwLCBwYWlyd2lzZSwgc3dpdGNoTWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBOZ0RvY092ZXJsYXlSZWY8VCA9IHVua25vd24+IHtcbiAgcHJpdmF0ZSBvdmVybGF5UmVzdWx0OiBUIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgb3BlbmVkOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3ZlcmxheUNvbmZpZzogTmdEb2NPdmVybGF5Q29uZmlnLFxuICAgIHJlYWRvbmx5IG92ZXJsYXlDb250YWluZXI6IE5nRG9jT3ZlcmxheUNvbnRhaW5lcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZTogTmdab25lLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyPzogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9jYXRpb24/OiBMb2NhdGlvbixcbiAgKSB7XG4gICAgLyogQ2xvc2VzIG92ZXJsYXkgd2hlbiBpdCB3YXMgb3V0c2lkZSBjbGljayAqL1xuICAgIHRoaXMuYWZ0ZXJPcGVuKClcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB0aGlzLm92ZXJsYXlSZWYub3V0c2lkZVBvaW50ZXJFdmVudHMoKSksXG4gICAgICAgICksXG4gICAgICAgIGZpbHRlcihcbiAgICAgICAgICAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+XG4gICAgICAgICAgICAhIXRoaXMub3ZlcmxheUNvbmZpZy5jbG9zZUlmT3V0c2lkZUNsaWNrICYmIHRoaXMub3V0c2lkZUNsaWNrQ2hlY2tlcihldmVudCksXG4gICAgICAgICksXG4gICAgICAgIG5nRG9jWm9uZU9wdGltaXplKHRoaXMubmdab25lKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcblxuICAgIC8qIENsb3NlcyBvdmVybGF5IHdoZW4gaXQgd2FzIGlubmVyIGNsaWNrICovXG4gICAgZnJvbUV2ZW50KHRoaXMub3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKCkgPT4gISF0aGlzLm92ZXJsYXlDb25maWcuY2xvc2VJZklubmVyQ2xpY2spLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vdmVybGF5UmVmLmRldGFjaG1lbnRzKCkpLFxuICAgICAgICBuZ0RvY1pvbmVPcHRpbWl6ZSh0aGlzLm5nWm9uZSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSk7XG5cbiAgICAvKiBDbG9zZXMgb3ZlcmxheSBpZiByb3V0ZSB3YXMgY2hhbmdlZCAqL1xuICAgIGlmICh0aGlzLnJvdXRlciAmJiB0aGlzLm92ZXJsYXlDb25maWcuZGlzcG9zZU9uUm91dGVOYXZpZ2F0aW9uKSB7XG4gICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgZmlsdGVyKChldmVudDogRXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgICAgbmdEb2Nab25lT3B0aW1pemUodGhpcy5uZ1pvbmUpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNsb3NlKCkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxvY2F0aW9uICYmIHRoaXMub3ZlcmxheUNvbmZpZy5kaXNwb3NlT25OYXZpZ2F0aW9uKSB7XG4gICAgICBmcm9tU3Vic2NyaWJlKHRoaXMubG9jYXRpb24pXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMub3ZlcmxheUNvbmZpZy5kaXNhYmxlQ2xvc2UpIHtcbiAgICAgIG1lcmdlKFxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLFxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKChlOiBLZXlib2FyZEV2ZW50KSA9PiBlLmNvZGUgPT09ICdFc2NhcGUnKSksXG4gICAgICApXG4gICAgICAgIC5waXBlKHRha2UoMSksIHRha2VVbnRpbCh0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgICB9XG5cbiAgICAvKiBVcGRhdGUgcG9zaXRpb24gaWYgb3JpZ2luIGNoYW5nZXMgaXRzIHBvc2l0aW9uICovXG4gICAgY29uc3Qgb3JpZ2luOiB1bmtub3duID0gdG9FbGVtZW50KHRoaXMub3ZlcmxheUNvbmZpZy5vcmlnaW4pO1xuXG4gICAgaWYgKG9yaWdpbiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICB0aGlzLm5nWm9uZS5vblN0YWJsZVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgICAgIG1hcCgoKSA9PiBvcmlnaW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLFxuICAgICAgICAgIHBhaXJ3aXNlKCksXG4gICAgICAgICAgZmlsdGVyKFxuICAgICAgICAgICAgKFthLCBiXTogW0RPTVJlY3QsIERPTVJlY3RdKSA9PlxuICAgICAgICAgICAgICBpc1ByZXNlbnQoYSkgJiZcbiAgICAgICAgICAgICAgaXNQcmVzZW50KGIpICYmXG4gICAgICAgICAgICAgIChhLnggIT09IGIueCB8fCBhLnkgIT09IGIueSB8fCBhLndpZHRoICE9PSBiLndpZHRoIHx8IGEuaGVpZ2h0ICE9PSBiLmhlaWdodCksXG4gICAgICAgICAgKSxcbiAgICAgICAgICBuZ0RvY1pvbmVEZXRhY2godGhpcy5uZ1pvbmUpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKSksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgZm9jdXMgdG8gb3ZlcmxheSAqL1xuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuZm9jdXMoKTtcbiAgfVxuXG4gIC8qKiBPdmVybGF5IGhhcyBmb2N1cyAqL1xuICBnZXQgaXNGb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlDb250YWluZXIuaXNGb2N1c2VkO1xuICB9XG5cbiAgLyoqIE92ZXJsYXkgaXMgb3BlbmVkICovXG4gIGdldCBpc09wZW5lZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuZWQ7XG4gIH1cblxuICAvKiogT3ZlcmxheSBoYXMgYXR0YWNoZWQgKi9cbiAgZ2V0IGhhc0F0dGFjaGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYuaGFzQXR0YWNoZWQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgb3ZlcmxheVxuICAgKiBAcGFyYW0gY2xvc2VSZXN1bHRcbiAgICovXG4gIGNsb3NlKGNsb3NlUmVzdWx0PzogVCk6IHZvaWQge1xuICAgIHRoaXMub3ZlcmxheVJlc3VsdCA9IGlzUHJlc2VudChjbG9zZVJlc3VsdCkgPyBjbG9zZVJlc3VsdCA6IG51bGw7XG4gICAgdGhpcy5hZnRlckNsb3NlKCkuc3Vic2NyaWJlKCgpID0+IHZvaWQgdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpKTtcbiAgICB0aGlzLm92ZXJsYXlDb250YWluZXIuY2xvc2UoKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKTtcbiAgICB0aGlzLm9wZW5lZCA9IGZhbHNlO1xuICB9XG5cbiAgYmVmb3JlT3BlbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5Q29udGFpbmVyLmFuaW1hdGlvbkV2ZW50LnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBOZ0RvY092ZXJsYXlBbmltYXRpb25FdmVudCkgPT4gZXZlbnQgPT09ICdiZWZvcmVPcGVuJyksXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKCgpID0+IHZvaWQgMCksXG4gICAgKTtcbiAgfVxuXG4gIGFmdGVyT3BlbigpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5vdmVybGF5Q29udGFpbmVyLmFuaW1hdGlvbkV2ZW50LnBpcGUoXG4gICAgICBmaWx0ZXIoKGV2ZW50OiBOZ0RvY092ZXJsYXlBbmltYXRpb25FdmVudCkgPT4gZXZlbnQgPT09ICdhZnRlck9wZW4nKSxcbiAgICAgIHRha2UoMSksXG4gICAgICBtYXAoKCkgPT4gdm9pZCAwKSxcbiAgICApO1xuICB9XG5cbiAgYmVmb3JlQ2xvc2UoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgIHJldHVybiBtZXJnZShcbiAgICAgIHRoaXMub3ZlcmxheUNvbnRhaW5lci5hbmltYXRpb25FdmVudC5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50OiBOZ0RvY092ZXJsYXlBbmltYXRpb25FdmVudCkgPT4gZXZlbnQgPT09ICdiZWZvcmVDbG9zZScpLFxuICAgICAgKSxcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2htZW50cygpLFxuICAgICkucGlwZShcbiAgICAgIHRha2UoMSksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5vdmVybGF5UmVzdWx0KSxcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJDbG9zZSgpOiBPYnNlcnZhYmxlPFQgfCBudWxsPiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgdGhpcy5vdmVybGF5Q29udGFpbmVyLmFuaW1hdGlvbkV2ZW50LnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQ6IE5nRG9jT3ZlcmxheUFuaW1hdGlvbkV2ZW50KSA9PiBldmVudCA9PT0gJ2FmdGVyQ2xvc2UnKSxcbiAgICAgICksXG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKSxcbiAgICApLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgbWFwKCgpID0+IHRoaXMub3ZlcmxheVJlc3VsdCksXG4gICAgKTtcbiAgfVxuXG4gIHBvc2l0aW9uQ2hhbmdlcygpOiBPYnNlcnZhYmxlPENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZT4ge1xuICAgIHJldHVybiB0aGlzLm92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneSBpbnN0YW5jZW9mIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneVxuICAgICAgPyB0aGlzLm92ZXJsYXlDb25maWcucG9zaXRpb25TdHJhdGVneS5wb3NpdGlvbkNoYW5nZXNcbiAgICAgIDogTkVWRVI7XG4gIH1cblxuICBwcml2YXRlIG91dHNpZGVDbGlja0NoZWNrZXIoZXZlbnQ6IE1vdXNlRXZlbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCB0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCA9IGV2ZW50LnRhcmdldDtcbiAgICBpZiAodGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkge1xuICAgICAgY29uc3Qgb3JpZ2luOiB1bmtub3duID0gdG9FbGVtZW50KHRoaXMub3ZlcmxheUNvbmZpZy5vcmlnaW4pO1xuICAgICAgaWYgKG9yaWdpbiBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIHJldHVybiAhb3JpZ2luLmNvbnRhaW5zKHRhcmdldCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iXX0=
|