@lucca-front/ng 22.1.0-rc.4 → 22.1.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 (238) hide show
  1. package/README.md +6 -0
  2. package/fesm2022/lucca-front-ng-a11y.mjs +9 -9
  3. package/fesm2022/lucca-front-ng-activity-feed.mjs +19 -15
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  6. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +78 -56
  8. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  10. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
  12. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
  14. package/fesm2022/lucca-front-ng-callout.mjs +24 -24
  15. package/fesm2022/lucca-front-ng-chip.mjs +4 -4
  16. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-clear.mjs +4 -4
  18. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-code.mjs +3 -3
  20. package/fesm2022/lucca-front-ng-color.mjs +3 -3
  21. package/fesm2022/lucca-front-ng-comment.mjs +12 -12
  22. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-container.mjs +3 -3
  24. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  25. package/fesm2022/lucca-front-ng-core-select-department.mjs +8 -6
  26. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +11 -9
  28. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  30. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
  31. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  33. package/fesm2022/lucca-front-ng-core-select-user.mjs +22 -20
  34. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-core-select.mjs +77 -62
  36. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-core.mjs +19 -19
  38. package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
  39. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-date.mjs +40 -40
  41. package/fesm2022/lucca-front-ng-date2.mjs +93 -40
  42. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-department.mjs +24 -24
  44. package/fesm2022/lucca-front-ng-dialog.mjs +56 -48
  45. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  47. package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
  48. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
  50. package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
  51. package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
  53. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
  54. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
  57. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-footer.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-form-field.mjs +24 -20
  60. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
  62. package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
  63. package/fesm2022/lucca-front-ng-form.mjs +3 -3
  64. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  65. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
  66. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  67. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  68. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  69. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +38 -37
  70. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-forms.mjs +68 -48
  72. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  74. package/fesm2022/lucca-front-ng-grid.mjs +6 -6
  75. package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
  76. package/fesm2022/lucca-front-ng-highlight-section.mjs +6 -3
  77. package/fesm2022/lucca-front-ng-highlight-section.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
  79. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
  80. package/fesm2022/lucca-front-ng-impersonation.mjs +5 -3
  81. package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
  83. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  85. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  86. package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
  87. package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
  88. package/fesm2022/lucca-front-ng-link.mjs +38 -14
  89. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
  91. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-listing.mjs +21 -11
  93. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-loading.mjs +51 -10
  95. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  97. package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
  98. package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
  99. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  100. package/fesm2022/lucca-front-ng-multi-select.mjs +42 -42
  101. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  103. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  104. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  105. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  106. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  108. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  109. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  110. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  111. package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
  112. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  114. package/fesm2022/lucca-front-ng-priority-level.mjs +128 -0
  115. package/fesm2022/lucca-front-ng-priority-level.mjs.map +1 -0
  116. package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
  117. package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
  118. package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
  119. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
  121. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  122. package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
  123. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
  125. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  126. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +8 -8
  127. package/fesm2022/lucca-front-ng-segmented-control.mjs +8 -8
  128. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  129. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  130. package/fesm2022/lucca-front-ng-simple-select.mjs +16 -16
  131. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  132. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  133. package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
  134. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  135. package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
  136. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  137. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  138. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-time.mjs +18 -18
  140. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  141. package/fesm2022/lucca-front-ng-toast.mjs +10 -10
  142. package/fesm2022/lucca-front-ng-tree-select.mjs +7 -7
  143. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  144. package/fesm2022/lucca-front-ng-user-popover.mjs +22 -22
  145. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  146. package/fesm2022/lucca-front-ng-user.mjs +68 -61
  147. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  148. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  149. package/package.json +23 -10
  150. package/schematics/lib/local-deps/package-lock.json +7 -7
  151. package/schematics/lib/local-deps/package.json +1 -1
  152. package/schematics/lu-button/migration.js +59 -33
  153. package/src/components/_sidepanel.scss +2 -2
  154. package/src/components/cdk/_global.scss +4 -0
  155. package/src/components/cdk/_overlay.scss +1 -1
  156. package/src/definitions/option/_option-item.scss +7 -4
  157. package/types/lucca-front-ng-a11y.d.ts +1 -1
  158. package/types/lucca-front-ng-activity-feed.d.ts +13 -9
  159. package/types/lucca-front-ng-api.d.ts +31 -31
  160. package/types/lucca-front-ng-approbation-inbox.d.ts +22 -14
  161. package/types/lucca-front-ng-bubble-icon.d.ts +5 -2
  162. package/types/lucca-front-ng-callout.d.ts +17 -17
  163. package/types/lucca-front-ng-chip.d.ts +7 -7
  164. package/types/lucca-front-ng-clear.d.ts +2 -2
  165. package/types/lucca-front-ng-color.d.ts +3 -3
  166. package/types/lucca-front-ng-comment.d.ts +14 -14
  167. package/types/lucca-front-ng-container.d.ts +1 -1
  168. package/types/lucca-front-ng-core-select-api.d.ts +7 -7
  169. package/types/lucca-front-ng-core-select-department.d.ts +7 -5
  170. package/types/lucca-front-ng-core-select-establishment.d.ts +8 -6
  171. package/types/lucca-front-ng-core-select-job-qualification.d.ts +2 -2
  172. package/types/lucca-front-ng-core-select-legal-units.d.ts +3 -3
  173. package/types/lucca-front-ng-core-select-occupation-category.d.ts +2 -2
  174. package/types/lucca-front-ng-core-select-user.d.ts +14 -12
  175. package/types/lucca-front-ng-core-select.d.ts +56 -41
  176. package/types/lucca-front-ng-core.d.ts +5 -5
  177. package/types/lucca-front-ng-data-table.d.ts +38 -33
  178. package/types/lucca-front-ng-date.d.ts +13 -13
  179. package/types/lucca-front-ng-date2.d.ts +56 -37
  180. package/types/lucca-front-ng-department.d.ts +2 -2
  181. package/types/lucca-front-ng-dialog.d.ts +9 -9
  182. package/types/lucca-front-ng-divider.d.ts +2 -2
  183. package/types/lucca-front-ng-dropdown.d.ts +2 -2
  184. package/types/lucca-front-ng-empty-state.d.ts +20 -20
  185. package/types/lucca-front-ng-establishment.d.ts +15 -15
  186. package/types/lucca-front-ng-fancy-box.d.ts +12 -12
  187. package/types/lucca-front-ng-file-upload.d.ts +21 -15
  188. package/types/lucca-front-ng-filter-pills.d.ts +27 -18
  189. package/types/lucca-front-ng-footer.d.ts +1 -1
  190. package/types/lucca-front-ng-form-field.d.ts +19 -19
  191. package/types/lucca-front-ng-form-label.d.ts +4 -4
  192. package/types/lucca-front-ng-form.d.ts +1 -1
  193. package/types/lucca-front-ng-forms-phone-number-input.d.ts +11 -11
  194. package/types/lucca-front-ng-forms-rich-text-input.d.ts +11 -11
  195. package/types/lucca-front-ng-forms.d.ts +59 -49
  196. package/types/lucca-front-ng-grid.d.ts +23 -23
  197. package/types/lucca-front-ng-highlight-data.d.ts +5 -5
  198. package/types/lucca-front-ng-highlight-section.d.ts +6 -3
  199. package/types/lucca-front-ng-horizontal-navigation.d.ts +4 -4
  200. package/types/lucca-front-ng-impersonation.d.ts +8 -6
  201. package/types/lucca-front-ng-index-table.d.ts +20 -18
  202. package/types/lucca-front-ng-inline-message.d.ts +2 -2
  203. package/types/lucca-front-ng-kbd.d.ts +59 -0
  204. package/types/lucca-front-ng-link.d.ts +17 -4
  205. package/types/lucca-front-ng-listbox.d.ts +10 -9
  206. package/types/lucca-front-ng-listing.d.ts +14 -3
  207. package/types/lucca-front-ng-loading.d.ts +18 -6
  208. package/types/lucca-front-ng-main-layout.d.ts +9 -9
  209. package/types/lucca-front-ng-modal.d.ts +4 -4
  210. package/types/lucca-front-ng-multi-select.d.ts +21 -21
  211. package/types/lucca-front-ng-option.d.ts +3 -3
  212. package/types/lucca-front-ng-page-header.d.ts +2 -2
  213. package/types/lucca-front-ng-pagination.d.ts +3 -3
  214. package/types/lucca-front-ng-popover.d.ts +18 -18
  215. package/types/lucca-front-ng-popover2.d.ts +9 -8
  216. package/types/lucca-front-ng-popup.d.ts +4 -4
  217. package/types/{lucca-front-ng-priority-levels.d.ts → lucca-front-ng-priority-level.d.ts} +11 -11
  218. package/types/lucca-front-ng-progress-bar.d.ts +1 -1
  219. package/types/lucca-front-ng-progress-stepper.d.ts +2 -2
  220. package/types/lucca-front-ng-read-more.d.ts +6 -6
  221. package/types/lucca-front-ng-resource-card.d.ts +3 -3
  222. package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -5
  223. package/types/lucca-front-ng-segmented-control.d.ts +3 -3
  224. package/types/lucca-front-ng-select.d.ts +9 -9
  225. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  226. package/types/lucca-front-ng-simple-select.d.ts +9 -9
  227. package/types/lucca-front-ng-software-icon.d.ts +1 -1
  228. package/types/lucca-front-ng-sortable-list.d.ts +1 -1
  229. package/types/lucca-front-ng-status-badge.d.ts +1 -1
  230. package/types/lucca-front-ng-time.d.ts +19 -19
  231. package/types/lucca-front-ng-title.d.ts +2 -2
  232. package/types/lucca-front-ng-toast.d.ts +2 -2
  233. package/types/lucca-front-ng-tree-select.d.ts +2 -2
  234. package/types/lucca-front-ng-user-popover.d.ts +1 -2
  235. package/types/lucca-front-ng-user.d.ts +26 -20
  236. package/types/lucca-front-ng-vertical-navigation.d.ts +5 -5
  237. package/fesm2022/lucca-front-ng-priority-levels.mjs +0 -128
  238. package/fesm2022/lucca-front-ng-priority-levels.mjs.map +0 -1
