@energinet/watt 4.1.32 → 4.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,7 +83,7 @@ export class WattFieldComponent {
83
83
  }
84
84
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
85
85
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.6", type: WattFieldComponent, isStandalone: true, selector: "watt-field", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, chipMode: { classPropertyName: "chipMode", publicName: "chipMode", isSignal: true, isRequired: false, transformFunction: null }, tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, anchorName: { classPropertyName: "anchorName", publicName: "anchorName", isSignal: true, isRequired: false, transformFunction: null }, displayMode: { classPropertyName: "displayMode", publicName: "displayMode", isSignal: true, isRequired: false, transformFunction: null }, autoFocus: { classPropertyName: "autoFocus", publicName: "autoFocus", isSignal: true, isRequired: false, transformFunction: null }, showErrors: { classPropertyName: "showErrors", publicName: "showErrors", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.watt-field--disabled": "control()?.disabled", "class.watt-field--show-errors": "showErrors()", "class": "className()" } }, viewQueries: [{ propertyName: "labelElement", first: true, predicate: ["label"], descendants: true, isSignal: true }, { propertyName: "wattLabelElement", first: true, predicate: ["wattLabel"], descendants: true, isSignal: true }, { propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, isSignal: true }], ngImport: i0, template: `
86
- @if (chipMode()) {
86
+ @if (chipMode() || displayMode() !== 'box') {
87
87
  <span [attr.autofocus]="autoFocus() || null" class="watt-label" #wattLabel>
88
88
  <ng-container *ngTemplateOutlet="template" />
89
89
  </span>
@@ -129,7 +129,7 @@ export class WattFieldComponent {
129
129
  <watt-field-error>{{ intl.required }}</watt-field-error>
130
130
  }
131
131
  </ng-template>
132
- `, isInline: true, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning),watt-field:has(.ng-valid) :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,form.ng-submitted watt-field:has(.ng-invalid) watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label.required:after,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label.required:after,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid):has(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field:has(watt-field-error,watt-field-warning){padding-bottom:0}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip,:has(watt-field-hint)){padding-bottom:20px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\"}watt-field label,watt-field .watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field label .watt-field-wrapper,watt-field .watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding:0 var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field label .watt-field-wrapper:focus-within,watt-field .watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field label watt-field-hint,watt-field label watt-field-error,watt-field label watt-field-warning,watt-field .watt-label watt-field-hint,watt-field .watt-label watt-field-error,watt-field .watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field .watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding:0 var(--watt-space-s)}watt-field:not(.watt-field--box) .watt-field-wrapper{border:none;padding:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field.watt-field--box .watt-field-wrapper{min-height:46px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "directive", type: WattTooltipDirective, selector: "[wattTooltip]", inputs: ["wattTooltip", "wattTooltipPosition", "wattTooltipVariant"], exportAs: ["wattTooltip"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "directive", type: VaterUtilityDirective, selector: "[vater]", inputs: ["center", "fill", "inset", "scrollable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
132
+ `, isInline: true, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning),watt-field:has(.ng-valid) :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,form.ng-submitted watt-field:has(.ng-invalid) watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label.required:after,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label.required:after,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid):has(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field:has(watt-field-error,watt-field-warning){padding-bottom:0}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip,:has(watt-field-hint)){padding-bottom:20px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\"}watt-field>label,watt-field>.watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field>label .watt-field-wrapper,watt-field>.watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding:0 var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field>label .watt-field-wrapper:focus-within,watt-field>.watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field>label watt-field-hint,watt-field>label watt-field-error,watt-field>label watt-field-warning,watt-field>.watt-label watt-field-hint,watt-field>.watt-label watt-field-error,watt-field>.watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field>label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field>.watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding:0 var(--watt-space-s)}watt-field:not(.watt-field--box) .watt-field-wrapper{border:none;padding:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field.watt-field--box .watt-field-wrapper{min-height:46px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: WattIconComponent, selector: "watt-icon", inputs: ["name", "label", "size", "state"] }, { kind: "directive", type: WattTooltipDirective, selector: "[wattTooltip]", inputs: ["wattTooltip", "wattTooltipPosition", "wattTooltipVariant"], exportAs: ["wattTooltip"] }, { kind: "component", type: WattFieldErrorComponent, selector: "watt-field-error" }, { kind: "component", type: VaterFlexComponent, selector: "vater-flex, [vater-flex]", inputs: ["autoSize"] }, { kind: "directive", type: VaterUtilityDirective, selector: "[vater]", inputs: ["center", "fill", "inset", "scrollable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
133
133
  }
134
134
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattFieldComponent, decorators: [{
135
135
  type: Component,
@@ -141,7 +141,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
141
141
  VaterFlexComponent,
142
142
  VaterUtilityDirective,
143
143
  ], template: `
144
- @if (chipMode()) {
144
+ @if (chipMode() || displayMode() !== 'box') {
145
145
  <span [attr.autofocus]="autoFocus() || null" class="watt-label" #wattLabel>
146
146
  <ng-container *ngTemplateOutlet="template" />
147
147
  </span>
@@ -191,6 +191,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
191
191
  '[class.watt-field--disabled]': 'control()?.disabled',
192
192
  '[class.watt-field--show-errors]': 'showErrors()',
193
193
  '[class]': 'className()',
194
- }, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning),watt-field:has(.ng-valid) :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,form.ng-submitted watt-field:has(.ng-invalid) watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label.required:after,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label.required:after,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid):has(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field:has(watt-field-error,watt-field-warning){padding-bottom:0}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip,:has(watt-field-hint)){padding-bottom:20px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\"}watt-field label,watt-field .watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field label .watt-field-wrapper,watt-field .watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding:0 var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field label .watt-field-wrapper:focus-within,watt-field .watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field label watt-field-hint,watt-field label watt-field-error,watt-field label watt-field-warning,watt-field .watt-label watt-field-hint,watt-field .watt-label watt-field-error,watt-field .watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field .watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding:0 var(--watt-space-s)}watt-field:not(.watt-field--box) .watt-field-wrapper{border:none;padding:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field.watt-field--box .watt-field-wrapper{min-height:46px}\n"] }]
194
+ }, styles: ["[watt-field-disabled=true] watt-field .label,.watt-field--disabled .label{color:var(--watt-disabled-text-label-color)}[watt-field-disabled=true] .watt-field-wrapper,.watt-field--disabled .watt-field-wrapper{background-color:var(--watt-field-disabled-background-color)}watt-field watt-field-hint{display:block}watt-field :is(watt-field-error,watt-field-warning),.ng-valid watt-field :is(watt-field-error,watt-field-warning),watt-field:has(.ng-valid) :is(watt-field-error,watt-field-warning){display:none}form.ng-submitted .ng-invalid watt-field watt-field-hint,form.ng-submitted watt-field:has(.ng-invalid) watt-field-hint,:not(form).ng-touched.ng-invalid watt-field watt-field-hint{display:none}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors :is(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors :is(watt-field-error,watt-field-warning){display:block}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .watt-field-wrapper{border-color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors .label.required:after,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors .label.required:after,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors .label.required:after{color:var(--watt-color-state-danger)}form.ng-submitted .ng-invalid watt-field:has(watt-field-error,watt-field-warning),form.ng-submitted watt-field:has(.ng-invalid):has(watt-field-error,watt-field-warning),:not(form).ng-touched.ng-invalid watt-field:has(watt-field-error,watt-field-warning){padding-bottom:0}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .label{color:var(--watt-text-color)}form.ng-submitted .ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,form.ng-submitted watt-field:has(.ng-invalid).watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper,:not(form).ng-touched.ng-invalid watt-field.watt-field--show-errors:has(watt-field-warning):not(:has(watt-field-error)) .watt-field-wrapper{border-color:var(--watt-color-state-warning)}.watt-field-wrapper input{width:100%;border:none;outline:none;background-color:transparent}.watt-field-placeholder{position:absolute;padding:1px 2px;pointer-events:none;white-space:nowrap}.watt-field--has-placeholder input,.watt-field-placeholder{font-family:Droid Sans Mono,monospace;letter-spacing:-.03em}.watt-field-filler{color:var(--watt-on-light-low-emphasis)}.watt-field-ghost{color:transparent}watt-field{--watt-text-color: var(--watt-on-light-high-emphasis);--watt-disabled-text-label-color: var(--watt-on-light-low-emphasis);--watt-field-disabled-background-color: var(--watt-color-neutral-grey-100);--watt-input-border-radius: 4px;--watt-border-color: var(--watt-on-light-low-emphasis);--watt-label-text-color: var(--watt-text-color);width:100%;display:block}watt-field:not(.watt-field--chip,:has(watt-field-hint)){padding-bottom:20px}watt-field .label{min-height:27px;display:flex;align-items:center}watt-field .label watt-icon{margin-left:var(--watt-space-s)}watt-field .label watt-tooltip{max-width:250px}watt-field .label.required:after{content:\"*\"}watt-field>label,watt-field>.watt-label{color:var(--watt-label-text-color);display:block;width:100%}watt-field>label .watt-field-wrapper,watt-field>.watt-label .watt-field-wrapper{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0;display:flex;position:relative;width:100%;padding:0 var(--watt-space-s);border-radius:var(--watt-input-border-radius);border:1px solid var(--watt-border-color);overflow:hidden;color:var(--watt-text-color);align-items:center;gap:var(--watt-space-m);background-color:var(--watt-color-neutral-white)}watt-field>label .watt-field-wrapper:focus-within,watt-field>.watt-label .watt-field-wrapper:focus-within{--watt-border-color: var(--watt-color-primary)}watt-field>label watt-field-hint,watt-field>label watt-field-error,watt-field>label watt-field-warning,watt-field>.watt-label watt-field-hint,watt-field>.watt-label watt-field-error,watt-field>.watt-label watt-field-warning{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0}watt-field>label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning),watt-field>.watt-label :not(.watt-field--chip) :is(watt-field-hint,watt-field-error,watt-field-warning){padding:0 var(--watt-space-s)}watt-field:not(.watt-field--box) .watt-field-wrapper{border:none;padding:0}watt-field.watt-field--chip watt-field-hint,watt-field.watt-field--chip watt-field-error,watt-field.watt-field--chip watt-field-warning{margin-top:var(--watt-space-xs)}watt-field.watt-field--box .watt-field-wrapper{min-height:46px}\n"] }]
195
195
  }], ctorParameters: () => [], propDecorators: { control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], chipMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "chipMode", required: false }] }], tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], anchorName: [{ type: i0.Input, args: [{ isSignal: true, alias: "anchorName", required: false }] }], displayMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "displayMode", required: false }] }], autoFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoFocus", required: false }] }], labelElement: [{ type: i0.ViewChild, args: ['label', { isSignal: true }] }], wattLabelElement: [{ type: i0.ViewChild, args: ['wattLabel', { isSignal: true }] }], showErrors: [{ type: i0.Input, args: [{ isSignal: true, alias: "showErrors", required: false }] }], wrapper: [{ type: i0.ViewChild, args: ['wrapper', { isSignal: true }] }] } });
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9maWVsZC93YXR0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFxRW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFBSSxHQUFHLE1BQU0sQ0FB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LElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7dUdBakZVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLGcwREF0RG5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCx5b0xBdkRDLGdCQUFnQixvSkFDaEIsaUJBQWlCLGtHQUNqQixvQkFBb0IsMkpBQ3BCLHVCQUF1Qiw2REFDdkIsa0JBQWtCLDJGQUNsQixxQkFBcUI7OzJGQXlEWixrQkFBa0I7a0JBbkU5QixTQUFTOytCQUNFLFlBQVksbUJBQ0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3FCQUN0QixZQUVTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCxRQUNLO3dCQUNKLDhCQUE4QixFQUFFLHFCQUFxQjt3QkFDckQsaUNBQWlDLEVBQUUsY0FBYzt3QkFDakQsU0FBUyxFQUFFLGFBQWE7cUJBQ3pCO2c4QkF1QnNELE9BQU8sMEVBQ0osV0FBVyxxS0FZckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFdhdHRJY29uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ljb24nO1xuaW1wb3J0IHsgV2F0dFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvdG9vbHRpcCc7XG5pbXBvcnQgeyBWYXRlckZsZXhDb21wb25lbnQsIFZhdGVyVXRpbGl0eURpcmVjdGl2ZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC92YXRlcic7XG5pbXBvcnQgeyBXYXR0UmFuZ2VWYWxpZGF0b3JzIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3ZhbGlkYXRvcnMnO1xuXG5pbXBvcnQgeyBXYXR0RmllbGRJbnRsU2VydmljZSB9IGZyb20gJy4vd2F0dC1maWVsZC1pbnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZmllbGQtZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YXR0LWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFdhdHRJY29uQ29tcG9uZW50LFxuICAgIFdhdHRUb29sdGlwRGlyZWN0aXZlLFxuICAgIFdhdHRGaWVsZEVycm9yQ29tcG9uZW50LFxuICAgIFZhdGVyRmxleENvbXBvbmVudCxcbiAgICBWYXRlclV0aWxpdHlEaXJlY3RpdmUsXG4gIF0sXG4gIHN0eWxlVXJsczogWycuL3dhdHQtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGNoaXBNb2RlKCkpIHtcbiAgICAgIDxzcGFuIFthdHRyLmF1dG9mb2N1c109XCJhdXRvRm9jdXMoKSB8fCBudWxsXCIgY2xhc3M9XCJ3YXR0LWxhYmVsXCIgI3dhdHRMYWJlbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCIgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxsYWJlbCBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b0ZvY3VzKCkgfHwgbnVsbFwiIFthdHRyLmZvcl09XCJpZCgpXCIgI2xhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIiAvPlxuICAgICAgPC9sYWJlbD5cbiAgICB9XG5cbiAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgICAgQGlmIChsYWJlbCgpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbY2xhc3MucmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCI+XG4gICAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICAgIEBpZiAodG9vbHRpcCgpOyBhcyB0b29sdGlwKSB7XG4gICAgICAgICAgICA8d2F0dC1pY29uIG5hbWU9XCJpbmZvXCIgd2F0dFRvb2x0aXBQb3NpdGlvbj1cInRvcFwiIFt3YXR0VG9vbHRpcF09XCJ0b29sdGlwXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDx2YXRlci1mbGV4IGRpcmVjdGlvbj1cInJvd1wiIGdhcD1cInNcIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgdmF0ZXJcbiAgICAgICAgICBmaWxsPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgI3dyYXBwZXJcbiAgICAgICAgICBjbGFzcz1cIndhdHQtZmllbGQtd3JhcHBlclwiXG4gICAgICAgICAgW2NsYXNzLndhdHQtZmllbGQtLWhhcy1wbGFjZWhvbGRlcl09XCIhIXBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgIFtzdHlsZS5hbmNob3ItbmFtZV09XCJhbmNob3JOYW1lKClcIlxuICAgICAgICA+XG4gICAgICAgICAgQGlmIChwbGFjZWhvbGRlcigpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F0dC1maWVsZC1wbGFjZWhvbGRlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndhdHQtZmllbGQtZ2hvc3RcIj57eyBnaG9zdCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndhdHQtZmllbGQtZmlsbGVyXCI+e3sgZmlsbGVyKCkgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtZGVzY3JpcHRvclwiIC8+XG4gICAgICA8L3ZhdGVyLWZsZXg+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcG9wb3Zlcl1cIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC13YXJuaW5nXCIgLz5cbiAgICAgIEBpZiAoaXNFbXB0eSgpKSB7XG4gICAgICAgIDx3YXR0LWZpZWxkLWVycm9yPnt7IGludGwucmVxdWlyZWQgfX08L3dhdHQtZmllbGQtZXJyb3I+XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Mud2F0dC1maWVsZC0tZGlzYWJsZWRdJzogJ2NvbnRyb2woKT8uZGlzYWJsZWQnLFxuICAgICdbY2xhc3Mud2F0dC1maWVsZC0tc2hvdy1lcnJvcnNdJzogJ3Nob3dFcnJvcnMoKScsXG4gICAgJ1tjbGFzc10nOiAnY2xhc3NOYW1lKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RmllbGRDb21wb25lbnQge1xuICBpbnRsID0gaW5qZWN0KFdhdHRGaWVsZEludGxTZXJ2aWNlKTtcbiAgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPihFbGVtZW50UmVmKTtcblxuICBjb250cm9sID0gaW5wdXQ8Rm9ybUNvbnRyb2wgfCBudWxsPihudWxsKTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGlkID0gaW5wdXQ8c3RyaW5nPigpO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIGBkaXNwbGF5TW9kZWAgaW5zdGVhZC4gKi9cbiAgY2hpcE1vZGUgPSBpbnB1dChmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQoJycpO1xuICBhbmNob3JOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkaXNwbGF5TW9kZSA9IGlucHV0PCdib3gnIHwgJ2NoaXAnIHwgJ2NvbnRlbnQnPignYm94Jyk7XG4gIGNsYXNzTmFtZSA9IGNvbXB1dGVkKCgpID0+IGB3YXR0LWZpZWxkLS0ke3RoaXMuY2hpcE1vZGUoKSA/ICdjaGlwJyA6IHRoaXMuZGlzcGxheU1vZGUoKX1gKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgc2hvdWxkIHJlY2VpdmUgZm9jdXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlbmRlcmVkLlxuICAgKi9cbiAgYXV0b0ZvY3VzID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGxhYmVsRWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxMYWJlbEVsZW1lbnQ+PignbGFiZWwnKTtcbiAgd2F0dExhYmVsRWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4+KCd3YXR0TGFiZWwnKTtcblxuICB2YWx1ZSA9IHNpZ25hbCgnJyk7XG4gIGZpbGxlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGxhY2Vob2xkZXIoKS5zbGljZSh0aGlzLnZhbHVlKCkubGVuZ3RoKSk7XG4gIGdob3N0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZSgpLnNsaWNlKDAsIHRoaXMucGxhY2Vob2xkZXIoKS5sZW5ndGgpKTtcblxuICBlcnJvcnMgPSBzaWduYWw8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuICBpc1JlcXVpcmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZXJyb3JzKCk/LlsncmVxdWlyZWQnXSB8fCB0aGlzLmVycm9ycygpPy5bJ3JhbmdlUmVxdWlyZWQnXSk7XG4gIHNob3dFcnJvcnMgPSBpbnB1dCh0cnVlKTtcblxuICAvLyBVc2VkIGZvciB0ZXh0IGZpZWxkcyB3aXRoIGF1dG9jb21wbGV0ZVxuICB3cmFwcGVyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCd3cmFwcGVyJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgY29udHJvbCQgPSB0b09ic2VydmFibGUodGhpcy5jb250cm9sKS5waXBlKGZpbHRlcigoY29udHJvbCkgPT4gY29udHJvbCAhPT0gbnVsbCkpO1xuXG4gICAgLy8gVHJhY2sgdmFsdWUgaW4gb3JkZXIgdG8gdXBkYXRlIGdob3N0IGFuZCBmaWxsZXJcbiAgICBjb25zdCB2YWx1ZSQgPSBjb250cm9sJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjb250cm9sKSA9PlxuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/ICcnIDogdmFsdWUudG9TdHJpbmcoKSkpLFxuICAgICAgICAgIHRhcCgodmFsdWUpID0+IHRoaXMudmFsdWUuc2V0KHZhbHVlKSlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgKTtcblxuICAgIC8vIFRyYWNrIHN0YXR1cyBpbiBvcmRlciB0byB1cGRhdGUgcmVxdWlyZWQgc3RhdGUgYW5kIHNob3cgZXJyb3JzXG4gICAgY29uc3Qgc3RhdHVzJCA9IGNvbnRyb2wkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2wpID0+XG4gICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sLnN0YXR1cyksXG4gICAgICAgICAgdGFwKCgpID0+IHRoaXMuaXNSZXF1aXJlZC5zZXQodGhpcy5pc1JlcXVpcmVkQ29udHJvbChjb250cm9sKSkpLFxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmVycm9ycy5zZXQoY29udHJvbC5lcnJvcnMpKVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICApO1xuXG4gICAgLy8gU3Vic2NyaWJlIGZvciBzaWRlIGVmZmVjdHNcbiAgICB2YWx1ZSQuc3Vic2NyaWJlKCk7XG4gICAgc3RhdHVzJC5zdWJzY3JpYmUoKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvRm9jdXMoKSkge1xuICAgICAgICBpZiAodGhpcy5jaGlwTW9kZSgpKSB7XG4gICAgICAgICAgdGhpcy53YXR0TGFiZWxFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxhYmVsRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzUmVxdWlyZWRDb250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sKSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBXYXR0UmFuZ2VWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICByZXR1cm4gdmFsaWRhdG9ycy5zb21lKCh2YWxpZGF0b3IpID0+IGNvbnRyb2wuaGFzVmFsaWRhdG9yKHZhbGlkYXRvcikpO1xuICB9XG59XG4iXX0=
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9maWVsZC93YXR0LWZpZWxkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFpQyxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFxRW5ELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsSUFBSSxHQUFHLE1BQU0sQ0FB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LElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7dUdBakZVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLGcwREF0RG5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCx5b0xBdkRDLGdCQUFnQixvSkFDaEIsaUJBQWlCLGtHQUNqQixvQkFBb0IsMkpBQ3BCLHVCQUF1Qiw2REFDdkIsa0JBQWtCLDJGQUNsQixxQkFBcUI7OzJGQXlEWixrQkFBa0I7a0JBbkU5QixTQUFTOytCQUNFLFlBQVksbUJBQ0wsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDUCxnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLGtCQUFrQjt3QkFDbEIscUJBQXFCO3FCQUN0QixZQUVTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStDVCxRQUNLO3dCQUNKLDhCQUE4QixFQUFFLHFCQUFxQjt3QkFDckQsaUNBQWlDLEVBQUUsY0FBYzt3QkFDakQsU0FBUyxFQUFFLGFBQWE7cUJBQ3pCO2c4QkF1QnNELE9BQU8sMEVBQ0osV0FBVyxxS0FZckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgZWZmZWN0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG4gIHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5cbmltcG9ydCB7IFdhdHRJY29uQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ljb24nO1xuaW1wb3J0IHsgV2F0dFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICdAZW5lcmdpbmV0L3dhdHQvdG9vbHRpcCc7XG5pbXBvcnQgeyBWYXRlckZsZXhDb21wb25lbnQsIFZhdGVyVXRpbGl0eURpcmVjdGl2ZSB9IGZyb20gJ0BlbmVyZ2luZXQvd2F0dC92YXRlcic7XG5pbXBvcnQgeyBXYXR0UmFuZ2VWYWxpZGF0b3JzIH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L3ZhbGlkYXRvcnMnO1xuXG5pbXBvcnQgeyBXYXR0RmllbGRJbnRsU2VydmljZSB9IGZyb20gJy4vd2F0dC1maWVsZC1pbnRsLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2F0dEZpZWxkRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtZmllbGQtZXJyb3IuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd3YXR0LWZpZWxkJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFdhdHRJY29uQ29tcG9uZW50LFxuICAgIFdhdHRUb29sdGlwRGlyZWN0aXZlLFxuICAgIFdhdHRGaWVsZEVycm9yQ29tcG9uZW50LFxuICAgIFZhdGVyRmxleENvbXBvbmVudCxcbiAgICBWYXRlclV0aWxpdHlEaXJlY3RpdmUsXG4gIF0sXG4gIHN0eWxlVXJsczogWycuL3dhdHQtZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGNoaXBNb2RlKCkgfHwgZGlzcGxheU1vZGUoKSAhPT0gJ2JveCcpIHtcbiAgICAgIDxzcGFuIFthdHRyLmF1dG9mb2N1c109XCJhdXRvRm9jdXMoKSB8fCBudWxsXCIgY2xhc3M9XCJ3YXR0LWxhYmVsXCIgI3dhdHRMYWJlbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlXCIgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxsYWJlbCBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b0ZvY3VzKCkgfHwgbnVsbFwiIFthdHRyLmZvcl09XCJpZCgpXCIgI2xhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIiAvPlxuICAgICAgPC9sYWJlbD5cbiAgICB9XG5cbiAgICA8bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICAgICAgQGlmIChsYWJlbCgpKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIiBbY2xhc3MucmVxdWlyZWRdPVwiaXNSZXF1aXJlZCgpXCI+XG4gICAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICAgIEBpZiAodG9vbHRpcCgpOyBhcyB0b29sdGlwKSB7XG4gICAgICAgICAgICA8d2F0dC1pY29uIG5hbWU9XCJpbmZvXCIgd2F0dFRvb2x0aXBQb3NpdGlvbj1cInRvcFwiIFt3YXR0VG9vbHRpcF09XCJ0b29sdGlwXCIgLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIDx2YXRlci1mbGV4IGRpcmVjdGlvbj1cInJvd1wiIGdhcD1cInNcIiBhbGlnbj1cImNlbnRlclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgdmF0ZXJcbiAgICAgICAgICBmaWxsPVwiaG9yaXpvbnRhbFwiXG4gICAgICAgICAgI3dyYXBwZXJcbiAgICAgICAgICBjbGFzcz1cIndhdHQtZmllbGQtd3JhcHBlclwiXG4gICAgICAgICAgW2NsYXNzLndhdHQtZmllbGQtLWhhcy1wbGFjZWhvbGRlcl09XCIhIXBsYWNlaG9sZGVyKClcIlxuICAgICAgICAgIFtzdHlsZS5hbmNob3ItbmFtZV09XCJhbmNob3JOYW1lKClcIlxuICAgICAgICA+XG4gICAgICAgICAgQGlmIChwbGFjZWhvbGRlcigpKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2F0dC1maWVsZC1wbGFjZWhvbGRlclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndhdHQtZmllbGQtZ2hvc3RcIj57eyBnaG9zdCgpIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIndhdHQtZmllbGQtZmlsbGVyXCI+e3sgZmlsbGVyKCkgfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICB9XG4gICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtZGVzY3JpcHRvclwiIC8+XG4gICAgICA8L3ZhdGVyLWZsZXg+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcG9wb3Zlcl1cIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC1oaW50XCIgLz5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIndhdHQtZmllbGQtZXJyb3JcIiAvPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwid2F0dC1maWVsZC13YXJuaW5nXCIgLz5cbiAgICAgIEBpZiAoaXNFbXB0eSgpKSB7XG4gICAgICAgIDx3YXR0LWZpZWxkLWVycm9yPnt7IGludGwucmVxdWlyZWQgfX08L3dhdHQtZmllbGQtZXJyb3I+XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgaG9zdDoge1xuICAgICdbY2xhc3Mud2F0dC1maWVsZC0tZGlzYWJsZWRdJzogJ2NvbnRyb2woKT8uZGlzYWJsZWQnLFxuICAgICdbY2xhc3Mud2F0dC1maWVsZC0tc2hvdy1lcnJvcnNdJzogJ3Nob3dFcnJvcnMoKScsXG4gICAgJ1tjbGFzc10nOiAnY2xhc3NOYW1lKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0RmllbGRDb21wb25lbnQge1xuICBpbnRsID0gaW5qZWN0KFdhdHRGaWVsZEludGxTZXJ2aWNlKTtcbiAgZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPihFbGVtZW50UmVmKTtcblxuICBjb250cm9sID0gaW5wdXQ8Rm9ybUNvbnRyb2wgfCBudWxsPihudWxsKTtcbiAgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIGlkID0gaW5wdXQ8c3RyaW5nPigpO1xuICAvKiogQGRlcHJlY2F0ZWQgVXNlIGBkaXNwbGF5TW9kZWAgaW5zdGVhZC4gKi9cbiAgY2hpcE1vZGUgPSBpbnB1dChmYWxzZSk7XG4gIHRvb2x0aXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHBsYWNlaG9sZGVyID0gaW5wdXQoJycpO1xuICBhbmNob3JOYW1lID0gaW5wdXQ8c3RyaW5nPigpO1xuICBkaXNwbGF5TW9kZSA9IGlucHV0PCdib3gnIHwgJ2NoaXAnIHwgJ2NvbnRlbnQnPignYm94Jyk7XG4gIGNsYXNzTmFtZSA9IGNvbXB1dGVkKCgpID0+IGB3YXR0LWZpZWxkLS0ke3RoaXMuY2hpcE1vZGUoKSA/ICdjaGlwJyA6IHRoaXMuZGlzcGxheU1vZGUoKX1gKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaW5wdXQgc2hvdWxkIHJlY2VpdmUgZm9jdXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlbmRlcmVkLlxuICAgKi9cbiAgYXV0b0ZvY3VzID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGxhYmVsRWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxMYWJlbEVsZW1lbnQ+PignbGFiZWwnKTtcbiAgd2F0dExhYmVsRWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxTcGFuRWxlbWVudD4+KCd3YXR0TGFiZWwnKTtcblxuICB2YWx1ZSA9IHNpZ25hbCgnJyk7XG4gIGZpbGxlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMucGxhY2Vob2xkZXIoKS5zbGljZSh0aGlzLnZhbHVlKCkubGVuZ3RoKSk7XG4gIGdob3N0ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy52YWx1ZSgpLnNsaWNlKDAsIHRoaXMucGxhY2Vob2xkZXIoKS5sZW5ndGgpKTtcblxuICBlcnJvcnMgPSBzaWduYWw8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+KG51bGwpO1xuICBpc1JlcXVpcmVkID0gc2lnbmFsKGZhbHNlKTtcbiAgaXNFbXB0eSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuZXJyb3JzKCk/LlsncmVxdWlyZWQnXSB8fCB0aGlzLmVycm9ycygpPy5bJ3JhbmdlUmVxdWlyZWQnXSk7XG4gIHNob3dFcnJvcnMgPSBpbnB1dCh0cnVlKTtcblxuICAvLyBVc2VkIGZvciB0ZXh0IGZpZWxkcyB3aXRoIGF1dG9jb21wbGV0ZVxuICB3cmFwcGVyID0gdmlld0NoaWxkPEVsZW1lbnRSZWY+KCd3cmFwcGVyJyk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgY29uc3QgY29udHJvbCQgPSB0b09ic2VydmFibGUodGhpcy5jb250cm9sKS5waXBlKGZpbHRlcigoY29udHJvbCkgPT4gY29udHJvbCAhPT0gbnVsbCkpO1xuXG4gICAgLy8gVHJhY2sgdmFsdWUgaW4gb3JkZXIgdG8gdXBkYXRlIGdob3N0IGFuZCBmaWxsZXJcbiAgICBjb25zdCB2YWx1ZSQgPSBjb250cm9sJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChjb250cm9sKSA9PlxuICAgICAgICBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSxcbiAgICAgICAgICBtYXAoKHZhbHVlKSA9PiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCA/ICcnIDogdmFsdWUudG9TdHJpbmcoKSkpLFxuICAgICAgICAgIHRhcCgodmFsdWUpID0+IHRoaXMudmFsdWUuc2V0KHZhbHVlKSlcbiAgICAgICAgKVxuICAgICAgKSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCgpXG4gICAgKTtcblxuICAgIC8vIFRyYWNrIHN0YXR1cyBpbiBvcmRlciB0byB1cGRhdGUgcmVxdWlyZWQgc3RhdGUgYW5kIHNob3cgZXJyb3JzXG4gICAgY29uc3Qgc3RhdHVzJCA9IGNvbnRyb2wkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2wpID0+XG4gICAgICAgIGNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5waXBlKFxuICAgICAgICAgIHN0YXJ0V2l0aChjb250cm9sLnN0YXR1cyksXG4gICAgICAgICAgdGFwKCgpID0+IHRoaXMuaXNSZXF1aXJlZC5zZXQodGhpcy5pc1JlcXVpcmVkQ29udHJvbChjb250cm9sKSkpLFxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmVycm9ycy5zZXQoY29udHJvbC5lcnJvcnMpKVxuICAgICAgICApXG4gICAgICApLFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKClcbiAgICApO1xuXG4gICAgLy8gU3Vic2NyaWJlIGZvciBzaWRlIGVmZmVjdHNcbiAgICB2YWx1ZSQuc3Vic2NyaWJlKCk7XG4gICAgc3RhdHVzJC5zdWJzY3JpYmUoKTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5hdXRvRm9jdXMoKSkge1xuICAgICAgICBpZiAodGhpcy5jaGlwTW9kZSgpKSB7XG4gICAgICAgICAgdGhpcy53YXR0TGFiZWxFbGVtZW50KCk/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxhYmVsRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlzUmVxdWlyZWRDb250cm9sKGNvbnRyb2w6IEZvcm1Db250cm9sKSB7XG4gICAgY29uc3QgdmFsaWRhdG9ycyA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBXYXR0UmFuZ2VWYWxpZGF0b3JzLnJlcXVpcmVkXTtcbiAgICByZXR1cm4gdmFsaWRhdG9ycy5zb21lKCh2YWxpZGF0b3IpID0+IGNvbnRyb2wuaGFzVmFsaWRhdG9yKHZhbGlkYXRvcikpO1xuICB9XG59XG4iXX0=
@@ -17,4 +17,5 @@
17
17
  */
