@lucca-front/ng 21.0.0-rc.1 → 21.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/app-layout/index.d.ts +1 -1
  2. package/box/index.d.ts +3 -3
  3. package/breadcrumbs/index.d.ts +3 -3
  4. package/button/index.d.ts +26 -21
  5. package/callout/index.d.ts +90 -86
  6. package/chip/index.d.ts +12 -3
  7. package/clear/index.d.ts +5 -2
  8. package/code/index.d.ts +5 -5
  9. package/comment/index.d.ts +11 -14
  10. package/core/index.d.ts +5 -5
  11. package/core-select/index.d.ts +6 -4
  12. package/core-select/user/index.d.ts +3 -2
  13. package/data-table/index.d.ts +3 -2
  14. package/dialog/index.d.ts +3 -3
  15. package/empty-state/index.d.ts +23 -26
  16. package/fancy-box/index.d.ts +11 -10
  17. package/fesm2022/lucca-front-ng-api.mjs +1 -1
  18. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-button.mjs +59 -90
  22. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-callout.mjs +151 -212
  24. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-chip.mjs +31 -5
  26. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-clear.mjs +22 -10
  28. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-code.mjs +5 -5
  30. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-comment.mjs +15 -35
  32. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-core-select-api.mjs +3 -3
  34. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -11
  36. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core-select.mjs +14 -20
  38. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-core.mjs +3 -3
  40. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-data-table.mjs +9 -4
  42. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-date.mjs +1 -1
  44. package/fesm2022/lucca-front-ng-date2.mjs +6 -6
  45. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-department.mjs +1 -1
  47. package/fesm2022/lucca-front-ng-dialog.mjs +22 -25
  48. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +27 -68
  50. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-establishment.mjs +1 -1
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +14 -28
  53. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  55. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +2 -2
  57. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  58. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-form.mjs +2 -2
  60. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-formly.mjs +1 -1
  62. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -17
  63. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
  65. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-forms.mjs +101 -188
  67. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-grid.mjs +20 -5
  69. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-icon.mjs +14 -19
  71. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-inline-message.mjs +15 -22
  73. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-link.mjs +20 -28
  75. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -8
  77. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  79. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-multi-select.mjs +6 -6
  81. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-new-badge.mjs +7 -11
  83. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-numeric-badge.mjs +40 -39
  85. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-plg-push.mjs +8 -17
  87. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-popover2.mjs +2 -2
  89. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-read-more.mjs +16 -12
  91. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-scroll.mjs +19 -29
  93. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-simple-select.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-skeleton.mjs +34 -44
  97. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -1
  99. package/fesm2022/lucca-front-ng-tag.mjs +31 -42
  100. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-time.mjs +8 -18
  102. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-toast.mjs +55 -60
  104. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-tooltip.mjs +80 -107
  106. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-user.mjs +45 -85
  108. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +6 -6
  110. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  111. package/forms/index.d.ts +55 -62
  112. package/forms/phone-number-input/index.d.ts +13 -13
  113. package/grid/index.d.ts +9 -5
  114. package/icon/index.d.ts +10 -10
  115. package/inline-message/index.d.ts +9 -11
  116. package/link/index.d.ts +11 -13
  117. package/mobile-push/index.d.ts +5 -6
  118. package/new-badge/index.d.ts +2 -3
  119. package/numeric-badge/index.d.ts +14 -11
  120. package/package.json +27 -27
  121. package/plg-push/index.d.ts +6 -8
  122. package/read-more/index.d.ts +3 -1
  123. package/scroll/index.d.ts +20 -22
  124. package/skeleton/index.d.ts +27 -32
  125. package/tag/index.d.ts +17 -15
  126. package/time/index.d.ts +5 -5
  127. package/toast/index.d.ts +23 -25
  128. package/tooltip/index.d.ts +33 -41
  129. package/user/index.d.ts +17 -28
  130. package/vertical-navigation/index.d.ts +16 -16
@@ -1,6 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, HostBinding, Input, Directive, DestroyRef, signal, input, booleanAttribute, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, EventEmitter, Output, ViewChild, LOCALE_ID, computed, viewChild, numberAttribute, ChangeDetectorRef, model } from '@angular/core';
3
- import { FormFieldComponent, FORM_FIELD_INSTANCE, INPUT_FRAMED_INSTANCE, InputDirective, InputFramedComponent } from '@lucca-front/ng/form-field';
2
+ import { inject, input, computed, Directive, DestroyRef, booleanAttribute, signal, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, viewChild, linkedSignal, output, LOCALE_ID, numberAttribute, ChangeDetectorRef, model } from '@angular/core';
3
+ import { ɵeffectWithDeps as _effectWithDeps, getIntl, IntlParamsPipe, LuClass, PortalDirective } from '@lucca-front/ng/core';
4
+ import { FormFieldComponent, INPUT_FRAMED_INSTANCE, FORM_FIELD_INSTANCE, InputDirective, InputFramedComponent } from '@lucca-front/ng/form-field';
4
5
  import { filter, take, startWith } from 'rxjs/operators';
5
6
  import * as i2 from '@angular/forms';
6
7
  import { NgControl, NgModel, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
@@ -8,7 +9,6 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
8
9
  import { FILTER_PILL_INPUT_COMPONENT, FilterPillLabelDirective } from '@lucca-front/ng/filter-pills';
9
10
  import { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';
10
11
  import { ConnectionPositionPair } from '@angular/cdk/overlay';
11
- import { getIntl, IntlParamsPipe, LuClass, PortalDirective } from '@lucca-front/ng/core';
12
12
  import { PopoverDirective } from '@lucca-front/ng/popover2';
13
13
  import { NgTemplateOutlet } from '@angular/common';
14
14
  import { ClearComponent } from '@lucca-front/ng/clear';
@@ -20,49 +20,36 @@ import { IconComponent } from '@lucca-front/ng/icon';
20
20
 
21
21
  class FormFieldIdDirective {
22
22
  #formFieldComponent;
23
- #suffix;
24
- set suffix(suffix) {
25
- this.#suffix = suffix;
26
- if (this.#formFieldComponent.ready) {
27
- this.applyLabelledBy();
28
- }
29
- }
30
- get id() {
31
- return `${this.#formFieldComponent.id()}-${this.#suffix}`;
32
- }
33
23
  constructor() {
34
24
  this.#formFieldComponent = inject(FormFieldComponent);
35
- this.labelledByStrategy = 'append';
36
- this.#formFieldComponent.ready$.pipe(filter(Boolean), take(1)).subscribe(() => {
37
- this.applyLabelledBy();
25
+ this.suffix = input.required({ alias: 'luFormFieldId' });
26
+ this.labelledByStrategy = input('append');
27
+ this.id = computed(() => `${this.#formFieldComponent.id()}-${this.suffix()}`);
28
+ _effectWithDeps([this.suffix], (suffix) => {
29
+ if (suffix && this.#formFieldComponent.ready) {
30
+ this.applyLabelledBy();
31
+ }
38
32
  });
33
+ this.#formFieldComponent.ready$.pipe(filter(Boolean), take(1)).subscribe(() => this.applyLabelledBy());
39
34
  }
40
35
  applyLabelledBy() {
41
- this.#formFieldComponent.addLabelledBy(`${this.#formFieldComponent.id()}-${this.#suffix}`, this.labelledByStrategy === 'prepend');
36
+ this.#formFieldComponent.addLabelledBy(this.id(), this.labelledByStrategy() === 'prepend');
42
37
  }
43
38
  ngOnDestroy() {
44
- this.#formFieldComponent.removeLabelledBy(`${this.#formFieldComponent.id()}-${this.#suffix}`);
39
+ this.#formFieldComponent.removeLabelledBy(this.id());
45
40
  }
46
41
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormFieldIdDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.0.2", type: FormFieldIdDirective, isStandalone: true, selector: "[luFormFieldId]", inputs: { suffix: ["luFormFieldId", "suffix"], labelledByStrategy: "labelledByStrategy" }, host: { properties: { "attr.id": "this.id" } }, ngImport: i0 }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: FormFieldIdDirective, isStandalone: true, selector: "[luFormFieldId]", inputs: { suffix: { classPropertyName: "suffix", publicName: "luFormFieldId", isSignal: true, isRequired: true, transformFunction: null }, labelledByStrategy: { classPropertyName: "labelledByStrategy", publicName: "labelledByStrategy", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.id": "id()" } }, ngImport: i0 }); }
48
43
  }
49
44
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FormFieldIdDirective, decorators: [{
50
45
  type: Directive,
51
46
  args: [{
52
47
  selector: '[luFormFieldId]',
48
+ host: {
49
+ '[attr.id]': 'id()',
50
+ },
53
51
  }]
54
- }], ctorParameters: () => [], propDecorators: { suffix: [{
55
- type: Input,
56
- args: [{
57
- required: true,
58
- alias: 'luFormFieldId',
59
- }]
60
- }], labelledByStrategy: [{
61
- type: Input
62
- }], id: [{
63
- type: HostBinding,
64
- args: ['attr.id']
65
- }] } });
52
+ }], ctorParameters: () => [] });
66
53
 
67
54
  //Source: https://netbasal.com/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55
68
55
  // Heavily modified to handle ngModel properly
@@ -117,19 +104,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
117
104
  let nextId$3 = 0;
