@lucca-front/ng 22.1.0-rc.3 → 22.1.0

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 (175) 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 +12 -12
  4. package/fesm2022/lucca-front-ng-api.mjs +40 -40
  5. package/fesm2022/lucca-front-ng-app-layout.mjs +3 -3
  6. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +37 -36
  7. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-box.mjs +3 -3
  9. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +6 -6
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs +12 -7
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +3 -3
  13. package/fesm2022/lucca-front-ng-callout.mjs +24 -24
  14. package/fesm2022/lucca-front-ng-chip.mjs +4 -4
  15. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-clear.mjs +4 -4
  17. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-code.mjs +3 -3
  19. package/fesm2022/lucca-front-ng-color.mjs +3 -3
  20. package/fesm2022/lucca-front-ng-comment.mjs +12 -12
  21. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-container.mjs +3 -3
  23. package/fesm2022/lucca-front-ng-core-select-api.mjs +9 -9
  24. package/fesm2022/lucca-front-ng-core-select-department.mjs +6 -6
  25. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +9 -9
  26. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +6 -6
  27. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +8 -8
  28. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +3 -3
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs +20 -20
  31. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select.mjs +73 -58
  33. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core.mjs +19 -19
  35. package/fesm2022/lucca-front-ng-data-table.mjs +40 -32
  36. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-date.mjs +40 -40
  38. package/fesm2022/lucca-front-ng-date2.mjs +44 -36
  39. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-department.mjs +24 -24
  41. package/fesm2022/lucca-front-ng-dialog.mjs +55 -48
  42. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-divider.mjs +3 -3
  44. package/fesm2022/lucca-front-ng-dropdown.mjs +42 -42
  45. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-empty-state.mjs +9 -9
  47. package/fesm2022/lucca-front-ng-error-page.mjs +3 -3
  48. package/fesm2022/lucca-front-ng-establishment.mjs +33 -33
  49. package/fesm2022/lucca-front-ng-fancy-box.mjs +3 -3
  50. package/fesm2022/lucca-front-ng-file-upload.mjs +33 -26
  51. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-filter-pills-core.mjs +6 -6
  53. package/fesm2022/lucca-front-ng-filter-pills.mjs +90 -21
  54. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-footer.mjs +3 -3
  56. package/fesm2022/lucca-front-ng-form-field.mjs +18 -18
  57. package/fesm2022/lucca-front-ng-form-header.mjs +3 -3
  58. package/fesm2022/lucca-front-ng-form-label.mjs +3 -3
  59. package/fesm2022/lucca-front-ng-form.mjs +3 -3
  60. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  61. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +6 -6
  62. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  63. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  64. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  65. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +35 -35
  66. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-forms.mjs +68 -48
  68. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-gauge.mjs +3 -3
  70. package/fesm2022/lucca-front-ng-grid.mjs +6 -6
  71. package/fesm2022/lucca-front-ng-highlight-data.mjs +3 -3
  72. package/fesm2022/lucca-front-ng-highlight-section.mjs +3 -3
  73. package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
  74. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +9 -9
  75. package/fesm2022/lucca-front-ng-impersonation.mjs +3 -3
  76. package/fesm2022/lucca-front-ng-index-table.mjs +44 -38
  77. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-inline-message.mjs +3 -3
  79. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  80. package/fesm2022/lucca-front-ng-kbd.mjs +306 -0
  81. package/fesm2022/lucca-front-ng-kbd.mjs.map +1 -0
  82. package/fesm2022/lucca-front-ng-link.mjs +6 -6
  83. package/fesm2022/lucca-front-ng-listbox.mjs +13 -10
  84. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-listing.mjs +6 -6
  86. package/fesm2022/lucca-front-ng-loading.mjs +51 -10
  87. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-main-layout.mjs +6 -6
  89. package/fesm2022/lucca-front-ng-markdown.mjs +3 -3
  90. package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
  91. package/fesm2022/lucca-front-ng-modal.mjs +22 -22
  92. package/fesm2022/lucca-front-ng-multi-select.mjs +38 -38
  93. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  96. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  97. package/fesm2022/lucca-front-ng-option.mjs +130 -130
  98. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-page-header.mjs +3 -3
  100. package/fesm2022/lucca-front-ng-pagination.mjs +3 -3
  101. package/fesm2022/lucca-front-ng-plg-push.mjs +3 -3
  102. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  103. package/fesm2022/lucca-front-ng-popover2.mjs +54 -21
  104. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  106. package/fesm2022/lucca-front-ng-priority-levels.mjs +3 -3
  107. package/fesm2022/lucca-front-ng-progress-bar.mjs +3 -3
  108. package/fesm2022/lucca-front-ng-progress-stepper.mjs +6 -6
  109. package/fesm2022/lucca-front-ng-read-more.mjs +6 -6
  110. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-resource-card.mjs +12 -12
  112. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  113. package/fesm2022/lucca-front-ng-scroll-box.mjs +4 -4
  114. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-scroll.mjs +9 -10
  116. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +6 -6
  118. package/fesm2022/lucca-front-ng-segmented-control.mjs +6 -6
  119. package/fesm2022/lucca-front-ng-select.mjs +14 -14
  120. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  121. package/fesm2022/lucca-front-ng-simple-select.mjs +14 -14
  122. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +6 -6
  124. package/fesm2022/lucca-front-ng-software-icon.mjs +3 -3
  125. package/fesm2022/lucca-front-ng-sortable-list.mjs +6 -6
  126. package/fesm2022/lucca-front-ng-status-badge.mjs +3 -3
  127. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  128. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  129. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  130. package/fesm2022/lucca-front-ng-time.mjs +18 -18
  131. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  132. package/fesm2022/lucca-front-ng-toast.mjs +10 -10
  133. package/fesm2022/lucca-front-ng-tree-select.mjs +6 -6
  134. package/fesm2022/lucca-front-ng-user-popover.mjs +24 -30
  135. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  136. package/fesm2022/lucca-front-ng-user.mjs +59 -59
  137. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +12 -12
  138. package/package.json +16 -6
  139. package/schematics/lib/local-deps/package-lock.json +7 -7
  140. package/schematics/lib/local-deps/package.json +1 -1
  141. package/src/definitions/option/_option-item.scss +7 -4
  142. package/types/lucca-front-ng-a11y.d.ts +1 -1
  143. package/types/lucca-front-ng-api.d.ts +3 -3
  144. package/types/lucca-front-ng-approbation-inbox.d.ts +3 -3
  145. package/types/lucca-front-ng-bubble-icon.d.ts +4 -1
  146. package/types/lucca-front-ng-chip.d.ts +1 -1
  147. package/types/lucca-front-ng-clear.d.ts +1 -1
  148. package/types/lucca-front-ng-comment.d.ts +3 -3
  149. package/types/lucca-front-ng-core-select-establishment.d.ts +1 -1
  150. package/types/lucca-front-ng-core-select.d.ts +18 -3
  151. package/types/lucca-front-ng-core.d.ts +3 -3
  152. package/types/lucca-front-ng-data-table.d.ts +7 -2
  153. package/types/lucca-front-ng-date.d.ts +2 -2
  154. package/types/lucca-front-ng-date2.d.ts +15 -16
  155. package/types/lucca-front-ng-department.d.ts +2 -2
  156. package/types/lucca-front-ng-dialog.d.ts +1 -1
  157. package/types/lucca-front-ng-establishment.d.ts +2 -2
  158. package/types/lucca-front-ng-file-upload.d.ts +8 -2
  159. package/types/lucca-front-ng-filter-pills.d.ts +11 -2
  160. package/types/lucca-front-ng-forms.d.ts +13 -3
  161. package/types/lucca-front-ng-index-table.d.ts +4 -2
  162. package/types/lucca-front-ng-kbd.d.ts +59 -0
  163. package/types/lucca-front-ng-listbox.d.ts +1 -0
  164. package/types/lucca-front-ng-loading.d.ts +16 -4
  165. package/types/lucca-front-ng-modal.d.ts +2 -2
  166. package/types/lucca-front-ng-multi-select.d.ts +1 -1
  167. package/types/lucca-front-ng-popover2.d.ts +1 -0
  168. package/types/lucca-front-ng-popup.d.ts +2 -2
  169. package/types/lucca-front-ng-read-more.d.ts +2 -2
  170. package/types/lucca-front-ng-sidepanel.d.ts +1 -1
  171. package/types/lucca-front-ng-simple-select.d.ts +1 -1
  172. package/types/lucca-front-ng-title.d.ts +2 -2
  173. package/types/lucca-front-ng-toast.d.ts +1 -1
  174. package/types/lucca-front-ng-user-popover.d.ts +1 -6
  175. package/types/lucca-front-ng-user.d.ts +2 -2
