@ngrdt/button 0.0.23 → 0.0.24

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.
@@ -1,16 +1,37 @@
1
- import { PlatformLocation } from '@angular/common';
2
1
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, ElementRef, Renderer2, input, booleanAttribute, linkedSignal, numberAttribute, computed, afterRenderEffect, EventEmitter, Output, Directive, ViewContainerRef, Input } from '@angular/core';
2
+ import { InjectionToken, inject, output, Directive, ElementRef, Renderer2, input, booleanAttribute, linkedSignal, numberAttribute, computed, afterRenderEffect, EventEmitter, Output } from '@angular/core';
3
+ import { RdtComponentOutletDirective, RdtInteractiveElementComponent } from '@ngrdt/core';
4
+ import { PlatformLocation } from '@angular/common';
4
5
  import { Router } from '@angular/router';
5
- import { RdtInteractiveElementComponent } from '@ngrdt/core';
6
6
  import { RdtStringUtils } from '@ngrdt/utils';
7
7
  import { take } from 'rxjs';
8
8
 
9
+ const RDT_BUTTON_BASE_PROVIDER = new InjectionToken('RdtButton');
10
+
11
+ class RdtButtonOutletDirective extends RdtComponentOutletDirective {
12
+ componentClass = inject(RDT_BUTTON_BASE_PROVIDER);
13
+ click$ = output();
14
+ constructor() {
15
+ super();
16
+ this.initComponentRef();
17
+ this.componentRef?.instance.click$.subscribe((evt) => this.click$.emit(evt));
18
+ }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtButtonOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: RdtButtonOutletDirective, isStandalone: true, selector: "[rdtButtonOutlet]", outputs: { click$: "click$" }, exportAs: ["rdtButtonOutlet"], usesInheritance: true, ngImport: i0 });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtButtonOutletDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: '[rdtButtonOutlet]',
26
+ standalone: true,
27
+ exportAs: 'rdtButtonOutlet',
28
+ }]
29
+ }], ctorParameters: () => [] });
30
+
9
31
  const RDT_BUTTON_SETTER_KEY = Symbol();
10
32
  const RDT_BUTTON_DEFAULT_PROPAGATE = false;
11
33
  const RDT_BUTTON_DEFAULT_TARGET = '_self';
12
34
  const RDT_BUTTON_DEFAULT_TAB_INDEX = null;
13
- const RDT_BUTTON_BASE_PROVIDER = new InjectionToken('RdtButton');
14
35
 
15
36
  class RdtButtonBase extends RdtInteractiveElementComponent {
16
37
  elRef = inject(ElementRef);
@@ -203,72 +224,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
203
224
  type: Output
204
225
  }] } });
205
226
 
