@spicainternational/ngx-sds-components 2.23.2 → 2.24.1

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.
Files changed (21) hide show
  1. package/esm2020/src/lib/duration-box/duration-box.component.mjs +9 -5
  2. package/esm2020/src/lib/duration-box/duration.model.mjs +2 -0
  3. package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +33 -10
  4. package/esm2020/src/lib/navigation/navigation.module.mjs +5 -3
  5. package/esm2020/src/lib/navigation/pipes/index.mjs +2 -0
  6. package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +33 -0
  7. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +8 -4
  8. package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  9. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +66 -12
  10. package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  11. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +8 -4
  12. package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
  13. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +66 -12
  14. package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
  15. package/package.json +3 -2
  16. package/src/lib/duration-box/duration-box.component.d.ts +6 -4
  17. package/src/lib/duration-box/duration.model.d.ts +5 -0
  18. package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +18 -4
  19. package/src/lib/navigation/navigation.module.d.ts +5 -4
  20. package/src/lib/navigation/pipes/index.d.ts +1 -0
  21. package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +7 -0
@@ -19,21 +19,21 @@ export class SdsDurationBoxComponent {
19
19
  this.value = null;
20
20
  this.valueChange = new EventEmitter();
21
21
  /**
22
- * Allow user to select empty value. You should provide emptyValueText in this case.
22
+ * Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.
23
23
  *
24
24
  * @type {boolean}
25
25
  * @memberof SdsDurationBoxComponent
26
26
  */
27
27
  this.allowEmptyValue = true;
28
28
  /**
29
- * 'emptyValueText' - text to be displayed when value is cleared
29
+ * Text to be displayed when value is cleared
30
30
  *
31
31
  * @type {string}
32
32
  * @memberof SdsDurationBoxComponent
33
33
  */
34
34
  this.emptyValueText = 'not set';
35
35
  /**
36
- * Width of component
36
+ * Width of component. By default 10rem.
37
37
  *
38
38
  * @type {string}
39
39
  * @memberof SdsDurationBoxComponent
@@ -53,6 +53,7 @@ export class SdsDurationBoxComponent {
53
53
  * @memberof SdsDurationBoxComponent
54
54
  */
55
55
  this.showClearButton = false;
56
+ this.rangeViolated = new EventEmitter();
56
57
  this.elementUUID = 'sds-db-' + crypto.randomUUID();
57
58
  this.inputValue = '';
58
59
  this.showOptions = false;
@@ -116,6 +117,7 @@ export class SdsDurationBoxComponent {
116
117
  }
117
118
  else {
118
119
  // use old value
120
+ this.rangeViolated.emit({ min: this.min, max: this.max, value: resolvedValue });
119
121
  this.setInputValueInternally(this.value);
120
122
  }
121
123
  }
@@ -141,7 +143,7 @@ export class SdsDurationBoxComponent {
141
143
  }
142
144
  }
143
145
  SdsDurationBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxComponent, deps: [{ token: i1.DurationService }], target: i0.ɵɵFactoryTarget.Component });
144
- SdsDurationBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsDurationBoxComponent, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton", max: "max", min: "min" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"], components: [{ type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "sdsDurationFormat": i6.SdsDurationFormatPipe } });
146
+ SdsDurationBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsDurationBoxComponent, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton", max: "max", min: "min" }, outputs: { valueChange: "valueChange", rangeViolated: "rangeViolated" }, usesOnChanges: true, ngImport: i0, template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"], components: [{ type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "sdsDurationFormat": i6.SdsDurationFormatPipe } });
145
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxComponent, decorators: [{
146
148
  type: Component,
147
149
  args: [{ selector: 'sds-duration-box', template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"] }]
@@ -165,5 +167,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
165
167
  type: Input
166
168
  }], min: [{
167
169
  type: Input
170
+ }], rangeViolated: [{
171
+ type: Output
168
172
  }] } });
