@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,1603 @@
1
+ # data-table — Code & Implementation
2
+
3
+ 📖 [Storybook documentation](https://lucca-front.lucca.io/v22.0.0/storybook/?path=/docs/documentation-listings-data-table-angular-basic--docs)
4
+
5
+ ## Angular
6
+
7
+ Component selector : `lu-data-table`
8
+
9
+ ### Sélection
10
+
11
+ L'option `selected` ajoute seulement une checkbox à l'ensemble des lignes du tableau. La sélection en elle-même n'est pas couverte par Lucca Front.
12
+
13
+ `lucca-cdk` propose des outils de sélection, via [withSelectionFeature](https://github.com/LuccaSA/lucca-cdk/blob/c155fc21f98c9cac93e7b193046729702096966a/docs/src/content/docs/features/signal-store.md#withselectionfeature-exp%C3%A9rimental).
14
+
15
+ ### Lien vers un nouvelle page
16
+
17
+ Dans un tableau, privilégiez l'attribut `external` sur vos liens. L'icône associée n'est alors visible qu'au survol : le tableau la masque automatiquement pour ne pas surcharger des cellules souvent denses.
18
+
19
+ ### Basic
20
+
21
+ ```js
22
+ import { FormsModule } from '@angular/forms';
23
+ import { ButtonComponent } from '@lucca-front/ng/button';
24
+ import { DATA_TABLE_ALIGN, DATA_TABLE_SORT, DATA_TABLE_VERTICAL_ALIGN, DataTableBodyComponent, DataTableComponent, DataTableFootComponent, DataTableHeadComponent, DataTableRowCellComponent, DataTableRowCellHeaderComponent, DataTableRowComponent } from '@lucca-front/ng/data-table';
25
+ import { EmptyStateSectionComponent } from '@lucca-front/ng/empty-state';
26
+ import { FormFieldComponent } from '@lucca-front/ng/form-field';
27
+ import { TextInputComponent } from '@lucca-front/ng/forms';
28
+ import { IconComponent } from '@lucca-front/ng/icon';
29
+ import { NumericBadgeComponent } from '@lucca-front/ng/numeric-badge';
30
+ import { PaginationComponent } from '@lucca-front/ng/pagination';
31
+ ```
32
+
33
+ ```html
34
+ <lu-data-table>
35
+ <thead luDataTableHead>
36
+ <tr luDataTableRow>
37
+ <th luDataTableCell>header</th>
38
+ <th luDataTableCell>header</th>
39
+ </tr>
40
+ </thead>
41
+ <tbody luDataTableBody>
42
+ <tr luDataTableRow>
43
+ <th luDataTableCell>header</th>
44
+ <td luDataTableCell>cell</td>
45
+ </tr>
46
+ <tr luDataTableRow>
47
+ <th luDataTableCell>header</th>
48
+ <td luDataTableCell>cell</td>
49
+ </tr>
50
+ </tbody>
51
+ </lu-data-table>
52
+ ```
53
+
54
+ ### Draggable
55
+
56
+ Le drag and drop est porté par Angular CDK [drag-drop](https://angular.dev/guide/drag-drop).
57
+
58
+ ```js
59
+ import { CdkDrag, CdkDragDrop, CdkDropList, moveItemInArray } from '@angular/cdk/drag-drop';
60
+ import { ChangeDetectionStrategy, Component, input } from '@angular/core';
61
+ import { DataTableBodyComponent, DataTableComponent, DataTableFootComponent, DataTableHeadComponent, DataTableRowCellComponent, DataTableRowCellHeaderComponent, DataTableRowComponent } from '@lucca-front/ng/data-table';
62
+ ```
63
+
64
+ ```html
65
+ <lu-data-table [selectable]="selectable()" drag>
66
+ <thead luDataTableHead>
67
+ <tr luDataTableRow>
68
+ <th luDataTableCell>Header</th>
69
+ <th luDataTableCell>Cell</th>
70
+ </tr>
71
+ </thead>
72
+ <tbody luDataTableBody cdkDropList (cdkDropListDropped)="drop($event)">
73
+ @for (item of listItem; track $index) {
74
+ <tr luDataTableRow selectedLabel="selectable" draggable cdkDrag>
75
+ <th luDataTableCell>{{ item.header }}</th>
76
+ <td luDataTableCell>{{ item.cell }}</td>
77
+ </tr>
78
+ }
79
+ </tbody>
80
+ </lu-data-table>
81
+ ```
82
+
83
+ ### Inject
84
+
85
+ ```js
86
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
87
+ import { FormsModule } from '@angular/forms';
88
+ import { ButtonComponent } from '@lucca-front/ng/button';
89
+ import { DataTableBodyComponent, DataTableComponent, DataTableFootComponent, DataTableHeadComponent, DataTableRowCellComponent, DataTableRowCellHeaderComponent, DataTableRowComponent } from '@lucca-front/ng/data-table';
90
+ import { FormFieldComponent } from '@lucca-front/ng/form-field';
91
+ import { TextInputComponent } from '@lucca-front/ng/forms';
92
+ import { IconComponent } from '@lucca-front/ng/icon';
93
+ import { PaginationComponent } from '@lucca-front/ng/pagination';
94
+ ```
95
+
96
+ ```html
97
+ <tr luDataTableRow>
98
+ <th luDataTableCell>header</th>
99
+ <td luDataTableCell>cell</td>
100
+ <td luDataTableCell>cell</td>
101
+ <td luDataTableCell>cell</td>
102
+ <td luDataTableCell>cell</td>
103
+ <td luDataTableCell>cell</td>
104
+ <td luDataTableCell>cell</td>
105
+ <td luDataTableCell>cell</td>
106
+ </tr>
107
+ ```
108
+
109
+ ```html
110
+ <lu-data-table>
111
+ <thead luDataTableHead>
112
+ <tr luDataTableRow>
113
+ <th luDataTableCell>header</th>
114
+ <th luDataTableCell>header</th>
115
+ <th luDataTableCell>header</th>
116
+ <th luDataTableCell>header</th>
117
+ <th luDataTableCell>header</th>
118
+ <th luDataTableCell>header</th>
119
+ <th luDataTableCell>header</th>
120
+ <th luDataTableCell>header</th>
121
+ </tr>
122
+ </thead>
123
+ <tbody luDataTableBody>
124
+ <tr luDataTableRow>
125
+ <th luDataTableCell>header</th>
126
+ <td luDataTableCell>cell</td>
127
+ <td luDataTableCell>cell</td>
128
+ <td luDataTableCell>cell</td>
129
+ <td luDataTableCell>cell</td>
130
+ <td luDataTableCell>cell</td>
131
+ <td luDataTableCell>cell</td>
132
+ <td luDataTableCell>cell</td>
133
+ </tr>
134
+ <tr-component />
135
+ </tbody>
136
+ </lu-data-table>
137
+ ```
138
+
139
+ ### Overflow
140
+
141
+ ```js
142
+ import { FormsModule } from '@angular/forms';
143
+ import { ButtonComponent } from '@lucca-front/ng/button';
144
+ import { DataTableBodyComponent, DataTableComponent, DataTableFootComponent, DataTableHeadComponent, DataTableRowCellComponent, DataTableRowCellHeaderComponent, DataTableRowComponent } from '@lucca-front/ng/data-table';
145
+ import { FormFieldComponent } from '@lucca-front/ng/form-field';
146
+ import { TextInputComponent } from '@lucca-front/ng/forms';
147
+ import { IconComponent } from '@lucca-front/ng/icon';
148
+ import { PaginationComponent } from '@lucca-front/ng/pagination';
149
+ ```
150
+
151
+ ```html
152
+ <lu-data-table>
153
+ <thead luDataTableHead>
154
+ <tr luDataTableRow>
155
+ <th luDataTableCell>header</th>
156
+ <th luDataTableCell>header</th>
157
+ <th luDataTableCell>header</th>
158
+ <th luDataTableCell>header</th>
159
+ <th luDataTableCell>header</th>
160
+ <th luDataTableCell>header</th>
161
+ <th luDataTableCell>header</th>
162
+ <th luDataTableCell>header</th>
163
+ </tr>
164
+ </thead>
165
+ <tbody luDataTableBody>
166
+ <tr luDataTableRow>
167
+ <th luDataTableCell>header</th>
168
+ <td luDataTableCell>cell</td>
169
+ <td luDataTableCell>cell</td>
170
+ <td luDataTableCell>cell</td>
171
+ <td luDataTableCell>cell</td>
172
+ <td luDataTableCell>cell</td>
173
+ <td luDataTableCell>cell</td>
174
+ <td luDataTableCell>cell</td>
175
+ </tr>
176
+ <tr luDataTableRow>
177
+ <th luDataTableCell>header</th>
178
+ <td luDataTableCell>cell</td>
179
+ <td luDataTableCell>cell</td>
180
+ <td luDataTableCell>cell</td>
181
+ <td luDataTableCell>cell</td>
182
+ <td luDataTableCell>cell</td>
183
+ <td luDataTableCell>cell</td>
184
+ <td luDataTableCell>cell</td>
185
+ </tr>
186
+ </tbody>
187
+ </lu-data-table>
188
+ ```
189
+
190
+ ### Responsive
191
+
192
+ ```js
193
+ import { FormsModule } from '@angular/forms';
194
+ import { ButtonComponent } from '@lucca-front/ng/button';
195
+ import { DataTableBodyComponent, DataTableComponent, DataTableFootComponent, DataTableHeadComponent, DataTableRowCellComponent, DataTableRowCellHeaderComponent, DataTableRowComponent } from '@lucca-front/ng/data-table';
196
+ import { FormFieldComponent } from '@lucca-front/ng/form-field';
197
+ import { TextInputComponent } from '@lucca-front/ng/forms';
198
+ import { IconComponent } from '@lucca-front/ng/icon';
199
+ ```
200
+
201
+ ```html
202
+ @let layoutfixed =
203
+ {
204
+ layoutFixedAtMediaMinS: true,
205
+ };
206
+ <lu-data-table [responsive]="layoutfixed">
207
+ <thead luDataTableHead>
208
+ <tr luDataTableRow>
209
+ <th luDataTableCell>header header header</th>
210
+ <th luDataTableCell>header</th>
211
+ </tr>
212
+ </thead>
213
+ <tbody luDataTableBody>
214
+ <tr luDataTableRow>
215
+ <th luDataTableCell>header</th>
216
+ <td luDataTableCell>cell</td>
217
+ </tr>
218
+ <tr luDataTableRow>
219
+ <th luDataTableCell>header</th>
220
+ <td luDataTableCell>cell</td>
221
+ </tr>
222
+ </tbody>
223
+ </lu-data-table>
224
+ ```
225
+
226
+ ## HTML/CSS
227
+
228
+ Classe CSS : `.dataTable`
229
+
230
+ ### Alignement horizontal
231
+
232
+ ```css
233
+ @forward '@lucca-front/scss/src/components/dataTable';
234
+ ```
235
+
236
+ ```html
237
+ <div class="dataTableWrapper">
238
+ <table class="dataTable">
239
+ <thead class="dataTable-head">
240
+ <tr class="dataTable-head-row">
241
+ <th class="dataTable-head-row-cell">Label</th>
242
+ <th class="dataTable-head-row-cell mod-alignCenter">Label</th>
243
+ <th class="dataTable-head-row-cell mod-alignRight">Label</th>
244
+ </tr>
245
+ </thead>
246
+ <tbody class="dataTable-body">
247
+ <tr class="dataTable-body-row">
248
+ <td class="dataTable-body-row-cell">Text</td>
249
+ <td class="dataTable-body-row-cell mod-alignCenter">Text</td>
250
+ <td class="dataTable-body-row-cell mod-alignRight">Text</td>
251
+ </tr>
252
+ <tr class="dataTable-body-row">
253
+ <td class="dataTable-body-row-cell">Text</td>
254
+ <td class="dataTable-body-row-cell mod-alignCenter">Text</td>
255
+ <td class="dataTable-body-row-cell mod-alignRight">Text</td>
256
+ </tr>
257
+ </tbody>
258
+ </table>
259
+ </div>
260
+ ```
261
+
262
+ ### Alignement vertical
263
+
264
+ ```css
265
+ @forward '@lucca-front/scss/src/components/dataTable';
266
+ ```
267
+
268
+ ```html
269
+ <div class="dataTableWrapper">
270
+ <table class="dataTable mod-alignTop">
271
+ <thead class="dataTable-head">
272
+ <tr class="dataTable-head-row">
273
+ <th class="dataTable-head-row-cell">Label</th>
274
+ <th class="dataTable-head-row-cell">Label</th>
275
+ </tr>
276
+ </thead>
277
+ <tbody class="dataTable-body">
278
+ <tr class="dataTable-body-row">
279
+ <td class="dataTable-body-row-cell">Text</td>
280
+ <td class="dataTable-body-row-cell">
281
+ Text
282
+ <br />
283
+ Text
284
+ </td>
285
+ </tr>
286
+ <tr class="dataTable-body-row">
287
+ <td class="dataTable-body-row-cell">Text</td>
288
+ <td class="dataTable-body-row-cell">
289
+ Text
290
+ <br />
291
+ Text
292
+ </td>
293
+ </tr>
294
+ </tbody>
295
+ </table>
296
+ </div>
297
+ ```
298
+
299
+ ### Basic
300
+
301
+ ```css
302
+ @forward '@lucca-front/scss/src/components/dataTable';
303
+ ```
304
+
305
+ ```html
306
+ <div class="dataTableWrapper">
307
+ <table class="dataTable">
308
+ <thead class="dataTable-head">
309
+ <tr class="dataTable-head-row">
310
+ <th class="dataTable-head-row-cell">Label</th>
311
+ <th class="dataTable-head-row-cell">Label</th>
312
+ <th class="dataTable-head-row-cell">Label</th>
313
+ </tr>
314
+ </thead>
315
+ <tbody class="dataTable-body">
316
+ <tr class="dataTable-body-row">
317
+ <td class="dataTable-body-row-cell">Text</td>
318
+ <td class="dataTable-body-row-cell">Text</td>
319
+ <td class="dataTable-body-row-cell">Text</td>
320
+ </tr>
321
+ <tr class="dataTable-body-row">
322
+ <td class="dataTable-body-row-cell">Text</td>
323
+ <td class="dataTable-body-row-cell">Text</td>
324
+ <td class="dataTable-body-row-cell">Text</td>
325
+ </tr>
326
+ </tbody>
327
+ <tfoot class="dataTable-foot">
328
+ <tr class="dataTable-foot-row">
329
+ <td class="dataTable-foot-row-cell">Text</td>
330
+ <td class="dataTable-foot-row-cell">Text</td>
331
+ <td class="dataTable-foot-row-cell">Text</td>
332
+ </tr>
333
+ </tfoot>
334
+ </table>
335
+ </div>
336
+ ```
337
+
338
+ ### Border
339
+
340
+ ```css
341
+ @forward '@lucca-front/scss/src/components/dataTable';
342
+ ```
343
+
344
+ ```html
345
+ <div class="dataTableWrapper">
346
+ <table class="dataTable mod-cellBorder">
347
+ <thead class="dataTable-head">
348
+ <tr class="dataTable-head-row">
349
+ <th class="dataTable-head-row-cell" rowspan="2">Label</th>
350
+ <th class="dataTable-head-row-cell" colspan="2">Label</th>
351
+ </tr>
352
+ <tr class="dataTable-head-row">
353
+ <th class="dataTable-head-row-cell">Label</th>
354
+ <th class="dataTable-head-row-cell">Label</th>
355
+ </tr>
356
+ </thead>
357
+ <tbody class="dataTable-body">
358
+ <tr class="dataTable-body-row">
359
+ <td class="dataTable-body-row-cell">Text</td>
360
+ <td class="dataTable-body-row-cell">Text</td>
361
+ <td class="dataTable-body-row-cell">Text</td>
362
+ </tr>
363
+ <tr class="dataTable-body-row">
364
+ <td class="dataTable-body-row-cell">Text</td>
365
+ <td class="dataTable-body-row-cell">Text</td>
366
+ <td class="dataTable-body-row-cell" rowspan="2">Text</td>
367
+ </tr>
368
+ <tr class="dataTable-body-row">
369
+ <td class="dataTable-body-row-cell">Text</td>
370
+ <td class="dataTable-body-row-cell">Text</td>
371
+ </tr>
372
+ </tbody>
373
+ </table>
374
+ </div>
375
+ ```
376
+
377
+ ### Draggable
378
+
379
+ ```css
380
+ @forward '@lucca-front/scss/src/components/dataTable';
381
+ @forward '@lucca-front/scss/src/components/button';
382
+ ```
383
+
384
+ ```html
385
+ <div class="dataTableWrapper">
386
+ <table class="dataTable">
387
+ <thead class="dataTable-head">
388
+ <tr class="dataTable-head-row">
389
+ <th class="dataTable-head-row-cell mod-draggable" aria-hidden="true"></th>
390
+ <th class="dataTable-head-row-cell">Sortable column</th>
391
+ <th class="dataTable-head-row-cell">Sortable column</th>
392
+ <th class="dataTable-head-row-cell">Sortable column</th>
393
+ </tr>
394
+ </thead>
395
+ <tbody class="dataTable-body">
396
+ <tr class="dataTable-body-row mod-draggable">
397
+ <td class="dataTable-body-row-cell" aria-hidden="true">
398
+ <span class="button dataTable-body-row-cell-drag">
399
+ <span aria-hidden="true" class="lucca-icon icon-dotsDrag"></span>
400
+ </span>
401
+ </td>
402
+ <td class="dataTable-body-row-cell">Table cell</td>
403
+ <td class="dataTable-body-row-cell">Table cell</td>
404
+ <td class="dataTable-body-row-cell">Table cell</td>
405
+ </tr>
406
+ <tr class="dataTable-body-row mod-draggable">
407
+ <td class="dataTable-body-row-cell" aria-hidden="true">
408
+ <span class="button dataTable-body-row-cell-drag">
409
+ <span aria-hidden="true" class="lucca-icon icon-dotsDrag"></span>
410
+ </span>
411
+ </td>
412
+ <td class="dataTable-body-row-cell">Table cell</td>
413
+ <td class="dataTable-body-row-cell">Table cell</td>
414
+ <td class="dataTable-body-row-cell">Table cell</td>
415
+ </tr>
416
+ <tr class="dataTable-body-row mod-draggable">
417
+ <td class="dataTable-body-row-cell" aria-hidden="true">
418
+ <span class="button dataTable-body-row-cell-drag">
419
+ <span aria-hidden="true" class="lucca-icon icon-dotsDrag"></span>
420
+ </span>
421
+ </td>
422
+ <td class="dataTable-body-row-cell">Table cell</td>
423
+ <td class="dataTable-body-row-cell">Table cell</td>
424
+ <td class="dataTable-body-row-cell">Table cell</td>
425
+ </tr>
426
+ </tbody>
427
+ </table>
428
+ </div>
429
+ ```
430
+
431
+ ### Editable
432
+
433
+ ```css
434
+ @forward '@lucca-front/scss/src/components/dataTable';
435
+ @forward '@lucca-front/scss/src/components/formLabel';
436
+ @forward '@lucca-front/scss/src/components/textField';
437
+ ```
438
+
439
+ ```html
440
+ <form action="#">
441
+ <div class="dataTableWrapper">
442
+ <table class="dataTable">
443
+ <thead class="dataTable-head">
444
+ <tr class="dataTable-head-row">
445
+ <th class="dataTable-head-row-cell">Label</th>
446
+ <th class="dataTable-head-row-cell">Label</th>
447
+ <th class="dataTable-head-row-cell">Label</th>
448
+ </tr>
449
+ </thead>
450
+ <tbody class="dataTable-body">
451
+ <tr class="dataTable-body-row">
452
+ <td class="dataTable-body-row-cell">Text</td>
453
+ <td class="dataTable-body-row-cell">Text</td>
454
+ <td class="dataTable-body-row-cell mod-editable">
455
+ <div class="form-field">
456
+ <label class="formLabel pr-u-mask" id="IDlabel1" for="ID1">Label</label>
457
+ <div class="textField">
458
+ <div class="textField-input">
459
+ <input
460
+ value="Label"
461
+ type="text"
462
+ id="ID1"
463
+ class="textField-input-value"
464
+ aria-labelledby="IDlabel1 IDsuffix1"
465
+ />
466
+ </div>
467
+ <span class="textField-suffix" id="IDsuffix1">
468
+ <span class="textField-label-suffix-item">€</span>
469
+ </span>
470
+ </div>
471
+ </div>
472
+ </td>
473
+ </tr>
474
+ <tr class="dataTable-body-row">
475
+ <td class="dataTable-body-row-cell">Text</td>
476
+ <td class="dataTable-body-row-cell">Text</td>
477
+ <td class="dataTable-body-row-cell mod-editable">
478
+ <div class="form-field">
479
+ <label class="formLabel pr-u-mask" id="IDlabel2" for="ID2">Label</label>
480
+ <div class="textField">
481
+ <div class="textField-input">
482
+ <input
483
+ value="Label"
484
+ type="text"
485
+ id="ID2"
486
+ class="textField-input-value"
487
+ aria-labelledby="IDlabel2 IDsuffix2"
488
+ />
489
+ </div>
490
+ <span class="textField-suffix" id="IDsuffix2">
491
+ <span class="textField-label-suffix-item">€</span>
492
+ </span>
493
+ </div>
494
+ </div>
495
+ </td>
496
+ </tr>
497
+ </tbody>
498
+ </table>
499
+ </div>
500
+ </form>
501
+ ```
502
+
503
+ ### State
504
+
505
+ ```css
506
+ @forward '@lucca-front/scss/src/components/dataTable';
507
+ @forward '@lucca-front/scss/src/components/bubbleIllustration';
508
+ @forward '@lucca-front/scss/src/components/emptyState';
509
+ ```
510
+
511
+ ```html
512
+ <div class="dataTableWrapper">
513
+ <table class="dataTable">
514
+ <thead class="dataTable-head">
515
+ <tr class="dataTable-head-row">
516
+ <th class="dataTable-head-row-cell">Label</th>
517
+ <th class="dataTable-head-row-cell">Label</th>
518
+ <th class="dataTable-head-row-cell">Label</th>
519
+ </tr>
520
+ </thead>
521
+ <tbody class="dataTable-body">
522
+ <tr class="dataTable-body-row">
523
+ <td class="dataTable-body-row-cell" colspan="3">
524
+ <section class="emptyState">
525
+ <div class="emptyState-container">
526
+ <div class="emptyState-content">
527
+ <div class="emptyState-content-icon" aria-hidden="true">
528
+ <span
529
+ class="bubbleIllustration mod-L"
530
+ aria-hidden="true"
531
+ [innerHtml]="'https://cdn.lucca.fr/transverse/prisme/visuals/bubble-illustration/magnifyingGlass.svg' | luSafeExternalSvg"
532
+ ></span>
533
+ </div>
534
+ <div class="emptyState-content-text">
535
+ <h3 class="emptyState-content-heading">Empty State</h3>
536
+ <p class="emptyState-content-description">
537
+ Flatus obsequiorum potest inanes pomerium obsequiorum credi homines vero caelibes orbos potest vile
538
+ diversitate flatus.
539
+ </p>
540
+ </div>
541
+ </div>
542
+ </div>
543
+ </section>
544
+ </td>
545
+ </tr>
546
+ </tbody>
547
+ </table>
548
+ </div>
549
+ ```
550
+
551
+ ### Columns responsive
552
+
553
+ ```css
554
+ @forward '@lucca-front/scss/src/components/dataTable';
555
+ ```
556
+
557
+ ```html
558
+ <div class="dataTableWrapper">
559
+ <table class="dataTable mod-layoutFixedAtMediaMinM">
560
+ <thead class="dataTable-head">
561
+ <tr class="dataTable-head-row">
562
+ <th class="dataTable-head-row-cell" [attr.style]="'--dataTable-layoutFixed-width: 10rem'">
563
+ Fixed 10rem column
564
+ </th>
565
+ <th class="dataTable-head-row-cell" [attr.style]="'--dataTable-layoutFixed-width: 12rem'">
566
+ Fixed 12rem column
567
+ </th>
568
+ <th class="dataTable-head-row-cell">Label</th>
569
+ </tr>
570
+ </thead>
571
+ <tbody class="dataTable-body">
572
+ <tr class="dataTable-body-row">
573
+ <td class="dataTable-body-row-cell">Table cell</td>
574
+ <td class="dataTable-body-row-cell">Table cell</td>
575
+ <td class="dataTable-body-row-cell">Table cell</td>
576
+ </tr>
577
+ <tr class="dataTable-body-row">
578
+ <td class="dataTable-body-row-cell">Table cell</td>
579
+ <td class="dataTable-body-row-cell">Table cell</td>
580
+ <td class="dataTable-body-row-cell">Table cell</td>
581
+ </tr>
582
+ </tbody>
583
+ </table>
584
+ </div>
585
+ ```
586
+
587
+ ### Fixed columns
588
+
589
+ ```css
590
+ @forward '@lucca-front/scss/src/components/dataTable';
591
+ @forward '@lucca-front/scss/src/components/dataTableSticked'; // Import additionnel
592
+ ```
593
+
594
+ ```html
595
+ <div class="dataTableWrapper">
596
+ <table class="dataTable mod-layoutFixed">
597
+ <thead class="dataTable-head">
598
+ <tr class="dataTable-head-row">
599
+ <th class="dataTable-head-row-cell" [attr.style]="'--dataTable-layoutFixed-width: 10rem'">Fixed 8rem column</th>
600
+ <th class="dataTable-head-row-cell" [attr.style]="'--dataTable-layoutFixed-width: 12rem'">
601
+ Fixed 12rem column
602
+ </th>
603
+ <th class="dataTable-head-row-cell">Label</th>
604
+ </tr>
605
+ </thead>
606
+ <tbody class="dataTable-body">
607
+ <tr class="dataTable-body-row">
608
+ <td class="dataTable-body-row-cell">Table cell</td>
609
+ <td class="dataTable-body-row-cell">Table cell</td>
610
+ <td class="dataTable-body-row-cell">Table cell</td>
611
+ </tr>
612
+ <tr class="dataTable-body-row">
613
+ <td class="dataTable-body-row-cell">Table cell</td>
614
+ <td class="dataTable-body-row-cell">Table cell</td>
615
+ <td class="dataTable-body-row-cell">Table cell</td>
616
+ </tr>
617
+ </tbody>
618
+ </table>
619
+ </div>
620
+ ```
621
+
622
+ ### Group
623
+
624
+ ```css
625
+ @forward '@lucca-front/scss/src/components/dataTable';
626
+ @forward '@lucca-front/scss/src/components/button';
627
+ @forward '@lucca-front/scss/src/components/numericBadge';
628
+ ```
629
+
630
+ ```html
631
+ <div class="dataTableWrapper">
632
+ <table class="dataTable">
633
+ <thead class="dataTable-head">
634
+ <tr class="dataTable-head-row">
635
+ <th class="dataTable-head-row-cell">Label</th>
636
+ <th class="dataTable-head-row-cell">Label</th>
637
+ <th class="dataTable-head-row-cell">Label</th>
638
+ </tr>
639
+ </thead>
640
+ <tbody class="dataTable-body">
641
+ <tr class="dataTable-body-row mod-group">
642
+ <td class="dataTable-body-row-cell" colspan="3">
643
+ <div class="dataTable-body-row-cell-expand">
644
+ <button type="button" class="dataTable-body-row-cell-expand-button button" aria-expanded="false">
645
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronTop"></span>
646
+ <span class="pr-u-mask">Afficher 2 lignes supplémentaires</span>
647
+ </button>
648
+ <span class="dataTable-body-row-cell-expand-label">Text</span>
649
+ <span class="numericBadge">7</span>
650
+ </div>
651
+ </td>
652
+ </tr>
653
+ <tr class="dataTable-body-row">
654
+ <td class="dataTable-body-row-cell">Text</td>
655
+ <td class="dataTable-body-row-cell">Text</td>
656
+ <td class="dataTable-body-row-cell">Text</td>
657
+ </tr>
658
+ <tr class="dataTable-body-row">
659
+ <td class="dataTable-body-row-cell">Text</td>
660
+ <td class="dataTable-body-row-cell">Text</td>
661
+ <td class="dataTable-body-row-cell">Text</td>
662
+ </tr>
663
+ </tbody>
664
+ <tbody class="dataTable-body">
665
+ <tr class="dataTable-body-row mod-group">
666
+ <td class="dataTable-body-row-cell" colspan="3">
667
+ <div class="dataTable-body-row-cell-expand">
668
+ <button type="button" class="dataTable-body-row-cell-expand-button button" aria-expanded="true">
669
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronTop"></span>
670
+ <span class="pr-u-mask">Afficher 2 lignes supplémentaires</span>
671
+ </button>
672
+ <span class="dataTable-body-row-cell-expand-label">Text</span>
673
+ <span class="numericBadge">7</span>
674
+ </div>
675
+ </td>
676
+ </tr>
677
+ <tr class="dataTable-body-row">
678
+ <td class="dataTable-body-row-cell">Text</td>
679
+ <td class="dataTable-body-row-cell">Text</td>
680
+ <td class="dataTable-body-row-cell">Text</td>
681
+ </tr>
682
+ <tr class="dataTable-body-row">
683
+ <td class="dataTable-body-row-cell">Text</td>
684
+ <td class="dataTable-body-row-cell">Text</td>
685
+ <td class="dataTable-body-row-cell">Text</td>
686
+ </tr>
687
+ </tbody>
688
+ </table>
689
+ </div>
690
+ ```
691
+
692
+ ### Hover
693
+
694
+ ```css
695
+ @forward '@lucca-front/scss/src/components/dataTable';
696
+ ```
697
+
698
+ ```html
699
+ <div class="dataTableWrapper">
700
+ <table class="dataTable mod-hover">
701
+ <thead class="dataTable-head">
702
+ <tr class="dataTable-head-row">
703
+ <th class="dataTable-head-row-cell">Label</th>
704
+ <th class="dataTable-head-row-cell">Label</th>
705
+ <th class="dataTable-head-row-cell">Label</th>
706
+ </tr>
707
+ </thead>
708
+ <tbody class="dataTable-body">
709
+ <tr class="dataTable-body-row">
710
+ <td class="dataTable-body-row-cell">Text</td>
711
+ <td class="dataTable-body-row-cell">Text</td>
712
+ <td class="dataTable-body-row-cell">Text</td>
713
+ </tr>
714
+ <tr class="dataTable-body-row">
715
+ <td class="dataTable-body-row-cell">Text</td>
716
+ <td class="dataTable-body-row-cell">Text</td>
717
+ <td class="dataTable-body-row-cell">Text</td>
718
+ </tr>
719
+ <tr class="dataTable-body-row">
720
+ <td class="dataTable-body-row-cell">Text</td>
721
+ <td class="dataTable-body-row-cell">Text</td>
722
+ <td class="dataTable-body-row-cell">Text</td>
723
+ </tr>
724
+ </tbody>
725
+ <tfoot class="dataTable-foot">
726
+ <tr class="dataTable-foot-row">
727
+ <td class="dataTable-foot-row-cell">Text</td>
728
+ <td class="dataTable-foot-row-cell">Text</td>
729
+ <td class="dataTable-foot-row-cell">Text</td>
730
+ </tr>
731
+ </tfoot>
732
+ </table>
733
+ </div>
734
+ ```
735
+
736
+ ### Nested
737
+
738
+ ```css
739
+ @forward '@lucca-front/scss/src/components/dataTable';
740
+ ```
741
+
742
+ ```html
743
+ <div class="dataTableWrapper mod-nested">
744
+ <table class="dataTable">
745
+ <thead class="dataTable-head">
746
+ <tr class="dataTable-head-row">
747
+ <th class="dataTable-head-row-cell">Label</th>
748
+ <th class="dataTable-head-row-cell">Label</th>
749
+ <th class="dataTable-head-row-cell">Label</th>
750
+ </tr>
751
+ </thead>
752
+ <tbody class="dataTable-body">
753
+ <tr class="dataTable-body-row">
754
+ <td class="dataTable-body-row-cell">Text</td>
755
+ <td class="dataTable-body-row-cell">Text</td>
756
+ <td class="dataTable-body-row-cell">Text</td>
757
+ </tr>
758
+ <tr class="dataTable-body-row">
759
+ <td class="dataTable-body-row-cell">Text</td>
760
+ <td class="dataTable-body-row-cell">Text</td>
761
+ <td class="dataTable-body-row-cell">Text</td>
762
+ </tr>
763
+ </tbody>
764
+ <tfoot class="dataTable-foot">
765
+ <tr class="dataTable-foot-row">
766
+ <th class="dataTable-foot-row-cell">Text</th>
767
+ <th class="dataTable-foot-row-cell">Text</th>
768
+ <th class="dataTable-foot-row-cell">Text</th>
769
+ </tr>
770
+ </tfoot>
771
+ </table>
772
+ </div>
773
+ ```
774
+
775
+ ### Both
776
+
777
+ ```css
778
+ @forward '@lucca-front/scss/src/components/dataTable';
779
+ ```
780
+
781
+ ```html
782
+ <div class="dataTableWrapper" style="inline-size: 30rem; height: 10rem">
783
+ <div class="dataTableShadows">
784
+ <table
785
+ class="dataTable mod-columnsOverflow mod-rowsOverflow -is-firstColumnVisible -is-firstRowVisible -is-lastColumnVisible -is-lastRowVisible"
786
+ >
787
+ <thead class="dataTable-head">
788
+ <tr class="dataTable-head-row">
789
+ <th class="dataTable-head-row-cell">Head cell</th>
790
+ <th class="dataTable-head-row-cell">Head cell</th>
791
+ <th class="dataTable-head-row-cell">Head cell</th>
792
+ <th class="dataTable-head-row-cell">Head cell</th>
793
+ <th class="dataTable-head-row-cell">Head cell</th>
794
+ <th class="dataTable-head-row-cell">Head cell</th>
795
+ <th class="dataTable-head-row-cell">Head cell</th>
796
+ </tr>
797
+ </thead>
798
+ <tbody class="dataTable-body">
799
+ <tr class="dataTable-body-row">
800
+ <td class="dataTable-body-row-cell">Body cell</td>
801
+ <td class="dataTable-body-row-cell">Body cell</td>
802
+ <td class="dataTable-body-row-cell">Body cell</td>
803
+ <td class="dataTable-body-row-cell">Body cell</td>
804
+ <td class="dataTable-body-row-cell">Body cell</td>
805
+ <td class="dataTable-body-row-cell">Body cell</td>
806
+ <td class="dataTable-body-row-cell">Body cell</td>
807
+ </tr>
808
+ <tr class="dataTable-body-row">
809
+ <td class="dataTable-body-row-cell">Body cell</td>
810
+ <td class="dataTable-body-row-cell">Body cell</td>
811
+ <td class="dataTable-body-row-cell">Body cell</td>
812
+ <td class="dataTable-body-row-cell">Body cell</td>
813
+ <td class="dataTable-body-row-cell">Body cell</td>
814
+ <td class="dataTable-body-row-cell">Body cell</td>
815
+ <td class="dataTable-body-row-cell">Body cell</td>
816
+ </tr>
817
+ <tr class="dataTable-body-row">
818
+ <td class="dataTable-body-row-cell">Body cell</td>
819
+ <td class="dataTable-body-row-cell">Body cell</td>
820
+ <td class="dataTable-body-row-cell">Body cell</td>
821
+ <td class="dataTable-body-row-cell">Body cell</td>
822
+ <td class="dataTable-body-row-cell">Body cell</td>
823
+ <td class="dataTable-body-row-cell">Body cell</td>
824
+ <td class="dataTable-body-row-cell">Body cell</td>
825
+ </tr>
826
+ <tr class="dataTable-body-row">
827
+ <td class="dataTable-body-row-cell">Body cell</td>
828
+ <td class="dataTable-body-row-cell">Body cell</td>
829
+ <td class="dataTable-body-row-cell">Body cell</td>
830
+ <td class="dataTable-body-row-cell">Body cell</td>
831
+ <td class="dataTable-body-row-cell">Body cell</td>
832
+ <td class="dataTable-body-row-cell">Body cell</td>
833
+ <td class="dataTable-body-row-cell">Body cell</td>
834
+ </tr>
835
+ <tr class="dataTable-body-row">
836
+ <td class="dataTable-body-row-cell">Body cell</td>
837
+ <td class="dataTable-body-row-cell">Body cell</td>
838
+ <td class="dataTable-body-row-cell">Body cell</td>
839
+ <td class="dataTable-body-row-cell">Body cell</td>
840
+ <td class="dataTable-body-row-cell">Body cell</td>
841
+ <td class="dataTable-body-row-cell">Body cell</td>
842
+ <td class="dataTable-body-row-cell">Body cell</td>
843
+ </tr>
844
+ </tbody>
845
+ </table>
846
+ </div>
847
+ </div>
848
+ ```
849
+
850
+ ### Overflow horizontal
851
+
852
+ ```css
853
+ @forward '@lucca-front/scss/src/components/dataTable';
854
+ ```
855
+
856
+ ```html
857
+ <div class="dataTableWrapper" style="inline-size: 30rem">
858
+ <div class="dataTableShadows">
859
+ <table class="dataTable mod-columnsOverflow -is-firstColumnVisible -is-lastColumnVisible">
860
+ <thead class="dataTable-head">
861
+ <tr class="dataTable-head-row">
862
+ <th class="dataTable-head-row-cell">Head cell</th>
863
+ <th class="dataTable-head-row-cell">Head cell</th>
864
+ <th class="dataTable-head-row-cell">Head cell</th>
865
+ <th class="dataTable-head-row-cell">Head cell</th>
866
+ <th class="dataTable-head-row-cell">Head cell</th>
867
+ <th class="dataTable-head-row-cell">Head cell</th>
868
+ <th class="dataTable-head-row-cell">Head cell</th>
869
+ </tr>
870
+ </thead>
871
+ <tbody class="dataTable-body">
872
+ <tr class="dataTable-body-row">
873
+ <td class="dataTable-body-row-cell">Body cell</td>
874
+ <td class="dataTable-body-row-cell">Body cell</td>
875
+ <td class="dataTable-body-row-cell">Body cell</td>
876
+ <td class="dataTable-body-row-cell">Body cell</td>
877
+ <td class="dataTable-body-row-cell">Body cell</td>
878
+ <td class="dataTable-body-row-cell">Body cell</td>
879
+ <td class="dataTable-body-row-cell">Body cell</td>
880
+ </tr>
881
+ <tr class="dataTable-body-row">
882
+ <td class="dataTable-body-row-cell">Body cell</td>
883
+ <td class="dataTable-body-row-cell">Body cell</td>
884
+ <td class="dataTable-body-row-cell">Body cell</td>
885
+ <td class="dataTable-body-row-cell">Body cell</td>
886
+ <td class="dataTable-body-row-cell">Body cell</td>
887
+ <td class="dataTable-body-row-cell">Body cell</td>
888
+ <td class="dataTable-body-row-cell">Body cell</td>
889
+ </tr>
890
+ <tr class="dataTable-body-row">
891
+ <td class="dataTable-body-row-cell">Body cell</td>
892
+ <td class="dataTable-body-row-cell">Body cell</td>
893
+ <td class="dataTable-body-row-cell">Body cell</td>
894
+ <td class="dataTable-body-row-cell">Body cell</td>
895
+ <td class="dataTable-body-row-cell">Body cell</td>
896
+ <td class="dataTable-body-row-cell">Body cell</td>
897
+ <td class="dataTable-body-row-cell">Body cell</td>
898
+ </tr>
899
+ <tr class="dataTable-body-row">
900
+ <td class="dataTable-body-row-cell">Body cell</td>
901
+ <td class="dataTable-body-row-cell">Body cell</td>
902
+ <td class="dataTable-body-row-cell">Body cell</td>
903
+ <td class="dataTable-body-row-cell">Body cell</td>
904
+ <td class="dataTable-body-row-cell">Body cell</td>
905
+ <td class="dataTable-body-row-cell">Body cell</td>
906
+ <td class="dataTable-body-row-cell">Body cell</td>
907
+ </tr>
908
+ <tr class="dataTable-body-row">
909
+ <td class="dataTable-body-row-cell">Body cell</td>
910
+ <td class="dataTable-body-row-cell">Body cell</td>
911
+ <td class="dataTable-body-row-cell">Body cell</td>
912
+ <td class="dataTable-body-row-cell">Body cell</td>
913
+ <td class="dataTable-body-row-cell">Body cell</td>
914
+ <td class="dataTable-body-row-cell">Body cell</td>
915
+ <td class="dataTable-body-row-cell">Body cell</td>
916
+ </tr>
917
+ </tbody>
918
+ </table>
919
+ </div>
920
+ </div>
921
+ ```
922
+
923
+ ### Overflow vertical
924
+
925
+ ```css
926
+ @forward '@lucca-front/scss/src/components/dataTable';
927
+ ```
928
+
929
+ ```html
930
+ <div class="dataTableWrapper" style="block-size: 10rem">
931
+ <div class="dataTableShadows">
932
+ <table class="dataTable mod-rowsOverflow -is-firstRowVisible -is-lastRowVisible">
933
+ <thead class="dataTable-head">
934
+ <tr class="dataTable-head-row">
935
+ <th class="dataTable-head-row-cell">Head cell</th>
936
+ <th class="dataTable-head-row-cell">Head cell</th>
937
+ <th class="dataTable-head-row-cell">Head cell</th>
938
+ </tr>
939
+ </thead>
940
+ <tbody class="dataTable-body">
941
+ <tr class="dataTable-body-row">
942
+ <td class="dataTable-body-row-cell">Body cell</td>
943
+ <td class="dataTable-body-row-cell">Body cell</td>
944
+ <td class="dataTable-body-row-cell">Body cell</td>
945
+ </tr>
946
+ <tr class="dataTable-body-row">
947
+ <td class="dataTable-body-row-cell">Body cell</td>
948
+ <td class="dataTable-body-row-cell">Body cell</td>
949
+ <td class="dataTable-body-row-cell">Body cell</td>
950
+ </tr>
951
+ <tr class="dataTable-body-row">
952
+ <td class="dataTable-body-row-cell">Body cell</td>
953
+ <td class="dataTable-body-row-cell">Body cell</td>
954
+ <td class="dataTable-body-row-cell">Body cell</td>
955
+ </tr>
956
+ <tr class="dataTable-body-row">
957
+ <td class="dataTable-body-row-cell">Body cell</td>
958
+ <td class="dataTable-body-row-cell">Body cell</td>
959
+ <td class="dataTable-body-row-cell">Body cell</td>
960
+ </tr>
961
+ </tbody>
962
+ </table>
963
+ </div>
964
+ </div>
965
+ ```
966
+
967
+ ### Pagination
968
+
969
+ ```css
970
+ @forward '@lucca-front/scss/src/components/dataTable';
971
+ @forward '@lucca-front/scss/src/components/button';
972
+ @forward '@lucca-front/scss/src/components/pagination';
973
+ ```
974
+
975
+ ```html
976
+ <div class="dataTableWrapper">
977
+ <table class="dataTable">
978
+ <thead class="dataTable-head">
979
+ <tr class="dataTable-head-row">
980
+ <th class="dataTable-head-row-cell">Label</th>
981
+ <th class="dataTable-head-row-cell">Label</th>
982
+ <th class="dataTable-head-row-cell">Label</th>
983
+ </tr>
984
+ </thead>
985
+ <tbody class="dataTable-body">
986
+ <tr class="dataTable-body-row">
987
+ <td class="dataTable-body-row-cell">Text</td>
988
+ <td class="dataTable-body-row-cell">Text</td>
989
+ <td class="dataTable-body-row-cell">Text</td>
990
+ </tr>
991
+ <tr class="dataTable-body-row">
992
+ <td class="dataTable-body-row-cell">Text</td>
993
+ <td class="dataTable-body-row-cell">Text</td>
994
+ <td class="dataTable-body-row-cell">Text</td>
995
+ </tr>
996
+ </tbody>
997
+ <tfoot class="dataTable-foot">
998
+ <tr class="dataTable-foot-row">
999
+ <td class="dataTable-foot-row-cell">Text</td>
1000
+ <td class="dataTable-foot-row-cell">Text</td>
1001
+ <td class="dataTable-foot-row-cell">Text</td>
1002
+ </tr>
1003
+ </tfoot>
1004
+ </table>
1005
+ <nav class="pagination dataTableWrapper-pagination" role="navigation" aria-label="Pagination des résultats">
1006
+ <div class="pagination-count">
1007
+ <span class="pagination-count-current">
1008
+ <span class="pr-u-mask">Résultats de</span>
1009
+ 1
1010
+ <span aria-hidden="true">–</span>
1011
+ <span class="pr-u-mask">à</span>
1012
+ 10
1013
+ </span>
1014
+ <span class="pagination-count-separator">sur</span>
1015
+ <span class="pagination-count-total">
1016
+ 50
1017
+ <span class="pr-u-mask">pages</span>
1018
+ </span>
1019
+ </div>
1020
+ <div class="pagination-scrolling">
1021
+ <button type="button" class="button mod-onlyIcon mod-ghost mod-S" disabled>
1022
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronLeft"></span>
1023
+ <span class="pr-u-mask">Précédent</span>
1024
+ </button>
1025
+ <button type="button" class="button mod-onlyIcon mod-ghost mod-S">
1026
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronRight"></span>
1027
+ <span class="pr-u-mask">Suivant</span>
1028
+ </button>
1029
+ </div>
1030
+ </nav>
1031
+ </div>
1032
+ ```
1033
+
1034
+ ### Actions
1035
+
1036
+ ```css
1037
+ @forward '@lucca-front/scss/src/components/dataTable';
1038
+ @forward '@lucca-front/scss/src/components/button';
1039
+ ```
1040
+
1041
+ ```html
1042
+ <div class="dataTableWrapper">
1043
+ <table class="dataTable">
1044
+ <thead class="dataTable-head">
1045
+ <tr class="dataTable-head-row">
1046
+ <th class="dataTable-head-row-cell">Label</th>
1047
+ <th class="dataTable-head-row-cell">Label</th>
1048
+ <th class="dataTable-head-row-cell mod-alignRight">Label</th>
1049
+ </tr>
1050
+ </thead>
1051
+ <tbody class="dataTable-body">
1052
+ <tr class="dataTable-body-row">
1053
+ <td class="dataTable-body-row-cell">Table cell</td>
1054
+ <td class="dataTable-body-row-cell">Table cell</td>
1055
+ <td class="dataTable-body-row-cell mod-actions">
1056
+ <button type="button" class="button">
1057
+ <span aria-hidden="true" class="lucca-icon icon-officePen"></span>
1058
+ <span class="pr-u-mask">Edit</span>
1059
+ </button>
1060
+ <button type="button" class="button">
1061
+ <span aria-hidden="true" class="lucca-icon icon-trashDelete"></span>
1062
+ <span class="pr-u-mask">Delete</span>
1063
+ </button>
1064
+ </td>
1065
+ </tr>
1066
+ <tr class="dataTable-body-row">
1067
+ <td class="dataTable-body-row-cell">Table cell</td>
1068
+ <td class="dataTable-body-row-cell">Table cell</td>
1069
+ <td class="dataTable-body-row-cell mod-actions">
1070
+ <button type="button" class="button">
1071
+ <span aria-hidden="true" class="lucca-icon icon-officePen"></span>
1072
+ <span class="pr-u-mask">Edit</span>
1073
+ </button>
1074
+ <button type="button" class="button">
1075
+ <span aria-hidden="true" class="lucca-icon icon-trashDelete"></span>
1076
+ <span class="pr-u-mask">Delete</span>
1077
+ </button>
1078
+ </td>
1079
+ </tr>
1080
+ </tbody>
1081
+ </table>
1082
+ </div>
1083
+ ```
1084
+
1085
+ ### Selectable hover
1086
+
1087
+ ```css
1088
+ @forward '@lucca-front/scss/src/components/dataTable';
1089
+ @forward '@lucca-front/scss/src/components/checkboxField';
1090
+ ```
1091
+
1092
+ ```html
1093
+ <form action="#">
1094
+ <div class="dataTableWrapper">
1095
+ <table class="dataTable mod-hover">
1096
+ <thead class="dataTable-head">
1097
+ <tr class="dataTable-head-row mod-selectable">
1098
+ <th class="dataTable-head-row-cell">
1099
+ <span class="checkboxField">
1100
+ <input type="checkbox" class="checkboxField-input" id="CBall" />
1101
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1102
+ </span>
1103
+ <label class="pr-u-mask" for="CBall">Label</label>
1104
+ </th>
1105
+ <th class="dataTable-head-row-cell">Label</th>
1106
+ <th class="dataTable-head-row-cell">Label</th>
1107
+ <th class="dataTable-head-row-cell">Label</th>
1108
+ </tr>
1109
+ </thead>
1110
+ <tbody class="dataTable-body">
1111
+ <tr class="dataTable-body-row mod-selectable">
1112
+ <td class="dataTable-body-row-cell">
1113
+ <span class="checkboxField">
1114
+ <input type="checkbox" class="checkboxField-input" id="CB1" checked />
1115
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1116
+ </span>
1117
+ <label class="pr-u-mask" for="CB1">Label</label>
1118
+ </td>
1119
+ <td class="dataTable-body-row-cell">Text</td>
1120
+ <td class="dataTable-body-row-cell">Text</td>
1121
+ <td class="dataTable-body-row-cell">Text</td>
1122
+ </tr>
1123
+ <tr class="dataTable-body-row mod-selectable">
1124
+ <td class="dataTable-body-row-cell">
1125
+ <span class="checkboxField">
1126
+ <input type="checkbox" class="checkboxField-input" id="CB2" />
1127
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1128
+ </span>
1129
+ <label class="pr-u-mask" for="CB2">Label</label>
1130
+ </td>
1131
+ <td class="dataTable-body-row-cell">Text</td>
1132
+ <td class="dataTable-body-row-cell">Text</td>
1133
+ <td class="dataTable-body-row-cell">Text</td>
1134
+ </tr>
1135
+ <tr class="dataTable-body-row mod-selectable">
1136
+ <td class="dataTable-body-row-cell">
1137
+ <span class="checkboxField">
1138
+ <input type="checkbox" class="checkboxField-input" id="CB3" />
1139
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1140
+ </span>
1141
+ <label class="pr-u-mask" for="CB3">Label</label>
1142
+ </td>
1143
+ <td class="dataTable-body-row-cell">Text</td>
1144
+ <td class="dataTable-body-row-cell">Text</td>
1145
+ <td class="dataTable-body-row-cell">Text</td>
1146
+ </tr>
1147
+ </tbody>
1148
+ <tfoot class="dataTable-foot">
1149
+ <tr class="dataTable-foot-row mod-selectable">
1150
+ <th class="dataTable-foot-row-cell">
1151
+ <span class="checkboxField">
1152
+ <input type="checkbox" class="checkboxField-input" id="CBfooter" />
1153
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1154
+ </span>
1155
+ <label class="pr-u-mask" for="CBfooter">Text</label>
1156
+ </th>
1157
+ <th class="dataTable-foot-row-cell">Text</th>
1158
+ <th class="dataTable-foot-row-cell">Text</th>
1159
+ <th class="dataTable-foot-row-cell">Text</th>
1160
+ </tr>
1161
+ </tfoot>
1162
+ </table>
1163
+ </div>
1164
+ </form>
1165
+ ```
1166
+
1167
+ ### Selectable
1168
+
1169
+ ```css
1170
+ @forward '@lucca-front/scss/src/components/dataTable';
1171
+ @forward '@lucca-front/scss/src/components/checkboxField';
1172
+ ```
1173
+
1174
+ ```html
1175
+ <form action="#">
1176
+ <div class="dataTableWrapper">
1177
+ <table class="dataTable">
1178
+ <thead class="dataTable-head">
1179
+ <tr class="dataTable-head-row mod-selectable">
1180
+ <th class="dataTable-head-row-cell">
1181
+ <span class="checkboxField">
1182
+ <input type="checkbox" class="checkboxField-input" id="CBall" />
1183
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1184
+ </span>
1185
+ <label class="pr-u-mask" for="CBall">Label</label>
1186
+ </th>
1187
+ <th class="dataTable-head-row-cell">Label</th>
1188
+ <th class="dataTable-head-row-cell">Label</th>
1189
+ <th class="dataTable-head-row-cell">Label</th>
1190
+ </tr>
1191
+ </thead>
1192
+ <tbody class="dataTable-body">
1193
+ <tr class="dataTable-body-row mod-selectable">
1194
+ <td class="dataTable-body-row-cell">
1195
+ <span class="checkboxField">
1196
+ <input type="checkbox" class="checkboxField-input" id="CB1" checked />
1197
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1198
+ </span>
1199
+ <label class="pr-u-mask" for="CB1">Label</label>
1200
+ </td>
1201
+ <td class="dataTable-body-row-cell">Text</td>
1202
+ <td class="dataTable-body-row-cell">Text</td>
1203
+ <td class="dataTable-body-row-cell">Text</td>
1204
+ </tr>
1205
+ <tr class="dataTable-body-row mod-selectable">
1206
+ <td class="dataTable-body-row-cell">
1207
+ <span class="checkboxField">
1208
+ <input type="checkbox" class="checkboxField-input" id="CB2" />
1209
+ <span class="checkboxField-icon" aria-hidden="true"><span class="checkboxField-icon-check"></span></span>
1210
+ </span>
1211
+ <label class="pr-u-mask" for="CB2">Label</label>
1212
+ </td>
1213
+ <td class="dataTable-body-row-cell">Text</td>
1214
+ <td class="dataTable-body-row-cell">Text</td>
1215
+ <td class="dataTable-body-row-cell">Text</td>
1216
+ </tr>
1217
+ </tbody>
1218
+ </table>
1219
+ </div>
1220
+ </form>
1221
+ ```
1222
+
1223
+ ### Sort
1224
+
1225
+ ```css
1226
+ @forward '@lucca-front/scss/src/components/dataTable';
1227
+ @forward '@lucca-front/scss/src/components/button';
1228
+ @forward '@lucca-front/scss/src/components/tableSortable';
1229
+ ```
1230
+
1231
+ ```html
1232
+ <div class="dataTableWrapper">
1233
+ <table class="dataTable">
1234
+ <thead class="dataTable-head">
1235
+ <tr class="dataTable-head-row">
1236
+ <th class="dataTable-head-row-cell">
1237
+ <button type="button" class="tableSortable button">
1238
+ Label
1239
+ <span class="tableSortable-arrows">
1240
+ <span class="lucca-icon icon-arrowChevronTop tableSortable-arrows-ascending"></span>
1241
+ <span class="lucca-icon icon-arrowChevronBottom tableSortable-arrows-descending"></span>
1242
+ </span>
1243
+ </button>
1244
+ </th>
1245
+ <th class="dataTable-head-row-cell" aria-sort="ascending">
1246
+ <button type="button" class="tableSortable button">
1247
+ Label
1248
+ <span class="tableSortable-arrows">
1249
+ <span class="lucca-icon icon-arrowChevronTop tableSortable-arrows-ascending"></span>
1250
+ <span class="lucca-icon icon-arrowChevronBottom tableSortable-arrows-descending"></span>
1251
+ </span>
1252
+ </button>
1253
+ </th>
1254
+ <th class="dataTable-head-row-cell" aria-sort="descending">
1255
+ <button type="button" class="tableSortable button">
1256
+ Label
1257
+ <span class="tableSortable-arrows">
1258
+ <span class="lucca-icon icon-arrowChevronTop tableSortable-arrows-ascending"></span>
1259
+ <span class="lucca-icon icon-arrowChevronBottom tableSortable-arrows-descending"></span>
1260
+ </span>
1261
+ </button>
1262
+ </th>
1263
+ </tr>
1264
+ </thead>
1265
+ <tbody class="dataTable-body">
1266
+ <tr class="dataTable-body-row">
1267
+ <td class="dataTable-body-row-cell">Text</td>
1268
+ <td class="dataTable-body-row-cell">Text</td>
1269
+ <td class="dataTable-body-row-cell">Text</td>
1270
+ </tr>
1271
+ <tr class="dataTable-body-row">
1272
+ <td class="dataTable-body-row-cell">Text</td>
1273
+ <td class="dataTable-body-row-cell">Text</td>
1274
+ <td class="dataTable-body-row-cell">Text</td>
1275
+ </tr>
1276
+ </tbody>
1277
+ </table>
1278
+ </div>
1279
+ ```
1280
+
1281
+ ### Columns multiple
1282
+
1283
+ ```css
1284
+ @forward '@lucca-front/scss/src/components/dataTable';
1285
+ ```
1286
+
1287
+ ```html
1288
+ <div class="dataTableWrapper" style="inline-size: 30rem">
1289
+ <table class="dataTable mod-layoutFixed" [attr.style]="'--dataTable-layoutFixed-width: 5.5rem'">
1290
+ <thead class="dataTable-head">
1291
+ <tr class="dataTable-head-row">
1292
+ <th class="dataTable-head-row-cell mod-stickyColumn">Head cell</th>
1293
+ <th class="dataTable-head-row-cell mod-stickyColumn" style="left: var(--dataTable-layoutFixed-width)">
1294
+ Head cell
1295
+ </th>
1296
+ <th class="dataTable-head-row-cell">Head cell</th>
1297
+ <th class="dataTable-head-row-cell">Head cell</th>
1298
+ <th class="dataTable-head-row-cell">Head cell</th>
1299
+ <th class="dataTable-head-row-cell mod-stickyColumn" style="right: var(--dataTable-layoutFixed-width)">
1300
+ Head cell
1301
+ </th>
1302
+ <th class="dataTable-head-row-cell mod-stickyColumn">Head cell</th>
1303
+ </tr>
1304
+ </thead>
1305
+ <tbody class="dataTable-body">
1306
+ <tr class="dataTable-body-row">
1307
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1308
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="left: var(--dataTable-layoutFixed-width)">
1309
+ Body cell
1310
+ </td>
1311
+ <td class="dataTable-body-row-cell">Body cell</td>
1312
+ <td class="dataTable-body-row-cell">Body cell</td>
1313
+ <td class="dataTable-body-row-cell">Body cell</td>
1314
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="right: var(--dataTable-layoutFixed-width)">
1315
+ Body cell
1316
+ </td>
1317
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1318
+ </tr>
1319
+ <tr class="dataTable-body-row">
1320
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1321
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="left: var(--dataTable-layoutFixed-width)">
1322
+ Body cell
1323
+ </td>
1324
+ <td class="dataTable-body-row-cell">Body cell</td>
1325
+ <td class="dataTable-body-row-cell">Body cell</td>
1326
+ <td class="dataTable-body-row-cell">Body cell</td>
1327
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="right: var(--dataTable-layoutFixed-width)">
1328
+ Body cell
1329
+ </td>
1330
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1331
+ </tr>
1332
+ <tr class="dataTable-body-row">
1333
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1334
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="left: var(--dataTable-layoutFixed-width)">
1335
+ Body cell
1336
+ </td>
1337
+ <td class="dataTable-body-row-cell">Body cell</td>
1338
+ <td class="dataTable-body-row-cell">Body cell</td>
1339
+ <td class="dataTable-body-row-cell">Body cell</td>
1340
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="right: var(--dataTable-layoutFixed-width)">
1341
+ Body cell
1342
+ </td>
1343
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1344
+ </tr>
1345
+ <tr class="dataTable-body-row">
1346
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1347
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="left: var(--dataTable-layoutFixed-width)">
1348
+ Body cell
1349
+ </td>
1350
+ <td class="dataTable-body-row-cell">Body cell</td>
1351
+ <td class="dataTable-body-row-cell">Body cell</td>
1352
+ <td class="dataTable-body-row-cell">Body cell</td>
1353
+ <td class="dataTable-body-row-cell mod-stickyColumn" style="right: var(--dataTable-layoutFixed-width)">
1354
+ Body cell
1355
+ </td>
1356
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1357
+ </tr>
1358
+ </tbody>
1359
+ </table>
1360
+ </div>
1361
+ ```
1362
+
1363
+ ### Sticky columns
1364
+
1365
+ ```css
1366
+ @forward '@lucca-front/scss/src/components/dataTable';
1367
+ ```
1368
+
1369
+ ```html
1370
+ <div class="dataTableWrapper" style="inline-size: 30rem">
1371
+ <table class="dataTable">
1372
+ <thead class="dataTable-head">
1373
+ <tr class="dataTable-head-row">
1374
+ <th class="dataTable-head-row-cell mod-stickyColumn">Head cell</th>
1375
+ <th class="dataTable-head-row-cell">Head cell</th>
1376
+ <th class="dataTable-head-row-cell">Head cell</th>
1377
+ <th class="dataTable-head-row-cell">Head cell</th>
1378
+ <th class="dataTable-head-row-cell">Head cell</th>
1379
+ <th class="dataTable-head-row-cell">Head cell</th>
1380
+ <th class="dataTable-head-row-cell mod-stickyColumn">Head cell</th>
1381
+ </tr>
1382
+ </thead>
1383
+ <tbody class="dataTable-body">
1384
+ <tr class="dataTable-body-row">
1385
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1386
+ <td class="dataTable-body-row-cell">Body cell</td>
1387
+ <td class="dataTable-body-row-cell">Body cell</td>
1388
+ <td class="dataTable-body-row-cell">Body cell</td>
1389
+ <td class="dataTable-body-row-cell">Body cell</td>
1390
+ <td class="dataTable-body-row-cell">Body cell</td>
1391
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1392
+ </tr>
1393
+ <tr class="dataTable-body-row">
1394
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1395
+ <td class="dataTable-body-row-cell">Body cell</td>
1396
+ <td class="dataTable-body-row-cell">Body cell</td>
1397
+ <td class="dataTable-body-row-cell">Body cell</td>
1398
+ <td class="dataTable-body-row-cell">Body cell</td>
1399
+ <td class="dataTable-body-row-cell">Body cell</td>
1400
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1401
+ </tr>
1402
+ <tr class="dataTable-body-row">
1403
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1404
+ <td class="dataTable-body-row-cell">Body cell</td>
1405
+ <td class="dataTable-body-row-cell">Body cell</td>
1406
+ <td class="dataTable-body-row-cell">Body cell</td>
1407
+ <td class="dataTable-body-row-cell">Body cell</td>
1408
+ <td class="dataTable-body-row-cell">Body cell</td>
1409
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1410
+ </tr>
1411
+ <tr class="dataTable-body-row">
1412
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1413
+ <td class="dataTable-body-row-cell">Body cell</td>
1414
+ <td class="dataTable-body-row-cell">Body cell</td>
1415
+ <td class="dataTable-body-row-cell">Body cell</td>
1416
+ <td class="dataTable-body-row-cell">Body cell</td>
1417
+ <td class="dataTable-body-row-cell">Body cell</td>
1418
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1419
+ </tr>
1420
+ </tbody>
1421
+ </table>
1422
+ </div>
1423
+ ```
1424
+
1425
+ ### Header columns
1426
+
1427
+ ```css
1428
+ @forward '@lucca-front/scss/src/components/dataTable';
1429
+ @forward '@lucca-front/scss/src/components/dataTableSticked'; // Import additionne
1430
+ ```
1431
+
1432
+ ```html
1433
+ <div class="dataTableWrapper" style="inline-size: 30rem; height: 10rem">
1434
+ <table class="dataTable mod-stickyHeader">
1435
+ <thead class="dataTable-head">
1436
+ <tr class="dataTable-head-row">
1437
+ <th class="dataTable-head-row-cell mod-stickyColumn">Head cell</th>
1438
+ <th class="dataTable-head-row-cell">Head cell</th>
1439
+ <th class="dataTable-head-row-cell">Head cell</th>
1440
+ <th class="dataTable-head-row-cell">Head cell</th>
1441
+ <th class="dataTable-head-row-cell">Head cell</th>
1442
+ <th class="dataTable-head-row-cell">Head cell</th>
1443
+ <th class="dataTable-head-row-cell mod-stickyColumn">Head cell</th>
1444
+ </tr>
1445
+ </thead>
1446
+ <tbody class="dataTable-body">
1447
+ <tr class="dataTable-body-row">
1448
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1449
+ <td class="dataTable-body-row-cell">Body cell</td>
1450
+ <td class="dataTable-body-row-cell">Body cell</td>
1451
+ <td class="dataTable-body-row-cell">Body cell</td>
1452
+ <td class="dataTable-body-row-cell">Body cell</td>
1453
+ <td class="dataTable-body-row-cell">Body cell</td>
1454
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1455
+ </tr>
1456
+ <tr class="dataTable-body-row">
1457
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1458
+ <td class="dataTable-body-row-cell">Body cell</td>
1459
+ <td class="dataTable-body-row-cell">Body cell</td>
1460
+ <td class="dataTable-body-row-cell">Body cell</td>
1461
+ <td class="dataTable-body-row-cell">Body cell</td>
1462
+ <td class="dataTable-body-row-cell">Body cell</td>
1463
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1464
+ </tr>
1465
+ <tr class="dataTable-body-row">
1466
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1467
+ <td class="dataTable-body-row-cell">Body cell</td>
1468
+ <td class="dataTable-body-row-cell">Body cell</td>
1469
+ <td class="dataTable-body-row-cell">Body cell</td>
1470
+ <td class="dataTable-body-row-cell">Body cell</td>
1471
+ <td class="dataTable-body-row-cell">Body cell</td>
1472
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1473
+ </tr>
1474
+ <tr class="dataTable-body-row">
1475
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1476
+ <td class="dataTable-body-row-cell">Body cell</td>
1477
+ <td class="dataTable-body-row-cell">Body cell</td>
1478
+ <td class="dataTable-body-row-cell">Body cell</td>
1479
+ <td class="dataTable-body-row-cell">Body cell</td>
1480
+ <td class="dataTable-body-row-cell">Body cell</td>
1481
+ <td class="dataTable-body-row-cell mod-stickyColumn">Body cell</td>
1482
+ </tr>
1483
+ </tbody>
1484
+ </table>
1485
+ </div>
1486
+ ```
1487
+
1488
+ ### Header
1489
+
1490
+ ```css
1491
+ @forward '@lucca-front/scss/src/components/dataTable';
1492
+ @forward '@lucca-front/scss/src/components/dataTableSticked'; // Import additionnel
1493
+ ```
1494
+
1495
+ ```html
1496
+ <div class="dataTableWrapper" style="block-size: 10rem">
1497
+ <table class="dataTable mod-stickyHeader">
1498
+ <thead class="dataTable-head">
1499
+ <tr class="dataTable-head-row">
1500
+ <th class="dataTable-head-row-cell">Head cell</th>
1501
+ <th class="dataTable-head-row-cell">Head cell</th>
1502
+ <th class="dataTable-head-row-cell">Head cell</th>
1503
+ </tr>
1504
+ </thead>
1505
+ <tbody class="dataTable-body">
1506
+ <tr class="dataTable-body-row">
1507
+ <td class="dataTable-body-row-cell">Body cell</td>
1508
+ <td class="dataTable-body-row-cell">Body cell</td>
1509
+ <td class="dataTable-body-row-cell">Body cell</td>
1510
+ </tr>
1511
+ <tr class="dataTable-body-row">
1512
+ <td class="dataTable-body-row-cell">Body cell</td>
1513
+ <td class="dataTable-body-row-cell">Body cell</td>
1514
+ <td class="dataTable-body-row-cell">Body cell</td>
1515
+ </tr>
1516
+ <tr class="dataTable-body-row">
1517
+ <td class="dataTable-body-row-cell">Body cell</td>
1518
+ <td class="dataTable-body-row-cell">Body cell</td>
1519
+ <td class="dataTable-body-row-cell">Body cell</td>
1520
+ </tr>
1521
+ <tr class="dataTable-body-row">
1522
+ <td class="dataTable-body-row-cell">Body cell</td>
1523
+ <td class="dataTable-body-row-cell">Body cell</td>
1524
+ <td class="dataTable-body-row-cell">Body cell</td>
1525
+ </tr>
1526
+ </tbody>
1527
+ </table>
1528
+ </div>
1529
+ ```
1530
+
1531
+ ### Tree
1532
+
1533
+ ```css
1534
+ @forward '@lucca-front/scss/src/components/dataTable';
1535
+ @forward '@lucca-front/scss/src/components/button';
1536
+ ```
1537
+
1538
+ ```html
1539
+ <div class="dataTableWrapper">
1540
+ <table class="dataTable">
1541
+ <thead class="dataTable-head">
1542
+ <tr class="dataTable-head-row">
1543
+ <th class="dataTable-head-row-cell">Label</th>
1544
+ <th class="dataTable-head-row-cell">Label</th>
1545
+ <th class="dataTable-head-row-cell">Label</th>
1546
+ </tr>
1547
+ </thead>
1548
+ <tbody class="dataTable-body">
1549
+ <tr class="dataTable-body-row">
1550
+ <td class="dataTable-body-row-cell mod-tree">
1551
+ <div class="dataTable-body-row-cell-expand">
1552
+ <button type="button" class="dataTable-body-row-cell-expand-button button" aria-expanded="true">
1553
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronTop"></span>
1554
+ <span class="pr-u-mask">Afficher 2 lignes supplémentaires</span>
1555
+ </button>
1556
+ Text
1557
+ </div>
1558
+ </td>
1559
+ <td class="dataTable-body-row-cell">Text</td>
1560
+ <td class="dataTable-body-row-cell">Text</td>
1561
+ </tr>
1562
+ <tr class="dataTable-body-row">
1563
+ <td class="dataTable-body-row-cell mod-tree" [attr.style]="'--components-dataTable-treeLevel: 2'">
1564
+ <div class="dataTable-body-row-cell-expand">
1565
+ <button type="button" class="dataTable-body-row-cell-expand-button button" aria-expanded="false">
1566
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronTop"></span>
1567
+ <span class="pr-u-mask">Afficher 1 ligne supplémentaire</span>
1568
+ </button>
1569
+ Text
1570
+ </div>
1571
+ </td>
1572
+ <td class="dataTable-body-row-cell">Text</td>
1573
+ <td class="dataTable-body-row-cell">Text</td>
1574
+ </tr>
1575
+ <tr class="dataTable-body-row is-collapsed">
1576
+ <td class="dataTable-body-row-cell mod-tree" [attr.style]="'--components-dataTable-treeLevel: 2'">Text</td>
1577
+ <td class="dataTable-body-row-cell">Text</td>
1578
+ <td class="dataTable-body-row-cell">Text</td>
1579
+ </tr>
1580
+ </tbody>
1581
+ <tbody class="dataTable-body">
1582
+ <tr class="dataTable-body-row">
1583
+ <td class="dataTable-body-row-cell mod-tree">
1584
+ <div class="dataTable-body-row-cell-expand">
1585
+ <button type="button" class="dataTable-body-row-cell-expand-button button" aria-expanded="false">
1586
+ <span aria-hidden="true" class="lucca-icon icon-arrowChevronTop"></span>
1587
+ <span class="pr-u-mask">Afficher 1 ligne supplémentaire</span>
1588
+ </button>
1589
+ Text
1590
+ </div>
1591
+ </td>
1592
+ <td class="dataTable-body-row-cell">Text</td>
1593
+ <td class="dataTable-body-row-cell">Text</td>
1594
+ </tr>
1595
+ <tr class="dataTable-body-row">
1596
+ <td class="dataTable-body-row-cell mod-tree">Text</td>
1597
+ <td class="dataTable-body-row-cell">Text</td>
1598
+ <td class="dataTable-body-row-cell">Text</td>
1599
+ </tr>
1600
+ </tbody>
1601
+ </table>
1602
+ </div>
1603
+ ```