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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) 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 +16 -48
  4. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
  6. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +5 -5
  9. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs +51 -0
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -0
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +135 -0
  13. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -0
  14. package/fesm2022/lucca-front-ng-button.mjs +21 -0
  15. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-callout.mjs +41 -15
  17. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-chip.mjs +37 -7
  19. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-clear.mjs +21 -6
  21. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-color.mjs +28 -0
  23. package/fesm2022/lucca-front-ng-color.mjs.map +1 -0
  24. package/fesm2022/lucca-front-ng-comment.mjs +20 -18
  25. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-container.mjs +7 -9
  27. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +0 -2
  29. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -14
  31. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select.mjs +68 -49
  33. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core.mjs +13 -1
  35. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-data-table.mjs +6 -6
  37. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-date.mjs +66 -99
  39. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-date2.mjs +48 -40
  41. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-department.mjs +8 -24
  43. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-dialog.mjs +33 -10
  45. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-divider.mjs +10 -1
  47. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-empty-state.mjs +66 -8
  49. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-establishment.mjs +11 -75
  51. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +12 -0
  53. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-file-upload.mjs +40 -34
  55. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +14 -13
  57. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-footer.mjs +3 -0
  59. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-form-field.mjs +25 -10
  61. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-form-header.mjs +3 -0
  63. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-form.mjs +19 -5
  65. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-formly.mjs +4 -4
  67. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +2 -2
  69. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +91 -74
  71. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-forms.mjs +110 -41
  73. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-gauge.mjs +28 -5
  75. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-grid.mjs +3 -3
  77. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-highlight-data.mjs +31 -26
  79. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +5 -2
  81. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-icon.mjs +15 -0
  83. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-index-table.mjs +1 -1
  85. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-inline-message.mjs +12 -0
  87. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-input.mjs +7 -7
  89. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-link.mjs +21 -6
  91. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-listbox.mjs +17 -5
  93. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-listing.mjs +36 -7
  95. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-main-layout.mjs +8 -2
  98. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-mobile-push.mjs +22 -14
  100. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  102. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-multi-select.mjs +31 -28
  104. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -0
  106. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-numeric-badge.mjs +10 -1
  108. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-option.mjs +227 -337
  110. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-page-header.mjs +9 -0
  112. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-pagination.mjs +29 -5
  114. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-plg-push.mjs +11 -5
  116. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-popover.mjs +1 -33
  118. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-popover2.mjs +30 -20
  120. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-progress-bar.mjs +12 -5
  122. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-read-more.mjs +38 -21
  124. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-resource-card.mjs +8 -8
  126. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-scroll-box.mjs +5 -2
  128. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -3
  130. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-segmented-control.mjs +16 -1
  132. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-simple-select.mjs +20 -14
  134. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-skeleton.mjs +65 -14
  136. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-sortable-list.mjs +25 -1
  138. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-status-badge.mjs +12 -0
  140. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-tag.mjs +6 -0
  142. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-text-flow.mjs +20 -0
  144. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -0
  145. package/fesm2022/lucca-front-ng-time.mjs +63 -24
  146. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-toast.mjs +5 -5
  148. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-tooltip.mjs +13 -27
  150. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  151. package/fesm2022/lucca-front-ng-tree-select.mjs +1 -1
  152. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-user-popover.mjs +6 -6
  154. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-user.mjs +20 -36
  156. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +30 -0
  158. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  159. package/package.json +19 -3
  160. package/schematics/action-icon/index.js +4 -5
  161. package/schematics/action-icon/migration.js +3 -4
  162. package/schematics/action-icon/migration.spec.js +8 -8
  163. package/schematics/alignment-utilities/index.js +3 -4
  164. package/schematics/alignment-utilities/migration.spec.js +8 -8
  165. package/schematics/cdn-urls/index.js +3 -4
  166. package/schematics/cdn-urls/migration.js +7 -9
  167. package/schematics/cdn-urls/migration.spec.js +8 -8
  168. package/schematics/class-prefix/index.js +3 -4
  169. package/schematics/class-prefix/migration.spec.js +8 -8
  170. package/schematics/collection.json +10 -0
  171. package/schematics/color-text/index.js +3 -4
  172. package/schematics/color-text/migration.spec.js +8 -8
  173. package/schematics/component-path/index.js +3 -4
  174. package/schematics/component-path/migration.spec.js +8 -8
  175. package/schematics/empty-state-title/index.js +5 -7
  176. package/schematics/empty-state-title/migration.spec.js +5 -5
  177. package/schematics/lib/index.js +29 -0
  178. package/schematics/lib/local-deps/package-lock.json +2 -0
  179. package/schematics/lib/local-deps/package.json +1 -2
  180. package/schematics/lib/schematic.utils.js +5 -0
  181. package/schematics/lu-button/index.js +3 -4
  182. package/schematics/lu-button/migration.js +5 -11
  183. package/schematics/lu-button/migration.spec.js +5 -5
  184. package/schematics/lu-container/index.js +23 -0
  185. package/schematics/lu-container/migration.js +116 -0
  186. package/schematics/lu-container/migration.spec.js +23 -0
  187. package/schematics/lu-container/schema.json +23 -0
  188. package/schematics/lu-icon/index.js +3 -4
  189. package/schematics/lu-icon/migration.js +8 -14
  190. package/schematics/lu-icon/migration.spec.js +5 -5
  191. package/schematics/lu-loading/index.js +23 -0
  192. package/schematics/lu-loading/migration.js +136 -0
  193. package/schematics/lu-loading/migration.spec.js +23 -0
  194. package/schematics/lu-loading/schema.json +28 -0
  195. package/schematics/lu-select/index.js +3 -4
  196. package/schematics/lu-select/migration.js +18 -21
  197. package/schematics/lu-select/migration.spec.js +5 -5
  198. package/schematics/lu-select/util.js +17 -19
  199. package/schematics/lu-text-input/index.js +3 -4
  200. package/schematics/lu-text-input/migration.js +22 -28
  201. package/schematics/lu-text-input/migration.spec.js +5 -5
  202. package/schematics/new-icons/index.js +5 -6
  203. package/schematics/new-icons/migration.js +11 -16
  204. package/schematics/new-icons/migration.spec.js +8 -8
  205. package/schematics/palettes/index.js +3 -4
  206. package/schematics/palettes/migration.spec.js +8 -8
  207. package/schematics/tokens-radius/index.js +3 -4
  208. package/schematics/tokens-radius/migration.spec.js +8 -8
  209. package/schematics/tokens-spacing/index.js +3 -4
  210. package/schematics/tokens-spacing/migration.spec.js +8 -8
  211. package/schematics/tokens-typo/index.js +3 -4
  212. package/schematics/tokens-typo/migration.spec.js +8 -8
  213. package/src/components/cdk/_overlay.scss +5 -0
  214. package/src/definitions/option/_option-item.scss +1 -0
  215. package/types/lucca-front-ng-a11y.d.ts +3 -3
  216. package/types/lucca-front-ng-api.d.ts +1 -19
  217. package/types/lucca-front-ng-breadcrumbs.d.ts +9 -9
  218. package/types/lucca-front-ng-bubble-icon.d.ts +20 -0
  219. package/types/lucca-front-ng-bubble-illustration.d.ts +24 -0
  220. package/types/lucca-front-ng-button.d.ts +21 -0
  221. package/types/lucca-front-ng-callout.d.ts +33 -3
  222. package/types/lucca-front-ng-chip.d.ts +33 -3
  223. package/types/lucca-front-ng-clear.d.ts +21 -6
  224. package/types/lucca-front-ng-color.d.ts +12 -0
  225. package/types/lucca-front-ng-comment.d.ts +19 -11
  226. package/types/lucca-front-ng-container.d.ts +4 -4
  227. package/types/lucca-front-ng-core-select.d.ts +21 -16
  228. package/types/lucca-front-ng-core.d.ts +23 -2
  229. package/types/lucca-front-ng-data-table.d.ts +2 -2
  230. package/types/lucca-front-ng-date.d.ts +6 -24
  231. package/types/lucca-front-ng-date2.d.ts +6 -5
  232. package/types/lucca-front-ng-department.d.ts +3 -12
  233. package/types/lucca-front-ng-dialog.d.ts +12 -5
  234. package/types/lucca-front-ng-divider.d.ts +10 -0
  235. package/types/lucca-front-ng-empty-state.d.ts +21 -3
  236. package/types/lucca-front-ng-establishment.d.ts +3 -39
  237. package/types/lucca-front-ng-fancy-box.d.ts +12 -0
  238. package/types/lucca-front-ng-file-upload.d.ts +18 -8
  239. package/types/lucca-front-ng-filter-pills.d.ts +6 -5
  240. package/types/lucca-front-ng-footer.d.ts +3 -0
  241. package/types/lucca-front-ng-form-field.d.ts +12 -3
  242. package/types/lucca-front-ng-form-header.d.ts +3 -0
  243. package/types/lucca-front-ng-form.d.ts +9 -5
  244. package/types/lucca-front-ng-forms-rich-text-input.d.ts +16 -16
  245. package/types/lucca-front-ng-forms.d.ts +41 -12
  246. package/types/lucca-front-ng-gauge.d.ts +25 -0
  247. package/types/lucca-front-ng-grid.d.ts +1 -1
  248. package/types/lucca-front-ng-highlight-data.d.ts +36 -15
  249. package/types/lucca-front-ng-horizontal-navigation.d.ts +3 -0
  250. package/types/lucca-front-ng-icon.d.ts +15 -0
  251. package/types/lucca-front-ng-inline-message.d.ts +12 -0
  252. package/types/lucca-front-ng-input.d.ts +2 -2
  253. package/types/lucca-front-ng-link.d.ts +17 -2
  254. package/types/lucca-front-ng-listbox.d.ts +16 -4
  255. package/types/lucca-front-ng-listing.d.ts +33 -2
  256. package/types/lucca-front-ng-main-layout.d.ts +6 -0
  257. package/types/lucca-front-ng-mobile-push.d.ts +9 -2
  258. package/types/lucca-front-ng-multi-select.d.ts +26 -24
  259. package/types/lucca-front-ng-new-badge.d.ts +3 -0
  260. package/types/lucca-front-ng-numeric-badge.d.ts +9 -0
  261. package/types/lucca-front-ng-option.d.ts +86 -149
  262. package/types/lucca-front-ng-page-header.d.ts +9 -0
  263. package/types/lucca-front-ng-pagination.d.ts +26 -2
  264. package/types/lucca-front-ng-plg-push.d.ts +8 -2
  265. package/types/lucca-front-ng-popover.d.ts +1 -20
  266. package/types/lucca-front-ng-popover2.d.ts +8 -6
  267. package/types/lucca-front-ng-progress-bar.d.ts +9 -0
  268. package/types/lucca-front-ng-read-more.d.ts +25 -10
  269. package/types/lucca-front-ng-resource-card.d.ts +6 -0
  270. package/types/lucca-front-ng-scroll-box.d.ts +4 -1
  271. package/types/lucca-front-ng-segmented-control-tabs.d.ts +7 -1
  272. package/types/lucca-front-ng-segmented-control.d.ts +16 -1
  273. package/types/lucca-front-ng-simple-select.d.ts +5 -4
  274. package/types/lucca-front-ng-skeleton.d.ts +61 -6
  275. package/types/lucca-front-ng-sortable-list.d.ts +24 -0
  276. package/types/lucca-front-ng-status-badge.d.ts +12 -0
  277. package/types/lucca-front-ng-tag.d.ts +6 -0
  278. package/types/lucca-front-ng-text-flow.d.ts +8 -0
  279. package/types/lucca-front-ng-time.d.ts +22 -16
  280. package/types/lucca-front-ng-toast.d.ts +2 -2
  281. package/types/lucca-front-ng-tooltip.d.ts +7 -14
  282. package/types/lucca-front-ng-user-popover.d.ts +6 -7
  283. package/types/lucca-front-ng-user.d.ts +6 -15
  284. package/types/lucca-front-ng-vertical-navigation.d.ts +30 -0
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
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';
3
+ import { ɵeffectWithDeps as _effectWithDeps, getIntl, intlInputOptions, IntlParamsPipe, LuClass, PortalDirective } from '@lucca-front/ng/core';
4
4
  import { FormFieldComponent, INPUT_FRAMED_INSTANCE, FORM_FIELD_INSTANCE, InputDirective, ɵPresentationDisplayDefaultDirective as _PresentationDisplayDefaultDirective, InputFramedComponent } from '@lucca-front/ng/form-field';