@@ -13,7 +13,7 @@
13
13
  "devDependencies": {
14
14
  "postcss": "8.5.26",
15
15
  "postcss-scss": "4.0.9",
16
- "postcss-selector-parser": "7.1.0",
16
+ "postcss-selector-parser": "7.1.6",
17
17
  "postcss-value-parser": "4.2.0"
18
18
  },
19
19
  "volta": {
@@ -76,7 +76,8 @@
76
76
  border-end-end-radius: var(--pr-t-border-radius-default);
77
77
  }
78
78
 
79
- :host-context(.optionItem.is-highlighted) & {
79
+ &:hover,
80
+ &.is-highlighted {
80
81
  background-color: var(--palettes-100, var(--palettes-product-100));
81
82
  }
82
83
 
@@ -85,7 +86,8 @@
85
86
  }
86
87
  }
87
88
 
88
- :host-context(.optionItem.is-highlighted) & {
89
+ &:hover,
90
+ &.is-highlighted {
89
91
  background-color: var(--palettes-neutral-50);
90
92
  }
91
93
 
@@ -105,7 +107,7 @@
105
107
 
106
108
  @layer mods {
107
109
  &:hover,
108
- :host-context(.optionItem.is-highlighted) & {
110
+ &.is-highlighted {
109
111
  background-color: inherit;
110
112
  }
111
113
  }
@@ -180,7 +182,8 @@
180
182
  --components-options-checkbox-border-color: var(--palettes-neutral-500); // disabled token candidate
181
183
  }
182
184
 
183
- :host-context(.optionItem.is-highlighted) &:not(.is-disabled) {
185
+ &:not(.is-disabled):hover,
186
+ &.is-highlighted:not(.is-disabled) {
184
187
  &::before {
185
188
  box-shadow: inset 0 0 0 2px var(--components-options-checkbox-color);
186
189
  }
@@ -27,7 +27,7 @@ declare class SkipLinksService {
27
27
  register(link: LuSkipLink): void;
28
28
  unregister(link: LuSkipLink): void;
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<SkipLinksService, never>;
30
- static ɵprov: i0.ɵɵInjectableDeclaration<SkipLinksService>;
30
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
31
31
  }
32
32
 
33
33
  declare class LuSkipLinksComponent {
@@ -55,7 +55,7 @@ declare class LuApiV3Service<T extends ILuApiItem = ILuApiItem> extends ALuApiSe
55
55
  protected _get(url: string): Observable<T[]>;
56
56
  protected _clueFilter(clue: string): string;
57
57
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuApiV3Service<any>, never>;
58
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<LuApiV3Service<any>>;
58
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
59
59
  }
60
60
 
61
61
  declare class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {
@@ -74,7 +74,7 @@ declare class LuApiV4Service<T extends ILuApiItem = ILuApiItem> extends ALuApiSe
74
74
  searchPaged(clue?: string, page?: number, filters?: string[]): Observable<T[]>;
75
75
  count(): Observable<number>;
76
76
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuApiV4Service<any>, never>;
77
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<LuApiV4Service<any>>;
77
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
78
78
  }
79
79
 
80
80
  declare class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuApiService<T> {
@@ -95,7 +95,7 @@ declare class LuApiHybridService<T extends ILuApiItem = ILuApiItem> extends ALuA
95
95
  searchAll(clue: string, filters?: string[]): Observable<T[]>;
96
96
  searchPaged(clue: string, page: number, filters?: string[]): Observable<T[]>;
97
97
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuApiHybridService<any>, never>;
98
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<LuApiHybridService<any>>;
98
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
99
99
  }
100
100
 
101
101
  type ILuApiOptionFeeder<T extends ILuApiItem = ILuApiItem> = ILuOptionOperator<T>;
@@ -48,7 +48,7 @@ declare class ApprobationInboxLinkComponent {
48
48
  }
49
49
 
50
50
  declare class ApprobationInboxItemComponent implements OnInit {
51
- protected readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_approbation_inbox.LuApprobationInboxListItemTranslations, Partial<_lucca_front_ng_approbation_inbox.LuApprobationInboxListItemTranslations>>;
51
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_approbation_inbox.LuApprobationInboxListItemTranslations, Partial<_lucca_front_ng_approbation_inbox.LuApprobationInboxListItemTranslations>>;
52
52
  private readonly list;
53
53
  private readonly destroyRef;
54
54
  readonly selectable: _angular_core.Signal<boolean>;
@@ -63,7 +63,7 @@ declare class ApprobationInboxItemComponent implements OnInit {
63
63
  }
64
64
 
65
65
  declare class ApprobationInboxGroupComponent {
66
- protected readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_approbation_inbox.LuApprobationInboxListGroupTranslations, Partial<_lucca_front_ng_approbation_inbox.LuApprobationInboxListGroupTranslations>>;
66
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_approbation_inbox.LuApprobationInboxListGroupTranslations, Partial<_lucca_front_ng_approbation_inbox.LuApprobationInboxListGroupTranslations>>;
67
67
  private readonly list;
68
68
  readonly selectable: _angular_core.Signal<boolean>;
69
69
  readonly label: _angular_core.InputSignal<string>;
@@ -110,7 +110,7 @@ interface SelectableItem {
110
110
  checked: WritableSignal<boolean>;
111
111
  }
112
112
  declare class ApprobationInboxListComponent {
113
- protected readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_approbation_inbox.LuApprobationInboxListTranslations, Partial<_lucca_front_ng_approbation_inbox.LuApprobationInboxListTranslations>>;
113
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_approbation_inbox.LuApprobationInboxListTranslations, Partial<_lucca_front_ng_approbation_inbox.LuApprobationInboxListTranslations>>;
114
114
  private readonly pluralRules;
115
115
  readonly titleId: string;
116
116
  readonly label: _angular_core.InputSignal<PortalContent>;
@@ -1,4 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
2
3
  import { LuccaIcon } from '@lucca-front/icons';
3
4
 
4
5
  /**
@@ -9,6 +10,8 @@ type BubbleIconSize = (typeof BUBBLE_ICON_SIZE)[number];
9
10
  declare const BUBBLE_ICON_DIRECTION: readonly ["top", "bottom", "left", "right", "random"];
10
11
  type BubbleIconDirection = (typeof BUBBLE_ICON_DIRECTION)[number];
11
12
 
13
+ declare const LU_BUBBLE_ICON_DEFAULT_DIRECTION: InjectionToken<"top" | "bottom" | "left" | "right" | "random">;
14
+
12
15
  declare class BubbleIconComponent {
13
16
  readonly icon: _angular_core.InputSignal<LuccaIcon>;
14
17
  readonly alt: _angular_core.InputSignal<string>;
@@ -24,5 +27,5 @@ declare class BubbleIconComponent {
24
27
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BubbleIconComponent, "lu-bubble-icon", never, { "icon": { "alias": "icon"; "required": true; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "bubbleDirection": { "alias": "bubbleDirection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
25
28
  }
26
29
 
27
- export { BUBBLE_ICON_DIRECTION, BUBBLE_ICON_SIZE, BubbleIconComponent };
30
+ export { BUBBLE_ICON_DIRECTION, BUBBLE_ICON_SIZE, BubbleIconComponent, LU_BUBBLE_ICON_DEFAULT_DIRECTION };
28
31
  export type { BubbleIconDirection, BubbleIconSize };
@@ -33,7 +33,7 @@ declare class ChipComponent {
33
33
  */
34
34
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
35
35
  /**
36
- * Which size should the chip be? Defaults or small
36
+ * Which size should the chip be? Defaults to the regular size, `S` for small
37
37
  */
38
38
  readonly size: _angular_core.InputSignal<"S">;
39
39
  /**
@@ -21,7 +21,7 @@ declare class ClearComponent<T> extends ALuClear<T> implements ILuClear<T> {
21
21
  #private;
22
22
  readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_clear.LuClearLabel, Partial<_lucca_front_ng_clear.LuClearLabel>>;
23
23
  /**
24
- * Which size should the clear be? Defaults to small
24
+ * Which size should the clear be? Defaults to the regular size, `S` for small
25
25
  */
26
26
  readonly size: _angular_core.InputSignal<"S">;
27
27
  /**
@@ -33,16 +33,16 @@ declare class CommentBlockComponent {
33
33
  readonly comments: _angular_core.Signal<readonly CommentComponent[]>;
34
34
  readonly compact: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
35
35
  /**
36
- * Small is a shorthand to set the size to small
36
+ * Apply the small size to the comment block wrapper
37
37
  *
38
- * If the size input is filled along with the small input, their values will have the priority
38
+ * Independent from the size input, which applies to each comment of the block
39
39
  */
40
40
  readonly small: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
41
41
  readonly chatAnswer: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
42
42
  readonly authorName: _angular_core.InputSignal<PortalContent>;
43
43
  readonly avatar: _angular_core.InputSignal<TemplateRef<unknown>>;
44
44
  /**
45
- * Which size should the block comment be? Defaults or small
45
+ * Which size should each comment of the block be? `S` applies the small size
46
46
  */
47
47
  readonly size: _angular_core.InputSignal<"S" | "M">;
48
48
  readonly noAvatar: _angular_core.Signal<boolean>;
@@ -16,7 +16,7 @@ declare class EstablishmentGroupingService {
16
16
  protected readonly legalUnitsCount$: rxjs.Observable<number>;
17
17
  readonly useGrouping$: rxjs.Observable<boolean>;
18
18
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EstablishmentGroupingService, never>;
19
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<EstablishmentGroupingService>;
19
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
20
20
  }
21
21
 
22
22
  interface LuCoreSelectLegalUnit extends ILuApiItem {
@@ -62,6 +62,15 @@ 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 `S` 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
75
  declare const SELECT_LABEL: InjectionToken<HTMLLabelElement>;
67
76
  declare const SELECT_LABEL_ID: InjectionToken<string>;
@@ -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 {
@@ -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
  /**
@@ -327,10 +336,16 @@ declare abstract class ALuSelectInputComponent<TOption, TValue> implements OnDes
327
336
  readonly isPanelOpen$: BehaviorSubject<boolean>;
328
337
  readonly panelOpenSignal: Signal<boolean>;
329
338
  private readonly belowSmallBreakpoint;
339
+ /** Feature flag turning the whole responsive dialog system on; off unless the app provides it. */
340
+ private readonly responsiveDialog;
330
341
  /**
331
342
  * Below the `S` breakpoint (800px) 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
  /**
@@ -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.
@@ -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 {
@@ -32,7 +32,9 @@ 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">;
35
+ readonly sort: _angular_core.InputSignal<"none" | "ascending" | "descending">;
36
+ readonly sortChange: _angular_core.OutputEmitterRef<"none" | "ascending" | "descending">;
37
+ protected readonly currentSort: _angular_core.WritableSignal<"none" | "ascending" | "descending">;
36
38
  readonly fixedWidth: _angular_core.InputSignal<string>;
37
39
  readonly inlineSize: _angular_core.InputSignal<string>;
38
40
  readonly sortWithEllipsis: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
@@ -43,7 +45,7 @@ declare class DataTableRowCellHeaderComponent extends BaseDataTableCell implemen
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 {
@@ -89,6 +91,9 @@ declare class DataTableRowComponent {
89
91
  declare class DataTableComponent implements OnInit {
90
92
  #private;
91
93
  readonly tableRef: _angular_core.Signal<ElementRef<Element>>;
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">;
@@ -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 {
@@ -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 {
@@ -21,26 +21,22 @@ interface CellStatus {
21
21
 
22
22
  interface DateRangeInput {
23
23
  class?: `palette-${Palette}` | string;
24
- /**
25
- * Start bound of the range. Optional: a range can be open on its start, for instance when
26
- * a filter only expresses an "until" date.
27
- */
28
- start?: Date | string | null;
29
- /**
30
- * End bound of the range. Optional: a range can be open on its end, for instance when
31
- * a filter only expresses a "from" date.
32
- */
24
+ start: Date | string;
33
25
  end?: Date | string | null;
34
26
  label?: string;
35
27
  scope?: CalendarMode;
36
28
  }
37
29
  interface DateRange extends DateRangeInput {
38
- start?: Date | null;
30
+ start: Date;
39
31
  end?: Date | null;
40
32
  }
41
33
 
34
+ interface OpenDateRange extends Omit<DateRange, 'start'> {
35
+ start?: Date | null;
36
+ }
37
+
42
38
  interface RangeInfo {
43
- range?: DateRange;
39
+ range?: OpenDateRange;
44
40
  /**
45
41
  * Bound the range is anchored on: its start when it has one, its end otherwise.
46
42
  * A range without start date is rendered from its end, the same way an incomplete
@@ -149,7 +145,7 @@ declare class Calendar2Component implements OnInit {
149
145
  getWeekRowClasses(week: CalendarCellInfo[]): Record<string, boolean>;
150
146
  getWeekDayCellClasses(day: CalendarCellInfo, isLastDay: boolean): Record<string, boolean>;
151
147
  getRangeInfo(date: Date, scope: CalendarMode | null, isOverflow?: boolean): {
152
- range: DateRange;
148
+ range: OpenDateRange;
153
149
  anchor: Date;
154
150
  isStart: boolean;
155
151
  isEnd: boolean;
@@ -204,12 +200,15 @@ declare abstract class AbstractDateComponent {
204
200
  readonly min: _angular_core.InputSignalWithTransform<Date, string | Date>;
205
201
  readonly max: _angular_core.InputSignalWithTransform<Date, string | Date>;
206
202
  readonly focusedDate: _angular_core.InputSignalWithTransform<Date, string | Date>;
207
- readonly calendarMode: _angular_core.ModelSignal<"day" | "week" | "month" | "year">;
203
+ readonly calendarModeInput: _angular_core.InputSignal<"day" | "week" | "month" | "year">;
204
+ readonly calendarMode: _angular_core.WritableSignal<"day" | "week" | "month" | "year">;
205
+ readonly calendarModeChange: _angular_core.OutputEmitterRef<"day" | "week" | "month" | "year">;
208
206
  readonly panelOpened: _angular_core.OutputEmitterRef<void>;
209
207
  readonly panelClosed: _angular_core.OutputEmitterRef<void>;
210
208
  readonly dateFormatLocalized: _angular_core.Signal<string>;
211
209
  protected readonly currentDate: _angular_core.WritableSignal<Date>;
212
210
  protected readonly tabbableDate: _angular_core.WritableSignal<Date>;
211
+ protected changeCalendarMode(calendarMode: CalendarMode | null): void;
213
212
  protected constructor();
214
213
  isInMinMax(date: Date, mode: CalendarMode): boolean;
215
214
  isAfterMin(date: Date, mode: CalendarMode): boolean;
@@ -221,7 +220,7 @@ declare abstract class AbstractDateComponent {
221
220
  setDisabledState?(isDisabled: boolean): void;
222
221
  move(direction: 1 | -1, mode: CalendarMode): void;
223
222
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AbstractDateComponent, never>;
224
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AbstractDateComponent, "ng-component", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "ranges": { "alias": "ranges"; "required": false; "isSignal": true; }; "hideToday": { "alias": "hideToday"; "required": false; "isSignal": true; }; "hasTodayButton": { "alias": "hasTodayButton"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearBehavior": { "alias": "clearBehavior"; "required": false; "isSignal": true; }; "hideWeekend": { "alias": "hideWeekend"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "getCellInfo": { "alias": "getCellInfo"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "focusedDate": { "alias": "focusedDate"; "required": false; "isSignal": true; }; "calendarMode": { "alias": "calendarMode"; "required": false; "isSignal": true; }; }, { "calendarMode": "calendarModeChange"; "panelOpened": "panelOpened"; "panelClosed": "panelClosed"; }, never, never, true, never>;
223
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AbstractDateComponent, "ng-component", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "ranges": { "alias": "ranges"; "required": false; "isSignal": true; }; "hideToday": { "alias": "hideToday"; "required": false; "isSignal": true; }; "hasTodayButton": { "alias": "hasTodayButton"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearBehavior": { "alias": "clearBehavior"; "required": false; "isSignal": true; }; "hideWeekend": { "alias": "hideWeekend"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "getCellInfo": { "alias": "getCellInfo"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "focusedDate": { "alias": "focusedDate"; "required": false; "isSignal": true; }; "calendarModeInput": { "alias": "calendarMode"; "required": false; "isSignal": true; }; }, { "calendarModeChange": "calendarModeChange"; "panelOpened": "panelOpened"; "panelClosed": "panelClosed"; }, never, never, true, never>;
225
224
  }
226
225
 
227
226
  type DateInputValidatorErrorType = {
@@ -299,8 +298,8 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements O
299
298
  readonly startUserTextInput: _angular_core.WritableSignal<string>;
300
299
  readonly endTextInputRef: Signal<ElementRef<HTMLInputElement>>;
301
300
  readonly endUserTextInput: _angular_core.WritableSignal<string>;
302
- readonly initialValue: _angular_core.WritableSignal<DateRange>;
303
- readonly selectedRange: _angular_core.WritableSignal<DateRange>;
301
+ readonly initialValue: _angular_core.WritableSignal<OpenDateRange>;
302
+ readonly selectedRange: _angular_core.WritableSignal<OpenDateRange>;
304
303
  readonly dateHovered: _angular_core.WritableSignal<Date>;
305
304
  readonly placeholder: _angular_core.InputSignal<string>;
306
305
  readonly widthAuto: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
@@ -42,7 +42,7 @@ declare class LuDepartmentV3Service extends LuApiV3Service<ILuDepartment> implem
42
42
  getTrees(): Observable<ILuTree<ILuDepartment>[]>;
43
43
  private format;
44
44
  static ɵfac: i0.ɵɵFactoryDeclaration<LuDepartmentV3Service, never>;
45
- static ɵprov: i0.ɵɵInjectableDeclaration<LuDepartmentV3Service>;
45
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
46
46
  }
47
47
 
48
48
  declare class LuDepartmentV4Service {
@@ -60,7 +60,7 @@ declare class LuDepartmentV4Service {
60
60
  getTrees(): rxjs.Observable<ILuTree<ILuDepartment>[]>;
61
61
  private format;
62
62
  static ɵfac: i0.ɵɵFactoryDeclaration<LuDepartmentV4Service, never>;
63
- static ɵprov: i0.ɵɵInjectableDeclaration<LuDepartmentV4Service>;
63
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
64
64
  }
65
65
 
66
66
  /**
@@ -274,7 +274,7 @@ declare class LuDialogService {
274
274
  #private;
275
275
  open<C, TData = LuDialogData<C>>(config: LuDialogConfig<C, NoInfer<TData>>): LuDialogRef<C, TData>;
276
276
  static ɵfac: i0.ɵɵFactoryDeclaration<LuDialogService, never>;
277
- static ɵprov: i0.ɵɵInjectableDeclaration<LuDialogService>;
277
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
278
278
  }
279
279
 
280
280
  declare class DialogComponent implements AfterViewInit {
@@ -35,7 +35,7 @@ declare class LuEstablishmentService extends LuApiV4Service<ILuEstablishment> {
35
35
  set filters(filters: string[]);
36
36
  constructor(_http: HttpClient);
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<LuEstablishmentService, never>;
38
- static ɵprov: i0.ɵɵInjectableDeclaration<LuEstablishmentService>;
38
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
39
39
  }
40
40
 
41
41
  type ILuLegalUnitService<E extends ILuLegalUnit = ILuLegalUnit> = ILuApiService<E>;
@@ -53,7 +53,7 @@ declare class LuLegalUnitService extends LuApiV4Service<ILuLegalUnit> {
53
53
  set filters(filters: string[]);
54
54
  constructor(_http: HttpClient);
55
55
  static ɵfac: i0.ɵɵFactoryDeclaration<LuLegalUnitService, never>;
56
- static ɵprov: i0.ɵɵInjectableDeclaration<LuLegalUnitService>;
56
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
57
57
  }
58
58
 
59
59
  /**
@@ -57,8 +57,14 @@ type FileEntrySize = (typeof FILE_ENTRY_SIZE)[number];
57
57
 
58
58
  interface FileEntry {
59
59
  name: string;
60
- size?: number;
61
- type?: string;
60
+ /**
61
+ * File size in bytes. When `null`, the size is not displayed.
62
+ */
63
+ size?: number | null;
64
+ /**
65
+ * File MIME type. When `null`, the format is not displayed. When omitted, the format is deduced from the file name extension.
66
+ */
67
+ type?: string | null;
62
68
  preview?: string;
63
69
  }
64
70
 
@@ -7,7 +7,7 @@ import { PopoverDirective } from '@lucca-front/ng/popover2';
7
7
  import { FilterPillHostComponent, FilterPillInputComponent } from '@lucca-front/ng/filter-pills/core';
8
8
  export * from '@lucca-front/ng/filter-pills/core';
9
9
  import { LuOptionComparer as LuOptionComparer$1 } from '@lucca-front/ng/core-select';
10
- import { LuTranslation } from '@lucca-front/ng/core';
10
+ import { LuTranslation, LuPluralForms } from '@lucca-front/ng/core';
11
11
 
12
12
  declare class FilterPillComponent implements FilterPillHostComponent {
13
13
  #private;
@@ -71,6 +71,7 @@ interface FilterBarSegmentedControlTabs {
71
71
  readonly externalTablist: WritableSignal<boolean>;
72
72
  }
73
73
  declare class FilterBarComponent {
74
+ #private;
74
75
  readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_filter_pills.LuFilterPillsLabel, Partial<_lucca_front_ng_filter_pills.LuFilterPillsLabel>>;
75
76
  /**
76
77
  * Set when results only update after an explicit "Apply" action, to remove the hidden message
@@ -83,6 +84,12 @@ declare class FilterBarComponent {
83
84
  * The `luFilterPillAddonAfter` addon is displayed after the tabs, separated by a divider.
84
85
  */
85
86
  readonly segmentedControlTabs: _angular_core.InputSignal<FilterBarSegmentedControlTabs>;
87
+ /**
88
+ * Number of results matching the filters, displayed after the filters and announced to assistive technology
89
+ * users when it changes. `null` hides it, for instance while results are loading.
90
+ */
91
+ readonly resultsCount: _angular_core.InputSignalWithTransform<number, number | `${number}` | "null">;
92
+ protected readonly resultsCountLabel: Signal<string>;
86
93
  readonly autoApplyAnnouncementId: string;
87
94
  readonly addonBefore: WritableSignal<TemplateRef<unknown>>;
88
95
  readonly addonAfter: WritableSignal<TemplateRef<unknown>>;
@@ -103,7 +110,7 @@ declare class FilterBarComponent {
103
110
  constructor();
104
111
  protected displayOptionalPills(pills: FilterPillComponent[]): void;
105
112
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterBarComponent, never>;
106
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterBarComponent, "lu-filter-bar", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "manualApply": { "alias": "manualApply"; "required": false; "isSignal": true; }; "segmentedControlTabs": { "alias": "segmentedControlTabs"; "required": false; "isSignal": true; }; }, {}, ["pills"], ["*"], true, never>;
113
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterBarComponent, "lu-filter-bar", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "manualApply": { "alias": "manualApply"; "required": false; "isSignal": true; }; "segmentedControlTabs": { "alias": "segmentedControlTabs"; "required": false; "isSignal": true; }; "resultsCount": { "alias": "resultsCount"; "required": false; "isSignal": true; }; }, {}, ["pills"], ["*"], true, never>;
107
114
  }
108
115
 
109
116
  declare const LU_FILTER_BAR_INSTANCE: InjectionToken<FilterBarComponent>;
@@ -164,6 +171,8 @@ interface LuFilterPillsLabel {
164
171
  viewOptions: string;
165
172
  renameView: string;
166
173
  deleteView: string;
174
+ resultsCount: LuPluralForms;
175
+ noResults: string;
167
176
  }
168
177
  declare const luFilterPillsTranslations: LuTranslation<LuFilterPillsLabel>;
169
178
 
@@ -160,6 +160,11 @@ declare class NumberFormatInputComponent implements AfterViewInit {
160
160
  readonly placeholder: _angular_core.InputSignal<string>;
161
161
  readonly hasClearer: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "true" | "false">;
162
162
  readonly valueAlignRight: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "true" | "false">;
163
+ /**
164
+ * Width of the input itself, using the same scale as the form field width
165
+ */
166
+ readonly width: _angular_core.InputSignalWithTransform<10 | 20 | 30 | 40 | 50 | 60, 10 | 20 | 30 | 40 | 50 | 60 | "null" | "10" | "20" | "30" | "40" | "50" | "60">;
167
+ protected readonly widthClass: _angular_core.Signal<string>;
163
168
  readonly inputElementRef: _angular_core.Signal<ElementRef<HTMLInputElement>>;
164
169
  readonly prefixAddon: _angular_core.Signal<TextInputAddon>;
165
170
  readonly suffixAddon: _angular_core.Signal<TextInputAddon>;
@@ -177,7 +182,7 @@ declare class NumberFormatInputComponent implements AfterViewInit {
177
182
  readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms.LuNumberFormatFieldLabel, Partial<_lucca_front_ng_forms.LuNumberFormatFieldLabel>>;
178
183
  clearValue(): void;
179
184
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberFormatInputComponent, never>;
180
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberFormatInputComponent, "lu-number-format-input", never, { "formatStyle": { "alias": "formatStyle"; "required": false; "isSignal": true; }; "useAutoPrefixSuffix": { "alias": "useAutoPrefixSuffix"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "currencyDisplay": { "alias": "currencyDisplay"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "unitDisplay": { "alias": "unitDisplay"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hasClearer": { "alias": "hasClearer"; "required": false; "isSignal": true; }; "valueAlignRight": { "alias": "valueAlignRight"; "required": false; "isSignal": true; }; "intl": { "alias": "intl"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
185
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberFormatInputComponent, "lu-number-format-input", never, { "formatStyle": { "alias": "formatStyle"; "required": false; "isSignal": true; }; "useAutoPrefixSuffix": { "alias": "useAutoPrefixSuffix"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "currencyDisplay": { "alias": "currencyDisplay"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "unitDisplay": { "alias": "unitDisplay"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hasClearer": { "alias": "hasClearer"; "required": false; "isSignal": true; }; "valueAlignRight": { "alias": "valueAlignRight"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "intl": { "alias": "intl"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
181
186
  }
182
187
 
183
188
  declare class NumberInputComponent {
@@ -194,10 +199,15 @@ declare class NumberInputComponent {
194
199
  readonly min: _angular_core.InputSignalWithTransform<number, number | `${number}` | "undefined">;
195
200
  readonly max: _angular_core.InputSignalWithTransform<number, number | `${number}` | "undefined">;
196
201
  readonly valueAlignRight: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "true" | "false">;
202
+ /**
203
+ * Width of the input itself, using the same scale as the form field width
204
+ */
205
+ readonly width: _angular_core.InputSignalWithTransform<10 | 20 | 30 | 40 | 50 | 60, 10 | 20 | 30 | 40 | 50 | 60 | "null" | "10" | "20" | "30" | "40" | "50" | "60">;
206
+ protected readonly widthClass: _angular_core.Signal<string>;
197
207
  readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms.LuNumberFieldLabel, Partial<_lucca_front_ng_forms.LuNumberFieldLabel>>;
198
208
  clearValue(): void;
199
209
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberInputComponent, never>;
200
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberInputComponent, "lu-number-input", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "noSpinButtons": { "alias": "noSpinButtons"; "required": false; "isSignal": true; }; "hasClearer": { "alias": "hasClearer"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "valueAlignRight": { "alias": "valueAlignRight"; "required": false; "isSignal": true; }; "intl": { "alias": "intl"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
210
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberInputComponent, "lu-number-input", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "noSpinButtons": { "alias": "noSpinButtons"; "required": false; "isSignal": true; }; "hasClearer": { "alias": "hasClearer"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "valueAlignRight": { "alias": "valueAlignRight"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "intl": { "alias": "intl"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
201
211
  }
202
212
 
203
213
  declare class RadioGroupInputComponent {
@@ -281,7 +291,7 @@ declare class TextInputComponent {
281
291
  readonly minlength: _angular_core.InputSignalWithTransform<number, unknown>;
282
292
  readonly maxlength: _angular_core.InputSignalWithTransform<number, unknown>;
283
293
  /**
284
- * Search icon to use for when `hasSearchIcon` is true, defaults to 'search'
294
+ * Search icon to use for when `hasSearchIcon` is true, defaults to 'searchMagnifyingGlass'
285
295
  */
286
296
  readonly searchIcon: _angular_core.InputSignal<LuccaIcon>;
287
297
  readonly type: _angular_core.InputSignal<TextFieldType>;
@@ -40,7 +40,9 @@ declare abstract class BaseIndexTableCell {
40
40
 
41
41
  declare class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
42
42
  readonly elementRef: ElementRef<HTMLTableCellElement>;
43
- readonly sort: _angular_core.ModelSignal<"none" | "ascending" | "descending">;
43
+ readonly sort: _angular_core.InputSignal<"none" | "ascending" | "descending">;
44
+ readonly sortChange: _angular_core.OutputEmitterRef<"none" | "ascending" | "descending">;
45
+ protected readonly currentSort: _angular_core.WritableSignal<"none" | "ascending" | "descending">;
44
46
  readonly selectable: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
45
47
  readonly hiddenLabel: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
46
48
  readonly actions: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
@@ -49,7 +51,7 @@ declare class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
49
51
  protected readonly sortButtonRef: _angular_core.Signal<ElementRef<HTMLElement>>;
50
52
  toggleSort(): void;
51
53
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IndexTableRowCellHeaderComponent, never>;
52
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<IndexTableRowCellHeaderComponent, "th[luIndexTableCell]", never, { "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "hiddenLabel": { "alias": "hiddenLabel"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "inlineSize": { "alias": "inlineSize"; "required": false; "isSignal": true; }; "sortWithEllipsis": { "alias": "sortWithEllipsis"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; }, never, ["*"], true, never>;
54
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IndexTableRowCellHeaderComponent, "th[luIndexTableCell]", never, { "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "selectable": { "alias": "selectable"; "required": false; "isSignal": true; }; "hiddenLabel": { "alias": "hiddenLabel"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "inlineSize": { "alias": "inlineSize"; "required": false; "isSignal": true; }; "sortWithEllipsis": { "alias": "sortWithEllipsis"; "required": false; "isSignal": true; }; }, { "sortChange": "sortChange"; }, never, ["*"], true, never>;
53
55
  }
54
56
 
55
57
  declare class IndexTableRowCellComponent extends BaseIndexTableCell {