@spartan-ng/brain 0.0.1-alpha.605 → 0.0.1-alpha.607

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,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, forwardRef, signal, input, booleanAttribute, linkedSignal, numberAttribute, model, output, computed, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { InjectionToken, inject, forwardRef, signal, input, booleanAttribute, linkedSignal, numberAttribute, model, output, computed, viewChild, afterNextRender, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/forms';
4
4
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
5
5
 
@@ -17,10 +17,15 @@ const BRN_INPUT_OTP_VALUE_ACCESSOR = {
17
17
  multi: true,
18
18
  };
19
19
  class BrnInputOtp {
20
+ static _id = 0;
20
21
  /** Whether the input has focus. */
21
22
  _focused = signal(false);
22
23
  /** Styles applied to the host element. */
23
24
  hostStyles = input('position: relative; cursor: text; user-select: none; pointer-events: none;');
25
+ /** Custom id applied to the input element */
26
+ inputId = input(`brn-input-otp-${++BrnInputOtp._id}`);
27
+ /** Custom autocomplete attribute applied to the input element */
28
+ inputAutocomplete = input('one-time-code');
24
29
  /** Styles applied to the input element to make it invisible and clickable. */
25
30
  inputStyles = input('position: absolute; inset: 0; width: 100%; height: 100%; display: flex; textAlign: left; opacity: 1; color: transparent; pointerEvents: all; background: transparent; caret-color: transparent; border: 0px solid transparent; outline: transparent solid 0px; box-shadow: none; line-height: 1; letter-spacing: -0.5em; font-family: monospace; font-variant-numeric: tabular-nums;');
26
31
  /** Styles applied to the container element. */
@@ -35,6 +40,8 @@ class BrnInputOtp {
35
40
  /** Virtual keyboard appearance on mobile */
36
41
  inputMode = input('numeric');
37
42
  inputClass = input('');
43
+ /** If true, the element is focused automatically on init **/
44
+ autofocus = input(false, { transform: booleanAttribute });
38
45
  /**
39
46
  * Defines how the pasted text should be transformed before saving to model/form.
40
47
  * Allows pasting text which contains extra characters like spaces, dashes, etc. and are longer than the maxLength.
@@ -66,6 +73,14 @@ class BrnInputOtp {
66
73
  completed = output();
67
74
  _onChange;
68
75
  _onTouched;
76
+ _inputComponentRef = viewChild.required('otpInput');
77
+ constructor() {
78
+ afterNextRender(() => {
79
+ if (this.autofocus()) {
80
+ this._inputComponentRef().nativeElement.focus();
81
+ }
82
+ });
83
+ }
69
84
  onInputChange(event) {
70
85
  let newValue = event.target.value;
71
86
  const maxLength = this.maxLength();
@@ -111,12 +126,14 @@ class BrnInputOtp {
111
126
  }
112
127
  }
113
128
  /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: BrnInputOtp, deps: [], target: i0.ɵɵFactoryTarget.Component });
114
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.7", type: BrnInputOtp, isStandalone: true, selector: "brn-input-otp", inputs: { hostStyles: { classPropertyName: "hostStyles", publicName: "hostStyles", isSignal: true, isRequired: false, transformFunction: null }, inputStyles: { classPropertyName: "inputStyles", publicName: "inputStyles", isSignal: true, isRequired: false, transformFunction: null }, containerStyles: { classPropertyName: "containerStyles", publicName: "containerStyles", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: true, transformFunction: null }, inputMode: { classPropertyName: "inputMode", publicName: "inputMode", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, transformPaste: { classPropertyName: "transformPaste", publicName: "transformPaste", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange", completed: "completed" }, host: { attributes: { "data-input-otp-container": "true" }, properties: { "style": "hostStyles()" } }, providers: [BRN_INPUT_OTP_VALUE_ACCESSOR, provideBrnInputOtp(BrnInputOtp)], ngImport: i0, template: `
129
+ /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.0.7", type: BrnInputOtp, isStandalone: true, selector: "brn-input-otp", inputs: { hostStyles: { classPropertyName: "hostStyles", publicName: "hostStyles", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: true, isRequired: false, transformFunction: null }, inputAutocomplete: { classPropertyName: "inputAutocomplete", publicName: "inputAutocomplete", isSignal: true, isRequired: false, transformFunction: null }, inputStyles: { classPropertyName: "inputStyles", publicName: "inputStyles", isSignal: true, isRequired: false, transformFunction: null }, containerStyles: { classPropertyName: "containerStyles", publicName: "containerStyles", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: true, transformFunction: null }, inputMode: { classPropertyName: "inputMode", publicName: "inputMode", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: "inputClass", publicName: "inputClass", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: "autofocus", publicName: "autofocus", isSignal: true, isRequired: false, transformFunction: null }, transformPaste: { classPropertyName: "transformPaste", publicName: "transformPaste", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", valueChange: "valueChange", completed: "completed" }, host: { attributes: { "data-input-otp-container": "true" }, properties: { "style": "hostStyles()" } }, providers: [BRN_INPUT_OTP_VALUE_ACCESSOR, provideBrnInputOtp(BrnInputOtp)], viewQueries: [{ propertyName: "_inputComponentRef", first: true, predicate: ["otpInput"], descendants: true, isSignal: true }], ngImport: i0, template: `
115
130
  <ng-content />
116
131
  <div [style]="containerStyles()">
117
132
  <input
133
+ #otpInput
134
+ [id]="inputId()"
118
135
  [class]="inputClass()"
119
- autocomplete="one-time-code"
136
+ [autocomplete]="inputAutocomplete()"
120
137
  data-slot="input-otp"
121
138
  [style]="inputStyles()"
122
139
  [disabled]="_disabled()"
@@ -145,8 +162,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
145
162
  <ng-content />
146
163
  <div [style]="containerStyles()">
147
164
  <input
165
+ #otpInput
166
+ [id]="inputId()"
148
167
  [class]="inputClass()"
149
- autocomplete="one-time-code"
168
+ [autocomplete]="inputAutocomplete()"
150
169
  data-slot="input-otp"
151
170
  [style]="inputStyles()"
152
171
  [disabled]="_disabled()"
@@ -160,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
160
179
  </div>
161
180
  `,
162
181
  }]
163
- }] });
182
+ }], ctorParameters: () => [] });
164
183
 
165
184
  class BrnInputOtpSlot {
166
185
  /** Access the input-otp component */
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-input-otp.mjs","sources":["../tmp-esm2022/input-otp/lib/brn-input-otp.token.js","../tmp-esm2022/input-otp/lib/brn-input-otp.js","../tmp-esm2022/input-otp/lib/brn-input-otp-slot.js","../tmp-esm2022/input-otp/index.js","../tmp-esm2022/input-otp/spartan-ng-brain-input-otp.js"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nexport const BrnInputOtpToken = new InjectionToken('BrnInputOtpToken');\nexport function injectBrnInputOtp() {\n return inject(BrnInputOtpToken);\n}\nexport function provideBrnInputOtp(inputOtp) {\n return { provide: BrnInputOtpToken, useExisting: inputOtp };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWlucHV0LW90cC50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vaW5wdXQtb3RwL3NyYy9saWIvYnJuLWlucHV0LW90cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlCLE1BQU0sRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHekYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWMsa0JBQWtCLENBQUMsQ0FBQztBQUVwRixNQUFNLFVBQVUsaUJBQWlCO0lBQ2hDLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFnQixDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBMkI7SUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhpc3RpbmdQcm92aWRlciwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEJybklucHV0T3RwIH0gZnJvbSAnLi9icm4taW5wdXQtb3RwJztcblxuZXhwb3J0IGNvbnN0IEJybklucHV0T3RwVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuSW5wdXRPdHA+KCdCcm5JbnB1dE90cFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcm5JbnB1dE90cCgpOiBCcm5JbnB1dE90cCB7XG5cdHJldHVybiBpbmplY3QoQnJuSW5wdXRPdHBUb2tlbikgYXMgQnJuSW5wdXRPdHA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuSW5wdXRPdHAoaW5wdXRPdHA6IFR5cGU8QnJuSW5wdXRPdHA+KTogRXhpc3RpbmdQcm92aWRlciB7XG5cdHJldHVybiB7IHByb3ZpZGU6IEJybklucHV0T3RwVG9rZW4sIHVzZUV4aXN0aW5nOiBpbnB1dE90cCB9O1xufVxuIl19","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, linkedSignal, model, numberAttribute, output, signal, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { provideBrnInputOtp } from './brn-input-otp.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport const BRN_INPUT_OTP_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BrnInputOtp),\n multi: true,\n};\nexport class BrnInputOtp {\n /** Whether the input has focus. */\n _focused = signal(false);\n /** Styles applied to the host element. */\n hostStyles = input('position: relative; cursor: text; user-select: none; pointer-events: none;');\n /** Styles applied to the input element to make it invisible and clickable. */\n inputStyles = input('position: absolute; inset: 0; width: 100%; height: 100%; display: flex; textAlign: left; opacity: 1; color: transparent; pointerEvents: all; background: transparent; caret-color: transparent; border: 0px solid transparent; outline: transparent solid 0px; box-shadow: none; line-height: 1; letter-spacing: -0.5em; font-family: monospace; font-variant-numeric: tabular-nums;');\n /** Styles applied to the container element. */\n containerStyles = input('position: absolute; inset: 0; pointer-events: none;');\n /** Determine if the date picker is disabled. */\n disabled = input(false, {\n transform: booleanAttribute,\n });\n _disabled = linkedSignal(this.disabled);\n /** The number of slots. */\n maxLength = input.required({ transform: numberAttribute });\n /** Virtual keyboard appearance on mobile */\n inputMode = input('numeric');\n inputClass = input('');\n /**\n * Defines how the pasted text should be transformed before saving to model/form.\n * Allows pasting text which contains extra characters like spaces, dashes, etc. and are longer than the maxLength.\n *\n * \"XXX-XXX\": (pastedText) => pastedText.replaceAll('-', '')\n * \"XXX XXX\": (pastedText) => pastedText.replaceAll(/\\s+/g, '')\n */\n transformPaste = input((text) => text);\n /** The value controlling the input */\n value = model(null);\n /** Emits when the value changes. */\n valueChange = output();\n context = computed(() => {\n const value = this.value() ?? '';\n const focused = this._focused();\n const maxLength = this.maxLength();\n const slots = Array.from({ length: this.maxLength() }).map((_, slotIndex) => {\n const char = value[slotIndex] !== undefined ? value[slotIndex] : null;\n const isActive = focused && (value.length === slotIndex || (value.length === maxLength && slotIndex === maxLength - 1));\n return {\n char,\n isActive,\n hasFakeCaret: isActive && value.length === slotIndex,\n };\n });\n return slots;\n });\n /** Emitted when the input is complete, triggered through input or paste. */\n completed = output();\n _onChange;\n _onTouched;\n onInputChange(event) {\n let newValue = event.target.value;\n const maxLength = this.maxLength();\n if (newValue.length > maxLength) {\n // Replace the last character when max length is exceeded\n newValue = newValue.slice(0, maxLength - 1) + newValue.slice(-1);\n }\n this.updateValue(newValue, maxLength);\n }\n onPaste(event) {\n event.preventDefault();\n const clipboardData = event.clipboardData?.getData('text/plain') || '';\n const maxLength = this.maxLength();\n const content = this.transformPaste()(clipboardData, maxLength);\n const newValue = content.slice(0, maxLength);\n this.updateValue(newValue, maxLength);\n }\n /** CONTROL VALUE ACCESSOR */\n writeValue(value) {\n this.value.set(value);\n if (value?.length === this.maxLength()) {\n this.completed.emit(value ?? '');\n }\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this._disabled.set(isDisabled);\n }\n isCompleted(newValue, previousValue, maxLength) {\n return newValue !== previousValue && previousValue.length < maxLength && newValue.length === maxLength;\n }\n updateValue(newValue, maxLength) {\n const previousValue = this.value() ?? '';\n this.value.set(newValue);\n this._onChange?.(newValue);\n if (this.isCompleted(newValue, previousValue, maxLength)) {\n this.completed.emit(newValue);\n }\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtp, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnInputOtp, isStandalone: true, selector: \"brn-input-otp\", inputs: { hostStyles: { classPropertyName: \"hostStyles\", publicName: \"hostStyles\", isSignal: true, isRequired: false, transformFunction: null }, inputStyles: { classPropertyName: \"inputStyles\", publicName: \"inputStyles\", isSignal: true, isRequired: false, transformFunction: null }, containerStyles: { classPropertyName: \"containerStyles\", publicName: \"containerStyles\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: \"maxLength\", publicName: \"maxLength\", isSignal: true, isRequired: true, transformFunction: null }, inputMode: { classPropertyName: \"inputMode\", publicName: \"inputMode\", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: \"inputClass\", publicName: \"inputClass\", isSignal: true, isRequired: false, transformFunction: null }, transformPaste: { classPropertyName: \"transformPaste\", publicName: \"transformPaste\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", valueChange: \"valueChange\", completed: \"completed\" }, host: { attributes: { \"data-input-otp-container\": \"true\" }, properties: { \"style\": \"hostStyles()\" } }, providers: [BRN_INPUT_OTP_VALUE_ACCESSOR, provideBrnInputOtp(BrnInputOtp)], ngImport: i0, template: `\n\t\t<ng-content />\n\t\t<div [style]=\"containerStyles()\">\n\t\t\t<input\n\t\t\t\t[class]=\"inputClass()\"\n\t\t\t\tautocomplete=\"one-time-code\"\n\t\t\t\tdata-slot=\"input-otp\"\n\t\t\t\t[style]=\"inputStyles()\"\n\t\t\t\t[disabled]=\"_disabled()\"\n\t\t\t\t[inputMode]=\"inputMode()\"\n\t\t\t\t[ngModel]=\"value()\"\n\t\t\t\t(input)=\"onInputChange($event)\"\n\t\t\t\t(paste)=\"onPaste($event)\"\n\t\t\t\t(focus)=\"_focused.set(true)\"\n\t\t\t\t(blur)=\"_focused.set(false)\"\n\t\t\t/>\n\t\t</div>\n\t`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtp, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-input-otp',\n imports: [FormsModule],\n providers: [BRN_INPUT_OTP_VALUE_ACCESSOR, provideBrnInputOtp(BrnInputOtp)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style]': 'hostStyles()',\n 'data-input-otp-container': 'true',\n },\n template: `\n\t\t<ng-content />\n\t\t<div [style]=\"containerStyles()\">\n\t\t\t<input\n\t\t\t\t[class]=\"inputClass()\"\n\t\t\t\tautocomplete=\"one-time-code\"\n\t\t\t\tdata-slot=\"input-otp\"\n\t\t\t\t[style]=\"inputStyles()\"\n\t\t\t\t[disabled]=\"_disabled()\"\n\t\t\t\t[inputMode]=\"inputMode()\"\n\t\t\t\t[ngModel]=\"value()\"\n\t\t\t\t(input)=\"onInputChange($event)\"\n\t\t\t\t(paste)=\"onPaste($event)\"\n\t\t\t\t(focus)=\"_focused.set(true)\"\n\t\t\t\t(blur)=\"_focused.set(false)\"\n\t\t\t/>\n\t\t</div>\n\t`,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWlucHV0LW90cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vaW5wdXQtb3RwL3NyYy9saWIvYnJuLWlucHV0LW90cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFDTCxlQUFlLEVBQ2YsTUFBTSxFQUNOLE1BQU0sR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQTZCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFFM0QsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUc7SUFDM0MsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQztJQUMxQyxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFnQ0YsTUFBTSxPQUFPLFdBQVc7SUFDdkIsbUNBQW1DO0lBQ2hCLFFBQVEsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFckQsMENBQTBDO0lBQzFCLFVBQVUsR0FBRyxLQUFLLENBQ2pDLDRFQUE0RSxDQUM1RSxDQUFDO0lBRUYsOEVBQThFO0lBQzlELFdBQVcsR0FBRyxLQUFLLENBQ2xDLHNYQUFzWCxDQUN0WCxDQUFDO0lBRUYsK0NBQStDO0lBQy9CLGVBQWUsR0FBRyxLQUFLLENBQVMscURBQXFELENBQUMsQ0FBQztJQUV2RyxnREFBZ0Q7SUFDaEMsUUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyxFQUFFO1FBQzlELFNBQVMsRUFBRSxnQkFBZ0I7S0FDM0IsQ0FBQyxDQUFDO0lBRWdCLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTNELDJCQUEyQjtJQUNYLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFzQixFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBRWhHLDRDQUE0QztJQUM1QixTQUFTLEdBQUcsS0FBSyxDQUFZLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLFVBQVUsR0FBRyxLQUFLLENBQWEsRUFBRSxDQUFDLENBQUM7SUFFbkQ7Ozs7OztPQU1HO0lBQ2EsY0FBYyxHQUFHLEtBQUssQ0FBb0QsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFHLHNDQUFzQztJQUN0QixLQUFLLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztJQUVuRCxvQ0FBb0M7SUFDcEIsV0FBVyxHQUFHLE1BQU0sRUFBVSxDQUFDO0lBRS9CLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3ZDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7UUFDakMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxFQUFFO1lBQzNFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBRXRFLE1BQU0sUUFBUSxHQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXhHLE9BQU87Z0JBQ04sSUFBSTtnQkFDSixRQUFRO2dCQUNSLFlBQVksRUFBRSxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxTQUFTO2FBQ3BELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2QsQ0FBQyxDQUFDLENBQUM7SUFFSCw2RUFBNkU7SUFDN0QsU0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO0lBRW5DLFNBQVMsQ0FBb0I7SUFDN0IsVUFBVSxDQUFXO0lBRXJCLGFBQWEsQ0FBQyxLQUFZO1FBQ25DLElBQUksUUFBUSxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUN4RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFbkMsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLHlEQUF5RDtZQUN6RCxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVTLE9BQU8sQ0FBQyxLQUFxQjtRQUN0QyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXZFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUVuQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTdDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsVUFBVSxDQUFDLEtBQW9CO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFvQjtRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBVztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFnQixFQUFFLGFBQXFCLEVBQUUsU0FBaUI7UUFDN0UsT0FBTyxRQUFRLEtBQUssYUFBYSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO0lBQ3hHLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBZ0IsRUFBRSxTQUFpQjtRQUN0RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBRXpDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDRixDQUFDOzBIQWxJVyxXQUFXOzhHQUFYLFdBQVcsdThDQXpCWixDQUFDLDRCQUE0QixFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDLDBCQU1oRTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQlQsMkRBeEJTLFdBQVc7OzJGQTBCVCxXQUFXO2tCQTVCdkIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDO29CQUN0QixTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxrQkFBa0IsYUFBYSxDQUFDO29CQUMxRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsSUFBSSxFQUFFO3dCQUNMLFNBQVMsRUFBRSxjQUFjO3dCQUN6QiwwQkFBMEIsRUFBRSxNQUFNO3FCQUNsQztvQkFDRCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBaUJUO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQsIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRmb3J3YXJkUmVmLFxuXHRpbnB1dCxcblx0bGlua2VkU2lnbmFsLFxuXHRtb2RlbCxcblx0bnVtYmVyQXR0cmlidXRlLFxuXHRvdXRwdXQsXG5cdHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0eXBlIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7IENoYW5nZUZuLCBUb3VjaEZuIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDbGFzc1ZhbHVlIH0gZnJvbSAnY2xzeCc7XG5pbXBvcnQgeyBwcm92aWRlQnJuSW5wdXRPdHAgfSBmcm9tICcuL2Jybi1pbnB1dC1vdHAudG9rZW4nO1xuXG5leHBvcnQgY29uc3QgQlJOX0lOUFVUX09UUF9WQUxVRV9BQ0NFU1NPUiA9IHtcblx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG5cdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEJybklucHV0T3RwKSxcblx0bXVsdGk6IHRydWUsXG59O1xuXG5leHBvcnQgdHlwZSBJbnB1dE1vZGUgPSAndGV4dCcgfCAndGVsJyB8ICd1cmwnIHwgJ2VtYWlsJyB8ICdudW1lcmljJyB8ICdkZWNpbWFsJyB8ICdzZWFyY2gnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4taW5wdXQtb3RwJyxcblx0aW1wb3J0czogW0Zvcm1zTW9kdWxlXSxcblx0cHJvdmlkZXJzOiBbQlJOX0lOUFVUX09UUF9WQUxVRV9BQ0NFU1NPUiwgcHJvdmlkZUJybklucHV0T3RwKEJybklucHV0T3RwKV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRob3N0OiB7XG5cdFx0J1tzdHlsZV0nOiAnaG9zdFN0eWxlcygpJyxcblx0XHQnZGF0YS1pbnB1dC1vdHAtY29udGFpbmVyJzogJ3RydWUnLFxuXHR9LFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PGRpdiBbc3R5bGVdPVwiY29udGFpbmVyU3R5bGVzKClcIj5cblx0XHRcdDxpbnB1dFxuXHRcdFx0XHRbY2xhc3NdPVwiaW5wdXRDbGFzcygpXCJcblx0XHRcdFx0YXV0b2NvbXBsZXRlPVwib25lLXRpbWUtY29kZVwiXG5cdFx0XHRcdGRhdGEtc2xvdD1cImlucHV0LW90cFwiXG5cdFx0XHRcdFtzdHlsZV09XCJpbnB1dFN0eWxlcygpXCJcblx0XHRcdFx0W2Rpc2FibGVkXT1cIl9kaXNhYmxlZCgpXCJcblx0XHRcdFx0W2lucHV0TW9kZV09XCJpbnB1dE1vZGUoKVwiXG5cdFx0XHRcdFtuZ01vZGVsXT1cInZhbHVlKClcIlxuXHRcdFx0XHQoaW5wdXQpPVwib25JbnB1dENoYW5nZSgkZXZlbnQpXCJcblx0XHRcdFx0KHBhc3RlKT1cIm9uUGFzdGUoJGV2ZW50KVwiXG5cdFx0XHRcdChmb2N1cyk9XCJfZm9jdXNlZC5zZXQodHJ1ZSlcIlxuXHRcdFx0XHQoYmx1cik9XCJfZm9jdXNlZC5zZXQoZmFsc2UpXCJcblx0XHRcdC8+XG5cdFx0PC9kaXY+XG5cdGAsXG59KVxuZXhwb3J0IGNsYXNzIEJybklucHV0T3RwIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXHQvKiogV2hldGhlciB0aGUgaW5wdXQgaGFzIGZvY3VzLiAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2ZvY3VzZWQgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG5cdC8qKiBTdHlsZXMgYXBwbGllZCB0byB0aGUgaG9zdCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaG9zdFN0eWxlcyA9IGlucHV0PHN0cmluZz4oXG5cdFx0J3Bvc2l0aW9uOiByZWxhdGl2ZTsgY3Vyc29yOiB0ZXh0OyB1c2VyLXNlbGVjdDogbm9uZTsgcG9pbnRlci1ldmVudHM6IG5vbmU7Jyxcblx0KTtcblxuXHQvKiogU3R5bGVzIGFwcGxpZWQgdG8gdGhlIGlucHV0IGVsZW1lbnQgdG8gbWFrZSBpdCBpbnZpc2libGUgYW5kIGNsaWNrYWJsZS4gKi9cblx0cHVibGljIHJlYWRvbmx5IGlucHV0U3R5bGVzID0gaW5wdXQ8c3RyaW5nPihcblx0XHQncG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgZGlzcGxheTogZmxleDsgdGV4dEFsaWduOiBsZWZ0OyBvcGFjaXR5OiAxOyBjb2xvcjogdHJhbnNwYXJlbnQ7IHBvaW50ZXJFdmVudHM6IGFsbDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGNhcmV0LWNvbG9yOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7IG91dGxpbmU6IHRyYW5zcGFyZW50IHNvbGlkIDBweDsgYm94LXNoYWRvdzogbm9uZTsgbGluZS1oZWlnaHQ6IDE7IGxldHRlci1zcGFjaW5nOiAtMC41ZW07IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7Jyxcblx0KTtcblxuXHQvKiogU3R5bGVzIGFwcGxpZWQgdG8gdGhlIGNvbnRhaW5lciBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgY29udGFpbmVyU3R5bGVzID0gaW5wdXQ8c3RyaW5nPigncG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7Jyk7XG5cblx0LyoqIERldGVybWluZSBpZiB0aGUgZGF0ZSBwaWNrZXIgaXMgZGlzYWJsZWQuICovXG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfZGlzYWJsZWQgPSBsaW5rZWRTaWduYWwodGhpcy5kaXNhYmxlZCk7XG5cblx0LyoqIFRoZSBudW1iZXIgb2Ygc2xvdHMuICovXG5cdHB1YmxpYyByZWFkb25seSBtYXhMZW5ndGggPSBpbnB1dC5yZXF1aXJlZDxudW1iZXIsIE51bWJlcklucHV0Pih7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG5cdC8qKiBWaXJ0dWFsIGtleWJvYXJkIGFwcGVhcmFuY2Ugb24gbW9iaWxlICovXG5cdHB1YmxpYyByZWFkb25seSBpbnB1dE1vZGUgPSBpbnB1dDxJbnB1dE1vZGU+KCdudW1lcmljJyk7XG5cblx0cHVibGljIHJlYWRvbmx5IGlucHV0Q2xhc3MgPSBpbnB1dDxDbGFzc1ZhbHVlPignJyk7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBwYXN0ZWQgdGV4dCBzaG91bGQgYmUgdHJhbnNmb3JtZWQgYmVmb3JlIHNhdmluZyB0byBtb2RlbC9mb3JtLlxuXHQgKiBBbGxvd3MgcGFzdGluZyB0ZXh0IHdoaWNoIGNvbnRhaW5zIGV4dHJhIGNoYXJhY3RlcnMgbGlrZSBzcGFjZXMsIGRhc2hlcywgZXRjLiBhbmQgYXJlIGxvbmdlciB0aGFuIHRoZSBtYXhMZW5ndGguXG5cdCAqXG5cdCAqIFwiWFhYLVhYWFwiOiAocGFzdGVkVGV4dCkgPT4gcGFzdGVkVGV4dC5yZXBsYWNlQWxsKCctJywgJycpXG5cdCAqIFwiWFhYIFhYWFwiOiAocGFzdGVkVGV4dCkgPT4gcGFzdGVkVGV4dC5yZXBsYWNlQWxsKC9cXHMrL2csICcnKVxuXHQgKi9cblx0cHVibGljIHJlYWRvbmx5IHRyYW5zZm9ybVBhc3RlID0gaW5wdXQ8KHBhc3RlZFRleHQ6IHN0cmluZywgbWF4TGVuZ3RoOiBudW1iZXIpID0+IHN0cmluZz4oKHRleHQpID0+IHRleHQpO1xuXG5cdC8qKiBUaGUgdmFsdWUgY29udHJvbGxpbmcgdGhlIGlucHV0ICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IG1vZGVsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG5cdC8qKiBFbWl0cyB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWVDaGFuZ2UgPSBvdXRwdXQ8c3RyaW5nPigpO1xuXG5cdHB1YmxpYyByZWFkb25seSBjb250ZXh0ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZSgpID8/ICcnO1xuXHRcdGNvbnN0IGZvY3VzZWQgPSB0aGlzLl9mb2N1c2VkKCk7XG5cdFx0Y29uc3QgbWF4TGVuZ3RoID0gdGhpcy5tYXhMZW5ndGgoKTtcblx0XHRjb25zdCBzbG90cyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMubWF4TGVuZ3RoKCkgfSkubWFwKChfLCBzbG90SW5kZXgpID0+IHtcblx0XHRcdGNvbnN0IGNoYXIgPSB2YWx1ZVtzbG90SW5kZXhdICE9PSB1bmRlZmluZWQgPyB2YWx1ZVtzbG90SW5kZXhdIDogbnVsbDtcblxuXHRcdFx0Y29uc3QgaXNBY3RpdmUgPVxuXHRcdFx0XHRmb2N1c2VkICYmICh2YWx1ZS5sZW5ndGggPT09IHNsb3RJbmRleCB8fCAodmFsdWUubGVuZ3RoID09PSBtYXhMZW5ndGggJiYgc2xvdEluZGV4ID09PSBtYXhMZW5ndGggLSAxKSk7XG5cblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdGNoYXIsXG5cdFx0XHRcdGlzQWN0aXZlLFxuXHRcdFx0XHRoYXNGYWtlQ2FyZXQ6IGlzQWN0aXZlICYmIHZhbHVlLmxlbmd0aCA9PT0gc2xvdEluZGV4LFxuXHRcdFx0fTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBzbG90cztcblx0fSk7XG5cblx0LyoqIEVtaXR0ZWQgd2hlbiB0aGUgaW5wdXQgaXMgY29tcGxldGUsIHRyaWdnZXJlZCB0aHJvdWdoIGlucHV0IG9yIHBhc3RlLiAgKi9cblx0cHVibGljIHJlYWRvbmx5IGNvbXBsZXRlZCA9IG91dHB1dDxzdHJpbmc+KCk7XG5cblx0cHJvdGVjdGVkIF9vbkNoYW5nZT86IENoYW5nZUZuPHN0cmluZz47XG5cdHByb3RlY3RlZCBfb25Ub3VjaGVkPzogVG91Y2hGbjtcblxuXHRwcm90ZWN0ZWQgb25JbnB1dENoYW5nZShldmVudDogRXZlbnQpIHtcblx0XHRsZXQgbmV3VmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuXHRcdGNvbnN0IG1heExlbmd0aCA9IHRoaXMubWF4TGVuZ3RoKCk7XG5cblx0XHRpZiAobmV3VmFsdWUubGVuZ3RoID4gbWF4TGVuZ3RoKSB7XG5cdFx0XHQvLyBSZXBsYWNlIHRoZSBsYXN0IGNoYXJhY3RlciB3aGVuIG1heCBsZW5ndGggaXMgZXhjZWVkZWRcblx0XHRcdG5ld1ZhbHVlID0gbmV3VmFsdWUuc2xpY2UoMCwgbWF4TGVuZ3RoIC0gMSkgKyBuZXdWYWx1ZS5zbGljZSgtMSk7XG5cdFx0fVxuXG5cdFx0dGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSwgbWF4TGVuZ3RoKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvblBhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0Y29uc3QgY2xpcGJvYXJkRGF0YSA9IGV2ZW50LmNsaXBib2FyZERhdGE/LmdldERhdGEoJ3RleHQvcGxhaW4nKSB8fCAnJztcblxuXHRcdGNvbnN0IG1heExlbmd0aCA9IHRoaXMubWF4TGVuZ3RoKCk7XG5cblx0XHRjb25zdCBjb250ZW50ID0gdGhpcy50cmFuc2Zvcm1QYXN0ZSgpKGNsaXBib2FyZERhdGEsIG1heExlbmd0aCk7XG5cdFx0Y29uc3QgbmV3VmFsdWUgPSBjb250ZW50LnNsaWNlKDAsIG1heExlbmd0aCk7XG5cblx0XHR0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlLCBtYXhMZW5ndGgpO1xuXHR9XG5cblx0LyoqIENPTlRST0wgVkFMVUUgQUNDRVNTT1IgKi9cblx0d3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcblx0XHRpZiAodmFsdWU/Lmxlbmd0aCA9PT0gdGhpcy5tYXhMZW5ndGgoKSkge1xuXHRcdFx0dGhpcy5jb21wbGV0ZWQuZW1pdCh2YWx1ZSA/PyAnJyk7XG5cdFx0fVxuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogQ2hhbmdlRm48c3RyaW5nPik6IHZvaWQge1xuXHRcdHRoaXMuX29uQ2hhbmdlID0gZm47XG5cdH1cblxuXHRyZWdpc3Rlck9uVG91Y2hlZChmbjogVG91Y2hGbik6IHZvaWQge1xuXHRcdHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuXHR9XG5cblx0c2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0dGhpcy5fZGlzYWJsZWQuc2V0KGlzRGlzYWJsZWQpO1xuXHR9XG5cblx0cHJpdmF0ZSBpc0NvbXBsZXRlZChuZXdWYWx1ZTogc3RyaW5nLCBwcmV2aW91c1ZhbHVlOiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyKSB7XG5cdFx0cmV0dXJuIG5ld1ZhbHVlICE9PSBwcmV2aW91c1ZhbHVlICYmIHByZXZpb3VzVmFsdWUubGVuZ3RoIDwgbWF4TGVuZ3RoICYmIG5ld1ZhbHVlLmxlbmd0aCA9PT0gbWF4TGVuZ3RoO1xuXHR9XG5cblx0cHJpdmF0ZSB1cGRhdGVWYWx1ZShuZXdWYWx1ZTogc3RyaW5nLCBtYXhMZW5ndGg6IG51bWJlcikge1xuXHRcdGNvbnN0IHByZXZpb3VzVmFsdWUgPSB0aGlzLnZhbHVlKCkgPz8gJyc7XG5cblx0XHR0aGlzLnZhbHVlLnNldChuZXdWYWx1ZSk7XG5cdFx0dGhpcy5fb25DaGFuZ2U/LihuZXdWYWx1ZSk7XG5cblx0XHRpZiAodGhpcy5pc0NvbXBsZXRlZChuZXdWYWx1ZSwgcHJldmlvdXNWYWx1ZSwgbWF4TGVuZ3RoKSkge1xuXHRcdFx0dGhpcy5jb21wbGV0ZWQuZW1pdChuZXdWYWx1ZSk7XG5cdFx0fVxuXHR9XG59XG4iXX0=","import { ChangeDetectionStrategy, Component, computed, input, numberAttribute } from '@angular/core';\nimport { injectBrnInputOtp } from './brn-input-otp.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnInputOtpSlot {\n /** Access the input-otp component */\n _inputOtp = injectBrnInputOtp();\n /** The index of the slot to render the char or a fake caret */\n index = input.required({ transform: numberAttribute });\n _slot = computed(() => this._inputOtp.context()[this.index()]);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtpSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: BrnInputOtpSlot, isStandalone: true, selector: \"brn-input-otp-slot\", inputs: { index: { classPropertyName: \"index\", publicName: \"index\", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { \"attr.data-active\": \"_slot().isActive\" } }, ngImport: i0, template: `\n\t\t{{ _slot().char }}\n\n\t\t@if (_slot().hasFakeCaret) {\n\t\t\t<ng-content />\n\t\t}\n\t`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtpSlot, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-input-otp-slot',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-active]': '_slot().isActive',\n },\n template: `\n\t\t{{ _slot().char }}\n\n\t\t@if (_slot().hasFakeCaret) {\n\t\t\t<ng-content />\n\t\t}\n\t`,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWlucHV0LW90cC1zbG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9pbnB1dC1vdHAvc3JjL2xpYi9icm4taW5wdXQtb3RwLXNsb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQjFELE1BQU0sT0FBTyxlQUFlO0lBQzNCLHFDQUFxQztJQUNsQixTQUFTLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztJQUVuRCwrREFBK0Q7SUFDL0MsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQXNCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFFekUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7MEhBUHRFLGVBQWU7OEdBQWYsZUFBZSxtUkFSakI7Ozs7OztFQU1UOzsyRkFFVyxlQUFlO2tCQWQzQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0wsb0JBQW9CLEVBQUUsa0JBQWtCO3FCQUN4QztvQkFDRCxRQUFRLEVBQUU7Ozs7OztFQU1UO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuSW5wdXRPdHAgfSBmcm9tICcuL2Jybi1pbnB1dC1vdHAudG9rZW4nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4taW5wdXQtb3RwLXNsb3QnLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdCdbYXR0ci5kYXRhLWFjdGl2ZV0nOiAnX3Nsb3QoKS5pc0FjdGl2ZScsXG5cdH0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0e3sgX3Nsb3QoKS5jaGFyIH19XG5cblx0XHRAaWYgKF9zbG90KCkuaGFzRmFrZUNhcmV0KSB7XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdH1cblx0YCxcbn0pXG5leHBvcnQgY2xhc3MgQnJuSW5wdXRPdHBTbG90IHtcblx0LyoqIEFjY2VzcyB0aGUgaW5wdXQtb3RwIGNvbXBvbmVudCAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2lucHV0T3RwID0gaW5qZWN0QnJuSW5wdXRPdHAoKTtcblxuXHQvKiogVGhlIGluZGV4IG9mIHRoZSBzbG90IHRvIHJlbmRlciB0aGUgY2hhciBvciBhIGZha2UgY2FyZXQgKi9cblx0cHVibGljIHJlYWRvbmx5IGluZGV4ID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4oeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3Nsb3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9pbnB1dE90cC5jb250ZXh0KClbdGhpcy5pbmRleCgpXSk7XG59XG4iXX0=","import { BrnInputOtp } from './lib/brn-input-otp';\nimport { BrnInputOtpSlot } from './lib/brn-input-otp-slot';\nexport * from './lib/brn-input-otp';\nexport * from './lib/brn-input-otp-slot';\nexport const BrnInputOtpImports = [BrnInputOtp, BrnInputOtpSlot];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2lucHV0LW90cC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm5JbnB1dE90cCB9IGZyb20gJy4vbGliL2Jybi1pbnB1dC1vdHAnO1xuaW1wb3J0IHsgQnJuSW5wdXRPdHBTbG90IH0gZnJvbSAnLi9saWIvYnJuLWlucHV0LW90cC1zbG90JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWlucHV0LW90cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4taW5wdXQtb3RwLXNsb3QnO1xuXG5leHBvcnQgY29uc3QgQnJuSW5wdXRPdHBJbXBvcnRzID0gW0JybklucHV0T3RwLCBCcm5JbnB1dE90cFNsb3RdIGFzIGNvbnN0O1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1pbnB1dC1vdHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2lucHV0LW90cC9zcmMvc3BhcnRhbi1uZy1icmFpbi1pbnB1dC1vdHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-input-otp.mjs","sources":["../tmp-esm2022/input-otp/lib/brn-input-otp.token.js","../tmp-esm2022/input-otp/lib/brn-input-otp.js","../tmp-esm2022/input-otp/lib/brn-input-otp-slot.js","../tmp-esm2022/input-otp/index.js","../tmp-esm2022/input-otp/spartan-ng-brain-input-otp.js"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nexport const BrnInputOtpToken = new InjectionToken('BrnInputOtpToken');\nexport function injectBrnInputOtp() {\n return inject(BrnInputOtpToken);\n}\nexport function provideBrnInputOtp(inputOtp) {\n return { provide: BrnInputOtpToken, useExisting: inputOtp };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWlucHV0LW90cC50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vaW5wdXQtb3RwL3NyYy9saWIvYnJuLWlucHV0LW90cC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXlCLE1BQU0sRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHekYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWMsa0JBQWtCLENBQUMsQ0FBQztBQUVwRixNQUFNLFVBQVUsaUJBQWlCO0lBQ2hDLE9BQU8sTUFBTSxDQUFDLGdCQUFnQixDQUFnQixDQUFDO0FBQ2hELENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsUUFBMkI7SUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRXhpc3RpbmdQcm92aWRlciwgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEJybklucHV0T3RwIH0gZnJvbSAnLi9icm4taW5wdXQtb3RwJztcblxuZXhwb3J0IGNvbnN0IEJybklucHV0T3RwVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuSW5wdXRPdHA+KCdCcm5JbnB1dE90cFRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3RCcm5JbnB1dE90cCgpOiBCcm5JbnB1dE90cCB7XG5cdHJldHVybiBpbmplY3QoQnJuSW5wdXRPdHBUb2tlbikgYXMgQnJuSW5wdXRPdHA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuSW5wdXRPdHAoaW5wdXRPdHA6IFR5cGU8QnJuSW5wdXRPdHA+KTogRXhpc3RpbmdQcm92aWRlciB7XG5cdHJldHVybiB7IHByb3ZpZGU6IEJybklucHV0T3RwVG9rZW4sIHVzZUV4aXN0aW5nOiBpbnB1dE90cCB9O1xufVxuIl19","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, linkedSignal, model, numberAttribute, output, signal, viewChild, } from '@angular/core';\nimport { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { provideBrnInputOtp } from './brn-input-otp.token';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/forms\";\nexport const BRN_INPUT_OTP_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BrnInputOtp),\n multi: true,\n};\nexport class BrnInputOtp {\n static _id = 0;\n /** Whether the input has focus. */\n _focused = signal(false);\n /** Styles applied to the host element. */\n hostStyles = input('position: relative; cursor: text; user-select: none; pointer-events: none;');\n /** Custom id applied to the input element */\n inputId = input(`brn-input-otp-${++BrnInputOtp._id}`);\n /** Custom autocomplete attribute applied to the input element */\n inputAutocomplete = input('one-time-code');\n /** Styles applied to the input element to make it invisible and clickable. */\n inputStyles = input('position: absolute; inset: 0; width: 100%; height: 100%; display: flex; textAlign: left; opacity: 1; color: transparent; pointerEvents: all; background: transparent; caret-color: transparent; border: 0px solid transparent; outline: transparent solid 0px; box-shadow: none; line-height: 1; letter-spacing: -0.5em; font-family: monospace; font-variant-numeric: tabular-nums;');\n /** Styles applied to the container element. */\n containerStyles = input('position: absolute; inset: 0; pointer-events: none;');\n /** Determine if the date picker is disabled. */\n disabled = input(false, {\n transform: booleanAttribute,\n });\n _disabled = linkedSignal(this.disabled);\n /** The number of slots. */\n maxLength = input.required({ transform: numberAttribute });\n /** Virtual keyboard appearance on mobile */\n inputMode = input('numeric');\n inputClass = input('');\n /** If true, the element is focused automatically on init **/\n autofocus = input(false, { transform: booleanAttribute });\n /**\n * Defines how the pasted text should be transformed before saving to model/form.\n * Allows pasting text which contains extra characters like spaces, dashes, etc. and are longer than the maxLength.\n *\n * \"XXX-XXX\": (pastedText) => pastedText.replaceAll('-', '')\n * \"XXX XXX\": (pastedText) => pastedText.replaceAll(/\\s+/g, '')\n */\n transformPaste = input((text) => text);\n /** The value controlling the input */\n value = model(null);\n /** Emits when the value changes. */\n valueChange = output();\n context = computed(() => {\n const value = this.value() ?? '';\n const focused = this._focused();\n const maxLength = this.maxLength();\n const slots = Array.from({ length: this.maxLength() }).map((_, slotIndex) => {\n const char = value[slotIndex] !== undefined ? value[slotIndex] : null;\n const isActive = focused && (value.length === slotIndex || (value.length === maxLength && slotIndex === maxLength - 1));\n return {\n char,\n isActive,\n hasFakeCaret: isActive && value.length === slotIndex,\n };\n });\n return slots;\n });\n /** Emitted when the input is complete, triggered through input or paste. */\n completed = output();\n _onChange;\n _onTouched;\n _inputComponentRef = viewChild.required('otpInput');\n constructor() {\n afterNextRender(() => {\n if (this.autofocus()) {\n this._inputComponentRef().nativeElement.focus();\n }\n });\n }\n onInputChange(event) {\n let newValue = event.target.value;\n const maxLength = this.maxLength();\n if (newValue.length > maxLength) {\n // Replace the last character when max length is exceeded\n newValue = newValue.slice(0, maxLength - 1) + newValue.slice(-1);\n }\n this.updateValue(newValue, maxLength);\n }\n onPaste(event) {\n event.preventDefault();\n const clipboardData = event.clipboardData?.getData('text/plain') || '';\n const maxLength = this.maxLength();\n const content = this.transformPaste()(clipboardData, maxLength);\n const newValue = content.slice(0, maxLength);\n this.updateValue(newValue, maxLength);\n }\n /** CONTROL VALUE ACCESSOR */\n writeValue(value) {\n this.value.set(value);\n if (value?.length === this.maxLength()) {\n this.completed.emit(value ?? '');\n }\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this._disabled.set(isDisabled);\n }\n isCompleted(newValue, previousValue, maxLength) {\n return newValue !== previousValue && previousValue.length < maxLength && newValue.length === maxLength;\n }\n updateValue(newValue, maxLength) {\n const previousValue = this.value() ?? '';\n this.value.set(newValue);\n this._onChange?.(newValue);\n if (this.isCompleted(newValue, previousValue, maxLength)) {\n this.completed.emit(newValue);\n }\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtp, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnInputOtp, isStandalone: true, selector: \"brn-input-otp\", inputs: { hostStyles: { classPropertyName: \"hostStyles\", publicName: \"hostStyles\", isSignal: true, isRequired: false, transformFunction: null }, inputId: { classPropertyName: \"inputId\", publicName: \"inputId\", isSignal: true, isRequired: false, transformFunction: null }, inputAutocomplete: { classPropertyName: \"inputAutocomplete\", publicName: \"inputAutocomplete\", isSignal: true, isRequired: false, transformFunction: null }, inputStyles: { classPropertyName: \"inputStyles\", publicName: \"inputStyles\", isSignal: true, isRequired: false, transformFunction: null }, containerStyles: { classPropertyName: \"containerStyles\", publicName: \"containerStyles\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: \"maxLength\", publicName: \"maxLength\", isSignal: true, isRequired: true, transformFunction: null }, inputMode: { classPropertyName: \"inputMode\", publicName: \"inputMode\", isSignal: true, isRequired: false, transformFunction: null }, inputClass: { classPropertyName: \"inputClass\", publicName: \"inputClass\", isSignal: true, isRequired: false, transformFunction: null }, autofocus: { classPropertyName: \"autofocus\", publicName: \"autofocus\", isSignal: true, isRequired: false, transformFunction: null }, transformPaste: { classPropertyName: \"transformPaste\", publicName: \"transformPaste\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", valueChange: \"valueChange\", completed: \"completed\" }, host: { attributes: { \"data-input-otp-container\": \"true\" }, properties: { \"style\": \"hostStyles()\" } }, providers: [BRN_INPUT_OTP_VALUE_ACCESSOR, provideBrnInputOtp(BrnInputOtp)], viewQueries: [{ propertyName: \"_inputComponentRef\", first: true, predicate: [\"otpInput\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n\t\t<ng-content />\n\t\t<div [style]=\"containerStyles()\">\n\t\t\t<input\n\t\t\t\t#otpInput\n\t\t\t\t[id]=\"inputId()\"\n\t\t\t\t[class]=\"inputClass()\"\n\t\t\t\t[autocomplete]=\"inputAutocomplete()\"\n\t\t\t\tdata-slot=\"input-otp\"\n\t\t\t\t[style]=\"inputStyles()\"\n\t\t\t\t[disabled]=\"_disabled()\"\n\t\t\t\t[inputMode]=\"inputMode()\"\n\t\t\t\t[ngModel]=\"value()\"\n\t\t\t\t(input)=\"onInputChange($event)\"\n\t\t\t\t(paste)=\"onPaste($event)\"\n\t\t\t\t(focus)=\"_focused.set(true)\"\n\t\t\t\t(blur)=\"_focused.set(false)\"\n\t\t\t/>\n\t\t</div>\n\t`, isInline: true, dependencies: [{ kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i1.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { kind: \"directive\", type: i1.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i1.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtp, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-input-otp',\n imports: [FormsModule],\n providers: [BRN_INPUT_OTP_VALUE_ACCESSOR, provideBrnInputOtp(BrnInputOtp)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style]': 'hostStyles()',\n 'data-input-otp-container': 'true',\n },\n template: `\n\t\t<ng-content />\n\t\t<div [style]=\"containerStyles()\">\n\t\t\t<input\n\t\t\t\t#otpInput\n\t\t\t\t[id]=\"inputId()\"\n\t\t\t\t[class]=\"inputClass()\"\n\t\t\t\t[autocomplete]=\"inputAutocomplete()\"\n\t\t\t\tdata-slot=\"input-otp\"\n\t\t\t\t[style]=\"inputStyles()\"\n\t\t\t\t[disabled]=\"_disabled()\"\n\t\t\t\t[inputMode]=\"inputMode()\"\n\t\t\t\t[ngModel]=\"value()\"\n\t\t\t\t(input)=\"onInputChange($event)\"\n\t\t\t\t(paste)=\"onPaste($event)\"\n\t\t\t\t(focus)=\"_focused.set(true)\"\n\t\t\t\t(blur)=\"_focused.set(false)\"\n\t\t\t/>\n\t\t</div>\n\t`,\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWlucHV0LW90cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vaW5wdXQtb3RwL3NyYy9saWIvYnJuLWlucHV0LW90cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ04sZUFBZSxFQUNmLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFFUixVQUFVLEVBQ1YsS0FBSyxFQUNMLFlBQVksRUFDWixLQUFLLEVBQ0wsZUFBZSxFQUNmLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBNkIsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHM0YsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQUUzRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRztJQUMzQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzFDLEtBQUssRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQWtDRixNQUFNLE9BQU8sV0FBVztJQUNmLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBRXZCLG1DQUFtQztJQUNoQixRQUFRLEdBQUcsTUFBTSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXJELDBDQUEwQztJQUMxQixVQUFVLEdBQUcsS0FBSyxDQUNqQyw0RUFBNEUsQ0FDNUUsQ0FBQztJQUVGLDZDQUE2QztJQUM3QixPQUFPLEdBQUcsS0FBSyxDQUFTLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRTlFLGlFQUFpRTtJQUNqRCxpQkFBaUIsR0FBRyxLQUFLLENBQTBCLGVBQWUsQ0FBQyxDQUFDO0lBRXBGLDhFQUE4RTtJQUM5RCxXQUFXLEdBQUcsS0FB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QztvQkFDMUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDTCxTQUFTLEVBQUUsY0FBYzt3QkFDekIsMEJBQTBCLEVBQUUsTUFBTTtxQkFDbEM7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJUO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQsIE51bWJlcklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdEVsZW1lbnRSZWYsXG5cdGZvcndhcmRSZWYsXG5cdGlucHV0LFxuXHRsaW5rZWRTaWduYWwsXG5cdG1vZGVsLFxuXHRudW1iZXJBdHRyaWJ1dGUsXG5cdG91dHB1dCxcblx0c2lnbmFsLFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdHlwZSBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybXNNb2R1bGUsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBDaGFuZ2VGbiwgVG91Y2hGbiB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2Zvcm1zJztcbmltcG9ydCB0eXBlIHsgQ2xhc3NWYWx1ZSB9IGZyb20gJ2Nsc3gnO1xuaW1wb3J0IHsgcHJvdmlkZUJybklucHV0T3RwIH0gZnJvbSAnLi9icm4taW5wdXQtb3RwLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJSTl9JTlBVVF9PVFBfVkFMVUVfQUNDRVNTT1IgPSB7XG5cdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5JbnB1dE90cCksXG5cdG11bHRpOiB0cnVlLFxufTtcblxuZXhwb3J0IHR5cGUgSW5wdXRNb2RlID0gJ3RleHQnIHwgJ3RlbCcgfCAndXJsJyB8ICdlbWFpbCcgfCAnbnVtZXJpYycgfCAnZGVjaW1hbCcgfCAnc2VhcmNoJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnJuLWlucHV0LW90cCcsXG5cdGltcG9ydHM6IFtGb3Jtc01vZHVsZV0sXG5cdHByb3ZpZGVyczogW0JSTl9JTlBVVF9PVFBfVkFMVUVfQUNDRVNTT1IsIHByb3ZpZGVCcm5JbnB1dE90cChCcm5JbnB1dE90cCldLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdCdbc3R5bGVdJzogJ2hvc3RTdHlsZXMoKScsXG5cdFx0J2RhdGEtaW5wdXQtb3RwLWNvbnRhaW5lcic6ICd0cnVlJyxcblx0fSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctY29udGVudCAvPlxuXHRcdDxkaXYgW3N0eWxlXT1cImNvbnRhaW5lclN0eWxlcygpXCI+XG5cdFx0XHQ8aW5wdXRcblx0XHRcdFx0I290cElucHV0XG5cdFx0XHRcdFtpZF09XCJpbnB1dElkKClcIlxuXHRcdFx0XHRbY2xhc3NdPVwiaW5wdXRDbGFzcygpXCJcblx0XHRcdFx0W2F1dG9jb21wbGV0ZV09XCJpbnB1dEF1dG9jb21wbGV0ZSgpXCJcblx0XHRcdFx0ZGF0YS1zbG90PVwiaW5wdXQtb3RwXCJcblx0XHRcdFx0W3N0eWxlXT1cImlucHV0U3R5bGVzKClcIlxuXHRcdFx0XHRbZGlzYWJsZWRdPVwiX2Rpc2FibGVkKClcIlxuXHRcdFx0XHRbaW5wdXRNb2RlXT1cImlucHV0TW9kZSgpXCJcblx0XHRcdFx0W25nTW9kZWxdPVwidmFsdWUoKVwiXG5cdFx0XHRcdChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuXHRcdFx0XHQocGFzdGUpPVwib25QYXN0ZSgkZXZlbnQpXCJcblx0XHRcdFx0KGZvY3VzKT1cIl9mb2N1c2VkLnNldCh0cnVlKVwiXG5cdFx0XHRcdChibHVyKT1cIl9mb2N1c2VkLnNldChmYWxzZSlcIlxuXHRcdFx0Lz5cblx0XHQ8L2Rpdj5cblx0YCxcbn0pXG5leHBvcnQgY2xhc3MgQnJuSW5wdXRPdHAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdHByaXZhdGUgc3RhdGljIF9pZCA9IDA7XG5cblx0LyoqIFdoZXRoZXIgdGhlIGlucHV0IGhhcyBmb2N1cy4gKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9mb2N1c2VkID0gc2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcblxuXHQvKiogU3R5bGVzIGFwcGxpZWQgdG8gdGhlIGhvc3QgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IGhvc3RTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KFxuXHRcdCdwb3NpdGlvbjogcmVsYXRpdmU7IGN1cnNvcjogdGV4dDsgdXNlci1zZWxlY3Q6IG5vbmU7IHBvaW50ZXItZXZlbnRzOiBub25lOycsXG5cdCk7XG5cblx0LyoqIEN1c3RvbSBpZCBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50ICovXG5cdHB1YmxpYyByZWFkb25seSBpbnB1dElkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWlucHV0LW90cC0keysrQnJuSW5wdXRPdHAuX2lkfWApO1xuXG5cdC8qKiBDdXN0b20gYXV0b2NvbXBsZXRlIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIHRoZSBpbnB1dCBlbGVtZW50ICovXG5cdHB1YmxpYyByZWFkb25seSBpbnB1dEF1dG9jb21wbGV0ZSA9IGlucHV0PCdvbmUtdGltZS1jb2RlJyB8ICdvZmYnPignb25lLXRpbWUtY29kZScpO1xuXG5cdC8qKiBTdHlsZXMgYXBwbGllZCB0byB0aGUgaW5wdXQgZWxlbWVudCB0byBtYWtlIGl0IGludmlzaWJsZSBhbmQgY2xpY2thYmxlLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaW5wdXRTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KFxuXHRcdCdwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyB0ZXh0QWxpZ246IGxlZnQ7IG9wYWNpdHk6IDE7IGNvbG9yOiB0cmFuc3BhcmVudDsgcG9pbnRlckV2ZW50czogYWxsOyBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgY2FyZXQtY29sb3I6IHRyYW5zcGFyZW50OyBib3JkZXI6IDBweCBzb2xpZCB0cmFuc3BhcmVudDsgb3V0bGluZTogdHJhbnNwYXJlbnQgc29saWQgMHB4OyBib3gtc2hhZG93OiBub25lOyBsaW5lLWhlaWdodDogMTsgbGV0dGVyLXNwYWNpbmc6IC0wLjVlbTsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsnLFxuXHQpO1xuXG5cdC8qKiBTdHlsZXMgYXBwbGllZCB0byB0aGUgY29udGFpbmVyIGVsZW1lbnQuICovXG5cdHB1YmxpYyByZWFkb25seSBjb250YWluZXJTdHlsZXMgPSBpbnB1dDxzdHJpbmc+KCdwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsnKTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZSBkYXRlIHBpY2tlciBpcyBkaXNhYmxlZC4gKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuXHRcdHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcblx0fSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9kaXNhYmxlZCA9IGxpbmtlZFNpZ25hbCh0aGlzLmRpc2FibGVkKTtcblxuXHQvKiogVGhlIG51bWJlciBvZiBzbG90cy4gKi9cblx0cHVibGljIHJlYWRvbmx5IG1heExlbmd0aCA9IGlucHV0LnJlcXVpcmVkPG51bWJlciwgTnVtYmVySW5wdXQ+KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSk7XG5cblx0LyoqIFZpcnR1YWwga2V5Ym9hcmQgYXBwZWFyYW5jZSBvbiBtb2JpbGUgKi9cblx0cHVibGljIHJlYWRvbmx5IGlucHV0TW9kZSA9IGlucHV0PElucHV0TW9kZT4oJ251bWVyaWMnKTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgaW5wdXRDbGFzcyA9IGlucHV0PENsYXNzVmFsdWU+KCcnKTtcblxuXHQvKiogSWYgdHJ1ZSwgdGhlIGVsZW1lbnQgaXMgZm9jdXNlZCBhdXRvbWF0aWNhbGx5IG9uIGluaXQgKiovXG5cdHB1YmxpYyByZWFkb25seSBhdXRvZm9jdXMgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHQvKipcblx0ICogRGVmaW5lcyBob3cgdGhlIHBhc3RlZCB0ZXh0IHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBiZWZvcmUgc2F2aW5nIHRvIG1vZGVsL2Zvcm0uXG5cdCAqIEFsbG93cyBwYXN0aW5nIHRleHQgd2hpY2ggY29udGFpbnMgZXh0cmEgY2hhcmFjdGVycyBsaWtlIHNwYWNlcywgZGFzaGVzLCBldGMuIGFuZCBhcmUgbG9uZ2VyIHRoYW4gdGhlIG1heExlbmd0aC5cblx0ICpcblx0ICogXCJYWFgtWFhYXCI6IChwYXN0ZWRUZXh0KSA9PiBwYXN0ZWRUZXh0LnJlcGxhY2VBbGwoJy0nLCAnJylcblx0ICogXCJYWFggWFhYXCI6IChwYXN0ZWRUZXh0KSA9PiBwYXN0ZWRUZXh0LnJlcGxhY2VBbGwoL1xccysvZywgJycpXG5cdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdHJhbnNmb3JtUGFzdGUgPSBpbnB1dDwocGFzdGVkVGV4dDogc3RyaW5nLCBtYXhMZW5ndGg6IG51bWJlcikgPT4gc3RyaW5nPigodGV4dCkgPT4gdGV4dCk7XG5cblx0LyoqIFRoZSB2YWx1ZSBjb250cm9sbGluZyB0aGUgaW5wdXQgKi9cblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cblx0LyoqIEVtaXRzIHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGNvbnRleHQgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCkgPz8gJyc7XG5cdFx0Y29uc3QgZm9jdXNlZCA9IHRoaXMuX2ZvY3VzZWQoKTtcblx0XHRjb25zdCBtYXhMZW5ndGggPSB0aGlzLm1heExlbmd0aCgpO1xuXHRcdGNvbnN0IHNsb3RzID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5tYXhMZW5ndGgoKSB9KS5tYXAoKF8sIHNsb3RJbmRleCkgPT4ge1xuXHRcdFx0Y29uc3QgY2hhciA9IHZhbHVlW3Nsb3RJbmRleF0gIT09IHVuZGVmaW5lZCA/IHZhbHVlW3Nsb3RJbmRleF0gOiBudWxsO1xuXG5cdFx0XHRjb25zdCBpc0FjdGl2ZSA9XG5cdFx0XHRcdGZvY3VzZWQgJiYgKHZhbHVlLmxlbmd0aCA9PT0gc2xvdEluZGV4IHx8ICh2YWx1ZS5sZW5ndGggPT09IG1heExlbmd0aCAmJiBzbG90SW5kZXggPT09IG1heExlbmd0aCAtIDEpKTtcblxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Y2hhcixcblx0XHRcdFx0aXNBY3RpdmUsXG5cdFx0XHRcdGhhc0Zha2VDYXJldDogaXNBY3RpdmUgJiYgdmFsdWUubGVuZ3RoID09PSBzbG90SW5kZXgsXG5cdFx0XHR9O1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIHNsb3RzO1xuXHR9KTtcblxuXHQvKiogRW1pdHRlZCB3aGVuIHRoZSBpbnB1dCBpcyBjb21wbGV0ZSwgdHJpZ2dlcmVkIHRocm91Z2ggaW5wdXQgb3IgcGFzdGUuICAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgY29tcGxldGVkID0gb3V0cHV0PHN0cmluZz4oKTtcblxuXHRwcm90ZWN0ZWQgX29uQ2hhbmdlPzogQ2hhbmdlRm48c3RyaW5nPjtcblx0cHJvdGVjdGVkIF9vblRvdWNoZWQ/OiBUb3VjaEZuO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfaW5wdXRDb21wb25lbnRSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZj4oJ290cElucHV0Jyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdGlmICh0aGlzLmF1dG9mb2N1cygpKSB7XG5cdFx0XHRcdHRoaXMuX2lucHV0Q29tcG9uZW50UmVmKCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KSB7XG5cdFx0bGV0IG5ld1ZhbHVlID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcblx0XHRjb25zdCBtYXhMZW5ndGggPSB0aGlzLm1heExlbmd0aCgpO1xuXG5cdFx0aWYgKG5ld1ZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuXHRcdFx0Ly8gUmVwbGFjZSB0aGUgbGFzdCBjaGFyYWN0ZXIgd2hlbiBtYXggbGVuZ3RoIGlzIGV4Y2VlZGVkXG5cdFx0XHRuZXdWYWx1ZSA9IG5ld1ZhbHVlLnNsaWNlKDAsIG1heExlbmd0aCAtIDEpICsgbmV3VmFsdWUuc2xpY2UoLTEpO1xuXHRcdH1cblxuXHRcdHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUsIG1heExlbmd0aCk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb25QYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdGNvbnN0IGNsaXBib2FyZERhdGEgPSBldmVudC5jbGlwYm9hcmREYXRhPy5nZXREYXRhKCd0ZXh0L3BsYWluJykgfHwgJyc7XG5cblx0XHRjb25zdCBtYXhMZW5ndGggPSB0aGlzLm1heExlbmd0aCgpO1xuXG5cdFx0Y29uc3QgY29udGVudCA9IHRoaXMudHJhbnNmb3JtUGFzdGUoKShjbGlwYm9hcmREYXRhLCBtYXhMZW5ndGgpO1xuXHRcdGNvbnN0IG5ld1ZhbHVlID0gY29udGVudC5zbGljZSgwLCBtYXhMZW5ndGgpO1xuXG5cdFx0dGhpcy51cGRhdGVWYWx1ZShuZXdWYWx1ZSwgbWF4TGVuZ3RoKTtcblx0fVxuXG5cdC8qKiBDT05UUk9MIFZBTFVFIEFDQ0VTU09SICovXG5cdHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IG51bGwpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG5cdFx0aWYgKHZhbHVlPy5sZW5ndGggPT09IHRoaXMubWF4TGVuZ3RoKCkpIHtcblx0XHRcdHRoaXMuY29tcGxldGVkLmVtaXQodmFsdWUgPz8gJycpO1xuXHRcdH1cblx0fVxuXG5cdHJlZ2lzdGVyT25DaGFuZ2UoZm46IENoYW5nZUZuPHN0cmluZz4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuX2Rpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcblx0fVxuXG5cdHByaXZhdGUgaXNDb21wbGV0ZWQobmV3VmFsdWU6IHN0cmluZywgcHJldmlvdXNWYWx1ZTogc3RyaW5nLCBtYXhMZW5ndGg6IG51bWJlcikge1xuXHRcdHJldHVybiBuZXdWYWx1ZSAhPT0gcHJldmlvdXNWYWx1ZSAmJiBwcmV2aW91c1ZhbHVlLmxlbmd0aCA8IG1heExlbmd0aCAmJiBuZXdWYWx1ZS5sZW5ndGggPT09IG1heExlbmd0aDtcblx0fVxuXG5cdHByaXZhdGUgdXBkYXRlVmFsdWUobmV3VmFsdWU6IHN0cmluZywgbWF4TGVuZ3RoOiBudW1iZXIpIHtcblx0XHRjb25zdCBwcmV2aW91c1ZhbHVlID0gdGhpcy52YWx1ZSgpID8/ICcnO1xuXG5cdFx0dGhpcy52YWx1ZS5zZXQobmV3VmFsdWUpO1xuXHRcdHRoaXMuX29uQ2hhbmdlPy4obmV3VmFsdWUpO1xuXG5cdFx0aWYgKHRoaXMuaXNDb21wbGV0ZWQobmV3VmFsdWUsIHByZXZpb3VzVmFsdWUsIG1heExlbmd0aCkpIHtcblx0XHRcdHRoaXMuY29tcGxldGVkLmVtaXQobmV3VmFsdWUpO1xuXHRcdH1cblx0fVxufVxuIl19","import { ChangeDetectionStrategy, Component, computed, input, numberAttribute } from '@angular/core';\nimport { injectBrnInputOtp } from './brn-input-otp.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnInputOtpSlot {\n /** Access the input-otp component */\n _inputOtp = injectBrnInputOtp();\n /** The index of the slot to render the char or a fake caret */\n index = input.required({ transform: numberAttribute });\n _slot = computed(() => this._inputOtp.context()[this.index()]);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtpSlot, deps: [], target: i0.ɵɵFactoryTarget.Component });\n /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: BrnInputOtpSlot, isStandalone: true, selector: \"brn-input-otp-slot\", inputs: { index: { classPropertyName: \"index\", publicName: \"index\", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { \"attr.data-active\": \"_slot().isActive\" } }, ngImport: i0, template: `\n\t\t{{ _slot().char }}\n\n\t\t@if (_slot().hasFakeCaret) {\n\t\t\t<ng-content />\n\t\t}\n\t`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnInputOtpSlot, decorators: [{\n type: Component,\n args: [{\n selector: 'brn-input-otp-slot',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[attr.data-active]': '_slot().isActive',\n },\n template: `\n\t\t{{ _slot().char }}\n\n\t\t@if (_slot().hasFakeCaret) {\n\t\t\t<ng-content />\n\t\t}\n\t`,\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWlucHV0LW90cC1zbG90LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9pbnB1dC1vdHAvc3JjL2xpYi9icm4taW5wdXQtb3RwLXNsb3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQjFELE1BQU0sT0FBTyxlQUFlO0lBQzNCLHFDQUFxQztJQUNsQixTQUFTLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztJQUVuRCwrREFBK0Q7SUFDL0MsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQXNCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFFekUsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7MEhBUHRFLGVBQWU7OEdBQWYsZUFBZSxtUkFSakI7Ozs7OztFQU1UOzsyRkFFVyxlQUFlO2tCQWQzQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxJQUFJLEVBQUU7d0JBQ0wsb0JBQW9CLEVBQUUsa0JBQWtCO3FCQUN4QztvQkFDRCxRQUFRLEVBQUU7Ozs7OztFQU1UO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG51bWJlckF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuSW5wdXRPdHAgfSBmcm9tICcuL2Jybi1pbnB1dC1vdHAudG9rZW4nO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4taW5wdXQtb3RwLXNsb3QnLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdCdbYXR0ci5kYXRhLWFjdGl2ZV0nOiAnX3Nsb3QoKS5pc0FjdGl2ZScsXG5cdH0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0e3sgX3Nsb3QoKS5jaGFyIH19XG5cblx0XHRAaWYgKF9zbG90KCkuaGFzRmFrZUNhcmV0KSB7XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdH1cblx0YCxcbn0pXG5leHBvcnQgY2xhc3MgQnJuSW5wdXRPdHBTbG90IHtcblx0LyoqIEFjY2VzcyB0aGUgaW5wdXQtb3RwIGNvbXBvbmVudCAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2lucHV0T3RwID0gaW5qZWN0QnJuSW5wdXRPdHAoKTtcblxuXHQvKiogVGhlIGluZGV4IG9mIHRoZSBzbG90IHRvIHJlbmRlciB0aGUgY2hhciBvciBhIGZha2UgY2FyZXQgKi9cblx0cHVibGljIHJlYWRvbmx5IGluZGV4ID0gaW5wdXQucmVxdWlyZWQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4oeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3Nsb3QgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9pbnB1dE90cC5jb250ZXh0KClbdGhpcy5pbmRleCgpXSk7XG59XG4iXX0=","import { BrnInputOtp } from './lib/brn-input-otp';\nimport { BrnInputOtpSlot } from './lib/brn-input-otp-slot';\nexport * from './lib/brn-input-otp';\nexport * from './lib/brn-input-otp-slot';\nexport const BrnInputOtpImports = [BrnInputOtp, BrnInputOtpSlot];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2lucHV0LW90cC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUUzRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMEJBQTBCLENBQUM7QUFFekMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm5JbnB1dE90cCB9IGZyb20gJy4vbGliL2Jybi1pbnB1dC1vdHAnO1xuaW1wb3J0IHsgQnJuSW5wdXRPdHBTbG90IH0gZnJvbSAnLi9saWIvYnJuLWlucHV0LW90cC1zbG90JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWlucHV0LW90cCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4taW5wdXQtb3RwLXNsb3QnO1xuXG5leHBvcnQgY29uc3QgQnJuSW5wdXRPdHBJbXBvcnRzID0gW0JybklucHV0T3RwLCBCcm5JbnB1dE90cFNsb3RdIGFzIGNvbnN0O1xuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1pbnB1dC1vdHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2lucHV0LW90cC9zcmMvc3BhcnRhbi1uZy1icmFpbi1pbnB1dC1vdHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":";;;;;AACO,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAAC,kBAAkB,CAAC;AAC/D,SAAS,iBAAiB,GAAG;AACpC,IAAI,OAAO,MAAM,CAAC,gBAAgB,CAAC;AACnC;AACO,SAAS,kBAAkB,CAAC,QAAQ,EAAE;AAC7C,IAAI,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE;AAC/D;;ACFY,MAAC,4BAA4B,GAAG;AAC5C,IAAI,OAAO,EAAE,iBAAiB;AAC9B,IAAI,WAAW,EAAE,UAAU,CAAC,MAAM,WAAW,CAAC;AAC9C,IAAI,KAAK,EAAE,IAAI;AACf;AACO,MAAM,WAAW,CAAC;AACzB,IAAI,OAAO,GAAG,GAAG,CAAC;AAClB;AACA,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;AAC5B;AACA,IAAI,UAAU,GAAG,KAAK,CAAC,4EAA4E,CAAC;AACpG;AACA,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,cAAc,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACzD;AACA,IAAI,iBAAiB,GAAG,KAAK,CAAC,eAAe,CAAC;AAC9C;AACA,IAAI,WAAW,GAAG,KAAK,CAAC,sXAAsX,CAAC;AAC/Y;AACA,IAAI,eAAe,GAAG,KAAK,CAAC,qDAAqD,CAAC;AAClF;AACA,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE;AAC5B,QAAQ,SAAS,EAAE,gBAAgB;AACnC,KAAK,CAAC;AACN,IAAI,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC3C;AACA,IAAI,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC9D;AACA,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAChC,IAAI,UAAU,GAAG,KAAK,CAAC,EAAE,CAAC;AAC1B;AACA,IAAI,SAAS,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,GAAG,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;AAC1C;AACA,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;AACvB;AACA,IAAI,WAAW,GAAG,MAAM,EAAE;AAC1B,IAAI,OAAO,GAAG,QAAQ,CAAC,MAAM;AAC7B,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;AACxC,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE;AACvC,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAC1C,QAAQ,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,KAAK;AACrF,YAAY,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI;AACjF,YAAY,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,SAAS,KAAK,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC,CAAC;AACnI,YAAY,OAAO;AACnB,gBAAgB,IAAI;AACpB,gBAAgB,QAAQ;AACxB,gBAAgB,YAAY,EAAE,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;AACpE,aAAa;AACb,SAAS,CAAC;AACV,QAAQ,OAAO,KAAK;AACpB,KAAK,CAAC;AACN;AACA,IAAI,SAAS,GAAG,MAAM,EAAE;AACxB,IAAI,SAAS;AACb,IAAI,UAAU;AACd,IAAI,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;AACvD,IAAI,WAAW,GAAG;AAClB,QAAQ,eAAe,CAAC,MAAM;AAC9B,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AAClC,gBAAgB,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE;AAC/D;AACA,SAAS,CAAC;AACV;AACA,IAAI,aAAa,CAAC,KAAK,EAAE;AACzB,QAAQ,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK;AACzC,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAC1C,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,EAAE;AACzC;AACA,YAAY,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5E;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC7C;AACA,IAAI,OAAO,CAAC,KAAK,EAAE;AACnB,QAAQ,KAAK,CAAC,cAAc,EAAE;AAC9B,QAAQ,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE;AAC9E,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAC1C,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;AACvE,QAAQ,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;AACpD,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;AAC7C;AACA;AACA,IAAI,UAAU,CAAC,KAAK,EAAE;AACtB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAC7B,QAAQ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE;AAChD,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;AAC5C;AACA;AACA,IAAI,gBAAgB,CAAC,EAAE,EAAE;AACzB,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B;AACA,IAAI,iBAAiB,CAAC,EAAE,EAAE;AAC1B,QAAQ,IAAI,CAAC,UAAU,GAAG,EAAE;AAC5B;AACA,IAAI,gBAAgB,CAAC,UAAU,EAAE;AACjC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;AACtC;AACA,IAAI,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE;AACpD,QAAQ,OAAO,QAAQ,KAAK,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS;AAC9G;AACA,IAAI,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE;AACrC,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;AAChD,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AAChC,QAAQ,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AAClC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE;AAClE,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;AACzC;AACA;AACA,uBAAuB,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AACxL,uBAAuB,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,0BAA0B,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,4BAA4B,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;AACvrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,QAAQ,EAAE,8MAA8M,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,2CAA2C,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;AACltB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AACrH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,eAAe;AAC7C,oBAAoB,OAAO,EAAE,CAAC,WAAW,CAAC;AAC1C,oBAAoB,SAAS,EAAE,CAAC,4BAA4B,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAC9F,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,SAAS,EAAE,cAAc;AACjD,wBAAwB,0BAA0B,EAAE,MAAM;AAC1D,qBAAqB;AACrB,oBAAoB,QAAQ,EAAE;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC;AACF,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;;AC1KhC,MAAM,eAAe,CAAC;AAC7B;AACA,IAAI,SAAS,GAAG,iBAAiB,EAAE;AACnC;AACA,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;AAC1D,IAAI,KAAK,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAClE,uBAAuB,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;AAC5L,uBAAuB,OAAO,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;AAChZ;;AAEA;AACA;AACA;AACA,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;AACzE;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;AACzH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,oBAAoB;AAClD,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,oBAAoB,EAAE,kBAAkB;AAChE,qBAAqB;AACrB,oBAAoB,QAAQ,EAAE;AAC9B;;AAEA;AACA;AACA;AACA,CAAC,CAAC;AACF,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;AC9BD,MAAC,kBAAkB,GAAG,CAAC,WAAW,EAAE,eAAe;;ACJ/D;AACA;AACA;;;;"}
@@ -1,4 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { ElementRef } from '@angular/core';
2
3
  import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
3
4
  import { ControlValueAccessor } from '@angular/forms';
4
5
  import { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';
@@ -12,10 +13,15 @@ declare const BRN_INPUT_OTP_VALUE_ACCESSOR: {
12
13
  };
13
14
  type InputMode = 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';
14
15
  declare class BrnInputOtp implements ControlValueAccessor {
16
+ private static _id;
15
17
  /** Whether the input has focus. */
16
18
  protected readonly _focused: _angular_core.WritableSignal<boolean>;
17
19
  /** Styles applied to the host element. */
18
20
  readonly hostStyles: _angular_core.InputSignal<string>;
21
+ /** Custom id applied to the input element */
22
+ readonly inputId: _angular_core.InputSignal<string>;
23
+ /** Custom autocomplete attribute applied to the input element */
24
+ readonly inputAutocomplete: _angular_core.InputSignal<"one-time-code" | "off">;
19
25
  /** Styles applied to the input element to make it invisible and clickable. */
20
26
  readonly inputStyles: _angular_core.InputSignal<string>;
21
27
  /** Styles applied to the container element. */
@@ -28,6 +34,8 @@ declare class BrnInputOtp implements ControlValueAccessor {
28
34
  /** Virtual keyboard appearance on mobile */
29
35
  readonly inputMode: _angular_core.InputSignal<InputMode>;
30
36
  readonly inputClass: _angular_core.InputSignal<ClassValue>;
37
+ /** If true, the element is focused automatically on init **/
38
+ readonly autofocus: _angular_core.InputSignalWithTransform<boolean, BooleanInput>;
31
39
  /**
32
40
  * Defines how the pasted text should be transformed before saving to model/form.
33
41
  * Allows pasting text which contains extra characters like spaces, dashes, etc. and are longer than the maxLength.
@@ -49,6 +57,8 @@ declare class BrnInputOtp implements ControlValueAccessor {
49
57
  readonly completed: _angular_core.OutputEmitterRef<string>;
50
58
  protected _onChange?: ChangeFn<string>;
51
59
  protected _onTouched?: TouchFn;
60
+ protected readonly _inputComponentRef: _angular_core.Signal<ElementRef<any>>;
61
+ constructor();
52
62
  protected onInputChange(event: Event): void;
53
63
  protected onPaste(event: ClipboardEvent): void;
54
64
  /** CONTROL VALUE ACCESSOR */
@@ -59,7 +69,7 @@ declare class BrnInputOtp implements ControlValueAccessor {
59
69
  private isCompleted;
60
70
  private updateValue;
61
71
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BrnInputOtp, never>;
62
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BrnInputOtp, "brn-input-otp", never, { "hostStyles": { "alias": "hostStyles"; "required": false; "isSignal": true; }; "inputStyles": { "alias": "inputStyles"; "required": false; "isSignal": true; }; "containerStyles": { "alias": "containerStyles"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": true; "isSignal": true; }; "inputMode": { "alias": "inputMode"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; "transformPaste": { "alias": "transformPaste"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; "completed": "completed"; }, never, ["*"], true, never>;
72
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BrnInputOtp, "brn-input-otp", never, { "hostStyles": { "alias": "hostStyles"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "inputAutocomplete": { "alias": "inputAutocomplete"; "required": false; "isSignal": true; }; "inputStyles": { "alias": "inputStyles"; "required": false; "isSignal": true; }; "containerStyles": { "alias": "containerStyles"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": true; "isSignal": true; }; "inputMode": { "alias": "inputMode"; "required": false; "isSignal": true; }; "inputClass": { "alias": "inputClass"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "transformPaste": { "alias": "transformPaste"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "valueChange": "valueChange"; "completed": "completed"; }, never, ["*"], true, never>;
63
73
  }
64
74
 
65
75
  declare class BrnInputOtpSlot {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spartan-ng/brain",
3
- "version": "0.0.1-alpha.605",
3
+ "version": "0.0.1-alpha.607",
4
4
  "sideEffects": false,
5
5
  "exports": {
6
6
  "./hlm-tailwind-preset": {