5
5
  import { filter, take, startWith } from 'rxjs/operators';
6
6
  import * as i2 from '@angular/forms';
@@ -18,6 +18,9 @@ import { InlineMessageComponent } from '@lucca-front/ng/inline-message';
18
18
  import { startWith as startWith$1 } from 'rxjs';
19
19
  import { ReadMoreComponent } from '@lucca-front/ng/read-more';
20
20
  import { IconComponent } from '@lucca-front/ng/icon';
21
+ import { ColorComponent } from '@lucca-front/ng/color';
22
+ import { LuDisplayerDirective, LuOptionDirective, LuCoreSelectNoClueDirective } from '@lucca-front/ng/core-select';
23
+ import { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';
21
24
 
22
25
  class FormFieldIdDirective {
23
26
  #formFieldComponent;
@@ -102,7 +105,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
102
105
  }]
103
106
  }] });
104
107
 
105
- const Translations$4 = {
108
+ const Translations$5 = {
106
109
  en: {
107
110
  yes: 'yes',
108
111
  no: 'no',
@@ -116,7 +119,7 @@ const Translations$4 = {
116
119
  };
117
120
 
118
121
  const CHECKBOX_INPUT_TRANSLATIONS = new InjectionToken('CheckboxInputTranslations', {
119
- factory: () => Translations$4,
122
+ factory: () => Translations$5,
120
123
  });
121
124
 
122
125
  let nextId$3 = 0;
@@ -174,7 +177,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
174
177
  }, 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"] }]
175
178
  }], 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