18
18
  //#endregion
19
19
  export { WattRadioComponent } from './watt-radio.component';
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9yYWRpby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgV2F0dFJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi93YXR0LXJhZGlvLmNvbXBvbmVudCc7XG4iXX0=
20
+ export { WATT_RADIO, WattRadioGroupComponent } from './watt-radio-group.component';
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9yYWRpby9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vI3JlZ2lvbiBMaWNlbnNlXG4vKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgMjAyMCBFbmVyZ2luZXQgRGF0YUh1YiBBL1NcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlMlwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IFdhdHRSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1yYWRpby5jb21wb25lbnQnO1xuZXhwb3J0IHsgV0FUVF9SQURJTywgV2F0dFJhZGlvR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL3dhdHQtcmFkaW8tZ3JvdXAuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,119 @@
1
+ //#region License
2
+ /**
3
+ * @license
4
+ * Copyright 2020 Energinet DataHub A/S
5
+ *
6
+ * Licensed under the Apache License, Version 2.0 (the "License2");
7
+ * you may not use this file except in compliance with the License.
8
+ * You may obtain a copy of the License at
9
+ *
10
+ * http://www.apache.org/licenses/LICENSE-2.0
11
+ *
12
+ * Unless required by applicable law or agreed to in writing, software
13
+ * distributed under the License is distributed on an "AS IS" BASIS,
14
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ * See the License for the specific language governing permissions and
16
+ * limitations under the License.
17
+ */
18
+ //#endregion
19
+ import { Component, forwardRef, ViewEncapsulation, input, model, output, computed, booleanAttribute, ChangeDetectionStrategy, contentChildren, effect, } from '@angular/core';
20
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
21
+ import { WattFieldComponent } from '@energinet/watt/field';
22
+ import { WattRadioComponent } from './watt-radio.component';
23
+ import * as i0 from "@angular/core";
24
+ export class WattRadioGroupComponent {
25
+ /**
26
+ * The field label.
27
+ */
28
+ label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
29
+ /**
30
+ * The value of the radio button group.
31
+ */
32
+ value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
33
+ /**
34
+ * Optional input for setting the name of the radio buttons.
35
+ * If no name is provided, the name will be auto-generated.
36
+ */
37
+ name = input(...(ngDevMode ? [undefined, { debugName: "name" }] : []));
38
+ /**
39
+ * Whether the radio button group is readonly.
40
+ */
41
+ readonly = input(false, ...(ngDevMode ? [{ debugName: "readonly", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
42
+ /**
43
+ * Whether the radio button group is disabled.
44
+ */
45
+ disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
46
+ /**
47
+ * Emits when the radio button group is touched.
48
+ */
49
+ touched = output();
50
+ /**
51
+ * Tracks the FormControl instance bound to the directive.
52
+ */
53
+ formControl = input(null, ...(ngDevMode ? [{ debugName: "formControl" }] : []));
54
+ // Used for generating unique radio button names
55
+ static instance = 1;
56
+ instance = WattRadioGroupComponent.instance++;
57
+ group = computed(() => this.name() ?? `watt-radio-group-${this.instance}`, ...(ngDevMode ? [{ debugName: "group" }] : []));
58
+ radios = contentChildren((WattRadioComponent), ...(ngDevMode ? [{ debugName: "radios", descendants: true }] : [{ descendants: true }]));
59
+ inheritPropertiesEffect = effect(() => {
60
+ this.radios().forEach((r) => {
61
+ r.disabled.set(this.disabled());
62
+ r.name.set(this.group());
63
+ });
64
+ }, ...(ngDevMode ? [{ debugName: "inheritPropertiesEffect" }] : []));
65
+ // Two-way binding
66
+ constructor() {
67
+ effect(() => {
68
+ // group -> buttons
69
+ this.radios().forEach((r) => {
70
+ r.checked.set(r.value() === this.value());
71
+ });
72
+ });
73
+ // buttons -> group
74
+ effect((onCleanup) => {
75
+ if (this.readonly())
76
+ return;
77
+ const subscriptions = this.radios().map((r) => r.isChecked.subscribe(() => {
78
+ this.value.set(r.value());
79
+ }));
80
+ onCleanup(() => subscriptions.forEach((s) => s.unsubscribe()));
81
+ });
82
+ }
83
+ // Implementation for ControlValueAccessor
84
+ writeValue = (value) => this.value.set(value);
85
+ setDisabledState = (isDisabled) => this.disabled.set(isDisabled);
86
+ registerOnTouched = (fn) => this.touched.subscribe(fn);
87
+ registerOnChange = (fn) => this.value.subscribe(fn);
88
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
89
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.6", type: WattRadioGroupComponent, isStandalone: true, selector: "watt-radio-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, formControl: { classPropertyName: "formControl", publicName: "formControl", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", disabled: "disabledChange", touched: "touched" }, host: { properties: { "class.disabled": "disabled()", "class.readonly": "readonly()" } }, providers: [
90
+ {
91
+ provide: NG_VALUE_ACCESSOR,
92
+ useExisting: forwardRef(() => WattRadioGroupComponent),
93
+ multi: true,
94
+ },
95
+ ], queries: [{ propertyName: "radios", predicate: (WattRadioComponent), descendants: true, isSignal: true }], ngImport: i0, template: `
96
+ <watt-field [label]="label()" [control]="formControl()" displayMode="content">
97
+ <ng-content />
98
+ </watt-field>
99
+ `, isInline: true, styles: ["watt-radio-group.readonly watt-radio{pointer-events:none}watt-radio-group.readonly watt-radio input,watt-radio-group.readonly watt-radio:has(input:not(:checked)){display:none}\n"], dependencies: [{ kind: "component", type: WattFieldComponent, selector: "watt-field", inputs: ["control", "label", "id", "chipMode", "tooltip", "placeholder", "anchorName", "displayMode", "autoFocus", "showErrors"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattRadioGroupComponent, decorators: [{
102
+ type: Component,
103
+ args: [{ imports: [WattFieldComponent], providers: [
104
+ {
105
+ provide: NG_VALUE_ACCESSOR,
106
+ useExisting: forwardRef(() => WattRadioGroupComponent),
107
+ multi: true,
108
+ },
109
+ ], changeDetection: ChangeDetectionStrategy.OnPush, selector: 'watt-radio-group', template: `
110
+ <watt-field [label]="label()" [control]="formControl()" displayMode="content">
111
+ <ng-content />
112
+ </watt-field>
113
+ `, encapsulation: ViewEncapsulation.None, host: {
114
+ '[class.disabled]': 'disabled()',
115
+ '[class.readonly]': 'readonly()',
116
+ }, styles: ["watt-radio-group.readonly watt-radio{pointer-events:none}watt-radio-group.readonly watt-radio input,watt-radio-group.readonly watt-radio:has(input:not(:checked)){display:none}\n"] }]
117
+ }], ctorParameters: () => [], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], touched: [{ type: i0.Output, args: ["touched"] }], formControl: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControl", required: false }] }], radios: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => WattRadioComponent), { ...{ descendants: true }, isSignal: true }] }] } });
118
+ export const WATT_RADIO = [WattRadioGroupComponent, WattRadioComponent];
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1yYWRpby1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9yYWRpby93YXR0LXJhZGlvLWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2QixlQUFlLEVBQ2YsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBcUMsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFrQzVELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEM7O09BRUc7SUFDSCxLQUFLLEdBQUcsS0FBSywyREFBVSxDQUFDO0lBRXhCOztPQUVHO0lBQ0gsS0FBSyxHQUFHLEtBQUssMkRBQVksQ0FBQztJQUUxQjs7O09BR0c7SUFDSCxJQUFJLEdBQUcsS0FBSywwREFBVSxDQUFDO0lBRXZCOztPQUVHO0lBQ0gsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLDRDQUFJLFNBQVMsRUFBRSxnQkFBZ0IsT0FBN0IsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsR0FBQyxDQUFDO0lBRXpEOztPQUVHO0lBQ0gsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFFeEI7O09BRUc7SUFDSCxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFFbkI7O09BRUc7SUFDSCxXQUFXLEdBQUcsS0FBSyxDQUFxQixJ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LGlEQWtFZ0MsQ0FBQSxrQkFBcUIsQ0FBQSxnRUFyRDVDOzs7O0dBSVQsMlBBeEJTLGtCQUFrQjs7MkZBK0JqQix1QkFBdUI7a0JBaENuQyxTQUFTOzhCQUNDLENBQUMsa0JBQWtCLENBQUMsYUFDbEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGtCQUFrQixZQVdsQjs7OztHQUlULGlCQUNjLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osa0JBQWtCLEVBQUUsWUFBWTt3QkFDaEMsa0JBQWtCLEVBQUUsWUFBWTtxQkFDakM7d3pCQTRDZ0Msa0JBQXFCLFFBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO0FBcUMvRSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyx1QkFBdUIsRUFBRSxrQkFBa0IsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBmb3J3YXJkUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgaW5wdXQsXG4gIG1vZGVsLFxuICBvdXRwdXQsXG4gIGNvbXB1dGVkLFxuICBib29sZWFuQXR0cmlidXRlLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgY29udGVudENoaWxkcmVuLFxuICBlZmZlY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgV2F0dEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnQGVuZXJnaW5ldC93YXR0L2ZpZWxkJztcbmltcG9ydCB7IFdhdHRSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vd2F0dC1yYWRpby5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgaW1wb3J0czogW1dhdHRGaWVsZENvbXBvbmVudF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gV2F0dFJhZGlvR3JvdXBDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHNlbGVjdG9yOiAnd2F0dC1yYWRpby1ncm91cCcsXG4gIHN0eWxlczogYFxuICAgIHdhdHQtcmFkaW8tZ3JvdXAucmVhZG9ubHkgd2F0dC1yYWRpbyB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJiBpbnB1dCxcbiAgICAgICY6aGFzKGlucHV0Om5vdCg6Y2hlY2tlZCkpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIGAsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHdhdHQtZmllbGQgW2xhYmVsXT1cImxhYmVsKClcIiBbY29udHJvbF09XCJmb3JtQ29udHJvbCgpXCIgZGlzcGxheU1vZGU9XCJjb250ZW50XCI+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvd2F0dC1maWVsZD5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDoge1xuICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCknLFxuICAgICdbY2xhc3MucmVhZG9ubHldJzogJ3JlYWRvbmx5KCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBXYXR0UmFkaW9Hcm91cENvbXBvbmVudDxUPiBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCBsYWJlbC5cbiAgICovXG4gIGxhYmVsID0gaW5wdXQ8c3RyaW5nPigpO1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgb2YgdGhlIHJhZGlvIGJ1dHRvbiBncm91cC5cbiAgICovXG4gIHZhbHVlID0gbW9kZWw8VCB8IG51bGw+KCk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGlucHV0IGZvciBzZXR0aW5nIHRoZSBuYW1lIG9mIHRoZSByYWRpbyBidXR0b25zLlxuICAgKiBJZiBubyBuYW1lIGlzIHByb3ZpZGVkLCB0aGUgbmFtZSB3aWxsIGJlIGF1dG8tZ2VuZXJhdGVkLlxuICAgKi9cbiAgbmFtZSA9IGlucHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcmFkaW8gYnV0dG9uIGdyb3VwIGlzIHJlYWRvbmx5LlxuICAgKi9cbiAgcmVhZG9ubHkgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJhZGlvIGJ1dHRvbiBncm91cCBpcyBkaXNhYmxlZC5cbiAgICovXG4gIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0cyB3aGVuIHRoZSByYWRpbyBidXR0b24gZ3JvdXAgaXMgdG91Y2hlZC5cbiAgICovXG4gIHRvdWNoZWQgPSBvdXRwdXQoKTtcblxuICAvKipcbiAgICogVHJhY2tzIHRoZSBGb3JtQ29udHJvbCBpbnN0YW5jZSBib3VuZCB0byB0aGUgZGlyZWN0aXZlLlxuICAgKi9cbiAgZm9ybUNvbnRyb2wgPSBpbnB1dDxGb3JtQ29udHJvbCB8IG51bGw+KG51bGwpO1xuXG4gIC8vIFVzZWQgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIHJhZGlvIGJ1dHRvbiBuYW1lc1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZSA9IDE7XG4gIHByaXZhdGUgaW5zdGFuY2UgPSBXYXR0UmFkaW9Hcm91cENvbXBvbmVudC5pbnN0YW5jZSsrO1xuICBwcml2YXRlIGdyb3VwID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5uYW1lKCkgPz8gYHdhdHQtcmFkaW8tZ3JvdXAtJHt0aGlzLmluc3RhbmNlfWApO1xuXG4gIHByaXZhdGUgcmFkaW9zID0gY29udGVudENoaWxkcmVuKFdhdHRSYWRpb0NvbXBvbmVudDxUPiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KTtcbiAgcHJvdGVjdGVkIGluaGVyaXRQcm9wZXJ0aWVzRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICB0aGlzLnJhZGlvcygpLmZvckVhY2goKHIpID0+IHtcbiAgICAgIHIuZGlzYWJsZWQuc2V0KHRoaXMuZGlzYWJsZWQoKSk7XG4gICAgICByLm5hbWUuc2V0KHRoaXMuZ3JvdXAoKSk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIFR3by13YXkgYmluZGluZ1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgLy8gZ3JvdXAgLT4gYnV0dG9uc1xuICAgICAgdGhpcy5yYWRpb3MoKS5mb3JFYWNoKChyKSA9PiB7XG4gICAgICAgIHIuY2hlY2tlZC5zZXQoci52YWx1ZSgpID09PSB0aGlzLnZhbHVlKCkpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvLyBidXR0b25zIC0+IGdyb3VwXG4gICAgZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgIGlmICh0aGlzLnJlYWRvbmx5KCkpIHJldHVybjtcbiAgICAgIGNvbnN0IHN1YnNjcmlwdGlvbnMgPSB0aGlzLnJhZGlvcygpLm1hcCgocikgPT5cbiAgICAgICAgci5pc0NoZWNrZWQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnZhbHVlLnNldChyLnZhbHVlKCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcblxuICAgICAgb25DbGVhbnVwKCgpID0+IHN1YnNjcmlwdGlvbnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBJbXBsZW1lbnRhdGlvbiBmb3IgQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgd3JpdGVWYWx1ZSA9ICh2YWx1ZTogVCB8IG51bGwgfCB1bmRlZmluZWQpID0+IHRoaXMudmFsdWUuc2V0KHZhbHVlKTtcbiAgc2V0RGlzYWJsZWRTdGF0ZSA9IChpc0Rpc2FibGVkOiBib29sZWFuKSA9PiB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQgPSAoZm46ICgpID0+IHZvaWQpID0+IHRoaXMudG91Y2hlZC5zdWJzY3JpYmUoZm4pO1xuICByZWdpc3Rlck9uQ2hhbmdlID0gKGZuOiAodmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSA9PiB0aGlzLnZhbHVlLnN1YnNjcmliZShmbik7XG59XG5cbmV4cG9ydCBjb25zdCBXQVRUX1JBRElPID0gW1dhdHRSYWRpb0dyb3VwQ29tcG9uZW50LCBXYXR0UmFkaW9Db21wb25lbnRdIGFzIGNvbnN0O1xuIl19
@@ -16,43 +16,30 @@
16
16
  * limitations under the License.
17
17
  */
18
18
  //#endregion
19
- import { Component, forwardRef, ViewEncapsulation, input } from '@angular/core';
20
- import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
19
+ import { Component, forwardRef, ViewEncapsulation, input, linkedSignal, model, output, ChangeDetectionStrategy, } from '@angular/core';
20
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
21
21
  import * as i0 from "@angular/core";
22
- import * as i1 from "@angular/forms";
23
22
  export class WattRadioComponent {
24
- group = input.required(...(ngDevMode ? [{ debugName: "group" }] : []));
23
+ /** The name of the radio button. Prefer using `<watt-radio-group>` over this. */
24
+ group = input(...(ngDevMode ? [undefined, { debugName: "group" }] : []));
25
+ name = linkedSignal(this.group, ...(ngDevMode ? [{ debugName: "name" }] : [])); // allows inheriting from `watt-radio-group`
26
+ /** Value of the radio button. */
25
27
  value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
26
- /** @ignore */
27
- model;
28
- /** @ignore */
29
- isDisabled = false;
30
- /** @ignore */
31
- onChange = () => {
32
- /* left blank intentionally */
33
- };
34
- /** @ignore */
35
- onTouched = () => {
36
- /* left blank intentionally */
37
- };
38
- /** @ignore */
39
- writeValue(value) {
40
- this.model = value;
41
- }
42
- /** @ignore */
43
- registerOnChange(fn) {
44
- this.onChange = fn;
45
- }
46
- /** @ignore */
47
- registerOnTouched(fn) {
48
- this.onTouched = fn;
49
- }
50
- /** @ignore */
51
- setDisabledState(isDisabled) {
52
- this.isDisabled = isDisabled;
53
- }
28
+ /** Whether the radio is disabled. */
29
+ disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
30
+ /** Whether the radio is checked. */
31
+ checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
32
+ /** Emits only when the radio is checked. Never emits when unchecked. */
33
+ isChecked = output();
34
+ /** Emits when the radio is touched. */
35
+ touched = output();
36
+ // Implementation for ControlValueAccessor
37
+ writeValue = (value) => this.checked.set(value === this.value());
38
+ setDisabledState = (isDisabled) => this.disabled.set(isDisabled);
39
+ registerOnTouched = (fn) => this.touched.subscribe(fn);
40
+ registerOnChange = (fn) => this.isChecked.subscribe(() => fn(this.value()));
54
41
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
55
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: WattRadioComponent, isStandalone: true, selector: "watt-radio", inputs: { group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { properties: { "class.disabled": "isDisabled" } }, providers: [
42
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.6", type: WattRadioComponent, isStandalone: true, selector: "watt-radio", inputs: { group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "disabledChange", checked: "checkedChange", isChecked: "isChecked", touched: "touched" }, host: { properties: { "class.disabled": "disabled()" } }, providers: [
56
43
  {
57
44
  provide: NG_VALUE_ACCESSOR,
58
45
  useExisting: forwardRef(() => WattRadioComponent),
@@ -62,19 +49,20 @@ export class WattRadioComponent {
62
49
  <label class="watt-text-s">
63
50
  <input
64
51
  type="radio"
65
- [name]="group()"
52
+ [name]="name()"
66
53
  [value]="value()"
67
- [(ngModel)]="model"
68
- [disabled]="isDisabled"
69
- (ngModelChange)="onChange($event)"
54
+ [disabled]="disabled()"
55
+ [checked]="checked()"
56
+ (change)="isChecked.emit()"
57
+ (blur)="touched.emit()"
70
58
  />
71
59
  <ng-content />
72
60
  </label>
73
- `, isInline: true, styles: [":root{--watt-radio-color: var(--watt-on-light-low-emphasis);--watt-radio-color-hover: var(--watt-on-light-medium-emphasis);--watt-radio-color-focus: var(--watt-color-primary);--watt-radio-color-checked: var(--watt-color-primary);--watt-radio-color-checked-hover: var(--watt-color-primary-dark);--watt-radio-color-checked-focus: var(--watt-color-primary-dark);--watt-disabled-radio-color: var(--watt-color-neutral-grey-500);--watt-radio-label-color: var(--watt-on-light-high-emphasis);--watt-disabled-radio-label-color: var(--watt-on-light-low-emphasis)}watt-radio{padding:2px 0}watt-radio:not(:has(:disabled)) label,watt-radio:not(:has(:disabled)) input{cursor:pointer}watt-radio label{display:flex;align-items:center;color:var(--watt-radio-label-color)}watt-radio label.disabled{color:var(--watt-radio-disabled-label-color)}watt-radio input[type=radio]{width:16px;height:16px;min-width:16px;min-height:16px;appearance:none;margin:0 var(--watt-space-s) 0 0;background:var(--watt-radio-color);border-radius:50%;display:grid;place-content:center}watt-radio input[type=radio]:before{content:\"\";width:14px;height:14px;border-radius:50%;transform:scale(1);transition:var(--watt-time-extra-short) transform var(--watt-ease-linear);background:var(--watt-color-neutral-white)}watt-radio input[type=radio]:checked{background:var(--watt-radio-color-checked)}watt-radio input[type=radio]:checked:before{transform:scale(.33)}watt-radio input:focus{outline:none}watt-radio input:not(:disabled):hover{background:var(--watt-radio-color-hover)}watt-radio input:not(:disabled):hover:checked{background:var(--watt-radio-color-checked-hover)}watt-radio input:not(:disabled):focus-visible{background:var(--watt-radio-color-focus)}watt-radio input:not(:disabled):focus-visible:checked{background:var(--watt-radio-color-checked-focus)}watt-radio.disabled{--watt-radio-label-color: var(--watt-disabled-radio-label-color);--watt-radio-color: var(--watt-disabled-radio-color);--watt-radio-color-checked: var(--watt-disabled-radio-color)}\n"], 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.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { 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"] }], encapsulation: i0.ViewEncapsulation.None });
61
+ `, isInline: true, styles: [":root{--watt-radio-color: var(--watt-on-light-low-emphasis);--watt-radio-color-hover: var(--watt-on-light-medium-emphasis);--watt-radio-color-focus: var(--watt-color-primary);--watt-radio-color-checked: var(--watt-color-primary);--watt-radio-color-checked-hover: var(--watt-color-primary-dark);--watt-radio-color-checked-focus: var(--watt-color-primary-dark);--watt-disabled-radio-color: var(--watt-color-neutral-grey-500);--watt-radio-label-color: var(--watt-on-light-high-emphasis);--watt-disabled-radio-label-color: var(--watt-on-light-low-emphasis)}watt-radio{padding:2px 0}watt-radio:not(:has(:disabled)) label,watt-radio:not(:has(:disabled)) input{cursor:pointer}watt-radio label{display:flex;align-items:center;color:var(--watt-radio-label-color)}watt-radio label.disabled{color:var(--watt-radio-disabled-label-color)}watt-radio input[type=radio]{width:16px;height:16px;min-width:16px;min-height:16px;appearance:none;margin:0 var(--watt-space-s) 0 0;background:var(--watt-radio-color);border-radius:50%;display:grid;place-content:center}watt-radio input[type=radio]:before{content:\"\";width:14px;height:14px;border-radius:50%;transform:scale(1);transition:var(--watt-time-extra-short) transform var(--watt-ease-linear);background:var(--watt-color-neutral-white)}watt-radio input[type=radio]:checked{background:var(--watt-radio-color-checked)}watt-radio input[type=radio]:checked:before{transform:scale(.33)}watt-radio input:focus{outline:none}watt-radio input:not(:disabled):hover{background:var(--watt-radio-color-hover)}watt-radio input:not(:disabled):hover:checked{background:var(--watt-radio-color-checked-hover)}watt-radio input:not(:disabled):focus-visible{background:var(--watt-radio-color-focus)}watt-radio input:not(:disabled):focus-visible:checked{background:var(--watt-radio-color-checked-focus)}watt-radio.disabled{--watt-radio-label-color: var(--watt-disabled-radio-label-color);--watt-radio-color: var(--watt-disabled-radio-color);--watt-radio-color-checked: var(--watt-disabled-radio-color)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
74
62
  }
75
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: WattRadioComponent, decorators: [{
76
64
  type: Component,
77
- args: [{ imports: [FormsModule], providers: [
65
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, providers: [
78
66
  {
79
67
  provide: NG_VALUE_ACCESSOR,
80
68
  useExisting: forwardRef(() => WattRadioComponent),
@@ -84,16 +72,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
84
72
  <label class="watt-text-s">
85
73
  <input
86
74
  type="radio"
87
- [name]="group()"
75
+ [name]="name()"
88
76
  [value]="value()"
89
- [(ngModel)]="model"
90
- [disabled]="isDisabled"
91
- (ngModelChange)="onChange($event)"
77
+ [disabled]="disabled()"
78
+ [checked]="checked()"
79
+ (change)="isChecked.emit()"
80
+ (blur)="touched.emit()"
92
81
  />
93
82
  <ng-content />
94
83
  </label>
95
84
  `, encapsulation: ViewEncapsulation.None, host: {
96
- '[class.disabled]': 'isDisabled',
85
+ '[class.disabled]': 'disabled()',
97
86
  }, styles: [":root{--watt-radio-color: var(--watt-on-light-low-emphasis);--watt-radio-color-hover: var(--watt-on-light-medium-emphasis);--watt-radio-color-focus: var(--watt-color-primary);--watt-radio-color-checked: var(--watt-color-primary);--watt-radio-color-checked-hover: var(--watt-color-primary-dark);--watt-radio-color-checked-focus: var(--watt-color-primary-dark);--watt-disabled-radio-color: var(--watt-color-neutral-grey-500);--watt-radio-label-color: var(--watt-on-light-high-emphasis);--watt-disabled-radio-label-color: var(--watt-on-light-low-emphasis)}watt-radio{padding:2px 0}watt-radio:not(:has(:disabled)) label,watt-radio:not(:has(:disabled)) input{cursor:pointer}watt-radio label{display:flex;align-items:center;color:var(--watt-radio-label-color)}watt-radio label.disabled{color:var(--watt-radio-disabled-label-color)}watt-radio input[type=radio]{width:16px;height:16px;min-width:16px;min-height:16px;appearance:none;margin:0 var(--watt-space-s) 0 0;background:var(--watt-radio-color);border-radius:50%;display:grid;place-content:center}watt-radio input[type=radio]:before{content:\"\";width:14px;height:14px;border-radius:50%;transform:scale(1);transition:var(--watt-time-extra-short) transform var(--watt-ease-linear);background:var(--watt-color-neutral-white)}watt-radio input[type=radio]:checked{background:var(--watt-radio-color-checked)}watt-radio input[type=radio]:checked:before{transform:scale(.33)}watt-radio input:focus{outline:none}watt-radio input:not(:disabled):hover{background:var(--watt-radio-color-hover)}watt-radio input:not(:disabled):hover:checked{background:var(--watt-radio-color-checked-hover)}watt-radio input:not(:disabled):focus-visible{background:var(--watt-radio-color-focus)}watt-radio input:not(:disabled):focus-visible:checked{background:var(--watt-radio-color-checked-focus)}watt-radio.disabled{--watt-radio-label-color: var(--watt-disabled-radio-label-color);--watt-radio-color: var(--watt-disabled-radio-color);--watt-radio-color-checked: var(--watt-disabled-radio-color)}\n"] }]
98
- }], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1yYWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9yYWRpby93YXR0LXJhZGlvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQXdCLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUErQnRGLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFVLENBQUM7SUFDakMsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLGdEQUFvQixDQUFDO0lBRTNDLGNBQWM7SUFDZCxLQUFLLENBQVU7SUFFZixjQUFjO0lBQ2QsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUVuQixjQUFjO0lBQ2QsUUFBUSxHQUE0QixHQUFHLEVBQUU7UUFDdkMsOEJBQThCO0lBQ2hDLENBQUMsQ0FBQztJQUVGLGNBQWM7SUFDZCxTQUFTLEdBQWUsR0FBRyxFQUFFO1FBQzNCLDhCQUE4QjtJQUNoQyxDQUFDLENBQUM7SUFFRixjQUFjO0lBQ2QsVUFBVSxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVELGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxFQUEyQjtRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGNBQWM7SUFDZCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO3VHQXRDVSxrQkFBa0I7MkZBQWxCLGtCQUFrQiw2V0EzQmxCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQUdTOzs7Ozs7Ozs7Ozs7R0FZVCx5aUVBdEJTLFdBQVc7OzJGQTRCVixrQkFBa0I7a0JBN0I5QixTQUFTOzhCQUNDLENBQUMsV0FBVyxDQUFDLGFBQ1g7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLFlBQ1MsWUFBWSxZQUVaOzs7Ozs7Ozs7Ozs7R0FZVCxpQkFDYyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGtCQUFrQixFQUFFLFlBQVk7cUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIExpY2Vuc2Vcbi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAyMDIwIEVuZXJnaW5ldCBEYXRhSHViIEEvU1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UyXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8vI2VuZHJlZ2lvblxuaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBpbXBvcnRzOiBbRm9ybXNNb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdhdHRSYWRpb0NvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBzZWxlY3RvcjogJ3dhdHQtcmFkaW8nLFxuICBzdHlsZVVybHM6IFsnLi93YXR0LXJhZGlvLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGxhYmVsIGNsYXNzPVwid2F0dC10ZXh0LXNcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICBbbmFtZV09XCJncm91cCgpXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlKClcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cIm1vZGVsXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgIC8+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvbGFiZWw+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdpc0Rpc2FibGVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dFJhZGlvQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBncm91cCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZz4oKTtcbiAgdmFsdWUgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmcgfCBib29sZWFuPigpO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIG1vZGVsITogc3RyaW5nO1xuXG4gIC8qKiBAaWdub3JlICovXG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKiogQGlnbm9yZSAqL1xuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7XG4gICAgLyogbGVmdCBibGFuayBpbnRlbnRpb25hbGx5ICovXG4gIH07XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge1xuICAgIC8qIGxlZnQgYmxhbmsgaW50ZW50aW9uYWxseSAqL1xuICB9O1xuXG4gIC8qKiBAaWdub3JlICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMubW9kZWwgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgLyoqIEBpZ25vcmUgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxufVxuIl19
87
+ }], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], isChecked: [{ type: i0.Output, args: ["isChecked"] }], touched: [{ type: i0.Output, args: ["touched"] }] } });
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0dC1yYWRpby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3dhdHQvcGFja2FnZS9yYWRpby93YXR0LXJhZGlvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUFDakI7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBQ0gsWUFBWTtBQUNaLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sdUJBQXVCLEdBQ3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFnQ3pFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsaUZBQWlGO0lBQ2pGLEtBQUssR0FBRyxLQUFLLDJEQUFVLENBQUM7SUFDeEIsSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxnREFBQyxDQUFDLENBQUMsNENBQTRDO0lBRTdFLGlDQUFpQztJQUNqQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsZ0RBQUssQ0FBQztJQUU1QixxQ0FBcUM7SUFDckMsUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLG9EQUFDLENBQUM7SUFFeEIsb0NBQW9DO0lBQ3BDLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxtREFBQyxDQUFDO0lBRXZCLHdFQUF3RTtJQUN4RSxTQUFTLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFFckIsdUNBQXVDO0lBQ3ZDLE9BQU8sR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUVuQiwwQ0FBMEM7SUFDMUMsVUFBVSxHQUFHLENBQUMsS0FBMkIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZGLGdCQUFnQixHQUFHLENBQUMsVUFBbUIsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDMUUsaUJBQWlCLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLGdCQUFnQixHQUFHLENBQUMsRUFBeUMsRUFBRSxFQUFFLENBQy9ELElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO3VHQXpCeEMsa0JBQWtCOzJGQUFsQixrQkFBa0IsNHRCQTVCbEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNqRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJBR1M7Ozs7Ozs7Ozs7Ozs7R0FhVDs7MkZBTVUsa0JBQWtCO2tCQTlCOUIsU0FBUztzQ0FDUyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRixZQUNTLFlBQVksWUFFWjs7Ozs7Ozs7Ozs7OztHQWFULGlCQUNjLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osa0JBQWtCLEVBQUUsWUFBWTtxQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gTGljZW5zZVxuLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IDIwMjAgRW5lcmdpbmV0IERhdGFIdWIgQS9TXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZTJcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLy8jZW5kcmVnaW9uXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBpbnB1dCxcbiAgbGlua2VkU2lnbmFsLFxuICBtb2RlbCxcbiAgb3V0cHV0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBXYXR0UmFkaW9Db21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgc2VsZWN0b3I6ICd3YXR0LXJhZGlvJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2F0dC1yYWRpby5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxsYWJlbCBjbGFzcz1cIndhdHQtdGV4dC1zXCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICAgICAgW3ZhbHVlXT1cInZhbHVlKClcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgIFtjaGVja2VkXT1cImNoZWNrZWQoKVwiXG4gICAgICAgIChjaGFuZ2UpPVwiaXNDaGVja2VkLmVtaXQoKVwiXG4gICAgICAgIChibHVyKT1cInRvdWNoZWQuZW1pdCgpXCJcbiAgICAgIC8+XG4gICAgICA8bmctY29udGVudCAvPlxuICAgIDwvbGFiZWw+XG4gIGAsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmRpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgV2F0dFJhZGlvQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAvKiogVGhlIG5hbWUgb2YgdGhlIHJhZGlvIGJ1dHRvbi4gUHJlZmVyIHVzaW5nIGA8d2F0dC1yYWRpby1ncm91cD5gIG92ZXIgdGhpcy4gKi9cbiAgZ3JvdXAgPSBpbnB1dDxzdHJpbmc+KCk7XG4gIG5hbWUgPSBsaW5rZWRTaWduYWwodGhpcy5ncm91cCk7IC8vIGFsbG93cyBpbmhlcml0aW5nIGZyb20gYHdhdHQtcmFkaW8tZ3JvdXBgXG5cbiAgLyoqIFZhbHVlIG9mIHRoZSByYWRpbyBidXR0b24uICovXG4gIHZhbHVlID0gaW5wdXQucmVxdWlyZWQ8VD4oKTtcblxuICAvKiogV2hldGhlciB0aGUgcmFkaW8gaXMgZGlzYWJsZWQuICovXG4gIGRpc2FibGVkID0gbW9kZWwoZmFsc2UpO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSByYWRpbyBpcyBjaGVja2VkLiAqL1xuICBjaGVja2VkID0gbW9kZWwoZmFsc2UpO1xuXG4gIC8qKiBFbWl0cyBvbmx5IHdoZW4gdGhlIHJhZGlvIGlzIGNoZWNrZWQuIE5ldmVyIGVtaXRzIHdoZW4gdW5jaGVja2VkLiAqL1xuICBpc0NoZWNrZWQgPSBvdXRwdXQoKTtcblxuICAvKiogRW1pdHMgd2hlbiB0aGUgcmFkaW8gaXMgdG91Y2hlZC4gKi9cbiAgdG91Y2hlZCA9IG91dHB1dCgpO1xuXG4gIC8vIEltcGxlbWVudGF0aW9uIGZvciBDb250cm9sVmFsdWVBY2Nlc3NvclxuICB3cml0ZVZhbHVlID0gKHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gdGhpcy5jaGVja2VkLnNldCh2YWx1ZSA9PT0gdGhpcy52YWx1ZSgpKTtcbiAgc2V0RGlzYWJsZWRTdGF0ZSA9IChpc0Rpc2FibGVkOiBib29sZWFuKSA9PiB0aGlzLmRpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcbiAgcmVnaXN0ZXJPblRvdWNoZWQgPSAoZm46ICgpID0+IHZvaWQpID0+IHRoaXMudG91Y2hlZC5zdWJzY3JpYmUoZm4pO1xuICByZWdpc3Rlck9uQ2hhbmdlID0gKGZuOiAodmFsdWU6IFQgfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB2b2lkKSA9PlxuICAgIHRoaXMuaXNDaGVja2VkLnN1YnNjcmliZSgoKSA9PiBmbih0aGlzLnZhbHVlKCkpKTtcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@energinet/watt",
4
- "version": "4.1.32",
4
+ "version": "4.2.1",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
7
7
  ".": {
package/radio/index.d.ts CHANGED
@@ -15,3 +15,4 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  export { WattRadioComponent } from './watt-radio.component';
18
+ export { WATT_RADIO, WattRadioGroupComponent } from './watt-radio-group.component';
@@ -0,0 +1,47 @@
1
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
2
+ import { WattRadioComponent } from './watt-radio.component';
3
+ import * as i0 from "@angular/core";
4
+ export declare class WattRadioGroupComponent<T> implements ControlValueAccessor {
5
+ /**
6
+ * The field label.
7
+ */
8
+ label: import("@angular/core").InputSignal<string | undefined>;
9
+ /**
10
+ * The value of the radio button group.
11
+ */
12
+ value: import("@angular/core").ModelSignal<T | null | undefined>;
13
+ /**
14
+ * Optional input for setting the name of the radio buttons.
15
+ * If no name is provided, the name will be auto-generated.
16
+ */
17
+ name: import("@angular/core").InputSignal<string | undefined>;
18
+ /**
19
+ * Whether the radio button group is readonly.
20
+ */
21
+ readonly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
22
+ /**
23
+ * Whether the radio button group is disabled.
24
+ */
25
+ disabled: import("@angular/core").ModelSignal<boolean>;
26
+ /**
27
+ * Emits when the radio button group is touched.
28
+ */
29
+ touched: import("@angular/core").OutputEmitterRef<void>;
30
+ /**
31
+ * Tracks the FormControl instance bound to the directive.
32
+ */
33
+ formControl: import("@angular/core").InputSignal<FormControl<any> | null>;
34
+ private static instance;
35
+ private instance;
36
+ private group;
37
+ private radios;
38
+ protected inheritPropertiesEffect: import("@angular/core").EffectRef;
39
+ constructor();
40
+ writeValue: (value: T | null | undefined) => void;
41
+ setDisabledState: (isDisabled: boolean) => void;
42
+ registerOnTouched: (fn: () => void) => import("@angular/core").OutputRefSubscription;
43
+ registerOnChange: (fn: (value: T | null | undefined) => void) => import("@angular/core").OutputRefSubscription;
44
+ static ɵfac: i0.ɵɵFactoryDeclaration<WattRadioGroupComponent<any>, never>;
45
+ static ɵcmp: i0.ɵɵComponentDeclaration<WattRadioGroupComponent<any>, "watt-radio-group", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "formControl": { "alias": "formControl"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; "touched": "touched"; }, ["radios"], ["*"], true, never>;
46
+ }
47
+ export declare const WATT_RADIO: readonly [typeof WattRadioGroupComponent, typeof WattRadioComponent];
@@ -1,24 +1,23 @@
1
1
  import { ControlValueAccessor } from '@angular/forms';
2
2
  import * as i0 from "@angular/core";
3
- export declare class WattRadioComponent implements ControlValueAccessor {
4
- group: import("@angular/core").InputSignal<string>;
5
- value: import("@angular/core").InputSignal<string | boolean>;
6
- /** @ignore */
7
- model: string;
8
- /** @ignore */
9
- isDisabled: boolean;
10
- /** @ignore */
11
- onChange: (value: string) => void;
12
- /** @ignore */
13
- onTouched: () => void;
14
- /** @ignore */
15
- writeValue(value: string): void;
16
- /** @ignore */
17
- registerOnChange(fn: (value: string) => void): void;
18
- /** @ignore */
19
- registerOnTouched(fn: () => void): void;
20
- /** @ignore */
21
- setDisabledState(isDisabled: boolean): void;
22
- static ɵfac: i0.ɵɵFactoryDeclaration<WattRadioComponent, never>;
23
- static ɵcmp: i0.ɵɵComponentDeclaration<WattRadioComponent, "watt-radio", never, { "group": { "alias": "group"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
3
+ export declare class WattRadioComponent<T> implements ControlValueAccessor {
4
+ /** The name of the radio button. Prefer using `<watt-radio-group>` over this. */
5
+ group: import("@angular/core").InputSignal<string | undefined>;
6
+ name: import("@angular/core").WritableSignal<string | undefined>;
7
+ /** Value of the radio button. */
8
+ value: import("@angular/core").InputSignal<T>;
9
+ /** Whether the radio is disabled. */
10
+ disabled: import("@angular/core").ModelSignal<boolean>;
11
+ /** Whether the radio is checked. */
12
+ checked: import("@angular/core").ModelSignal<boolean>;
13
+ /** Emits only when the radio is checked. Never emits when unchecked. */
14
+ isChecked: import("@angular/core").OutputEmitterRef<void>;
15
+ /** Emits when the radio is touched. */
16
+ touched: import("@angular/core").OutputEmitterRef<void>;
17
+ writeValue: (value: T | null | undefined) => void;
18
+ setDisabledState: (isDisabled: boolean) => void;
19
+ registerOnTouched: (fn: () => void) => import("@angular/core").OutputRefSubscription;
20
+ registerOnChange: (fn: (value: T | null | undefined) => void) => import("@angular/core").OutputRefSubscription;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<WattRadioComponent<any>, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<WattRadioComponent<any>, "watt-radio", never, { "group": { "alias": "group"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "checked": "checkedChange"; "isChecked": "isChecked"; "touched": "touched"; }, never, ["*"], true, never>;
24
23
  }