@@ -62,8 +62,17 @@ interface LuOptionGroup<T, TGroup> {
62
62
  }
63
63
  type LuOptionComparer<T> = (a: T, b: T) => boolean;
64
64
  type CoreSelectAddOptionStrategy = 'never' | 'always' | 'if-empty-clue' | 'if-not-empty-clue';
65
+ /**
66
+ * Feature flag gating the responsive dialog system as a whole: below the `XS` breakpoint the select
67
+ * trigger becomes a button and its panel opens as a bottom sheet instead of a popover anchored to the
68
+ * field.
69
+ *
70
+ * It defaults to `false`, so a consumer that provides nothing keeps the anchored popover at every
71
+ * viewport size. Turn it on application-wide with `{ provide: SELECT_RESPONSIVE_DIALOG, useValue: true }`.
72
+ */
73
+ declare const SELECT_RESPONSIVE_DIALOG: InjectionToken<boolean>;
65
74
  declare const SELECT_ID: InjectionToken<number>;
66
- declare const SELECT_LABEL: InjectionToken<HTMLLabelElement>;
75
+ declare const SELECT_LABEL: InjectionToken<HTMLLabelElement | undefined>;
67
76
  declare const SELECT_LABEL_ID: InjectionToken<string>;
68
77
  /**
69
78
  * Contract behind {@link CORE_SELECT_API_TOTAL_COUNT_PROVIDER}: a directive fulfills it by declaring
@@ -78,7 +87,7 @@ declare abstract class ɵIsSelectedStrategy<TOption> {
78
87
  abstract isSelected(option: TOption, selectedOptions: TOption[], optionComparer: LuOptionComparer<TOption>): boolean;
79
88
  abstract isGroupSelected(options: TOption[], notSelectedOptions: TOption[]): boolean;
80
89
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ɵIsSelectedStrategy<any>, never>;
81
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<ɵIsSelectedStrategy<any>>;
90
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
82
91
  }
83
92
 
84
93
  declare class CoreSelectPanelElement<T> implements Highlightable, OnDestroy {
@@ -88,7 +97,7 @@ declare class CoreSelectPanelElement<T> implements Highlightable, OnDestroy {
88
97
  readonly elementId: _angular_core.InputSignal<string>;
89
98
  readonly idAttribute: _angular_core.Signal<string>;
90
99
  readonly isSelected: _angular_core.ModelSignal<boolean>;
91
- readonly option: _angular_core.InputSignal<T>;
100
+ readonly option: _angular_core.InputSignal<T | undefined>;
92
101
  readonly disabledInput: _angular_core.InputSignal<boolean>;
93
102
  readonly disabledRef: _angular_core.WritableSignal<boolean>;
94
103
  readonly isHighlighted: _angular_core.WritableSignal<boolean>;
@@ -121,7 +130,7 @@ declare class CoreSelectKeyManager<T> {
121
130
  setActiveItemByElement(item: CoreSelectPanelElement<T>): void;
122
131
  highlightOption(option: T): void;
123
132
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CoreSelectKeyManager<any>, never>;
124
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<CoreSelectKeyManager<any>>;
133
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
125
134
  }
126
135
 
127
136
  /**
@@ -138,7 +147,7 @@ declare class LuSelectPanelLayoutComponent {
138
147
  /** Enables a focus trap on the scroll content (used by the single select panel). */
