@lucca-front/ng 22.1.0-rc.1 → 22.1.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +1 -0
  2. package/fesm2022/lucca-front-ng-a11y.mjs +1 -0
  3. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs +15 -12
  5. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +3 -3
  7. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-box.mjs +1 -1
  9. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +1 -1
  11. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-bubble-icon.mjs +2 -2
  13. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-callout.mjs +3 -3
  15. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-chip.mjs +14 -7
  17. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-clear.mjs +1 -1
  19. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-core-select-api.mjs +42 -3
  21. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +32 -9
  24. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +11 -0
  26. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core-select-user.mjs +32 -32
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-core-select.mjs +309 -39
  32. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-data-table.mjs +22 -14
  34. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-date.mjs +2 -4
  36. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-date2.mjs +210 -107
  38. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-dialog.mjs +9 -4
  40. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-dropdown.mjs +3 -0
  42. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-fancy-box.mjs +47 -24
  44. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-file-upload.mjs +6 -6
  46. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-filter-pills-core.mjs +55 -0
  48. package/fesm2022/lucca-front-ng-filter-pills-core.mjs.map +1 -0
  49. package/fesm2022/lucca-front-ng-filter-pills.mjs +119 -70
  50. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-form-field.mjs +110 -28
  52. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-form-label.mjs +2 -2
  54. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-form.mjs +42 -5
  56. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -13
  58. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +5 -2
  60. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +61 -29
  62. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-forms.mjs +23 -16
  64. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-highlight-data.mjs +6 -7
  66. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-impersonation.mjs +20 -5
  68. package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-index-table.mjs +13 -8
  70. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-inline-message.mjs +1 -1
  72. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-link.mjs +9 -4
  74. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-listbox.mjs +3 -2
  76. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-markdown.mjs +51 -0
  78. package/fesm2022/lucca-front-ng-markdown.mjs.map +1 -0
  79. package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
  80. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-modal.mjs +9 -4
  82. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-multi-select.mjs +153 -48
  84. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-option.mjs +6 -2
  86. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-pagination.mjs +1 -1
  88. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-picker.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-plg-push.mjs +1 -1
  91. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-popover2.mjs +21 -12
  93. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-priority-levels.mjs +128 -0
  95. package/fesm2022/lucca-front-ng-priority-levels.mjs.map +1 -0
  96. package/fesm2022/lucca-front-ng-progress-stepper.mjs +2 -2
  97. package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-read-more.mjs +3 -3
  99. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-resource-card.mjs +2 -2
  101. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-safe-content.mjs +43 -3
  103. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-scroll-box.mjs +8 -4
  105. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -4
  107. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-segmented-control.mjs +10 -5
  109. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-select.mjs +1 -1
  111. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  112. package/fesm2022/lucca-front-ng-simple-select.mjs +71 -17
  113. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  114. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +1 -1
  115. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -1
  116. package/fesm2022/lucca-front-ng-software-icon.mjs +1 -1
  117. package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
  118. package/fesm2022/lucca-front-ng-status-badge.mjs +1 -1
  119. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-time.mjs +1 -1
  121. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  122. package/fesm2022/lucca-front-ng-user-popover.mjs +3 -2
  123. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  124. package/package.json +17 -4
  125. package/schematics/collection.json +5 -0
  126. package/schematics/deprecated-resolver/index.js +1 -4
  127. package/schematics/file-upload/index.js +22 -0
  128. package/schematics/file-upload/migration.js +230 -0
  129. package/schematics/file-upload/migration.spec.js +56 -0
  130. package/schematics/file-upload/schema.json +23 -0
  131. package/schematics/lib/angular-component-ast.js +3 -1
  132. package/schematics/lib/deprecated-mapper.js +2 -10
  133. package/schematics/lib/html-ast.js +26 -0
  134. package/src/components/_listbox.scss +12 -6
  135. package/src/components/cdk/_overlay.scss +3 -1
  136. package/types/lucca-front-ng-activity-feed.d.ts +16 -10
  137. package/types/lucca-front-ng-approbation-inbox.d.ts +32 -25
  138. package/types/lucca-front-ng-box.d.ts +12 -6
  139. package/types/lucca-front-ng-breadcrumbs.d.ts +12 -7
  140. package/types/lucca-front-ng-chip.d.ts +16 -9
  141. package/types/lucca-front-ng-clear.d.ts +12 -8
  142. package/types/lucca-front-ng-core-select-api.d.ts +30 -1
  143. package/types/lucca-front-ng-core-select-establishment.d.ts +7 -0
  144. package/types/lucca-front-ng-core-select-job-qualification.d.ts +8 -0
  145. package/types/lucca-front-ng-core-select-user.d.ts +6 -0
  146. package/types/lucca-front-ng-core-select.d.ts +115 -7
  147. package/types/lucca-front-ng-data-table.d.ts +16 -10
  148. package/types/lucca-front-ng-date.d.ts +12 -10
  149. package/types/lucca-front-ng-date2.d.ts +46 -21
  150. package/types/lucca-front-ng-fancy-box.d.ts +29 -12
  151. package/types/lucca-front-ng-file-upload.d.ts +41 -36
  152. package/types/lucca-front-ng-filter-pills-core.d.ts +69 -0
  153. package/types/lucca-front-ng-filter-pills.d.ts +53 -69
  154. package/types/lucca-front-ng-form-field.d.ts +34 -5
  155. package/types/lucca-front-ng-form-label.d.ts +13 -8
  156. package/types/lucca-front-ng-form.d.ts +7 -1
  157. package/types/lucca-front-ng-forms-rich-text-input.d.ts +40 -35
  158. package/types/lucca-front-ng-forms.d.ts +36 -44
  159. package/types/lucca-front-ng-highlight-data.d.ts +1 -2
  160. package/types/lucca-front-ng-impersonation.d.ts +28 -10
  161. package/types/lucca-front-ng-index-table.d.ts +3 -1
  162. package/types/lucca-front-ng-link.d.ts +16 -7
  163. package/types/lucca-front-ng-markdown.d.ts +24 -0
  164. package/types/lucca-front-ng-mobile-push.d.ts +18 -12
  165. package/types/lucca-front-ng-multi-select.d.ts +10 -1
  166. package/types/lucca-front-ng-option.d.ts +8 -8
  167. package/types/lucca-front-ng-pagination.d.ts +15 -10
  168. package/types/lucca-front-ng-picker.d.ts +2 -2
  169. package/types/lucca-front-ng-plg-push.d.ts +12 -6
  170. package/types/lucca-front-ng-popover2.d.ts +7 -1
  171. package/types/lucca-front-ng-priority-levels.d.ts +44 -0
  172. package/types/lucca-front-ng-read-more.d.ts +13 -9
  173. package/types/lucca-front-ng-safe-content.d.ts +8 -2
  174. package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -1
  175. package/types/lucca-front-ng-segmented-control.d.ts +5 -1
  176. package/types/lucca-front-ng-select.d.ts +6 -6
  177. package/types/lucca-front-ng-simple-select.d.ts +5 -1
