@lucca-front/ng 22.0.5 → 22.0.6-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (264) hide show
  1. package/README.md +6 -0
  2. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +5 -4
  3. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-dialog.mjs +22 -15
  5. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-filter-pills.mjs +4 -4
  7. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-scroll.mjs +2 -3
  9. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  10. package/llms/SKILL.md +248 -0
  11. package/llms/references/components/activity-feed/activity-feed.component.md +292 -0
  12. package/llms/references/components/activity-feed/activity-feed.md +90 -0
  13. package/llms/references/components/animations/animations.component.md +11 -0
  14. package/llms/references/components/animations/animations.md +7 -0
  15. package/llms/references/components/api-select/api-select.md +40 -0
  16. package/llms/references/components/app-layout/app-layout.component.md +65 -0
  17. package/llms/references/components/app-layout/app-layout.md +81 -0
  18. package/llms/references/components/approbation-inbox/approbation-inbox.component.md +960 -0
  19. package/llms/references/components/approbation-inbox/approbation-inbox.md +135 -0
  20. package/llms/references/components/avatar/avatar.component.md +563 -0
  21. package/llms/references/components/avatar/avatar.md +93 -0
  22. package/llms/references/components/box/box.component.md +119 -0
  23. package/llms/references/components/box/box.md +88 -0
  24. package/llms/references/components/breadcrumbs/breadcrumbs.component.md +59 -0
  25. package/llms/references/components/breadcrumbs/breadcrumbs.md +87 -0
  26. package/llms/references/components/bubble-icon/bubble-icon.component.md +56 -0
  27. package/llms/references/components/bubble-icon/bubble-icon.md +72 -0
  28. package/llms/references/components/bubble-illustration/bubble-illustration.component.md +54 -0
  29. package/llms/references/components/bubble-illustration/bubble-illustration.md +77 -0
  30. package/llms/references/components/button/button.component.md +252 -0
  31. package/llms/references/components/button/button.md +124 -0
  32. package/llms/references/components/calendar/calendar.component.md +708 -0
  33. package/llms/references/components/calendar/calendar.md +104 -0
  34. package/llms/references/components/calendar2/calendar2.md +64 -0
  35. package/llms/references/components/callout/callout.component.md +237 -0
  36. package/llms/references/components/callout/callout.md +243 -0
  37. package/llms/references/components/callout-disclosure/callout-disclosure.component.md +230 -0
  38. package/llms/references/components/callout-disclosure/callout-disclosure.md +196 -0
  39. package/llms/references/components/callout-popover/callout-popover.component.md +170 -0
  40. package/llms/references/components/callout-popover/callout-popover.md +201 -0
  41. package/llms/references/components/card/card.component.md +62 -0
  42. package/llms/references/components/card/card.md +8 -0
  43. package/llms/references/components/checkbox/checkbox.component.md +50 -0
  44. package/llms/references/components/checkbox/checkbox.md +74 -0
  45. package/llms/references/components/chip/chip.component.md +131 -0
  46. package/llms/references/components/chip/chip.md +95 -0
  47. package/llms/references/components/clear/clear.component.md +38 -0
  48. package/llms/references/components/clear/clear.md +79 -0
  49. package/llms/references/components/code/code.component.md +33 -0
  50. package/llms/references/components/code/code.md +47 -0
  51. package/llms/references/components/color/color.md +32 -0
  52. package/llms/references/components/color-input/color-input.md +33 -0
  53. package/llms/references/components/color-picker/color-picker.component.md +29 -0
  54. package/llms/references/components/color-picker/color-picker.md +25 -0
  55. package/llms/references/components/comment/comment.component.md +436 -0
  56. package/llms/references/components/comment/comment.md +125 -0
  57. package/llms/references/components/container/container.component.md +41 -0
  58. package/llms/references/components/container/container.md +74 -0
  59. package/llms/references/components/core-select-department/core-select-department.md +37 -0
  60. package/llms/references/components/core-select-establishment/core-select-establishment.md +40 -0
  61. package/llms/references/components/core-select-job-qualification/core-select-job-qualification.md +25 -0
  62. package/llms/references/components/core-select-occupation-category/core-select-occupation-category.md +25 -0
  63. package/llms/references/components/core-select-user/core-select-user.md +75 -0
  64. package/llms/references/components/data-presentation/data-presentation.component.md +47 -0
  65. package/llms/references/components/data-presentation/data-presentation.md +49 -0
  66. package/llms/references/components/data-table/data-table.component.md +1603 -0
  67. package/llms/references/components/data-table/data-table.md +290 -0
  68. package/llms/references/components/date/date.component.md +31 -0
  69. package/llms/references/components/date/date.md +140 -0
  70. package/llms/references/components/dateinput/dateinput.component.md +99 -0
  71. package/llms/references/components/dateinput/dateinput.md +198 -0
  72. package/llms/references/components/daterangeinput/daterangeinput.component.md +49 -0
  73. package/llms/references/components/daterangeinput/daterangeinput.md +186 -0
  74. package/llms/references/components/departmentselect/departmentselect.component.md +43 -0
  75. package/llms/references/components/departmentselect/departmentselect.md +43 -0
  76. package/llms/references/components/dialog/dialog.component.md +462 -0
  77. package/llms/references/components/dialog/dialog.md +335 -0
  78. package/llms/references/components/divider/divider.component.md +35 -0
  79. package/llms/references/components/divider/divider.md +88 -0
  80. package/llms/references/components/dropdown/dropdown.component.md +272 -0
  81. package/llms/references/components/dropdown/dropdown.md +172 -0
  82. package/llms/references/components/duration-picker/duration-picker.md +155 -0
  83. package/llms/references/components/empty-state/empty-state.component.md +226 -0
  84. package/llms/references/components/empty-state/empty-state.md +62 -0
  85. package/llms/references/components/errorpage/errorpage.component.md +57 -0
  86. package/llms/references/components/errorpage/errorpage.md +75 -0
  87. package/llms/references/components/establishmentselect/establishmentselect.component.md +30 -0
  88. package/llms/references/components/establishmentselect/establishmentselect.md +42 -0
  89. package/llms/references/components/fancy-dialog/fancy-dialog.component.md +9 -0
  90. package/llms/references/components/fancy-dialog/fancy-dialog.md +107 -0
  91. package/llms/references/components/fancybox/fancybox.component.md +48 -0
  92. package/llms/references/components/fancybox/fancybox.md +75 -0
  93. package/llms/references/components/fieldset/fieldset.component.md +86 -0
  94. package/llms/references/components/fieldset/fieldset.md +119 -0
  95. package/llms/references/components/filedropzone/filedropzone.component.md +16 -0
  96. package/llms/references/components/filedropzone/filedropzone.md +61 -0
  97. package/llms/references/components/fileentry/fileentry.component.md +58 -0
  98. package/llms/references/components/fileentry/fileentry.md +246 -0
  99. package/llms/references/components/fileupload/fileupload.component.md +91 -0
  100. package/llms/references/components/fileupload/fileupload.md +246 -0
  101. package/llms/references/components/filterbar/filterbar.component.md +302 -0
  102. package/llms/references/components/filterbar/filterbar.md +134 -0
  103. package/llms/references/components/filterpills/filterpills.component.md +60 -0
  104. package/llms/references/components/filterpills/filterpills.md +180 -0
  105. package/llms/references/components/footer/footer.component.md +66 -0
  106. package/llms/references/components/footer/footer.md +115 -0
  107. package/llms/references/components/form/form.md +37 -0
  108. package/llms/references/components/form-field/form-field.component.md +46 -0
  109. package/llms/references/components/form-field/form-field.md +231 -0
  110. package/llms/references/components/form-header/form-header.md +29 -0
  111. package/llms/references/components/form-label/form-label.component.md +106 -0
  112. package/llms/references/components/form-label/form-label.md +98 -0
  113. package/llms/references/components/gauge/gauge.component.md +55 -0
  114. package/llms/references/components/gauge/gauge.md +73 -0
  115. package/llms/references/components/grid/grid.component.md +15 -0
  116. package/llms/references/components/grid/grid.md +112 -0
  117. package/llms/references/components/highlight-data/highlight-data.component.md +279 -0
  118. package/llms/references/components/highlight-data/highlight-data.md +115 -0
  119. package/llms/references/components/highlight-section/highlight-section.component.md +185 -0
  120. package/llms/references/components/highlight-section/highlight-section.md +48 -0
  121. package/llms/references/components/highlight-text/highlight-text.component.md +49 -0
  122. package/llms/references/components/highlight-text/highlight-text.md +29 -0
  123. package/llms/references/components/horizontalnavigation/horizontalnavigation.component.md +232 -0
  124. package/llms/references/components/horizontalnavigation/horizontalnavigation.md +95 -0
  125. package/llms/references/components/icons/icons.component.md +59 -0
  126. package/llms/references/components/icons/icons.md +185 -0
  127. package/llms/references/components/impersonation/impersonation.component.md +52 -0
  128. package/llms/references/components/impersonation/impersonation.md +52 -0
  129. package/llms/references/components/index-table/index-table.component.md +2528 -0
  130. package/llms/references/components/index-table/index-table.md +243 -0
  131. package/llms/references/components/inlinemessage/inlinemessage.component.md +58 -0
  132. package/llms/references/components/inlinemessage/inlinemessage.md +57 -0
  133. package/llms/references/components/input-framed/input-framed.component.md +714 -0
  134. package/llms/references/components/input-framed/input-framed.md +50 -0
  135. package/llms/references/components/link/link.component.md +153 -0
  136. package/llms/references/components/link/link.md +124 -0
  137. package/llms/references/components/listbox/listbox.component.md +11 -0
  138. package/llms/references/components/listbox/listbox.md +101 -0
  139. package/llms/references/components/listing/listing.component.md +366 -0
  140. package/llms/references/components/listing/listing.md +105 -0
  141. package/llms/references/components/loading/loading.component.md +37 -0
  142. package/llms/references/components/loading/loading.md +91 -0
  143. package/llms/references/components/main-layout/main-layout.component.md +146 -0
  144. package/llms/references/components/main-layout/main-layout.md +78 -0
  145. package/llms/references/components/mobile-push/mobile-push.component.md +62 -0
  146. package/llms/references/components/mobile-push/mobile-push.md +70 -0
  147. package/llms/references/components/mobileheader/mobileheader.component.md +31 -0
  148. package/llms/references/components/mobileheader/mobileheader.md +8 -0
  149. package/llms/references/components/mobilenavigation/mobilenavigation.component.md +43 -0
  150. package/llms/references/components/mobilenavigation/mobilenavigation.md +8 -0
  151. package/llms/references/components/modal/modal.component.md +37 -0
  152. package/llms/references/components/modal/modal.md +61 -0
  153. package/llms/references/components/multi-select/multi-select.component.md +39 -0
  154. package/llms/references/components/multi-select/multi-select.md +426 -0
  155. package/llms/references/components/multilanguagefield/multilanguagefield.component.md +84 -0
  156. package/llms/references/components/multilanguagefield/multilanguagefield.md +362 -0
  157. package/llms/references/components/newbadge/newbadge.component.md +23 -0
  158. package/llms/references/components/newbadge/newbadge.md +38 -0
  159. package/llms/references/components/number-format-input/number-format-input.md +46 -0
  160. package/llms/references/components/number-input/number-input.md +49 -0
  161. package/llms/references/components/numbers/numbers.component.md +46 -0
  162. package/llms/references/components/numbers/numbers.md +7 -0
  163. package/llms/references/components/numericbadge/numericbadge.component.md +66 -0
  164. package/llms/references/components/numericbadge/numericbadge.md +84 -0
  165. package/llms/references/components/onboarding-empty-state/onboarding-empty-state.md +47 -0
  166. package/llms/references/components/pageheader/pageheader.component.md +389 -0
  167. package/llms/references/components/pageheader/pageheader.md +144 -0
  168. package/llms/references/components/pagination/pagination.component.md +96 -0
  169. package/llms/references/components/pagination/pagination.md +107 -0
  170. package/llms/references/components/phonenumberfield/phonenumberfield.component.md +35 -0
  171. package/llms/references/components/phonenumberfield/phonenumberfield.md +131 -0
  172. package/llms/references/components/plg-push/plg-push.component.md +91 -0
  173. package/llms/references/components/plg-push/plg-push.md +82 -0
  174. package/llms/references/components/popover/popover.component.md +130 -0
  175. package/llms/references/components/popover/popover.md +235 -0
  176. package/llms/references/components/popover2/popover2.component.md +103 -0
  177. package/llms/references/components/popover2/popover2.md +89 -0
  178. package/llms/references/components/progress-bar/progress-bar.component.md +33 -0
  179. package/llms/references/components/progress-bar/progress-bar.md +51 -0
  180. package/llms/references/components/progress-stepper/progress-stepper.component.md +281 -0
  181. package/llms/references/components/progress-stepper/progress-stepper.md +70 -0
  182. package/llms/references/components/radiofield/radiofield.component.md +295 -0
  183. package/llms/references/components/radiofield/radiofield.md +122 -0
  184. package/llms/references/components/readmore/readmore.component.md +60 -0
  185. package/llms/references/components/readmore/readmore.md +88 -0
  186. package/llms/references/components/resource-card/resource-card.component.md +216 -0
  187. package/llms/references/components/resource-card/resource-card.md +106 -0
  188. package/llms/references/components/richtextinput/richtextinput.component.md +298 -0
  189. package/llms/references/components/richtextinput/richtextinput.md +275 -0
  190. package/llms/references/components/scroll/scroll.md +45 -0
  191. package/llms/references/components/scrollbox/scrollbox.component.md +63 -0
  192. package/llms/references/components/scrollbox/scrollbox.md +49 -0
  193. package/llms/references/components/section-empty-state/section-empty-state.component.md +9 -0
  194. package/llms/references/components/section-empty-state/section-empty-state.md +41 -0
  195. package/llms/references/components/segmented-control-tabs/segmented-control-tabs.md +50 -0
  196. package/llms/references/components/segmentedcontrol/segmentedcontrol.component.md +198 -0
  197. package/llms/references/components/segmentedcontrol/segmentedcontrol.md +108 -0
  198. package/llms/references/components/select/select.component.md +237 -0
  199. package/llms/references/components/select/select.md +57 -0
  200. package/llms/references/components/select-templating/select-templating.md +117 -0
  201. package/llms/references/components/sidepanel/sidepanel.component.md +56 -0
  202. package/llms/references/components/sidepanel/sidepanel.md +7 -0
  203. package/llms/references/components/simple-select/simple-select.component.md +39 -0
  204. package/llms/references/components/simple-select/simple-select.md +291 -0
  205. package/llms/references/components/skeleton/skeleton.component.md +133 -0
  206. package/llms/references/components/skeleton/skeleton.md +212 -0
  207. package/llms/references/components/skiplinks/skiplinks.component.md +91 -0
  208. package/llms/references/components/skiplinks/skiplinks.md +73 -0
  209. package/llms/references/components/software-icon/software-icon.component.md +61 -0
  210. package/llms/references/components/software-icon/software-icon.md +107 -0
  211. package/llms/references/components/sortable-list/sortable-list.component.md +141 -0
  212. package/llms/references/components/sortable-list/sortable-list.md +84 -0
  213. package/llms/references/components/statusbadge/statusbadge.component.md +56 -0
  214. package/llms/references/components/statusbadge/statusbadge.md +63 -0
  215. package/llms/references/components/switchfield/switchfield.component.md +114 -0
  216. package/llms/references/components/switchfield/switchfield.md +56 -0
  217. package/llms/references/components/tableofcontent/tableofcontent.component.md +55 -0
  218. package/llms/references/components/tableofcontent/tableofcontent.md +41 -0
  219. package/llms/references/components/tags/tags.component.md +112 -0
  220. package/llms/references/components/tags/tags.md +115 -0
  221. package/llms/references/components/text-flow/text-flow.component.md +71 -0
  222. package/llms/references/components/text-flow/text-flow.md +63 -0
  223. package/llms/references/components/textareafield/textareafield.component.md +69 -0
  224. package/llms/references/components/textareafield/textareafield.md +113 -0
  225. package/llms/references/components/textfield/textfield.component.md +617 -0
  226. package/llms/references/components/textfield/textfield.md +161 -0
  227. package/llms/references/components/tile/tile.component.md +91 -0
  228. package/llms/references/components/tile/tile.md +92 -0
  229. package/llms/references/components/time/time.component.md +270 -0
  230. package/llms/references/components/time/time.md +127 -0
  231. package/llms/references/components/time-picker/time-picker.md +63 -0
  232. package/llms/references/components/timelines/timelines.component.md +159 -0
  233. package/llms/references/components/timelines/timelines.md +8 -0
  234. package/llms/references/components/title-and-text/title-and-text.component.md +14 -0
  235. package/llms/references/components/title-and-text/title-and-text.md +60 -0
  236. package/llms/references/components/toasts/toasts.component.md +54 -0
  237. package/llms/references/components/toasts/toasts.md +112 -0
  238. package/llms/references/components/tooltip/tooltip.component.md +86 -0
  239. package/llms/references/components/tooltip/tooltip.md +217 -0
  240. package/llms/references/components/treeselect/treeselect.component.md +62 -0
  241. package/llms/references/components/treeselect/treeselect.md +58 -0
  242. package/llms/references/components/user-select/user-select.md +52 -0
  243. package/llms/references/components/userpopover/userpopover.component.md +50 -0
  244. package/llms/references/components/userpopover/userpopover.md +136 -0
  245. package/llms/references/components/verticalnavigation/verticalnavigation.component.md +236 -0
  246. package/llms/references/components/verticalnavigation/verticalnavigation.md +115 -0
  247. package/llms/references/migrations.md +32 -0
  248. package/llms/references/tools/angular-api.md +337 -0
  249. package/llms/references/tools/animations.md +173 -0
  250. package/llms/references/tools/mixins.md +106 -0
  251. package/llms/references/tools/numbers.md +81 -0
  252. package/llms/references/tools/scrollbox.md +59 -0
  253. package/llms/references/tools/utilitaires.md +951 -0
  254. package/llms/references/types/BubbleIllustration.md +5 -0
  255. package/llms/references/types/DecorativePalette.md +5 -0
  256. package/llms/references/types/Gap.md +5 -0
  257. package/llms/references/types/HighlightDataIllustration.md +5 -0
  258. package/llms/references/types/HighlightSectionIllustration.md +5 -0
  259. package/llms/references/types/LuccaIcon.md +5 -0
  260. package/llms/references/types/MainLayoutIllustrationEndStart.md +5 -0
  261. package/llms/references/types/MainLayoutIllustrationStartEnd.md +5 -0
  262. package/llms.txt +221 -0
  263. package/package.json +12 -6
  264. package/types/lucca-front-ng-approbation-inbox.d.ts +3 -3