169
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9kdXJhdGlvbi1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tYm94L2R1cmF0aW9uLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0FBUXJHLE1BQU0sT0FBTyx1QkFBdUI7SUF1RmhDLFlBQ1ksc0JBQXVDO1FBQXZDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBaUI7UUF2Rm5EOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUUxRDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXpDOzs7OztXQUtHO1FBQ00sbUJBQWMsR0FBVyxTQUFTLENBQUM7UUFVNUM7Ozs7O1dBS0c7UUFDTSxVQUFLLEdBQVcsT0FBTyxDQUFDO1FBRWpDOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBa0JuQyxnQkFBVyxHQUFHLFNBQVMsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFOUMsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUs3QixpQkFBWSxHQUFHLEtBQUss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QkFRRyxHQUFHO3NCQUFYLEtBQUs7Z0JBUUcsR0FBRztzQkFBWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNkc0R1cmF0aW9uRm9ybWF0UGlwZSB9IGZyb20gJ0BzcGljYWludGVybmF0aW9uYWwvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tcGlwZSc7XHJcbmltcG9ydCB7IER1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vZHVyYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLWR1cmF0aW9uLWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHVyYXRpb24tYm94LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2R1cmF0aW9uLWJveC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzRHVyYXRpb25Cb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICAvKipcclxuICAgICAqIER1cmF0aW9uIGxlbmd0aCBleHByZXNzZWQgaW4gbWludXRlczsgd2hlbiB3ZSBhbGxvdyBlbXB0eSB2YWx1ZXMgdGhpcyBwcm9wZXJ0eSBjYW4gYmUgbnVsbC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KG51bWJlciB8IG51bGwpfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93IHVzZXIgdG8gc2VsZWN0IGVtcHR5IHZhbHVlLiBZb3Ugc2hvdWxkIHByb3ZpZGUgZW1wdHlWYWx1ZVRleHQgaW4gdGhpcyBjYXNlLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGFsbG93RW1wdHlWYWx1ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAnZW1wdHlWYWx1ZVRleHQnIC0gdGV4dCB0byBiZSBkaXNwbGF5ZWQgd2hlbiB2YWx1ZSBpcyBjbGVhcmVkXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge3N0cmluZ31cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBlbXB0eVZhbHVlVGV4dDogc3RyaW5nID0gJ25vdCBzZXQnO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQXJyYXkgb2YgcHJlLWRlZmluZWQgZHVyYXRpb25zIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gZHJvcGRvd24gZm9yIGVhc2llciBzZWxlY3Rpb24uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcltdfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIG9wdGlvbnM/OiBudW1iZXJbXTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBXaWR0aCBvZiBjb21wb25lbnRcclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmcgPSAnMTByZW0nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIFVJIGNvbXBvbmVudCByZXNwb25kcyB0byB1c2VyIGludGVyYWN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtib29sZWFufVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogU3BlY2lmaWVzIHdoZXRoZXIgdG8gZGlzcGxheSB0aGUgQ2xlYXIgYnV0dG9uIGluIHRoZSBVSSBjb21wb25lbnQuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWF4aW11bSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgZHVyYXRpb24gYm94LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgbWF4PzogbnVtYmVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIG1pbmltdW0gdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGR1cmF0aW9uIGJveC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi8gICAgXHJcbiAgICBASW5wdXQoKSBtaW4/OiBudW1iZXI7XHJcblxyXG4gICAgcHVibGljIGVsZW1lbnRVVUlEID0gJ3Nkcy1kYi0nICsgY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuXHJcbiAgICBwdWJsaWMgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgc2hvd09wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIFxyXG4gICAgcHVibGljIG9wdGlvbnNEcm9wZG93bkJ1dHRvbjtcclxuICAgIHB1YmxpYyBjbGVhclZhbHVlQnV0dG9uO1xyXG5cclxuICAgIHB1YmxpYyBpc1ZhbHVlRW1wdHkgPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIGlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9kdXJhdGlvblBpcGU6IFNkc0R1cmF0aW9uRm9ybWF0UGlwZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9kdXJhdGlvbklucHV0UmVzb2x2ZXI6IER1cmF0aW9uU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2R1cmF0aW9uUGlwZSA9IG5ldyBTZHNEdXJhdGlvbkZvcm1hdFBpcGUoKTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLm9wdGlvbnNEcm9wZG93bkJ1dHRvbiA9ICB7XHJcbiAgICAgICAgICAgIGljb246ICdzcGluZG93bicsXHJcbiAgICAgICAgICAgIHN0eWxpbmdNb2RlOiAndGV4dCcsXHJcbiAgICBcclxuICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9ICF0aGlzLnNob3dPcHRpb25zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNsZWFyVmFsdWVCdXR0b24gPSAge1xyXG4gICAgICAgICAgICBpY29uOiAnY2xlYXInLFxyXG4gICAgICAgICAgICBzdHlsaW5nTW9kZTogJ3RleHQnLFxyXG4gICAgICAgICAgICBlbGVtZW50QXR0cjogeyBjbGFzczogJ3Nkcy1kdXJhdGlvbmJveC1jbGVhci1idXR0b24nIH0sXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlPcHRpb24obnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10pIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFsbG93RW1wdHlWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5fZHVyYXRpb25JbnB1dFJlc29sdmVyLmdldERlZmF1bHRWYWx1ZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLl9kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMudmFsdWUsIHRoaXMuZW1wdHlWYWx1ZVRleHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLl9kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMudmFsdWUsIHRoaXMuZW1wdHlWYWx1ZVRleHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgICBwdWJsaWMgYmxvY2tOb25OdW1iZXJPclNlbWljb2xvbihlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyByZXNvbHZlSW5wdXQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5KXtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIuaXNWYWxpZElucHV0KHRoaXMuaW5wdXRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIC8vIHdlIGhhdmUgaW52YWxpZCBpbnB1dC4gdXNlIG9sZCB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlSW50ZXJuYWxseSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkVmFsdWUgPSB0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIucmVzb2x2ZSh0aGlzLmlucHV0VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZWRWYWx1ZSA9PT0gbnVsbCAmJiB0aGlzLmFsbG93RW1wdHlWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc29sdmVkVmFsdWUgPT09IG51bGwgJiYgIXRoaXMuYWxsb3dFbXB0eVZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIuZ2V0RGVmYXVsdFZhbHVlKCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIHZhbHVlIGlzIHdpdGhpbiB0aGUgbWluL21heCBwZXJpb2RcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fZHVyYXRpb25JbnB1dFJlc29sdmVyLmlzVmFsdWVXaXRoaW5MaW1pdHMocmVzb2x2ZWRWYWx1ZSBhcyBudW1iZXIsIHRoaXMubWluLCB0aGlzLm1heCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShyZXNvbHZlZFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1c2Ugb2xkIHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZUludGVybmFsbHkodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhcHBseU9wdGlvbih2YWx1ZTogbnVtYmVyIHwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNWYWx1ZVNldEludGVybmFsbHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNldFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldFZhbHVlKHZhbHVlOiBudW1iZXIgfCBudWxsKXtcclxuICAgICAgICB0aGlzLmlzVmFsdWVFbXB0eSA9ICh2YWx1ZSA9PT0gbnVsbCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgICAgICB0aGlzLnNldElucHV0VmFsdWVJbnRlcm5hbGx5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIHNldElucHV0VmFsdWVJbnRlcm5hbGx5KHZhbHVlOiBudW1iZXIgfCBudWxsKXtcclxuICAgICAgICB0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gdHJ1ZTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pbnB1dFZhbHVlID0gdGhpcy5fZHVyYXRpb25QaXBlLnRyYW5zZm9ybSh0aGlzLnZhbHVlLCB0aGlzLmVtcHR5VmFsdWVUZXh0KTtcclxuICAgICAgICB9LCAwKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGR4LXRleHQtYm94XHJcbiAgICAjdGV4dGJveFxyXG4gICAgW2lkXT1cImVsZW1lbnRVVUlEXCJcclxuICAgIGNsYXNzPVwic2RzLWR1cmF0aW9uYm94XCJcclxuICAgIFsodmFsdWUpXT1cImlucHV0VmFsdWVcIlxyXG4gICAgKG9uS2V5RG93bik9XCJibG9ja05vbk51bWJlck9yU2VtaWNvbG9uKCRldmVudClcIlxyXG4gICAgKG9uQ2hhbmdlKT1cInJlc29sdmVJbnB1dCgpXCJcclxuICAgIFt3aWR0aF09XCJ3aWR0aFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgPlxyXG5cclxuICAgIDwhLS0gKG9uVmFsdWVDaGFuZ2VkKT1cInJlc29sdmVJbnB1dCgkZXZlbnQpXCIgLS0+XHJcblxyXG4gICAgPGR4aS1idXR0b25cclxuICAgICAgICAqbmdJZj1cImFsbG93RW1wdHlWYWx1ZSAmJiBzaG93Q2xlYXJCdXR0b25cIlxyXG4gICAgICAgIG5hbWU9XCJjbGVhclZhbHVlXCJcclxuICAgICAgICBsb2NhdGlvbj1cImFmdGVyXCJcclxuICAgICAgICBbb3B0aW9uc109XCJjbGVhclZhbHVlQnV0dG9uXCJcclxuICAgID48L2R4aS1idXR0b24+XHJcbiAgICA8ZHhpLWJ1dHRvblxyXG4gICAgICAgICpuZ0lmPVwib3B0aW9ucyAmJiBvcHRpb25zLmxlbmd0aCA+IDBcIlxyXG4gICAgICAgIG5hbWU9XCJvcHRpb25zRHJvcGRvd25cIlxyXG4gICAgICAgIGxvY2F0aW9uPVwiYWZ0ZXJcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnNEcm9wZG93bkJ1dHRvblwiXHJcbiAgICA+PC9keGktYnV0dG9uPlxyXG48L2R4LXRleHQtYm94PlxyXG5cclxuXHJcbjxkeC1wb3BvdmVyXHJcbiAgICB0YXJnZXQ9XCIje3tlbGVtZW50VVVJRH19XCJcclxuICAgIFsodmlzaWJsZSldPVwic2hvd09wdGlvbnNcIlxyXG4gICAgW21pbldpZHRoXT1cIndpZHRoXCJcclxuICAgIFtoaWRlT25PdXRzaWRlQ2xpY2tdPVwidHJ1ZVwiXHJcbiAgICBbd3JhcHBlckF0dHJdPVwieyBjbGFzczogJ3Nkcy1kdXJhdGlvbmJveC1vcHRpb25zLXBvcG92ZXInIH1cIlxyXG4gICAgPlxyXG5cclxuICAgIDxkaXYgKmR4VGVtcGxhdGU9XCJsZXQgZGF0YSBvZiAnY29udGVudCdcIj5cclxuICAgICAgICA8ZHgtc2Nyb2xsLXZpZXc+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbSBib3JkZXItMFwiXHJcbiAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdID0gXCJpc1ZhbHVlRW1wdHlcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5T3B0aW9uKG51bGwpXCJcclxuICAgICAgICAgICAgICAgID4ge3sgZW1wdHlWYWx1ZVRleHR9fVxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi1pdGVtIGJvcmRlci0wXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdID0gXCJvcHRpb24gPT09IHZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYXBwbHlPcHRpb24ob3B0aW9uKVwiXHJcbiAgICAgICAgICAgICAgICA+IHt7b3B0aW9uIHwgc2RzRHVyYXRpb25Gb3JtYXR9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZHgtc2Nyb2xsLXZpZXc+XHJcbiAgICA8L2Rpdj5cclxuPC9keC1wb3BvdmVyPiJdfQ==
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9kdXJhdGlvbi1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvZHVyYXRpb24tYm94L2R1cmF0aW9uLWJveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOERBQThELENBQUM7Ozs7Ozs7O0FBU3JHLE1BQU0sT0FBTyx1QkFBdUI7SUEwRmhDLFlBQ1ksc0JBQXVDO1FBQXZDLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBaUI7UUExRm5EOzs7OztXQUtHO1FBQ00sVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDM0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUUxRDs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQVksSUFBSSxDQUFDO1FBRXpDOzs7OztXQUtHO1FBQ00sbUJBQWMsR0FBVyxTQUFTLENBQUM7UUFVNUM7Ozs7O1dBS0c7UUFDTSxVQUFLLEdBQVcsT0FBTyxDQUFDO1FBRWpDOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFZLEtBQUssQ0FBQztRQUVuQzs7Ozs7V0FLRztRQUNNLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBbUJoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUE2QixDQUFDO1FBRWpFLGdCQUFXLEdBQUcsU0FBUyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU5QyxlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGdCQUFX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QkFBYixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU07Z0JBUUUsZUFBZTtzQkFBdkIsS0FBSztnQkFRRyxjQUFjO3NCQUF0QixLQUFLO2dCQVFHLE9BQU87c0JBQWYsS0FBSztnQkFRRyxLQUFLO3NCQUFiLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFRRyxlQUFlO3NCQUF2QixLQUFLO2dCQVFHLEdBQUc7c0JBQVgsS0FBSztnQkFRRyxHQUFHO3NCQUFYLEtBQUs7Z0JBR0ksYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTZHNEdXJhdGlvbkZvcm1hdFBpcGUgfSBmcm9tICdAc3BpY2FpbnRlcm5hdGlvbmFsL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLXBpcGUnO1xyXG5pbXBvcnQgeyBEdXJhdGlvbkJveFJhbmdlVmlvbGF0aW9uIH0gZnJvbSAnLi9kdXJhdGlvbi5tb2RlbCc7XHJcbmltcG9ydCB7IER1cmF0aW9uU2VydmljZSB9IGZyb20gJy4vZHVyYXRpb24uc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLWR1cmF0aW9uLWJveCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHVyYXRpb24tYm94LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2R1cmF0aW9uLWJveC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzRHVyYXRpb25Cb3hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgICAvKipcclxuICAgICAqIER1cmF0aW9uIGxlbmd0aCBleHByZXNzZWQgaW4gbWludXRlczsgd2hlbiB3ZSBhbGxvdyBlbXB0eSB2YWx1ZXMgdGhpcyBwcm9wZXJ0eSBjYW4gYmUgbnVsbC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7KG51bWJlciB8IG51bGwpfVxyXG4gICAgICogQG1lbWJlcm9mIFNkc0R1cmF0aW9uQm94Q29tcG9uZW50XHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHZhbHVlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFsbG93IHVzZXIgdG8gc2VsZWN0IGVtcHR5IHZhbHVlLiBZb3Ugc2hvdWxkIHByb3ZpZGUgZW1wdHlWYWx1ZVRleHQgaW4gdGhpcyBjYXNlLiBUaGUgZW1pdHRlZCB2YWx1ZSBpcyAnbnVsbCcuXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgYWxsb3dFbXB0eVZhbHVlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRleHQgdG8gYmUgZGlzcGxheWVkIHdoZW4gdmFsdWUgaXMgY2xlYXJlZFxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZW1wdHlWYWx1ZVRleHQ6IHN0cmluZyA9ICdub3Qgc2V0JztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEFycmF5IG9mIHByZS1kZWZpbmVkIGR1cmF0aW9ucyB0aGF0IHdpbGwgYmUgZGlzcGxheWVkIGluIGRyb3Bkb3duIGZvciBlYXNpZXIgc2VsZWN0aW9uLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJbXX1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBvcHRpb25zPzogbnVtYmVyW107XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogV2lkdGggb2YgY29tcG9uZW50LiBCeSBkZWZhdWx0IDEwcmVtLlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcxMHJlbSc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgVUkgY29tcG9uZW50IHJlc3BvbmRzIHRvIHVzZXIgaW50ZXJhY3Rpb24uXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBkaXNwbGF5IHRoZSBDbGVhciBidXR0b24gaW4gdGhlIFVJIGNvbXBvbmVudC5cclxuICAgICAqXHJcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBtYXhpbXVtIHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBkdXJhdGlvbiBib3guXHJcbiAgICAgKlxyXG4gICAgICogQHR5cGUge251bWJlcn1cclxuICAgICAqIEBtZW1iZXJvZiBTZHNEdXJhdGlvbkJveENvbXBvbmVudFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBtYXg/OiBudW1iZXI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWluaW11bSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgZHVyYXRpb24gYm94LlxyXG4gICAgICpcclxuICAgICAqIEB0eXBlIHtudW1iZXJ9XHJcbiAgICAgKiBAbWVtYmVyb2YgU2RzRHVyYXRpb25Cb3hDb21wb25lbnRcclxuICAgICAqLyAgICBcclxuICAgIEBJbnB1dCgpIG1pbj86IG51bWJlcjtcclxuXHJcblxyXG4gICAgQE91dHB1dCgpIHJhbmdlVmlvbGF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPER1cmF0aW9uQm94UmFuZ2VWaW9sYXRpb24+KCk7XHJcblxyXG4gICAgcHVibGljIGVsZW1lbnRVVUlEID0gJ3Nkcy1kYi0nICsgY3J5cHRvLnJhbmRvbVVVSUQoKTtcclxuXHJcbiAgICBwdWJsaWMgaW5wdXRWYWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgICBwdWJsaWMgc2hvd09wdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIFxyXG4gICAgcHVibGljIG9wdGlvbnNEcm9wZG93bkJ1dHRvbjtcclxuICAgIHB1YmxpYyBjbGVhclZhbHVlQnV0dG9uO1xyXG5cclxuICAgIHB1YmxpYyBpc1ZhbHVlRW1wdHkgPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIGlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF9kdXJhdGlvblBpcGU6IFNkc0R1cmF0aW9uRm9ybWF0UGlwZTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9kdXJhdGlvbklucHV0UmVzb2x2ZXI6IER1cmF0aW9uU2VydmljZSxcclxuICAgICkge1xyXG4gICAgICAgIHRoaXMuX2R1cmF0aW9uUGlwZSA9IG5ldyBTZHNEdXJhdGlvbkZvcm1hdFBpcGUoKTtcclxuICAgICAgICBcclxuICAgICAgICB0aGlzLm9wdGlvbnNEcm9wZG93bkJ1dHRvbiA9ICB7XHJcbiAgICAgICAgICAgIGljb246ICdzcGluZG93bicsXHJcbiAgICAgICAgICAgIHN0eWxpbmdNb2RlOiAndGV4dCcsXHJcbiAgICBcclxuICAgICAgICAgICAgb25DbGljazogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93T3B0aW9ucyA9ICF0aGlzLnNob3dPcHRpb25zO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNsZWFyVmFsdWVCdXR0b24gPSAge1xyXG4gICAgICAgICAgICBpY29uOiAnY2xlYXInLFxyXG4gICAgICAgICAgICBzdHlsaW5nTW9kZTogJ3RleHQnLFxyXG4gICAgICAgICAgICBlbGVtZW50QXR0cjogeyBjbGFzczogJ3Nkcy1kdXJhdGlvbmJveC1jbGVhci1idXR0b24nIH0sXHJcbiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwbHlPcHRpb24obnVsbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10pIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmFsbG93RW1wdHlWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy5fZHVyYXRpb25JbnB1dFJlc29sdmVyLmdldERlZmF1bHRWYWx1ZSgpKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLl9kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMudmFsdWUsIHRoaXMuZW1wdHlWYWx1ZVRleHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSB0aGlzLl9kdXJhdGlvblBpcGUudHJhbnNmb3JtKHRoaXMudmFsdWUsIHRoaXMuZW1wdHlWYWx1ZVRleHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgICBwdWJsaWMgYmxvY2tOb25OdW1iZXJPclNlbWljb2xvbihlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHB1YmxpYyByZXNvbHZlSW5wdXQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5KXtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIuaXNWYWxpZElucHV0KHRoaXMuaW5wdXRWYWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgIC8vIHdlIGhhdmUgaW52YWxpZCBpbnB1dC4gdXNlIG9sZCB2YWx1ZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlSW50ZXJuYWxseSh0aGlzLnZhbHVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkVmFsdWUgPSB0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIucmVzb2x2ZSh0aGlzLmlucHV0VmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBpZiAocmVzb2x2ZWRWYWx1ZSA9PT0gbnVsbCAmJiB0aGlzLmFsbG93RW1wdHlWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHJlc29sdmVkVmFsdWUgPT09IG51bGwgJiYgIXRoaXMuYWxsb3dFbXB0eVZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLl9kdXJhdGlvbklucHV0UmVzb2x2ZXIuZ2V0RGVmYXVsdFZhbHVlKCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgdGhlIHZhbHVlIGlzIHdpdGhpbiB0aGUgbWluL21heCBwZXJpb2RcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5fZHVyYXRpb25JbnB1dFJlc29sdmVyLmlzVmFsdWVXaXRoaW5MaW1pdHMocmVzb2x2ZWRWYWx1ZSBhcyBudW1iZXIsIHRoaXMubWluLCB0aGlzLm1heCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShyZXNvbHZlZFZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1c2Ugb2xkIHZhbHVlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmFuZ2VWaW9sYXRlZC5lbWl0KHttaW46IHRoaXMubWluLCBtYXg6IHRoaXMubWF4LCB2YWx1ZTogcmVzb2x2ZWRWYWx1ZX0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldElucHV0VmFsdWVJbnRlcm5hbGx5KHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXBwbHlPcHRpb24odmFsdWU6IG51bWJlciB8IG51bGwpe1xyXG4gICAgICAgIHRoaXMuc2hvd09wdGlvbnMgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzVmFsdWVTZXRJbnRlcm5hbGx5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZXRWYWx1ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5pc1ZhbHVlRW1wdHkgPSAodmFsdWUgPT09IG51bGwpO1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlSW50ZXJuYWxseSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRJbnB1dFZhbHVlSW50ZXJuYWxseSh2YWx1ZTogbnVtYmVyIHwgbnVsbCl7XHJcbiAgICAgICAgdGhpcy5pc1ZhbHVlU2V0SW50ZXJuYWxseSA9IHRydWU7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IHRoaXMuX2R1cmF0aW9uUGlwZS50cmFuc2Zvcm0odGhpcy52YWx1ZSwgdGhpcy5lbXB0eVZhbHVlVGV4dCk7XHJcbiAgICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIjxkeC10ZXh0LWJveFxyXG4gICAgI3RleHRib3hcclxuICAgIFtpZF09XCJlbGVtZW50VVVJRFwiXHJcbiAgICBjbGFzcz1cInNkcy1kdXJhdGlvbmJveFwiXHJcbiAgICBbKHZhbHVlKV09XCJpbnB1dFZhbHVlXCJcclxuICAgIChvbktleURvd24pPVwiYmxvY2tOb25OdW1iZXJPclNlbWljb2xvbigkZXZlbnQpXCJcclxuICAgIChvbkNoYW5nZSk9XCJyZXNvbHZlSW5wdXQoKVwiXHJcbiAgICBbd2lkdGhdPVwid2lkdGhcIlxyXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgID5cclxuXHJcbiAgICA8IS0tIChvblZhbHVlQ2hhbmdlZCk9XCJyZXNvbHZlSW5wdXQoJGV2ZW50KVwiIC0tPlxyXG5cclxuICAgIDxkeGktYnV0dG9uXHJcbiAgICAgICAgKm5nSWY9XCJhbGxvd0VtcHR5VmFsdWUgJiYgc2hvd0NsZWFyQnV0dG9uXCJcclxuICAgICAgICBuYW1lPVwiY2xlYXJWYWx1ZVwiXHJcbiAgICAgICAgbG9jYXRpb249XCJhZnRlclwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwiY2xlYXJWYWx1ZUJ1dHRvblwiXHJcbiAgICA+PC9keGktYnV0dG9uPlxyXG4gICAgPGR4aS1idXR0b25cclxuICAgICAgICAqbmdJZj1cIm9wdGlvbnMgJiYgb3B0aW9ucy5sZW5ndGggPiAwXCJcclxuICAgICAgICBuYW1lPVwib3B0aW9uc0Ryb3Bkb3duXCJcclxuICAgICAgICBsb2NhdGlvbj1cImFmdGVyXCJcclxuICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zRHJvcGRvd25CdXR0b25cIlxyXG4gICAgPjwvZHhpLWJ1dHRvbj5cclxuPC9keC10ZXh0LWJveD5cclxuXHJcblxyXG48ZHgtcG9wb3ZlclxyXG4gICAgdGFyZ2V0PVwiI3t7ZWxlbWVudFVVSUR9fVwiXHJcbiAgICBbKHZpc2libGUpXT1cInNob3dPcHRpb25zXCJcclxuICAgIFttaW5XaWR0aF09XCJ3aWR0aFwiXHJcbiAgICBbaGlkZU9uT3V0c2lkZUNsaWNrXT1cInRydWVcIlxyXG4gICAgW3dyYXBwZXJBdHRyXT1cInsgY2xhc3M6ICdzZHMtZHVyYXRpb25ib3gtb3B0aW9ucy1wb3BvdmVyJyB9XCJcclxuICAgID5cclxuXHJcbiAgICA8ZGl2ICpkeFRlbXBsYXRlPVwibGV0IGRhdGEgb2YgJ2NvbnRlbnQnXCI+XHJcbiAgICAgICAgPGR4LXNjcm9sbC12aWV3PlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLWl0ZW0gYm9yZGVyLTBcIlxyXG4gICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXSA9IFwiaXNWYWx1ZUVtcHR5XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseU9wdGlvbihudWxsKVwiXHJcbiAgICAgICAgICAgICAgICA+IHt7IGVtcHR5VmFsdWVUZXh0fX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc1wiPlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZHJvcGRvd24taXRlbSBib3JkZXItMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXSA9IFwib3B0aW9uID09PSB2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5T3B0aW9uKG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgICAgPiB7e29wdGlvbiB8IHNkc0R1cmF0aW9uRm9ybWF0fX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2R4LXNjcm9sbC12aWV3PlxyXG4gICAgPC9kaXY+XHJcbjwvZHgtcG9wb3Zlcj4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9kdXJhdGlvbi1ib3gvZHVyYXRpb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRHVyYXRpb25Cb3hSYW5nZVZpb2xhdGlvbiB7XHJcbiAgICBtaW4/OiBudW1iZXIsXHJcbiAgICBtYXg/OiBudW1iZXIsXHJcbiAgICB2YWx1ZTogbnVtYmVyIHwgbnVsbFxyXG59Il19
@@ -2,13 +2,22 @@ import { Component, ContentChildren, Input, QueryList, } from '@angular/core';
2
2
  import { NavigationStart } from '@angular/router';