179
 
177
- const Translations$3 = {
180
+ const INVARIANT_CULTURE_CODE = 'invariant';
181
+
182
+ const Translations$4 = {
178
183
  pt: {
179
184
  clear: 'Esvaziar este campo',
180
185
  togglePasswordVisibility: 'Mostrar palavra-passe',
@@ -212,14 +217,14 @@ const Translations$3 = {
212
217
  const LU_TEXTFIELD_TRANSLATIONS = new InjectionToken('LuTextfieldTranslations', {
213
218
  factory: () => luTextfieldTranslations,
214
219
  });
215
- const luTextfieldTranslations = Translations$3;
220
+ const luTextfieldTranslations = Translations$4;
216
221
 
217
222
  class TextInputComponent {
218
223
  hasTogglePasswordVisibilityIcon() {
219
224
  return this.typeRef() === 'password';
220
225
  }
221
226
  constructor() {
222
- this.intl = getIntl(LU_TEXTFIELD_TRANSLATIONS);
227
+ this.intl = input(...intlInputOptions(LU_TEXTFIELD_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
223
228
  this.ngControl = injectNgControl();
224
229
  this.inputElementRef = viewChild('inputElement', ...(ngDevMode ? [{ debugName: "inputElementRef" }] : []));
225
230
  this.mask = input(null, ...(ngDevMode ? [{ debugName: "mask" }] : []));
@@ -250,14 +255,14 @@ class TextInputComponent {
250
255
  this.showPassword.set(!_showPassword);
251
256
  }
252
257
  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 }); }
258
+ 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<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: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
254
259
  }
255
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TextInputComponent, decorators: [{
256
261
  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"] }] } });
262
+ 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" }]
263
+ }], 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
264
 
260
- const Translations$2 = {
265
+ const Translations$3 = {
261
266
  en: {
262
267
  clear: 'Empty this field',
263
268
  toggleMultilanguage: 'Show translations',
@@ -271,28 +276,29 @@ const Translations$2 = {
271
276
  };
272
277
 
273
278
  const LU_MULTILANGUAGE_INPUT_TRANSLATIONS = new InjectionToken('LuMultilanguageInputTranslations', {
274
- factory: () => Translations$2,
279
+ factory: () => Translations$3,
275
280
  });
276
281
 
277
282
  class MultilanguageInputComponent {
278
283
  constructor() {
279
284
  this.#localeId = inject(LOCALE_ID);
280
285
  this.#intlDisplay = new Intl.DisplayNames([this.#localeId], { type: 'language' });
281
- this.intl = getIntl(LU_MULTILANGUAGE_INPUT_TRANSLATIONS);
286
+ this.intl = input(...intlInputOptions(LU_MULTILANGUAGE_INPUT_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
282
287
  this.#formFieldRef = inject(FORM_FIELD_INSTANCE);
283
288
  this.formFieldSize = this.#formFieldRef.size;
284
289
  this.onTouched = () => { };
285
290
  this.onChange = (_value) => { };
286
291
  this.placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
287
292
  this.openOnFocus = input(false, { ...(ngDevMode ? { debugName: "openOnFocus" } : {}), transform: booleanAttribute });
293
+ this.autocomplete = input('off', ...(ngDevMode ? [{ debugName: "autocomplete" }] : []));
288
294
  // Suffixed with Internal to avoid conflict with NgModel's disabled attribute
289
295
  this.disabledInternal = signal(false, ...(ngDevMode ? [{ debugName: "disabledInternal" }] : []));
290
296
  this.model = signal([], ...(ngDevMode ? [{ debugName: "model" }] : []));
291
297
  this.invariant = computed(() => {
292
- return this.model().find((row) => row.cultureCode === 'invariant') || { value: '' };
298
+ return this.model().find((row) => row.cultureCode === INVARIANT_CULTURE_CODE) || { value: '' };
293
299
  }, ...(ngDevMode ? [{ debugName: "invariant" }] : []));
294
300
  this.panelInputs = computed(() => {
295
- return this.model().filter((row) => row.cultureCode !== 'invariant');
301
+ return this.model().filter((row) => row.cultureCode !== INVARIANT_CULTURE_CODE);
296
302
  }, ...(ngDevMode ? [{ debugName: "panelInputs" }] : []));
297
303
  this.presentationValue = computed(() => {
298
304
  return this.model().find((row) => row.cultureCode === this.#localeId)?.value || this.invariant()?.value;
@@ -313,7 +319,7 @@ class MultilanguageInputComponent {
313
319
  value = [];
314
320
  }
315
321
  if (value.length > 0) {
316
- if (!value.some((row) => row.cultureCode === 'invariant')) {
322
+ if (!value.some((row) => row.cultureCode === INVARIANT_CULTURE_CODE)) {
317
323
  throw new Error('Please provide an invariant translation in translation array');
318
324
  }
319
325
  this.model.set(value);
@@ -332,13 +338,13 @@ class MultilanguageInputComponent {
332
338
  this.onChange?.(this.model());
333
339
  }
334
340
  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: [
341
+ 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 }, autocomplete: { classPropertyName: "autocomplete", publicName: "autocomplete", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
336
342
  {
337
343
  provide: NG_VALUE_ACCESSOR,
338
344
  useExisting: forwardRef(() => MultilanguageInputComponent),
339
345
  multi: true,
340
346
  },
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 }); }
347
+ ], 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[autocomplete]=\"autocomplete()\"\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\t[autocomplete]=\"autocomplete()\"\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;max-inline-size:100%;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", "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: ["intl", "luPopover2", "luPopoverPosition", "overlayScrollStrategy", "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: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }, { kind: "pipe", type: IntlParamsPipe, name: "intlParams" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
342
348
  }
343
349
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: MultilanguageInputComponent, decorators: [{
344
350
  type: Component,
@@ -359,17 +365,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
359
365
  useExisting: forwardRef(() => MultilanguageInputComponent),
360
366
  multi: true,
361
367
  },
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 }] }] } });
368
+ ], 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[autocomplete]=\"autocomplete()\"\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\t[autocomplete]=\"autocomplete()\"\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;max-inline-size:100%;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"] }]
369
+ }], 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 }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }] } });
364
370
 