@@ -1,5 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+ import * as _lucca_front_ng_form_label from '@lucca-front/ng/form-label';
2
4
  import { SafeHtml } from '@angular/platform-browser';
5
+ import { LuTranslation } from '@lucca-front/ng/core';
3
6
 
4
7
  /**
5
8
  * Available FormLabelComponent Types
@@ -7,13 +10,8 @@ import { SafeHtml } from '@angular/platform-browser';
7
10
  declare const FORM_LABEL_SIZE: readonly ["XS", "S"];
8
11
  type FormLabelSize = (typeof FORM_LABEL_SIZE)[number];
9
12
 
10
- interface LuFormLabelTranslations {
11
- counterAlt: string;
12
- tooltipAlt: string;
13
- }
14
-
15
13
  declare class FormLabelComponent {
16
- protected readonly intl: _angular_core.InputSignalWithTransform<LuFormLabelTranslations, Partial<LuFormLabelTranslations>>;
14
+ protected readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_form_label.LuFormLabelTranslations, Partial<_lucca_front_ng_form_label.LuFormLabelTranslations>>;
17
15
  readonly required: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
18
16
  readonly error: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
19
17
  readonly tooltip: _angular_core.InputSignal<string | SafeHtml>;
@@ -26,5 +24,12 @@ declare class FormLabelComponent {
26
24
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormLabelComponent, "label[luFormLabel], legend[luFormLabel]", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "tag": { "alias": "tag"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "counterStatus": { "alias": "counterStatus"; "required": false; "isSignal": true; }; "counterMax": { "alias": "counterMax"; "required": false; "isSignal": true; }; "counterId": { "alias": "counterId"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
27
25
  }
28
26
 
29
- export { FORM_LABEL_SIZE, FormLabelComponent };
30
- export type { FormLabelSize };
27
+ declare const LU_FORM_LABEL_TRANSLATIONS: InjectionToken<LuTranslation<LuFormLabelTranslations>>;
28
+ interface LuFormLabelTranslations {
29
+ counterAlt: string;
30
+ tooltipAlt: string;
31
+ }
32
+ declare const luFormLabelTranslations: LuTranslation<LuFormLabelTranslations>;
33
+
34
+ export { FORM_LABEL_SIZE, FormLabelComponent, LU_FORM_LABEL_TRANSLATIONS, luFormLabelTranslations };
35
+ export type { FormLabelSize, LuFormLabelTranslations };
@@ -3,11 +3,17 @@ import { InjectionToken } from '@angular/core';
3
3
  import { LuDialogRef } from '@lucca-front/ng/dialog';
4
4
 
5
5
  declare class FormComponent {
6
+ #private;
6
7
  protected readonly dialogRef: LuDialogRef<any, any>;
7
8
  readonly maxWidth: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
8
9
  readonly presentation: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
10
+ /**
11
+ * When enabled, submitting an invalid form moves focus to the first invalid field. Disabled by default.
12
+ */
13
+ readonly focusInvalidOnSubmit: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
14
+ protected onSubmit(): void;
9
15
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormComponent, never>;
10
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormComponent, "form[luForm]", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "presentation": { "alias": "presentation"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormComponent, "form[luForm]", never, { "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "presentation": { "alias": "presentation"; "required": false; "isSignal": true; }; "focusInvalidOnSubmit": { "alias": "focusInvalidOnSubmit"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
11
17
  }
12
18
 
13
19
  declare const LU_FORM_INSTANCE: InjectionToken<FormComponent>;
@@ -2,12 +2,14 @@ import * as _angular_core from '@angular/core';
2
2
  import { InjectionToken, Signal, WritableSignal, OnInit, OnDestroy, ElementRef, ViewContainerRef, TemplateRef } from '@angular/core';
3
3
  import * as lexical from 'lexical';
4
4
  import { LexicalEditor, Klass, LexicalNode, LexicalNodeReplacement, NodeKey, EditorConfig, ElementDOMSlot, DOMExportOutput, DecoratorNode, DOMConversionMap, Spread, SerializedLexicalNode, LexicalUpdateJSON, TextFormatType } from 'lexical';
5
+ import * as _lucca_front_ng_forms_rich_text_input from '@lucca-front/ng/forms/rich-text-input';
5
6
  import { DomPortal } from '@angular/cdk/portal';
6
7
  import { ControlValueAccessor, FormControl } from '@angular/forms';
7
8
  import { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';
8
9
  import { LinkNode, LinkAttributes, SerializedLinkNode, AutoLinkNode, SerializedAutoLinkNode } from '@lexical/link';
9
10
  import { ConnectionPositionPair } from '@angular/cdk/overlay';
10
11
  import { LuccaIcon } from '@lucca-front/icons';
12
+ import { LuTranslation } from '@lucca-front/ng/core';
11
13
 
12
14
  type UnregisterFn = () => void;
13
15
  declare abstract class RichTextFormatter {
@@ -18,32 +20,6 @@ declare abstract class RichTextFormatter {
18
20
  }
19
21
  declare const RICH_TEXT_FORMATTER: InjectionToken<RichTextFormatter>;
20
22
 
21
- interface ILuRichTextInputLabel {
22
- clearFormat: string;
23
- linksCancel: string;
24
- linksDelete: string;
25
- linksHref: string;
26
- linksLabel: string;
27
- linksSubmit: string;
28
- linksPlaceholder: string;
29
- listsNumberedLabel: string;
30
- listsBulletLabel: string;
31
- headingsLabel: string;
32
- headings0: string;
33
- headings1: string;
34
- headings2: string;
35
- headings3: string;
36
- headings4: string;
37
- headings5: string;
38
- headings6: string;
39
- stylesItalic: string;
40
- stylesBold: string;
41
- stylesUnderline: string;
42
- stylesStrikethrough: string;
43
- insertTag: string;
44
- selectTag: string;
45
- }
46
-
47
23
  declare const INITIAL_UPDATE_TAG = "initial-update";
48
24
  interface RichTextPluginComponent {
49
25
  setEditorInstance(editor: LexicalEditor): void;
@@ -84,7 +60,7 @@ declare class RichTextInputComponent implements OnInit, OnDestroy, ControlValueA
84
60
 
85
61
  declare class ClearFormatComponent implements RichTextPluginComponent, OnDestroy {
86
62
  #private;
87
- readonly intl: _angular_core.InputSignalWithTransform<ILuRichTextInputLabel, Partial<ILuRichTextInputLabel>>;
63
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel, Partial<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel>>;
88
64
  readonly element: _angular_core.Signal<ElementRef<any>>;
89
65
  readonly tabindex: _angular_core.WritableSignal<number>;
90
66
  readonly isDisabled: _angular_core.WritableSignal<boolean>;
@@ -103,7 +79,7 @@ declare class HeadingsComponent implements OnDestroy, RichTextPluginComponent {
103
79
  readonly tabindex: _angular_core.WritableSignal<number>;
104
80
  readonly maxHeadingLevel: _angular_core.InputSignalWithTransform<1 | 2 | 3 | 4 | 5 | 6, 1 | "1" | "2" | "3" | 2 | 3 | 4 | 5 | 6 | "4" | "5" | "6">;
105
81
  readonly headingOptions: _angular_core.Signal<("h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "paragraph")[]>;
106
- readonly intl: _angular_core.InputSignalWithTransform<ILuRichTextInputLabel, Partial<ILuRichTextInputLabel>>;
82
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel, Partial<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel>>;
107
83
  readonly headingLabels: _angular_core.Signal<Record<"h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "paragraph", [string, number]>>;
108
84
  readonly formControl: FormControl<"h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "paragraph">;
109
85
  setEditorInstance(editor: LexicalEditor): void;
@@ -172,7 +148,7 @@ declare class LinkComponent implements OnDestroy, RichTextPluginComponent {
172
148
  readonly tabindex: _angular_core.WritableSignal<number>;
173
149
  readonly active: _angular_core.WritableSignal<boolean>;
174
150
  readonly isDisabled: _angular_core.WritableSignal<boolean>;
175
- readonly intl: _angular_core.InputSignalWithTransform<ILuRichTextInputLabel, Partial<ILuRichTextInputLabel>>;
151
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel, Partial<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel>>;
176
152
  readonly isEditable: _angular_core.WritableSignal<boolean>;
177
153
  setEditorInstance(editor: LexicalEditor): void;
178
154
  getLexicalNodes(): (typeof PopoverLinkNode | typeof PopoverAutoLinkNode | {
@@ -196,7 +172,7 @@ declare class LinkComponent implements OnDestroy, RichTextPluginComponent {
196
172
  declare class ListStyleToolbarComponent implements OnDestroy, RichTextPluginComponent {
197
173
  #private;
198
174
  readonly pluginComponents: _angular_core.Signal<readonly RichTextPluginComponent[]>;
199
- readonly intl: _angular_core.InputSignalWithTransform<ILuRichTextInputLabel, Partial<ILuRichTextInputLabel>>;
175
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel, Partial<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel>>;
200
176
  setEditorInstance(editor: LexicalEditor): void;
201
177
  getLexicalNodes?(): Klass<LexicalNode>[];
202
178
  setDisabledState(isDisabled: boolean): void;
@@ -214,7 +190,7 @@ type Tag = {
214
190
 
215
191
  declare class RichTextPluginTagComponent implements RichTextPluginComponent, OnDestroy {
216
192
  #private;
217
- readonly intl: _angular_core.InputSignalWithTransform<ILuRichTextInputLabel, Partial<ILuRichTextInputLabel>>;
193
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel, Partial<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel>>;
218
194
  readonly tags: _angular_core.InputSignal<Tag[]>;
219
195
  readonly isDisabled: _angular_core.WritableSignal<boolean>;
220
196
  readonly focusIndex: _angular_core.WritableSignal<number>;
@@ -246,6 +222,8 @@ type SerializedTagNode = Spread<{
246
222
  tagDescription?: string;
247
223
  disabled?: boolean;
248
224
  }, SerializedLexicalNode>;
225
+ /** Destroy stale chip components once Lexical has reconciled the DOM. */
226
+ declare function registerTagChipsCleanup(editor: LexicalEditor): () => void;
249
227
  declare class TagNode extends DecoratorNode<string> {
250
228
  #private;
251
229
  setViewContainerRef(vcr: ViewContainerRef): this;
@@ -265,7 +243,6 @@ declare class TagNode extends DecoratorNode<string> {
265
243
  decorate(): string;
266
244
  createDOM(_config: EditorConfig, editor: LexicalEditor): HTMLElement;
267
245
  updateDOM(prevNode: TagNode, _dom: HTMLElement, _config: EditorConfig): boolean;
268
- remove(preserveEmptyParent?: boolean): void;
269
246
  exportDOM(): DOMExportOutput;
270
247
  static importDOM(): DOMConversionMap;
271
248
  static importJSON(serializedNode: SerializedTagNode): TagNode;
@@ -296,7 +273,7 @@ declare class TextStyleComponent implements OnDestroy, RichTextPluginComponent {
296
273
 
297
274
  declare class TextStyleToolbarComponent implements RichTextPluginComponent {
298
275
  readonly pluginComponents: _angular_core.Signal<readonly RichTextPluginComponent[]>;
299
- readonly intl: _angular_core.InputSignalWithTransform<ILuRichTextInputLabel, Partial<ILuRichTextInputLabel>>;
276
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel, Partial<_lucca_front_ng_forms_rich_text_input.ILuRichTextInputLabel>>;
300
277
  setEditorInstance(editor: LexicalEditor): void;
301
278
  setDisabledState(isDisabled: boolean): void;
302
279
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextStyleToolbarComponent, never>;
@@ -312,5 +289,33 @@ declare class RichTextInputToolbarComponent implements RichTextPluginComponent {
312
289
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextInputToolbarComponent, "lu-rich-text-input-toolbar", never, {}, {}, never, never, true, never>;
313
290
  }
314
291
 
315
- export { $createTagNode, $isTagNode, ClearFormatComponent, HeadingsComponent, INITIAL_UPDATE_TAG, LinkComponent, ListStyleToolbarComponent, RICH_TEXT_FORMATTER, RICH_TEXT_PLUGIN_COMPONENT, RichTextFormatter, RichTextInputComponent, RichTextInputToolbarComponent, RichTextPluginTagComponent, TagNode, TextStyleComponent, TextStyleToolbarComponent };
316
- export type { RichTextPluginComponent, SerializedTagNode, Tag };
292
+ declare const LU_RICH_TEXT_INPUT_TRANSLATIONS: InjectionToken<LuTranslation<ILuRichTextInputLabel>>;
293
+ interface ILuRichTextInputLabel {
294
+ clearFormat: string;
295
+ linksCancel: string;
296
+ linksDelete: string;
297
+ linksHref: string;
298
+ linksLabel: string;
299
+ linksSubmit: string;
300
+ linksPlaceholder: string;
301
+ listsNumberedLabel: string;
302
+ listsBulletLabel: string;
303
+ headingsLabel: string;
304
+ headings0: string;
305
+ headings1: string;
306
+ headings2: string;
307
+ headings3: string;
308
+ headings4: string;
309
+ headings5: string;
310
+ headings6: string;
311
+ stylesItalic: string;
312
+ stylesBold: string;
313
+ stylesUnderline: string;
314
+ stylesStrikethrough: string;
315
+ insertTag: string;
316
+ selectTag: string;
317
+ }
318
+ declare const luRichTextInputTranslations: LuTranslation<ILuRichTextInputLabel>;
319
+
320
+ export { $createTagNode, $isTagNode, ClearFormatComponent, HeadingsComponent, INITIAL_UPDATE_TAG, LU_RICH_TEXT_INPUT_TRANSLATIONS, LinkComponent, ListStyleToolbarComponent, RICH_TEXT_FORMATTER, RICH_TEXT_PLUGIN_COMPONENT, RichTextFormatter, RichTextInputComponent, RichTextInputToolbarComponent, RichTextPluginTagComponent, TagNode, TextStyleComponent, TextStyleToolbarComponent, luRichTextInputTranslations, registerTagChipsCleanup };
321
+ export type { ILuRichTextInputLabel, RichTextPluginComponent, SerializedTagNode, Tag };
@@ -2,13 +2,13 @@ import * as _angular_core from '@angular/core';
2
2
  import { OnDestroy, OnInit, Signal, WritableSignal, AfterViewInit, ElementRef, InjectionToken } from '@angular/core';
3
3
  import * as _angular_forms from '@angular/forms';
4
4
  import { NgModel, FormControlDirective, FormControlName, NgControl, FormControl, ControlValueAccessor, ValidatorFn } from '@angular/forms';
5
- import { FilterPillInputComponent, FilterPillLayout } from '@lucca-front/ng/filter-pills';
5
+ import { FilterPillInputComponent, FilterPillLayout } from '@lucca-front/ng/filter-pills/core';
6
6
  import { FormFieldComponent } from '@lucca-front/ng/form-field';
7
+ import * as _lucca_front_ng_forms from '@lucca-front/ng/forms';
7
8
  import { ConnectionPositionPair } from '@angular/cdk/overlay';
8
9
  import { NumberFormatStyle, NumberFormatCurrencyDisplay, NumberFormatUnit, NumberFormatUnitDisplay } from '@lucca-front/ng/number-format';
9
10
  import { LuccaIcon } from '@lucca-front/icons';
10
11
  import { PortalContent, LuTranslation } from '@lucca-front/ng/core';
11
- import * as _lucca_front_ng_forms from '@lucca-front/ng/forms';
12
12
 
13
13
  declare class FormFieldIdDirective implements OnDestroy {
14
14
  #private;
@@ -89,35 +89,7 @@ declare const INVARIANT_CULTURE_CODE = "invariant";
89
89
 
90
90
  declare class MultilanguageInputComponent implements ControlValueAccessor {
91
91
  #private;
92
- readonly intl: _angular_core.InputSignalWithTransform<{
93
- clear: string;
94
- toggleMultilanguage: string;
95
- translateTo: string;
96
- translateWithAI: string;
97
- invariantInfo: string;
98
- requiredError: string;
99
- } | {
100
- clear: string;
101
- toggleMultilanguage: string;
102
- translateTo: string;
103
- translateWithAI: string;
104
- invariantInfo: string;
105
- requiredError: string;
106
- }, Partial<{
107
- clear: string;
108
- toggleMultilanguage: string;
109
- translateTo: string;
110
- translateWithAI: string;
111
- invariantInfo: string;
112
- requiredError: string;
113
- } | {
114
- clear: string;
115
- toggleMultilanguage: string;
116
- translateTo: string;
117
- translateWithAI: string;
118
- invariantInfo: string;
119
- requiredError: string;
120
- }>>;
92
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms.LuMultilanguageInputTranslations, Partial<_lucca_front_ng_forms.LuMultilanguageInputTranslations>>;
121
93
  readonly formFieldRef: FormFieldComponent;
122
94
  readonly formFieldSize: _angular_core.InputSignal<"XS" | "S" | "M">;
123
95
  protected onTouched: () => void;
@@ -159,10 +131,6 @@ declare function areAllLanguagesFilled(model: MultilanguageTranslation[]): boole
159
131
  declare function isInvariantFilled(model: MultilanguageTranslation[]): boolean;
160
132
  declare const MultiLanguageInputValidators: Record<'allLanguagesRequired' | 'invariantRequired', ValidatorFn>;
161
133
 
162
- interface LuNumberFormatFieldLabel {
163
- clear: string;
164
- }
165
-
166
134
  type TextfieldIconAddon = {
167
135
  icon: LuccaIcon;
168
136
  ariaLabel: string;
@@ -206,7 +174,7 @@ declare class NumberFormatInputComponent implements AfterViewInit {
206
174
  unitDisplay: NumberFormatUnitDisplay;
207
175
  }>;
208
176
  readonly formattedValue: _angular_core.Signal<string>;
209
- readonly intl: _angular_core.InputSignalWithTransform<LuNumberFormatFieldLabel, Partial<LuNumberFormatFieldLabel>>;
177
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms.LuNumberFormatFieldLabel, Partial<_lucca_front_ng_forms.LuNumberFormatFieldLabel>>;
210
178
  clearValue(): void;
211
179
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberFormatInputComponent, never>;
212
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: {}; }]>;
@@ -317,15 +285,20 @@ declare class TextInputComponent {
317
285
  */
318
286
  readonly searchIcon: _angular_core.InputSignal<LuccaIcon>;
319
287
  readonly type: _angular_core.InputSignal<TextFieldType>;
288
+ /**
289
+ * Width of the input itself, using the same scale as the form field width
290
+ */
291
+ readonly width: _angular_core.InputSignalWithTransform<10 | 20 | 30 | 40 | 50 | 60, 10 | 20 | 30 | 40 | 50 | 60 | "null" | "10" | "20" | "30" | "40" | "50" | "60">;
320
292
  readonly blur: _angular_core.OutputEmitterRef<FocusEvent>;
321
293
  protected readonly showPassword: _angular_core.WritableSignal<boolean>;
322
294
  protected readonly typeRef: _angular_core.Signal<TextFieldType>;
323
295
  protected readonly hasTogglePasswordVisibilityIcon: _angular_core.Signal<boolean>;
296
+ protected readonly widthClass: _angular_core.Signal<string>;
324
297
  protected hasValue(): boolean;
325
298
  clearValue(): void;
326
299
  togglePasswordVisibility(): void;
327
300
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextInputComponent, never>;
328
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextInputComponent, "lu-text-input", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "hasClearer": { "alias": "hasClearer"; "required": false; "isSignal": true; }; "hasSearchIcon": { "alias": "hasSearchIcon"; "required": false; "isSignal": true; }; "valueAlignRight": { "alias": "valueAlignRight"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "searchIcon": { "alias": "searchIcon"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, { "blur": "blur"; }, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
301
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextInputComponent, "lu-text-input", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "mask": { "alias": "mask"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "hasClearer": { "alias": "hasClearer"; "required": false; "isSignal": true; }; "hasSearchIcon": { "alias": "hasSearchIcon"; "required": false; "isSignal": true; }; "valueAlignRight": { "alias": "valueAlignRight"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "searchIcon": { "alias": "searchIcon"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; }, { "blur": "blur"; }, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
329
302
  }
330
303
 
331
304
  declare class TextareaInputComponent implements OnInit {
@@ -352,6 +325,23 @@ interface LuNumberFieldLabel {
352
325
  }
353
326
  declare const luNumberFieldTranslations: LuTranslation<LuNumberFieldLabel>;
354
327
 
328
+ interface LuMultilanguageInputTranslations {
329
+ clear: string;
330
+ toggleMultilanguage: string;
331
+ translateTo: string;
332
+ translateWithAI: string;
333
+ invariantInfo: string;
334
+ requiredError: string;
335
+ }
336
+ declare const LU_MULTILANGUAGE_INPUT_TRANSLATIONS: InjectionToken<LuTranslation<LuMultilanguageInputTranslations>>;
337
+ declare const luMultilanguageInputTranslations: LuTranslation<LuMultilanguageInputTranslations>;
338
+
339
+ declare const LU_NUMBERFORMATFIELD_TRANSLATIONS: InjectionToken<LuTranslation<LuNumberFormatFieldLabel>>;
340
+ interface LuNumberFormatFieldLabel {
341
+ clear: string;
342
+ }
343
+ declare const luNumberFormatFieldTranslations: LuTranslation<LuNumberFormatFieldLabel>;
344
+
355
345
  declare const LU_TEXTFIELD_TRANSLATIONS: InjectionToken<LuTranslation<LuTextfieldLabel>>;
356
346
  interface LuTextfieldLabel {
357
347
  clear: string;
@@ -386,12 +376,8 @@ interface ColorOption {
386
376
  borderColor?: string;
387
377
  }
388
378
 
389
- interface LuColorLabel {
390
- color: string;
391
- }
392
-
393
379
  declare class ColorInputComponent {
394
- readonly intl: _angular_core.InputSignalWithTransform<LuColorLabel, Partial<LuColorLabel>>;
380
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_forms.LuColorLabel, Partial<_lucca_front_ng_forms.LuColorLabel>>;
395
381
  readonly pointerNavigation: Signal<boolean>;
396
382
  readonly mouseHighlighted: _angular_core.WritableSignal<string>;
397
383
  readonly keyboardHighlighted: _angular_core.WritableSignal<string>;
@@ -410,5 +396,11 @@ declare class ColorInputComponent {
410
396
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorInputComponent, "lu-color-input", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "colors": { "alias": "colors"; "required": true; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof NoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
411
397
  }
412
398
 
413
- export { CheckboxInputComponent, ColorInputComponent, FIELDSET_SIZE, FORM_FIELD_ID_LABELLED_BY_STRATEGY, FieldsetComponent, FormFieldIdDirective, INVARIANT_CULTURE_CODE, LU_NUMBERFIELD_TRANSLATIONS, LU_TEXTFIELD_TRANSLATIONS, MultiLanguageInputValidators, MultilanguageInputComponent, NoopValueAccessorDirective, NumberFormatInputComponent, NumberInputComponent, RADIO_GROUP_INPUT_ARROW, RADIO_GROUP_INPUT_FRAMED_SIZE, RADIO_GROUP_INPUT_SIZE, RadioComponent, RadioGroupInputComponent, SwitchInputComponent, TextInputComponent, TextareaInputComponent, areAllLanguagesFilled, injectNgControl, isInvariantFilled, luNumberFieldTranslations, luTextfieldTranslations };
414
- export type { ColorOption, FieldsetSize, FormFieldIdLabelledByStrategy, LuNumberFieldLabel, LuTextfieldLabel, MultilanguageTranslation, RadioGroupInputArrow, RadioGroupInputFramedSize, RadioGroupInputSize, TextInputAddon, TextfieldIconAddon, TextfieldTextAddon };
399
+ declare const LU_COLOR_TRANSLATIONS: InjectionToken<LuTranslation<LuColorLabel>>;
400
+ interface LuColorLabel {
401
+ color: string;
402
+ }
403
+ declare const luColorTranslations: LuTranslation<LuColorLabel>;
404
+
405
+ export { CheckboxInputComponent, ColorInputComponent, FIELDSET_SIZE, FORM_FIELD_ID_LABELLED_BY_STRATEGY, FieldsetComponent, FormFieldIdDirective, INVARIANT_CULTURE_CODE, LU_COLOR_TRANSLATIONS, LU_MULTILANGUAGE_INPUT_TRANSLATIONS, LU_NUMBERFIELD_TRANSLATIONS, LU_NUMBERFORMATFIELD_TRANSLATIONS, LU_TEXTFIELD_TRANSLATIONS, MultiLanguageInputValidators, MultilanguageInputComponent, NoopValueAccessorDirective, NumberFormatInputComponent, NumberInputComponent, RADIO_GROUP_INPUT_ARROW, RADIO_GROUP_INPUT_FRAMED_SIZE, RADIO_GROUP_INPUT_SIZE, RadioComponent, RadioGroupInputComponent, SwitchInputComponent, TextInputComponent, TextareaInputComponent, areAllLanguagesFilled, injectNgControl, isInvariantFilled, luColorTranslations, luMultilanguageInputTranslations, luNumberFieldTranslations, luNumberFormatFieldTranslations, luTextfieldTranslations };
406
+ export type { ColorOption, FieldsetSize, FormFieldIdLabelledByStrategy, LuColorLabel, LuMultilanguageInputTranslations, LuNumberFieldLabel, LuNumberFormatFieldLabel, LuTextfieldLabel, MultilanguageTranslation, RadioGroupInputArrow, RadioGroupInputFramedSize, RadioGroupInputSize, TextInputAddon, TextfieldIconAddon, TextfieldTextAddon };
@@ -38,7 +38,7 @@ declare class HighlightDataComponent {
38
38
  */
39
39
  readonly theme: _angular_core.InputSignal<"white" | "light" | "dark">;
40
40
  /**
41
- * Apply product name to illustration URL and CSS component palette
41
+ * Apply a palette to the component and its bubble colors
42
42
  * This specific palette must be set up on config.scss
43
43
  */
44
44
  readonly palette: _angular_core.InputSignal<string>;
@@ -61,7 +61,6 @@ declare class HighlightDataComponent {
61
61
  readonly nested: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
62
62
  readonly illustrationSrc: _angular_core.Signal<string>;
63
63
  readonly bubbleSrc: _angular_core.Signal<string>;
64
- readonly bubbleTheme: _angular_core.Signal<"light" | "dark">;
65
64
  constructor();
66
65
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<HighlightDataComponent, never>;
67
66
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<HighlightDataComponent, "lu-highlight-data", never, { "heading": { "alias": "heading"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": true; "isSignal": true; }; "subText": { "alias": "subText"; "required": false; "isSignal": true; }; "bubble": { "alias": "bubble"; "required": false; "isSignal": true; }; "theme": { "alias": "theme"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; "illustration": { "alias": "illustration"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "valueFirst": { "alias": "valueFirst"; "required": false; "isSignal": true; }; "nested": { "alias": "nested"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
@@ -1,25 +1,34 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { ElementRef } from '@angular/core';
2
+ import { ElementRef, InjectionToken } from '@angular/core';
3
+ import * as _lucca_front_ng_impersonation from '@lucca-front/ng/impersonation';
3
4
  import * as _lucca_front_ng_core_select_user from '@lucca-front/ng/core-select/user';
4
5
  import { ConnectionPositionPair } from '@angular/cdk/overlay';
5
6
  import { PopoverDirective } from '@lucca-front/ng/popover2';
6
7
  import { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';
7
8
  import { ILuUser } from '@lucca-front/ng/user';
8
-
9
- interface LuImpersonationTranslations {
10
- a11yNavigationDescription: string;
11
- switchProfile: string;
12
- clear: string;
13
- }
9
+ import { LuTranslation } from '@lucca-front/ng/core';
14
10
 
15
11
  declare class ImpersonationComponent {
16
12
  protected readonly elementRef: ElementRef<any>;
17
- readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_core_select_user.LuCoreSelectUserTranslations & LuImpersonationTranslations, Partial<_lucca_front_ng_core_select_user.LuCoreSelectUserTranslations & LuImpersonationTranslations>>;
13
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_core_select_user.LuCoreSelectUserTranslations & _lucca_front_ng_impersonation.LuImpersonationTranslations, Partial<_lucca_front_ng_core_select_user.LuCoreSelectUserTranslations & _lucca_front_ng_impersonation.LuImpersonationTranslations>>;
18
14
  protected readonly currentUserId: number;
19
15
  readonly inputComponentRef: _angular_core.Signal<LuSimpleSelectInputComponent<ILuUser>>;
20
16
  readonly popoverRef: _angular_core.Signal<PopoverDirective>;
21
17
  readonly selectedUser: _angular_core.ModelSignal<ILuUser>;
22
18
  readonly enableFormerEmployees: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
19
+ /**
20
+ * Restricts the users to the ones reachable through these operations, scoped by `appInstanceId`.
21
+ */
22
+ readonly operationIds: _angular_core.InputSignal<readonly number[]>;
23
+ /**
24
+ * Restricts the users to the ones reachable through these unique operations.
25
+ * Takes precedence over `operationIds` / `appInstanceId`, which the API then ignores.
26
+ */
27
+ readonly uniqueOperationIds: _angular_core.InputSignal<readonly number[]>;
28
+ /**
29
+ * Application instance the `operationIds` are scoped to. Unused with `uniqueOperationIds`.
30
+ */
31
+ readonly appInstanceId: _angular_core.InputSignalWithTransform<number, number | `${number}` | "null">;
23
32
  readonly isNotMe: _angular_core.Signal<boolean>;
24
33
  readonly clear: _angular_core.OutputEmitterRef<void>;
25
34
  readonly popoverPositions: ConnectionPositionPair[];
@@ -27,7 +36,16 @@ declare class ImpersonationComponent {
27
36
  closePopover: () => void;
28
37
  updatePosition: () => void;
29
38
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ImpersonationComponent, never>;
30
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ImpersonationComponent, "lu-impersonation", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "selectedUser": { "alias": "selectedUser"; "required": false; "isSignal": true; }; "enableFormerEmployees": { "alias": "enableFormerEmployees"; "required": false; "isSignal": true; }; }, { "selectedUser": "selectedUserChange"; "clear": "clear"; }, never, never, true, never>;
39
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ImpersonationComponent, "lu-impersonation", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "selectedUser": { "alias": "selectedUser"; "required": false; "isSignal": true; }; "enableFormerEmployees": { "alias": "enableFormerEmployees"; "required": false; "isSignal": true; }; "operationIds": { "alias": "operationIds"; "required": false; "isSignal": true; }; "uniqueOperationIds": { "alias": "uniqueOperationIds"; "required": false; "isSignal": true; }; "appInstanceId": { "alias": "appInstanceId"; "required": false; "isSignal": true; }; }, { "selectedUser": "selectedUserChange"; "clear": "clear"; }, never, never, true, never>;
40
+ }
41
+
42
+ declare const LU_IMPERSONATION_TRANSLATIONS: InjectionToken<LuTranslation<LuImpersonationTranslations>>;
43
+ interface LuImpersonationTranslations {
44
+ a11yNavigationDescription: string;
45
+ switchProfile: string;
46
+ clear: string;
31
47
  }
48
+ declare const luImpersonationTranslations: LuTranslation<LuImpersonationTranslations>;
32
49
 
33
- export { ImpersonationComponent };
50
+ export { ImpersonationComponent, LU_IMPERSONATION_TRANSLATIONS, luImpersonationTranslations };
51
+ export type { LuImpersonationTranslations };
@@ -45,9 +45,11 @@ declare class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
45
45
  readonly hiddenLabel: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
46
46
  readonly actions: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
47
47
  readonly inlineSize: _angular_core.InputSignalWithTransform<number, number | `${number}`>;
48
+ readonly sortWithEllipsis: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
49
+ protected readonly sortButtonRef: _angular_core.Signal<ElementRef<HTMLElement>>;
48
50
  toggleSort(): void;
49
51
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IndexTableRowCellHeaderComponent, never>;
50
- 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; }; }, { "sort": "sortChange"; }, never, ["*"], true, 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>;
51
53
  }
52
54
 
53
55
  declare class IndexTableRowCellComponent extends BaseIndexTableCell {
@@ -2,12 +2,10 @@ import * as _lucca_front_ng_data_table from '@lucca-front/ng/data-table';
2
2
  import * as _lucca_front_ng_index_table from '@lucca-front/ng/index-table';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { Renderer2, ElementRef, WritableSignal, InjectionToken } from '@angular/core';
5
+ import * as _lucca_front_ng_link from '@lucca-front/ng/link';
5
6
  import { LocationStrategy, Location } from '@angular/common';
6
7
  import { RouterLink, Router, ActivatedRoute, UrlTree } from '@angular/router';
7
-
8
- interface LinkTranslate {
9
- external: string;
10
- }
8
+ import { LuTranslation } from '@lucca-front/ng/core';
11
9
 
12
10
  declare class LuRouterLink extends RouterLink {
13
11
  constructor(router: Router, route: ActivatedRoute, tabIndexAttribute: string | null | undefined, renderer: Renderer2, el: ElementRef, locationStrategy?: LocationStrategy);
@@ -18,7 +16,7 @@ declare class LuRouterLink extends RouterLink {
18
16
 
19
17
  declare class LinkComponent {
20
18
  #private;
21
- readonly intl: _angular_core.InputSignalWithTransform<LinkTranslate, Partial<LinkTranslate>>;
19
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_link.LinkTranslate, Partial<_lucca_front_ng_link.LinkTranslate>>;
22
20
  readonly routerLink: LuRouterLink;
23
21
  readonly router: Router;
24
22
  readonly location: Location;
@@ -48,13 +46,24 @@ declare class LinkComponent {
48
46
  * External icon only visible on hover/focus
49
47
  */
50
48
  readonly hiddenIcon: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
49
+ /**
50
+ * Renders the link with the default text color instead of the link color
51
+ */
52
+ readonly neutral: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
51
53
  hrefBackup: string;
52
54
  constructor();
53
55
  redirect(): void;
54
56
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LinkComponent, never>;
55
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkComponent, "a[luLink], button[luLink]", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "luHref": { "alias": "href"; "required": false; "isSignal": true; }; "routerLinkCommands": { "alias": "luLink"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "decorationHover": { "alias": "decorationHover"; "required": false; "isSignal": true; }; "external": { "alias": "external"; "required": false; "isSignal": true; }; "hiddenIcon": { "alias": "hiddenIcon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof LuRouterLink; inputs: { "preserveFragment": "preserveFragment"; "skipLocationChange": "skipLocationChange"; "replaceUrl": "replaceUrl"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "state": "state"; "info": "info"; "relativeTo": "relativeTo"; }; outputs: {}; }]>;
57
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkComponent, "a[luLink], button[luLink]", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "luHref": { "alias": "href"; "required": false; "isSignal": true; }; "routerLinkCommands": { "alias": "luLink"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "decorationHover": { "alias": "decorationHover"; "required": false; "isSignal": true; }; "external": { "alias": "external"; "required": false; "isSignal": true; }; "hiddenIcon": { "alias": "hiddenIcon"; "required": false; "isSignal": true; }; "neutral": { "alias": "neutral"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof LuRouterLink; inputs: { "preserveFragment": "preserveFragment"; "skipLocationChange": "skipLocationChange"; "replaceUrl": "replaceUrl"; "queryParams": "queryParams"; "fragment": "fragment"; "queryParamsHandling": "queryParamsHandling"; "state": "state"; "info": "info"; "relativeTo": "relativeTo"; }; outputs: {}; }]>;
56
58
  }
57
59
 
58
60
  declare const LU_LINK_INSTANCE: InjectionToken<boolean>;
59
61
 
60
- export { LU_LINK_INSTANCE, LinkComponent, LuRouterLink };
62
+ declare const LU_LINK_TRANSLATIONS: InjectionToken<LuTranslation<LinkTranslate>>;
63
+ interface LinkTranslate {
64
+ external: string;
65
+ }
66
+ declare const luLinkTranslations: LuTranslation<LinkTranslate>;
67
+
68
+ export { LU_LINK_INSTANCE, LU_LINK_TRANSLATIONS, LinkComponent, LuRouterLink, luLinkTranslations };
69
+ export type { LinkTranslate };
@@ -0,0 +1,24 @@
1
+ import * as _angular_core from '@angular/core';
2
+
3
+ declare class MarkdownComponent {
4
+ readonly content: _angular_core.InputSignal<string>;
5
+ readonly headingLevel: _angular_core.InputSignalWithTransform<number, unknown>;
6
+ protected html: _angular_core.Signal<string>;
7
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarkdownComponent, never>;
8
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MarkdownComponent, "lu-markdown", never, { "content": { "alias": "content"; "required": true; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9
+ }
10
+
11
+ interface RenderMarkdownOptions {
12
+ /**
13
+ * Heading level used for the top-level markdown heading (`# Heading`), the following ones being nested from it.
14
+ * Set it to the level that keeps the document outline valid where the markdown is displayed: with `2`,
15
+ * `# Heading` renders a `<h2 class="pr-u-h1">`, keeping the heading semantics clean while preserving its style.
16
+ *
17
+ * @default 1
18
+ */
19
+ headingLevel?: number;
20
+ }
21
+ declare function renderMarkdown(content: string, { headingLevel }?: RenderMarkdownOptions): string;
22
+
23
+ export { MarkdownComponent, renderMarkdown };
24
+ export type { RenderMarkdownOptions };
@@ -1,17 +1,10 @@
1
1
  import * as _angular_core from '@angular/core';
2
-
3
- interface MobilePushTranslate {
4
- urlAppStore: string;
5
- urlGooglePlay: string;
6
- altAppStore: string;
7
- altGooglePlay: string;
8
- srcAppStore: string;
9
- srcGooglePlay: string;
10
- newTab: string;
11
- }
2
+ import { InjectionToken } from '@angular/core';
3
+ import * as _lucca_front_ng_mobile_push from '@lucca-front/ng/mobile-push';
4
+ import { LuTranslation } from '@lucca-front/ng/core';
12
5
 
13
6
  declare class MobilePushComponent {
14
- readonly intl: _angular_core.InputSignalWithTransform<MobilePushTranslate, Partial<MobilePushTranslate>>;
7
+ readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_mobile_push.MobilePushTranslate, Partial<_lucca_front_ng_mobile_push.MobilePushTranslate>>;
15
8
  /**
16
9
  * Emit event when appStoreLink is clicked
17
10
  */
@@ -24,4 +17,17 @@ declare class MobilePushComponent {
24
17
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MobilePushComponent, "lu-mobile-push", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; }, { "appStoreLinkClicked": "appStoreLinkClicked"; "googlePlayLinkClicked": "googlePlayLinkClicked"; }, never, ["*"], true, never>;
25
18
  }
26
19
 
27
- export { MobilePushComponent };
20
+ declare const LU_MOBILE_PUSH_TRANSLATIONS: InjectionToken<LuTranslation<MobilePushTranslate>>;
21
+ interface MobilePushTranslate {
22
+ urlAppStore: string;
23
+ urlGooglePlay: string;
24
+ altAppStore: string;
25
+ altGooglePlay: string;
26
+ srcAppStore: string;
27
+ srcGooglePlay: string;
28
+ newTab: string;
29
+ }
30
+ declare const luMobilePushTranslations: LuTranslation<MobilePushTranslate>;
31
+
32
+ export { LU_MOBILE_PUSH_TRANSLATIONS, MobilePushComponent, luMobilePushTranslations };
33
+ export type { MobilePushTranslate };
@@ -8,6 +8,7 @@ import { LuPluralForms, LuTranslation } from '@lucca-front/ng/core';
8
8
  import * as rxjs from 'rxjs';
9
9
  import { Subject, BehaviorSubject } from 'rxjs';
10
10
  import { Overlay, OverlayPositionBuilder, ScrollStrategyOptions, OverlayConfig, ConnectedPosition } from '@angular/cdk/overlay';
11
+ import { LuDialogService } from '@lucca-front/ng/dialog';
11
12
  import * as i1 from '@lucca-front/ng/form-field';
12
13
  import { LuOptionComparer } from '@lucca-front/ng/option';
13
14
 
@@ -36,6 +37,7 @@ declare class LuMultiSelectPanelRefFactory {
36
37
  protected positionBuilder: OverlayPositionBuilder;
37
38
  protected scrollStrategies: ScrollStrategyOptions;
38
39
  protected parentInjector: Injector;
40
+ protected dialogService: LuDialogService;
39
41
  private selectLabelId;
40
42
  private selectId;
41
43
  buildPanelRef<T>(selectInput: LuMultiSelectInputComponent<T>, defaultOverlayConfigOverride?: OverlayConfig): LuMultiSelectPanelRef<T>;
@@ -216,6 +218,13 @@ declare class LuMultiSelectDisplayerInputDirective<T> implements OnInit {
216
218
  readonly context: ILuOptionContext<T[]>;
217
219
  readonly elementRef: ElementRef<HTMLInputElement>;
218
220
  readonly destroyRef: DestroyRef;
221
+ /**
222
+ * Below the `S` breakpoint the panel opens as a modal sheet carrying its own search input, so this
223
+ * element is only ever a trigger and the displayers render it as a `<button>`. Typing into it is
224
+ * impossible by then, and an `<input>` would make iOS raise the software keyboard on a field the
225
+ * sheet is about to cover.
226
+ */
227
+ get isButton(): boolean;
219
228
  get panelOpen(): boolean;
220
229
  get activeDescendant(): string;
221
230
  get controls(): string;
@@ -226,7 +235,7 @@ declare class LuMultiSelectDisplayerInputDirective<T> implements OnInit {
226
235
  constructor();
227
236
  ngOnInit(): void;
228
237
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<LuMultiSelectDisplayerInputDirective<any>, never>;
229
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<LuMultiSelectDisplayerInputDirective<any>, "[luMultiSelectDisplayerInput]", never, {}, {}, never, never, true, [{ directive: typeof i1.InputDirective; inputs: {}; outputs: {}; }]>;
238
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<LuMultiSelectDisplayerInputDirective<any>, "[luMultiSelectDisplayerInput]", ["luMultiSelectDisplayerInput"], {}, {}, never, never, true, [{ directive: typeof i1.InputDirective; inputs: { "luInputLabelledBy": "luInputLabelledBy"; }; outputs: {}; }]>;
230
239
  }
231
240
 
232
241
  declare class LuMultiDisplayerDirective<T> {