3
3
  import { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';
4
4
  import { faAngleUp, faAngleDown } from '@fortawesome/pro-regular-svg-icons';
5
+ import { filter, Subject, takeUntil } from 'rxjs';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@angular/router";
7
8
  import * as i2 from "@fortawesome/angular-fontawesome";
8
9
  import * as i3 from "@angular/common";
10
+ import * as i4 from "../pipes/navigation-route-active.pipe";
9
11
  export class SdsNavigationGroupComponent {
10
12
  constructor(_router) {
11
13
  this._router = _router;
14
+ /**
15
+ * List of paths allowed/expected within this module.
16
+ * These are paths that are not accessible through child navigation
17
+ * elements, but through links in other parts of the application (e.g. link
18
+ * on form)
19
+ */
20
+ this._navigationGroupNestedRoutes = [];
12
21
  this.text = '';
13
22
  this.icon = '';
14
23
  this.defaultRouterLink = '';
@@ -17,28 +26,42 @@ export class SdsNavigationGroupComponent {
17
26
  this.active = false;
18
27
  this.faAngleUpRegular = faAngleUp;
19
28
  this.faAngleDownRegular = faAngleDown;
29
+ /**
30
+ * Current app URL (e.g. ['layout-showcase', 'default'])
31
+ */
32
+ this.currentUrl = [];
33
+ this._unsubscribe = new Subject();
20
34
  }
21
- ngOnInit() {
35
+ set navigationGroupNestedRoutes(value) {
36
+ this._navigationGroupNestedRoutes = value;
37
+ }
38
+ get navigationGroupNestedRoutes() {
39
+ return this._navigationGroupNestedRoutes;
22
40
  }
23
- ngAfterContentInit() {
24
- this._router.events.subscribe((event) => {
41
+ ngOnInit() {
42
+ this._router.events.pipe(filter((event) => event instanceof NavigationStart), takeUntil(this._unsubscribe)).subscribe((event) => {
25
43
  if (event instanceof NavigationStart) {
26
- this.active =
27
- this.routerLinkComponents.find((item) => item
28
- .routerLink === event.url) != null;
44
+ const route = event.url.split('/').filter(item => item.length > 0);
45
+ this.currentUrl = route;
29
46
  }
30
47
  });
31
48
  }
49
+ ngOnDestroy() {
50
+ this._unsubscribe.next();
51
+ this._unsubscribe.complete();
52
+ }
32
53
  navigateToDefaultRouterLink() {
33
54
  this._router.navigateByUrl(this.defaultRouterLink);
34
55
  }
35
56
  }
36
57
  SdsNavigationGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNavigationGroupComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
37
- SdsNavigationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNavigationGroupComponent, selector: "sds-navigation-group", inputs: { text: "text", icon: "icon", defaultRouterLink: "defaultRouterLink", reverse: "reverse" }, queries: [{ propertyName: "routerLinkComponents", predicate: SdsNavigationRouteLinkComponent }], ngImport: i0, template: "<div class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.active] = \"active\" >\r\n <a class=\"w-100 sds-navigation-item-content\" style=\"cursor: pointer\"\r\n (click)=\"navigateToDefaultRouterLink()\">\r\n \r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n</div>", styles: [""], components: [{ type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
58
+ SdsNavigationGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsNavigationGroupComponent, selector: "sds-navigation-group", inputs: { navigationGroupNestedRoutes: "navigationGroupNestedRoutes", text: "text", icon: "icon", defaultRouterLink: "defaultRouterLink", reverse: "reverse" }, queries: [{ propertyName: "routerLinkComponents", predicate: SdsNavigationRouteLinkComponent }], ngImport: i0, template: "<div class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class]=\"{'active': currentUrl | navigationRouteActive :navigationGroupNestedRoutes: defaultRouterLink}\">\r\n <a class=\"w-100 sds-navigation-item-content\" style=\"cursor: pointer\"\r\n (click)=\"navigateToDefaultRouterLink()\">\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n</div>\r\n", styles: [""], components: [{ type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "navigationRouteActive": i4.NavigationRouteActivePipe } });
38
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsNavigationGroupComponent, decorators: [{
39
60
  type: Component,
40
- args: [{ selector: 'sds-navigation-group', template: "<div class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class.active] = \"active\" >\r\n <a class=\"w-100 sds-navigation-item-content\" style=\"cursor: pointer\"\r\n (click)=\"navigateToDefaultRouterLink()\">\r\n \r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n</div>", styles: [""] }]
41
- }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { text: [{
61
+ args: [{ selector: 'sds-navigation-group', template: "<div class=\"sds-navigation-group sds-navigation-item-container d-flex\"\r\n [class.flex-column-reverse]=\"reverse\"\r\n [class.flex-column]=\"!reverse\"\r\n [class]=\"{'active': currentUrl | navigationRouteActive :navigationGroupNestedRoutes: defaultRouterLink}\">\r\n <a class=\"w-100 sds-navigation-item-content\" style=\"cursor: pointer\"\r\n (click)=\"navigateToDefaultRouterLink()\">\r\n\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"sds-navigation-icon\" >\r\n <ng-content select=\"[navigationIcon]\"></ng-content>\r\n </div>\r\n <div class=\"sds-navigation-text\">\r\n {{ text }}\r\n </div>\r\n <div class=\"text-right\">\r\n <fa-icon *ngIf=\"!reverse\" [icon]=\"faAngleDownRegular\"></fa-icon>\r\n <fa-icon *ngIf=\"reverse\" [icon]=\"faAngleUpRegular\"></fa-icon>\r\n </div>\r\n </div>\r\n </a>\r\n <div class=\"sds-navigation-group-items\">\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n</div>\r\n", styles: [""] }]
62
+ }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { navigationGroupNestedRoutes: [{
63
+ type: Input
64
+ }], text: [{
42
65
  type: Input
43
66
  }], icon: [{
44
67
  type: Input
@@ -50,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
50
73
  type: ContentChildren,
51
74
  args: [SdsNavigationRouteLinkComponent]
52
75
  }] } });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBRUwsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUUzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7OztBQVM1RSxNQUFNLE9BQU8sMkJBQTJCO0lBY3BDLFlBQW9CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBYjFCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixzQkFBaUIsR0FBVyxFQUFFLENBQUM7UUFDL0IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUd6Qix5QkFBb0IsR0FBK0MsSUFBSSxTQUFTLEVBQW1DLENBQUM7UUFFcEgsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUV4QixxQkFBZ0IsR0FBRyxTQUFTLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsV0FBVyxDQUFDO0lBRUssQ0FBQztJQUV2QyxRQUFRO0lBQ1IsQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3BDLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE1BQU07b0JBQ1AsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FDMUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNKLElBQXdDO3lCQUNwQyxVQUFVLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FDcEMsSUFBSSxJQUFJLENBQUM7YUFDakI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCwyQkFBMkI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDdkQsQ0FBQzs7d0hBbENRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHFNQU1uQiwrQkFBK0IsNkJDMUJwRCxxZ0NBd0JNOzJGREpPLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDSSxzQkFBc0I7NkZBS3ZCLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHTixvQkFBb0I7c0JBRG5CLGVBQWU7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBJbnB1dCxcclxuICAgIE9uSW5pdCxcclxuICAgIFF1ZXJ5TGlzdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1yb3V0ZS1saW5rL25hdmlnYXRpb24tcm91dGUtbGluay5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgZmFBbmdsZVVwLCBmYUFuZ2xlRG93biB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLW5hdmlnYXRpb24tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuICAgIEBJbnB1dCgpIHRleHQ6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgaWNvbjogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBkZWZhdWx0Um91dGVyTGluazogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSByZXZlcnNlID0gZmFsc2U7XHJcblxyXG4gICAgQENvbnRlbnRDaGlsZHJlbihTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50KVxyXG4gICAgcm91dGVyTGlua0NvbXBvbmVudHM6IFF1ZXJ5TGlzdDxTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50PiA9IG5ldyBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudD4oKTtcclxuXHJcbiAgICBhY3RpdmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBmYUFuZ2xlVXBSZWd1bGFyID0gZmFBbmdsZVVwO1xyXG4gICAgZmFBbmdsZURvd25SZWd1bGFyID0gZmFBbmdsZURvd247XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZlID1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJvdXRlckxpbmtDb21wb25lbnRzLmZpbmQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChpdGVtKSA9PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0gYXMgU2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAucm91dGVyTGluayA9PT0gZXZlbnQudXJsXHJcbiAgICAgICAgICAgICAgICAgICAgKSAhPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbmF2aWdhdGVUb0RlZmF1bHRSb3V0ZXJMaW5rKCkge1xyXG4gICAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuZGVmYXVsdFJvdXRlckxpbmspO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24tZ3JvdXAgc2RzLW5hdmlnYXRpb24taXRlbS1jb250YWluZXIgZC1mbGV4XCJcclxuICAgIFtjbGFzcy5mbGV4LWNvbHVtbi1yZXZlcnNlXT1cInJldmVyc2VcIlxyXG4gICAgW2NsYXNzLmZsZXgtY29sdW1uXT1cIiFyZXZlcnNlXCJcclxuICAgIFtjbGFzcy5hY3RpdmVdID0gXCJhY3RpdmVcIiA+XHJcbiAgICA8YSBjbGFzcz1cInctMTAwIHNkcy1uYXZpZ2F0aW9uLWl0ZW0tY29udGVudFwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyXCJcclxuICAgICAgICAoY2xpY2spPVwibmF2aWdhdGVUb0RlZmF1bHRSb3V0ZXJMaW5rKClcIj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24taWNvblwiID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltuYXZpZ2F0aW9uSWNvbl1cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2RzLW5hdmlnYXRpb24tdGV4dFwiPlxyXG4gICAgICAgICAgICAgICAge3sgdGV4dCB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiIXJldmVyc2VcIiBbaWNvbl09XCJmYUFuZ2xlRG93blJlZ3VsYXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cInJldmVyc2VcIiBbaWNvbl09XCJmYUFuZ2xlVXBSZWd1bGFyXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvYT5cclxuICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1ncm91cC1pdGVtc1wiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+Il19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsU0FBUyxFQUNULGVBQWUsRUFDZixLQUFLLEVBR0wsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUUzRyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7O0FBU2xELE1BQU0sT0FBTywyQkFBMkI7SUFvQ3BDLFlBQW9CLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBbkNuQzs7Ozs7V0FLRztRQUNLLGlDQUE0QixHQUFhLEVBQUUsQ0FBQztRQVMzQyxTQUFJLEdBQVcsRUFBRSxDQUFDO1FBQ2xCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQy9CLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFHekIseUJBQW9CLEdBQStDLElBQUksU0FBUyxFQUFtQyxDQUFDO1FBRXBILFdBQU0sR0FBWSxLQUFLLENBQUM7UUFFeEIscUJBQWdCLEdBQUcsU0FBUyxDQUFDO1FBQzdCLHVCQUFrQixHQUFHLFdBQVcsQ0FBQztRQUVqQzs7V0FFRztRQUNILGVBQVUsR0FBYSxFQUFFLENBQUM7UUFFbEIsaUJBQVksR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUVwQixDQUFDO0lBNUJ2QyxJQUNJLDJCQUEyQixDQUFDLEtBQWU7UUFDM0MsSUFBSSxDQUFDLDRCQUE0QixHQUFHLEtBQUssQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSwyQkFBMkI7UUFDM0IsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUM7SUFDN0MsQ0FBQztJQXdCRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsRUFDbkQsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDL0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNsQixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ2xDLE1BQU0sS0FBSyxHQUFhLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7Z0JBQzVFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2FBQzNCO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsMkJBQTJCO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O3dIQXpEUSwyQkFBMkI7NEdBQTNCLDJCQUEyQixpUUFxQm5CLCtCQUErQiw2QkMzQ3BELCtrQ0F5QkE7MkZESGEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNJLHNCQUFzQjs2RkFhNUIsMkJBQTJCO3NCQUQ5QixLQUFLO2dCQVFHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFHTixvQkFBb0I7c0JBRG5CLGVBQWU7dUJBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIEFmdGVyQ29udGVudEluaXQsXHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgICBJbnB1dCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE9uSW5pdCxcclxuICAgIFF1ZXJ5TGlzdCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2aWdhdGlvbi1yb3V0ZS1saW5rL25hdmlnYXRpb24tcm91dGUtbGluay5jb21wb25lbnQnO1xyXG5cclxuaW1wb3J0IHsgZmFBbmdsZVVwLCBmYUFuZ2xlRG93biB9IGZyb20gJ0Bmb3J0YXdlc29tZS9wcm8tcmVndWxhci1zdmctaWNvbnMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5cclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnc2RzLW5hdmlnYXRpb24tZ3JvdXAnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL25hdmlnYXRpb24tZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gICAgLyoqXHJcbiAgICAgKiBMaXN0IG9mIHBhdGhzIGFsbG93ZWQvZXhwZWN0ZWQgd2l0aGluIHRoaXMgbW9kdWxlLlxyXG4gICAgICogVGhlc2UgYXJlIHBhdGhzIHRoYXQgYXJlIG5vdCBhY2Nlc3NpYmxlIHRocm91Z2ggY2hpbGQgbmF2aWdhdGlvblxyXG4gICAgICogZWxlbWVudHMsIGJ1dCB0aHJvdWdoIGxpbmtzIGluIG90aGVyIHBhcnRzIG9mIHRoZSBhcHBsaWNhdGlvbiAoZS5nLiBsaW5rXHJcbiAgICAgKiBvbiBmb3JtKVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9uYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IG5hdmlnYXRpb25Hcm91cE5lc3RlZFJvdXRlcyh2YWx1ZTogc3RyaW5nW10pIHtcclxuICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXMgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIGdldCBuYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXMoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb25Hcm91cE5lc3RlZFJvdXRlcztcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSB0ZXh0OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIGljb246IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgZGVmYXVsdFJvdXRlckxpbms6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgcmV2ZXJzZSA9IGZhbHNlO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGRyZW4oU2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudClcclxuICAgIHJvdXRlckxpbmtDb21wb25lbnRzOiBRdWVyeUxpc3Q8U2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudD4gPSBuZXcgUXVlcnlMaXN0PFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQ+KCk7XHJcblxyXG4gICAgYWN0aXZlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgZmFBbmdsZVVwUmVndWxhciA9IGZhQW5nbGVVcDtcclxuICAgIGZhQW5nbGVEb3duUmVndWxhciA9IGZhQW5nbGVEb3duO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3VycmVudCBhcHAgVVJMIChlLmcuIFsnbGF5b3V0LXNob3djYXNlJywgJ2RlZmF1bHQnXSlcclxuICAgICAqL1xyXG4gICAgY3VycmVudFVybDogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF91bnN1YnNjcmliZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKFxyXG4gICAgICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCksXHJcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSlcclxuICAgICAgICApLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3V0ZTogc3RyaW5nW10gPSBldmVudC51cmwuc3BsaXQoJy8nKS5maWx0ZXIoaXRlbSA9PiBpdGVtLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRVcmwgPSByb3V0ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX3Vuc3Vic2NyaWJlLm5leHQoKTtcclxuICAgICAgICB0aGlzLl91bnN1YnNjcmliZS5jb21wbGV0ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIG5hdmlnYXRlVG9EZWZhdWx0Um91dGVyTGluaygpIHtcclxuICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmRlZmF1bHRSb3V0ZXJMaW5rKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWdyb3VwIHNkcy1uYXZpZ2F0aW9uLWl0ZW0tY29udGFpbmVyIGQtZmxleFwiXHJcbiAgICBbY2xhc3MuZmxleC1jb2x1bW4tcmV2ZXJzZV09XCJyZXZlcnNlXCJcclxuICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCIhcmV2ZXJzZVwiXHJcbiAgICBbY2xhc3NdPVwieydhY3RpdmUnOiBjdXJyZW50VXJsIHwgbmF2aWdhdGlvblJvdXRlQWN0aXZlIDpuYXZpZ2F0aW9uR3JvdXBOZXN0ZWRSb3V0ZXM6IGRlZmF1bHRSb3V0ZXJMaW5rfVwiPlxyXG4gICAgPGEgY2xhc3M9XCJ3LTEwMCBzZHMtbmF2aWdhdGlvbi1pdGVtLWNvbnRlbnRcIiBzdHlsZT1cImN1cnNvcjogcG9pbnRlclwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9EZWZhdWx0Um91dGVyTGluaygpXCI+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi1pY29uXCIgPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25hdmlnYXRpb25JY29uXVwiPjwvbmctY29udGVudD5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZHMtbmF2aWdhdGlvbi10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgICB7eyB0ZXh0IH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gKm5nSWY9XCIhcmV2ZXJzZVwiIFtpY29uXT1cImZhQW5nbGVEb3duUmVndWxhclwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwicmV2ZXJzZVwiIFtpY29uXT1cImZhQW5nbGVVcFJlZ3VsYXJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9hPlxyXG4gICAgPGRpdiBjbGFzcz1cInNkcy1uYXZpZ2F0aW9uLWdyb3VwLWl0ZW1zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcblxyXG48L2Rpdj5cclxuIl19
@@ -8,6 +8,7 @@ import { SdsNavigationGroupComponent } from './navigation-group/navigation-group
8
8
  import { SdsNavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';
9
9
  import { SdsNavigationContainerComponent } from './navigation-container/navigation-container.component';
10
10
  import { SdsNavigationExternalLinkComponent } from './navigation-external-link/navigation-external-link.component';
11
+ import { NavigationRouteActivePipe } from './pipes';
11
12
  import * as i0 from "@angular/core";
12
13
  // import { NavigationGroupComponent } from './navigation-group/navigation-group.component';
13
14
  // import { NavigationRouteLinkComponent } from './navigation-route-link/navigation-route-link.component';
@@ -29,7 +30,7 @@ SdsNavigationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
29
30
  SdsNavigationSeparatorComponent,
30
31
  SdsNavigationHeaderComponent,
31
32
  SdsNavigationContainerComponent,
32
- SdsNavigationExternalLinkComponent], imports: [CommonModule,
33
+ SdsNavigationExternalLinkComponent, NavigationRouteActivePipe], imports: [CommonModule,
33
34
  RouterModule,
34
35
  FontAwesomeModule], exports: [SdsNavigationGroupComponent,
35
36
  SdsNavigationRouteLinkComponent,
@@ -46,7 +47,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
46
47
  type: NgModule,
47
48
  args: [{
48
49
  declarations: [
49
- ...components
50
+ ...components,
51
+ NavigationRouteActivePipe
50
52
  ],
51
53
  imports: [
52
54
  CommonModule,
@@ -58,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
58
60
  ]
59
61
  }]
60
62
  }] });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7QUFFbkgsNEZBQTRGO0FBQzVGLDBHQUEwRztBQUMxRyx3R0FBd0c7QUFDeEcsK0ZBQStGO0FBRS9GLE1BQU0sVUFBVSxHQUFHO0lBQ2YsMkJBQTJCO0lBQzNCLCtCQUErQjtJQUMvQiwrQkFBK0I7SUFDL0IsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixrQ0FBa0M7Q0FDckMsQ0FBQTtBQWVELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFyQjVCLDJCQUEyQjtRQUMzQiwrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLDRCQUE0QjtRQUM1QiwrQkFBK0I7UUFDL0Isa0NBQWtDLGFBUWxDLFlBQVk7UUFDWixZQUFZO1FBQ1osaUJBQWlCLGFBZmpCLDJCQUEyQjtRQUMzQiwrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLDRCQUE0QjtRQUM1QiwrQkFBK0I7UUFDL0Isa0NBQWtDO2lIQWdCekIsbUJBQW1CLFlBVHJCO1lBQ1AsWUFBWTtZQUNaLFlBQVk7WUFDWixpQkFBaUI7U0FDbEI7MkZBS1UsbUJBQW1CO2tCQWIvQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDVixHQUFHLFVBQVU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsR0FBRyxVQUFVO3FCQUNkO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5cclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvblNlcGFyYXRvckNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1zZXBhcmF0b3IvbmF2aWdhdGlvbi1zZXBhcmF0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1oZWFkZXIvbmF2aWdhdGlvbi1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWdyb3VwL25hdmlnYXRpb24tZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1yb3V0ZS1saW5rL25hdmlnYXRpb24tcm91dGUtbGluay5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWNvbnRhaW5lci9uYXZpZ2F0aW9uLWNvbnRhaW5lci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uRXh0ZXJuYWxMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsvbmF2aWdhdGlvbi1leHRlcm5hbC1saW5rLmNvbXBvbmVudCc7XHJcblxyXG4vLyBpbXBvcnQgeyBOYXZpZ2F0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQnO1xyXG4vLyBpbXBvcnQgeyBOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXJvdXRlLWxpbmsvbmF2aWdhdGlvbi1yb3V0ZS1saW5rLmNvbXBvbmVudCc7XHJcbi8vIGltcG9ydCB7IE5hdmlnYXRpb25TZXBhcmF0b3JDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tc2VwYXJhdG9yL25hdmlnYXRpb24tc2VwYXJhdG9yLmNvbXBvbmVudCc7XHJcbi8vIGltcG9ydCB7IE5hdmlnYXRpb25IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24taGVhZGVyL25hdmlnYXRpb24taGVhZGVyLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBjb21wb25lbnRzID0gW1xyXG4gICAgU2RzTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50LFxyXG4gICAgU2RzTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudCxcclxuICAgIFNkc05hdmlnYXRpb25TZXBhcmF0b3JDb21wb25lbnQsXHJcbiAgICBTZHNOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50LFxyXG4gICAgU2RzTmF2aWdhdGlvbkNvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnRcclxuXVxyXG4gIFxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAuLi5jb21wb25lbnRzXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBGb250QXdlc29tZU1vZHVsZSAgICBcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIC4uLmNvbXBvbmVudHNcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNOYXZpZ2F0aW9uTW9kdWxlIHsgfVxyXG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL25hdmlnYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVyRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUMvRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUMxRyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNuSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXBELDRGQUE0RjtBQUM1RiwwR0FBMEc7QUFDMUcsd0dBQXdHO0FBQ3hHLCtGQUErRjtBQUUvRixNQUFNLFVBQVUsR0FBRztJQUNmLDJCQUEyQjtJQUMzQiwrQkFBK0I7SUFDL0IsK0JBQStCO0lBQy9CLDRCQUE0QjtJQUM1QiwrQkFBK0I7SUFDL0Isa0NBQWtDO0NBQ3JDLENBQUE7QUFnQkQsTUFBTSxPQUFPLG1CQUFtQjs7Z0hBQW5CLG1CQUFtQjtpSEFBbkIsbUJBQW1CLGlCQXRCNUIsMkJBQTJCO1FBQzNCLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsNEJBQTRCO1FBQzVCLCtCQUErQjtRQUMvQixrQ0FBa0MsRUFNaEMseUJBQXlCLGFBRzNCLFlBQVk7UUFDWixZQUFZO1FBQ1osaUJBQWlCLGFBaEJqQiwyQkFBMkI7UUFDM0IsK0JBQStCO1FBQy9CLCtCQUErQjtRQUMvQiw0QkFBNEI7UUFDNUIsK0JBQStCO1FBQy9CLGtDQUFrQztpSEFpQnpCLG1CQUFtQixZQVRyQjtZQUNQLFlBQVk7WUFDWixZQUFZO1lBQ1osaUJBQWlCO1NBQ2xCOzJGQUtVLG1CQUFtQjtrQkFkL0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1YsR0FBRyxVQUFVO3dCQUNiLHlCQUF5QjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLFVBQVU7cUJBQ2Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XHJcblxyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uU2VwYXJhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXNlcGFyYXRvci9uYXZpZ2F0aW9uLXNlcGFyYXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWhlYWRlci9uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tZ3JvdXAvbmF2aWdhdGlvbi1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZHNOYXZpZ2F0aW9uUm91dGVMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXJvdXRlLWxpbmsvbmF2aWdhdGlvbi1yb3V0ZS1saW5rLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkc05hdmlnYXRpb25Db250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tY29udGFpbmVyL25hdmlnYXRpb24tY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNkc05hdmlnYXRpb25FeHRlcm5hbExpbmtDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24tZXh0ZXJuYWwtbGluay9uYXZpZ2F0aW9uLWV4dGVybmFsLWxpbmsuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblJvdXRlQWN0aXZlUGlwZSB9IGZyb20gJy4vcGlwZXMnO1xyXG5cclxuLy8gaW1wb3J0IHsgTmF2aWdhdGlvbkdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWdyb3VwL25hdmlnYXRpb24tZ3JvdXAuY29tcG9uZW50JztcclxuLy8gaW1wb3J0IHsgTmF2aWdhdGlvblJvdXRlTGlua0NvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi1yb3V0ZS1saW5rL25hdmlnYXRpb24tcm91dGUtbGluay5jb21wb25lbnQnO1xyXG4vLyBpbXBvcnQgeyBOYXZpZ2F0aW9uU2VwYXJhdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLXNlcGFyYXRvci9uYXZpZ2F0aW9uLXNlcGFyYXRvci5jb21wb25lbnQnO1xyXG4vLyBpbXBvcnQgeyBOYXZpZ2F0aW9uSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uLWhlYWRlci9uYXZpZ2F0aW9uLWhlYWRlci5jb21wb25lbnQnO1xyXG5cclxuY29uc3QgY29tcG9uZW50cyA9IFtcclxuICAgIFNkc05hdmlnYXRpb25Hcm91cENvbXBvbmVudCxcclxuICAgIFNkc05hdmlnYXRpb25Sb3V0ZUxpbmtDb21wb25lbnQsXHJcbiAgICBTZHNOYXZpZ2F0aW9uU2VwYXJhdG9yQ29tcG9uZW50LFxyXG4gICAgU2RzTmF2aWdhdGlvbkhlYWRlckNvbXBvbmVudCxcclxuICAgIFNkc05hdmlnYXRpb25Db250YWluZXJDb21wb25lbnQsXHJcbiAgICBTZHNOYXZpZ2F0aW9uRXh0ZXJuYWxMaW5rQ29tcG9uZW50XHJcbl1cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgIC4uLmNvbXBvbmVudHMsXHJcbiAgICAgIE5hdmlnYXRpb25Sb3V0ZUFjdGl2ZVBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIEZvbnRBd2Vzb21lTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICAuLi5jb21wb25lbnRzXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2RzTmF2aWdhdGlvbk1vZHVsZSB7IH1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './navigation-route-active.pipe';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi9uYXZpZ2F0aW9uL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL25hdmlnYXRpb24tcm91dGUtYWN0aXZlLnBpcGUnXHJcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class NavigationRouteActivePipe {
4
+ transform(currentUrl, ...args) {
5
+ if (!currentUrl || currentUrl?.length === 0) {
6
+ return false;
7
+ }
8
+ const nestedRoutes = args[0];
9
+ const defaultGroupUrl = args[1].replace('/', '');
10
+ if (nestedRoutes?.length > 0) {
11
+ // Nested routes are provided. We should find out if current url is on the list of
12
+ // the provided nested routes
13
+ const lastRouteItem = currentUrl.reverse().find((item, index) => index === 0);
14
+ const routeItemIsPartOfNestedRoutes = nestedRoutes.some((routeName) => routeName === lastRouteItem);
15
+ if (routeItemIsPartOfNestedRoutes) {
16
+ return true;
17
+ }
18
+ console.warn(`Nested routes were defined in sds-navigation-group component, however route ${lastRouteItem} is
19
+ not a part of the nested routes list. Maybe you forgot to include it? `);
20
+ }
21
+ const currentUrlContainsGroupUrl = currentUrl.some(path => path === defaultGroupUrl);
22
+ return currentUrlContainsGroupUrl;
23
+ }
24
+ }
25
+ NavigationRouteActivePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NavigationRouteActivePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
26
+ NavigationRouteActivePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NavigationRouteActivePipe, name: "navigationRouteActive" });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NavigationRouteActivePipe, decorators: [{
28
+ type: Pipe,
29
+ args: [{
30
+ name: 'navigationRouteActive'
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdGlvbi1yb3V0ZS1hY3RpdmUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL25hdmlnYXRpb24vcGlwZXMvbmF2aWdhdGlvbi1yb3V0ZS1hY3RpdmUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxTQUFTLENBQUMsVUFBb0IsRUFBRSxHQUFHLElBQWU7UUFDaEQsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE1BQU0sWUFBWSxHQUFhLElBQUksQ0FBQyxDQUFDLENBQWEsQ0FBQztRQUNuRCxNQUFNLGVBQWUsR0FBWSxJQUFJLENBQUMsQ0FBQyxDQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVyRSxJQUFJLFlBQVksRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzFCLGtGQUFrRjtZQUNsRiw2QkFBNkI7WUFDN0IsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztZQUU5RSxNQUFNLDZCQUE2QixHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFNBQVMsS0FBSyxhQUFhLENBQUMsQ0FBQztZQUNwRyxJQUFJLDZCQUE2QixFQUFFO2dCQUMvQixPQUFPLElBQUksQ0FBQzthQUNmO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FDUiwrRUFBK0UsYUFBYTttRkFDckIsQ0FDMUUsQ0FBQztTQUNMO1FBRUQsTUFBTSwwQkFBMEIsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxDQUFDO1FBQ3JGLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQzs7c0hBMUJVLHlCQUF5QjtvSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSHJDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLHVCQUF1QjtpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ25hdmlnYXRpb25Sb3V0ZUFjdGl2ZSdcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Sb3V0ZUFjdGl2ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGN1cnJlbnRVcmw6IHN0cmluZ1tdLCAuLi5hcmdzOiB1bmtub3duW10pOiBib29sZWFuIHtcclxuICAgIGlmICghY3VycmVudFVybCB8fCBjdXJyZW50VXJsPy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBjb25zdCBuZXN0ZWRSb3V0ZXM6IHN0cmluZ1tdID0gYXJnc1swXSBhcyBzdHJpbmdbXTtcclxuICAgIGNvbnN0IGRlZmF1bHRHcm91cFVybDogc3RyaW5nID0gKGFyZ3NbMV0gYXMgc3RyaW5nKS5yZXBsYWNlKCcvJywgJycpO1xyXG5cclxuICAgIGlmIChuZXN0ZWRSb3V0ZXM/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAvLyBOZXN0ZWQgcm91dGVzIGFyZSBwcm92aWRlZC4gV2Ugc2hvdWxkIGZpbmQgb3V0IGlmIGN1cnJlbnQgdXJsIGlzIG9uIHRoZSBsaXN0IG9mXHJcbiAgICAgICAgLy8gdGhlIHByb3ZpZGVkIG5lc3RlZCByb3V0ZXNcclxuICAgICAgICBjb25zdCBsYXN0Um91dGVJdGVtID0gY3VycmVudFVybC5yZXZlcnNlKCkuZmluZCgoaXRlbSwgaW5kZXgpID0+IGluZGV4ID09PSAwKTtcclxuXHJcbiAgICAgICAgY29uc3Qgcm91dGVJdGVtSXNQYXJ0T2ZOZXN0ZWRSb3V0ZXMgPSBuZXN0ZWRSb3V0ZXMuc29tZSgocm91dGVOYW1lKSA9PiByb3V0ZU5hbWUgPT09IGxhc3RSb3V0ZUl0ZW0pO1xyXG4gICAgICAgIGlmIChyb3V0ZUl0ZW1Jc1BhcnRPZk5lc3RlZFJvdXRlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS53YXJuKFxyXG4gICAgICAgICAgICBgTmVzdGVkIHJvdXRlcyB3ZXJlIGRlZmluZWQgaW4gc2RzLW5hdmlnYXRpb24tZ3JvdXAgY29tcG9uZW50LCBob3dldmVyIHJvdXRlICR7bGFzdFJvdXRlSXRlbX0gaXNcclxuICAgICAgICAgICAgbm90IGEgcGFydCBvZiB0aGUgbmVzdGVkIHJvdXRlcyBsaXN0LiBNYXliZSB5b3UgZm9yZ290IHRvIGluY2x1ZGUgaXQ/IGBcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGN1cnJlbnRVcmxDb250YWluc0dyb3VwVXJsID0gY3VycmVudFVybC5zb21lKHBhdGggPT4gcGF0aCA9PT0gZGVmYXVsdEdyb3VwVXJsKTtcclxuICAgIHJldHVybiBjdXJyZW50VXJsQ29udGFpbnNHcm91cFVybDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -88,21 +88,21 @@ class SdsDurationBoxComponent {
88
88
  this.value = null;
89
89
  this.valueChange = new EventEmitter();
90
90
  /**
91
- * Allow user to select empty value. You should provide emptyValueText in this case.
91
+ * Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.
92
92
  *
93
93
  * @type {boolean}
94
94
  * @memberof SdsDurationBoxComponent
95
95
  */
96
96
  this.allowEmptyValue = true;
97
97
  /**
98
- * 'emptyValueText' - text to be displayed when value is cleared
98
+ * Text to be displayed when value is cleared
99
99
  *
100
100
  * @type {string}
101
101
  * @memberof SdsDurationBoxComponent
102
102
  */
103
103
  this.emptyValueText = 'not set';
104
104
  /**
105
- * Width of component
105
+ * Width of component. By default 10rem.
106
106
  *
107
107
  * @type {string}
108
108
  * @memberof SdsDurationBoxComponent
@@ -122,6 +122,7 @@ class SdsDurationBoxComponent {
122
122
  * @memberof SdsDurationBoxComponent
123
123
  */
124
124
  this.showClearButton = false;
125
+ this.rangeViolated = new EventEmitter();
125
126
  this.elementUUID = 'sds-db-' + crypto.randomUUID();
126
127
  this.inputValue = '';
127
128
  this.showOptions = false;
@@ -185,6 +186,7 @@ class SdsDurationBoxComponent {
185
186
  }
186
187
  else {
187
188
  // use old value
189
+ this.rangeViolated.emit({ min: this.min, max: this.max, value: resolvedValue });
188
190
  this.setInputValueInternally(this.value);
189
191
  }
190
192
  }
@@ -210,7 +212,7 @@ class SdsDurationBoxComponent {
210
212
  }
211
213
  }
212
214
  SdsDurationBoxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxComponent, deps: [{ token: DurationService }], target: i0.ɵɵFactoryTarget.Component });
213
- SdsDurationBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsDurationBoxComponent, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton", max: "max", min: "min" }, outputs: { valueChange: "valueChange" }, usesOnChanges: true, ngImport: i0, template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"], components: [{ type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "sdsDurationFormat": i6.SdsDurationFormatPipe } });
215
+ SdsDurationBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsDurationBoxComponent, selector: "sds-duration-box", inputs: { value: "value", allowEmptyValue: "allowEmptyValue", emptyValueText: "emptyValueText", options: "options", width: "width", disabled: "disabled", showClearButton: "showClearButton", max: "max", min: "min" }, outputs: { valueChange: "valueChange", rangeViolated: "rangeViolated" }, usesOnChanges: true, ngImport: i0, template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"], components: [{ type: i2.DxTextBoxComponent, selector: "dx-text-box", inputs: ["accessKey", "activeStateEnabled", "buttons", "disabled", "elementAttr", "focusStateEnabled", "height", "hint", "hoverStateEnabled", "inputAttr", "isValid", "label", "labelMode", "mask", "maskChar", "maskInvalidMessage", "maskRules", "maxLength", "mode", "name", "placeholder", "readOnly", "rtlEnabled", "showClearButton", "showMaskMode", "spellcheck", "stylingMode", "tabIndex", "text", "useMaskedValue", "validationError", "validationErrors", "validationMessageMode", "validationMessagePosition", "validationStatus", "value", "valueChangeEvent", "visible", "width"], outputs: ["onChange", "onContentReady", "onCopy", "onCut", "onDisposing", "onEnterKey", "onFocusIn", "onFocusOut", "onInitialized", "onInput", "onKeyDown", "onKeyUp", "onOptionChanged", "onPaste", "onValueChanged", "accessKeyChange", "activeStateEnabledChange", "buttonsChange", "disabledChange", "elementAttrChange", "focusStateEnabledChange", "heightChange", "hintChange", "hoverStateEnabledChange", "inputAttrChange", "isValidChange", "labelChange", "labelModeChange", "maskChange", "maskCharChange", "maskInvalidMessageChange", "maskRulesChange", "maxLengthChange", "modeChange", "nameChange", "placeholderChange", "readOnlyChange", "rtlEnabledChange", "showClearButtonChange", "showMaskModeChange", "spellcheckChange", "stylingModeChange", "tabIndexChange", "textChange", "useMaskedValueChange", "validationErrorChange", "validationErrorsChange", "validationMessageModeChange", "validationMessagePositionChange", "validationStatusChange", "valueChange", "valueChangeEventChange", "visibleChange", "widthChange", "onBlur"] }, { type: i3.DxiButtonComponent, selector: "dxi-button", inputs: ["location", "name", "options", "cssClass", "disabled", "hint", "icon", "onClick", "template", "text", "visible"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }, { type: i2.DxScrollViewComponent, selector: "dx-scroll-view", inputs: ["bounceEnabled", "direction", "disabled", "elementAttr", "height", "pulledDownText", "pullingDownText", "reachBottomText", "refreshingText", "rtlEnabled", "scrollByContent", "scrollByThumb", "showScrollbar", "useNative", "width"], outputs: ["onDisposing", "onInitialized", "onOptionChanged", "onPullDown", "onReachBottom", "onScroll", "onUpdated", "bounceEnabledChange", "directionChange", "disabledChange", "elementAttrChange", "heightChange", "pulledDownTextChange", "pullingDownTextChange", "reachBottomTextChange", "refreshingTextChange", "rtlEnabledChange", "scrollByContentChange", "scrollByThumbChange", "showScrollbarChange", "useNativeChange", "widthChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.DxTemplateDirective, selector: "[dxTemplate]", inputs: ["dxTemplateOf"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "sdsDurationFormat": i6.SdsDurationFormatPipe } });
214
216
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsDurationBoxComponent, decorators: [{
215
217
  type: Component,
216
218
  args: [{ selector: 'sds-duration-box', template: "<dx-text-box\r\n #textbox\r\n [id]=\"elementUUID\"\r\n class=\"sds-durationbox\"\r\n [(value)]=\"inputValue\"\r\n (onKeyDown)=\"blockNonNumberOrSemicolon($event)\"\r\n (onChange)=\"resolveInput()\"\r\n [width]=\"width\"\r\n [disabled]=\"disabled\"\r\n >\r\n\r\n <!-- (onValueChanged)=\"resolveInput($event)\" -->\r\n\r\n <dxi-button\r\n *ngIf=\"allowEmptyValue && showClearButton\"\r\n name=\"clearValue\"\r\n location=\"after\"\r\n [options]=\"clearValueButton\"\r\n ></dxi-button>\r\n <dxi-button\r\n *ngIf=\"options && options.length > 0\"\r\n name=\"optionsDropdown\"\r\n location=\"after\"\r\n [options]=\"optionsDropdownButton\"\r\n ></dxi-button>\r\n</dx-text-box>\r\n\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n [(visible)]=\"showOptions\"\r\n [minWidth]=\"width\"\r\n [hideOnOutsideClick]=\"true\"\r\n [wrapperAttr]=\"{ class: 'sds-durationbox-options-popover' }\"\r\n >\r\n\r\n <div *dxTemplate=\"let data of 'content'\">\r\n <dx-scroll-view>\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"isValueEmpty\"\r\n (click)=\"applyOption(null)\"\r\n > {{ emptyValueText}}\r\n </button>\r\n\r\n <div *ngFor=\"let option of options\">\r\n <button\r\n class=\"dropdown-item border-0\"\r\n [class.selected] = \"option === value\"\r\n (click)=\"applyOption(option)\"\r\n > {{option | sdsDurationFormat}}\r\n </button>\r\n </div>\r\n </dx-scroll-view>\r\n </div>\r\n</dx-popover>", styles: ["::ng-deep .sds-durationbox .sds-durationbox-clear-button .dx-icon{color:#999}::ng-deep .sds-durationbox-options-popover .dx-popup-content{padding:.25rem;font-size:1rem}::ng-deep .sds-durationbox-options-popover .dropdown-item:focus{outline:none}::ng-deep .sds-durationbox-options-popover .dropdown-item.selected{background-color:#dee2e6}\n"] }]
@@ -234,6 +236,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
234
236
  type: Input
235
237
  }], min: [{
236
238
  type: Input
239
+ }], rangeViolated: [{
240
+ type: Output
237
241
  }] } });
238
242
 
239
243
  const components = [