139
148
  readonly trapFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
140
149
  /** `tabindex` to set on the scroll content, or `null` to leave it non-focusable. */
141
- readonly contentTabIndex: _angular_core.InputSignal<number>;
150
+ readonly contentTabIndex: _angular_core.InputSignal<number | null>;
142
151
  /** Emitted when the scroll content is scrolled (used to trigger pagination). */
143
152
  readonly scrolled: _angular_core.OutputEmitterRef<Event>;
144
153
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuSelectPanelLayoutComponent, never>;
@@ -171,7 +180,7 @@ declare abstract class LuSelectPanelRef<TOption, TValue> {
171
180
  /**
172
181
  * Opens a select panel as a bottom sheet.
173
182
  *
174
- * Below the `S` breakpoint the panel stops being a popover anchored to the field and becomes a modal
183
+ * Below the `XS` breakpoint the panel stops being a popover anchored to the field and becomes a modal
175
184
  * surface pinned to the bottom of the viewport. That surface already exists as the dialog's `sheet`
176
185
  * mode — backdrop, blocked page scroll, focus trap, focus restoration and close button all come with
177
186
  * it — so the panel is opened as a dialog instead of as a bespoke overlay.
@@ -285,14 +294,14 @@ declare const coreSelectDefaultOptionComparer: LuOptionComparer<unknown>;
285
294
  declare const coreSelectDefaultOptionKey: (option: unknown) => unknown;
286
295
  declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDestroy, OnInit, ControlValueAccessor, FilterPillInputComponent {
287
296
  #private;
288
- parentInput: FilterPillInputComponent;
297
+ parentInput: FilterPillInputComponent | null;
289
298
  protected changeDetectorRef: ChangeDetectorRef;
290
299
  protected overlayContainerRef: HTMLElement;
291
300
  protected labelElement: HTMLElement | undefined;
292
301
  protected labelId: string;
293
- protected formField: FormFieldComponent;
302
+ protected formField: FormFieldComponent | null;
294
303
  protected abstract intl: Signal<LuCoreSelectLabel>;
295
- protected filterPillHost: _lucca_front_ng_filter_pills_core.FilterPillHostComponent;
304
+ protected filterPillHost: _lucca_front_ng_filter_pills_core.FilterPillHostComponent | null;
296
305
  protected afterCloseFn?: () => void;
297
306
  protected updatePositionFn?: () => void;
298
307
  get filterPillMode(): boolean;
@@ -301,8 +310,8 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
301
310
  /**
302
311
  * Width of the select itself, using the same scale as the form field width
303
312
  */
304
- readonly width: _angular_core.InputSignalWithTransform<10 | 20 | 30 | 40 | 50 | 60, 10 | 20 | 30 | 40 | 50 | 60 | "null" | "10" | "20" | "30" | "40" | "50" | "60">;
305
- protected readonly widthClass: Signal<string>;
313
+ readonly width: _angular_core.InputSignalWithTransform<10 | 20 | 30 | 40 | 50 | 60 | null, 10 | 20 | 30 | 40 | 50 | 60 | "null" | "10" | "20" | "30" | "40" | "50" | "60" | null>;
314
+ protected readonly widthClass: Signal<string | null>;
306
315
  selectParent$?: Subject<void>;
307
316
  selectChildren$?: Subject<void>;
308
317
  readonly panelClosed: _angular_core.OutputEmitterRef<void>;
@@ -311,13 +320,13 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
311
320
  private readonly inputElementRef;
312
321
  readonly disabled$: BehaviorSubject<boolean>;
313
322
  readonly filterPillDisabled: Signal<boolean>;
314
- readonly prefix: _angular_core.InputSignal<PortalContent>;
315
- readonly placeholder: _angular_core.InputSignal<string>;
316
- readonly clearableInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
323
+ readonly prefix: _angular_core.InputSignal<PortalContent | null>;
324
+ readonly placeholder: _angular_core.InputSignal<string | undefined>;
325
+ readonly clearableInput: _angular_core.InputSignalWithTransform<boolean | null, unknown>;
317
326
  readonly isClearable: Signal<boolean>;
318
327
  get searchable(): boolean;
319
328
  protected readonly computedAddOptionLabel: Signal<PortalContent>;
320
- readonly addOptionLabelInput: _angular_core.InputSignal<PortalContent>;
329
+ readonly addOptionLabelInput: _angular_core.InputSignal<PortalContent | null>;
321
330
  get addOptionLabel(): PortalContent;
322
331
  readonly addOptionStrategy: _angular_core.InputSignal<CoreSelectAddOptionStrategy>;
323
332
  protected get isSelectedClass(): boolean;
@@ -325,12 +334,18 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
325
334
  protected abstract hasValue(): boolean;
326
335
  get isPanelOpen(): boolean;
327
336
  readonly isPanelOpen$: BehaviorSubject<boolean>;
328
- readonly panelOpenSignal: Signal<boolean>;
329
- private readonly belowSmallBreakpoint;
337
+ readonly panelOpenSignal: Signal<boolean | undefined>;
338
+ private readonly belowExtraSmallBreakpoint;
339
+ /** Feature flag turning the whole responsive dialog system on; off unless the app provides it. */
340
+ private readonly responsiveDialog;
330
341
  /**
331
- * Below the `S` breakpoint (800px) the panel opens as a dialog in `sheet` mode that embeds its own
342
+ * Below the `XS` breakpoint (640px) the panel opens as a dialog in `sheet` mode that embeds its own
332
343
  * search input, instead of a popover anchored to the field — mirroring how filter pills move the input
333
344
  * inside their overlay. Filter pills already provide their own overlay, so they keep their behavior.
345
+ *
346
+ * This is the single gate of the system: everything else — the button trigger, the sheet panel ref,
347
+ * the sheet template of the panels, the displayers — reads it, so a `false` {@link SELECT_RESPONSIVE_DIALOG}
348
+ * leaves the select exactly as it was at every viewport size.
334
349
  */
335
350
  readonly bottomSheetMode: Signal<boolean>;
336
351
  /**
@@ -350,7 +365,7 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
350
365
  get ariaControls(): string;
351
366
  readonly overlayConfig: _angular_core.InputSignal<OverlayConfig>;
352
367
  readonly loadingInput: _angular_core.InputSignal<boolean>;
353
- readonly optionsInput: _angular_core.InputSignal<readonly TOption[]>;
368
+ readonly optionsInput: _angular_core.InputSignal<readonly TOption[] | null>;
354
369
  readonly optionComparerInput: _angular_core.InputSignal<LuOptionComparer<TOption>>;
355
370
  readonly optionKeyInput: _angular_core.InputSignal<(option: TOption) => unknown>;
356
371
  readonly noClueIcon: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
@@ -358,17 +373,17 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
358
373
  readonly compact: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
359
374
  readonly colorPicker: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
360
375
  protected get isNoClueIconClass(): boolean;
361
- readonly options: _angular_core.WritableSignal<readonly TOption[]>;
376
+ readonly options: _angular_core.WritableSignal<readonly TOption[] | null>;
362
377
  readonly loading: _angular_core.WritableSignal<boolean>;
363
- readonly clearable: _angular_core.WritableSignal<boolean>;
378
+ readonly clearable: _angular_core.WritableSignal<boolean | null>;
364
379
  readonly optionComparer: _angular_core.WritableSignal<LuOptionComparer<TOption>>;
365
380
  readonly optionKey: _angular_core.WritableSignal<(option: TOption) => unknown>;
366
381
  readonly optionTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<LuOptionContext<TOption>>>;
367
- readonly valueTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<LuOptionContext<TOption>>>;
368
- readonly panelHeaderTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<void>>;
369
- readonly panelFooterTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<void>>;
382
+ readonly valueTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<LuOptionContext<TOption>> | undefined>;
383
+ readonly panelHeaderTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<void> | undefined>;
384
+ readonly panelFooterTpl: _angular_core.ModelSignal<Type<unknown> | TemplateRef<void> | undefined>;
370
385
  readonly displayerTpl: Signal<Type<unknown> | TemplateRef<LuOptionContext<TOption>>>;
371
- readonly groupingSignal: _angular_core.WritableSignal<LuOptionGrouping<TOption, unknown>>;
386
+ readonly groupingSignal: _angular_core.WritableSignal<LuOptionGrouping<TOption, unknown> | undefined>;
372
387
  /**
373
388
  * @deprecated use groupingSignal
374
389
  */
@@ -383,7 +398,7 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
383
398
  readonly nextPage$: Subject<void>;
384
399
  nextPage: _angular_core.OutputRef<void>;
385
400
  readonly addOption: _angular_core.OutputEmitterRef<string>;
386
- readonly valueSignal: _angular_core.WritableSignal<TValue>;
401
+ readonly valueSignal: _angular_core.WritableSignal<TValue | null>;
387
402
  readonly isFilterPillEmpty: Signal<boolean>;
388
403
  readonly isFilterPillClearable: Signal<boolean>;
389
404
  get value(): TValue | null;
@@ -396,8 +411,8 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
396
411
  readonly dataSourceOptions: Signal<readonly TOption[]>;
397
412
  clue: string | null;
398
413
  lastEmittedClue: string;
399
- readonly clue$: rxjs.Observable<string>;
400
- readonly shouldDisplayAddOption: Signal<boolean>;
414
+ readonly clue$: rxjs.Observable<string | null>;
415
+ readonly shouldDisplayAddOption: Signal<boolean | undefined>;
401
416
  protected onChange?: (value: TValue | null) => void;
402
417
  protected onTouched?: () => void;
403
418
  get panelRef(): LuSelectPanelRef<TOption, TValue> | undefined;
@@ -453,7 +468,7 @@ declare class TreeDisplayPipe<T> implements PipeTransform {
453
468
 
454
469
  declare class LuDisplayerDirective<TOption, TValue> {
455
470
  private templateRef;
456
- readonly select: _angular_core.InputSignal<ALuSelectInputComponent<TOption, TValue>>;
471
+ readonly select: _angular_core.InputSignal<ALuSelectInputComponent<TOption, TValue> | undefined>;
457
472
  constructor(templateRef: TemplateRef<LuOptionContext<TOption>>);
458
473
  static ngTemplateContextGuard<TOption, TValue>(_dir: LuDisplayerDirective<TOption, TValue>, _ctx: unknown): _ctx is LuOptionContext<TOption>;
459
474
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuDisplayerDirective<any, any>, never>;
@@ -483,7 +498,7 @@ declare class LuSimpleSelectDefaultOptionComponent {
483
498
  }
484
499
 
485
500
  declare class LuDisabledOptionDirective {
486
- readonly isDisabled: _angular_core.InputSignal<boolean>;
501
+ readonly isDisabled: _angular_core.InputSignal<boolean | undefined>;
487
502
  private context;
488
503
  constructor();
489
504
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuDisabledOptionDirective, never>;
@@ -512,8 +527,8 @@ declare class LuOptionGroupPipe<T, TGroup> implements PipeTransform {
512
527
  }
513
528
 
514
529
  declare class LuOptionOutletDirective<T> implements OnDestroy {
515
- readonly luOptionOutlet: _angular_core.InputSignal<Type<unknown> | TemplateRef<LuOptionContext<T>>>;
516
- readonly luOptionOutletValue: _angular_core.InputSignal<T>;
530
+ readonly luOptionOutlet: _angular_core.InputSignal<Type<unknown> | TemplateRef<LuOptionContext<T>> | undefined>;
531
+ readonly luOptionOutletValue: _angular_core.InputSignal<T | undefined>;
517
532
  readonly luOptionShowNull: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
518
533
  private viewContainerRef;
519
534
  private injector;
@@ -537,29 +552,29 @@ declare class LuOptionComponent<T> implements OnInit {
537
552
  #private;
538
553
  protected selectableItem: CoreSelectPanelElement<any>;
539
554
  readonly intl: _angular_core.InputSignalWithTransform<OptionTranslate, Partial<OptionTranslate>>;
540
- readonly optionTpl: _angular_core.InputSignal<Type<unknown> | TemplateRef<LuOptionContext<T>>>;
541
- readonly option: _angular_core.InputSignal<T>;
542
- readonly grouping: _angular_core.InputSignal<LuOptionGrouping<T, unknown>>;
555
+ readonly optionTpl: _angular_core.InputSignal<Type<unknown> | TemplateRef<LuOptionContext<T>> | undefined>;
556
+ readonly option: _angular_core.InputSignal<T | undefined>;
557
+ readonly grouping: _angular_core.InputSignal<LuOptionGrouping<T, unknown> | undefined>;
543
558
  readonly hasChildren: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
544
559
  readonly onlyParent: _angular_core.OutputEmitterRef<void>;
545
560
  readonly onlyChildren: _angular_core.OutputEmitterRef<void>;
546
- readonly groupIndex: _angular_core.InputSignalWithTransform<number, number | `${number}` | "undefined">;
561
+ readonly groupIndex: _angular_core.InputSignalWithTransform<number | undefined, number | `${number}` | "undefined" | undefined>;
547
562
  readonly optionIndex: _angular_core.InputSignalWithTransform<string, string | number>;
548
563
  readonly scrollIntoViewOptions: _angular_core.InputSignal<ScrollIntoViewOptions>;
549
- readonly groupTemplateLocation: _angular_core.InputSignal<GroupTemplateLocation>;
564
+ readonly groupTemplateLocation: _angular_core.InputSignal<GroupTemplateLocation | undefined>;
550
565
  /**
551
566
  * Present only when the consumer projects nested `[treeitem]` content (tree selects).
552
567
  * Detected here — and not on the inner `lu-listbox-option` — because Angular content
553
568
  * queries do not traverse the `ng-content` re-projection boundary.
554
569
  */
555
- readonly treeitemContent: _angular_core.Signal<Treeitem>;
570
+ readonly treeitemContent: _angular_core.Signal<Treeitem | undefined>;
556
571
  /**
557
572
  * Depth this option sits at, handed to the listbox option that wraps the projected
558
573
  * `[treeitem]` children: option indentation is absolute, so the stylesheet cannot work out a
559
574
  * depth it has no rule for, and every level below its deepest one would share an indentation.
560
575
  */
561
576
  readonly level: number;
562
- readonly optionContext: _angular_core.Signal<_lucca_front_ng_core_select.ILuOptionContext<unknown>>;
577
+ readonly optionContext: _angular_core.Signal<_lucca_front_ng_core_select.ILuOptionContext<unknown> | undefined>;
563
578
  private cdr;
564
579
  get id(): string;
565
580
  protected elementRef: ElementRef<HTMLElement>;
@@ -573,7 +588,7 @@ declare class LuOptionComponent<T> implements OnInit {
573
588
 
574
589
  declare class LuOptionDirective<TOption, TValue> {
575
590
  private templateRef;
576
- readonly select: _angular_core.InputSignal<ALuSelectInputComponent<TOption, TValue>>;
591
+ readonly select: _angular_core.InputSignal<ALuSelectInputComponent<TOption, TValue> | undefined>;
577
592
  constructor(templateRef: TemplateRef<LuOptionContext<TOption>>);
578
593
  static ngTemplateContextGuard<TOption, TValue>(_dir: LuOptionDirective<TOption, TValue>, _ctx: unknown): _ctx is LuOptionContext<TOption>;
579
594
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuOptionDirective<any, any>, never>;
@@ -589,5 +604,5 @@ declare class LuIsOptionSelectedPipe<T> implements PipeTransform {
589
604
  static ɵpipe: _angular_core.ɵɵPipeDeclaration<LuIsOptionSelectedPipe<any>, "luIsOptionSelected", true>;
590
605
  }
591
606
 
592
- export { ALuSelectInputComponent, CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectKeyManager, LU_CORE_SELECT_TRANSLATIONS, LU_OPTION_CONTEXT, LuCoreSelectNoClueDirective, LuCoreSelectPanelHeaderDirective, LuCoreSelectTotalCountDirective, LuDisabledOptionDirective, LuDisplayerDirective, LuIsOptionSelectedPipe, LuOptionDirective, LuOptionGroupDirective, LuSelectPanelLayoutComponent, LuSelectPanelRef, LuSimpleSelectDefaultOptionComponent, SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID, SELECT_PANEL_INSTANCE, TreeDisplayPipe, addAttributesOnCdkContainer, applySearchDelimiter, coreSelectDefaultOptionComparer, coreSelectDefaultOptionKey, luCoreSelectTranslations, provideLuSelectLabelsAndIds, provideOptionContext, CoreSelectPanelElement as ɵCoreSelectPanelElement, ɵIsSelectedStrategy, LuOptionComponent as ɵLuOptionComponent, LuOptionGroupPipe as ɵLuOptionGroupPipe, LuOptionOutletDirective as ɵLuOptionOutletDirective, fillScrollViewport as ɵfillScrollViewport, generateGroups as ɵgenerateGroups, getGroupTemplateLocation as ɵgetGroupTemplateLocation, injectPointerNavigation as ɵinjectPointerNavigation, openSelectPanelSheet as ɵopenSelectPanelSheet, scrollIntoViewOnceReady as ɵscrollIntoViewOnceReady };
607
+ export { ALuSelectInputComponent, CORE_SELECT_API_TOTAL_COUNT_PROVIDER, CoreSelectKeyManager, LU_CORE_SELECT_TRANSLATIONS, LU_OPTION_CONTEXT, LuCoreSelectNoClueDirective, LuCoreSelectPanelHeaderDirective, LuCoreSelectTotalCountDirective, LuDisabledOptionDirective, LuDisplayerDirective, LuIsOptionSelectedPipe, LuOptionDirective, LuOptionGroupDirective, LuSelectPanelLayoutComponent, LuSelectPanelRef, LuSimpleSelectDefaultOptionComponent, SELECT_ID, SELECT_LABEL, SELECT_LABEL_ID, SELECT_PANEL_INSTANCE, SELECT_RESPONSIVE_DIALOG, TreeDisplayPipe, addAttributesOnCdkContainer, applySearchDelimiter, coreSelectDefaultOptionComparer, coreSelectDefaultOptionKey, luCoreSelectTranslations, provideLuSelectLabelsAndIds, provideOptionContext, CoreSelectPanelElement as ɵCoreSelectPanelElement, ɵIsSelectedStrategy, LuOptionComponent as ɵLuOptionComponent, LuOptionGroupPipe as ɵLuOptionGroupPipe, LuOptionOutletDirective as ɵLuOptionOutletDirective, fillScrollViewport as ɵfillScrollViewport, generateGroups as ɵgenerateGroups, getGroupTemplateLocation as ɵgetGroupTemplateLocation, injectPointerNavigation as ɵinjectPointerNavigation, openSelectPanelSheet as ɵopenSelectPanelSheet, scrollIntoViewOnceReady as ɵscrollIntoViewOnceReady };
593
608
  export type { CoreSelectAddOptionStrategy, CoreSelectApiTotalCountProvider, CoreSelectPanelInstance, ILuOptionContext, LuCoreSelectLabel, LuOptionComparer, LuOptionContext, LuOptionGroup, LuOptionGroupByContext, LuOptionGrouping, SelectDataSource, SelectDataSourceParams, TreeGenerator, TreeGroupingFn, TreeNode };
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { PipeTransform, InjectionToken, TemplateRef, Type, OnDestroy, Signal, input, EffectCleanupRegisterFn, CreateEffectOptions, EffectRef, InputOptionsWithTransform } from '@angular/core';
3
+ export { DecorativePalette, LU_RANDOM, PrClass as LuClass, Palette, ProductPalette } from '@lucca/prisme/core';
3
4
  import { UrlTree, ActivatedRoute, Params } from '@angular/router';
4
- export { DecorativePalette, PrClass as LuClass, Palette, ProductPalette } from '@lucca/prisme/core';
5
5
 
6
6
  /**
7
7
  * Extracts the values of an enum as a union type.
@@ -44,7 +44,7 @@ declare const defaultBreakpoints: {
44
44
  };
45
45
  type ResponsiveConfig<T extends string, V> = Partial<Record<ResponsiveProperty<T>, V>>;
46
46
  type ResponsiveProperty<T extends string> = `${T}At${Capitalize<At>}Min${Breakpoint}`;
47
- declare function injectMediaMinBreakpoint(breakpoint: Breakpoint, reversed?: boolean): i0.Signal<boolean>;
47
+ declare function injectMediaMinBreakpoint(breakpoint: Breakpoint, reversed?: boolean): i0.Signal<boolean | undefined>;
48
48
 
49
49
  declare enum ELuDateGranularity {
50
50
  day = "day",
@@ -116,7 +116,7 @@ declare class LuNativeDateAdapter extends ALuDateAdapter<Date> implements ILuDat
116
116
  getDay(d: Date): number;
117
117
  add(d: Date, count: number, granularity: LuDateGranularity): Date;
118
118
  static ɵfac: i0.ɵɵFactoryDeclaration<LuNativeDateAdapter, [null, { optional: true; }]>;
119
- static ɵprov: i0.ɵɵInjectableDeclaration<LuNativeDateAdapter>;
119
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
120
120
  }
121
121
 
122
122
  /** bind to a string with iso 26001 format YYYY-MM-DD */
@@ -141,7 +141,7 @@ declare class LuStringDateAdapter extends ALuDateAdapter<string> implements ILuD
141
141
  protected stringToDate(s: string): Date;
142
142
  protected dateToString(d: Date | undefined): string | undefined;
143
143
  static ɵfac: i0.ɵɵFactoryDeclaration<LuStringDateAdapter, never>;
144
- static ɵprov: i0.ɵɵInjectableDeclaration<LuStringDateAdapter>;
144
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
145
145
  }
146
146
 
147
147
  interface ILuOnCloseSubscriber {
@@ -207,7 +207,7 @@ declare class PortalDirective<T extends object = object> implements OnDestroy {
207
207
  private templateRef;
208
208
  private injector;
209
209
  readonly luPortal: i0.InputSignal<PortalContent<T>>;
210
- readonly luPortalContext: i0.InputSignal<T>;
210
+ readonly luPortalContext: i0.InputSignal<T | null>;
211
211
  private createdTextElement;
212
212
  private embeddedViewRef?;
213
213
  private componentRef?;
@@ -4,27 +4,27 @@ import { AfterContentInit, ElementRef, OnInit, InjectionToken } from '@angular/c
4
4
  import { PortalContent, LuTranslation } from '@lucca-front/ng/core';
5
5
 
6
6
  declare class DataTableBodyComponent {
7
- readonly group: _angular_core.InputSignal<PortalContent>;
8
- readonly groupButtonAlt: _angular_core.InputSignal<string>;
7
+ readonly group: _angular_core.InputSignal<PortalContent | null>;
8
+ readonly groupButtonAlt: _angular_core.InputSignal<string | null>;
9
9
  readonly expanded: _angular_core.ModelSignal<boolean>;
10
10
  expandedToggle(): void;
11
- protected tableRef: _lucca_front_ng_data_table.DataTableComponent;
11
+ protected tableRef: _lucca_front_ng_data_table.DataTableComponent | null;
12
12
  readonly colspan: _angular_core.Signal<number>;
13
13
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataTableBodyComponent, never>;
14
14
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataTableBodyComponent, "tbody[luDataTableBody]", never, { "group": { "alias": "group"; "required": false; "isSignal": true; }; "groupButtonAlt": { "alias": "groupButtonAlt"; "required": false; "isSignal": true; }; "expanded": { "alias": "expanded"; "required": false; "isSignal": true; }; }, { "expanded": "expandedChange"; }, never, ["*"], true, never>;
15
15
  }
16
16
 
17
17
  declare abstract class BaseDataTableCell {
18
- readonly tableRef: _lucca_front_ng_data_table.DataTableComponent;
19
- readonly bodyRef: _lucca_front_ng_data_table.DataTableBodyComponent;
20
- readonly headRef: _lucca_front_ng_data_table.DataTableHeadComponent;
21
- readonly footRef: _lucca_front_ng_data_table.DataTableFootComponent;
22
- readonly rowRef: _lucca_front_ng_data_table.DataTableRowComponent;
18
+ readonly tableRef: _lucca_front_ng_data_table.DataTableComponent | null;
19
+ readonly bodyRef: _lucca_front_ng_data_table.DataTableBodyComponent | null;
20
+ readonly headRef: _lucca_front_ng_data_table.DataTableHeadComponent | null;
21
+ readonly footRef: _lucca_front_ng_data_table.DataTableFootComponent | null;
22
+ readonly rowRef: _lucca_front_ng_data_table.DataTableRowComponent | null;
23
23
  readonly editable: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
24
- readonly align: _angular_core.InputSignal<"start" | "center" | "end">;
25
- readonly isStickyStart: _angular_core.Signal<boolean>;
26
- readonly isStickyEnd: _angular_core.Signal<boolean>;
27
- readonly position: _angular_core.Signal<number>;
24
+ readonly align: _angular_core.InputSignal<"start" | "center" | "end" | null>;
25
+ readonly isStickyStart: _angular_core.Signal<boolean | undefined>;
26
+ readonly isStickyEnd: _angular_core.Signal<boolean | undefined>;
27
+ readonly position: _angular_core.Signal<number | undefined>;
28
28
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BaseDataTableCell, never>;
29
29
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BaseDataTableCell, "lu-base-data-table-cell", never, { "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
30
30
  }
@@ -32,26 +32,28 @@ declare abstract class BaseDataTableCell {
32
32
  declare class DataTableRowCellHeaderComponent extends BaseDataTableCell implements AfterContentInit {
33
33
  #private;
34
34
  readonly elementRef: ElementRef<HTMLTableCellElement>;
35
- readonly sort: _angular_core.ModelSignal<"none" | "ascending" | "descending">;
36
- readonly fixedWidth: _angular_core.InputSignal<string>;
37
- readonly inlineSize: _angular_core.InputSignal<string>;
35
+ readonly sort: _angular_core.InputSignal<"none" | "ascending" | "descending" | null>;
36
+ readonly sortChange: _angular_core.OutputEmitterRef<"none" | "ascending" | "descending">;
37
+ protected readonly currentSort: _angular_core.WritableSignal<"none" | "ascending" | "descending" | null>;
38
+ readonly fixedWidth: _angular_core.InputSignal<string | null>;
39
+ readonly inlineSize: _angular_core.InputSignal<string | null>;
38
40
  readonly sortWithEllipsis: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
39
- protected readonly sortButtonRef: _angular_core.Signal<ElementRef<HTMLElement>>;
41
+ protected readonly sortButtonRef: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
40
42
  readonly insetInlineStart: _angular_core.Signal<string>;
41
43
  readonly insetInlineEnd: _angular_core.Signal<string>;
42
- readonly inlineSizePx: _angular_core.Signal<number>;
44
+ readonly inlineSizePx: _angular_core.Signal<number | undefined>;
43
45
  ngAfterContentInit(): void;
44
46
  toggleSort(): void;
45
47
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataTableRowCellHeaderComponent, never>;
46
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataTableRowCellHeaderComponent, "th[luDataTableCell]", never, { "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "fixedWidth": { "alias": "fixedWidth"; "required": false; "isSignal": true; }; "inlineSize": { "alias": "inlineSize"; "required": false; "isSignal": true; }; "sortWithEllipsis": { "alias": "sortWithEllipsis"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; }, never, ["*"], true, never>;
48
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataTableRowCellHeaderComponent, "th[luDataTableCell]", never, { "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "fixedWidth": { "alias": "fixedWidth"; "required": false; "isSignal": true; }; "inlineSize": { "alias": "inlineSize"; "required": false; "isSignal": true; }; "sortWithEllipsis": { "alias": "sortWithEllipsis"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; }, never, ["*"], true, never>;
47
49
  }
48
50
 
49
51
  declare class DataTableRowCellComponent extends BaseDataTableCell {
50
52
  readonly actions: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
51
- readonly isSticky: _angular_core.Signal<boolean>;
52
- readonly alignCol: _angular_core.Signal<"start" | "center" | "end">;
53
- readonly insetInlineStart: _angular_core.Signal<string>;
54
- readonly insetInlineEnd: _angular_core.Signal<string>;
53
+ readonly isSticky: _angular_core.Signal<boolean | undefined>;
54
+ readonly alignCol: _angular_core.Signal<"start" | "center" | "end" | null | undefined>;
55
+ readonly insetInlineStart: _angular_core.Signal<string | null | undefined>;
56
+ readonly insetInlineEnd: _angular_core.Signal<string | null | undefined>;
55
57
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataTableRowCellComponent, never>;
56
58
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataTableRowCellComponent, "td[luDataTableCell]", never, { "actions": { "alias": "actions"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
57
59
  }
@@ -72,14 +74,14 @@ declare class DataTableHeadComponent {
72
74
 
73
75
  declare class DataTableRowComponent {
74
76
  readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_data_table.LuDataTableTranslations, Partial<_lucca_front_ng_data_table.LuDataTableTranslations>>;
75
- readonly bodyRef: _lucca_front_ng_data_table.DataTableBodyComponent;
76
- readonly headRef: _lucca_front_ng_data_table.DataTableHeadComponent;
77
- readonly footRef: _lucca_front_ng_data_table.DataTableFootComponent;
77
+ readonly bodyRef: _lucca_front_ng_data_table.DataTableBodyComponent | null;
78
+ readonly headRef: _lucca_front_ng_data_table.DataTableHeadComponent | null;
79
+ readonly footRef: _lucca_front_ng_data_table.DataTableFootComponent | null;
78
80
  readonly elementRef: ElementRef<Element>;
79
81
  readonly cells: _angular_core.Signal<readonly BaseDataTableCell[]>;
80
- protected tableRef: _lucca_front_ng_data_table.DataTableComponent;
82
+ protected tableRef: _lucca_front_ng_data_table.DataTableComponent | null;
81
83
  readonly selected: _angular_core.ModelSignal<boolean>;
82
- readonly selectedLabel: _angular_core.InputSignal<string>;
84
+ readonly selectedLabel: _angular_core.InputSignal<string | null>;
83
85
  readonly mixed: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
84
86
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
85
87
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataTableRowComponent, never>;
@@ -88,7 +90,10 @@ declare class DataTableRowComponent {
88
90
 
89
91
  declare class DataTableComponent implements OnInit {
90
92
  #private;
91
- readonly tableRef: _angular_core.Signal<ElementRef<Element>>;
93
+ readonly tableRef: _angular_core.Signal<ElementRef<Element> | undefined>;
94
+ /**
95
+ * @deprecated No replacement: rows without an action should not have a hover effect.
96
+ */
92
97
  readonly hover: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
93
98
  readonly selectable: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
94
99
  readonly layoutFixed: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
@@ -98,10 +103,10 @@ declare class DataTableComponent implements OnInit {
98
103
  readonly noOverflow: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
99
104
  readonly empty: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
100
105
  readonly responsive: _angular_core.InputSignal<Partial<Record<"layoutFixedAtMediaMinXXXS" | "layoutFixedAtMediaMinXXS" | "layoutFixedAtMediaMinXS" | "layoutFixedAtMediaMinS" | "layoutFixedAtMediaMinM" | "layoutFixedAtMediaMinL" | "layoutFixedAtMediaMinXL" | "layoutFixedAtMediaMinXXL" | "layoutFixedAtMediaMinXXXL" | "layoutFixedAtContainerMinXXXS" | "layoutFixedAtContainerMinXXS" | "layoutFixedAtContainerMinXS" | "layoutFixedAtContainerMinS" | "layoutFixedAtContainerMinM" | "layoutFixedAtContainerMinL" | "layoutFixedAtContainerMinXL" | "layoutFixedAtContainerMinXXL" | "layoutFixedAtContainerMinXXXL", true>>>;
101
- readonly verticalAlign: _angular_core.InputSignal<"top" | "middle" | "bottom">;
106
+ readonly verticalAlign: _angular_core.InputSignal<"top" | "middle" | "bottom" | null>;
102
107
  readonly rows: _angular_core.Signal<readonly DataTableRowComponent[]>;
103
- readonly header: _angular_core.Signal<DataTableHeadComponent>;
104
- readonly stickyHeader: _angular_core.Signal<boolean>;
108
+ readonly header: _angular_core.Signal<DataTableHeadComponent | undefined>;
109
+ readonly stickyHeader: _angular_core.Signal<boolean | undefined>;
105
110
  readonly stickyColsStart: _angular_core.InputSignalWithTransform<number, number | `${number}`>;
106
111
  readonly stickyColsEnd: _angular_core.InputSignalWithTransform<number, number | `${number}`>;
107
112
  readonly firstColumnVisibleAfterColsStart: _angular_core.WritableSignal<boolean>;
@@ -110,10 +115,10 @@ declare class DataTableComponent implements OnInit {
110
115
  readonly lastColumnVisible: _angular_core.WritableSignal<boolean>;
111
116
  readonly firstRowVisible: _angular_core.WritableSignal<boolean>;
112
117
  readonly lastRowVisible: _angular_core.WritableSignal<boolean>;
113
- readonly cols: _angular_core.Signal<readonly _lucca_front_ng_data_table.DataTableRowCellHeaderComponent[]>;
118
+ readonly cols: _angular_core.Signal<readonly _lucca_front_ng_data_table.DataTableRowCellHeaderComponent[] | undefined>;
114
119
  readonly classMods: _angular_core.Signal<{
115
120
  dataTable: boolean;
116
- "mod-stickyHeader": boolean;
121
+ "mod-stickyHeader": boolean | undefined;
117
122
  "mod-hover": boolean;
118
123
  "mod-cellBorder": boolean;
119
124
  "mod-verticalAlignTop": boolean;
@@ -76,7 +76,7 @@ declare class LuCalendarItemFactory<D> {
76
76
  forgeYear(d: D, format?: string): YearItem<D>;
77
77
  forgeDecade(d: D, format?: string): DecadeItem<D>;
78
78
  static ɵfac: i0.ɵɵFactoryDeclaration<LuCalendarItemFactory<any>, never>;
79
- static ɵprov: i0.ɵɵInjectableDeclaration<LuCalendarItemFactory<any>>;
79
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
80
80
  }
81
81
 
82
82
  declare class LuCalendarInputComponent<D> extends ALuInput<D> implements ControlValueAccessor, OnInit, Validator {
@@ -84,10 +84,10 @@ declare class LuCalendarInputComponent<D> extends ALuInput<D> implements Control
84
84
  private _factory;
85
85
  private _adapter;
86
86
  readonly intl: i0.InputSignalWithTransform<_lucca_front_ng_date.LuCalendarInputLabel, Partial<_lucca_front_ng_date.LuCalendarInputLabel>>;
87
- readonly min: i0.InputSignal<D>;
88
- readonly max: i0.InputSignal<D>;
87
+ readonly min: i0.InputSignal<D | undefined>;
88
+ readonly max: i0.InputSignal<D | undefined>;
89
89
  readonly granularity: i0.InputSignal<string>;
90
- readonly startOn: i0.InputSignal<D>;
90
+ readonly startOn: i0.InputSignal<D | undefined>;
91
91
  viewGranularity: LuDateGranularity;
92
92
  header: ICalendarItem<D>;
93
93
  items: ICalendarItem<D>[];
@@ -132,10 +132,10 @@ declare const luCalendarInputTranslations: LuTranslation<LuCalendarInputLabel>;
132
132
  declare class LuDatePickerComponent<D = Date> extends ALuPickerPanel<D> {
133
133
  private _adapter;
134
134
  _value: D;
135
- readonly min: i0.InputSignal<D>;
136
- readonly max: i0.InputSignal<D>;
135
+ readonly min: i0.InputSignal<D | undefined>;
136
+ readonly max: i0.InputSignal<D | undefined>;
137
137
  readonly granularity: i0.InputSignal<string>;
138
- readonly startOn: i0.InputSignal<D>;
138
+ readonly startOn: i0.InputSignal<D | undefined>;
139
139
  close: EventEmitter<void>;
140
140
  open: EventEmitter<void>;
141
141
  hovered: EventEmitter<boolean>;
@@ -162,8 +162,8 @@ declare class LuDatePickerComponent<D = Date> extends ALuPickerPanel<D> {
162
162
  declare class LuDateInputDirective<D> extends ALuInput<D, HTMLInputElement> implements Validator {
163
163
  private _adapter;
164
164
  private _focused;
165
- readonly min: i0.InputSignal<D>;
166
- readonly max: i0.InputSignal<D>;
165
+ readonly min: i0.InputSignal<D | undefined>;
166
+ readonly max: i0.InputSignal<D | undefined>;
167
167
  readonly granularity: i0.InputSignal<string>;
168
168
  readonly placeHolderInput: i0.InputSignal<string>;
169
169
  set placeholder(p: string);
@@ -186,11 +186,11 @@ declare class LuDateSelectInputComponent<D> extends ALuSelectInputComponent<D> i
186
186
  protected _viewContainerRef: ViewContainerRef;
187
187
  protected _renderer: Renderer2;
188
188
  private _adapter;
189
- readonly min: i0.InputSignal<D>;
190
- readonly max: i0.InputSignal<D>;
189
+ readonly min: i0.InputSignal<D | undefined>;
190
+ readonly max: i0.InputSignal<D | undefined>;
191
191
  readonly granularity: i0.InputSignal<string>;
192
192
  readonly hideClearer: i0.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
193
- readonly startOn: i0.InputSignal<D>;
193
+ readonly startOn: i0.InputSignal<D | undefined>;
194
194
  protected _startOn: D;
195
195
  get format(): string;
196
196
  constructor(_changeDetectorRef: ChangeDetectorRef, _overlay: Overlay, _elementRef: ElementRef<HTMLElement>, _viewContainerRef: ViewContainerRef, _renderer: Renderer2, _adapter: ALuDateAdapter<D>);
@@ -226,7 +226,7 @@ declare class LuHumanizeDateFormatter {
226
226
  #private;
227
227
  format(relativeTime: LuRelativeTime): string;
228
228
  static ɵfac: i0.ɵɵFactoryDeclaration<LuHumanizeDateFormatter, never>;
229
- static ɵprov: i0.ɵɵInjectableDeclaration<LuHumanizeDateFormatter>;
229
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
230
230
  }
231
231
 
232
232
  declare class LuHumanizeDatePipe implements PipeTransform {