@lucca-front/ng 21.1.0-rc.0 → 21.1.0-rc.2

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 (159) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +6 -6
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-api.mjs +3 -3
  4. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-box.mjs +1 -1
  6. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +5 -5
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-bubble-icon.mjs +51 -0
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -0
  11. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +135 -0
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -0
  13. package/fesm2022/lucca-front-ng-button.mjs +1 -98
  14. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-callout.mjs +7 -7
  16. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-chip.mjs +6 -6
  18. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-clear.mjs +6 -6
  20. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-color.mjs +28 -0
  22. package/fesm2022/lucca-front-ng-color.mjs.map +1 -0
  23. package/fesm2022/lucca-front-ng-container.mjs +2 -2
  24. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-user.mjs +12 -12
  26. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select.mjs +67 -48
  28. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core.mjs +15 -75
  30. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-data-table.mjs +8 -8
  32. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-date.mjs +63 -64
  34. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-date2.mjs +41 -45
  36. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-department.mjs +7 -7
  38. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-dialog.mjs +31 -8
  40. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-empty-state.mjs +52 -10
  42. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-establishment.mjs +10 -10
  44. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-file-upload.mjs +40 -34
  46. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-filter-pills.mjs +14 -13
  48. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-form-field.mjs +9 -63
  50. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-form.mjs +2 -2
  52. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-formly.mjs +4 -4
  54. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +8 -9
  56. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +48 -48
  58. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-forms.mjs +119 -98
  60. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +2 -2
  62. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-icon.mjs +1 -27
  64. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-index-table.mjs +3 -3
  66. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-input.mjs +7 -7
  68. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-link.mjs +6 -6
  70. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-listbox.mjs +1 -1
  72. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-listing.mjs +1 -1
  74. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-main-layout.mjs +2 -2
  76. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-mobile-push.mjs +6 -6
  78. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  80. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-multi-select.mjs +29 -29
  82. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-option.mjs +26 -24
  84. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-pagination.mjs +5 -5
  86. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-plg-push.mjs +5 -5
  88. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-popover2.mjs +13 -13
  90. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-read-more.mjs +23 -21
  92. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-resource-card.mjs +2 -2
  94. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-simple-select.mjs +18 -27
  96. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  98. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -1
  100. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-tag.mjs +1 -1
  102. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-time.mjs +13 -13
  104. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-toast.mjs +5 -5
  106. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-tooltip.mjs +8 -6
  108. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-tree-select.mjs +1 -1
  110. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-user-popover.mjs +6 -6
  112. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-user.mjs +11 -11
  114. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +2 -2
  116. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  117. package/package.json +17 -3
  118. package/schematics/lib/local-deps/package-lock.json +2 -0
  119. package/schematics/lib/local-deps/package.json +1 -2
  120. package/types/lucca-front-ng-a11y.d.ts +3 -3
  121. package/types/lucca-front-ng-breadcrumbs.d.ts +9 -9
  122. package/types/lucca-front-ng-bubble-icon.d.ts +20 -0
  123. package/types/lucca-front-ng-bubble-illustration.d.ts +24 -0
  124. package/types/lucca-front-ng-button.d.ts +1 -40
  125. package/types/lucca-front-ng-callout.d.ts +2 -2
  126. package/types/lucca-front-ng-chip.d.ts +2 -2
  127. package/types/lucca-front-ng-clear.d.ts +2 -2
  128. package/types/lucca-front-ng-color.d.ts +12 -0
  129. package/types/lucca-front-ng-core-select.d.ts +21 -17
  130. package/types/lucca-front-ng-core.d.ts +25 -19
  131. package/types/lucca-front-ng-data-table.d.ts +2 -2
  132. package/types/lucca-front-ng-date.d.ts +5 -5
  133. package/types/lucca-front-ng-date2.d.ts +7 -7
  134. package/types/lucca-front-ng-department.d.ts +2 -2
  135. package/types/lucca-front-ng-dialog.d.ts +12 -5
  136. package/types/lucca-front-ng-empty-state.d.ts +6 -4
  137. package/types/lucca-front-ng-establishment.d.ts +2 -2
  138. package/types/lucca-front-ng-file-upload.d.ts +18 -8
  139. package/types/lucca-front-ng-filter-pills.d.ts +6 -5
  140. package/types/lucca-front-ng-form-field.d.ts +5 -26
  141. package/types/lucca-front-ng-forms-phone-number-input.d.ts +0 -1
  142. package/types/lucca-front-ng-forms-rich-text-input.d.ts +14 -16
  143. package/types/lucca-front-ng-forms.d.ts +40 -23
  144. package/types/lucca-front-ng-icon.d.ts +1 -17
  145. package/types/lucca-front-ng-input.d.ts +2 -2
  146. package/types/lucca-front-ng-link.d.ts +2 -2
  147. package/types/lucca-front-ng-mobile-push.d.ts +2 -2
  148. package/types/lucca-front-ng-multi-select.d.ts +26 -24
  149. package/types/lucca-front-ng-option.d.ts +8 -8
  150. package/types/lucca-front-ng-pagination.d.ts +2 -2
  151. package/types/lucca-front-ng-plg-push.d.ts +2 -2
  152. package/types/lucca-front-ng-popover2.d.ts +4 -4
  153. package/types/lucca-front-ng-read-more.d.ts +9 -9
  154. package/types/lucca-front-ng-simple-select.d.ts +5 -4
  155. package/types/lucca-front-ng-time.d.ts +6 -6
  156. package/types/lucca-front-ng-toast.d.ts +2 -2
  157. package/types/lucca-front-ng-tooltip.d.ts +5 -3
  158. package/types/lucca-front-ng-user-popover.d.ts +6 -7
  159. package/types/lucca-front-ng-user.d.ts +4 -4
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, computed, Directive, DestroyRef, InjectionToken, booleanAttribute, signal, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component, 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, ɵPresentationDisplayDefaultDirective as _PresentationDisplayDefaultDirective, 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, intlInputOptions, 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';
5
5
  import { filter, take, startWith } from 'rxjs/operators';
6
6
  import * as i2 from '@angular/forms';
7
7
  import { NgControl, NgModel, FormControlDirective, FormControlName, NG_VALUE_ACCESSOR, ReactiveFormsModule, FormsModule } from '@angular/forms';
@@ -16,8 +16,10 @@ import { NgxMaskDirective, provideNgxMask } from 'ngx-mask';
16
16
  import { NumberFormat, NumberFormatDirective } from '@lucca-front/ng/number-format';
17
17
  import { InlineMessageComponent } from '@lucca-front/ng/inline-message';
18
18
  import { startWith as startWith$1 } from 'rxjs';
19
- import { ReadMoreComponent } from '@lucca-front/ng/read-more';
20
19
  import { IconComponent } from '@lucca-front/ng/icon';
20
+ import { ColorComponent } from '@lucca-front/ng/color';
21
+ import { LuDisplayerDirective, LuOptionDirective, LuCoreSelectNoClueDirective } from '@lucca-front/ng/core-select';
22
+ import { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';
21
23
 
22
24
  class FormFieldIdDirective {
23
25
  #formFieldComponent;
@@ -102,30 +104,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
102
104
  }]
103
105
  }] });
104
106
 
105
- const Translations$4 = {
106
- en: {
107
- yes: 'yes',
108
- no: 'no',
109
- separator: ': ',
110
- },
111
- fr: {
112
- yes: 'oui',
113
- no: 'non',
114
- separator: ' : ',
115
- },
116
- };
117
-
118
- const CHECKBOX_INPUT_TRANSLATIONS = new InjectionToken('CheckboxInputTranslations', {
119
- factory: () => Translations$4,
120
- });
121
-
122
107
  let nextId$3 = 0;