118
105
  class CheckboxInputComponent {
119
106
  constructor() {
107
+ this.framed = inject(INPUT_FRAMED_INSTANCE, { optional: true }) !== null;
120
108
  this.parentInput = inject(FILTER_PILL_INPUT_COMPONENT, { optional: true, skipSelf: true });
121
109
  this.formField = inject(FORM_FIELD_INSTANCE, { optional: true });
110
+ this.checklist = input(false, { transform: booleanAttribute });
111
+ /**
112
+ * Should set aria-checked='mixed' attribute ?
113
+ */
114
+ this.mixed = input(false, { transform: booleanAttribute });
122
115
  this.isFilterPill = signal(false);
123
116
  this.filterPillInputId = `lu-checkbox-pill-input-${nextId$3++}`;
124
- this.checklist = input(false, { transform: booleanAttribute });
125
117
  this.filterPillLayout = signal('checkable');
126
118
  this.isFilterPillEmpty = signal(true);
127
119
  this.isFilterPillClearable = signal(false);
128
120
  this.hideCombobox = signal(true);
129
121
  this.showColon = signal(false);
130
122
  this.ngControl = injectNgControl();
131
- this.mixed = false;
132
- this.framed = inject(INPUT_FRAMED_INSTANCE, { optional: true }) !== null;
133
123
  if (this.formField) {
134
124
  this.formField.layout.set('checkable');
135
125
  }
@@ -145,12 +135,12 @@ class CheckboxInputComponent {
145
135
  }
146
136
  onFilterPillClick() { }
147
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CheckboxInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
148
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CheckboxInputComponent, isStandalone: true, selector: "lu-checkbox-input", inputs: { checklist: { classPropertyName: "checklist", publicName: "checklist", isSignal: true, isRequired: false, transformFunction: null }, mixed: { classPropertyName: "mixed", publicName: "mixed", isSignal: false, isRequired: false, transformFunction: booleanAttribute } }, host: { properties: { "class.checkboxField": "true", "class.mod-checklist": "checklist()" } }, providers: [
138
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: CheckboxInputComponent, isStandalone: true, selector: "lu-checkbox-input", inputs: { checklist: { classPropertyName: "checklist", publicName: "checklist", isSignal: true, isRequired: false, transformFunction: null }, mixed: { classPropertyName: "mixed", publicName: "mixed", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.checkboxField": "true", "class.mod-checklist": "checklist()" } }, providers: [
149
139
  {
150
140
  provide: FILTER_PILL_INPUT_COMPONENT,
151
141
  useExisting: forwardRef(() => CheckboxInputComponent),
152
142
  },
153
- ], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "@if (!isFilterPill()) {\n\t<input\n\t\tluInput\n\t\ttype=\"checkbox\"\n\t\tclass=\"checkboxField-input\"\n\t\t[class.inputFramed-header-input]=\"framed\"\n\t\t[formControl]=\"ngControl.control\"\n\t\t[attr.aria-checked]=\"mixed ? 'mixed' : null\"\n\t/>\n\t<span class=\"checkboxField-icon\" [class.inputFramed-header-icon]=\"framed\" aria-hidden=\"true\"\n\t\t><span class=\"checkboxField-icon-check\"></span\n\t></span>\n}\n\n<ng-container *luFilterPillLabel=\"let label = label\">\n\t<label class=\"filterPill-label\" [attr.for]=\"filterPillInputId\" luTooltip luTooltipWhenEllipsis=\"true\">\n\t\t{{ label }}\n\t\t<span class=\"filterPill-label-placeholder\" aria-hidden=\"true\" [attr.data-content-before]=\"label\"></span>\n\t</label>\n\t<span class=\"filterPill-checkbox\">\n\t\t<input\n\t\t\ttype=\"checkbox\"\n\t\t\tclass=\"filterPill-checkbox-input\"\n\t\t\tluInput\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.aria-checked]=\"mixed ? 'mixed' : null\"\n\t\t\t[attr.id]=\"filterPillInputId\"\n\t\t/>\n\t\t<span class=\"filterPill-checkbox-icon\" aria-hidden=\"true\">\n\t\t\t<span class=\"filterPill-checkbox-icon-check\"></span>\n\t\t</span>\n\t</span>\n</ng-container>\n", styles: ["@layer components{.checkboxField{--component-checkboxField-size: 1.25rem;--component-checkboxField-top: var(--pr-t-spacings-25);--component-checkboxField-borderRadius: var(--pr-t-border-radius-small);--component-checkboxField-borderColor: var(--palettes-neutral-700);--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-S-lineHeight);--component-checkboxField-icon-color: var(--palettes-neutral-0);--component-checkboxField-icon-scale: 0;position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"checkbox\";grid-template-columns:var(--component-checkboxField-size);grid-template-rows:var(--component-checkboxField-size)}.checkboxField-icon{border:2px solid var(--component-checkboxField-borderColor);border-radius:var(--component-checkboxField-borderRadius);color:var(--component-checkboxField-icon-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--component-checkboxField-backgroundColor);cursor:pointer;grid-area:checkbox;display:flex}@media (prefers-reduced-motion: reduce){.checkboxField-icon{transition-property:none}}.checkboxField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--component-checkboxField-borderRadius)}.checkboxField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--component-checkboxField-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform-origin:center;transition-timing-function:cubic-bezier(.5,-.5,.5,0)}@media (prefers-reduced-motion: reduce){.checkboxField-icon-check{transition-property:none}}.checkboxField-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--component-checkboxField-icon-fontSize);direction:ltr;font-family:Lucca icons;font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.checkboxField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:checkbox;inline-size:100%;block-size:100%}}@layer mods{.checkboxField.mod-S{--component-checkboxField-size: 1rem;--component-checkboxField-borderRadius: var(--pr-t-border-radius-50);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-checkboxField-label-fontSize: var(--pr-t-font-body-S-fontSize);--component-checkboxField-label-lineHeight: var(--pr-t-font-body-S-lineHeight)}.checkboxField.mod-checklist{--component-checkboxField-borderRadius: var(--commons-borderRadius-full);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-color: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 1}.formLabel:has(~.checkboxField.mod-checklist>.checkboxField-input:not(:disabled):checked){--components-formLabel-color: var(--pr-t-color-text-subtle)}@keyframes checklist-bounce{0%{transform:scale(1)}55%{transform:scale(1.3)}to{transform:scale(1)}}.checkboxField.mod-checklist .checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist .checkboxField-input:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-100)}.checkboxField.mod-checklist .checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 0}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-700);--component-checkboxField-borderColor: var(--palettes-success-700);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{animation:var(--commons-animations-durations-standard) ease-in-out checklist-bounce}.checkboxField.mod-checklist .checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-900);--component-checkboxField-borderColor: var(--palettes-success-900)}.checkboxField.mod-checklist .checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-100);--component-checkboxField-borderColor: var(--palettes-neutral-100);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}}@layer mods{.checkboxField-input[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check:before{content:\"\\e975\"/\"\"}.checkboxField-input:focus-visible~.checkboxField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-600)}.checkboxField-input:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-900)}.checkboxField-input:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:disabled{cursor:default}.checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-500)}.checkboxField-input:disabled[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true][aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input[aria-invalid=true]:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input:checked[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input:checked[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input:checked[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "directive", type: FilterPillLabelDirective, selector: "[luFilterPillLabel]" }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
143
+ ], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "@if (!isFilterPill()) {\n\t<input\n\t\tluInput\n\t\ttype=\"checkbox\"\n\t\tclass=\"checkboxField-input\"\n\t\t[class.inputFramed-header-input]=\"framed\"\n\t\t[formControl]=\"ngControl.control\"\n\t\t[attr.aria-checked]=\"mixed() ? 'mixed' : null\"\n\t/>\n\t<span class=\"checkboxField-icon\" [class.inputFramed-header-icon]=\"framed\" aria-hidden=\"true\"\n\t\t><span class=\"checkboxField-icon-check\"></span\n\t></span>\n}\n\n<ng-container *luFilterPillLabel=\"let label = label\">\n\t<label class=\"filterPill-label\" [attr.for]=\"filterPillInputId\" luTooltip luTooltipWhenEllipsis=\"true\">\n\t\t{{ label }}\n\t\t<span class=\"filterPill-label-placeholder\" aria-hidden=\"true\" [attr.data-content-before]=\"label\"></span>\n\t</label>\n\t<span class=\"filterPill-checkbox\">\n\t\t<input\n\t\t\ttype=\"checkbox\"\n\t\t\tclass=\"filterPill-checkbox-input\"\n\t\t\tluInput\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.aria-checked]=\"mixed() ? 'mixed' : null\"\n\t\t\t[attr.id]=\"filterPillInputId\"\n\t\t/>\n\t\t<span class=\"filterPill-checkbox-icon\" aria-hidden=\"true\">\n\t\t\t<span class=\"filterPill-checkbox-icon-check\"></span>\n\t\t</span>\n\t</span>\n</ng-container>\n", styles: ["@layer components{.checkboxField{--component-checkboxField-size: 1.25rem;--component-checkboxField-top: var(--pr-t-spacings-25);--component-checkboxField-borderRadius: var(--pr-t-border-radius-small);--component-checkboxField-borderColor: var(--palettes-neutral-700);--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-S-lineHeight);--component-checkboxField-icon-color: var(--palettes-neutral-0);--component-checkboxField-icon-scale: 0;position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"checkbox\";grid-template-columns:var(--component-checkboxField-size);grid-template-rows:var(--component-checkboxField-size)}.checkboxField-icon{border:2px solid var(--component-checkboxField-borderColor);border-radius:var(--component-checkboxField-borderRadius);color:var(--component-checkboxField-icon-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--component-checkboxField-backgroundColor);cursor:pointer;grid-area:checkbox;display:flex}@media (prefers-reduced-motion: reduce){.checkboxField-icon{transition-property:none}}.checkboxField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--component-checkboxField-borderRadius)}.checkboxField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--component-checkboxField-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform-origin:center;transition-timing-function:cubic-bezier(.5,-.5,.5,0)}@media (prefers-reduced-motion: reduce){.checkboxField-icon-check{transition-property:none}}.checkboxField-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--component-checkboxField-icon-fontSize);direction:ltr;font-family:Lucca icons;font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.checkboxField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:checkbox;inline-size:100%;block-size:100%}}@layer mods{.checkboxField.mod-S{--component-checkboxField-size: 1rem;--component-checkboxField-borderRadius: var(--pr-t-border-radius-50);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-checkboxField-label-fontSize: var(--pr-t-font-body-S-fontSize);--component-checkboxField-label-lineHeight: var(--pr-t-font-body-S-lineHeight)}.checkboxField.mod-checklist{--component-checkboxField-borderRadius: var(--commons-borderRadius-full);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-color: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 1}.formLabel:has(~.checkboxField.mod-checklist>.checkboxField-input:not(:disabled):checked){--components-formLabel-color: var(--pr-t-color-text-subtle)}@keyframes checklist-bounce{0%{transform:scale(1)}55%{transform:scale(1.3)}to{transform:scale(1)}}.checkboxField.mod-checklist .checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist .checkboxField-input:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-100)}.checkboxField.mod-checklist .checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 0}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-700);--component-checkboxField-borderColor: var(--palettes-success-700);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{animation:var(--commons-animations-durations-standard) ease-in-out checklist-bounce}.checkboxField.mod-checklist .checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-900);--component-checkboxField-borderColor: var(--palettes-success-900)}.checkboxField.mod-checklist .checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-100);--component-checkboxField-borderColor: var(--palettes-neutral-100);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}}@layer mods{.checkboxField-input[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check:before{content:\"\\e975\"/\"\"}.checkboxField-input:focus-visible~.checkboxField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-600)}.checkboxField-input:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-900)}.checkboxField-input:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:disabled{cursor:default}.checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-500)}.checkboxField-input:disabled[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true][aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input[aria-invalid=true]:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input:checked[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input:checked[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input:checked[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "directive", type: FilterPillLabelDirective, selector: "[luFilterPillLabel]" }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
154
144
  }
155
145
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: CheckboxInputComponent, decorators: [{
156
146
  type: Component,
@@ -162,15 +152,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
162
152
  ], host: {
163
153
  '[class.checkboxField]': 'true',
164
154
  '[class.mod-checklist]': 'checklist()',
165
- }, template: "@if (!isFilterPill()) {\n\t<input\n\t\tluInput\n\t\ttype=\"checkbox\"\n\t\tclass=\"checkboxField-input\"\n\t\t[class.inputFramed-header-input]=\"framed\"\n\t\t[formControl]=\"ngControl.control\"\n\t\t[attr.aria-checked]=\"mixed ? 'mixed' : null\"\n\t/>\n\t<span class=\"checkboxField-icon\" [class.inputFramed-header-icon]=\"framed\" aria-hidden=\"true\"\n\t\t><span class=\"checkboxField-icon-check\"></span\n\t></span>\n}\n\n<ng-container *luFilterPillLabel=\"let label = label\">\n\t<label class=\"filterPill-label\" [attr.for]=\"filterPillInputId\" luTooltip luTooltipWhenEllipsis=\"true\">\n\t\t{{ label }}\n\t\t<span class=\"filterPill-label-placeholder\" aria-hidden=\"true\" [attr.data-content-before]=\"label\"></span>\n\t</label>\n\t<span class=\"filterPill-checkbox\">\n\t\t<input\n\t\t\ttype=\"checkbox\"\n\t\t\tclass=\"filterPill-checkbox-input\"\n\t\t\tluInput\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.aria-checked]=\"mixed ? 'mixed' : null\"\n\t\t\t[attr.id]=\"filterPillInputId\"\n\t\t/>\n\t\t<span class=\"filterPill-checkbox-icon\" aria-hidden=\"true\">\n\t\t\t<span class=\"filterPill-checkbox-icon-check\"></span>\n\t\t</span>\n\t</span>\n</ng-container>\n", styles: ["@layer components{.checkboxField{--component-checkboxField-size: 1.25rem;--component-checkboxField-top: var(--pr-t-spacings-25);--component-checkboxField-borderRadius: var(--pr-t-border-radius-small);--component-checkboxField-borderColor: var(--palettes-neutral-700);--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-S-lineHeight);--component-checkboxField-icon-color: var(--palettes-neutral-0);--component-checkboxField-icon-scale: 0;position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"checkbox\";grid-template-columns:var(--component-checkboxField-size);grid-template-rows:var(--component-checkboxField-size)}.checkboxField-icon{border:2px solid var(--component-checkboxField-borderColor);border-radius:var(--component-checkboxField-borderRadius);color:var(--component-checkboxField-icon-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--component-checkboxField-backgroundColor);cursor:pointer;grid-area:checkbox;display:flex}@media (prefers-reduced-motion: reduce){.checkboxField-icon{transition-property:none}}.checkboxField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--component-checkboxField-borderRadius)}.checkboxField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--component-checkboxField-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform-origin:center;transition-timing-function:cubic-bezier(.5,-.5,.5,0)}@media (prefers-reduced-motion: reduce){.checkboxField-icon-check{transition-property:none}}.checkboxField-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--component-checkboxField-icon-fontSize);direction:ltr;font-family:Lucca icons;font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.checkboxField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:checkbox;inline-size:100%;block-size:100%}}@layer mods{.checkboxField.mod-S{--component-checkboxField-size: 1rem;--component-checkboxField-borderRadius: var(--pr-t-border-radius-50);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-checkboxField-label-fontSize: var(--pr-t-font-body-S-fontSize);--component-checkboxField-label-lineHeight: var(--pr-t-font-body-S-lineHeight)}.checkboxField.mod-checklist{--component-checkboxField-borderRadius: var(--commons-borderRadius-full);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-color: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 1}.formLabel:has(~.checkboxField.mod-checklist>.checkboxField-input:not(:disabled):checked){--components-formLabel-color: var(--pr-t-color-text-subtle)}@keyframes checklist-bounce{0%{transform:scale(1)}55%{transform:scale(1.3)}to{transform:scale(1)}}.checkboxField.mod-checklist .checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist .checkboxField-input:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-100)}.checkboxField.mod-checklist .checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 0}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-700);--component-checkboxField-borderColor: var(--palettes-success-700);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{animation:var(--commons-animations-durations-standard) ease-in-out checklist-bounce}.checkboxField.mod-checklist .checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-900);--component-checkboxField-borderColor: var(--palettes-success-900)}.checkboxField.mod-checklist .checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-100);--component-checkboxField-borderColor: var(--palettes-neutral-100);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}}@layer mods{.checkboxField-input[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check:before{content:\"\\e975\"/\"\"}.checkboxField-input:focus-visible~.checkboxField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-600)}.checkboxField-input:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-900)}.checkboxField-input:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:disabled{cursor:default}.checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-500)}.checkboxField-input:disabled[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true][aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input[aria-invalid=true]:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input:checked[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input:checked[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input:checked[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}}\n"] }]
166
- }], ctorParameters: () => [], propDecorators: {
167
- /**
168
- * Should set aria-checked='mixed' attribute ?
169
- */
170
- mixed: [{
171
- type: Input,
172
- args: [{ transform: booleanAttribute }]
173
- }] } });
155
+ }, template: "@if (!isFilterPill()) {\n\t<input\n\t\tluInput\n\t\ttype=\"checkbox\"\n\t\tclass=\"checkboxField-input\"\n\t\t[class.inputFramed-header-input]=\"framed\"\n\t\t[formControl]=\"ngControl.control\"\n\t\t[attr.aria-checked]=\"mixed() ? 'mixed' : null\"\n\t/>\n\t<span class=\"checkboxField-icon\" [class.inputFramed-header-icon]=\"framed\" aria-hidden=\"true\"\n\t\t><span class=\"checkboxField-icon-check\"></span\n\t></span>\n}\n\n<ng-container *luFilterPillLabel=\"let label = label\">\n\t<label class=\"filterPill-label\" [attr.for]=\"filterPillInputId\" luTooltip luTooltipWhenEllipsis=\"true\">\n\t\t{{ label }}\n\t\t<span class=\"filterPill-label-placeholder\" aria-hidden=\"true\" [attr.data-content-before]=\"label\"></span>\n\t</label>\n\t<span class=\"filterPill-checkbox\">\n\t\t<input\n\t\t\ttype=\"checkbox\"\n\t\t\tclass=\"filterPill-checkbox-input\"\n\t\t\tluInput\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.aria-checked]=\"mixed() ? 'mixed' : null\"\n\t\t\t[attr.id]=\"filterPillInputId\"\n\t\t/>\n\t\t<span class=\"filterPill-checkbox-icon\" aria-hidden=\"true\">\n\t\t\t<span class=\"filterPill-checkbox-icon-check\"></span>\n\t\t</span>\n\t</span>\n</ng-container>\n", styles: ["@layer components{.checkboxField{--component-checkboxField-size: 1.25rem;--component-checkboxField-top: var(--pr-t-spacings-25);--component-checkboxField-borderRadius: var(--pr-t-border-radius-small);--component-checkboxField-borderColor: var(--palettes-neutral-700);--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-S-lineHeight);--component-checkboxField-icon-color: var(--palettes-neutral-0);--component-checkboxField-icon-scale: 0;position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"checkbox\";grid-template-columns:var(--component-checkboxField-size);grid-template-rows:var(--component-checkboxField-size)}.checkboxField-icon{border:2px solid var(--component-checkboxField-borderColor);border-radius:var(--component-checkboxField-borderRadius);color:var(--component-checkboxField-icon-color);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--component-checkboxField-backgroundColor);cursor:pointer;grid-area:checkbox;display:flex}@media (prefers-reduced-motion: reduce){.checkboxField-icon{transition-property:none}}.checkboxField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--component-checkboxField-borderRadius)}.checkboxField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(var(--component-checkboxField-icon-scale));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);transform-origin:center;transition-timing-function:cubic-bezier(.5,-.5,.5,0)}@media (prefers-reduced-motion: reduce){.checkboxField-icon-check{transition-property:none}}.checkboxField-icon-check:before{font-weight:var(--pr-t-font-fontWeight-regular);font-size:var(--component-checkboxField-icon-fontSize);direction:ltr;font-family:Lucca icons;font-feature-settings:\"liga\";font-style:normal;letter-spacing:normal;line-height:1;text-transform:none;white-space:nowrap;word-wrap:normal;content:\"\\e97d\"/\"\"}.checkboxField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:checkbox;inline-size:100%;block-size:100%}}@layer mods{.checkboxField.mod-S{--component-checkboxField-size: 1rem;--component-checkboxField-borderRadius: var(--pr-t-border-radius-50);--component-checkboxField-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-checkboxField-label-fontSize: var(--pr-t-font-body-S-fontSize);--component-checkboxField-label-lineHeight: var(--pr-t-font-body-S-lineHeight)}.checkboxField.mod-checklist{--component-checkboxField-borderRadius: var(--commons-borderRadius-full);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-color: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 1}.formLabel:has(~.checkboxField.mod-checklist>.checkboxField-input:not(:disabled):checked){--components-formLabel-color: var(--pr-t-color-text-subtle)}@keyframes checklist-bounce{0%{transform:scale(1)}55%{transform:scale(1.3)}to{transform:scale(1)}}.checkboxField.mod-checklist .checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist .checkboxField-input:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-100)}.checkboxField.mod-checklist .checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-0);--component-checkboxField-borderColor: var(--palettes-neutral-300);--component-checkboxField-icon-scale: 0}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-700);--component-checkboxField-borderColor: var(--palettes-success-700);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{animation:var(--commons-animations-durations-standard) ease-in-out checklist-bounce}.checkboxField.mod-checklist .checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}.checkboxField.mod-checklist .checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-900);--component-checkboxField-borderColor: var(--palettes-success-900)}.checkboxField.mod-checklist .checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-neutral-100);--component-checkboxField-borderColor: var(--palettes-neutral-100);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-50);--component-checkboxField-borderColor: var(--palettes-success-600);--component-checkboxField-icon-color: var(--palettes-success-600)}.checkboxField.mod-checklist:has(.checkboxField-input:focus-visible) .checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-success-800);--component-checkboxField-borderColor: var(--palettes-success-800);--component-checkboxField-icon-color: var(--palettes-neutral-0)}}@layer mods{.checkboxField-input[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input[aria-checked=mixed]~.checkboxField-icon .checkboxField-icon-check:before{content:\"\\e975\"/\"\"}.checkboxField-input:focus-visible~.checkboxField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.checkboxField-input:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-600)}.checkboxField-input:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-900)}.checkboxField-input:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:disabled{cursor:default}.checkboxField-input:disabled~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-neutral-500)}.checkboxField-input:disabled[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true][aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:hover[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input[aria-invalid=true]:active[aria-checked=mixed]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}.checkboxField-input:checked~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-700, var(--palettes-product-700));--component-checkboxField-borderColor: var(--palettes-700, var(--palettes-product-700))}.checkboxField-input:checked~.checkboxField-icon .checkboxField-icon-check{--component-checkboxField-icon-scale: 1;transition-timing-function:cubic-bezier(.5,1,.5,1.5)}.checkboxField-input:checked:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-800, var(--palettes-product-800));--component-checkboxField-borderColor: var(--palettes-800, var(--palettes-product-800))}.checkboxField-input:checked:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-900, var(--palettes-product-900));--component-checkboxField-borderColor: var(--palettes-900, var(--palettes-product-900))}.checkboxField-input:checked:disabled~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--commons-disabled-background);--component-checkboxField-borderColor: var(--commons-disabled-background);--component-checkboxField-icon-color: var(--palettes-neutral-600)}.checkboxField-input:checked[aria-invalid=true]~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-700);--component-checkboxField-borderColor: var(--palettes-error-700)}.checkboxField-input:checked[aria-invalid=true]:hover~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-800);--component-checkboxField-borderColor: var(--palettes-error-800)}.checkboxField-input:checked[aria-invalid=true]:active~.checkboxField-icon{--component-checkboxField-backgroundColor: var(--palettes-error-900);--component-checkboxField-borderColor: var(--palettes-error-900)}}\n"] }]
156
+ }], ctorParameters: () => [] });
174
157
 