365
371
  function areAllLanguagesFilled(model) {
366
372
  return model.every((row) => row.value?.length > 0);
367
373
  }
374
+ function isInvariantFilled(model) {
375
+ const invariantTranslation = model.find((row) => row.cultureCode === INVARIANT_CULTURE_CODE);
376
+ return invariantTranslation && invariantTranslation.value?.length > 0;
377
+ }
368
378
  const MultiLanguageInputValidators = {
369
- allLanguagesFilled: (control) => (areAllLanguagesFilled(control.value) ? null : { missingLang: true }),
379
+ allLanguagesRequired: (control) => (areAllLanguagesFilled(control.value) ? null : { missingLang: true }),
380
+ invariantRequired: (control) => (isInvariantFilled(control.value) ? null : { missingInvariant: true }),
370
381
  };
371
382
 
372
- const Translations$1 = {
383
+ const Translations$2 = {
373
384
  pt: {
374
385
  clear: 'Esvaziar este campo',
375
386
  },
@@ -399,7 +410,7 @@ const Translations$1 = {
399
410
  const LU_NUMBERFORMATFIELD_TRANSLATIONS = new InjectionToken('LuNumberFormatFieldTranslations', {
400
411
  factory: () => luNumberFormatFieldTranslations,
401
412
  });
402
- const luNumberFormatFieldTranslations = Translations$1;
413
+ const luNumberFormatFieldTranslations = Translations$2;
403
414
 
404
415
  class NumberFormatInputComponent {
405
416
  constructor() {
@@ -407,7 +418,7 @@ class NumberFormatInputComponent {
407
418
  this.#destroyRef = inject(DestroyRef);
408
419
  this.ngControl = injectNgControl();
409
420
  this.formatStyle = input('decimal', ...(ngDevMode ? [{ debugName: "formatStyle" }] : []));
410
- this.useAutoPrefixSuffix = input(undefined, ...(ngDevMode ? [{ debugName: "useAutoPrefixSuffix" }] : []));
421
+ this.useAutoPrefixSuffix = input(false, { ...(ngDevMode ? { debugName: "useAutoPrefixSuffix" } : {}), transform: booleanAttribute });
411
422
  this.prefix = input(undefined, ...(ngDevMode ? [{ debugName: "prefix" }] : []));
412
423
  this.suffix = input(undefined, ...(ngDevMode ? [{ debugName: "suffix" }] : []));
413
424
  this.currency = input(undefined, ...(ngDevMode ? [{ debugName: "currency" }] : []));
@@ -423,7 +434,7 @@ class NumberFormatInputComponent {
423
434
  this.#suffixPrefixValue = signal(1, ...(ngDevMode ? [{ debugName: "#suffixPrefixValue" }] : []));
424
435
  this.#numberFormat = computed(() => new NumberFormat(this.formatOptions()), ...(ngDevMode ? [{ debugName: "#numberFormat" }] : []));
425
436
  this.prefixAddon = computed(() => {
426
- if (this.useAutoPrefixSuffix() === undefined || this.useAutoPrefixSuffix() === false) {
437
+ if (this.useAutoPrefixSuffix() === false) {
427
438
  return this.prefix();
428
439
  }
429
440
  const content = this.#numberFormat().getPrefix(this.#suffixPrefixValue());
@@ -436,7 +447,7 @@ class NumberFormatInputComponent {
436
447
  };
437
448
  }, ...(ngDevMode ? [{ debugName: "prefixAddon" }] : []));
438
449
  this.suffixAddon = computed(() => {
439
- if (this.useAutoPrefixSuffix() === undefined || this.useAutoPrefixSuffix() === false) {
450
+ if (this.useAutoPrefixSuffix() === false) {
440
451
  return this.suffix();
441
452
  }
442
453
  const content = this.#numberFormat().getSuffix(this.#suffixPrefixValue());
@@ -459,7 +470,7 @@ class NumberFormatInputComponent {
459
470
  unitDisplay: this.unitDisplay(),
460
471
  }), ...(ngDevMode ? [{ debugName: "formatOptions" }] : []));
461
472
  this.formattedValue = computed(() => this.#numberFormat().getBlurFormat(this.#suffixPrefixValue()), ...(ngDevMode ? [{ debugName: "formattedValue" }] : []));
462
- this.intl = getIntl(LU_NUMBERFORMATFIELD_TRANSLATIONS);
473
+ this.intl = input(...intlInputOptions(LU_NUMBERFORMATFIELD_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
463
474
  }
464
475
  #locale;
465
476
  #destroyRef;
@@ -473,14 +484,14 @@ class NumberFormatInputComponent {
473
484
  this.inputElementRef()?.nativeElement.focus();
474
485
  }
475
486
  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 }); }
487
+ 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<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: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
477
488
  }
478
489
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberFormatInputComponent, decorators: [{
479
490
  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 }] }] } });
491
+ 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" }]
492
+ }], 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
493
 