123
108
  class CheckboxInputComponent {
124
109
  constructor() {
125
110
  this.framed = inject(INPUT_FRAMED_INSTANCE, { optional: true }) !== null;
126
111
  this.parentInput = inject(FILTER_PILL_INPUT_COMPONENT, { optional: true, skipSelf: true });
127
112
  this.formField = inject(FORM_FIELD_INSTANCE, { optional: true });
128
- this.intl = getIntl(CHECKBOX_INPUT_TRANSLATIONS);
129
113
  this.checklist = input(false, { ...(ngDevMode ? { debugName: "checklist" } : {}), transform: booleanAttribute });
130
114
  /**
131
115
  * Should set aria-checked='mixed' attribute ?
@@ -159,11 +143,11 @@ class CheckboxInputComponent {
159
143
  provide: FILTER_PILL_INPUT_COMPONENT,
160
144
  useExisting: forwardRef(() => CheckboxInputComponent),
161
145
  },
162
- ], 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<ng-container *luPresentationDisplayDefault>{{ intl.separator }}{{ ngControl.value ? intl.yes : intl.no }}</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:var(--icon-fontFamily);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", "id"], exportAs: ["luTooltip"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
146
+ ], 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:var(--icon-fontFamily);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", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
163
147
  }
164
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: CheckboxInputComponent, decorators: [{
165
149
  type: Component,
166
- args: [{ selector: 'lu-checkbox-input', imports: [ReactiveFormsModule, InputDirective, FilterPillLabelDirective, LuTooltipTriggerDirective, _PresentationDisplayDefaultDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
150
+ args: [{ selector: 'lu-checkbox-input', imports: [ReactiveFormsModule, InputDirective, FilterPillLabelDirective, LuTooltipTriggerDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
167
151
  {
168
152
  provide: FILTER_PILL_INPUT_COMPONENT,
169
153
  useExisting: forwardRef(() => CheckboxInputComponent),
@@ -171,10 +155,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
171
155
  ], host: {
172
156
  '[class.checkboxField]': 'true',
173
157
  '[class.mod-checklist]': 'checklist()',
174
- }, 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<ng-container *luPresentationDisplayDefault>{{ intl.separator }}{{ ngControl.value ? intl.yes : intl.no }}</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:var(--icon-fontFamily);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"] }]
158
+ }, 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:var(--icon-fontFamily);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"] }]
175
159
  }], ctorParameters: () => [], propDecorators: { checklist: [{ type: i0.Input, args: [{ isSignal: true, alias: "checklist", required: false }] }], mixed: [{ type: i0.Input, args: [{ isSignal: true, alias: "mixed", required: false }] }] } });
176
160
 
177
- const Translations$3 = {
161
+ const INVARIANT_CULTURE_CODE = 'invariant';
162
+
163
+ const Translations$4 = {
178
164
  pt: {
179
165
  clear: 'Esvaziar este campo',
180
166
  togglePasswordVisibility: 'Mostrar palavra-passe',
@@ -212,14 +198,14 @@ const Translations$3 = {
212
198
  const LU_TEXTFIELD_TRANSLATIONS = new InjectionToken('LuTextfieldTranslations', {
213
199
  factory: () => luTextfieldTranslations,
214
200
  });
215
- const luTextfieldTranslations = Translations$3;
201
+ const luTextfieldTranslations = Translations$4;
216
202
 
217
203
  class TextInputComponent {
218
204
  hasTogglePasswordVisibilityIcon() {
219
205
  return this.typeRef() === 'password';
220
206
  }
221
207
  constructor() {
222
- this.intl = getIntl(LU_TEXTFIELD_TRANSLATIONS);
208
+ this.intl = input(...intlInputOptions(LU_TEXTFIELD_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
223
209
  this.ngControl = injectNgControl();
224
210
  this.inputElementRef = viewChild('inputElement', ...(ngDevMode ? [{ debugName: "inputElementRef" }] : []));
225
211
  this.mask = input(null, ...(ngDevMode ? [{ debugName: "mask" }] : []));
@@ -243,21 +229,21 @@ class TextInputComponent {
243
229
  }
244
230
  clearValue() {
245
231
  this.ngControl.reset();
246
- this.inputElementRef()?.nativeElement.focus();
232
+ this.inputElementRef().nativeElement.focus();
247
233
  }
248
234
  togglePasswordVisibility() {
249
235
  const _showPassword = this.showPassword();
250
236
  this.showPassword.set(!_showPassword);
251
237
  }
252
238
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
253
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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(); as 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<ng-container *luPresentationDisplayDefault>\n\t@if (prefix(); as 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\t{{ ngControl.value }}\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</ng-container>\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"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: TextInputComponent, isStandalone: true, selector: "lu-text-input", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, 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(); as 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: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
254
240
  }
255
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TextInputComponent, decorators: [{
256
242
  type: Component,
257
- args: [{ selector: 'lu-text-input', imports: [InputDirective, ReactiveFormsModule, FormFieldIdDirective, NgTemplateOutlet, NgxMaskDirective, ClearComponent, _PresentationDisplayDefaultDirective], 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(); as 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<ng-container *luPresentationDisplayDefault>\n\t@if (prefix(); as 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\t{{ ngControl.value }}\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</ng-container>\n" }]
258
- }], ctorParameters: () => [], propDecorators: { inputElementRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], mask: [{ type: i0.Input, args: [{ isSignal: true, alias: "mask", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], hasClearer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasClearer", required: false }] }], hasSearchIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasSearchIcon", required: false }] }], valueAlignRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueAlignRight", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], searchIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchIcon", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], blur: [{ type: i0.Output, args: ["blur"] }] } });
243
+ 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(); as 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" }]
244
+ }], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], inputElementRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], mask: [{ type: i0.Input, args: [{ isSignal: true, alias: "mask", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], hasClearer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasClearer", required: false }] }], hasSearchIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasSearchIcon", required: false }] }], valueAlignRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueAlignRight", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], searchIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchIcon", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], blur: [{ type: i0.Output, args: ["blur"] }] } });
259
245
 
260
- const Translations$2 = {
246
+ const Translations$3 = {
261
247
  en: {
262
248
  clear: 'Empty this field',
263
249
  toggleMultilanguage: 'Show translations',
@@ -271,14 +257,14 @@ const Translations$2 = {
271
257
  };
272
258
 
273
259
  const LU_MULTILANGUAGE_INPUT_TRANSLATIONS = new InjectionToken('LuMultilanguageInputTranslations', {
274
- factory: () => Translations$2,
260
+ factory: () => Translations$3,
275
261
  });
276
262
 
277
263
  class MultilanguageInputComponent {
278
264
  constructor() {
279
265
  this.#localeId = inject(LOCALE_ID);
280
266
  this.#intlDisplay = new Intl.DisplayNames([this.#localeId], { type: 'language' });
281
- this.intl = getIntl(LU_MULTILANGUAGE_INPUT_TRANSLATIONS);
267
+ this.intl = input(...intlInputOptions(LU_MULTILANGUAGE_INPUT_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
282
268
  this.#formFieldRef = inject(FORM_FIELD_INSTANCE);
283
269
  this.formFieldSize = this.#formFieldRef.size;
284
270
  this.onTouched = () => { };
@@ -289,14 +275,11 @@ class MultilanguageInputComponent {
289
275
  this.disabledInternal = signal(false, ...(ngDevMode ? [{ debugName: "disabledInternal" }] : []));
290
276
  this.model = signal([], ...(ngDevMode ? [{ debugName: "model" }] : []));
291
277
  this.invariant = computed(() => {
292
- return this.model().find((row) => row.cultureCode === 'invariant') || { value: '' };
278
+ return this.model().find((row) => row.cultureCode === INVARIANT_CULTURE_CODE) || { value: '' };
293
279
  }, ...(ngDevMode ? [{ debugName: "invariant" }] : []));
294
280
  this.panelInputs = computed(() => {
295
- return this.model().filter((row) => row.cultureCode !== 'invariant');
281
+ return this.model().filter((row) => row.cultureCode !== INVARIANT_CULTURE_CODE);
296
282
  }, ...(ngDevMode ? [{ debugName: "panelInputs" }] : []));
297
- this.presentationValue = computed(() => {
298
- return this.model().find((row) => row.cultureCode === this.#localeId)?.value || this.invariant()?.value;
299
- }, ...(ngDevMode ? [{ debugName: "presentationValue" }] : []));
300
283
  this.popoverPositions = [
301
284
  new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }, 16, 6),
302
285
  new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }, 16, -6),
@@ -313,7 +296,7 @@ class MultilanguageInputComponent {
313
296
  value = [];
314
297
  }
315
298
  if (value.length > 0) {
316
- if (!value.some((row) => row.cultureCode === 'invariant')) {
299
+ if (!value.some((row) => row.cultureCode === INVARIANT_CULTURE_CODE)) {
317
300
  throw new Error('Please provide an invariant translation in translation array');
318
301
  }
319
302
  this.model.set(value);
@@ -332,44 +315,38 @@ class MultilanguageInputComponent {
332
315
  this.onChange?.(this.model());
333
316
  }
334
317
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: MultilanguageInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
335
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: MultilanguageInputComponent, isStandalone: true, selector: "lu-multilanguage-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, openOnFocus: { classPropertyName: "openOnFocus", publicName: "openOnFocus", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
318
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: MultilanguageInputComponent, isStandalone: true, selector: "lu-multilanguage-input", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, openOnFocus: { classPropertyName: "openOnFocus", publicName: "openOnFocus", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
336
319
  {
337
320
  provide: NG_VALUE_ACCESSOR,
338
321
  useExisting: forwardRef(() => MultilanguageInputComponent),
339
322
  multi: true,
340
323
  },
341
- ], 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<ng-container *luPresentationDisplayDefault>{{ presentationValue() }}</ng-container>\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", "presentation"], 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: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
324
+ ], 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: ["intl", "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: ["intl", "luPopover2", "luPopoverPosition", "luPopoverDisabled", "luPopoverTrigger", "customPositions", "luPopoverNoCloseButton", "luPopoverAnchor", "luPopoverOpenDelay", "luPopoverCloseDelay"], outputs: ["luPopoverTriggerChange", "luPopoverClosed", "luPopoverOpened"], exportAs: ["luPopover2"] }, { kind: "component", type: TextInputComponent, selector: "lu-text-input", inputs: ["intl", "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: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip]", inputs: ["luTooltip", "luTooltipEnterDelay", "luTooltipLeaveDelay", "luTooltipDisabled", "luTooltipOnlyForDisplay", "luTooltipPosition", "luTooltipWhenEllipsis", "luTooltipAnchor", "id"], exportAs: ["luTooltip"] }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
342
325
  }
343
326
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: MultilanguageInputComponent, decorators: [{
344
327
  type: Component,
345
- args: [{ selector: 'lu-multilanguage-input', imports: [
346
- FormFieldComponent,
347
- ReactiveFormsModule,
348
- PopoverDirective,
349
- TextInputComponent,
350
- FormFieldComponent,
351
- FormsModule,
352
- InputDirective,
353
- IntlParamsPipe,
354
- LuTooltipTriggerDirective,
355
- _PresentationDisplayDefaultDirective,
356
- ], providers: [
328
+ args: [{ selector: 'lu-multilanguage-input', imports: [FormFieldComponent, ReactiveFormsModule, PopoverDirective, TextInputComponent, FormFieldComponent, FormsModule, InputDirective, IntlParamsPipe, LuTooltipTriggerDirective], providers: [
357
329
  {
358
330
  provide: NG_VALUE_ACCESSOR,
359
331
  useExisting: forwardRef(() => MultilanguageInputComponent),
360
332
  multi: true,
361
333
  },
362
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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<ng-container *luPresentationDisplayDefault>{{ presentationValue() }}</ng-container>\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"] }]
363
- }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], openOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnFocus", required: false }] }] } });
334
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
335
+ }], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], openOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnFocus", required: false }] }] } });
364
336
 
365
337
  function areAllLanguagesFilled(model) {
366
338
  return model.every((row) => row.value?.length > 0);
367
339
  }
340
+ function isInvariantFilled(model) {
341
+ const invariantTranslation = model.find((row) => row.cultureCode === INVARIANT_CULTURE_CODE);
342
+ return invariantTranslation && invariantTranslation.value?.length > 0;
343
+ }
368
344
  const MultiLanguageInputValidators = {
369
345
  allLanguagesFilled: (control) => (areAllLanguagesFilled(control.value) ? null : { missingLang: true }),
346
+ invariantFilled: (control) => (isInvariantFilled(control.value) ? null : { missingInvariant: true }),
370
347
  };
371
348
 
372
- const Translations$1 = {
349
+ const Translations$2 = {
373
350
  pt: {
374
351
  clear: 'Esvaziar este campo',
375
352
  },
@@ -399,7 +376,7 @@ const Translations$1 = {
399
376
  const LU_NUMBERFORMATFIELD_TRANSLATIONS = new InjectionToken('LuNumberFormatFieldTranslations', {
400
377
  factory: () => luNumberFormatFieldTranslations,
401
378
  });
402
- const luNumberFormatFieldTranslations = Translations$1;
379
+ const luNumberFormatFieldTranslations = Translations$2;
403
380
 
404
381
  class NumberFormatInputComponent {
405
382
  constructor() {
@@ -458,8 +435,7 @@ class NumberFormatInputComponent {
458
435
  unit: this.unit(),
459
436
  unitDisplay: this.unitDisplay(),
460
437
  }), ...(ngDevMode ? [{ debugName: "formatOptions" }] : []));
461
- this.formattedValue = computed(() => this.#numberFormat().getBlurFormat(this.#suffixPrefixValue()), ...(ngDevMode ? [{ debugName: "formattedValue" }] : []));
462
- this.intl = getIntl(LU_NUMBERFORMATFIELD_TRANSLATIONS);
438
+ this.intl = input(...intlInputOptions(LU_NUMBERFORMATFIELD_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
463
439
  }
464
440
  #locale;
465
441
  #destroyRef;
@@ -470,17 +446,17 @@ class NumberFormatInputComponent {
470
446
  #numberFormat;
471
447
  clearValue() {
472
448
  this.ngControl.reset();
473
- this.inputElementRef()?.nativeElement.focus();
449
+ this.inputElementRef().nativeElement.focus();
474
450
  }
475
451
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberFormatInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
476
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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<ng-container *luPresentationDisplayDefault>\n\t@if (prefix(); as 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{{ formattedValue() }}\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</ng-container>\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"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
452
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }, intl: { classPropertyName: "intl", publicName: "intl", 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: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
477
453
  }
478
454
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberFormatInputComponent, decorators: [{
479
455
  type: Component,
480
- args: [{ selector: 'lu-number-format-input', imports: [InputDirective, ReactiveFormsModule, FormFieldIdDirective, NumberFormatDirective, NgTemplateOutlet, ClearComponent, _PresentationDisplayDefaultDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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<ng-container *luPresentationDisplayDefault>\n\t@if (prefix(); as 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{{ formattedValue() }}\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</ng-container>\n" }]
481
- }], propDecorators: { formatStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatStyle", required: false }] }], useAutoPrefixSuffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAutoPrefixSuffix", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], currency: [{ type: i0.Input, args: [{ isSignal: true, alias: "currency", required: false }] }], currencyDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencyDisplay", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], unitDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitDisplay", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], hasClearer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasClearer", required: false }] }], valueAlignRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueAlignRight", required: false }] }], inputElementRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }] } });
456
+ args: [{ selector: 'lu-number-format-input', imports: [FormFieldComponent, InputDirective, ReactiveFormsModule, FormFieldIdDirective, NumberFormatDirective, NgTemplateOutlet, ClearComponent], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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" }]
457
+ }], propDecorators: { formatStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "formatStyle", required: false }] }], useAutoPrefixSuffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "useAutoPrefixSuffix", required: false }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], currency: [{ type: i0.Input, args: [{ isSignal: true, alias: "currency", required: false }] }], currencyDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "currencyDisplay", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], unitDisplay: [{ type: i0.Input, args: [{ isSignal: true, alias: "unitDisplay", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], hasClearer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasClearer", required: false }] }], valueAlignRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueAlignRight", required: false }] }], inputElementRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
482
458
 
483
- const Translations = {
459
+ const Translations$1 = {
484
460
  pt: {
485
461
  clear: 'Esvaziar este campo',
486
462
  },
@@ -510,7 +486,7 @@ const Translations = {
510
486
  const LU_NUMBERFIELD_TRANSLATIONS = new InjectionToken('LuNumberFieldTranslations', {
511
487
  factory: () => luNumberFieldTranslations,
512
488
  });
513
- const luNumberFieldTranslations = Translations;
489
+ const luNumberFieldTranslations = Translations$1;
514
490
 
515
491
  class NumberInputComponent {
516
492
  constructor() {
@@ -525,19 +501,19 @@ class NumberInputComponent {
525
501
  this.min = input(...(ngDevMode ? [undefined, { debugName: "min" }] : []));
526
502
  this.max = input(...(ngDevMode ? [undefined, { debugName: "max" }] : []));
527
503
  this.valueAlignRight = input(false, { ...(ngDevMode ? { debugName: "valueAlignRight" } : {}), transform: booleanAttribute });
528
- this.intl = getIntl(LU_NUMBERFIELD_TRANSLATIONS);
504
+ this.intl = input(...intlInputOptions(LU_NUMBERFIELD_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
529
505
  }
530
506
  clearValue() {
531
507
  this.ngControl.reset();
532
508
  this.inputElementRef().nativeElement.focus();
533
509
  }
534
510
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
535
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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(); as 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\n<ng-container *luPresentationDisplayDefault>\n\t{{ ngControl.value }}\n</ng-container>\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"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }, intl: { classPropertyName: "intl", publicName: "intl", 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(); as 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: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
536
512
  }
537
513
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberInputComponent, decorators: [{
538
514
  type: Component,
539
- args: [{ selector: 'lu-number-input', imports: [InputDirective, ReactiveFormsModule, FormFieldIdDirective, NgTemplateOutlet, ClearComponent, _PresentationDisplayDefaultDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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(); as 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\n<ng-container *luPresentationDisplayDefault>\n\t{{ ngControl.value }}\n</ng-container>\n" }]
540
- }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], noSpinButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "noSpinButtons", required: false }] }], hasClearer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasClearer", required: false }] }], inputElementRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], valueAlignRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueAlignRight", required: false }] }] } });
515
+ args: [{ selector: 'lu-number-input', imports: [InputDirective, ReactiveFormsModule, FormFieldIdDirective, NgTemplateOutlet, ClearComponent], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, 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(); as 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" }]
516
+ }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], noSpinButtons: [{ type: i0.Input, args: [{ isSignal: true, alias: "noSpinButtons", required: false }] }], hasClearer: [{ type: i0.Input, args: [{ isSignal: true, alias: "hasClearer", required: false }] }], inputElementRef: [{ type: i0.ViewChild, args: ['inputElement', { isSignal: true }] }], prefix: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefix", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], valueAlignRight: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueAlignRight", required: false }] }], intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }] } });
541
517
 
542
518
  const RADIO_GROUP_INSTANCE = new InjectionToken('RADIO_GROUP_INSTANCE');
543
519
 
@@ -580,12 +556,8 @@ let nextId$1 = 0;
580
556
  class RadioComponent {
581
557
  #luClass;
582
558
  #parentGroup;
583
- #cdr;
584
- get ngControl() {
585
- return this.#parentGroup.ngControl;
586
- }
587
559
  get formControl() {
588
- return this.ngControl.control;
560
+ return this.#parentGroup.ngControl.control;
589
561
  }
590
562
  get name() {
591
563
  return this.#parentGroup.name;
@@ -593,7 +565,6 @@ class RadioComponent {
593
565
  constructor() {
594
566
  this.#luClass = inject(LuClass);
595
567
  this.#parentGroup = inject(RADIO_GROUP_INSTANCE);
596
- this.#cdr = inject(ChangeDetectorRef);
597
568
  this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
598
569
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
599
570
  this.inlineMessage = input(...(ngDevMode ? [undefined, { debugName: "inlineMessage" }] : []));
@@ -611,42 +582,34 @@ class RadioComponent {
611
582
  'mod-withArrow': arrow !== undefined,
612
583
  });
613
584
  });
614
- // We have to do this for presentation mode because otherwise, form value inits after component and because it's not a signal,
615
- // it doesn't trigger an update to show the presentation display
616
- if (this.ngControl?.valueChanges) {
617
- this.ngControl.valueChanges.pipe(takeUntilDestroyed()).subscribe(() => {
618
- this.#cdr.markForCheck();
619
- });
620
- }
621
585
  }
622
586
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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-container *ngTemplateOutlet=\"contentProjection\" />\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\n<ng-template #contentProjection><ng-content /></ng-template>\n\n@if (ngControl.value === value()) {\n\t<ng-container *luPresentationDisplayDefault><ng-container *ngTemplateOutlet=\"contentProjection\" /></ng-container>\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"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
587
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }); }
624
588
  }
625
589
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: RadioComponent, decorators: [{
626
590
  type: Component,
627
- args: [{ selector: 'lu-radio', imports: [ReactiveFormsModule, InlineMessageComponent, NgTemplateOutlet, InputDirective, InputFramedComponent, _PresentationDisplayDefaultDirective], host: {
591
+ args: [{ selector: 'lu-radio', imports: [ReactiveFormsModule, InlineMessageComponent, NgTemplateOutlet, InputDirective, InputFramedComponent], host: {
628
592
  '[class.form-field]': '!framed()',
629
593
  '[id]': 'id',
630
- }, 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-container *ngTemplateOutlet=\"contentProjection\" />\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\n<ng-template #contentProjection><ng-content /></ng-template>\n\n@if (ngControl.value === value()) {\n\t<ng-container *luPresentationDisplayDefault><ng-container *ngTemplateOutlet=\"contentProjection\" /></ng-container>\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"] }]
594
+ }, 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"] }]
631
595
  }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], inlineMessage: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineMessage", required: false }] }], tag: [{ type: i0.Input, args: [{ isSignal: true, alias: "tag", required: false }] }], framedPortal: [{ type: i0.Input, args: [{ isSignal: true, alias: "framedPortal", required: false }] }] } });
632
596
 
633
597
  class SwitchInputComponent {
634
598
  constructor() {
635
599
  this.formField = inject(FORM_FIELD_INSTANCE, { optional: true });
636
600
  this.ngControl = injectNgControl();
637
- this.intl = getIntl(CHECKBOX_INPUT_TRANSLATIONS);
638
601
  if (this.formField) {
639
602
  this.formField.layout.set('checkable');
640
603
  }
641
604
  }
642
605
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SwitchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
643
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SwitchInputComponent, isStandalone: true, selector: "lu-switch-input", host: { classAttribute: "switchField" }, hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<input luInput type=\"checkbox\" class=\"switchField-input\" [formControl]=\"ngControl.control\" />\n<span class=\"switchField-icon\" aria-hidden=\"true\"><span class=\"switchField-icon-check\"></span></span>\n<ng-container *luPresentationDisplayDefault>:&nbsp;{{ ngControl.value ? intl.yes : intl.no }}</ng-container>\n", styles: ["@charset \"UTF-8\";@layer components{.switchField{--component-switchField-label-input-height: 1.25rem;--component-switchField-label-input-width: 2.25rem;--component-switchField-label-input-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-switchField-label-font: var(--pr-t-font-body-M);position:relative}.switchField-icon{display:block;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);border:2px solid var(--palettes-neutral-500);border-radius:var(--component-switchField-label-input-height);position:relative;inset-block-start:var(--pr-t-spacings-25);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-500);cursor:pointer}.switchField-icon:after{content:\"\";position:absolute;inset:-2px;outline-offset:2px;border-radius:var(--component-switchField-label-input-height)}.switchField-icon:before{content:\"\";position:absolute;inline-size:50%;aspect-ratio:1;background-color:var(--palettes-neutral-0);border-radius:var(--pr-t-border-radius-full);inset-inline-start:0;inset-block-start:0;transition-property:left;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:cubic-bezier(.5,1,.5,1.5);box-shadow:var(--pr-t-elevation-shadow-overflow)}.switchField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%}.switchField-icon-check:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-icon-check:after{--icon-content: \"\\e981\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-input{position:absolute;z-index:1;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);opacity:.0001;cursor:pointer}.switchField-input:hover~.switchField-icon{border-color:var(--palettes-neutral-600);background-color:var(--palettes-neutral-600)}.switchField-input:active~.switchField-icon{border-color:var(--palettes-neutral-800);background-color:var(--palettes-neutral-800)}.switchField-input:focus-visible~.switchField-icon{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.switchField.mod-S{--component-switchField-label-input-height: 1rem;--component-switchField-label-input-width: 1.75rem;--component-switchField-label-input-icon-fontSize: .75rem;--component-switchField-label-font: var(--pr-t-font-body-S)}}@layer mods{.switchField-input:checked~.switchField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.switchField-input:checked~.switchField-icon:before{inset-inline-start:50%}.switchField-input:checked:hover~.switchField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.switchField-input:checked:active~.switchField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.switchField-input:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input:disabled:checked:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled:checked:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input[aria-invalid=true]~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.switchField-input[aria-invalid=true]:hover~.switchField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.switchField-input[aria-invalid=true]:active~.switchField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}.switchField-input[aria-invalid=true]:checked:checked~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}}\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: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
606
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.8", type: SwitchInputComponent, isStandalone: true, selector: "lu-switch-input", host: { classAttribute: "switchField" }, hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<input luInput type=\"checkbox\" class=\"switchField-input\" [formControl]=\"ngControl.control\" />\n<span class=\"switchField-icon\" aria-hidden=\"true\"><span class=\"switchField-icon-check\"></span></span>\n", styles: ["@charset \"UTF-8\";@layer components{.switchField{--component-switchField-label-input-height: 1.25rem;--component-switchField-label-input-width: 2.25rem;--component-switchField-label-input-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-switchField-label-font: var(--pr-t-font-body-M);position:relative}.switchField-icon{display:block;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);border:2px solid var(--palettes-neutral-500);border-radius:var(--component-switchField-label-input-height);position:relative;inset-block-start:var(--pr-t-spacings-25);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-500);cursor:pointer}.switchField-icon:after{content:\"\";position:absolute;inset:-2px;outline-offset:2px;border-radius:var(--component-switchField-label-input-height)}.switchField-icon:before{content:\"\";position:absolute;inline-size:50%;aspect-ratio:1;background-color:var(--palettes-neutral-0);border-radius:var(--pr-t-border-radius-full);inset-inline-start:0;inset-block-start:0;transition-property:left;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:cubic-bezier(.5,1,.5,1.5);box-shadow:var(--pr-t-elevation-shadow-overflow)}.switchField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%}.switchField-icon-check:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-icon-check:after{--icon-content: \"\\e981\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-input{position:absolute;z-index:1;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);opacity:.0001;cursor:pointer}.switchField-input:hover~.switchField-icon{border-color:var(--palettes-neutral-600);background-color:var(--palettes-neutral-600)}.switchField-input:active~.switchField-icon{border-color:var(--palettes-neutral-800);background-color:var(--palettes-neutral-800)}.switchField-input:focus-visible~.switchField-icon{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.switchField.mod-S{--component-switchField-label-input-height: 1rem;--component-switchField-label-input-width: 1.75rem;--component-switchField-label-input-icon-fontSize: .75rem;--component-switchField-label-font: var(--pr-t-font-body-S)}}@layer mods{.switchField-input:checked~.switchField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.switchField-input:checked~.switchField-icon:before{inset-inline-start:50%}.switchField-input:checked:hover~.switchField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.switchField-input:checked:active~.switchField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.switchField-input:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input:disabled:checked:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled:checked:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input[aria-invalid=true]~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.switchField-input[aria-invalid=true]:hover~.switchField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.switchField-input[aria-invalid=true]:active~.switchField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}.switchField-input[aria-invalid=true]:checked:checked~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}}\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"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
644
607
  }
645
608
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: SwitchInputComponent, decorators: [{
646
609
  type: Component,
647
- args: [{ selector: 'lu-switch-input', imports: [ReactiveFormsModule, InputDirective, _PresentationDisplayDefaultDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
610
+ args: [{ selector: 'lu-switch-input', imports: [ReactiveFormsModule, InputDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
648
611
  class: 'switchField',
649
- }, template: "<input luInput type=\"checkbox\" class=\"switchField-input\" [formControl]=\"ngControl.control\" />\n<span class=\"switchField-icon\" aria-hidden=\"true\"><span class=\"switchField-icon-check\"></span></span>\n<ng-container *luPresentationDisplayDefault>:&nbsp;{{ ngControl.value ? intl.yes : intl.no }}</ng-container>\n", styles: ["@charset \"UTF-8\";@layer components{.switchField{--component-switchField-label-input-height: 1.25rem;--component-switchField-label-input-width: 2.25rem;--component-switchField-label-input-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-switchField-label-font: var(--pr-t-font-body-M);position:relative}.switchField-icon{display:block;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);border:2px solid var(--palettes-neutral-500);border-radius:var(--component-switchField-label-input-height);position:relative;inset-block-start:var(--pr-t-spacings-25);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-500);cursor:pointer}.switchField-icon:after{content:\"\";position:absolute;inset:-2px;outline-offset:2px;border-radius:var(--component-switchField-label-input-height)}.switchField-icon:before{content:\"\";position:absolute;inline-size:50%;aspect-ratio:1;background-color:var(--palettes-neutral-0);border-radius:var(--pr-t-border-radius-full);inset-inline-start:0;inset-block-start:0;transition-property:left;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:cubic-bezier(.5,1,.5,1.5);box-shadow:var(--pr-t-elevation-shadow-overflow)}.switchField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%}.switchField-icon-check:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-icon-check:after{--icon-content: \"\\e981\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-input{position:absolute;z-index:1;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);opacity:.0001;cursor:pointer}.switchField-input:hover~.switchField-icon{border-color:var(--palettes-neutral-600);background-color:var(--palettes-neutral-600)}.switchField-input:active~.switchField-icon{border-color:var(--palettes-neutral-800);background-color:var(--palettes-neutral-800)}.switchField-input:focus-visible~.switchField-icon{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.switchField.mod-S{--component-switchField-label-input-height: 1rem;--component-switchField-label-input-width: 1.75rem;--component-switchField-label-input-icon-fontSize: .75rem;--component-switchField-label-font: var(--pr-t-font-body-S)}}@layer mods{.switchField-input:checked~.switchField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.switchField-input:checked~.switchField-icon:before{inset-inline-start:50%}.switchField-input:checked:hover~.switchField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.switchField-input:checked:active~.switchField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.switchField-input:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input:disabled:checked:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled:checked:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input[aria-invalid=true]~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.switchField-input[aria-invalid=true]:hover~.switchField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.switchField-input[aria-invalid=true]:active~.switchField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}.switchField-input[aria-invalid=true]:checked:checked~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}}\n"] }]
612
+ }, template: "<input luInput type=\"checkbox\" class=\"switchField-input\" [formControl]=\"ngControl.control\" />\n<span class=\"switchField-icon\" aria-hidden=\"true\"><span class=\"switchField-icon-check\"></span></span>\n", styles: ["@charset \"UTF-8\";@layer components{.switchField{--component-switchField-label-input-height: 1.25rem;--component-switchField-label-input-width: 2.25rem;--component-switchField-label-input-icon-fontSize: var(--pr-t-font-body-XS-lineHeight);--component-switchField-label-font: var(--pr-t-font-body-M);position:relative}.switchField-icon{display:block;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);border:2px solid var(--palettes-neutral-500);border-radius:var(--component-switchField-label-input-height);position:relative;inset-block-start:var(--pr-t-spacings-25);color:var(--palettes-neutral-0);transition-property:color,border-color,background-color;transition-duration:var(--commons-animations-durations-fast);background-color:var(--palettes-neutral-500);cursor:pointer}.switchField-icon:after{content:\"\";position:absolute;inset:-2px;outline-offset:2px;border-radius:var(--component-switchField-label-input-height)}.switchField-icon:before{content:\"\";position:absolute;inline-size:50%;aspect-ratio:1;background-color:var(--palettes-neutral-0);border-radius:var(--pr-t-border-radius-full);inset-inline-start:0;inset-block-start:0;transition-property:left;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:cubic-bezier(.5,1,.5,1.5);box-shadow:var(--pr-t-elevation-shadow-overflow)}.switchField-icon-check{display:flex;align-items:center;justify-content:center;inline-size:100%;block-size:100%}.switchField-icon-check:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-icon-check:after{--icon-content: \"\\e981\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;font-size:var(--component-switchField-label-input-icon-fontSize)}.switchField-input{position:absolute;z-index:1;inline-size:var(--component-switchField-label-input-width);block-size:var(--component-switchField-label-input-height);opacity:.0001;cursor:pointer}.switchField-input:hover~.switchField-icon{border-color:var(--palettes-neutral-600);background-color:var(--palettes-neutral-600)}.switchField-input:active~.switchField-icon{border-color:var(--palettes-neutral-800);background-color:var(--palettes-neutral-800)}.switchField-input:focus-visible~.switchField-icon{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.switchField.mod-S{--component-switchField-label-input-height: 1rem;--component-switchField-label-input-width: 1.75rem;--component-switchField-label-input-icon-fontSize: .75rem;--component-switchField-label-font: var(--pr-t-font-body-S)}}@layer mods{.switchField-input:checked~.switchField-icon{background-color:var(--palettes-product-700);border-color:var(--palettes-product-700)}.switchField-input:checked~.switchField-icon:before{inset-inline-start:50%}.switchField-input:checked:hover~.switchField-icon{background-color:var(--palettes-product-800);border-color:var(--palettes-product-800)}.switchField-input:checked:active~.switchField-icon{background-color:var(--palettes-product-900);border-color:var(--palettes-product-900)}.switchField-input:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input:disabled:checked:disabled~.switchField-icon{background-color:var(--commons-disabled-background);border-color:var(--commons-disabled-background);color:var(--palettes-neutral-600)}.switchField-input:disabled:checked:disabled~.switchField-icon:before{background-color:var(--palettes-neutral-500)}.switchField-input[aria-invalid=true]~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}.switchField-input[aria-invalid=true]:hover~.switchField-icon{background-color:var(--palettes-error-800);border-color:var(--palettes-error-800)}.switchField-input[aria-invalid=true]:active~.switchField-icon{background-color:var(--palettes-error-900);border-color:var(--palettes-error-900)}.switchField-input[aria-invalid=true]:checked:checked~.switchField-icon{background-color:var(--palettes-error-700);border-color:var(--palettes-error-700)}}\n"] }]
650
613
  }], ctorParameters: () => [] });
651
614
 
652
615
  class TextareaInputComponent {
@@ -667,22 +630,22 @@ class TextareaInputComponent {
667
630
  updateScroll(value) {
668
631
  this.cloneValue = value;
669
632
  this.#cdr.detectChanges(); // Needed to apply cloneValue to autoresize HTML clone
670
- if (this.autoResizeScrollIntoView() && this.parent()) {
671
- this.parent()?.nativeElement.scrollIntoView({
633
+ if (this.autoResizeScrollIntoView && this.parent) {
634
+ this.parent().nativeElement.scrollIntoView({
672
635
  behavior: 'instant',
673
636
  block: 'end',
674
637
  });
675
638
  }
676
639
  }
677
640
  ngOnInit() {
678
- this.ngControl.valueChanges?.pipe(takeUntilDestroyed(this.#destroyRef), startWith$1(this.ngControl.value)).subscribe((value) => this.updateScroll(value));
641
+ this.ngControl.valueChanges.pipe(takeUntilDestroyed(this.#destroyRef), startWith$1(this.ngControl.value)).subscribe((value) => this.updateScroll(value));
679
642
  }
680
643
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TextareaInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
681
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }, disableSpellcheck: { classPropertyName: "disableSpellcheck", publicName: "disableSpellcheck", 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]=\"!disableSpellcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n\n<ng-container *luPresentationDisplayDefault>\n\t<lu-read-more>\n\t\t{{ ngControl.value }}\n\t</lu-read-more>\n</ng-container>\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: "component", type: ReadMoreComponent, selector: "lu-read-more", inputs: ["lineClamp", "openOnly", "textFlow", "surface", "innerContent"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
644
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }, disableSpellcheck: { classPropertyName: "disableSpellcheck", publicName: "disableSpellcheck", 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]=\"!disableSpellcheck()\"\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 }); }
682
645
  }
683
646
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TextareaInputComponent, decorators: [{
684
647
  type: Component,
685
- args: [{ selector: 'lu-textarea-input', imports: [InputDirective, ReactiveFormsModule, ReadMoreComponent, _PresentationDisplayDefaultDirective], 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]=\"!disableSpellcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n\n<ng-container *luPresentationDisplayDefault>\n\t<lu-read-more>\n\t\t{{ ngControl.value }}\n\t</lu-read-more>\n</ng-container>\n" }]
648
+ 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]=\"!disableSpellcheck()\"\n\t\t\t#textarea\n\t\t></textarea>\n\t</div>\n</div>\n" }]
686
649
  }], propDecorators: { parent: [{ type: i0.ViewChild, args: ['parent', { isSignal: true }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], autoResize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoResize", required: false }] }], autoResizeScrollIntoView: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoResizeScrollIntoView", required: false }] }], disableSpellcheck: [{ type: i0.Input, args: [{ isSignal: true, alias: "disableSpellcheck", required: false }] }] } });
687
650
 
688
651
  let nextId = 0;
@@ -698,16 +661,74 @@ class FieldsetComponent {
698
661
  this.id = `fieldsetTitleContent${nextId++}`;
699
662
  }
700
663
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FieldsetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
701
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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)}.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{--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)}.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)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-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 }); }
664
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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)}.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{--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)}.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)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-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: "pr-icon,lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
702
665
  }
703
666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FieldsetComponent, decorators: [{
704
667
  type: Component,
705
668
  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)}.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{--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)}.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)}.fieldset:has(.fieldset-title-content-action:not(:empty)) .fieldset-title-content-action .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight)}}\n"] }]
706
669
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], helper: [{ type: i0.Input, args: [{ isSignal: true, alias: "helper", required: false }] }], action: [{ type: i0.Input, args: [{ isSignal: true, alias: "action", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], horizontal: [{ type: i0.Input, args: [{ isSignal: true, alias: "horizontal", required: false }] }], expandable: [{ type: i0.Input, args: [{ isSignal: true, alias: "expandable", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }] } });
707
670
 
671
+ const Translations = {
672
+ pt: {
673
+ color: 'Cor: ',
674
+ },
675
+ 'nl-BE': {
676
+ color: 'Kleur: ',
677
+ },
678
+ nl: {
679
+ color: 'Kleur: ',
680
+ },
681
+ it: {
682
+ color: 'Colore: ',
683
+ },
684
+ de: {
685
+ color: 'Farbe: ',
686
+ },
687
+ fr: {
688
+ color: 'Couleur : ',
689
+ },
690
+ es: {
691
+ color: 'Color: ',
692
+ },
693
+ en: {
694
+ color: 'Color: ',
695
+ },
696
+ };
697
+
698
+ const LU_COLOR_TRANSLATIONS = new InjectionToken('luColorTranslations', {
699
+ factory: () => luColorTranslations,
700
+ });
701
+ const luColorTranslations = Translations;
702
+
703
+ class ColorInputComponent {
704
+ constructor() {
705
+ this.intl = input(...intlInputOptions(LU_COLOR_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
706
+ this.mouseHighlighted = signal('', ...(ngDevMode ? [{ debugName: "mouseHighlighted" }] : []));
707
+ this.keyboardHighlighted = signal('', ...(ngDevMode ? [{ debugName: "keyboardHighlighted" }] : []));
708
+ this.highlighted = computed(() => this.mouseHighlighted() || this.keyboardHighlighted(), ...(ngDevMode ? [{ debugName: "highlighted" }] : []));
709
+ this.clue = signal('', ...(ngDevMode ? [{ debugName: "clue" }] : []));
710
+ this.colors = input.required(...(ngDevMode ? [{ debugName: "colors" }] : []));
711
+ this.clearable = input(false, { ...(ngDevMode ? { debugName: "clearable" } : {}), transform: booleanAttribute });
712
+ this.compact = input(false, { ...(ngDevMode ? { debugName: "compact" } : {}), transform: booleanAttribute });
713
+ this.ngControl = injectNgControl();
714
+ this.filteredColors = computed(() => {
715
+ if (this.clue()) {
716
+ return this.colors().filter((color) => color.name.toLowerCase().includes(this.clue().toLowerCase()));
717
+ }
718
+ return this.colors();
719
+ }, ...(ngDevMode ? [{ debugName: "filteredColors" }] : []));
720
+ }
721
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ColorInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
722
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: ColorInputComponent, isStandalone: true, selector: "lu-color-input", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, colors: { classPropertyName: "colors", publicName: "colors", isSignal: true, isRequired: true, transformFunction: null }, clearable: { classPropertyName: "clearable", publicName: "clearable", isSignal: true, isRequired: false, transformFunction: null }, compact: { classPropertyName: "compact", publicName: "compact", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: NoopValueAccessorDirective }], ngImport: i0, template: "<lu-simple-select\n\t#selectRef\n\tnoClueIcon\n\tnoClue\n\tcolorPicker\n\t[placeholder]=\"compact() ? '\u00A0' : null\"\n\t[panelFooterTpl]=\"footer\"\n\t[compact]=\"compact()\"\n\t[clearable]=\"clearable()\"\n\t[formControl]=\"ngControl.control\"\n\t[options]=\"filteredColors()\"\n\t(clueChange)=\"clue.set($event)\"\n\t(highlightedOption)=\"keyboardHighlighted.set($event.name)\"\n>\n\t<ng-container *luOption=\"let color; select: selectRef\">\n\t\t<lu-color\n\t\t\tsize=\"XL\"\n\t\t\thiddenName\n\t\t\t[value]=\"color.background\"\n\t\t\t[borderColor]=\"color.borderColor\"\n\t\t\t(mouseenter)=\"mouseHighlighted.set(color.name)\"\n\t\t\t(mouseleave)=\"mouseHighlighted.set('')\"\n\t\t>\n\t\t\t{{ color.name }}\n\t\t</lu-color>\n\t</ng-container>\n\t<ng-container *luDisplayer=\"let color; select: selectRef\">\n\t\t<lu-color size=\"L\" [borderColor]=\"color.borderColor\" [value]=\"color.background\">{{ color.name }}</lu-color>\n\t</ng-container>\n\t<ng-template #footer>\n\t\t<div class=\"colorPanel-highlighted\">\n\t\t\t<span class=\"pr-u-colorTextSubtle\">{{ intl().color }}</span>\n\t\t\t<span class=\"pr-u-ellipsis\">{{ highlighted() }}</span>\n\t\t</div>\n\t</ng-template>\n</lu-simple-select>\n", styles: ["@charset \"UTF-8\";@layer components{.color{--components-color-value-before-display: none;--components-color-value-scale: 1;--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50));--components-color-value-boxShadowColor: transparent;--components-color-value-backgroundColor: transparent;--components-color-value-channel: clamp(0, (((r * .299) + (g * .587) + (b * .114)) - 128) * -1000, 255);display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.color .color-value{inline-size:var(--components-color-value-inlineSize);aspect-ratio:1;background:var(--components-color-value-backgroundColor);color:rgb(from var(--components-color-value-backgroundColor) var(--components-color-value-channel) var(--components-color-value-channel) var(--components-color-value-channel));border-radius:var(--pr-t-border-radius-small);box-shadow:inset 0 0 0 1px var(--components-color-value-boxShadowColor);scale:var(--components-color-value-scale);transition-property:scale;transition-duration:var(--commons-animations-durations-fast);flex-shrink:0}.color .color-value:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;display:var(--components-color-value-before-display);position:absolute;inset:0;place-items:center;font-size:1.5rem}.color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer mods{.color.mod-M{--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}.color.mod-L{--components-color-value-inlineSize: var(--pr-t-spacings-300)}.color.mod-XL{--components-color-value-inlineSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}[aria-selected=true] .color{--components-color-value-before-display: grid}.optionItem.is-highlighted .color,[role=listbox] .optionItem:hover .color{--components-color-value-scale: calc(7/6)}}@layer components{.colorPicker{--components-colorPicker-input-paddingInlineStart: 0;--components-colorPicker-inlineSize: auto;inline-size:var(--components-colorPicker-inlineSize)}.colorPicker .simpleSelect-field-value{padding:1px;margin:-1px;min-inline-size:0}.colorPicker .simpleSelect-field-input{padding-inline-start:var(--components-colorPicker-input-paddingInlineStart);color:transparent}}@layer mods{.colorPicker.mod-compact{--components-colorPicker-inlineSize: 4.625rem}.colorPicker.mod-compact .color-name{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.form-field.mod-S .colorPicker.mod-compact{--components-colorPicker-inlineSize: 3.75rem}.colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 6.125rem}.form-field.mod-S .colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 4.875rem}.colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: var(--pr-t-spacings-400)}.form-field.mod-S .colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-50))}}@layer components{.cdk-overlay-pane:has(.colorPanel .lu-picker-content){min-inline-size:0!important;inline-size:17rem}.colorPanel [role=listbox]{display:flex;flex-wrap:wrap;padding:var(--pr-t-spacings-100)}.colorPanel .color{padding:var(--pr-t-spacings-50)}.colorPanel-highlighted{display:flex;padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);margin:0 var(--pr-t-spacings-100) var(--pr-t-spacings-100);gap:var(--pr-t-spacings-50)}}@layer mods{.colorPanel .lu-picker-content{padding:0}.colorPanel .optionItem-value{padding:0;background-color:transparent!important}.colorPanel .optionItem-value:before{display:none}}@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear,.textfield-input:not(.is-selected) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { 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: LuSimpleSelectInputComponent, selector: "lu-simple-select", inputs: ["intl", "autocomplete"] }, { kind: "directive", type: LuDisplayerDirective, selector: "[luDisplayer]", inputs: ["luDisplayerSelect"] }, { kind: "directive", type: LuOptionDirective, selector: "[luOption]", inputs: ["luOptionSelect"] }, { kind: "component", type: ColorComponent, selector: "lu-color", inputs: ["value", "borderColor", "size", "hiddenName"] }, { kind: "directive", type: LuCoreSelectNoClueDirective, selector: "lu-simple-select[noClue],lu-multi-select[noClue]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
723
+ }
724
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ColorInputComponent, decorators: [{
725
+ type: Component,
726
+ args: [{ selector: 'lu-color-input', imports: [ReactiveFormsModule, LuSimpleSelectInputComponent, LuDisplayerDirective, LuOptionDirective, ColorComponent, LuCoreSelectNoClueDirective], hostDirectives: [NoopValueAccessorDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<lu-simple-select\n\t#selectRef\n\tnoClueIcon\n\tnoClue\n\tcolorPicker\n\t[placeholder]=\"compact() ? '\u00A0' : null\"\n\t[panelFooterTpl]=\"footer\"\n\t[compact]=\"compact()\"\n\t[clearable]=\"clearable()\"\n\t[formControl]=\"ngControl.control\"\n\t[options]=\"filteredColors()\"\n\t(clueChange)=\"clue.set($event)\"\n\t(highlightedOption)=\"keyboardHighlighted.set($event.name)\"\n>\n\t<ng-container *luOption=\"let color; select: selectRef\">\n\t\t<lu-color\n\t\t\tsize=\"XL\"\n\t\t\thiddenName\n\t\t\t[value]=\"color.background\"\n\t\t\t[borderColor]=\"color.borderColor\"\n\t\t\t(mouseenter)=\"mouseHighlighted.set(color.name)\"\n\t\t\t(mouseleave)=\"mouseHighlighted.set('')\"\n\t\t>\n\t\t\t{{ color.name }}\n\t\t</lu-color>\n\t</ng-container>\n\t<ng-container *luDisplayer=\"let color; select: selectRef\">\n\t\t<lu-color size=\"L\" [borderColor]=\"color.borderColor\" [value]=\"color.background\">{{ color.name }}</lu-color>\n\t</ng-container>\n\t<ng-template #footer>\n\t\t<div class=\"colorPanel-highlighted\">\n\t\t\t<span class=\"pr-u-colorTextSubtle\">{{ intl().color }}</span>\n\t\t\t<span class=\"pr-u-ellipsis\">{{ highlighted() }}</span>\n\t\t</div>\n\t</ng-template>\n</lu-simple-select>\n", styles: ["@charset \"UTF-8\";@layer components{.color{--components-color-value-before-display: none;--components-color-value-scale: 1;--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50));--components-color-value-boxShadowColor: transparent;--components-color-value-backgroundColor: transparent;--components-color-value-channel: clamp(0, (((r * .299) + (g * .587) + (b * .114)) - 128) * -1000, 255);display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.color .color-value{inline-size:var(--components-color-value-inlineSize);aspect-ratio:1;background:var(--components-color-value-backgroundColor);color:rgb(from var(--components-color-value-backgroundColor) var(--components-color-value-channel) var(--components-color-value-channel) var(--components-color-value-channel));border-radius:var(--pr-t-border-radius-small);box-shadow:inset 0 0 0 1px var(--components-color-value-boxShadowColor);scale:var(--components-color-value-scale);transition-property:scale;transition-duration:var(--commons-animations-durations-fast);flex-shrink:0}.color .color-value:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;display:var(--components-color-value-before-display);position:absolute;inset:0;place-items:center;font-size:1.5rem}.color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer mods{.color.mod-M{--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}.color.mod-L{--components-color-value-inlineSize: var(--pr-t-spacings-300)}.color.mod-XL{--components-color-value-inlineSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}[aria-selected=true] .color{--components-color-value-before-display: grid}.optionItem.is-highlighted .color,[role=listbox] .optionItem:hover .color{--components-color-value-scale: calc(7/6)}}@layer components{.colorPicker{--components-colorPicker-input-paddingInlineStart: 0;--components-colorPicker-inlineSize: auto;inline-size:var(--components-colorPicker-inlineSize)}.colorPicker .simpleSelect-field-value{padding:1px;margin:-1px;min-inline-size:0}.colorPicker .simpleSelect-field-input{padding-inline-start:var(--components-colorPicker-input-paddingInlineStart);color:transparent}}@layer mods{.colorPicker.mod-compact{--components-colorPicker-inlineSize: 4.625rem}.colorPicker.mod-compact .color-name{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.form-field.mod-S .colorPicker.mod-compact{--components-colorPicker-inlineSize: 3.75rem}.colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 6.125rem}.form-field.mod-S .colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 4.875rem}.colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: var(--pr-t-spacings-400)}.form-field.mod-S .colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-50))}}@layer components{.cdk-overlay-pane:has(.colorPanel .lu-picker-content){min-inline-size:0!important;inline-size:17rem}.colorPanel [role=listbox]{display:flex;flex-wrap:wrap;padding:var(--pr-t-spacings-100)}.colorPanel .color{padding:var(--pr-t-spacings-50)}.colorPanel-highlighted{display:flex;padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);margin:0 var(--pr-t-spacings-100) var(--pr-t-spacings-100);gap:var(--pr-t-spacings-50)}}@layer mods{.colorPanel .lu-picker-content{padding:0}.colorPanel .optionItem-value{padding:0;background-color:transparent!important}.colorPanel .optionItem-value:before{display:none}}@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear,.textfield-input:not(.is-selected) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"] }]
727
+ }], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], colors: [{ type: i0.Input, args: [{ isSignal: true, alias: "colors", required: true }] }], clearable: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearable", required: false }] }], compact: [{ type: i0.Input, args: [{ isSignal: true, alias: "compact", required: false }] }] } });
728
+
708
729
  /**
709
730
  * Generated bundle index. Do not edit.
710
731
  */
711
732
 
712
- export { CheckboxInputComponent, FieldsetComponent, FormFieldIdDirective, LU_NUMBERFIELD_TRANSLATIONS, LU_TEXTFIELD_TRANSLATIONS, MultiLanguageInputValidators, MultilanguageInputComponent, NoopValueAccessorDirective, NumberFormatInputComponent, NumberInputComponent, RadioComponent, RadioGroupInputComponent, SwitchInputComponent, TextInputComponent, TextareaInputComponent, areAllLanguagesFilled, injectNgControl, luNumberFieldTranslations, luTextfieldTranslations };
733
+ export { CheckboxInputComponent, ColorInputComponent, FieldsetComponent, FormFieldIdDirective, INVARIANT_CULTURE_CODE, LU_NUMBERFIELD_TRANSLATIONS, LU_TEXTFIELD_TRANSLATIONS, MultiLanguageInputValidators, MultilanguageInputComponent, NoopValueAccessorDirective, NumberFormatInputComponent, NumberInputComponent, RadioComponent, RadioGroupInputComponent, SwitchInputComponent, TextInputComponent, TextareaInputComponent, areAllLanguagesFilled, injectNgControl, isInvariantFilled, luNumberFieldTranslations, luTextfieldTranslations };
713
734
  //# sourceMappingURL=lucca-front-ng-forms.mjs.map