206
- class RdtButtonOutletDirective {
207
- buttonClass = inject(RDT_BUTTON_BASE_PROVIDER);
208
- _viewContainerRef = inject(ViewContainerRef);
209
- inputs = {};
210
- click$ = new EventEmitter();
211
- get instance() {
212
- return this._componentRef?.instance;
213
- }
214
- _componentRef;
215
- /**
216
- * A helper data structure that allows us to track inputs that were part of the
217
- * ngComponentOutletInputs expression. Tracking inputs is necessary for proper removal of ones
218
- * that are no longer referenced.
219
- */
220
- _inputsUsed = new Map();
221
- constructor() {
222
- const injector = this._viewContainerRef.injector;
223
- this._componentRef = this._viewContainerRef.createComponent(this.buttonClass, {
224
- injector,
225
- });
226
- this.onInputsChanged();
227
- this._componentRef.instance.click$.subscribe(this.click$);
228
- }
229
- /** @nodoc */
230
- ngOnChanges() {
231
- this.onInputsChanged();
232
- }
233
- onInputsChanged() {
234
- for (const inputName of Object.keys(this.inputs)) {
235
- this._inputsUsed.set(inputName, true);
236
- }
237
- if (this._componentRef) {
238
- this._applyInputStateDiff(this._componentRef);
239
- }
240
- }
241
- /** @nodoc */
242
- _applyInputStateDiff(componentRef) {
243
- for (const [inputName, touched] of this._inputsUsed) {
244
- if (!touched) {
245
- // The input that was previously active no longer exists and needs to be set to undefined.
246
- componentRef.setInput(inputName, undefined);
247
- this._inputsUsed.delete(inputName);
248
- }
249
- else {
250
- // Since touched is true, it can be asserted that the inputs object is not empty.
251
- componentRef.setInput(inputName, this.inputs[inputName]);
252
- this._inputsUsed.set(inputName, false);
253
- }
254
- }
255
- }
256
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtButtonOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
257
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.0", type: RdtButtonOutletDirective, isStandalone: true, selector: "[rdtButtonOutlet]", inputs: { inputs: "inputs" }, outputs: { click$: "click$" }, exportAs: ["rdtButtonOutlet"], usesOnChanges: true, ngImport: i0 });
258
- }
259
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: RdtButtonOutletDirective, decorators: [{
260
- type: Directive,
261
- args: [{
262
- selector: '[rdtButtonOutlet]',
263
- standalone: true,
264
- exportAs: 'rdtButtonOutlet',
265
- }]
266
- }], ctorParameters: () => [], propDecorators: { inputs: [{
267
- type: Input
268
- }], click$: [{
269
- type: Output
270
- }] } });
271
-
272
227
  /**
273
228
  * Generated bundle index. Do not edit.
274
229
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ngrdt-button.mjs","sources":["../tmp-esm2022/lib/button/rdt-button-constants.js","../tmp-esm2022/lib/button/rdt-button-base.js","../tmp-esm2022/lib/button-outlet/rdt-button-outlet.directive.js","../tmp-esm2022/ngrdt-button.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const RDT_BUTTON_SETTER_KEY = Symbol();\nexport const RDT_BUTTON_DEFAULT_PROPAGATE = false;\nexport const RDT_BUTTON_DEFAULT_TARGET = '_self';\nexport const RDT_BUTTON_DEFAULT_TAB_INDEX = null;\nexport const RDT_BUTTON_BASE_PROVIDER = new InjectionToken('RdtButton');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvYnV0dG9uL3NyYy9saWIvYnV0dG9uL3JkdC1idXR0b24tY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFHckQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFFOUMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsS0FBSyxDQUFDO0FBQ2xELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLE9BQU8sQ0FBQztBQUNqRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLENBQUM7QUFFakQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBRXhELFdBQVcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmR0QnV0dG9uQmFzZUludCB9IGZyb20gJy4vcmR0LWJ1dHRvbi1pbnQnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJEVF9CVVRUT05fU0VUVEVSX0tFWSA9IFN5bWJvbCgpO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJEVF9CVVRUT05fREVGQVVMVF9QUk9QQUdBVEUgPSBmYWxzZTtcclxuZXhwb3J0IGNvbnN0IFJEVF9CVVRUT05fREVGQVVMVF9UQVJHRVQgPSAnX3NlbGYnO1xyXG5leHBvcnQgY29uc3QgUkRUX0JVVFRPTl9ERUZBVUxUX1RBQl9JTkRFWCA9IG51bGw7XHJcblxyXG5leHBvcnQgY29uc3QgUkRUX0JVVFRPTl9CQVNFX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPFxyXG4gIFR5cGU8UmR0QnV0dG9uQmFzZUludD5cclxuPignUmR0QnV0dG9uJyk7XHJcbiJdfQ==","import { PlatformLocation } from '@angular/common';\nimport { afterRenderEffect, booleanAttribute, computed, Directive, ElementRef, EventEmitter, inject, input, linkedSignal, numberAttribute, Output, Renderer2, } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { RdtInteractiveElementComponent } from '@ngrdt/core';\nimport { RdtStringUtils, } from '@ngrdt/utils';\nimport { take } from 'rxjs';\nimport { RDT_BUTTON_DEFAULT_TAB_INDEX, RDT_BUTTON_DEFAULT_TARGET, } from './rdt-button-constants';\nimport * as i0 from \"@angular/core\";\nexport class RdtButtonBase extends RdtInteractiveElementComponent {\n elRef = inject(ElementRef);\n router = inject(Router);\n baseHref = inject(PlatformLocation).getBaseHrefFromDOM();\n renderer = inject(Renderer2);\n notificationService;\n internalDisabledMap = {};\n internalLoadingMap = {};\n // Inputs\n propagateInput = input(false, {\n transform: booleanAttribute,\n alias: 'propagate',\n });\n propagate = linkedSignal(() => this.propagateInput());\n tabIndexInput = input(RDT_BUTTON_DEFAULT_TAB_INDEX, {\n transform: numberAttribute,\n alias: 'tabIndex',\n });\n tabIndex = linkedSignal(() => this.tabIndexInput());\n hrefInput = input(undefined, {\n alias: 'href',\n });\n href = linkedSignal(() => this.hrefInput());\n ngHrefInput = input(undefined, {\n alias: 'ngHref',\n });\n ngHref = linkedSignal(() => this.ngHrefInput());\n targetInput = input(RDT_BUTTON_DEFAULT_TARGET, { alias: 'target' });\n target = linkedSignal(() => this.targetInput());\n stateParamsInput = input(undefined, {\n alias: 'stateParams',\n });\n stateParams = linkedSignal(() => this.stateParamsInput());\n queryParamsInput = input(undefined, {\n alias: 'queryParams',\n });\n queryParams = linkedSignal(() => this.queryParamsInput());\n downloadInput = input(undefined, {\n alias: 'download',\n });\n download = linkedSignal(() => this.downloadInput());\n iconInput = input(null, {\n alias: 'icon',\n });\n icon = linkedSignal(() => this.iconInput());\n labelInput = input(undefined, {\n alias: 'label',\n });\n label = linkedSignal(() => this.labelInput());\n dataTestIdInput = input(undefined, { alias: 'dataTestId' });\n dataTestId = linkedSignal(() => this.dataTestIdInput() ?? this.label() ?? '');\n onlineEnabledInput$ = input(null, {\n alias: 'onlineEnabled',\n });\n onlineEnabled$ = linkedSignal(() => this.onlineEnabledInput$());\n ariaInput = input({}, { alias: 'aria' });\n aria = linkedSignal(() => this.ariaInput());\n hrefWithParams = computed(() => {\n const href = this.href();\n const queryParams = this.queryParams();\n if (href && queryParams) {\n return RdtStringUtils.appendQueryParams(href, queryParams);\n }\n else {\n return href;\n }\n });\n ariaRenderEffect = afterRenderEffect({\n write: () => this.updateAriaAttributes(this.aria()),\n });\n click$ = new EventEmitter();\n focus() {\n this.focusElement()?.focus();\n }\n canFocus() {\n return !this.disabled() && !!this.focusElement();\n }\n onClicked($event) {\n const onlineEnabled$ = this.onlineEnabled$();\n const disabled = this.disabled();\n if (onlineEnabled$) {\n if (disabled) {\n return;\n }\n $event.stopPropagation();\n this.setDisabledState(true, RdtButtonBase.ONLINE_ENABLED_KEY);\n this.setLoadingState(true, RdtButtonBase.ONLINE_ENABLED_KEY);\n const observer = {\n next: () => {\n this.onClickPermissionAllowed($event);\n this.finishOnlineCheck();\n },\n error: (error) => {\n this.notifyAccessDenied(error);\n this.finishOnlineCheck();\n },\n complete: () => this.finishOnlineCheck(),\n };\n onlineEnabled$.pipe(take(1)).subscribe(observer);\n }\n else {\n this.emitAndStopProp($event);\n }\n }\n emitAndStopProp($event) {\n const ngHref = this.ngHref();\n const href = this.href();\n const propagate = this.propagate();\n const disabled = this.disabled();\n // stopPropagation prevents routerLinks from working\n if (!propagate && !ngHref && !href) {\n $event.stopPropagation();\n }\n if (!disabled && !ngHref && !href) {\n this.click$.emit($event);\n }\n }\n onClickPermissionAllowed($event) {\n const propagate = this.propagate();\n const disabled = this.disabled();\n if (!propagate) {\n $event.stopPropagation();\n }\n if (!disabled) {\n this.navigateOrEmit($event);\n }\n }\n navigateOrEmit(event) {\n const ngHref = this.ngHref();\n const href = this.href();\n const target = this.target();\n const queryParams = this.queryParams();\n const stateParams = this.stateParams();\n if (ngHref) {\n if (target !== '_self') {\n const absolutePath = RdtStringUtils.createAbsoluteUrl(ngHref, this.baseHref);\n const pathWithParams = RdtStringUtils.appendQueryParams(absolutePath, queryParams);\n window.open(pathWithParams, target);\n }\n else {\n this.router.navigate([ngHref], {\n queryParams: queryParams,\n state: stateParams ?? undefined,\n });\n }\n }\n else if (href) {\n const pathWithParams = RdtStringUtils.appendQueryParams(href, queryParams);\n window.open(pathWithParams, target);\n }\n else {\n this.click$.emit(event);\n }\n }\n notifyAccessDenied(error) {\n if (this.notificationService) {\n if (typeof error === 'string') {\n this.notificationService.error(error);\n }\n else {\n this.notificationService.accessDenied();\n }\n }\n }\n finishOnlineCheck() {\n this.setDisabledState(false, RdtButtonBase.ONLINE_ENABLED_KEY);\n this.setLoadingState(false, RdtButtonBase.ONLINE_ENABLED_KEY);\n }\n updateAriaAttributes(aria) {\n const el = this.ariaElement();\n if (el) {\n Object.entries(aria).forEach(([key, value]) => {\n if (value === null || value === undefined) {\n this.renderer.removeAttribute(el, key);\n }\n else {\n this.renderer.setAttribute(el, key, String(value));\n }\n });\n }\n }\n static ONLINE_ENABLED_KEY = Symbol();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonBase, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtButtonBase, isStandalone: true, inputs: { propagateInput: { classPropertyName: \"propagateInput\", publicName: \"propagate\", isSignal: true, isRequired: false, transformFunction: null }, tabIndexInput: { classPropertyName: \"tabIndexInput\", publicName: \"tabIndex\", isSignal: true, isRequired: false, transformFunction: null }, hrefInput: { classPropertyName: \"hrefInput\", publicName: \"href\", isSignal: true, isRequired: false, transformFunction: null }, ngHrefInput: { classPropertyName: \"ngHrefInput\", publicName: \"ngHref\", isSignal: true, isRequired: false, transformFunction: null }, targetInput: { classPropertyName: \"targetInput\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null }, stateParamsInput: { classPropertyName: \"stateParamsInput\", publicName: \"stateParams\", isSignal: true, isRequired: false, transformFunction: null }, queryParamsInput: { classPropertyName: \"queryParamsInput\", publicName: \"queryParams\", isSignal: true, isRequired: false, transformFunction: null }, downloadInput: { classPropertyName: \"downloadInput\", publicName: \"download\", isSignal: true, isRequired: false, transformFunction: null }, iconInput: { classPropertyName: \"iconInput\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, labelInput: { classPropertyName: \"labelInput\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, dataTestIdInput: { classPropertyName: \"dataTestIdInput\", publicName: \"dataTestId\", isSignal: true, isRequired: false, transformFunction: null }, onlineEnabledInput$: { classPropertyName: \"onlineEnabledInput$\", publicName: \"onlineEnabled\", isSignal: true, isRequired: false, transformFunction: null }, ariaInput: { classPropertyName: \"ariaInput\", publicName: \"aria\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click$: \"click$\" }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonBase, decorators: [{\n type: Directive\n }], propDecorators: { click$: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbGliL2J1dHRvbi9yZHQtYnV0dG9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQW9CLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFHTCxjQUFjLEdBRWYsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHlCQUF5QixHQUMxQixNQUFNLHdCQUF3QixDQUFDOztBQUtoQyxNQUFNLE9BQWdCLGFBQ3BCLFNBQVEsOEJBQThCO0lBR25CLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6RCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdCLG1CQUFtQixDQUFtQztJQUUvRCxtQkFBbUIsR0FBNEIsRUFBRSxDQUFDO0lBQ2xELGtCQUFrQixHQUE0QixFQUFFLENBQUM7SUFNM0QsU0FBUztJQUNB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QUFDLEtBQUssRUFBRSxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sb0JBQW9CLENBQUMsSUFBNkI7UUFDeEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDekMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRVMsTUFBTSxDQUFVLGtCQUFrQixHQUFHLE1BQU0sRUFBRSxDQUFDO3VHQWxPcEMsYUFBYTsyRkFBYixhQUFhOzsyRkFBYixhQUFhO2tCQURsQyxTQUFTOzhCQXFHQyxNQUFNO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBhZnRlclJlbmRlckVmZmVjdCxcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG4gIGNvbXB1dGVkLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbiAgbGlua2VkU2lnbmFsLFxyXG4gIG51bWJlckF0dHJpYnV0ZSxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0LCBSZHRJbnRlcmFjdGl2ZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICdAbmdyZHQvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQXJpYUF0dHJpYnV0ZXMsXHJcbiAgTnVsbGFibGUsXHJcbiAgUmR0U3RyaW5nVXRpbHMsXHJcbiAgV2luZG93T3BlblRhcmdldFR5cGUsXHJcbn0gZnJvbSAnQG5ncmR0L3V0aWxzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIFJEVF9CVVRUT05fREVGQVVMVF9UQUJfSU5ERVgsXHJcbiAgUkRUX0JVVFRPTl9ERUZBVUxUX1RBUkdFVCxcclxufSBmcm9tICcuL3JkdC1idXR0b24tY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUmR0QnV0dG9uQmFzZUludCB9IGZyb20gJy4vcmR0LWJ1dHRvbi1pbnQnO1xyXG5pbXBvcnQgeyBSZHRCdXR0b25Ob3RpZmljYXRpb25TZXJ2aWNlSW50IH0gZnJvbSAnLi9yZHQtYnV0dG9uLW5vdGlmaWNhdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmR0QnV0dG9uQmFzZTxUSWNvbiA9IHN0cmluZz5cclxuICBleHRlbmRzIFJkdEludGVyYWN0aXZlRWxlbWVudENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgUmR0QnV0dG9uQmFzZUludDxUSWNvbj5cclxue1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBlbFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGJhc2VIcmVmID0gaW5qZWN0KFBsYXRmb3JtTG9jYXRpb24pLmdldEJhc2VIcmVmRnJvbURPTSgpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aWZpY2F0aW9uU2VydmljZT86IFJkdEJ1dHRvbk5vdGlmaWNhdGlvblNlcnZpY2VJbnQ7XHJcblxyXG4gIHByb3RlY3RlZCBpbnRlcm5hbERpc2FibGVkTWFwOiBSZWNvcmQ8c3ltYm9sLCBib29sZWFuPiA9IHt9O1xyXG4gIHByb3RlY3RlZCBpbnRlcm5hbExvYWRpbmdNYXA6IFJlY29yZDxzeW1ib2wsIGJvb2xlYW4+ID0ge307XHJcblxyXG4gIGFic3RyYWN0IHJlYWRvbmx5IGZvY3VzRWxlbWVudDogU2lnbmFsPEhUTUxFbGVtZW50IHwgbnVsbD47XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYXJpYUVsZW1lbnQ6IFNpZ25hbDxIVE1MRWxlbWVudCB8IG51bGw+O1xyXG4gIGFic3RyYWN0IHJlYWRvbmx5IGFuY2hvckVsZW1lbnQ6IFNpZ25hbDxIVE1MRWxlbWVudCB8IG51bGw+O1xyXG5cclxuICAvLyBJbnB1dHNcclxuICByZWFkb25seSBwcm9wYWdhdGVJbnB1dCA9IGlucHV0KGZhbHNlLCB7XHJcbiAgICB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXHJcbiAgICBhbGlhczogJ3Byb3BhZ2F0ZScsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgcHJvcGFnYXRlID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMucHJvcGFnYXRlSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IHRhYkluZGV4SW5wdXQgPSBpbnB1dChSRFRfQlVUVE9OX0RFRkFVTFRfVEFCX0lOREVYLCB7XHJcbiAgICB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSxcclxuICAgIGFsaWFzOiAndGFiSW5kZXgnLFxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IHRhYkluZGV4ID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMudGFiSW5kZXhJbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgaHJlZklucHV0ID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkLCB7XHJcbiAgICBhbGlhczogJ2hyZWYnLFxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IGhyZWYgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5ocmVmSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IG5nSHJlZklucHV0ID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkLCB7XHJcbiAgICBhbGlhczogJ25nSHJlZicsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgbmdIcmVmID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMubmdIcmVmSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IHRhcmdldElucHV0ID0gaW5wdXQ8V2luZG93T3BlblRhcmdldFR5cGU+KFxyXG4gICAgUkRUX0JVVFRPTl9ERUZBVUxUX1RBUkdFVCxcclxuICAgIHsgYWxpYXM6ICd0YXJnZXQnIH1cclxuICApO1xyXG4gIHJlYWRvbmx5IHRhcmdldCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnRhcmdldElucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBzdGF0ZVBhcmFtc0lucHV0ID0gaW5wdXQ8TnVsbGFibGU8UGFyYW1zPj4odW5kZWZpbmVkLCB7XHJcbiAgICBhbGlhczogJ3N0YXRlUGFyYW1zJyxcclxuICB9KTtcclxuICByZWFkb25seSBzdGF0ZVBhcmFtcyA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLnN0YXRlUGFyYW1zSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxQYXJhbXM+Pih1bmRlZmluZWQsIHtcclxuICAgIGFsaWFzOiAncXVlcnlQYXJhbXMnLFxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMucXVlcnlQYXJhbXNJbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgZG93bmxvYWRJbnB1dCA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHVuZGVmaW5lZCwge1xyXG4gICAgYWxpYXM6ICdkb3dubG9hZCcsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgZG93bmxvYWQgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5kb3dubG9hZElucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBpY29uSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxUSWNvbj4+KG51bGwsIHtcclxuICAgIGFsaWFzOiAnaWNvbicsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgaWNvbiA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmljb25JbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgbGFiZWxJbnB1dCA9IGlucHV0PE51bGxhYmxlPHN0cmluZz4+KHVuZGVmaW5lZCwge1xyXG4gICAgYWxpYXM6ICdsYWJlbCcsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgbGFiZWwgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5sYWJlbElucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBkYXRhVGVzdElkSW5wdXQgPSBpbnB1dCh1bmRlZmluZWQsIHsgYWxpYXM6ICdkYXRhVGVzdElkJyB9KTtcclxuICByZWFkb25seSBkYXRhVGVzdElkID0gbGlua2VkU2lnbmFsKFxyXG4gICAgKCkgPT4gdGhpcy5kYXRhVGVzdElkSW5wdXQoKSA/PyB0aGlzLmxhYmVsKCkgPz8gJydcclxuICApO1xyXG5cclxuICByZWFkb25seSBvbmxpbmVFbmFibGVkSW5wdXQkID0gaW5wdXQ8TnVsbGFibGU8T2JzZXJ2YWJsZTxib29sZWFuPj4+KG51bGwsIHtcclxuICAgIGFsaWFzOiAnb25saW5lRW5hYmxlZCcsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgb25saW5lRW5hYmxlZCQgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5vbmxpbmVFbmFibGVkSW5wdXQkKCkpO1xyXG5cclxuICByZWFkb25seSBhcmlhSW5wdXQgPSBpbnB1dDxQYXJ0aWFsPEFyaWFBdHRyaWJ1dGVzPj4oe30sIHsgYWxpYXM6ICdhcmlhJyB9KTtcclxuICByZWFkb25seSBhcmlhID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuYXJpYUlucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBocmVmV2l0aFBhcmFtcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGhyZWYgPSB0aGlzLmhyZWYoKTtcclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5xdWVyeVBhcmFtcygpO1xyXG4gICAgaWYgKGhyZWYgJiYgcXVlcnlQYXJhbXMpIHtcclxuICAgICAgcmV0dXJuIFJkdFN0cmluZ1V0aWxzLmFwcGVuZFF1ZXJ5UGFyYW1zKGhyZWYsIHF1ZXJ5UGFyYW1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBocmVmO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYVJlbmRlckVmZmVjdCA9IGFmdGVyUmVuZGVyRWZmZWN0KHtcclxuICAgIHdyaXRlOiAoKSA9PiB0aGlzLnVwZGF0ZUFyaWFBdHRyaWJ1dGVzKHRoaXMuYXJpYSgpKSxcclxuICB9KTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcmVhZG9ubHkgY2xpY2skID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBmb2N1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9jdXNFbGVtZW50KCk/LmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBjYW5Gb2N1cygpOiBSZHRCb29sZWFuUmVzdWx0IHtcclxuICAgIHJldHVybiAhdGhpcy5kaXNhYmxlZCgpICYmICEhdGhpcy5mb2N1c0VsZW1lbnQoKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBvbkNsaWNrZWQoJGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBvbmxpbmVFbmFibGVkJCA9IHRoaXMub25saW5lRW5hYmxlZCQoKTtcclxuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCgpO1xyXG4gICAgaWYgKG9ubGluZUVuYWJsZWQkKSB7XHJcbiAgICAgIGlmIChkaXNhYmxlZCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB0aGlzLnNldERpc2FibGVkU3RhdGUodHJ1ZSwgUmR0QnV0dG9uQmFzZS5PTkxJTkVfRU5BQkxFRF9LRVkpO1xyXG4gICAgICB0aGlzLnNldExvYWRpbmdTdGF0ZSh0cnVlLCBSZHRCdXR0b25CYXNlLk9OTElORV9FTkFCTEVEX0tFWSk7XHJcbiAgICAgIGNvbnN0IG9ic2VydmVyID0ge1xyXG4gICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMub25DbGlja1Blcm1pc3Npb25BbGxvd2VkKCRldmVudCk7XHJcbiAgICAgICAgICB0aGlzLmZpbmlzaE9ubGluZUNoZWNrKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubm90aWZ5QWNjZXNzRGVuaWVkKGVycm9yKTtcclxuICAgICAgICAgIHRoaXMuZmluaXNoT25saW5lQ2hlY2soKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB0aGlzLmZpbmlzaE9ubGluZUNoZWNrKCksXHJcbiAgICAgIH07XHJcbiAgICAgIG9ubGluZUVuYWJsZWQkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKG9ic2VydmVyKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZW1pdEFuZFN0b3BQcm9wKCRldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRBbmRTdG9wUHJvcCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IG5nSHJlZiA9IHRoaXMubmdIcmVmKCk7XHJcbiAgICBjb25zdCBocmVmID0gdGhpcy5ocmVmKCk7XHJcbiAgICBjb25zdCBwcm9wYWdhdGUgPSB0aGlzLnByb3BhZ2F0ZSgpO1xyXG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkKCk7XHJcbiAgICAvLyBzdG9wUHJvcGFnYXRpb24gcHJldmVudHMgcm91dGVyTGlua3MgZnJvbSB3b3JraW5nXHJcbiAgICBpZiAoIXByb3BhZ2F0ZSAmJiAhbmdIcmVmICYmICFocmVmKSB7XHJcbiAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGlmICghZGlzYWJsZWQgJiYgIW5nSHJlZiAmJiAhaHJlZikge1xyXG4gICAgICB0aGlzLmNsaWNrJC5lbWl0KCRldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2xpY2tQZXJtaXNzaW9uQWxsb3dlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHByb3BhZ2F0ZSA9IHRoaXMucHJvcGFnYXRlKCk7XHJcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKTtcclxuICAgIGlmICghcHJvcGFnYXRlKSB7XHJcbiAgICAgICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGlmICghZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5uYXZpZ2F0ZU9yRW1pdCgkZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZpZ2F0ZU9yRW1pdChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgbmdIcmVmID0gdGhpcy5uZ0hyZWYoKTtcclxuICAgIGNvbnN0IGhyZWYgPSB0aGlzLmhyZWYoKTtcclxuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMudGFyZ2V0KCk7XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHRoaXMucXVlcnlQYXJhbXMoKTtcclxuICAgIGNvbnN0IHN0YXRlUGFyYW1zID0gdGhpcy5zdGF0ZVBhcmFtcygpO1xyXG5cclxuICAgIGlmIChuZ0hyZWYpIHtcclxuICAgICAgaWYgKHRhcmdldCAhPT0gJ19zZWxmJykge1xyXG4gICAgICAgIGNvbnN0IGFic29sdXRlUGF0aCA9IFJkdFN0cmluZ1V0aWxzLmNyZWF0ZUFic29sdXRlVXJsKFxyXG4gICAgICAgICAgbmdIcmVmLFxyXG4gICAgICAgICAgdGhpcy5iYXNlSHJlZlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc3QgcGF0aFdpdGhQYXJhbXMgPSBSZHRTdHJpbmdVdGlscy5hcHBlbmRRdWVyeVBhcmFtcyhcclxuICAgICAgICAgIGFic29sdXRlUGF0aCxcclxuICAgICAgICAgIHF1ZXJ5UGFyYW1zXHJcbiAgICAgICAgKTtcclxuICAgICAgICB3aW5kb3cub3BlbihwYXRoV2l0aFBhcmFtcywgdGFyZ2V0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbbmdIcmVmXSwge1xyXG4gICAgICAgICAgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgICAgc3RhdGU6IHN0YXRlUGFyYW1zID8/IHVuZGVmaW5lZCxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChocmVmKSB7XHJcbiAgICAgIGNvbnN0IHBhdGhXaXRoUGFyYW1zID0gUmR0U3RyaW5nVXRpbHMuYXBwZW5kUXVlcnlQYXJhbXMoXHJcbiAgICAgICAgaHJlZixcclxuICAgICAgICBxdWVyeVBhcmFtc1xyXG4gICAgICApO1xyXG4gICAgICB3aW5kb3cub3BlbihwYXRoV2l0aFBhcmFtcywgdGFyZ2V0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xpY2skLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBub3RpZnlBY2Nlc3NEZW5pZWQoZXJyb3I/OiB1bmtub3duKSB7XHJcbiAgICBpZiAodGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLmVycm9yKGVycm9yKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuYWNjZXNzRGVuaWVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluaXNoT25saW5lQ2hlY2soKSB7XHJcbiAgICB0aGlzLnNldERpc2FibGVkU3RhdGUoZmFsc2UsIFJkdEJ1dHRvbkJhc2UuT05MSU5FX0VOQUJMRURfS0VZKTtcclxuICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKGZhbHNlLCBSZHRCdXR0b25CYXNlLk9OTElORV9FTkFCTEVEX0tFWSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUFyaWFBdHRyaWJ1dGVzKGFyaWE6IFBhcnRpYWw8QXJpYUF0dHJpYnV0ZXM+KSB7XHJcbiAgICBjb25zdCBlbCA9IHRoaXMuYXJpYUVsZW1lbnQoKTtcclxuICAgIGlmIChlbCkge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhhcmlhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUoZWwsIGtleSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKGVsLCBrZXksIFN0cmluZyh2YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgc3RhdGljIHJlYWRvbmx5IE9OTElORV9FTkFCTEVEX0tFWSA9IFN5bWJvbCgpO1xyXG59XHJcbiJdfQ==","import { Directive, EventEmitter, inject, Input, Output, ViewContainerRef, } from '@angular/core';\nimport { RDT_BUTTON_BASE_PROVIDER } from '../button/rdt-button-constants';\nimport * as i0 from \"@angular/core\";\nexport class RdtButtonOutletDirective {\n buttonClass = inject(RDT_BUTTON_BASE_PROVIDER);\n _viewContainerRef = inject(ViewContainerRef);\n inputs = {};\n click$ = new EventEmitter();\n get instance() {\n return this._componentRef?.instance;\n }\n _componentRef;\n /**\n * A helper data structure that allows us to track inputs that were part of the\n * ngComponentOutletInputs expression. Tracking inputs is necessary for proper removal of ones\n * that are no longer referenced.\n */\n _inputsUsed = new Map();\n constructor() {\n const injector = this._viewContainerRef.injector;\n this._componentRef = this._viewContainerRef.createComponent(this.buttonClass, {\n injector,\n });\n this.onInputsChanged();\n this._componentRef.instance.click$.subscribe(this.click$);\n }\n /** @nodoc */\n ngOnChanges() {\n this.onInputsChanged();\n }\n onInputsChanged() {\n for (const inputName of Object.keys(this.inputs)) {\n this._inputsUsed.set(inputName, true);\n }\n if (this._componentRef) {\n this._applyInputStateDiff(this._componentRef);\n }\n }\n /** @nodoc */\n _applyInputStateDiff(componentRef) {\n for (const [inputName, touched] of this._inputsUsed) {\n if (!touched) {\n // The input that was previously active no longer exists and needs to be set to undefined.\n componentRef.setInput(inputName, undefined);\n this._inputsUsed.delete(inputName);\n }\n else {\n // Since touched is true, it can be asserted that the inputs object is not empty.\n componentRef.setInput(inputName, this.inputs[inputName]);\n this._inputsUsed.set(inputName, false);\n }\n }\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtButtonOutletDirective, isStandalone: true, selector: \"[rdtButtonOutlet]\", inputs: { inputs: \"inputs\" }, outputs: { click$: \"click$\" }, exportAs: [\"rdtButtonOutlet\"], usesOnChanges: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonOutletDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtButtonOutlet]',\n standalone: true,\n exportAs: 'rdtButtonOutlet',\n }]\n }], ctorParameters: () => [], propDecorators: { inputs: [{\n type: Input\n }], click$: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1vdXRsZXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbGliL2J1dHRvbi1vdXRsZXQvcmR0LWJ1dHRvbi1vdXRsZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFXMUUsTUFBTSxPQUFPLHdCQUF3QjtJQUsxQixXQUFXLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7SUFFdkMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFHOUQsTUFBTSxHQUEyQixFQUFFLENBQUM7SUFHcEMsTUFBTSxHQUFHLElBQUksWUFBWSxFQUFjLENBQUM7SUFFeEMsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBQ08sYUFBYSxDQUF5QjtJQUU5Qzs7OztPQUlHO0lBQ0ssV0FBVyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBRWpEO1FBQ0UsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3pELElBQUksQ0FBQyxXQUFXLEVBQ2hCO1lBQ0UsUUFBUTtTQUNULENBQ3VCLENBQUM7UUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRCxhQUFhO0lBQ2IsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNyQixLQUFLLE1BQU0sU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDakQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsYUFBYTtJQUNMLG9CQUFvQixDQUFDLFlBQW1DO1FBQzlELEtBQUssTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLDBGQUEwRjtnQkFDMUYsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixpRkFBaUY7Z0JBQ2pGLFlBQVksQ0FBQyxRQUFRLENBQ25CLFNBQVMsRUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQWdDLENBQUMsQ0FDOUMsQ0FBQztnQkFDRixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO3VHQXJFVSx3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7d0RBV0MsTUFBTTtzQkFETCxLQUFLO2dCQUlOLE1BQU07c0JBREwsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUkRUX0JVVFRPTl9CQVNFX1BST1ZJREVSIH0gZnJvbSAnLi4vYnV0dG9uL3JkdC1idXR0b24tY29uc3RhbnRzJztcclxuaW1wb3J0IHtcclxuICBSZHRCdXR0b25CYXNlSW5wdXRzSW50LFxyXG4gIFJkdEJ1dHRvbkJhc2VJbnQsXHJcbn0gZnJvbSAnLi4vYnV0dG9uL3JkdC1idXR0b24taW50JztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3JkdEJ1dHRvbk91dGxldF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgZXhwb3J0QXM6ICdyZHRCdXR0b25PdXRsZXQnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmR0QnV0dG9uT3V0bGV0RGlyZWN0aXZlPFxyXG4gIFRCdXR0b24gZXh0ZW5kcyBSZHRCdXR0b25CYXNlSW50LFxyXG4gIFRCdXR0b25JbnB1dHMgZXh0ZW5kcyBSZHRCdXR0b25CYXNlSW5wdXRzSW50ID0gUmR0QnV0dG9uQmFzZUlucHV0c0ludFxyXG4+IGltcGxlbWVudHMgT25DaGFuZ2VzXHJcbntcclxuICByZWFkb25seSBidXR0b25DbGFzcyA9IGluamVjdChSRFRfQlVUVE9OX0JBU0VfUFJPVklERVIpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGlucHV0czogUGFydGlhbDxUQnV0dG9uSW5wdXRzPiA9IHt9O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBjbGljayQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIGdldCBpbnN0YW5jZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRSZWY/Lmluc3RhbmNlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb21wb25lbnRSZWY/OiBDb21wb25lbnRSZWY8VEJ1dHRvbj47XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgaGVscGVyIGRhdGEgc3RydWN0dXJlIHRoYXQgYWxsb3dzIHVzIHRvIHRyYWNrIGlucHV0cyB0aGF0IHdlcmUgcGFydCBvZiB0aGVcclxuICAgKiBuZ0NvbXBvbmVudE91dGxldElucHV0cyBleHByZXNzaW9uLiBUcmFja2luZyBpbnB1dHMgaXMgbmVjZXNzYXJ5IGZvciBwcm9wZXIgcmVtb3ZhbCBvZiBvbmVzXHJcbiAgICogdGhhdCBhcmUgbm8gbG9uZ2VyIHJlZmVyZW5jZWQuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5wdXRzVXNlZCA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fdmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcclxuICAgIHRoaXMuX2NvbXBvbmVudFJlZiA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICB0aGlzLmJ1dHRvbkNsYXNzLFxyXG4gICAgICB7XHJcbiAgICAgICAgaW5qZWN0b3IsXHJcbiAgICAgIH1cclxuICAgICkgYXMgQ29tcG9uZW50UmVmPFRCdXR0b24+O1xyXG4gICAgdGhpcy5vbklucHV0c0NoYW5nZWQoKTtcclxuICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5jbGljayQuc3Vic2NyaWJlKHRoaXMuY2xpY2skKTtcclxuICB9XHJcblxyXG4gIC8qKiBAbm9kb2MgKi9cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMub25JbnB1dHNDaGFuZ2VkKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uSW5wdXRzQ2hhbmdlZCgpIHtcclxuICAgIGZvciAoY29uc3QgaW5wdXROYW1lIG9mIE9iamVjdC5rZXlzKHRoaXMuaW5wdXRzKSkge1xyXG4gICAgICB0aGlzLl9pbnB1dHNVc2VkLnNldChpbnB1dE5hbWUsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLl9hcHBseUlucHV0U3RhdGVEaWZmKHRoaXMuX2NvbXBvbmVudFJlZik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogQG5vZG9jICovXHJcbiAgcHJpdmF0ZSBfYXBwbHlJbnB1dFN0YXRlRGlmZihjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjx1bmtub3duPikge1xyXG4gICAgZm9yIChjb25zdCBbaW5wdXROYW1lLCB0b3VjaGVkXSBvZiB0aGlzLl9pbnB1dHNVc2VkKSB7XHJcbiAgICAgIGlmICghdG91Y2hlZCkge1xyXG4gICAgICAgIC8vIFRoZSBpbnB1dCB0aGF0IHdhcyBwcmV2aW91c2x5IGFjdGl2ZSBubyBsb25nZXIgZXhpc3RzIGFuZCBuZWVkcyB0byBiZSBzZXQgdG8gdW5kZWZpbmVkLlxyXG4gICAgICAgIGNvbXBvbmVudFJlZi5zZXRJbnB1dChpbnB1dE5hbWUsIHVuZGVmaW5lZCk7XHJcbiAgICAgICAgdGhpcy5faW5wdXRzVXNlZC5kZWxldGUoaW5wdXROYW1lKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBTaW5jZSB0b3VjaGVkIGlzIHRydWUsIGl0IGNhbiBiZSBhc3NlcnRlZCB0aGF0IHRoZSBpbnB1dHMgb2JqZWN0IGlzIG5vdCBlbXB0eS5cclxuICAgICAgICBjb21wb25lbnRSZWYuc2V0SW5wdXQoXHJcbiAgICAgICAgICBpbnB1dE5hbWUsXHJcbiAgICAgICAgICB0aGlzLmlucHV0c1tpbnB1dE5hbWUgYXMga2V5b2YgVEJ1dHRvbklucHV0c11cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuX2lucHV0c1VzZWQuc2V0KGlucHV0TmFtZSwgZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbmdyZHQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngrdt-button.mjs","sources":["../tmp-esm2022/lib/providers/rdt-button-base-provider.js","../tmp-esm2022/lib/button-outlet/rdt-button-outlet.directive.js","../tmp-esm2022/lib/button/rdt-button-constants.js","../tmp-esm2022/lib/button/rdt-button-base.js","../tmp-esm2022/ngrdt-button.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const RDT_BUTTON_BASE_PROVIDER = new InjectionToken('RdtButton');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1iYXNlLXByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbGliL3Byb3ZpZGVycy9yZHQtYnV0dG9uLWJhc2UtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLGNBQWMsQ0FFeEQsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0QnV0dG9uQmFzZUludCB9IGZyb20gJy4uL2J1dHRvbi9yZHQtYnV0dG9uLWludCc7XG5cbmV4cG9ydCBjb25zdCBSRFRfQlVUVE9OX0JBU0VfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIFR5cGU8UmR0QnV0dG9uQmFzZUludD5cbj4oJ1JkdEJ1dHRvbicpO1xuIl19","import { Directive, inject, output } from '@angular/core';\nimport { RdtComponentOutletDirective } from '@ngrdt/core';\nimport { RDT_BUTTON_BASE_PROVIDER } from '../providers/rdt-button-base-provider';\nimport * as i0 from \"@angular/core\";\nexport class RdtButtonOutletDirective extends RdtComponentOutletDirective {\n componentClass = inject(RDT_BUTTON_BASE_PROVIDER);\n click$ = output();\n constructor() {\n super();\n this.initComponentRef();\n this.componentRef?.instance.click$.subscribe((evt) => this.click$.emit(evt));\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonOutletDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.0\", type: RdtButtonOutletDirective, isStandalone: true, selector: \"[rdtButtonOutlet]\", outputs: { click$: \"click$\" }, exportAs: [\"rdtButtonOutlet\"], usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonOutletDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdtButtonOutlet]',\n standalone: true,\n exportAs: 'rdtButtonOutlet',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1vdXRsZXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbGliL2J1dHRvbi1vdXRsZXQvcmR0LWJ1dHRvbi1vdXRsZXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFLMUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBT2pGLE1BQU0sT0FBTyx3QkFHWCxTQUFRLDJCQUFtRDtJQUNsRCxjQUFjLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFrQixDQUFDO0lBQ25FLE1BQU0sR0FBRyxNQUFNLEVBQWMsQ0FBQztJQUV2QztRQUNFLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ25ELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUN0QixDQUFDO0lBQ0osQ0FBQzt1R0FiVSx3QkFBd0I7MkZBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgb3V0cHV0LCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJkdENvbXBvbmVudE91dGxldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3JkdC9jb3JlJztcclxuaW1wb3J0IHtcclxuICBSZHRCdXR0b25CYXNlSW5wdXRzSW50LFxyXG4gIFJkdEJ1dHRvbkJhc2VJbnQsXHJcbn0gZnJvbSAnLi4vYnV0dG9uL3JkdC1idXR0b24taW50JztcclxuaW1wb3J0IHsgUkRUX0JVVFRPTl9CQVNFX1BST1ZJREVSIH0gZnJvbSAnLi4vcHJvdmlkZXJzL3JkdC1idXR0b24tYmFzZS1wcm92aWRlcic7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tyZHRCdXR0b25PdXRsZXRdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGV4cG9ydEFzOiAncmR0QnV0dG9uT3V0bGV0JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkdEJ1dHRvbk91dGxldERpcmVjdGl2ZTxcclxuICBUQnV0dG9uIGV4dGVuZHMgUmR0QnV0dG9uQmFzZUludCxcclxuICBUQnV0dG9uSW5wdXRzIGV4dGVuZHMgUmR0QnV0dG9uQmFzZUlucHV0c0ludCA9IFJkdEJ1dHRvbkJhc2VJbnB1dHNJbnRcclxuPiBleHRlbmRzIFJkdENvbXBvbmVudE91dGxldERpcmVjdGl2ZTxUQnV0dG9uLCBUQnV0dG9uSW5wdXRzPiB7XHJcbiAgcmVhZG9ubHkgY29tcG9uZW50Q2xhc3MgPSBpbmplY3QoUkRUX0JVVFRPTl9CQVNFX1BST1ZJREVSKSBhcyBUeXBlPFRCdXR0b24+O1xyXG4gIHJlYWRvbmx5IGNsaWNrJCA9IG91dHB1dDxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmluaXRDb21wb25lbnRSZWYoKTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmPy5pbnN0YW5jZS5jbGljayQuc3Vic2NyaWJlKChldnQpID0+XHJcbiAgICAgIHRoaXMuY2xpY2skLmVtaXQoZXZ0KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19","export const RDT_BUTTON_SETTER_KEY = Symbol();\nexport const RDT_BUTTON_DEFAULT_PROPAGATE = false;\nexport const RDT_BUTTON_DEFAULT_TARGET = '_self';\nexport const RDT_BUTTON_DEFAULT_TAB_INDEX = null;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvYnV0dG9uL3NyYy9saWIvYnV0dG9uL3JkdC1idXR0b24tY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQzlDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEtBQUssQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxPQUFPLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFJEVF9CVVRUT05fU0VUVEVSX0tFWSA9IFN5bWJvbCgpO1xyXG5leHBvcnQgY29uc3QgUkRUX0JVVFRPTl9ERUZBVUxUX1BST1BBR0FURSA9IGZhbHNlO1xyXG5leHBvcnQgY29uc3QgUkRUX0JVVFRPTl9ERUZBVUxUX1RBUkdFVCA9ICdfc2VsZic7XHJcbmV4cG9ydCBjb25zdCBSRFRfQlVUVE9OX0RFRkFVTFRfVEFCX0lOREVYID0gbnVsbDtcclxuIl19","import { PlatformLocation } from '@angular/common';\nimport { afterRenderEffect, booleanAttribute, computed, Directive, ElementRef, EventEmitter, inject, input, linkedSignal, numberAttribute, Output, Renderer2, } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { RdtInteractiveElementComponent } from '@ngrdt/core';\nimport { RdtStringUtils, } from '@ngrdt/utils';\nimport { take } from 'rxjs';\nimport { RDT_BUTTON_DEFAULT_TAB_INDEX, RDT_BUTTON_DEFAULT_TARGET, } from './rdt-button-constants';\nimport * as i0 from \"@angular/core\";\nexport class RdtButtonBase extends RdtInteractiveElementComponent {\n elRef = inject(ElementRef);\n router = inject(Router);\n baseHref = inject(PlatformLocation).getBaseHrefFromDOM();\n renderer = inject(Renderer2);\n notificationService;\n internalDisabledMap = {};\n internalLoadingMap = {};\n // Inputs\n propagateInput = input(false, {\n transform: booleanAttribute,\n alias: 'propagate',\n });\n propagate = linkedSignal(() => this.propagateInput());\n tabIndexInput = input(RDT_BUTTON_DEFAULT_TAB_INDEX, {\n transform: numberAttribute,\n alias: 'tabIndex',\n });\n tabIndex = linkedSignal(() => this.tabIndexInput());\n hrefInput = input(undefined, {\n alias: 'href',\n });\n href = linkedSignal(() => this.hrefInput());\n ngHrefInput = input(undefined, {\n alias: 'ngHref',\n });\n ngHref = linkedSignal(() => this.ngHrefInput());\n targetInput = input(RDT_BUTTON_DEFAULT_TARGET, { alias: 'target' });\n target = linkedSignal(() => this.targetInput());\n stateParamsInput = input(undefined, {\n alias: 'stateParams',\n });\n stateParams = linkedSignal(() => this.stateParamsInput());\n queryParamsInput = input(undefined, {\n alias: 'queryParams',\n });\n queryParams = linkedSignal(() => this.queryParamsInput());\n downloadInput = input(undefined, {\n alias: 'download',\n });\n download = linkedSignal(() => this.downloadInput());\n iconInput = input(null, {\n alias: 'icon',\n });\n icon = linkedSignal(() => this.iconInput());\n labelInput = input(undefined, {\n alias: 'label',\n });\n label = linkedSignal(() => this.labelInput());\n dataTestIdInput = input(undefined, { alias: 'dataTestId' });\n dataTestId = linkedSignal(() => this.dataTestIdInput() ?? this.label() ?? '');\n onlineEnabledInput$ = input(null, {\n alias: 'onlineEnabled',\n });\n onlineEnabled$ = linkedSignal(() => this.onlineEnabledInput$());\n ariaInput = input({}, { alias: 'aria' });\n aria = linkedSignal(() => this.ariaInput());\n hrefWithParams = computed(() => {\n const href = this.href();\n const queryParams = this.queryParams();\n if (href && queryParams) {\n return RdtStringUtils.appendQueryParams(href, queryParams);\n }\n else {\n return href;\n }\n });\n ariaRenderEffect = afterRenderEffect({\n write: () => this.updateAriaAttributes(this.aria()),\n });\n click$ = new EventEmitter();\n focus() {\n this.focusElement()?.focus();\n }\n canFocus() {\n return !this.disabled() && !!this.focusElement();\n }\n onClicked($event) {\n const onlineEnabled$ = this.onlineEnabled$();\n const disabled = this.disabled();\n if (onlineEnabled$) {\n if (disabled) {\n return;\n }\n $event.stopPropagation();\n this.setDisabledState(true, RdtButtonBase.ONLINE_ENABLED_KEY);\n this.setLoadingState(true, RdtButtonBase.ONLINE_ENABLED_KEY);\n const observer = {\n next: () => {\n this.onClickPermissionAllowed($event);\n this.finishOnlineCheck();\n },\n error: (error) => {\n this.notifyAccessDenied(error);\n this.finishOnlineCheck();\n },\n complete: () => this.finishOnlineCheck(),\n };\n onlineEnabled$.pipe(take(1)).subscribe(observer);\n }\n else {\n this.emitAndStopProp($event);\n }\n }\n emitAndStopProp($event) {\n const ngHref = this.ngHref();\n const href = this.href();\n const propagate = this.propagate();\n const disabled = this.disabled();\n // stopPropagation prevents routerLinks from working\n if (!propagate && !ngHref && !href) {\n $event.stopPropagation();\n }\n if (!disabled && !ngHref && !href) {\n this.click$.emit($event);\n }\n }\n onClickPermissionAllowed($event) {\n const propagate = this.propagate();\n const disabled = this.disabled();\n if (!propagate) {\n $event.stopPropagation();\n }\n if (!disabled) {\n this.navigateOrEmit($event);\n }\n }\n navigateOrEmit(event) {\n const ngHref = this.ngHref();\n const href = this.href();\n const target = this.target();\n const queryParams = this.queryParams();\n const stateParams = this.stateParams();\n if (ngHref) {\n if (target !== '_self') {\n const absolutePath = RdtStringUtils.createAbsoluteUrl(ngHref, this.baseHref);\n const pathWithParams = RdtStringUtils.appendQueryParams(absolutePath, queryParams);\n window.open(pathWithParams, target);\n }\n else {\n this.router.navigate([ngHref], {\n queryParams: queryParams,\n state: stateParams ?? undefined,\n });\n }\n }\n else if (href) {\n const pathWithParams = RdtStringUtils.appendQueryParams(href, queryParams);\n window.open(pathWithParams, target);\n }\n else {\n this.click$.emit(event);\n }\n }\n notifyAccessDenied(error) {\n if (this.notificationService) {\n if (typeof error === 'string') {\n this.notificationService.error(error);\n }\n else {\n this.notificationService.accessDenied();\n }\n }\n }\n finishOnlineCheck() {\n this.setDisabledState(false, RdtButtonBase.ONLINE_ENABLED_KEY);\n this.setLoadingState(false, RdtButtonBase.ONLINE_ENABLED_KEY);\n }\n updateAriaAttributes(aria) {\n const el = this.ariaElement();\n if (el) {\n Object.entries(aria).forEach(([key, value]) => {\n if (value === null || value === undefined) {\n this.renderer.removeAttribute(el, key);\n }\n else {\n this.renderer.setAttribute(el, key, String(value));\n }\n });\n }\n }\n static ONLINE_ENABLED_KEY = Symbol();\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonBase, deps: null, target: i0.ɵɵFactoryTarget.Directive });\n static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.0\", type: RdtButtonBase, isStandalone: true, inputs: { propagateInput: { classPropertyName: \"propagateInput\", publicName: \"propagate\", isSignal: true, isRequired: false, transformFunction: null }, tabIndexInput: { classPropertyName: \"tabIndexInput\", publicName: \"tabIndex\", isSignal: true, isRequired: false, transformFunction: null }, hrefInput: { classPropertyName: \"hrefInput\", publicName: \"href\", isSignal: true, isRequired: false, transformFunction: null }, ngHrefInput: { classPropertyName: \"ngHrefInput\", publicName: \"ngHref\", isSignal: true, isRequired: false, transformFunction: null }, targetInput: { classPropertyName: \"targetInput\", publicName: \"target\", isSignal: true, isRequired: false, transformFunction: null }, stateParamsInput: { classPropertyName: \"stateParamsInput\", publicName: \"stateParams\", isSignal: true, isRequired: false, transformFunction: null }, queryParamsInput: { classPropertyName: \"queryParamsInput\", publicName: \"queryParams\", isSignal: true, isRequired: false, transformFunction: null }, downloadInput: { classPropertyName: \"downloadInput\", publicName: \"download\", isSignal: true, isRequired: false, transformFunction: null }, iconInput: { classPropertyName: \"iconInput\", publicName: \"icon\", isSignal: true, isRequired: false, transformFunction: null }, labelInput: { classPropertyName: \"labelInput\", publicName: \"label\", isSignal: true, isRequired: false, transformFunction: null }, dataTestIdInput: { classPropertyName: \"dataTestIdInput\", publicName: \"dataTestId\", isSignal: true, isRequired: false, transformFunction: null }, onlineEnabledInput$: { classPropertyName: \"onlineEnabledInput$\", publicName: \"onlineEnabled\", isSignal: true, isRequired: false, transformFunction: null }, ariaInput: { classPropertyName: \"ariaInput\", publicName: \"aria\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click$: \"click$\" }, usesInheritance: true, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.0\", ngImport: i0, type: RdtButtonBase, decorators: [{\n type: Directive\n }], propDecorators: { click$: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJ1dHRvbi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbGliL2J1dHRvbi9yZHQtYnV0dG9uLWJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLGVBQWUsRUFDZixNQUFNLEVBQ04sU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQW9CLDhCQUE4QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFHTCxjQUFjLEdBRWYsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHlCQUF5QixHQUMxQixNQUFNLHdCQUF3QixDQUFDOztBQUloQyxNQUFNLE9BQWdCLGFBQ3BCLFNBQVEsOEJBQThCO0lBR25CLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDM0IsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QixRQUFRLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUN6RCxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTdCLG1CQUFtQixDQUFtQztJQUUvRCxtQkFBbUIsR0FBNEIsRUFBRSxDQUFDO0lBQ2xELGtCQUFrQixHQUE0QixFQUFFLENBQUM7SUFNM0QsU0FBUztJQUNB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QUFDLEtBQUssRUFBRSxhQUFhLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU8sb0JBQW9CLENBQUMsSUFBNkI7UUFDeEQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzlCLElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDekMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3JELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRVMsTUFBTSxDQUFVLGtCQUFrQixHQUFHLE1BQU0sRUFBRSxDQUFDO3VHQWxPcEMsYUFBYTsyRkFBYixhQUFhOzsyRkFBYixhQUFhO2tCQURsQyxTQUFTOzhCQXFHQyxNQUFNO3NCQURkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGF0Zm9ybUxvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBhZnRlclJlbmRlckVmZmVjdCxcclxuICBib29sZWFuQXR0cmlidXRlLFxyXG4gIGNvbXB1dGVkLFxyXG4gIERpcmVjdGl2ZSxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbiAgbGlua2VkU2lnbmFsLFxyXG4gIG51bWJlckF0dHJpYnV0ZSxcclxuICBPdXRwdXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpZ25hbCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFyYW1zLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0LCBSZHRJbnRlcmFjdGl2ZUVsZW1lbnRDb21wb25lbnQgfSBmcm9tICdAbmdyZHQvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQXJpYUF0dHJpYnV0ZXMsXHJcbiAgTnVsbGFibGUsXHJcbiAgUmR0U3RyaW5nVXRpbHMsXHJcbiAgV2luZG93T3BlblRhcmdldFR5cGUsXHJcbn0gZnJvbSAnQG5ncmR0L3V0aWxzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSZHRCdXR0b25Ob3RpZmljYXRpb25TZXJ2aWNlSW50IH0gZnJvbSAnLi4vcHJvdmlkZXJzL3JkdC1idXR0b24tbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIFJEVF9CVVRUT05fREVGQVVMVF9UQUJfSU5ERVgsXHJcbiAgUkRUX0JVVFRPTl9ERUZBVUxUX1RBUkdFVCxcclxufSBmcm9tICcuL3JkdC1idXR0b24tY29uc3RhbnRzJztcclxuaW1wb3J0IHsgUmR0QnV0dG9uQmFzZUludCB9IGZyb20gJy4vcmR0LWJ1dHRvbi1pbnQnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZHRCdXR0b25CYXNlPFRJY29uID0gc3RyaW5nPlxyXG4gIGV4dGVuZHMgUmR0SW50ZXJhY3RpdmVFbGVtZW50Q29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBSZHRCdXR0b25CYXNlSW50PFRJY29uPlxyXG57XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVsUmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYmFzZUhyZWYgPSBpbmplY3QoUGxhdGZvcm1Mb2NhdGlvbikuZ2V0QmFzZUhyZWZGcm9tRE9NKCk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBub3RpZmljYXRpb25TZXJ2aWNlPzogUmR0QnV0dG9uTm90aWZpY2F0aW9uU2VydmljZUludDtcclxuXHJcbiAgcHJvdGVjdGVkIGludGVybmFsRGlzYWJsZWRNYXA6IFJlY29yZDxzeW1ib2wsIGJvb2xlYW4+ID0ge307XHJcbiAgcHJvdGVjdGVkIGludGVybmFsTG9hZGluZ01hcDogUmVjb3JkPHN5bWJvbCwgYm9vbGVhbj4gPSB7fTtcclxuXHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgZm9jdXNFbGVtZW50OiBTaWduYWw8SFRNTEVsZW1lbnQgfCBudWxsPjtcclxuICBhYnN0cmFjdCByZWFkb25seSBhcmlhRWxlbWVudDogU2lnbmFsPEhUTUxFbGVtZW50IHwgbnVsbD47XHJcbiAgYWJzdHJhY3QgcmVhZG9ubHkgYW5jaG9yRWxlbWVudDogU2lnbmFsPEhUTUxFbGVtZW50IHwgbnVsbD47XHJcblxyXG4gIC8vIElucHV0c1xyXG4gIHJlYWRvbmx5IHByb3BhZ2F0ZUlucHV0ID0gaW5wdXQoZmFsc2UsIHtcclxuICAgIHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcclxuICAgIGFsaWFzOiAncHJvcGFnYXRlJyxcclxuICB9KTtcclxuICByZWFkb25seSBwcm9wYWdhdGUgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5wcm9wYWdhdGVJbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgdGFiSW5kZXhJbnB1dCA9IGlucHV0KFJEVF9CVVRUT05fREVGQVVMVF9UQUJfSU5ERVgsIHtcclxuICAgIHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlLFxyXG4gICAgYWxpYXM6ICd0YWJJbmRleCcsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgdGFiSW5kZXggPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy50YWJJbmRleElucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBocmVmSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQsIHtcclxuICAgIGFsaWFzOiAnaHJlZicsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgaHJlZiA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmhyZWZJbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgbmdIcmVmSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxzdHJpbmc+Pih1bmRlZmluZWQsIHtcclxuICAgIGFsaWFzOiAnbmdIcmVmJyxcclxuICB9KTtcclxuICByZWFkb25seSBuZ0hyZWYgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5uZ0hyZWZJbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgdGFyZ2V0SW5wdXQgPSBpbnB1dDxXaW5kb3dPcGVuVGFyZ2V0VHlwZT4oXHJcbiAgICBSRFRfQlVUVE9OX0RFRkFVTFRfVEFSR0VULFxyXG4gICAgeyBhbGlhczogJ3RhcmdldCcgfVxyXG4gICk7XHJcbiAgcmVhZG9ubHkgdGFyZ2V0ID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMudGFyZ2V0SW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IHN0YXRlUGFyYW1zSW5wdXQgPSBpbnB1dDxOdWxsYWJsZTxQYXJhbXM+Pih1bmRlZmluZWQsIHtcclxuICAgIGFsaWFzOiAnc3RhdGVQYXJhbXMnLFxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IHN0YXRlUGFyYW1zID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuc3RhdGVQYXJhbXNJbnB1dCgpKTtcclxuXHJcbiAgcmVhZG9ubHkgcXVlcnlQYXJhbXNJbnB1dCA9IGlucHV0PE51bGxhYmxlPFBhcmFtcz4+KHVuZGVmaW5lZCwge1xyXG4gICAgYWxpYXM6ICdxdWVyeVBhcmFtcycsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgcXVlcnlQYXJhbXMgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5xdWVyeVBhcmFtc0lucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBkb3dubG9hZElucHV0ID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkLCB7XHJcbiAgICBhbGlhczogJ2Rvd25sb2FkJyxcclxuICB9KTtcclxuICByZWFkb25seSBkb3dubG9hZCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmRvd25sb2FkSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IGljb25JbnB1dCA9IGlucHV0PE51bGxhYmxlPFRJY29uPj4obnVsbCwge1xyXG4gICAgYWxpYXM6ICdpY29uJyxcclxuICB9KTtcclxuICByZWFkb25seSBpY29uID0gbGlua2VkU2lnbmFsKCgpID0+IHRoaXMuaWNvbklucHV0KCkpO1xyXG5cclxuICByZWFkb25seSBsYWJlbElucHV0ID0gaW5wdXQ8TnVsbGFibGU8c3RyaW5nPj4odW5kZWZpbmVkLCB7XHJcbiAgICBhbGlhczogJ2xhYmVsJyxcclxuICB9KTtcclxuICByZWFkb25seSBsYWJlbCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLmxhYmVsSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IGRhdGFUZXN0SWRJbnB1dCA9IGlucHV0KHVuZGVmaW5lZCwgeyBhbGlhczogJ2RhdGFUZXN0SWQnIH0pO1xyXG4gIHJlYWRvbmx5IGRhdGFUZXN0SWQgPSBsaW5rZWRTaWduYWwoXHJcbiAgICAoKSA9PiB0aGlzLmRhdGFUZXN0SWRJbnB1dCgpID8/IHRoaXMubGFiZWwoKSA/PyAnJ1xyXG4gICk7XHJcblxyXG4gIHJlYWRvbmx5IG9ubGluZUVuYWJsZWRJbnB1dCQgPSBpbnB1dDxOdWxsYWJsZTxPYnNlcnZhYmxlPGJvb2xlYW4+Pj4obnVsbCwge1xyXG4gICAgYWxpYXM6ICdvbmxpbmVFbmFibGVkJyxcclxuICB9KTtcclxuICByZWFkb25seSBvbmxpbmVFbmFibGVkJCA9IGxpbmtlZFNpZ25hbCgoKSA9PiB0aGlzLm9ubGluZUVuYWJsZWRJbnB1dCQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IGFyaWFJbnB1dCA9IGlucHV0PFBhcnRpYWw8QXJpYUF0dHJpYnV0ZXM+Pih7fSwgeyBhbGlhczogJ2FyaWEnIH0pO1xyXG4gIHJlYWRvbmx5IGFyaWEgPSBsaW5rZWRTaWduYWwoKCkgPT4gdGhpcy5hcmlhSW5wdXQoKSk7XHJcblxyXG4gIHJlYWRvbmx5IGhyZWZXaXRoUGFyYW1zID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgY29uc3QgaHJlZiA9IHRoaXMuaHJlZigpO1xyXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB0aGlzLnF1ZXJ5UGFyYW1zKCk7XHJcbiAgICBpZiAoaHJlZiAmJiBxdWVyeVBhcmFtcykge1xyXG4gICAgICByZXR1cm4gUmR0U3RyaW5nVXRpbHMuYXBwZW5kUXVlcnlQYXJhbXMoaHJlZiwgcXVlcnlQYXJhbXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGhyZWY7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIHByb3RlY3RlZCByZWFkb25seSBhcmlhUmVuZGVyRWZmZWN0ID0gYWZ0ZXJSZW5kZXJFZmZlY3Qoe1xyXG4gICAgd3JpdGU6ICgpID0+IHRoaXMudXBkYXRlQXJpYUF0dHJpYnV0ZXModGhpcy5hcmlhKCkpLFxyXG4gIH0pO1xyXG5cclxuICBAT3V0cHV0KClcclxuICByZWFkb25seSBjbGljayQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIGZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb2N1c0VsZW1lbnQoKT8uZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGNhbkZvY3VzKCk6IFJkdEJvb2xlYW5SZXN1bHQge1xyXG4gICAgcmV0dXJuICF0aGlzLmRpc2FibGVkKCkgJiYgISF0aGlzLmZvY3VzRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIG9uQ2xpY2tlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IG9ubGluZUVuYWJsZWQkID0gdGhpcy5vbmxpbmVFbmFibGVkJCgpO1xyXG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkKCk7XHJcbiAgICBpZiAob25saW5lRW5hYmxlZCQpIHtcclxuICAgICAgaWYgKGRpc2FibGVkKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0cnVlLCBSZHRCdXR0b25CYXNlLk9OTElORV9FTkFCTEVEX0tFWSk7XHJcbiAgICAgIHRoaXMuc2V0TG9hZGluZ1N0YXRlKHRydWUsIFJkdEJ1dHRvbkJhc2UuT05MSU5FX0VOQUJMRURfS0VZKTtcclxuICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSB7XHJcbiAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5vbkNsaWNrUGVybWlzc2lvbkFsbG93ZWQoJGV2ZW50KTtcclxuICAgICAgICAgIHRoaXMuZmluaXNoT25saW5lQ2hlY2soKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZnlBY2Nlc3NEZW5pZWQoZXJyb3IpO1xyXG4gICAgICAgICAgdGhpcy5maW5pc2hPbmxpbmVDaGVjaygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHRoaXMuZmluaXNoT25saW5lQ2hlY2soKSxcclxuICAgICAgfTtcclxuICAgICAgb25saW5lRW5hYmxlZCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUob2JzZXJ2ZXIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbWl0QW5kU3RvcFByb3AoJGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdEFuZFN0b3BQcm9wKCRldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgbmdIcmVmID0gdGhpcy5uZ0hyZWYoKTtcclxuICAgIGNvbnN0IGhyZWYgPSB0aGlzLmhyZWYoKTtcclxuICAgIGNvbnN0IHByb3BhZ2F0ZSA9IHRoaXMucHJvcGFnYXRlKCk7XHJcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQoKTtcclxuICAgIC8vIHN0b3BQcm9wYWdhdGlvbiBwcmV2ZW50cyByb3V0ZXJMaW5rcyBmcm9tIHdvcmtpbmdcclxuICAgIGlmICghcHJvcGFnYXRlICYmICFuZ0hyZWYgJiYgIWhyZWYpIHtcclxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkaXNhYmxlZCAmJiAhbmdIcmVmICYmICFocmVmKSB7XHJcbiAgICAgIHRoaXMuY2xpY2skLmVtaXQoJGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DbGlja1Blcm1pc3Npb25BbGxvd2VkKCRldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgcHJvcGFnYXRlID0gdGhpcy5wcm9wYWdhdGUoKTtcclxuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5kaXNhYmxlZCgpO1xyXG4gICAgaWYgKCFwcm9wYWdhdGUpIHtcclxuICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgaWYgKCFkaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLm5hdmlnYXRlT3JFbWl0KCRldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5hdmlnYXRlT3JFbWl0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCBuZ0hyZWYgPSB0aGlzLm5nSHJlZigpO1xyXG4gICAgY29uc3QgaHJlZiA9IHRoaXMuaHJlZigpO1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gdGhpcy50YXJnZXQoKTtcclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5xdWVyeVBhcmFtcygpO1xyXG4gICAgY29uc3Qgc3RhdGVQYXJhbXMgPSB0aGlzLnN0YXRlUGFyYW1zKCk7XHJcblxyXG4gICAgaWYgKG5nSHJlZikge1xyXG4gICAgICBpZiAodGFyZ2V0ICE9PSAnX3NlbGYnKSB7XHJcbiAgICAgICAgY29uc3QgYWJzb2x1dGVQYXRoID0gUmR0U3RyaW5nVXRpbHMuY3JlYXRlQWJzb2x1dGVVcmwoXHJcbiAgICAgICAgICBuZ0hyZWYsXHJcbiAgICAgICAgICB0aGlzLmJhc2VIcmVmXHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zdCBwYXRoV2l0aFBhcmFtcyA9IFJkdFN0cmluZ1V0aWxzLmFwcGVuZFF1ZXJ5UGFyYW1zKFxyXG4gICAgICAgICAgYWJzb2x1dGVQYXRoLFxyXG4gICAgICAgICAgcXVlcnlQYXJhbXNcclxuICAgICAgICApO1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKHBhdGhXaXRoUGFyYW1zLCB0YXJnZXQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtuZ0hyZWZdLCB7XHJcbiAgICAgICAgICBxdWVyeVBhcmFtczogcXVlcnlQYXJhbXMsXHJcbiAgICAgICAgICBzdGF0ZTogc3RhdGVQYXJhbXMgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGhyZWYpIHtcclxuICAgICAgY29uc3QgcGF0aFdpdGhQYXJhbXMgPSBSZHRTdHJpbmdVdGlscy5hcHBlbmRRdWVyeVBhcmFtcyhcclxuICAgICAgICBocmVmLFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zXHJcbiAgICAgICk7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHBhdGhXaXRoUGFyYW1zLCB0YXJnZXQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGljayQuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG5vdGlmeUFjY2Vzc0RlbmllZChlcnJvcj86IHVua25vd24pIHtcclxuICAgIGlmICh0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgICAgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICB0aGlzLm5vdGlmaWNhdGlvblNlcnZpY2UuZXJyb3IoZXJyb3IpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubm90aWZpY2F0aW9uU2VydmljZS5hY2Nlc3NEZW5pZWQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5pc2hPbmxpbmVDaGVjaygpIHtcclxuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShmYWxzZSwgUmR0QnV0dG9uQmFzZS5PTkxJTkVfRU5BQkxFRF9LRVkpO1xyXG4gICAgdGhpcy5zZXRMb2FkaW5nU3RhdGUoZmFsc2UsIFJkdEJ1dHRvbkJhc2UuT05MSU5FX0VOQUJMRURfS0VZKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQXJpYUF0dHJpYnV0ZXMoYXJpYTogUGFydGlhbDxBcmlhQXR0cmlidXRlcz4pIHtcclxuICAgIGNvbnN0IGVsID0gdGhpcy5hcmlhRWxlbWVudCgpO1xyXG4gICAgaWYgKGVsKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGFyaWEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUF0dHJpYnV0ZShlbCwga2V5KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWwsIGtleSwgU3RyaW5nKHZhbHVlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzdGF0aWMgcmVhZG9ubHkgT05MSU5FX0VOQUJMRURfS0VZID0gU3ltYm9sKCk7XHJcbn1cclxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtYnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vQG5ncmR0L2J1dHRvbi9zcmMvbmdyZHQtYnV0dG9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { Signal, ElementRef, Renderer2, EventEmitter, InjectionToken, Type, OnChanges } from '@angular/core';
2
+ import { Signal, Type, ElementRef, Renderer2, EventEmitter, InjectionToken } from '@angular/core';
3
+ import { RdtInteractiveElementComponent, RdtLinkedState, RdtComponentOutletDirective, RdtBooleanResult } from '@ngrdt/core';
3
4
  import { Params, Router } from '@angular/router';
4
- import { RdtInteractiveElementComponent, RdtLinkedState, RdtBooleanResult } from '@ngrdt/core';
5
5
  import { Nullable, WindowOpenTargetType, AriaAttributes } from '@ngrdt/utils';
6
6
  import { Observable } from 'rxjs';
7
7
 
@@ -28,6 +28,14 @@ interface RdtButtonBaseInt<TIcon = string> extends RdtInteractiveElementComponen
28
28
  focus(): void;
29
29
  }
30
30
 
31
+ declare class RdtButtonOutletDirective<TButton extends RdtButtonBaseInt, TButtonInputs extends RdtButtonBaseInputsInt = RdtButtonBaseInputsInt> extends RdtComponentOutletDirective<TButton, TButtonInputs> {
32
+ readonly componentClass: Type<TButton>;
33
+ readonly click$: _angular_core.OutputEmitterRef<MouseEvent>;
34
+ constructor();
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdtButtonOutletDirective<any, any>, never>;
36
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdtButtonOutletDirective<any, any>, "[rdtButtonOutlet]", ["rdtButtonOutlet"], {}, { "click$": "click$"; }, never, never, true, never>;
37
+ }
38
+
31
39
  interface RdtButtonNotificationServiceInt {
32
40
  error(message: string): void;
33
41
  accessDenied(): void;
@@ -91,30 +99,8 @@ declare const RDT_BUTTON_SETTER_KEY: unique symbol;
91
99
  declare const RDT_BUTTON_DEFAULT_PROPAGATE = false;
92
100
  declare const RDT_BUTTON_DEFAULT_TARGET = "_self";
93
101
  declare const RDT_BUTTON_DEFAULT_TAB_INDEX: null;
94
- declare const RDT_BUTTON_BASE_PROVIDER: InjectionToken<Type<RdtButtonBaseInt<string>>>;
95
102
 
96
- declare class RdtButtonOutletDirective<TButton extends RdtButtonBaseInt, TButtonInputs extends RdtButtonBaseInputsInt = RdtButtonBaseInputsInt> implements OnChanges {
97
- readonly buttonClass: _angular_core.Type<RdtButtonBaseInt<string>>;
98
- private readonly _viewContainerRef;
99
- inputs: Partial<TButtonInputs>;
100
- click$: EventEmitter<MouseEvent>;
101
- get instance(): TButton | undefined;
102
- private _componentRef?;
103
- /**
104
- * A helper data structure that allows us to track inputs that were part of the
105
- * ngComponentOutletInputs expression. Tracking inputs is necessary for proper removal of ones
106
- * that are no longer referenced.
107
- */
108
- private _inputsUsed;
109
- constructor();
110
- /** @nodoc */
111
- ngOnChanges(): void;
112
- private onInputsChanged;
113
- /** @nodoc */
114
- private _applyInputStateDiff;
115
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RdtButtonOutletDirective<any, any>, never>;
116
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RdtButtonOutletDirective<any, any>, "[rdtButtonOutlet]", ["rdtButtonOutlet"], { "inputs": { "alias": "inputs"; "required": false; }; }, { "click$": "click$"; }, never, never, true, never>;
117
- }
103
+ declare const RDT_BUTTON_BASE_PROVIDER: InjectionToken<Type<RdtButtonBaseInt<string>>>;
118
104
 
119
105
  export { RDT_BUTTON_BASE_PROVIDER, RDT_BUTTON_DEFAULT_PROPAGATE, RDT_BUTTON_DEFAULT_TAB_INDEX, RDT_BUTTON_DEFAULT_TARGET, RDT_BUTTON_SETTER_KEY, RdtButtonBase, RdtButtonOutletDirective };
120
106
  export type { RdtButtonBaseInputsInt, RdtButtonBaseInt, RdtButtonNotificationServiceInt };
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@ngrdt/button",
3
- "version": "0.0.23",
3
+ "version": "0.0.24",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.2.0",
6
6
  "@angular/core": ">=18.2.0",
7
7
  "@angular/router": ">=18.2.0",
8
8
  "rxjs": ">=7.0.0",
9
- "@ngrdt/utils": "^0.0.23",
10
- "@ngrdt/core": "^0.0.23"
9
+ "@ngrdt/utils": "^0.0.24",
10
+ "@ngrdt/core": "^0.0.24"
11
11
  },
12
12
  "sideEffects": false,
13
13
  "module": "fesm2022/ngrdt-button.mjs",