483
- const Translations = {
494
+ const Translations$1 = {
484
495
  pt: {
485
496
  clear: 'Esvaziar este campo',
486
497
  },
@@ -510,7 +521,7 @@ const Translations = {
510
521
  const LU_NUMBERFIELD_TRANSLATIONS = new InjectionToken('LuNumberFieldTranslations', {
511
522
  factory: () => luNumberFieldTranslations,
512
523
  });
513
- const luNumberFieldTranslations = Translations;
524
+ const luNumberFieldTranslations = Translations$1;
514
525
 
515
526
  class NumberInputComponent {
516
527
  constructor() {
@@ -525,19 +536,19 @@ class NumberInputComponent {
525
536
  this.min = input(...(ngDevMode ? [undefined, { debugName: "min" }] : []));
526
537
  this.max = input(...(ngDevMode ? [undefined, { debugName: "max" }] : []));
527
538
  this.valueAlignRight = input(false, { ...(ngDevMode ? { debugName: "valueAlignRight" } : {}), transform: booleanAttribute });
528
- this.intl = getIntl(LU_NUMBERFIELD_TRANSLATIONS);
539
+ this.intl = input(...intlInputOptions(LU_NUMBERFIELD_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
529
540
  }
530
541
  clearValue() {
531
542
  this.ngControl.reset();
532
543
  this.inputElementRef().nativeElement.focus();
533
544
  }
534
545
  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 }); }
546
+ 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\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: ["intl", "size", "disabled", "palette", "inverted"], outputs: ["onClear"], exportAs: ["luClearer"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
536
547
  }
537
548
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: NumberInputComponent, decorators: [{
538
549
  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 }] }] } });