175
158
  const Translations$3 = {
176
159
  pt: {
@@ -213,76 +196,47 @@ const LU_TEXTFIELD_TRANSLATIONS = new InjectionToken('LuTextfieldTranslations',
213
196
  const luTextfieldTranslations = Translations$3;
214
197
 
215
198
  class TextInputComponent {
199
+ hasTogglePasswordVisibilityIcon() {
200
+ return this.typeRef() === 'password';
201
+ }
216
202
  constructor() {
203
+ this.intl = getIntl(LU_TEXTFIELD_TRANSLATIONS);
217
204
  this.ngControl = injectNgControl();
205
+ this.inputElementRef = viewChild('inputElement');
218
206
  this.mask = input(null);
219
- this.placeholder = '';
220
- this.autocomplete = 'off';
221
- this.hasClearer = false;
222
- this.hasSearchIcon = false;
223
- this.valueAlignRight = false;
224
- this.blur = new EventEmitter();
225
- this.searchIcon = 'searchMagnifyingGlass';
207
+ this.placeholder = input('');
208
+ this.autocomplete = input('off');
209
+ this.hasClearer = input(false, { transform: booleanAttribute });
210
+ this.hasSearchIcon = input(false, { transform: booleanAttribute });
211
+ this.valueAlignRight = input(false, { transform: booleanAttribute });
212
+ this.prefix = input();
213
+ this.suffix = input();
214
+ /**
215
+ * Search icon to use for when `hasSearchIcon` is true, defaults to 'search'
216
+ */
217
+ this.searchIcon = input('searchMagnifyingGlass');
218
+ this.type = input('text');
219
+ this.typeRef = linkedSignal(() => this.type());
220
+ // eslint-disable-next-line @angular-eslint/no-output-native
221
+ this.blur = output();
226
222
  this.showPassword = signal(false);
227
- this._type = 'text';
228
- this.intl = getIntl(LU_TEXTFIELD_TRANSLATIONS);
229
- }
230
- get type() {
231
- return this.showPassword() ? 'text' : this._type;
232
- }
233
- set type(type) {
234
- this._type = type;
235
- }
236
- hasTogglePasswordVisibilityIcon() {
237
- return this._type === 'password';
223
+ _effectWithDeps([this.showPassword], (showPassword) => this.typeRef.set(showPassword ? 'text' : this.type()));
238
224
  }
239
225
  clearValue() {
240
226
  this.ngControl.reset();
241
- this.inputElementRef.nativeElement.focus();
227
+ this.inputElementRef().nativeElement.focus();
242
228
  }
243
229
  togglePasswordVisibility() {
244
230
  const _showPassword = this.showPassword();
245
231
  this.showPassword.set(!_showPassword);
246
232
  }
247
233
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TextInputComponent, isStandalone: true, selector: "lu-text-input", inputs: { mask: { classPropertyName: "mask", publicName: "mask", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: false, isRequired: false, transformFunction: null }, hasClearer: { classPropertyName: "hasClearer", publicName: "hasClearer", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, hasSearchIcon: { classPropertyName: "hasSearchIcon", publicName: "hasSearchIcon", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, valueAlignRight: { classPropertyName: "valueAlignRight", publicName: "valueAlignRight", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: false, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: false, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: false, isRequired: false, transformFunction: null }, searchIcon: { classPropertyName: "searchIcon", publicName: "searchIcon", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { blur: "blur" }, providers: [provideNgxMask()], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, static: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight\">\n\t<ng-template #textfieldAddon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" aria-hidden=\"true\">{{ addon.content }}</span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ addon.ariaLabel }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefix) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefix,\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\t[type]=\"type\"\n\t\t\t[attr.autocomplete]=\"autocomplete ? autocomplete : null\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t(blur)=\"blur.emit($event)\"\n\t\t\t[mask]=\"mask()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer && inputElement.value) {\n\t\t\t\t<lu-clear (click)=\"clearValue()\" class=\"textField-input-affix-clear\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t\t@if (hasSearchIcon) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"textField-input-affix-icon lucca-icon icon-{{ searchIcon }}\"></span>\n\t\t\t}\n\t\t\t@if (hasTogglePasswordVisibilityIcon()) {\n\t\t\t\t<button\n\t\t\t\t\t[attr.aria-pressed]=\"showPassword()\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"button mod-onlyIcon mod-ghost textField-input-affix-toggle\"\n\t\t\t\t\t(click)=\"togglePasswordVisibility()\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden=\"true\" [class]=\"`lucca-icon icon-${ showPassword() ? 'unwatch' : 'watch' }`\"></span>\n\t\t\t\t\t<span class=\"pr-u-mask\">{{ intl.togglePasswordVisibility }}</span>\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t@if (suffix) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffix,\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldIdDirective, selector: "[luFormFieldId]", inputs: ["luFormFieldId", "labelledByStrategy"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "product", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
234
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TextInputComponent, isStandalone: true, selector: "lu-text-input", inputs: { mask: { classPropertyName: "mask", publicName: "mask", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null }, hasClearer: { classPropertyName: "hasClearer", publicName: "hasClearer", isSignal: true, isRequired: false, transformFunction: null }, hasSearchIcon: { classPropertyName: "hasSearchIcon", publicName: "hasSearchIcon", isSignal: true, isRequired: false, transformFunction: null }, valueAlignRight: { classPropertyName: "valueAlignRight", publicName: "valueAlignRight", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, searchIcon: { classPropertyName: "searchIcon", publicName: "searchIcon", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { blur: "blur" }, providers: [provideNgxMask()], viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight()\">\n\t<ng-template #textfieldAddon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" aria-hidden=\"true\">{{ addon.content }}</span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ addon.ariaLabel }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\t[type]=\"type()\"\n\t\t\t[attr.autocomplete]=\"autocomplete() ? autocomplete() : null\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t(blur)=\"blur.emit($event)\"\n\t\t\t[mask]=\"mask()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer() && inputElement.value) {\n\t\t\t\t<lu-clear (click)=\"clearValue()\" class=\"textField-input-affix-clear\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t\t@if (hasSearchIcon()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"textField-input-affix-icon lucca-icon icon-{{ searchIcon() }}\"></span>\n\t\t\t}\n\t\t\t@if (hasTogglePasswordVisibilityIcon()) {\n\t\t\t\t<button\n\t\t\t\t\t[attr.aria-pressed]=\"showPassword()\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"button mod-onlyIcon mod-ghost textField-input-affix-toggle\"\n\t\t\t\t\t(click)=\"togglePasswordVisibility()\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden=\"true\" [class]=\"`lucca-icon icon-${ showPassword() ? 'unwatch' : 'watch' }`\"></span>\n\t\t\t\t\t<span class=\"pr-u-mask\">{{ intl.togglePasswordVisibility }}</span>\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t@if (suffix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldIdDirective, selector: "[luFormFieldId]", inputs: ["luFormFieldId", "labelledByStrategy"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions", "instantPrefix"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
249
235
  }
250
236
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TextInputComponent, decorators: [{
251
237
  type: Component,
252
- args: [{ selector: 'lu-text-input', imports: [InputDirective, ReactiveFormsModule, FormFieldIdDirective, NgTemplateOutlet, NgxMaskDirective, ClearComponent], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideNgxMask()], template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight\">\n\t<ng-template #textfieldAddon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" aria-hidden=\"true\">{{ addon.content }}</span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ addon.ariaLabel }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefix) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefix,\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\t[type]=\"type\"\n\t\t\t[attr.autocomplete]=\"autocomplete ? autocomplete : null\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t(blur)=\"blur.emit($event)\"\n\t\t\t[mask]=\"mask()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer && inputElement.value) {\n\t\t\t\t<lu-clear (click)=\"clearValue()\" class=\"textField-input-affix-clear\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t\t@if (hasSearchIcon) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"textField-input-affix-icon lucca-icon icon-{{ searchIcon }}\"></span>\n\t\t\t}\n\t\t\t@if (hasTogglePasswordVisibilityIcon()) {\n\t\t\t\t<button\n\t\t\t\t\t[attr.aria-pressed]=\"showPassword()\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"button mod-onlyIcon mod-ghost textField-input-affix-toggle\"\n\t\t\t\t\t(click)=\"togglePasswordVisibility()\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden=\"true\" [class]=\"`lucca-icon icon-${ showPassword() ? 'unwatch' : 'watch' }`\"></span>\n\t\t\t\t\t<span class=\"pr-u-mask\">{{ intl.togglePasswordVisibility }}</span>\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t@if (suffix) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffix,\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n</div>\n" }]
253
- }], propDecorators: { placeholder: [{
254
- type: Input
255
- }], autocomplete: [{
256
- type: Input
257
- }], hasClearer: [{
258
- type: Input,
259
- args: [{ transform: booleanAttribute }]
260
- }], hasSearchIcon: [{
261
- type: Input,
262
- args: [{ transform: booleanAttribute }]
263
- }], valueAlignRight: [{
264
- type: Input,
265
- args: [{ transform: booleanAttribute }]
266
- }], inputElementRef: [{
267
- type: ViewChild,
268
- args: ['inputElement', { static: true }]
269
- }], prefix: [{
270
- type: Input
271
- }], suffix: [{
272
- type: Input
273
- }],
274
- // eslint-disable-next-line @angular-eslint/no-output-native
275
- blur: [{
276
- type: Output
277
- }], type: [{
278
- type: Input
279
- }],
280
- /**
281
- * Search icon to use for when `hasSearchIcon` is true, defaults to 'search'
282
- */
283
- searchIcon: [{
284
- type: Input
285
- }] } });
238
+ args: [{ selector: 'lu-text-input', imports: [InputDirective, ReactiveFormsModule, FormFieldIdDirective, NgTemplateOutlet, NgxMaskDirective, ClearComponent], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideNgxMask()], template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight()\">\n\t<ng-template #textfieldAddon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" aria-hidden=\"true\">{{ addon.content }}</span>\n\t\t\t\t<span class=\"pr-u-mask\">{{ addon.ariaLabel }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\t[type]=\"type()\"\n\t\t\t[attr.autocomplete]=\"autocomplete() ? autocomplete() : null\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t(blur)=\"blur.emit($event)\"\n\t\t\t[mask]=\"mask()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer() && inputElement.value) {\n\t\t\t\t<lu-clear (click)=\"clearValue()\" class=\"textField-input-affix-clear\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t\t@if (hasSearchIcon()) {\n\t\t\t\t<span aria-hidden=\"true\" class=\"textField-input-affix-icon lucca-icon icon-{{ searchIcon() }}\"></span>\n\t\t\t}\n\t\t\t@if (hasTogglePasswordVisibilityIcon()) {\n\t\t\t\t<button\n\t\t\t\t\t[attr.aria-pressed]=\"showPassword()\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"button mod-onlyIcon mod-ghost textField-input-affix-toggle\"\n\t\t\t\t\t(click)=\"togglePasswordVisibility()\"\n\t\t\t\t>\n\t\t\t\t\t<span aria-hidden=\"true\" [class]=\"`lucca-icon icon-${ showPassword() ? 'unwatch' : 'watch' }`\"></span>\n\t\t\t\t\t<span class=\"pr-u-mask\">{{ intl.togglePasswordVisibility }}</span>\n\t\t\t\t</button>\n\t\t\t}\n\t\t</div>\n\t</div>\n\t@if (suffix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\ttextfieldAddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n</div>\n" }]
239
+ }], ctorParameters: () => [] });
286
240
 
287
241
  const Translations$2 = {
288
242
  en: {
@@ -362,7 +316,7 @@ class MultilanguageInputComponent {
362
316
  useExisting: forwardRef(() => MultilanguageInputComponent),
363
317
  multi: true,
364
318
  },
365
- ], ngImport: i0, template: "<div class=\"textField\">\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\ttype=\"text\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[(ngModel)]=\"invariant().value\"\n\t\t\t(ngModelChange)=\"valueChange()\"\n\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t(blur)=\"onTouched?.()\"\n\t\t\t(focus)=\"openOnFocus() ? popoverRef.openPopover(true, true, true) : null\"\n\t\t\t[disabled]=\"disabledInternal()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t<button\n\t\t\t\t[luPopover2]=\"popoverMultilanguage\"\n\t\t\t\t#popoverRef=\"luPopover2\"\n\t\t\t\tluPopoverNoCloseButton\n\t\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t\t[luTooltip]=\"intl.toggleMultilanguage\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"button mod-onlyIcon mod-ghost textField-input-affix-toggle\"\n\t\t\t>\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signTranslation\"></span>\n\t\t\t</button>\n\t\t\t<ng-template #popoverMultilanguage>\n\t\t\t\t<div class=\"popover-contentOptional multilanguage_popover-content\" [style.width.px]=\"inputElement.clientWidth + 16\">\n\t\t\t\t\t<div class=\"pr-u-displayFlex pr-u-gap100 pr-u-flexDirectionColumn\">\n\t\t\t\t\t\t@for (row of panelInputs(); track row.cultureCode) {\n\t\t\t\t\t\t\t<lu-form-field\n\t\t\t\t\t\t\t\t[size]=\"formFieldSize()\"\n\t\t\t\t\t\t\t\t[label]=\"intl.translateTo | intlParams: { lang: getLocaleDisplayName(row.cultureCode) }\"\n\t\t\t\t\t\t\t\thiddenLabel\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-text-input\n\t\t\t\t\t\t\t\t\t[suffix]=\"{ content: row.cultureCode, ariaLabel: '' }\"\n\t\t\t\t\t\t\t\t\t[(ngModel)]=\"row.value\"\n\t\t\t\t\t\t\t\t\t(ngModelChange)=\"valueChange()\"\n\t\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t\t\t\t\t\t\t[disabled]=\"disabledInternal()\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</lu-form-field>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t</div>\n\t</div>\n</div>\n", styles: ["@layer components{.multilanguage_popover-content.popover-contentOptional{max-block-size:20rem;overflow:auto}}@layer mods{.multilanguage_popover-content.popover-contentOptional:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-structure)}}\n"], dependencies: [{ kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["mask", "placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "type", "searchIcon"], outputs: ["blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
319
+ ], ngImport: i0, template: "<div class=\"textField\">\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\ttype=\"text\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[(ngModel)]=\"invariant().value\"\n\t\t\t(ngModelChange)=\"valueChange()\"\n\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t(blur)=\"onTouched?.()\"\n\t\t\t(focus)=\"openOnFocus() ? popoverRef.openPopover(true, true, true) : null\"\n\t\t\t[disabled]=\"disabledInternal()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t<button\n\t\t\t\t[luPopover2]=\"popoverMultilanguage\"\n\t\t\t\t#popoverRef=\"luPopover2\"\n\t\t\t\tluPopoverNoCloseButton\n\t\t\t\t[customPositions]=\"popoverPositions\"\n\t\t\t\t[luTooltip]=\"intl.toggleMultilanguage\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"button mod-onlyIcon mod-ghost textField-input-affix-toggle\"\n\t\t\t>\n\t\t\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-signTranslation\"></span>\n\t\t\t</button>\n\t\t\t<ng-template #popoverMultilanguage>\n\t\t\t\t<div class=\"popover-contentOptional multilanguage_popover-content\" [style.width.px]=\"inputElement.clientWidth + 16\">\n\t\t\t\t\t<div class=\"pr-u-displayFlex pr-u-gap100 pr-u-flexDirectionColumn\">\n\t\t\t\t\t\t@for (row of panelInputs(); track row.cultureCode) {\n\t\t\t\t\t\t\t<lu-form-field\n\t\t\t\t\t\t\t\t[size]=\"formFieldSize()\"\n\t\t\t\t\t\t\t\t[label]=\"intl.translateTo | intlParams: { lang: getLocaleDisplayName(row.cultureCode) }\"\n\t\t\t\t\t\t\t\thiddenLabel\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<lu-text-input\n\t\t\t\t\t\t\t\t\t[suffix]=\"{ content: row.cultureCode, ariaLabel: '' }\"\n\t\t\t\t\t\t\t\t\t[(ngModel)]=\"row.value\"\n\t\t\t\t\t\t\t\t\t(ngModelChange)=\"valueChange()\"\n\t\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\n\t\t\t\t\t\t\t\t\t[disabled]=\"disabledInternal()\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</lu-form-field>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-template>\n\t\t</div>\n\t</div>\n</div>\n", styles: ["@layer components{.multilanguage_popover-content.popover-contentOptional{max-block-size:20rem;overflow:auto}}@layer mods{.multilanguage_popover-content.popover-contentOptional:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:var(--pr-t-border-radius-structure)}}\n"], dependencies: [{ kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: PopoverDirective, selector: "[luPopover2]", inputs: ["luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["mask", "placeholder", "autocomplete", "hasClearer", "hasSearchIcon", "valueAlignRight", "prefix", "suffix", "searchIcon", "type"], outputs: ["blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
366
320
  }
367
321
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: MultilanguageInputComponent, decorators: [{
368
322
  type: Component,
@@ -485,7 +439,7 @@ class NumberFormatInputComponent {
485
439
  this.inputElementRef().nativeElement.focus();
486
440
  }
487
441
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NumberFormatInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
488
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: NumberFormatInputComponent, isStandalone: true, selector: "lu-number-format-input", inputs: { formatStyle: { classPropertyName: "formatStyle", publicName: "formatStyle", isSignal: true, isRequired: false, transformFunction: null }, useAutoPrefixSuffix: { classPropertyName: "useAutoPrefixSuffix", publicName: "useAutoPrefixSuffix", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, currency: { classPropertyName: "currency", publicName: "currency", isSignal: true, isRequired: false, transformFunction: null }, currencyDisplay: { classPropertyName: "currencyDisplay", publicName: "currencyDisplay", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, unitDisplay: { classPropertyName: "unitDisplay", publicName: "unitDisplay", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hasClearer: { classPropertyName: "hasClearer", publicName: "hasClearer", isSignal: true, isRequired: false, transformFunction: null }, valueAlignRight: { classPropertyName: "valueAlignRight", publicName: "valueAlignRight", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight()\">\n\t<ng-template #addon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\">{{ addon.content }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefixAddon()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefixAddon(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\t@if (suffixAddon()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffixAddon(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\tluNumberFormatInput\n\t\t\t[formatOptions]=\"formatOptions()\"\n\t\t\t[min]=\"min()\"\n\t\t\t[max]=\"max()\"\n\t\t\ttype=\"text\"\n\t\t\tinputmode=\"decimal\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer() && inputElement.value) {\n\t\t\t\t<lu-clear class=\"textField-input-affix-clear\" (onClear)=\"clearValue(); inputElement.focus()\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t</div>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldIdDirective, selector: "[luFormFieldId]", inputs: ["luFormFieldId", "labelledByStrategy"] }, { kind: "directive", type: NumberFormatDirective, selector: "input[luNumberFormatInput]", inputs: ["formatOptions"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "product", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
442
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: NumberFormatInputComponent, isStandalone: true, selector: "lu-number-format-input", inputs: { formatStyle: { classPropertyName: "formatStyle", publicName: "formatStyle", isSignal: true, isRequired: false, transformFunction: null }, useAutoPrefixSuffix: { classPropertyName: "useAutoPrefixSuffix", publicName: "useAutoPrefixSuffix", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, currency: { classPropertyName: "currency", publicName: "currency", isSignal: true, isRequired: false, transformFunction: null }, currencyDisplay: { classPropertyName: "currencyDisplay", publicName: "currencyDisplay", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, unitDisplay: { classPropertyName: "unitDisplay", publicName: "unitDisplay", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hasClearer: { classPropertyName: "hasClearer", publicName: "hasClearer", isSignal: true, isRequired: false, transformFunction: null }, valueAlignRight: { classPropertyName: "valueAlignRight", publicName: "valueAlignRight", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight()\">\n\t<ng-template #addon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\">{{ addon.content }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefixAddon()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefixAddon(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\t@if (suffixAddon()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffixAddon(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\tluNumberFormatInput\n\t\t\t[formatOptions]=\"formatOptions()\"\n\t\t\t[min]=\"min()\"\n\t\t\t[max]=\"max()\"\n\t\t\ttype=\"text\"\n\t\t\tinputmode=\"decimal\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer() && inputElement.value) {\n\t\t\t\t<lu-clear class=\"textField-input-affix-clear\" (onClear)=\"clearValue(); inputElement.focus()\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t</div>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldIdDirective, selector: "[luFormFieldId]", inputs: ["luFormFieldId", "labelledByStrategy"] }, { kind: "directive", type: NumberFormatDirective, selector: "input[luNumberFormatInput]", inputs: ["formatOptions"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
489
443
  }
490
444
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NumberFormatInputComponent, decorators: [{
491
445
  type: Component,
@@ -544,7 +498,7 @@ class NumberInputComponent {
544
498
  this.inputElementRef().nativeElement.focus();
545
499
  }
546
500
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
547
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: NumberInputComponent, isStandalone: true, selector: "lu-number-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, noSpinButtons: { classPropertyName: "noSpinButtons", publicName: "noSpinButtons", isSignal: true, isRequired: false, transformFunction: null }, hasClearer: { classPropertyName: "hasClearer", publicName: "hasClearer", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, valueAlignRight: { classPropertyName: "valueAlignRight", publicName: "valueAlignRight", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight()\">\n\t<ng-template #addon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\">{{ addon.content }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\t@if (suffix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\ttype=\"number\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[step]=\"step()\"\n\t\t\t[min]=\"min()\"\n\t\t\t[max]=\"max()\"\n\t\t\t[class.pr-u-noSpinButtons]=\"noSpinButtons()\"\n\t\t\t(wheel)=\"$event.preventDefault()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer() && inputElement.value) {\n\t\t\t\t<lu-clear class=\"textField-input-affix-clear\" (onClear)=\"clearValue(); inputElement.focus()\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t</div>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldIdDirective, selector: "[luFormFieldId]", inputs: ["luFormFieldId", "labelledByStrategy"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "product", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
501
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: NumberInputComponent, isStandalone: true, selector: "lu-number-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, noSpinButtons: { classPropertyName: "noSpinButtons", publicName: "noSpinButtons", isSignal: true, isRequired: false, transformFunction: null }, hasClearer: { classPropertyName: "hasClearer", publicName: "hasClearer", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, valueAlignRight: { classPropertyName: "valueAlignRight", publicName: "valueAlignRight", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputElementRef", first: true, predicate: ["inputElement"], descendants: true, isSignal: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-valueAlignRight]=\"valueAlignRight()\">\n\t<ng-template #addon let-addon=\"addon\" let-type=\"type\">\n\t\t@if (addon.content) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\">{{ addon.content }}</span>\n\t\t\t</span>\n\t\t}\n\t\t@if (addon.icon) {\n\t\t\t<span class=\"textField-{{ type }}\" luFormFieldId=\"{{ type }}\">\n\t\t\t\t<span class=\"textField-label-{{ type }}-item\" [attr.aria-label]=\"addon.ariaLabel\"\n\t\t\t\t\t><span class=\"lucca-icon icon-{{ addon.icon }}\"></span\n\t\t\t\t></span>\n\t\t\t</span>\n\t\t}\n\t</ng-template>\n\n\t@if (prefix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'prefix',\n\t\t\t\t\taddon: prefix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\t@if (suffix()) {\n\t\t<ng-container\n\t\t\t*ngTemplateOutlet=\"\n\t\t\t\taddon;\n\t\t\t\tcontext: {\n\t\t\t\t\ttype: 'suffix',\n\t\t\t\t\taddon: suffix(),\n\t\t\t\t}\n\t\t\t\"\n\t\t/>\n\t}\n\n\t<div class=\"textField-input\">\n\t\t<input\n\t\t\tluInput\n\t\t\ttype=\"number\"\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[placeholder]=\"placeholder()\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[step]=\"step()\"\n\t\t\t[min]=\"min()\"\n\t\t\t[max]=\"max()\"\n\t\t\t[class.pr-u-noSpinButtons]=\"noSpinButtons()\"\n\t\t\t(wheel)=\"$event.preventDefault()\"\n\t\t\t#inputElement\n\t\t/>\n\t\t<div class=\"textField-input-affix\">\n\t\t\t@if (hasClearer() && inputElement.value) {\n\t\t\t\t<lu-clear class=\"textField-input-affix-clear\" (onClear)=\"clearValue(); inputElement.focus()\">{{ intl.clear }}</lu-clear>\n\t\t\t}\n\t\t</div>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormFieldIdDirective, selector: "[luFormFieldId]", inputs: ["luFormFieldId", "labelledByStrategy"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ClearComponent, selector: "lu-clear", inputs: ["size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
548
502
  }
549
503
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: NumberInputComponent, decorators: [{
550
504
  type: Component,
@@ -555,22 +509,21 @@ const RADIO_GROUP_INSTANCE = new InjectionToken('RADIO_GROUP_INSTANCE');
555
509
 
556
510
  let nextId$2 = 0;
557
511
  class RadioGroupInputComponent {
558
- get isFramed() {
559
- return this.framed();
560
- }
561
512
  constructor() {
562
513
  this.formField = inject(FORM_FIELD_INSTANCE, { optional: true });
563
514
  this.ngControl = injectNgControl();
515
+ this.size = input();
564
516
  this.framed = input(false, { transform: booleanAttribute });
565
517
  this.framedCenter = input(false, { transform: booleanAttribute });
566
518
  this.framedSize = input(null);
519
+ this.arrow = input();
567
520
  this.name = `radio-group-${nextId$2++}`;
568
521
  if (this.formField) {
569
522
  this.formField.layout.set('fieldset');
570
523
  }
571
524
  }
572
525
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: RadioGroupInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
573
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: RadioGroupInputComponent, isStandalone: true, selector: "lu-radio-group-input", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, framed: { classPropertyName: "framed", publicName: "framed", isSignal: true, isRequired: false, transformFunction: null }, framedCenter: { classPropertyName: "framedCenter", publicName: "framedCenter", isSignal: true, isRequired: false, transformFunction: null }, framedSize: { classPropertyName: "framedSize", publicName: "framedSize", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "class.inputFramedWrapper": "this.isFramed" } }, providers: [
526
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: RadioGroupInputComponent, isStandalone: true, selector: "lu-radio-group-input", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, framed: { classPropertyName: "framed", publicName: "framed", isSignal: true, isRequired: false, transformFunction: null }, framedCenter: { classPropertyName: "framedCenter", publicName: "framedCenter", isSignal: true, isRequired: false, transformFunction: null }, framedSize: { classPropertyName: "framedSize", publicName: "framedSize", isSignal: true, isRequired: false, transformFunction: null }, arrow: { classPropertyName: "arrow", publicName: "arrow", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.inputFramedWrapper": "framed()" } }, providers: [
574
527
  {
575
528
  provide: RADIO_GROUP_INSTANCE,
576
529
  useExisting: forwardRef(() => RadioGroupInputComponent),
@@ -579,82 +532,57 @@ class RadioGroupInputComponent {
579
532
  }
580
533
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: RadioGroupInputComponent, decorators: [{
581
534
  type: Component,
582
- args: [{ selector: 'lu-radio-group-input', imports: [ReactiveFormsModule], hostDirectives: [NoopValueAccessorDirective], template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
535
+ args: [{ selector: 'lu-radio-group-input', imports: [ReactiveFormsModule], hostDirectives: [NoopValueAccessorDirective], template: '<ng-content />', host: {
536
+ '[class.inputFramedWrapper]': 'framed()',
537
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
583
538
  {
584
539
  provide: RADIO_GROUP_INSTANCE,
585
540
  useExisting: forwardRef(() => RadioGroupInputComponent),
586
541
  },
587
542
  ], styles: ["@layer base{lu-radio-group-input{display:block}}\n"] }]
588
- }], ctorParameters: () => [], propDecorators: { size: [{
589
- type: Input
590
- }], arrow: [{
591
- type: Input
592
- }], isFramed: [{
593
- type: HostBinding,
594
- args: ['class.inputFramedWrapper']
595
- }] } });
543
+ }], ctorParameters: () => [] });
596
544
 
597
545
  let nextId$1 = 0;
598
546
  class RadioComponent {
599
- constructor() {
600
- this.#luClass = inject(LuClass);
601
- this.#parentGroup = inject(RADIO_GROUP_INSTANCE);
602
- this.id = `radio-${++nextId$1}`;
603
- }
604
547
  #luClass;
605
548
  #parentGroup;
606
- get arrow() {
607
- return this.#parentGroup.arrow;
608
- }
609
- get framed() {
610
- return this.#parentGroup.framed();
611
- }
612
- get framedCenter() {
613
- return this.#parentGroup.framedCenter();
614
- }
615
- get framedSize() {
616
- return this.#parentGroup.framedSize();
617
- }
618
- get notFramed() {
619
- return !this.framed;
620
- }
621
549
  get formControl() {
622
550
  return this.#parentGroup.ngControl.control;
623
551
  }
624
552
  get name() {
625
553
  return this.#parentGroup.name;
626
554
  }
627
- ngOnChanges() {
628
- this.#luClass.setState({
629
- [`mod-${this.#parentGroup.size}`]: !!this.#parentGroup.size,
630
- 'mod-withArrow': this.arrow !== undefined,
555
+ constructor() {
556
+ this.#luClass = inject(LuClass);
557
+ this.#parentGroup = inject(RADIO_GROUP_INSTANCE);
558
+ this.value = input.required();
559
+ this.disabled = input(false, { transform: booleanAttribute });
560
+ this.inlineMessage = input();
561
+ this.tag = input();
562
+ this.framedPortal = input();
563
+ this.arrow = computed(() => this.#parentGroup.arrow());
564
+ this.framed = computed(() => this.#parentGroup.framed());
565
+ this.framedCenter = computed(() => this.#parentGroup.framedCenter());
566
+ this.framedSize = computed(() => this.#parentGroup.framedSize());
567
+ this.size = computed(() => this.#parentGroup.size());
568
+ this.id = `radio-${++nextId$1}`;
569
+ _effectWithDeps([this.size, this.arrow], (size, arrow) => {
570
+ this.#luClass.setState({
571
+ [`mod-${size}`]: !!size,
572
+ 'mod-withArrow': arrow !== undefined,
573
+ });
631
574
  });
632
575
  }
633
576
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
634
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: RadioComponent, isStandalone: true, selector: "lu-radio", inputs: { value: "value", disabled: ["disabled", "disabled", booleanAttribute], inlineMessage: "inlineMessage", tag: "tag", framedPortal: "framedPortal" }, host: { properties: { "class.form-field": "this.notFramed", "id": "this.id" } }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: "<ng-template #radioContent>\n\t<label class=\"formLabel\" [class.inputFramed-header-label]=\"framed\" id=\"{{ id }}-label\" for=\"{{ id }}-input\">\n\t\t<ng-content />\n\t\t@if (tag) {\n\t\t\t<span class=\"formLabel-tag tag\">{{ tag }}</span>\n\t\t}\n\t</label>\n\t<span class=\"radioField\">\n\t\t<input\n\t\t\t[formControl]=\"formControl\"\n\t\t\t[attr.disabled]=\"formControl.disabled || disabled ? 'disabled' : null\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radioField-input\"\n\t\t\t[class.inputFramed-header-input]=\"framed\"\n\t\t\tid=\"{{ id }}-input\"\n\t\t\t[attr.name]=\"name\"\n\t\t\t[name]=\"name\"\n\t\t\t[value]=\"value\"\n\t\t\tluInput\n\t\t\tluInputStandalone\n\t\t\tattr.aria-labelledby=\"{{ id }}-label\"\n\t\t\tattr.aria-describedby=\"{{ id }}-message\"\n\t\t/>\n\t\t<span class=\"radioField-icon\" [class.inputFramed-header-icon]=\"framed\" aria-hidden=\"true\">\n\t\t\t<span class=\"radioField-icon-check\"></span>\n\t\t</span>\n\t</span>\n\t@if (inlineMessage) {\n\t\t<lu-inline-message [label]=\"inlineMessage\" id=\"{{ id }}-message\" />\n\t}\n\t@if (arrow) {\n\t\t<div class=\"form-field-arrow{{ arrow === 'neutral' ? ' mod-neutral' : '' }}\"></div>\n\t}\n</ng-template>\n@if (framed) {\n\t<lu-input-framed [center]=\"framedCenter\" [size]=\"framedSize\" [framedPortal]=\"framedPortal\">\n\t\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n\t\t<ng-container illustration><ng-content select=\"[illustration]\" /></ng-container>\n\t\t<ng-container info><ng-content select=\"[info]\" /></ng-container>\n\t</lu-input-framed>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n}\n", styles: ["@layer components{.radioField{--component-radioField-size: 1.25rem;--component-radioField-top: var(--pr-t-spacings-25);--component-radioField-borderRadius: var(--pr-t-border-radius-full);position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"radio\";grid-template-columns:var(--component-radioField-size);grid-template-rows:var(--component-radioField-size)}.radioField-icon{border:2px solid var(--palettes-neutral-700);border-radius:var(--component-radioField-borderRadius);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-0);cursor:pointer;grid-area:radio;display:flex}@media (prefers-reduced-motion: reduce){.radioField-icon{transition-property:none}}.radioField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.radioField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(0);transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}@media (prefers-reduced-motion: reduce){.radioField-icon-check{transition-property:none}}.radioField-icon-check:before{content:\"\";position:absolute;inset:0;background-color:transparent;border-radius:var(--pr-t-border-radius-full);border:2px solid var(--palettes-neutral-0)}.radioField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:radio;inline-size:100%;block-size:100%}}@layer mods{.radioField.mod-S{--component-radioField-size: 1rem}}@layer mods{.radioField-input:focus-visible~.radioField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.radioField-input:hover~.radioField-icon{border-color:var(--palettes-neutral-600)}.radioField-input:active~.radioField-icon{border-color:var(--palettes-neutral-800)}.radioField-input[aria-invalid=true]~.radioField-icon{border-color:var(--palettes-error-700)}.radioField-input[aria-invalid=true]:hover~.radioField-icon{border-color:var(--palettes-error-800)}.radioField-input[aria-invalid=true]:active~.radioField-icon{border-color:var(--palettes-error-900)}.radioField-input:disabled,.radioField-input:disabled:hover{cursor:default}.radioField-input:disabled~.radioField-icon,.radioField-input:disabled:hover~.radioField-icon{border-color:var(--palettes-neutral-500)}.radioField-input:checked~.radioField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.radioField-input:checked~.radioField-icon .radioField-icon-check{transform:scale(1)}.radioField-input:checked:hover~.radioField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.radioField-input:checked:active~.radioField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.radioField-input:checked:disabled~.radioField-icon{background-color:var(--palettes-neutral-500);border-color:var(--palettes-neutral-500);color:var(--palettes-neutral-500)}.radioField-input:checked[aria-invalid=true]~.radioField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.radioField-input:checked[aria-invalid=true]:hover~.radioField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.radioField-input:checked[aria-invalid=true]:active~.radioField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}}@layer components{.inputFramed{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);position:relative;overflow:hidden;padding:var(--components-inputFramed-padding);border:solid 1px var(--components-inputFramed-borderColor);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-neutral-0);transition-property:box-shadow,border-color;transition-duration:var(--commons-animations-durations-fast);block-size:100%;display:flex;flex-direction:column}.inputFramed-header-label.formLabel{position:static;font-weight:var(--components-inputFramed-header-label-fontWeight)}.inputFramed-header-label.formLabel:after{content:\"\";position:absolute;inset:calc(var(--pr-t-spacings-50) * -1)}.inputFramed-header-field{flex:1}.inputFramed-header-field.form-field.form-field{position:static;margin-block:0}.inputFramed-header{padding:var(--components-inputFramed-header-padding);border-radius:var(--pr-t-border-radius-50);background-color:var(--components-inputFramed-header-backgroundColor);transition-property:background-color;transition-duration:var(--commons-animations-durations-fast);position:relative;flex-grow:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:flex-start;gap:var(--pr-t-spacings-100);align-items:var(--components-inputFramed-header-alignItems)}.inputFramed-header-illustration:empty{display:none}.inputFramed-header-info{flex-basis:100%;border-block-start:1px solid var(--components-inputFramed-header-info-borderColor);padding-block-start:var(--components-inputFramed-header-info-paddingBlockStart);margin-block-start:var(--components-inputFramed-header-info-marginBlockStart);color:var(--components-inputFramed-header-info-color)}.inputFramed-header-info:empty{display:none}.inputFramed-content{display:var(--components-inputFramed-content-display);padding:var(--components-inputFramed-content-padding);margin-block-start:var(--components-inputFramed-content-marginBlockStart)}}@layer mods{.inputFramed:hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-hover)}.inputFramed:has(.inputFramed-header-input:checked){--components-inputFramed-content-display: block;--components-inputFramed-header-backgroundColor: var(--palettes-product-50);--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked);--components-inputFramed-header-info-borderColor: var(--pr-t-color-input-border-checked)}.inputFramed:has(.inputFramed-header-input:checked):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked-hover)}.inputFramed:has(.inputFramed-header-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.inputFramed:has(.inputFramed-header-input:focus-visible) .inputFramed-header-icon:after{outline:none}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]){--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical)}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical-hover)}.inputFramed:has(.inputFramed-header-input:disabled),.inputFramed:has(.inputFramed-header-input:disabled):hover{--components-inputFramed-header-backgroundColor: var(--palettes-neutral-25);--components-inputFramed-header-borderColor: var(--palettes-neutral-50);--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-color: var(--pr-t-color-input-text-disabled)}.inputFramed.mod-center{--components-inputFramed-header-alignItems: center}.inputFramed.mod-L{--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-semibold);--components-inputFramed-padding: var(--pr-t-spacings-50);--components-inputFramed-header-padding: var(--pr-t-spacings-150);--components-inputFramed-content-padding: var(--pr-t-spacings-150);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-50);--components-inputFramed-header-info-marginBlockStart: var(--pr-t-spacings-100);--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-200)}}@layer components{.inputFramedWrapper{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);display:flex;flex-direction:column;gap:var(--components-inputFramed-wrapper-gap);margin-block:var(--pr-t-spacings-50)}}@layer mods{.inputFramedWrapper:has(.inputFramed.mod-L){--components-inputFramed-wrapper-gap: var(--pr-t-spacings-150)}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: InlineMessageComponent, selector: "lu-inline-message", inputs: ["label", "state", "size", "withTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "component", type: InputFramedComponent, selector: "lu-input-framed", inputs: ["framedPortal", "center", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
577
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: RadioComponent, isStandalone: true, selector: "lu-radio", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inlineMessage: { classPropertyName: "inlineMessage", publicName: "inlineMessage", isSignal: true, isRequired: false, transformFunction: null }, tag: { classPropertyName: "tag", publicName: "tag", isSignal: true, isRequired: false, transformFunction: null }, framedPortal: { classPropertyName: "framedPortal", publicName: "framedPortal", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.form-field": "!framed()", "id": "id" } }, providers: [LuClass], ngImport: i0, template: "<ng-template #radioContent>\n\t<label class=\"formLabel\" [class.inputFramed-header-label]=\"framed()\" id=\"{{ id }}-label\" for=\"{{ id }}-input\">\n\t\t<ng-content />\n\t\t@if (tag()) {\n\t\t\t<span class=\"formLabel-tag tag\">{{ tag() }}</span>\n\t\t}\n\t</label>\n\t<span class=\"radioField\">\n\t\t<input\n\t\t\t[formControl]=\"formControl\"\n\t\t\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radioField-input\"\n\t\t\t[class.inputFramed-header-input]=\"framed()\"\n\t\t\tid=\"{{ id }}-input\"\n\t\t\t[attr.name]=\"name\"\n\t\t\t[name]=\"name\"\n\t\t\t[value]=\"value()\"\n\t\t\tluInput\n\t\t\tluInputStandalone\n\t\t\tattr.aria-labelledby=\"{{ id }}-label\"\n\t\t\tattr.aria-describedby=\"{{ id }}-message\"\n\t\t/>\n\t\t<span class=\"radioField-icon\" [class.inputFramed-header-icon]=\"framed()\" aria-hidden=\"true\">\n\t\t\t<span class=\"radioField-icon-check\"></span>\n\t\t</span>\n\t</span>\n\t@if (inlineMessage()) {\n\t\t<lu-inline-message [label]=\"inlineMessage()\" id=\"{{ id }}-message\" />\n\t}\n\t@if (arrow()) {\n\t\t<div class=\"form-field-arrow{{ arrow() === 'neutral' ? ' mod-neutral' : '' }}\"></div>\n\t}\n</ng-template>\n@if (framed()) {\n\t<lu-input-framed [center]=\"framedCenter()\" [size]=\"framedSize()\" [framedPortal]=\"framedPortal()\">\n\t\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n\t\t<ng-container illustration><ng-content select=\"[illustration]\" /></ng-container>\n\t\t<ng-container info><ng-content select=\"[info]\" /></ng-container>\n\t</lu-input-framed>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n}\n", styles: ["@layer components{.radioField{--component-radioField-size: 1.25rem;--component-radioField-top: var(--pr-t-spacings-25);--component-radioField-borderRadius: var(--pr-t-border-radius-full);position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"radio\";grid-template-columns:var(--component-radioField-size);grid-template-rows:var(--component-radioField-size)}.radioField-icon{border:2px solid var(--palettes-neutral-700);border-radius:var(--component-radioField-borderRadius);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-0);cursor:pointer;grid-area:radio;display:flex}@media (prefers-reduced-motion: reduce){.radioField-icon{transition-property:none}}.radioField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.radioField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(0);transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}@media (prefers-reduced-motion: reduce){.radioField-icon-check{transition-property:none}}.radioField-icon-check:before{content:\"\";position:absolute;inset:0;background-color:transparent;border-radius:var(--pr-t-border-radius-full);border:2px solid var(--palettes-neutral-0)}.radioField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:radio;inline-size:100%;block-size:100%}}@layer mods{.radioField.mod-S{--component-radioField-size: 1rem}}@layer mods{.radioField-input:focus-visible~.radioField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.radioField-input:hover~.radioField-icon{border-color:var(--palettes-neutral-600)}.radioField-input:active~.radioField-icon{border-color:var(--palettes-neutral-800)}.radioField-input[aria-invalid=true]~.radioField-icon{border-color:var(--palettes-error-700)}.radioField-input[aria-invalid=true]:hover~.radioField-icon{border-color:var(--palettes-error-800)}.radioField-input[aria-invalid=true]:active~.radioField-icon{border-color:var(--palettes-error-900)}.radioField-input:disabled,.radioField-input:disabled:hover{cursor:default}.radioField-input:disabled~.radioField-icon,.radioField-input:disabled:hover~.radioField-icon{border-color:var(--palettes-neutral-500)}.radioField-input:checked~.radioField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.radioField-input:checked~.radioField-icon .radioField-icon-check{transform:scale(1)}.radioField-input:checked:hover~.radioField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.radioField-input:checked:active~.radioField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.radioField-input:checked:disabled~.radioField-icon{background-color:var(--palettes-neutral-500);border-color:var(--palettes-neutral-500);color:var(--palettes-neutral-500)}.radioField-input:checked[aria-invalid=true]~.radioField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.radioField-input:checked[aria-invalid=true]:hover~.radioField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.radioField-input:checked[aria-invalid=true]:active~.radioField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}}@layer components{.inputFramed{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);position:relative;overflow:hidden;padding:var(--components-inputFramed-padding);border:solid 1px var(--components-inputFramed-borderColor);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-neutral-0);transition-property:box-shadow,border-color;transition-duration:var(--commons-animations-durations-fast);block-size:100%;display:flex;flex-direction:column}.inputFramed-header-label.formLabel{position:static;font-weight:var(--components-inputFramed-header-label-fontWeight)}.inputFramed-header-label.formLabel:after{content:\"\";position:absolute;inset:calc(var(--pr-t-spacings-50) * -1)}.inputFramed-header-field{flex:1}.inputFramed-header-field.form-field.form-field{position:static;margin-block:0}.inputFramed-header{padding:var(--components-inputFramed-header-padding);border-radius:var(--pr-t-border-radius-50);background-color:var(--components-inputFramed-header-backgroundColor);transition-property:background-color;transition-duration:var(--commons-animations-durations-fast);position:relative;flex-grow:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:flex-start;gap:var(--pr-t-spacings-100);align-items:var(--components-inputFramed-header-alignItems)}.inputFramed-header-illustration:empty{display:none}.inputFramed-header-info{flex-basis:100%;border-block-start:1px solid var(--components-inputFramed-header-info-borderColor);padding-block-start:var(--components-inputFramed-header-info-paddingBlockStart);margin-block-start:var(--components-inputFramed-header-info-marginBlockStart);color:var(--components-inputFramed-header-info-color)}.inputFramed-header-info:empty{display:none}.inputFramed-content{display:var(--components-inputFramed-content-display);padding:var(--components-inputFramed-content-padding);margin-block-start:var(--components-inputFramed-content-marginBlockStart)}}@layer mods{.inputFramed:hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-hover)}.inputFramed:has(.inputFramed-header-input:checked){--components-inputFramed-content-display: block;--components-inputFramed-header-backgroundColor: var(--palettes-product-50);--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked);--components-inputFramed-header-info-borderColor: var(--pr-t-color-input-border-checked)}.inputFramed:has(.inputFramed-header-input:checked):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked-hover)}.inputFramed:has(.inputFramed-header-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.inputFramed:has(.inputFramed-header-input:focus-visible) .inputFramed-header-icon:after{outline:none}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]){--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical)}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical-hover)}.inputFramed:has(.inputFramed-header-input:disabled),.inputFramed:has(.inputFramed-header-input:disabled):hover{--components-inputFramed-header-backgroundColor: var(--palettes-neutral-25);--components-inputFramed-header-borderColor: var(--palettes-neutral-50);--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-color: var(--pr-t-color-input-text-disabled)}.inputFramed.mod-center{--components-inputFramed-header-alignItems: center}.inputFramed.mod-L{--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-semibold);--components-inputFramed-padding: var(--pr-t-spacings-50);--components-inputFramed-header-padding: var(--pr-t-spacings-150);--components-inputFramed-content-padding: var(--pr-t-spacings-150);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-50);--components-inputFramed-header-info-marginBlockStart: var(--pr-t-spacings-100);--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-200)}}@layer components{.inputFramedWrapper{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);display:flex;flex-direction:column;gap:var(--components-inputFramed-wrapper-gap);margin-block:var(--pr-t-spacings-50)}}@layer mods{.inputFramedWrapper:has(.inputFramed.mod-L){--components-inputFramed-wrapper-gap: var(--pr-t-spacings-150)}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: InlineMessageComponent, selector: "lu-inline-message", inputs: ["label", "state", "size", "withTooltip"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "component", type: InputFramedComponent, selector: "lu-input-framed", inputs: ["framedPortal", "center", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
635
578
  }
636
579
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: RadioComponent, decorators: [{
637
580
  type: Component,
638
- args: [{ selector: 'lu-radio', imports: [ReactiveFormsModule, InlineMessageComponent, NgTemplateOutlet, InputDirective, InputFramedComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [LuClass], template: "<ng-template #radioContent>\n\t<label class=\"formLabel\" [class.inputFramed-header-label]=\"framed\" id=\"{{ id }}-label\" for=\"{{ id }}-input\">\n\t\t<ng-content />\n\t\t@if (tag) {\n\t\t\t<span class=\"formLabel-tag tag\">{{ tag }}</span>\n\t\t}\n\t</label>\n\t<span class=\"radioField\">\n\t\t<input\n\t\t\t[formControl]=\"formControl\"\n\t\t\t[attr.disabled]=\"formControl.disabled || disabled ? 'disabled' : null\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radioField-input\"\n\t\t\t[class.inputFramed-header-input]=\"framed\"\n\t\t\tid=\"{{ id }}-input\"\n\t\t\t[attr.name]=\"name\"\n\t\t\t[name]=\"name\"\n\t\t\t[value]=\"value\"\n\t\t\tluInput\n\t\t\tluInputStandalone\n\t\t\tattr.aria-labelledby=\"{{ id }}-label\"\n\t\t\tattr.aria-describedby=\"{{ id }}-message\"\n\t\t/>\n\t\t<span class=\"radioField-icon\" [class.inputFramed-header-icon]=\"framed\" aria-hidden=\"true\">\n\t\t\t<span class=\"radioField-icon-check\"></span>\n\t\t</span>\n\t</span>\n\t@if (inlineMessage) {\n\t\t<lu-inline-message [label]=\"inlineMessage\" id=\"{{ id }}-message\" />\n\t}\n\t@if (arrow) {\n\t\t<div class=\"form-field-arrow{{ arrow === 'neutral' ? ' mod-neutral' : '' }}\"></div>\n\t}\n</ng-template>\n@if (framed) {\n\t<lu-input-framed [center]=\"framedCenter\" [size]=\"framedSize\" [framedPortal]=\"framedPortal\">\n\t\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n\t\t<ng-container illustration><ng-content select=\"[illustration]\" /></ng-container>\n\t\t<ng-container info><ng-content select=\"[info]\" /></ng-container>\n\t</lu-input-framed>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n}\n", styles: ["@layer components{.radioField{--component-radioField-size: 1.25rem;--component-radioField-top: var(--pr-t-spacings-25);--component-radioField-borderRadius: var(--pr-t-border-radius-full);position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"radio\";grid-template-columns:var(--component-radioField-size);grid-template-rows:var(--component-radioField-size)}.radioField-icon{border:2px solid var(--palettes-neutral-700);border-radius:var(--component-radioField-borderRadius);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-0);cursor:pointer;grid-area:radio;display:flex}@media (prefers-reduced-motion: reduce){.radioField-icon{transition-property:none}}.radioField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.radioField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(0);transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}@media (prefers-reduced-motion: reduce){.radioField-icon-check{transition-property:none}}.radioField-icon-check:before{content:\"\";position:absolute;inset:0;background-color:transparent;border-radius:var(--pr-t-border-radius-full);border:2px solid var(--palettes-neutral-0)}.radioField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:radio;inline-size:100%;block-size:100%}}@layer mods{.radioField.mod-S{--component-radioField-size: 1rem}}@layer mods{.radioField-input:focus-visible~.radioField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.radioField-input:hover~.radioField-icon{border-color:var(--palettes-neutral-600)}.radioField-input:active~.radioField-icon{border-color:var(--palettes-neutral-800)}.radioField-input[aria-invalid=true]~.radioField-icon{border-color:var(--palettes-error-700)}.radioField-input[aria-invalid=true]:hover~.radioField-icon{border-color:var(--palettes-error-800)}.radioField-input[aria-invalid=true]:active~.radioField-icon{border-color:var(--palettes-error-900)}.radioField-input:disabled,.radioField-input:disabled:hover{cursor:default}.radioField-input:disabled~.radioField-icon,.radioField-input:disabled:hover~.radioField-icon{border-color:var(--palettes-neutral-500)}.radioField-input:checked~.radioField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.radioField-input:checked~.radioField-icon .radioField-icon-check{transform:scale(1)}.radioField-input:checked:hover~.radioField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.radioField-input:checked:active~.radioField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.radioField-input:checked:disabled~.radioField-icon{background-color:var(--palettes-neutral-500);border-color:var(--palettes-neutral-500);color:var(--palettes-neutral-500)}.radioField-input:checked[aria-invalid=true]~.radioField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.radioField-input:checked[aria-invalid=true]:hover~.radioField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.radioField-input:checked[aria-invalid=true]:active~.radioField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}}@layer components{.inputFramed{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);position:relative;overflow:hidden;padding:var(--components-inputFramed-padding);border:solid 1px var(--components-inputFramed-borderColor);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-neutral-0);transition-property:box-shadow,border-color;transition-duration:var(--commons-animations-durations-fast);block-size:100%;display:flex;flex-direction:column}.inputFramed-header-label.formLabel{position:static;font-weight:var(--components-inputFramed-header-label-fontWeight)}.inputFramed-header-label.formLabel:after{content:\"\";position:absolute;inset:calc(var(--pr-t-spacings-50) * -1)}.inputFramed-header-field{flex:1}.inputFramed-header-field.form-field.form-field{position:static;margin-block:0}.inputFramed-header{padding:var(--components-inputFramed-header-padding);border-radius:var(--pr-t-border-radius-50);background-color:var(--components-inputFramed-header-backgroundColor);transition-property:background-color;transition-duration:var(--commons-animations-durations-fast);position:relative;flex-grow:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:flex-start;gap:var(--pr-t-spacings-100);align-items:var(--components-inputFramed-header-alignItems)}.inputFramed-header-illustration:empty{display:none}.inputFramed-header-info{flex-basis:100%;border-block-start:1px solid var(--components-inputFramed-header-info-borderColor);padding-block-start:var(--components-inputFramed-header-info-paddingBlockStart);margin-block-start:var(--components-inputFramed-header-info-marginBlockStart);color:var(--components-inputFramed-header-info-color)}.inputFramed-header-info:empty{display:none}.inputFramed-content{display:var(--components-inputFramed-content-display);padding:var(--components-inputFramed-content-padding);margin-block-start:var(--components-inputFramed-content-marginBlockStart)}}@layer mods{.inputFramed:hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-hover)}.inputFramed:has(.inputFramed-header-input:checked){--components-inputFramed-content-display: block;--components-inputFramed-header-backgroundColor: var(--palettes-product-50);--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked);--components-inputFramed-header-info-borderColor: var(--pr-t-color-input-border-checked)}.inputFramed:has(.inputFramed-header-input:checked):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked-hover)}.inputFramed:has(.inputFramed-header-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.inputFramed:has(.inputFramed-header-input:focus-visible) .inputFramed-header-icon:after{outline:none}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]){--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical)}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical-hover)}.inputFramed:has(.inputFramed-header-input:disabled),.inputFramed:has(.inputFramed-header-input:disabled):hover{--components-inputFramed-header-backgroundColor: var(--palettes-neutral-25);--components-inputFramed-header-borderColor: var(--palettes-neutral-50);--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-color: var(--pr-t-color-input-text-disabled)}.inputFramed.mod-center{--components-inputFramed-header-alignItems: center}.inputFramed.mod-L{--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-semibold);--components-inputFramed-padding: var(--pr-t-spacings-50);--components-inputFramed-header-padding: var(--pr-t-spacings-150);--components-inputFramed-content-padding: var(--pr-t-spacings-150);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-50);--components-inputFramed-header-info-marginBlockStart: var(--pr-t-spacings-100);--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-200)}}@layer components{.inputFramedWrapper{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);display:flex;flex-direction:column;gap:var(--components-inputFramed-wrapper-gap);margin-block:var(--pr-t-spacings-50)}}@layer mods{.inputFramedWrapper:has(.inputFramed.mod-L){--components-inputFramed-wrapper-gap: var(--pr-t-spacings-150)}}\n"] }]
639
- }], propDecorators: { value: [{
640
- type: Input,
641
- args: [{ required: true }]
642
- }], disabled: [{
643
- type: Input,
644
- args: [{ transform: booleanAttribute }]
645
- }], inlineMessage: [{
646
- type: Input
647
- }], tag: [{
648
- type: Input
649
- }], framedPortal: [{
650
- type: Input
651
- }], notFramed: [{
652
- type: HostBinding,
653
- args: ['class.form-field']
654
- }], id: [{
655
- type: HostBinding,
656
- args: ['id']
657
- }] } });
581
+ args: [{ selector: 'lu-radio', imports: [ReactiveFormsModule, InlineMessageComponent, NgTemplateOutlet, InputDirective, InputFramedComponent], host: {
582
+ '[class.form-field]': '!framed()',
583
+ '[id]': 'id',
584
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [LuClass], template: "<ng-template #radioContent>\n\t<label class=\"formLabel\" [class.inputFramed-header-label]=\"framed()\" id=\"{{ id }}-label\" for=\"{{ id }}-input\">\n\t\t<ng-content />\n\t\t@if (tag()) {\n\t\t\t<span class=\"formLabel-tag tag\">{{ tag() }}</span>\n\t\t}\n\t</label>\n\t<span class=\"radioField\">\n\t\t<input\n\t\t\t[formControl]=\"formControl\"\n\t\t\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n\t\t\ttype=\"radio\"\n\t\t\tclass=\"radioField-input\"\n\t\t\t[class.inputFramed-header-input]=\"framed()\"\n\t\t\tid=\"{{ id }}-input\"\n\t\t\t[attr.name]=\"name\"\n\t\t\t[name]=\"name\"\n\t\t\t[value]=\"value()\"\n\t\t\tluInput\n\t\t\tluInputStandalone\n\t\t\tattr.aria-labelledby=\"{{ id }}-label\"\n\t\t\tattr.aria-describedby=\"{{ id }}-message\"\n\t\t/>\n\t\t<span class=\"radioField-icon\" [class.inputFramed-header-icon]=\"framed()\" aria-hidden=\"true\">\n\t\t\t<span class=\"radioField-icon-check\"></span>\n\t\t</span>\n\t</span>\n\t@if (inlineMessage()) {\n\t\t<lu-inline-message [label]=\"inlineMessage()\" id=\"{{ id }}-message\" />\n\t}\n\t@if (arrow()) {\n\t\t<div class=\"form-field-arrow{{ arrow() === 'neutral' ? ' mod-neutral' : '' }}\"></div>\n\t}\n</ng-template>\n@if (framed()) {\n\t<lu-input-framed [center]=\"framedCenter()\" [size]=\"framedSize()\" [framedPortal]=\"framedPortal()\">\n\t\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n\t\t<ng-container illustration><ng-content select=\"[illustration]\" /></ng-container>\n\t\t<ng-container info><ng-content select=\"[info]\" /></ng-container>\n\t</lu-input-framed>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"radioContent\" />\n}\n", styles: ["@layer components{.radioField{--component-radioField-size: 1.25rem;--component-radioField-top: var(--pr-t-spacings-25);--component-radioField-borderRadius: var(--pr-t-border-radius-full);position:relative;inline-size:fit-content;block-size:fit-content;display:grid;grid-template-areas:\"radio\";grid-template-columns:var(--component-radioField-size);grid-template-rows:var(--component-radioField-size)}.radioField-icon{border:2px solid var(--palettes-neutral-700);border-radius:var(--component-radioField-borderRadius);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-0);cursor:pointer;grid-area:radio;display:flex}@media (prefers-reduced-motion: reduce){.radioField-icon{transition-property:none}}.radioField-icon:after{content:\"\";position:absolute;inset:0;outline-offset:2px;border-radius:var(--pr-t-border-radius-small)}.radioField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%;transform:scale(0);transition-property:transform;transition-duration:var(--commons-animations-durations-fast)}@media (prefers-reduced-motion: reduce){.radioField-icon-check{transition-property:none}}.radioField-icon-check:before{content:\"\";position:absolute;inset:0;background-color:transparent;border-radius:var(--pr-t-border-radius-full);border:2px solid var(--palettes-neutral-0)}.radioField-input{z-index:1;opacity:.0001;cursor:pointer;grid-area:radio;inline-size:100%;block-size:100%}}@layer mods{.radioField.mod-S{--component-radioField-size: 1rem}}@layer mods{.radioField-input:focus-visible~.radioField-icon:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.radioField-input:hover~.radioField-icon{border-color:var(--palettes-neutral-600)}.radioField-input:active~.radioField-icon{border-color:var(--palettes-neutral-800)}.radioField-input[aria-invalid=true]~.radioField-icon{border-color:var(--palettes-error-700)}.radioField-input[aria-invalid=true]:hover~.radioField-icon{border-color:var(--palettes-error-800)}.radioField-input[aria-invalid=true]:active~.radioField-icon{border-color:var(--palettes-error-900)}.radioField-input:disabled,.radioField-input:disabled:hover{cursor:default}.radioField-input:disabled~.radioField-icon,.radioField-input:disabled:hover~.radioField-icon{border-color:var(--palettes-neutral-500)}.radioField-input:checked~.radioField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.radioField-input:checked~.radioField-icon .radioField-icon-check{transform:scale(1)}.radioField-input:checked:hover~.radioField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.radioField-input:checked:active~.radioField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.radioField-input:checked:disabled~.radioField-icon{background-color:var(--palettes-neutral-500);border-color:var(--palettes-neutral-500);color:var(--palettes-neutral-500)}.radioField-input:checked[aria-invalid=true]~.radioField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.radioField-input:checked[aria-invalid=true]:hover~.radioField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.radioField-input:checked[aria-invalid=true]:active~.radioField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}}@layer components{.inputFramed{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);position:relative;overflow:hidden;padding:var(--components-inputFramed-padding);border:solid 1px var(--components-inputFramed-borderColor);border-radius:var(--pr-t-border-radius-default);background-color:var(--palettes-neutral-0);transition-property:box-shadow,border-color;transition-duration:var(--commons-animations-durations-fast);block-size:100%;display:flex;flex-direction:column}.inputFramed-header-label.formLabel{position:static;font-weight:var(--components-inputFramed-header-label-fontWeight)}.inputFramed-header-label.formLabel:after{content:\"\";position:absolute;inset:calc(var(--pr-t-spacings-50) * -1)}.inputFramed-header-field{flex:1}.inputFramed-header-field.form-field.form-field{position:static;margin-block:0}.inputFramed-header{padding:var(--components-inputFramed-header-padding);border-radius:var(--pr-t-border-radius-50);background-color:var(--components-inputFramed-header-backgroundColor);transition-property:background-color;transition-duration:var(--commons-animations-durations-fast);position:relative;flex-grow:1;display:flex;flex-wrap:wrap;justify-content:space-between;align-content:flex-start;gap:var(--pr-t-spacings-100);align-items:var(--components-inputFramed-header-alignItems)}.inputFramed-header-illustration:empty{display:none}.inputFramed-header-info{flex-basis:100%;border-block-start:1px solid var(--components-inputFramed-header-info-borderColor);padding-block-start:var(--components-inputFramed-header-info-paddingBlockStart);margin-block-start:var(--components-inputFramed-header-info-marginBlockStart);color:var(--components-inputFramed-header-info-color)}.inputFramed-header-info:empty{display:none}.inputFramed-content{display:var(--components-inputFramed-content-display);padding:var(--components-inputFramed-content-padding);margin-block-start:var(--components-inputFramed-content-marginBlockStart)}}@layer mods{.inputFramed:hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-hover)}.inputFramed:has(.inputFramed-header-input:checked){--components-inputFramed-content-display: block;--components-inputFramed-header-backgroundColor: var(--palettes-product-50);--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked);--components-inputFramed-header-info-borderColor: var(--pr-t-color-input-border-checked)}.inputFramed:has(.inputFramed-header-input:checked):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-checked-hover)}.inputFramed:has(.inputFramed-header-input:focus-visible){outline:2px solid var(--palettes-product-700);outline-offset:2px}.inputFramed:has(.inputFramed-header-input:focus-visible) .inputFramed-header-icon:after{outline:none}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]){--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical)}.inputFramed:has(.inputFramed-header-input[aria-invalid=true]):hover{--components-inputFramed-borderColor: var(--pr-t-color-input-border-critical-hover)}.inputFramed:has(.inputFramed-header-input:disabled),.inputFramed:has(.inputFramed-header-input:disabled):hover{--components-inputFramed-header-backgroundColor: var(--palettes-neutral-25);--components-inputFramed-header-borderColor: var(--palettes-neutral-50);--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-color: var(--pr-t-color-input-text-disabled)}.inputFramed.mod-center{--components-inputFramed-header-alignItems: center}.inputFramed.mod-L{--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-semibold);--components-inputFramed-padding: var(--pr-t-spacings-50);--components-inputFramed-header-padding: var(--pr-t-spacings-150);--components-inputFramed-content-padding: var(--pr-t-spacings-150);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-50);--components-inputFramed-header-info-marginBlockStart: var(--pr-t-spacings-100);--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-200)}}@layer components{.inputFramedWrapper{--components-inputFramed-wrapper-gap: var(--pr-t-spacings-100);--components-inputFramed-content-display: none;--components-inputFramed-borderColor: var(--palettes-neutral-300);--components-inputFramed-header-info-borderColor: var(--palettes-neutral-200);--components-inputFramed-padding: var(--pr-t-spacings-25);--components-inputFramed-header-padding: var(--pr-t-spacings-75);--components-inputFramed-content-padding: var(--pr-t-spacings-75);--components-inputFramed-content-marginBlockStart: var(--pr-t-spacings-25);--components-inputFramed-header-backgroundColor: transparent;--components-inputFramed-header-alignItems: normal;--components-inputFramed-header-label-fontWeight: var(--pr-t-font-fontWeight-regular);--components-inputFramed-header-info-color: inherit;--components-inputFramed-header-info-marginBlockStart: 0;--components-inputFramed-header-info-paddingBlockStart: var(--pr-t-spacings-100);display:flex;flex-direction:column;gap:var(--components-inputFramed-wrapper-gap);margin-block:var(--pr-t-spacings-50)}}@layer mods{.inputFramedWrapper:has(.inputFramed.mod-L){--components-inputFramed-wrapper-gap: var(--pr-t-spacings-150)}}\n"] }]
585
+ }], ctorParameters: () => [] });
658
586
 
659
587
  class SwitchInputComponent {
660
588
  constructor() {
@@ -676,13 +604,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
676
604
 
677
605
  class TextareaInputComponent {
678
606
  constructor() {
679
- this.ngControl = injectNgControl();
680
607
  this.#cdr = inject(ChangeDetectorRef);
681
608
  this.#destroyRef = inject(DestroyRef);
682
- this.placeholder = '';
683
- this.rows = 3;
684
- this.autoResize = false;
685
- this.autoResizeScrollIntoView = false;
609
+ this.ngControl = injectNgControl();
610
+ this.parent = viewChild('parent');
611
+ this.placeholder = input('');
612
+ this.rows = input(3);
613
+ this.autoResize = input(false, { transform: booleanAttribute });
614
+ this.autoResizeScrollIntoView = input(false, { transform: booleanAttribute });
686
615
  this.disableSpeelcheck = input(false, { transform: booleanAttribute });
687
616
  this.cloneValue = '';
688
617
  }
@@ -692,7 +621,7 @@ class TextareaInputComponent {
692
621
  this.cloneValue = value;
693
622
  this.#cdr.detectChanges(); // Needed to apply cloneValue to autoresize HTML clone
694
623
  if (this.autoResizeScrollIntoView && this.parent) {
695
- this.parent.nativeElement.scrollIntoView({
624
+ this.parent().nativeElement.scrollIntoView({
696
625
  behavior: 'instant',
697
626
  block: 'end',
698
627
  });
@@ -702,35 +631,19 @@ class TextareaInputComponent {
702
631
  this.ngControl.valueChanges.pipe(takeUntilDestroyed(this.#destroyRef), startWith$1(this.ngControl.value)).subscribe((value) => this.updateScroll(value));
703
632
  }
704
633
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TextareaInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
705
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TextareaInputComponent, isStandalone: true, selector: "lu-textarea-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: false, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, autoResizeScrollIntoView: { classPropertyName: "autoResizeScrollIntoView", publicName: "autoResizeScrollIntoView", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, disableSpeelcheck: { classPropertyName: "disableSpeelcheck", publicName: "disableSpeelcheck", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "parent", first: true, predicate: ["parent"], descendants: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-autoResize]=\"autoResize\">\n\t<div class=\"textField-input\" #parent>\n\t\t@if (autoResize) {\n\t\t\t<div class=\"textField-input-valueClone\" aria-hidden=\"true\" [attr.data-content-before]=\"cloneValue\"></div>\n\t\t}\n\t\t<textarea\n\t\t\tluInput\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.placeholder]=\"placeholder\"\n\t\t\t[attr.rows]=\"rows\"\n\t\t\t(input)=\"updateScroll(textarea.value)\"\n\t\t\t[attr.spellcheck]=\"!disableSpeelcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
634
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: TextareaInputComponent, isStandalone: true, selector: "lu-textarea-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: true, isRequired: false, transformFunction: null }, autoResizeScrollIntoView: { classPropertyName: "autoResizeScrollIntoView", publicName: "autoResizeScrollIntoView", isSignal: true, isRequired: false, transformFunction: null }, disableSpeelcheck: { classPropertyName: "disableSpeelcheck", publicName: "disableSpeelcheck", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "parent", first: true, predicate: ["parent"], descendants: true, isSignal: true }], hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<div class=\"textField\" [class.mod-autoResize]=\"autoResize()\">\n\t<div class=\"textField-input\" #parent>\n\t\t@if (autoResize()) {\n\t\t\t<div class=\"textField-input-valueClone\" aria-hidden=\"true\" [attr.data-content-before]=\"cloneValue\"></div>\n\t\t}\n\t\t<textarea\n\t\t\tluInput\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.placeholder]=\"placeholder()\"\n\t\t\t[attr.rows]=\"rows()\"\n\t\t\t(input)=\"updateScroll(textarea.value)\"\n\t\t\t[attr.spellcheck]=\"!disableSpeelcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n", dependencies: [{ kind: "directive", type: InputDirective, selector: "[luInput]", inputs: ["luInputStandalone"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
706
635
  }
707
636
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: TextareaInputComponent, decorators: [{
708
637
  type: Component,
709
- args: [{ selector: 'lu-textarea-input', imports: [InputDirective, ReactiveFormsModule], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"textField\" [class.mod-autoResize]=\"autoResize\">\n\t<div class=\"textField-input\" #parent>\n\t\t@if (autoResize) {\n\t\t\t<div class=\"textField-input-valueClone\" aria-hidden=\"true\" [attr.data-content-before]=\"cloneValue\"></div>\n\t\t}\n\t\t<textarea\n\t\t\tluInput\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.placeholder]=\"placeholder\"\n\t\t\t[attr.rows]=\"rows\"\n\t\t\t(input)=\"updateScroll(textarea.value)\"\n\t\t\t[attr.spellcheck]=\"!disableSpeelcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n" }]
710
- }], propDecorators: { parent: [{
711
- type: ViewChild,
712
- args: ['parent']
713
- }], placeholder: [{
714
- type: Input
715
- }], rows: [{
716
- type: Input
717
- }], autoResize: [{
718
- type: Input,
719
- args: [{
720
- transform: booleanAttribute,
721
- }]
722
- }], autoResizeScrollIntoView: [{
723
- type: Input,
724
- args: [{
725
- transform: booleanAttribute,
726
- }]
727
- }] } });
638
+ args: [{ selector: 'lu-textarea-input', imports: [InputDirective, ReactiveFormsModule], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"textField\" [class.mod-autoResize]=\"autoResize()\">\n\t<div class=\"textField-input\" #parent>\n\t\t@if (autoResize()) {\n\t\t\t<div class=\"textField-input-valueClone\" aria-hidden=\"true\" [attr.data-content-before]=\"cloneValue\"></div>\n\t\t}\n\t\t<textarea\n\t\t\tluInput\n\t\t\tclass=\"textField-input-value\"\n\t\t\t[formControl]=\"ngControl.control\"\n\t\t\t[attr.placeholder]=\"placeholder()\"\n\t\t\t[attr.rows]=\"rows()\"\n\t\t\t(input)=\"updateScroll(textarea.value)\"\n\t\t\t[attr.spellcheck]=\"!disableSpeelcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n" }]
639
+ }] });
728
640
 
729
641
  let nextId = 0;
730
642
  class FieldsetComponent {
731
643
  constructor() {
732
644
  this.heading = input(null);
733
645
  this.helper = input(null);
646
+ this.action = input(null);
734
647
  this.size = input(null);
735
648
  this.horizontal = input(false, { transform: booleanAttribute });
736
649
  this.expandable = input(false, { transform: booleanAttribute });
@@ -738,11 +651,11 @@ class FieldsetComponent {
738
651
  this.id = `fieldsetTitleContent${nextId++}`;
739
652
  }
740
653
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FieldsetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
741
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FieldsetComponent, isStandalone: true, selector: "lu-fieldset", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, helper: { classPropertyName: "helper", publicName: "helper", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, ngImport: i0, template: "<fieldset\n\tclass=\"fieldset\"\n\t[attr.aria-labelledby]=\"id\"\n\t[class.mod-expandable]=\"expandable()\"\n\t[class.mod-horizontal]=\"horizontal()\"\n\t[class.mod-S]=\"size() === 'S'\"\n>\n\t<legend class=\"fieldset-title\">\n\t\t@if (expandable()) {\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"fieldset-title-content\"\n\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t(click)=\"expanded.set(!expanded())\"\n\t\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" />\n\t\t\t</button>\n\t\t} @else {\n\t\t\t<span class=\"fieldset-title-content\" [attr.id]=\"id\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t</span>\n\t\t}\n\t</legend>\n\t<div class=\"fieldset-content\" [attr.hidden]=\"!expandable() || expanded() ? null : 'hidden'\"><ng-content /></div>\n</fieldset>\n\n<ng-template #titleContent>\n\t<span class=\"fieldset-title-content-text\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t\t@if (helper()) {\n\t\t\t<span class=\"fieldset-title-content-text-helper\"><ng-container *luPortal=\"helper()\" /></span>\n\t\t}\n\t</span>\n</ng-template>\n", styles: ["@layer components{.fieldset{--components-fieldset-title: var(--pr-t-font-heading-3);--components-fieldset-gap: var(--pr-t-spacings-150);--components-fieldset-contentMaxWidth: 40rem;--components-fieldset-title-iconRotation: 0deg;border:0;margin:0;padding:0;display:grid;gap:var(--components-fieldset-gap);grid-template-columns:auto}.fieldset-title{font:var(--components-fieldset-title);color:var(--pr-t-color-text-heading);padding:0;margin:0;inline-size:100%;min-block-size:var(--pr-t-spacings-300);display:contents}.fieldset-title-content{border:0;padding:0;margin:0;inline-size:100%;background-color:transparent;text-align:start;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--components-fieldset-gap);max-inline-size:var(--components-fieldset-contentMaxWidth)}.fieldset-title-content .lucca-icon{transform:rotate(var(--components-fieldset-title-iconRotation));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);color:var(--palettes-neutral-700)}.fieldset-title-content-text-helper{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-regular);color:var(--palettes-neutral-700);display:block}.fieldset-content{min-inline-size:0}}@layer mods{.fieldset.mod-S{--components-fieldset-title: var(--pr-t-font-heading-4)}.fieldset.mod-horizontal{grid-template-columns:1fr auto}.fieldset.mod-expandable .fieldset-title-content{border-radius:var(--pr-t-border-radius-default);cursor:pointer;font:inherit}.fieldset.mod-expandable .fieldset-title-content:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fieldset:has(.fieldset-title-content[aria-expanded=true]){--components-fieldset-title-iconRotation: 180deg}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
654
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: FieldsetComponent, isStandalone: true, selector: "lu-fieldset", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, helper: { classPropertyName: "helper", publicName: "helper", isSignal: true, isRequired: false, transformFunction: null }, action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, horizontal: { classPropertyName: "horizontal", publicName: "horizontal", isSignal: true, isRequired: false, transformFunction: null }, expandable: { classPropertyName: "expandable", publicName: "expandable", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, ngImport: i0, template: "<fieldset\n\tclass=\"fieldset\"\n\t[attr.aria-labelledby]=\"id\"\n\t[class.mod-expandable]=\"expandable()\"\n\t[class.mod-horizontal]=\"horizontal()\"\n\t[class.mod-S]=\"size() === 'S'\"\n>\n\t<legend class=\"fieldset-title\">\n\t\t@if (expandable()) {\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"fieldset-title-content\"\n\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t(click)=\"expanded.set(!expanded())\"\n\t\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" />\n\t\t\t</button>\n\t\t} @else if (action()) {\n\t\t\t<span class=\"fieldset-title-content\" [attr.id]=\"id\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t\t<div class=\"fieldset-title-content-action\">\n\t\t\t\t\t<ng-container *luPortal=\"action()\" />\n\t\t\t\t</div>\n\t\t\t</span>\n\t\t} @else {\n\t\t\t<span class=\"fieldset-title-content\" [attr.id]=\"id\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t</span>\n\t\t}\n\t</legend>\n\t<div class=\"fieldset-content\" [attr.hidden]=\"!expandable() || expanded() ? null : 'hidden'\"><ng-content /></div>\n</fieldset>\n\n<ng-template #titleContent>\n\t<span class=\"fieldset-title-content-text\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t\t@if (helper()) {\n\t\t\t<span class=\"fieldset-title-content-text-helper\"><ng-container *luPortal=\"helper()\" /></span>\n\t\t}\n\t</span>\n</ng-template>\n", styles: ["@layer components{.fieldset{--components-fieldset-title: var(--pr-t-font-heading-3);--components-fieldset-gap: var(--pr-t-spacings-100);--components-fieldset-contentMaxWidth: 40rem;--components-fieldset-title-iconRotation: 0deg;border:0;margin:0;padding:0;display:grid;gap:var(--components-fieldset-gap);grid-template-columns:auto}.fieldset-title{font:var(--components-fieldset-title);color:var(--pr-t-color-text-heading);padding:0;margin:0;inline-size:100%;min-block-size:var(--pr-t-spacings-300);display:contents}.fieldset-title-content{border:0;padding:0;margin:0;inline-size:100%;background-color:transparent;text-align:start;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--components-fieldset-gap);max-inline-size:var(--components-fieldset-contentMaxWidth)}.fieldset-title-content .lucca-icon{transform:rotate(var(--components-fieldset-title-iconRotation));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);color:var(--palettes-neutral-700)}.fieldset-title-content-text{padding-block:var(--pr-t-spacings-50)}.fieldset-title-content-text-helper{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-regular);color:var(--palettes-neutral-700);display:block}.fieldset-content{min-inline-size:0}}@layer mods{.fieldset.mod-S{--components-fieldset-title: var(--pr-t-font-heading-4)}.fieldset.mod-horizontal{grid-template-columns:1fr auto}.fieldset.mod-expandable .fieldset-title-content{border-radius:var(--pr-t-border-radius-default);cursor:pointer;font:inherit}.fieldset.mod-expandable .fieldset-title-content:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fieldset:has(.fieldset-title-content[aria-expanded=true]){--components-fieldset-title-iconRotation: 180deg}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200);--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
742
655
  }
743
656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: FieldsetComponent, decorators: [{
744
657
  type: Component,
745
- args: [{ selector: 'lu-fieldset', encapsulation: ViewEncapsulation.None, imports: [PortalDirective, NgTemplateOutlet, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fieldset\n\tclass=\"fieldset\"\n\t[attr.aria-labelledby]=\"id\"\n\t[class.mod-expandable]=\"expandable()\"\n\t[class.mod-horizontal]=\"horizontal()\"\n\t[class.mod-S]=\"size() === 'S'\"\n>\n\t<legend class=\"fieldset-title\">\n\t\t@if (expandable()) {\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"fieldset-title-content\"\n\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t(click)=\"expanded.set(!expanded())\"\n\t\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" />\n\t\t\t</button>\n\t\t} @else {\n\t\t\t<span class=\"fieldset-title-content\" [attr.id]=\"id\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t</span>\n\t\t}\n\t</legend>\n\t<div class=\"fieldset-content\" [attr.hidden]=\"!expandable() || expanded() ? null : 'hidden'\"><ng-content /></div>\n</fieldset>\n\n<ng-template #titleContent>\n\t<span class=\"fieldset-title-content-text\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t\t@if (helper()) {\n\t\t\t<span class=\"fieldset-title-content-text-helper\"><ng-container *luPortal=\"helper()\" /></span>\n\t\t}\n\t</span>\n</ng-template>\n", styles: ["@layer components{.fieldset{--components-fieldset-title: var(--pr-t-font-heading-3);--components-fieldset-gap: var(--pr-t-spacings-150);--components-fieldset-contentMaxWidth: 40rem;--components-fieldset-title-iconRotation: 0deg;border:0;margin:0;padding:0;display:grid;gap:var(--components-fieldset-gap);grid-template-columns:auto}.fieldset-title{font:var(--components-fieldset-title);color:var(--pr-t-color-text-heading);padding:0;margin:0;inline-size:100%;min-block-size:var(--pr-t-spacings-300);display:contents}.fieldset-title-content{border:0;padding:0;margin:0;inline-size:100%;background-color:transparent;text-align:start;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--components-fieldset-gap);max-inline-size:var(--components-fieldset-contentMaxWidth)}.fieldset-title-content .lucca-icon{transform:rotate(var(--components-fieldset-title-iconRotation));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);color:var(--palettes-neutral-700)}.fieldset-title-content-text-helper{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-regular);color:var(--palettes-neutral-700);display:block}.fieldset-content{min-inline-size:0}}@layer mods{.fieldset.mod-S{--components-fieldset-title: var(--pr-t-font-heading-4)}.fieldset.mod-horizontal{grid-template-columns:1fr auto}.fieldset.mod-expandable .fieldset-title-content{border-radius:var(--pr-t-border-radius-default);cursor:pointer;font:inherit}.fieldset.mod-expandable .fieldset-title-content:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fieldset:has(.fieldset-title-content[aria-expanded=true]){--components-fieldset-title-iconRotation: 180deg}}\n"] }]
658
+ args: [{ selector: 'lu-fieldset', encapsulation: ViewEncapsulation.None, imports: [PortalDirective, NgTemplateOutlet, IconComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fieldset\n\tclass=\"fieldset\"\n\t[attr.aria-labelledby]=\"id\"\n\t[class.mod-expandable]=\"expandable()\"\n\t[class.mod-horizontal]=\"horizontal()\"\n\t[class.mod-S]=\"size() === 'S'\"\n>\n\t<legend class=\"fieldset-title\">\n\t\t@if (expandable()) {\n\t\t\t<button\n\t\t\t\ttype=\"button\"\n\t\t\t\tclass=\"fieldset-title-content\"\n\t\t\t\t[attr.id]=\"id\"\n\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t(click)=\"expanded.set(!expanded())\"\n\t\t\t>\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" />\n\t\t\t</button>\n\t\t} @else if (action()) {\n\t\t\t<span class=\"fieldset-title-content\" [attr.id]=\"id\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t\t<div class=\"fieldset-title-content-action\">\n\t\t\t\t\t<ng-container *luPortal=\"action()\" />\n\t\t\t\t</div>\n\t\t\t</span>\n\t\t} @else {\n\t\t\t<span class=\"fieldset-title-content\" [attr.id]=\"id\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"titleContent\" />\n\t\t\t</span>\n\t\t}\n\t</legend>\n\t<div class=\"fieldset-content\" [attr.hidden]=\"!expandable() || expanded() ? null : 'hidden'\"><ng-content /></div>\n</fieldset>\n\n<ng-template #titleContent>\n\t<span class=\"fieldset-title-content-text\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t\t@if (helper()) {\n\t\t\t<span class=\"fieldset-title-content-text-helper\"><ng-container *luPortal=\"helper()\" /></span>\n\t\t}\n\t</span>\n</ng-template>\n", styles: ["@layer components{.fieldset{--components-fieldset-title: var(--pr-t-font-heading-3);--components-fieldset-gap: var(--pr-t-spacings-100);--components-fieldset-contentMaxWidth: 40rem;--components-fieldset-title-iconRotation: 0deg;border:0;margin:0;padding:0;display:grid;gap:var(--components-fieldset-gap);grid-template-columns:auto}.fieldset-title{font:var(--components-fieldset-title);color:var(--pr-t-color-text-heading);padding:0;margin:0;inline-size:100%;min-block-size:var(--pr-t-spacings-300);display:contents}.fieldset-title-content{border:0;padding:0;margin:0;inline-size:100%;background-color:transparent;text-align:start;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--components-fieldset-gap);max-inline-size:var(--components-fieldset-contentMaxWidth)}.fieldset-title-content .lucca-icon{transform:rotate(var(--components-fieldset-title-iconRotation));transition-property:transform;transition-duration:var(--commons-animations-durations-fast);color:var(--palettes-neutral-700)}.fieldset-title-content-text{padding-block:var(--pr-t-spacings-50)}.fieldset-title-content-text-helper{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-regular);color:var(--palettes-neutral-700);display:block}.fieldset-content{min-inline-size:0}}@layer mods{.fieldset.mod-S{--components-fieldset-title: var(--pr-t-font-heading-4)}.fieldset.mod-horizontal{grid-template-columns:1fr auto}.fieldset.mod-expandable .fieldset-title-content{border-radius:var(--pr-t-border-radius-default);cursor:pointer;font:inherit}.fieldset.mod-expandable .fieldset-title-content:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}.fieldset:has(.fieldset-title-content[aria-expanded=true]){--components-fieldset-title-iconRotation: 180deg}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200);--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75);--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}}\n"] }]
746
659
  }] });
747
660
 
748
661
  /**