@@ -0,0 +1,298 @@
1
+ # richtextinput — Code & Implementation
2
+
3
+ 📖 [Storybook documentation](https://lucca-front.lucca.io/v22.0.0/storybook/?path=/docs/documentation-forms-fields-richtextinput-angular--docs)
4
+
5
+ ## Angular
6
+
7
+ RichTextInput (`lu-rich-text-input`) est basé sur [Lexical](https://lexical.dev/).
8
+
9
+ Component selector : `lu-rich-text-input`
10
+
11
+ ### Dépendances
12
+
13
+ Avant toute utilisation de `lu-rich-text-input`, il est nécessaire d'ajouter les `peerDependencies` suivantes à votre projet :
14
+
15
+ En fonction du format désiré en entrée / sortie du composant, les dépendances suivantes doivent être installées:
16
+
17
+ - HTML
18
+
19
+ - Markdown
20
+
21
+ - Plain text
22
+
23
+ ### Formats d'entrée/sortie
24
+ Avant toute utilisation du composant, il est nécessaire de définir le formateur à utiliser.
25
+
26
+ Trois formateurs par défaut sont disponibles : sous forme de directives ou de services à provide au niveau du composant parent.
27
+
28
+ #### Markdown
29
+
30
+ * Directives disponibles :
31
+ * `luWithMarkdownFormatter` : formateur markdown classique, avec les balises markdown standards.
32
+ * `luWithMarkdownTagsFormatter` : formateur markdown avec support des [tags personnalisés](#TagTool).
33
+
34
+ * Providers
35
+
36
+ #### Plain Text
37
+
38
+ Ce formateur accepte en paramètres une liste optionnelle de `PlainTextTransformer` pour les noeuds custom.
39
+
40
+ Il peut être utilisé dans des contextes où le formatage riche n'est pas désiré, mais où l'on souhaite tout de même bénéficier d'un outil en particulier (l'outil [Tags](#TagTool) par exemple).
41
+
42
+ En conséquent:
43
+ - La plupart des outils n'auront aucun effet sur le contenu de l'éditeur.
44
+ - Il n'intègre pas les raccourcis clavier de formatage de texte (gras, italique, listes, etc...).
45
+ - La récupération du contenu se fait en texte brut lors du copier/coller.
46
+
47
+ ### Barre d'outils
48
+
49
+ La barre d'outils du `lu-rich-text-input` est configuré directement depuis le template.
50
+
51
+ Pour plus de simplicité, une barre d'outil par défaut est mise à disposition.
52
+
53
+ Il est aussi possible de créer une barre d'outil personnalisée en assemblant les outils existant et en y ajoutant de nouvelles fonctionnalités.
54
+
55
+ Il est nécessaire d'avoir la barre d'outil pour utiliser les noeuds Lexical correspondants aux outils.
56
+ Pour cacher la barre d'outil tout en gardant les fonctionnalités, il est possible d'utiliser le composant `lu-rich-text-input` avec l'attribut `hideToolbar`.
57
+
58
+ #### Styles
59
+
60
+ - Bouton de style individuel
61
+
62
+ - Barre préconfigurée (Gras, Italique, Souligné)
63
+
64
+ #### Listes
65
+
66
+ - Barre préconfigurée (Puces, Numérotées)
67
+
68
+ #### Titres
69
+
70
+ - Barre préconfigurée (Paragraphe, H1, H2, H3...)
71
+
72
+ #### Liens
73
+
74
+ - Outil individuel
75
+
76
+ #### Suppression du formatage
77
+
78
+ - Outil individuel
79
+
80
+ #### <a id="TagTool"></a>Tag
81
+
82
+ - Outil individuel
83
+
84
+ L'outil prend en paramètre une liste de tag personnalisés, qu'il est possible d'insérer dans le contenu de l'éditeur, sous forme de chips.
85
+
86
+ Chaque tag est un objet avec une clé et une description optionnelle. La clé est utilisée pour l'insertion dans le contenu réel de l'éditeur, la description est uniquement utilisée pour la représentation visuelle de la balise.
87
+
88
+ Si la description n'est pas fournie, la clé sera utilisée à la place.
89
+
90
+ Les tags ont la forme `{{tag.key}}` dans le contenu brut en entrée/sortie de l'éditeur.
91
+ Si le contenu en entrée de l'éditeur contient des tags non reconnus par l'outil, ils seront automatiquement supprimés.
92
+
93
+ Pour gérer les tags en markdown ou en plain-text, il est nécessaire de fournir le transformer approprié.
94
+
95
+ ### Ajout d'outils personnalisés
96
+
97
+ Les outils sont des composants implémentant l'interface `RichTextPluginComponent`. Cette interface est utilisée pour les outils et les barres d'outils.
98
+ Elle définit plusieurs méthodes et propriétés:
99
+
100
+ - `setEditorInstance(editor: LexicalEditor)` : Permet de récupérer l'instance de l'éditeur lexical lors de sa création, ce qui permet par exemple de s'abonner aux évènements Lexical.
101
+ - `setDisabledState(isDisabled: boolean)` : Permet de gérer l'état désactivé de l'outil.
102
+ - `getLexicalNodes()` : Optionnel. Renvoie les noeuds Lexical spécifiques à l'outil.
103
+ - `focus()` : Optionnel. Permet de définir le comportement de focus de l'outil.
104
+ - `pluginComponents`: Optionnel. `Signal` renvoyant les plugin internes à l'outil, s'il y en a (utilisé par exemple pour les barres d'outils).
105
+ - `tabindex`: Optionnel. `WritableSignal<number>` à appliquer sur l'élément de l'outil qui prend le tabindex lors de la navigation clavier.
106
+
107
+ Attention: si l'outil s'abonne à des évènements Lexical, il est faut penser à se désabonner lors de la destruction du composant.
108
+
109
+ ### Ajout de formateurs personnalisés
110
+
111
+ Il est possible d'ajouter des formateurs personnalisés pour le `lu-rich-text-input`. Pour cela, il faut créer une classe qui implémente l'interface `RichTextFormatter`.
112
+
113
+ ### Text input
114
+
115
+ ```js
116
+ import { FormFieldComponent } from '@lucca-front/ng/form-field';
117
+ import { RichTextInputComponent, RichTextInputToolbarComponent } from '@lucca-front/ng/forms/rich-text-input';
118
+ import { provideLuRichTextMarkdownFormatter } from '@lucca-front/ng/forms/rich-text-input/formatters/markdown';
119
+ import { provideLuRichTextHTMLFormatter } from '@lucca-front/ng/forms/rich-text-input/formatters/html';
120
+ import { RichTextInputComponent, RichTextInputToolbarComponent, RichTextPluginTagComponent } from '@lucca-front/ng/forms/rich-text-input';
121
+ import { provideLuRichTextPlainTextFormatter } from '@lucca-front/ng/forms/rich-text-input/formatters/plain-textplain-text';
122
+ ```
123
+
124
+ ```html
125
+ <lu-form-field label="Label">
126
+ <lu-rich-text-input
127
+ luWithMarkdownFormatter
128
+ placeholder="Placeholder…"
129
+ autoResize
130
+ [(ngModel)]="model.example"
131
+ [disabled]="disabled"
132
+ [required]="required"
133
+ >
134
+ <lu-rich-text-input-toolbar />
135
+ </lu-rich-text-input>
136
+ </lu-form-field>
137
+ <pr-story-model-display>{{ model.example }}</pr-story-model-display>
138
+ ```
139
+
140
+ ```html
141
+ <lu-form-field label="Label">
142
+ <lu-rich-text-input
143
+ luWithHtmlFormatter
144
+ placeholder="Placeholder…"
145
+ autoResize
146
+ [(ngModel)]="model.example"
147
+ [disabled]="disabled"
148
+ [required]="required"
149
+ >
150
+ <lu-rich-text-input-toolbar />
151
+ <lu-rich-text-plugin-tag
152
+ [tags]="[
153
+ {
154
+ key: 'tag1',
155
+ description: 'Tag 1',
156
+ },
157
+ {
158
+ key: 'tag2',
159
+ description: 'Tag 2',
160
+ },
161
+ {
162
+ key: 'tag3',
163
+ description: 'Tag 3',
164
+ },
165
+ {
166
+ key: 'tag4',
167
+ description: 'Tag 4',
168
+ secondary: true,
169
+ },
170
+ {
171
+ key: 'tag5',
172
+ description: 'Prénom',
173
+ secondary: true,
174
+ },
175
+ {
176
+ key: 'tag6',
177
+ description: 'Téléphone',
178
+ secondary: true,
179
+ },
180
+ ]"
181
+ />
182
+ </lu-rich-text-input>
183
+ </lu-form-field>
184
+ <pr-story-model-display>{{ model.example }}</pr-story-model-display>
185
+ ```
186
+
187
+ ```html
188
+ <lu-form-field label="Label">
189
+ <lu-rich-text-input
190
+ luWithHtmlFormatter
191
+ placeholder="Placeholder…"
192
+ autoResize
193
+ [(ngModel)]="model.example"
194
+ [disabled]="disabled"
195
+ [required]="required"
196
+ >
197
+ <lu-rich-text-input-toolbar />
198
+ </lu-rich-text-input>
199
+ </lu-form-field>
200
+ <pr-story-model-display>{{ model.example }}</pr-story-model-display>
201
+ ```
202
+
203
+ ```html
204
+ <lu-form-field label="Label">
205
+ <lu-rich-text-input
206
+ luWithHtmlFormatter
207
+ placeholder="Placeholder…"
208
+ autoResize
209
+ [(ngModel)]="model.example"
210
+ [disabled]="disabled"
211
+ [required]="required"
212
+ >
213
+ <lu-rich-text-input-toolbar />
214
+ <lu-rich-text-plugin-tag
215
+ [tags]="[
216
+ {
217
+ key: 'tag1',
218
+ description: 'Tag 1',
219
+ },
220
+ {
221
+ key: 'tag2',
222
+ description: 'Tag 2',
223
+ },
224
+ {
225
+ key: 'tag3',
226
+ description: 'Tag 3',
227
+ },
228
+ {
229
+ key: 'tag4',
230
+ description: 'Tag 4',
231
+ secondary: true,
232
+ group: 'Groupe 2',
233
+ },
234
+ {
235
+ key: 'tag6',
236
+ description: 'Téléphone',
237
+ secondary: true,
238
+ group: 'Groupe 2',
239
+ },
240
+ {
241
+ key: 'tag5',
242
+ description: 'Prénom',
243
+ secondary: true,
244
+ group: 'Groupe 1',
245
+ },
246
+ ]"
247
+ />
248
+ </lu-rich-text-input>
249
+ </lu-form-field>
250
+ <pr-story-model-display>{{ model.example }}</pr-story-model-display>
251
+ ```
252
+
253
+ ```html
254
+ <lu-form-field label="Label">
255
+ <lu-rich-text-input
256
+ luWithMarkdownTagsFormatter
257
+ placeholder="Placeholder…"
258
+ autoResize
259
+ [(ngModel)]="model.example"
260
+ [disabled]="disabled"
261
+ [required]="required"
262
+ >
263
+ <lu-rich-text-input-toolbar />
264
+ <lu-rich-text-plugin-tag
265
+ [tags]="[
266
+ {
267
+ key: 'tag1',
268
+ description: 'Tag 1',
269
+ },
270
+ {
271
+ key: 'tag2',
272
+ description: 'Tag 2',
273
+ },
274
+ {
275
+ key: 'tag3',
276
+ description: 'Tag 3',
277
+ },
278
+ {
279
+ key: 'tag4',
280
+ description: 'Tag 4',
281
+ secondary: true,
282
+ },
283
+ {
284
+ key: 'tag5',
285
+ description: 'Prénom',
286
+ secondary: true,
287
+ },
288
+ {
289
+ key: 'tag6',
290
+ description: 'Téléphone',
291
+ secondary: true,
292
+ },
293
+ ]"
294
+ />
295
+ </lu-rich-text-input>
296
+ </lu-form-field>
297
+ <pr-story-model-display>{{ model.example }}</pr-story-model-display>
298
+ ```
@@ -0,0 +1,275 @@
1
+ # richtextinput
2
+
3
+ ## Import
4
+
5
+ ```typescript
6
+ import { ClearFormatComponent, HeadingsComponent, LinkComponent, ListStyleToolbarComponent, RichTextPluginTagComponent, TextStyleComponent, TextStyleToolbarComponent, RichTextInputToolbarComponent, RichTextInputComponent } from '@lucca-front/ng/forms/rich-text-input';
7
+ ```
8
+
9
+ ## API Reference
10
+
11
+ ### ClearFormatComponent (component)
12
+
13
+ **Selector:** `lu-rich-text-plugin-clear-format`
14
+
15
+ #### Inputs
16
+
17
+ | Property | Binding name | Type | Default | Required | Transform | Description |
18
+ |----------|-------------|------|---------|----------|-----------|-------------|
19
+ | `intl` | `intl` | `unknown` | — | — | — | — |
20
+
21
+ ### HeadingsComponent (component)
22
+
23
+ **Selector:** `lu-rich-text-plugin-headings`
24
+
25
+ #### Inputs
26
+
27
+ | Property | Binding name | Type | Default | Required | Transform | Description |
28
+ |----------|-------------|------|---------|----------|-----------|-------------|
29
+ | `maxHeadingLevel` | `maxHeadingLevel` | `number` | `6` | — | `luNumberAttribute` | — |
30
+ | `intl` | `intl` | `unknown` | — | — | — | — |
31
+
32
+ ### LinkComponent (component)
33
+
34
+ **Selector:** `lu-rich-text-plugin-link`
35
+
36
+ #### Inputs
37
+
38
+ | Property | Binding name | Type | Default | Required | Transform | Description |
39
+ |----------|-------------|------|---------|----------|-----------|-------------|
40
+ | `intl` | `intl` | `unknown` | — | — | — | — |
41
+
42
+ ### ListStyleToolbarComponent (component)
43
+
44
+ **Selector:** `lu-rich-text-toolbar-list-style`
45
+
46
+ #### Inputs
47
+
48
+ | Property | Binding name | Type | Default | Required | Transform | Description |
49
+ |----------|-------------|------|---------|----------|-----------|-------------|
50
+ | `intl` | `intl` | `unknown` | — | — | — | — |
51
+
52
+ ### RichTextPluginTagComponent (component)
53
+
54
+ **Selector:** `lu-rich-text-plugin-tag`
55
+
56
+ #### Inputs
57
+
58
+ | Property | Binding name | Type | Default | Required | Transform | Description |
59
+ |----------|-------------|------|---------|----------|-----------|-------------|
60
+ | `intl` | `intl` | `unknown` | — | — | — | — |
61
+ | `tags` | `tags` | `Tag[]` | — | ✅ | — | — |
62
+
63
+ ### TextStyleComponent (component)
64
+
65
+ **Selector:** `lu-rich-text-plugin-text-style`
66
+
67
+ #### Inputs
68
+
69
+ | Property | Binding name | Type | Default | Required | Transform | Description |
70
+ |----------|-------------|------|---------|----------|-----------|-------------|
71
+ | `format` | `format` | `TextFormatType` | — | ✅ | — | — |
72
+ | `icon` | `icon` | `LuccaIcon` | — | ✅ | — | — |
73
+ | `tooltip` | `tooltip` | `string` | — | ✅ | — | — |
74
+
75
+ ### TextStyleToolbarComponent (component)
76
+
77
+ **Selector:** `lu-rich-text-toolbar-text-style`
78
+
79
+ #### Inputs
80
+
81
+ | Property | Binding name | Type | Default | Required | Transform | Description |
82
+ |----------|-------------|------|---------|----------|-----------|-------------|
83
+ | `intl` | `intl` | `unknown` | — | — | — | — |
84
+
85
+ ### RichTextInputToolbarComponent (component)
86
+
87
+ **Selector:** `lu-rich-text-input-toolbar`
88
+
89
+ ### RichTextInputComponent (component)
90
+
91
+ **Selector:** `lu-rich-text-input`
92
+
93
+ #### Inputs
94
+
95
+ | Property | Binding name | Type | Default | Required | Transform | Description |
96
+ |----------|-------------|------|---------|----------|-----------|-------------|
97
+ | `placeholder` | `placeholder` | `string` | `''` | — | — | Applique un placeholder au champ. |
98
+ | `disableSpellcheck` | `disableSpellcheck` | `boolean` | `false` | — | `luBooleanAttribute` | Désactive le correcteur d’orthographe. |
99
+ | `autoResize` | `autoResize` | `boolean` | `false` | — | `luBooleanAttribute` | Active / désactive l’autoresize du champ. |
100
+ | `hideToolbar` | `hideToolbar` | `boolean` | `false` | — | `luBooleanAttribute` | Masque les options de mise en forme. |
101
+
102
+ ### Injection tokens
103
+
104
+ | Token | Type | Description |
105
+ |-------|------|-------------|
106
+ | `RICH_TEXT_FORMATTER` | `RichTextFormatter` | — |
107
+ | `RICH_TEXT_PLUGIN_COMPONENT` | `RichTextPluginComponent` | — |
108
+
109
+ ## Type definitions
110
+
111
+ - [`LuccaIcon`](../../types/LuccaIcon.md) — 585 available values
112
+
113
+ ## Related files
114
+
115
+ - 📝 [Code & implementation](./richtextinput.component.md)
116
+ - 🎨 [Design guidelines](https://lucca-front.lucca.io/v22.0.6-rc.1/storybook/llms/references/components/richtextinput/richtextinput.design.md)
117
+ - 🎯 [Figma design tokens](https://lucca-front.lucca.io/v22.0.6-rc.1/storybook/llms/references/components/richtextinput/richtextinput.figma.md)
118
+ - 📖 [Storybook documentation](https://lucca-front.lucca.io/v22.0.0/storybook/?path=/docs/documentation-forms-fields-richtextinput-angular--docs)
119
+
120
+ ## Changelog
121
+
122
+ > Diff structurel de l'API (selectors, inputs, outputs, models) entre versions stables, depuis `v21.4.2` jusqu'à `v22.0.0`. Les versions sans changement d'API sont omises.
123
+
124
+ ### 22.0.0
125
+
126
+ `HeadingsComponent` :
127
+ ~ `maxHeadingLevel` : 1 | 2 | 3 | 4 | 5 | 6 → number, transform ∅ → luNumberAttribute
128
+ `RichTextInputComponent` :
129
+ ~ `disableSpellcheck` : transform booleanAttribute → luBooleanAttribute
130
+ ~ `autoResize` : transform booleanAttribute → luBooleanAttribute
131
+ ~ `hideToolbar` : transform booleanAttribute → luBooleanAttribute
132
+
133
+ ### Notes de release (ZeroHeight)
134
+
135
+ #### 21.3.1
136
+
137
+ ##### Fixed
138
+
139
+ - `Shift` + `Enter` no longer inserts a soft line break inside lists.
140
+ - Pending value initialization is handled, so a value set before the editor is ready is no longer lost.
141
+
142
+ #### 21.3.0
143
+
144
+ ##### Fixed
145
+
146
+ - Already-encoded link URLs are no longer double-encoded.
147
+ - Markdown input is no longer sanitized, preserving the authored content.
148
+
149
+ #### 21.2.3
150
+
151
+ ##### Fixed
152
+
153
+ - Link popover is disabled in `presentation` mode.
154
+
155
+ #### 21.2.1
156
+
157
+ ##### Fixed
158
+
159
+ - The delete button is removed from the link popover for autolinks.
160
+
161
+ #### 21.1.3
162
+
163
+ ##### Fixed
164
+
165
+ - Trailing whitespace issues with markdown (Lexical update).
166
+ - `!` is now a valid character in URLs.
167
+ - Context issues when editing an existing link.
168
+
169
+ #### 21.1.1
170
+
171
+ ##### Fixed
172
+
173
+ - The editor is no longer marked as touched on initialization.
174
+ - Caret position when a tag is added in last position.
175
+ - Input typing of the markdown formatter.
176
+ - Race condition between the child nodes and the editor.
177
+
178
+ #### 21.1.0
179
+
180
+ ##### Added
181
+
182
+ - Formatter directives to declare the output format of the editor (`html`, `markdown`, `plain-text`).
183
+ - `presentation` display mode support.
184
+
185
+ ##### Removed
186
+
187
+ - Underline text style from the toolbar.
188
+
189
+ #### 21.0.1
190
+
191
+ ##### Fixed
192
+
193
+ - The tag plugin and the plain-text formatter no longer depend on `@lexical/markdown`.
194
+
195
+ #### 21.0.0
196
+
197
+ ##### Added
198
+
199
+ - `hideToolbar` input.
200
+ - `focus()` method on the component.
201
+ - Markdown shortcuts while typing.
202
+ - Autolink plugin, turning typed URLs into links.
203
+
204
+ #### 20.3.3
205
+
206
+ ##### Fixed
207
+
208
+ - Better handling of an empty editor content.
209
+
210
+ #### 20.3.2
211
+
212
+ ##### Fixed
213
+
214
+ - Focus is no longer stolen when a tag description is updated.
215
+ - Markdown output preserves new lines.
216
+
217
+ #### 20.3.0
218
+
219
+ ##### Added
220
+
221
+ - Plain-text plugin support.
222
+
223
+ #### 20.2.3
224
+
225
+ ##### Added
226
+
227
+ - Clickable link popover in the link plugin.
228
+
229
+ ##### Fixed
230
+
231
+ - The tag plugin imports the `chip` styles it relies on.
232
+
233
+ #### 20.2.2
234
+
235
+ ##### Fixed
236
+
237
+ - Tags could be displayed as raw keys.
238
+
239
+ #### 20.2.1
240
+
241
+ ##### Added
242
+
243
+ - Optional `tabindex` parameter.
244
+
245
+ #### 20.2.0
246
+
247
+ ##### Added
248
+
249
+ - Tag plugin, to insert dynamic tags in the content.
250
+
251
+ #### 20.1.1
252
+
253
+ ##### Fixed
254
+
255
+ - List buttons state when switching from one list mode to another.
256
+
257
+ #### 19.3.4
258
+
259
+ ##### Fixed
260
+
261
+ - `class` attributes are sanitized in the HTML output.
262
+ - Placeholder is displayed at initialization when there is no content.
263
+
264
+ #### 19.3.1
265
+
266
+ ##### Fixed
267
+
268
+ - The editor is no longer marked as touched and dirty when an initial value is set.
269
+ - Lexical dependency management.
270
+
271
+ #### 19.3.0
272
+
273
+ ##### Added
274
+
275
+ - `lu-rich-text-input` component with the `placeholder`, `autoResize` and `disableSpellcheck` inputs.
@@ -0,0 +1,45 @@
1
+ # scroll
2
+
3
+ ## Import
4
+
5
+ ```typescript
6
+ import { LuScrollDirective } from '@lucca-front/ng/scroll';
7
+ ```
8
+
9
+ ## API Reference
10
+
11
+ ### LuScrollDirective (directive)
12
+
13
+ **Selector:** `[luScroll]`
14
+
15
+ **exportAs:** `luScroll`
16
+
17
+ #### Inputs
18
+
19
+ | Property | Binding name | Type | Default | Required | Transform | Description |
20
+ |----------|-------------|------|---------|----------|-----------|-------------|
21
+ | `debounceTime` | `debounceTime` | `number` | `100` | — | `luNumberAttribute` | — |
22
+
23
+ #### Outputs
24
+
25
+ | Property | Binding name | Type | Notes |
26
+ |----------|-------------|------|-------|
27
+ | `onScroll` | `onScroll` | `Event` | — |
28
+ | `onScrollTop` | `onScrollTop` | `Event` | — |
29
+ | `onScrollBottom` | `onScrollBottom` | `Event` | — |
30
+ | `onScrollLeft` | `onScrollLeft` | `Event` | — |
31
+ | `onScrollRight` | `onScrollRight` | `Event` | — |
32
+
33
+ ### Modules dépréciés
34
+
35
+ - ⚠️ `LuScrollModule` — use `LuScrollDirective` instead
36
+
37
+ ## Related files
38
+
39
+ ## Changelog
40
+
41
+ > Diff structurel de l'API (selectors, inputs, outputs, models) entre versions stables, depuis `v21.4.2` jusqu'à `v22.0.0`. Les versions sans changement d'API sont omises.
42
+
43
+ ### 22.0.0
44
+
45
+ ~ `debounceTime` : transform ∅ → luNumberAttribute
@@ -0,0 +1,63 @@
1
+ # scrollbox — Code & Implementation
2
+
3
+ 📖 [Storybook documentation](https://lucca-front.lucca.io/v22.0.0/storybook/?path=/docs/documentation-structure-scrollbox--docs)
4
+
5
+ ## Angular
6
+
7
+ ### Box basic
8
+
9
+ ```js
10
+ import { ScrollBoxComponent } from '@lucca-front/ng/scroll-box';
11
+ ```
12
+
13
+ ```html
14
+ <lu-scroll-box>
15
+ <div class="box">box</div>
16
+ <div class="box">box</div>
17
+ <div class="box">box</div>
18
+ <div class="box">box</div>
19
+ <div class="box">box</div>
20
+ <div class="box">box</div>
21
+ <div class="box">box</div>
22
+ <div class="box">box</div>
23
+ <div class="box">box</div>
24
+ <div class="box">box</div>
25
+ <div class="box">box</div>
26
+ <div class="box">box</div>
27
+ <div class="box">box</div>
28
+ <div class="box">box</div>
29
+ </lu-scroll-box>
30
+ <lu-scroll-box
31
+ [attr.style]="'--components-scrollBox-paddingBlock: var(--pr-t-spacings-200); --components-scrollBox-paddingInline: 0rem; --components-scrollBox-marginBlock: 0rem'"
32
+ >
33
+ <div class="box">box</div>
34
+ <div class="box">box</div>
35
+ <div class="box">box</div>
36
+ <div class="box">box</div>
37
+ <div class="box">box</div>
38
+ <div class="box">box</div>
39
+ <div class="box">box</div>
40
+ <div class="box">box</div>
41
+ <div class="box">box</div>
42
+ <div class="box">box</div>
43
+ <div class="box">box</div>
44
+ <div class="box">box</div>
45
+ <div class="box">box</div>
46
+ <div class="box">box</div>
47
+ </lu-scroll-box>
48
+ <div class="resize">
49
+ <lu-scroll-box
50
+ [attr.style]="'--components-scrollBox-marginBlock: var(--pr-t-spacings-300);--components-scrollBox-marginInline: 0; --components-scrollBox-paddingBlock: var(--pr-t-spacings-300); --components-scrollBox-gap: var(--pr-t-spacings-300);'"
51
+ >
52
+ <div class="box">box</div>
53
+ <div class="box">box</div>
54
+ <div class="box">box</div>
55
+ </lu-scroll-box>
56
+ </div>
57
+ <lu-scroll-box>
58
+ <div style="inline-size: 200vw" class="box">box</div>
59
+ </lu-scroll-box>
60
+ <lu-scroll-box>
61
+ <div class="box">box</div>
62
+ </lu-scroll-box>
63
+ ```