550
+ 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" }]
551
+ }], 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
552
 
542
553
  const RADIO_GROUP_INSTANCE = new InjectionToken('RADIO_GROUP_INSTANCE');
543
554
 
@@ -620,14 +631,14 @@ class RadioComponent {
620
631
  }
621
632
  }
622
633
  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 }); }
634
+ 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 .formLabel-info{position:relative;z-index: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 .inputFramed-header-label.formLabel{position:static;font-weight:var(--components-inputFramed-header-label-fontWeight)}.inputFramed-header .inputFramed-header-label.formLabel:after{content:\"\";position:absolute;inset:calc(var(--pr-t-spacings-50) * -1)}.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 }); }
624
635
  }
625
636
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: RadioComponent, decorators: [{
626
637
  type: Component,
627
638
  args: [{ selector: 'lu-radio', imports: [ReactiveFormsModule, InlineMessageComponent, NgTemplateOutlet, InputDirective, InputFramedComponent, _PresentationDisplayDefaultDirective], host: {
628
639
  '[class.form-field]': '!framed()',
629
640
  '[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"] }]
641
+ }, 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 .formLabel-info{position:relative;z-index: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 .inputFramed-header-label.formLabel{position:static;font-weight:var(--components-inputFramed-header-label-fontWeight)}.inputFramed-header .inputFramed-header-label.formLabel:after{content:\"\";position:absolute;inset:calc(var(--pr-t-spacings-50) * -1)}.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
642
  }], 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
643
 
633
644
  class SwitchInputComponent {
@@ -678,7 +689,7 @@ class TextareaInputComponent {
678
689
  this.ngControl.valueChanges?.pipe(takeUntilDestroyed(this.#destroyRef), startWith$1(this.ngControl.value)).subscribe((value) => this.updateScroll(value));
679
690
  }
680
691
  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 }); }
692
+ 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: ["intl", "lineClamp", "openOnly", "textFlow", "surface", "innerContent"] }, { kind: "directive", type: _PresentationDisplayDefaultDirective, selector: "[luPresentationDisplayDefault]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
682
693
  }
683
694
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: TextareaInputComponent, decorators: [{
684
695
  type: Component,
@@ -698,16 +709,74 @@ class FieldsetComponent {
698
709
  this.id = `fieldsetTitleContent${nextId++}`;
699
710
  }
700
711
  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 }); }
712
+ 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:has(.fieldset-title-content-text:empty){display:none}.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 }); }
702
713
  }
703
714
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: FieldsetComponent, decorators: [{
704
715
  type: Component,
705
- 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"] }]
716
+ 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:has(.fieldset-title-content-text:empty){display:none}.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
717
  }], 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
718
 
719
+ const Translations = {
720
+ pt: {
721
+ color: 'Cor: ',
722
+ },
723
+ 'nl-BE': {
724
+ color: 'Kleur: ',
725
+ },
726
+ nl: {
727
+ color: 'Kleur: ',
728
+ },
729
+ it: {
730
+ color: 'Colore: ',
731
+ },
732
+ de: {
733
+ color: 'Farbe: ',
734
+ },
735
+ fr: {
736
+ color: 'Couleur : ',
737
+ },
738
+ es: {
739
+ color: 'Color: ',
740
+ },
741
+ en: {
742
+ color: 'Color: ',
743
+ },
744
+ };
745
+
746
+ const LU_COLOR_TRANSLATIONS = new InjectionToken('luColorTranslations', {
747
+ factory: () => luColorTranslations,
748
+ });
749
+ const luColorTranslations = Translations;
750
+
751
+ class ColorInputComponent {
752
+ constructor() {
753
+ this.intl = input(...intlInputOptions(LU_COLOR_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
754
+ this.mouseHighlighted = signal('', ...(ngDevMode ? [{ debugName: "mouseHighlighted" }] : []));
755
+ this.keyboardHighlighted = signal('', ...(ngDevMode ? [{ debugName: "keyboardHighlighted" }] : []));
756
+ this.highlighted = computed(() => this.mouseHighlighted() || this.keyboardHighlighted(), ...(ngDevMode ? [{ debugName: "highlighted" }] : []));
757
+ this.clue = signal('', ...(ngDevMode ? [{ debugName: "clue" }] : []));
758
+ this.colors = input.required(...(ngDevMode ? [{ debugName: "colors" }] : []));
759
+ this.clearable = input(false, { ...(ngDevMode ? { debugName: "clearable" } : {}), transform: booleanAttribute });
760
+ this.compact = input(false, { ...(ngDevMode ? { debugName: "compact" } : {}), transform: booleanAttribute });
761
+ this.ngControl = injectNgControl();
762
+ this.filteredColors = computed(() => {
763
+ if (this.clue()) {
764
+ return this.colors().filter((color) => color.name.toLowerCase().includes(this.clue().toLowerCase()));
765
+ }
766
+ return this.colors();
767
+ }, ...(ngDevMode ? [{ debugName: "filteredColors" }] : []));
768
+ }
769
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ColorInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
770
+ 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{--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 }); }
771
+ }
772
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ColorInputComponent, decorators: [{
773
+ type: Component,
774
+ 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{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"] }]
775
+ }], 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 }] }] } });
776
+
708
777
  /**
709
778
  * Generated bundle index. Do not edit.
710
779
  */
711
780
 
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 };
781
+ 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
782
  //# sourceMappingURL=lucca-front-ng-forms.mjs.map