@spw-ds/spw-stencil-library 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (782) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.cjs.js.map +1 -1
  3. package/dist/cjs/spw-accordion_4.cjs.entry.js +28 -5
  4. package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
  5. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +5 -2
  6. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js.map +1 -1
  7. package/dist/cjs/spw-breadcrumb-item.entry.cjs.js.map +1 -1
  8. package/dist/cjs/spw-breadcrumb.cjs.entry.js +2 -2
  9. package/dist/cjs/spw-breadcrumb.cjs.entry.js.map +1 -1
  10. package/dist/cjs/spw-breadcrumb.entry.cjs.js.map +1 -1
  11. package/dist/cjs/spw-button_2.cjs.entry.js +2 -2
  12. package/dist/cjs/spw-card-content.cjs.entry.js +1 -1
  13. package/dist/cjs/spw-card-excerpt.cjs.entry.js +1 -1
  14. package/dist/cjs/spw-card-image.cjs.entry.js +1 -1
  15. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
  16. package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
  17. package/dist/cjs/spw-card-title.cjs.entry.js +1 -1
  18. package/dist/cjs/spw-card.cjs.entry.js +1 -1
  19. package/dist/cjs/spw-checkbox.cjs.entry.js +1 -1
  20. package/dist/cjs/spw-custom-select.cjs.entry.js +3 -3
  21. package/dist/cjs/spw-date-picker.cjs.entry.js +5 -3
  22. package/dist/cjs/spw-date-picker.cjs.entry.js.map +1 -1
  23. package/dist/cjs/spw-date-picker.entry.cjs.js.map +1 -1
  24. package/dist/cjs/spw-dropdown-container.cjs.entry.js +1 -1
  25. package/dist/cjs/spw-dropdown-item.cjs.entry.js +1 -1
  26. package/dist/cjs/spw-dropdown.cjs.entry.js +1 -1
  27. package/dist/cjs/spw-field-label_6.cjs.entry.js +6 -6
  28. package/dist/cjs/spw-field-message.cjs.entry.js +1 -1
  29. package/dist/cjs/spw-file-upload.cjs.entry.js +2 -2
  30. package/dist/cjs/spw-footer-bottom.cjs.entry.js +1 -1
  31. package/dist/cjs/spw-footer-content-col.cjs.entry.js +1 -1
  32. package/dist/cjs/spw-footer-content.cjs.entry.js +1 -1
  33. package/dist/cjs/spw-footer-link.cjs.entry.js +1 -1
  34. package/dist/cjs/spw-footer.cjs.entry.js +1 -1
  35. package/dist/cjs/spw-grid-item.cjs.entry.js +2 -2
  36. package/dist/cjs/spw-grid.cjs.entry.js +2 -2
  37. package/dist/cjs/spw-header-lang-item.cjs.entry.js +1 -1
  38. package/dist/cjs/spw-header-lang.cjs.entry.js +1 -1
  39. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +1 -1
  40. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
  41. package/dist/cjs/spw-header-navigation.cjs.entry.js +1 -1
  42. package/dist/cjs/spw-header-persona-item.cjs.entry.js +1 -1
  43. package/dist/cjs/spw-header-persona.cjs.entry.js +1 -1
  44. package/dist/cjs/spw-header.cjs.entry.js +1 -1
  45. package/dist/cjs/spw-hero.cjs.entry.js +10 -3
  46. package/dist/cjs/spw-hero.cjs.entry.js.map +1 -1
  47. package/dist/cjs/spw-hero.entry.cjs.js.map +1 -1
  48. package/dist/cjs/spw-illustration.cjs.entry.js +488 -1
  49. package/dist/cjs/spw-illustration.cjs.entry.js.map +1 -1
  50. package/dist/cjs/spw-illustration.entry.cjs.js.map +1 -1
  51. package/dist/cjs/spw-iodda.cjs.entry.js +1 -1
  52. package/dist/cjs/spw-list-description.cjs.entry.js +1 -1
  53. package/dist/cjs/spw-list-item.cjs.entry.js +1 -1
  54. package/dist/cjs/spw-list-title.cjs.entry.js +1 -1
  55. package/dist/cjs/spw-list.cjs.entry.js +1 -1
  56. package/dist/cjs/spw-modal.cjs.entry.js +1 -1
  57. package/dist/cjs/spw-mosaic-item.cjs.entry.js +1 -1
  58. package/dist/cjs/spw-mosaic.cjs.entry.js +1 -1
  59. package/dist/cjs/spw-pagination.cjs.entry.js +10 -10
  60. package/dist/cjs/spw-pagination.cjs.entry.js.map +1 -1
  61. package/dist/cjs/spw-pagination.entry.cjs.js.map +1 -1
  62. package/dist/cjs/spw-radio.cjs.entry.js +1 -1
  63. package/dist/cjs/spw-search-field.cjs.entry.js +2 -2
  64. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
  65. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +3 -3
  66. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
  67. package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
  68. package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
  69. package/dist/cjs/spw-slider-item.cjs.entry.js +1 -1
  70. package/dist/cjs/spw-slider.cjs.entry.js +11 -4
  71. package/dist/cjs/spw-slider.cjs.entry.js.map +1 -1
  72. package/dist/cjs/spw-slider.entry.cjs.js.map +1 -1
  73. package/dist/cjs/spw-socials.cjs.entry.js +1 -1
  74. package/dist/cjs/spw-stencil-library.cjs.js +1 -1
  75. package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
  76. package/dist/cjs/spw-table-cell.cjs.entry.js +1 -1
  77. package/dist/cjs/spw-table-container.cjs.entry.js +20 -0
  78. package/dist/cjs/spw-table-container.cjs.entry.js.map +1 -0
  79. package/dist/cjs/spw-table-container.entry.cjs.js.map +1 -0
  80. package/dist/cjs/spw-table-footer.cjs.entry.js +2 -2
  81. package/dist/cjs/spw-table-footer.cjs.entry.js.map +1 -1
  82. package/dist/cjs/spw-table-footer.entry.cjs.js.map +1 -1
  83. package/dist/cjs/spw-table-head.cjs.entry.js +1 -1
  84. package/dist/cjs/spw-table-header.cjs.entry.js +3 -3
  85. package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
  86. package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
  87. package/dist/cjs/spw-table-row.cjs.entry.js +1 -1
  88. package/dist/cjs/spw-table-sidebar.cjs.entry.js +142 -0
  89. package/dist/cjs/spw-table-sidebar.cjs.entry.js.map +1 -0
  90. package/dist/cjs/spw-table-sidebar.entry.cjs.js.map +1 -0
  91. package/dist/cjs/spw-table.cjs.entry.js +34 -17
  92. package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
  93. package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
  94. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +1 -1
  95. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +1 -1
  96. package/dist/cjs/spw-tabs.cjs.entry.js +1 -1
  97. package/dist/cjs/spw-tag.cjs.entry.js +1 -1
  98. package/dist/cjs/spw-text-field.cjs.entry.js +1 -1
  99. package/dist/cjs/spw-textarea.cjs.entry.js +2 -2
  100. package/dist/cjs/spw-textarea.cjs.entry.js.map +1 -1
  101. package/dist/cjs/spw-textarea.entry.cjs.js.map +1 -1
  102. package/dist/cjs/spw-tile-description.cjs.entry.js +1 -1
  103. package/dist/cjs/spw-tile-title.cjs.entry.js +1 -1
  104. package/dist/cjs/spw-tile.cjs.entry.js +1 -1
  105. package/dist/cjs/spw-toc-container.cjs.entry.js +73 -0
  106. package/dist/cjs/spw-toc-container.cjs.entry.js.map +1 -0
  107. package/dist/cjs/spw-toc-container.entry.cjs.js.map +1 -0
  108. package/dist/cjs/spw-toc-navigation.cjs.entry.js +283 -0
  109. package/dist/cjs/spw-toc-navigation.cjs.entry.js.map +1 -0
  110. package/dist/cjs/spw-toc-navigation.entry.cjs.js.map +1 -0
  111. package/dist/cjs/spw-toc.cjs.entry.js +20 -0
  112. package/dist/cjs/spw-toc.cjs.entry.js.map +1 -0
  113. package/dist/cjs/spw-toc.entry.cjs.js.map +1 -0
  114. package/dist/cjs/spw-tooltip.cjs.entry.js +1 -1
  115. package/dist/cjs/spw-topbar.cjs.entry.js +1 -1
  116. package/dist/cjs/spw-wizard-item.cjs.entry.js +1 -1
  117. package/dist/cjs/spw-wizard.cjs.entry.js +1 -1
  118. package/dist/collection/collection-manifest.json +5 -0
  119. package/dist/collection/components/spw-accordion/spw-accordion-content/spw-accordion-content.js +1 -1
  120. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
  121. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.js +1 -1
  122. package/dist/collection/components/spw-accordion/spw-accordion-title/spw-accordion-title.js +1 -1
  123. package/dist/collection/components/spw-accordion/spw-accordion.js +53 -1
  124. package/dist/collection/components/spw-accordion/spw-accordion.js.map +1 -1
  125. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.css +1 -1
  126. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js +4 -1
  127. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js.map +1 -1
  128. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.css +1 -1
  129. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.js +1 -1
  130. package/dist/collection/components/spw-button/spw-button.js +1 -1
  131. package/dist/collection/components/spw-card/spw-card-content/spw-card-content.js +1 -1
  132. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js +1 -1
  133. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.js +1 -1
  134. package/dist/collection/components/spw-card/spw-card-subtag-item/spw-card-subtag-item.js +1 -1
  135. package/dist/collection/components/spw-card/spw-card-subtags/spw-card-subtags.js +1 -1
  136. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js +1 -1
  137. package/dist/collection/components/spw-card/spw-card.js +1 -1
  138. package/dist/collection/components/spw-checkbox/spw-checkbox.js +1 -1
  139. package/dist/collection/components/spw-custom-select/spw-custom-select.js +3 -3
  140. package/dist/collection/components/spw-date-picker/spw-date-picker.js +5 -3
  141. package/dist/collection/components/spw-date-picker/spw-date-picker.js.map +1 -1
  142. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js +1 -1
  143. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js +1 -1
  144. package/dist/collection/components/spw-dropdown/spw-dropdown.js +1 -1
  145. package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
  146. package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
  147. package/dist/collection/components/spw-file-upload/spw-file-upload.js +2 -2
  148. package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
  149. package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
  150. package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
  151. package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
  152. package/dist/collection/components/spw-footer/spw-footer.js +1 -1
  153. package/dist/collection/components/spw-grid/spw-grid-item/spw-grid-item.js +2 -2
  154. package/dist/collection/components/spw-grid/spw-grid.js +2 -2
  155. package/dist/collection/components/spw-group/spw-group.js +1 -1
  156. package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
  157. package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
  158. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
  159. package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
  160. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
  161. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
  162. package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
  163. package/dist/collection/components/spw-header/spw-header.js +1 -1
  164. package/dist/collection/components/spw-hero/spw-hero.css +1 -1
  165. package/dist/collection/components/spw-hero/spw-hero.js +51 -4
  166. package/dist/collection/components/spw-hero/spw-hero.js.map +1 -1
  167. package/dist/collection/components/spw-icon/spw-icon.js +1 -1
  168. package/dist/collection/components/spw-illustration/spw-illustration.css +1 -1
  169. package/dist/collection/components/spw-illustration/spw-illustration.js +488 -1
  170. package/dist/collection/components/spw-illustration/spw-illustration.js.map +1 -1
  171. package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
  172. package/dist/collection/components/spw-link/spw-link.js +1 -1
  173. package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
  174. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
  175. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
  176. package/dist/collection/components/spw-list/spw-list.js +1 -1
  177. package/dist/collection/components/spw-loading/spw-loading.js +1 -1
  178. package/dist/collection/components/spw-modal/spw-modal.js +1 -1
  179. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  180. package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
  181. package/dist/collection/components/spw-pagination/spw-pagination.js +12 -9
  182. package/dist/collection/components/spw-pagination/spw-pagination.js.map +1 -1
  183. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  184. package/dist/collection/components/spw-search-field/spw-search-field.js +2 -2
  185. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  186. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  187. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +3 -3
  188. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
  189. package/dist/collection/components/spw-sidebar/spw-sidebar.js +1 -1
  190. package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
  191. package/dist/collection/components/spw-slider/spw-slider-item/spw-slider-item.js +1 -1
  192. package/dist/collection/components/spw-slider/spw-slider.css +1 -1
  193. package/dist/collection/components/spw-slider/spw-slider.js +30 -3
  194. package/dist/collection/components/spw-slider/spw-slider.js.map +1 -1
  195. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  196. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  197. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +1 -1
  198. package/dist/collection/components/spw-table/spw-table-container/spw-table-container.css +2 -0
  199. package/dist/collection/components/spw-table/spw-table-container/spw-table-container.js +19 -0
  200. package/dist/collection/components/spw-table/spw-table-container/spw-table-container.js.map +1 -0
  201. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.css +1 -1
  202. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  203. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js.map +1 -1
  204. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  205. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
  206. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +2 -2
  207. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
  208. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +1 -1
  209. package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.css +2 -0
  210. package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.js +290 -0
  211. package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.js.map +1 -0
  212. package/dist/collection/components/spw-table/spw-table.css +1 -1
  213. package/dist/collection/components/spw-table/spw-table.js +33 -16
  214. package/dist/collection/components/spw-table/spw-table.js.map +1 -1
  215. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
  216. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
  217. package/dist/collection/components/spw-tabs/spw-tabs.js +1 -1
  218. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  219. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  220. package/dist/collection/components/spw-textarea/spw-textarea.js +3 -3
  221. package/dist/collection/components/spw-textarea/spw-textarea.js.map +1 -1
  222. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  223. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  224. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  225. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  226. package/dist/collection/components/spw-toc/spw-toc-container/spw-toc-container.css +2 -0
  227. package/dist/collection/components/spw-toc/spw-toc-container/spw-toc-container.js +120 -0
  228. package/dist/collection/components/spw-toc/spw-toc-container/spw-toc-container.js.map +1 -0
  229. package/dist/collection/components/spw-toc/spw-toc-navigation/spw-toc-navigation.css +2 -0
  230. package/dist/collection/components/spw-toc/spw-toc-navigation/spw-toc-navigation.js +301 -0
  231. package/dist/collection/components/spw-toc/spw-toc-navigation/spw-toc-navigation.js.map +1 -0
  232. package/dist/collection/components/spw-toc/spw-toc.css +2 -0
  233. package/dist/collection/components/spw-toc/spw-toc.js +18 -0
  234. package/dist/collection/components/spw-toc/spw-toc.js.map +1 -0
  235. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  236. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  237. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +1 -1
  238. package/dist/collection/components/spw-wizard/spw-wizard.js +1 -1
  239. package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js +32 -1
  240. package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js.map +1 -1
  241. package/dist/collection/stories/components/spw-button/spw-button.stories.js +59 -1
  242. package/dist/collection/stories/components/spw-button/spw-button.stories.js.map +1 -1
  243. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js +37 -1
  244. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js.map +1 -1
  245. package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js +60 -1
  246. package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js.map +1 -1
  247. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +60 -1
  248. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
  249. package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js +19 -1
  250. package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js.map +1 -1
  251. package/dist/collection/stories/components/spw-field-message/spw-field-message.stories.js +52 -1
  252. package/dist/collection/stories/components/spw-field-message/spw-field-message.stories.js.map +1 -1
  253. package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js +20 -1
  254. package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js.map +1 -1
  255. package/dist/collection/stories/components/spw-icon/spw-icon.stories.js +21 -1
  256. package/dist/collection/stories/components/spw-icon/spw-icon.stories.js.map +1 -1
  257. package/dist/collection/stories/components/spw-link/spw-link.stories.js +31 -1
  258. package/dist/collection/stories/components/spw-link/spw-link.stories.js.map +1 -1
  259. package/dist/collection/stories/components/spw-loading/spw-loading.stories.js +29 -1
  260. package/dist/collection/stories/components/spw-loading/spw-loading.stories.js.map +1 -1
  261. package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js +37 -1
  262. package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js.map +1 -1
  263. package/dist/collection/stories/components/spw-radio/spw-radio.stories.js +17 -1
  264. package/dist/collection/stories/components/spw-radio/spw-radio.stories.js.map +1 -1
  265. package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js +33 -1
  266. package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js.map +1 -1
  267. package/dist/collection/stories/components/spw-select/spw-select.stories.js +19 -1
  268. package/dist/collection/stories/components/spw-select/spw-select.stories.js.map +1 -1
  269. package/dist/collection/stories/components/spw-separator/spw-separator.stories.js +33 -1
  270. package/dist/collection/stories/components/spw-separator/spw-separator.stories.js.map +1 -1
  271. package/dist/collection/stories/components/spw-skeleton/spw-skeleton.stories.js +51 -2
  272. package/dist/collection/stories/components/spw-skeleton/spw-skeleton.stories.js.map +1 -1
  273. package/dist/collection/stories/components/spw-tag/spw-tag.stories.js +72 -1
  274. package/dist/collection/stories/components/spw-tag/spw-tag.stories.js.map +1 -1
  275. package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js +34 -1
  276. package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js.map +1 -1
  277. package/dist/collection/stories/components/spw-textarea/spw-textarea.stories.js +16 -1
  278. package/dist/collection/stories/components/spw-textarea/spw-textarea.stories.js.map +1 -1
  279. package/dist/collection/stories/components/spw-tooltip/spw-tooltip.stories.js +17 -1
  280. package/dist/collection/stories/components/spw-tooltip/spw-tooltip.stories.js.map +1 -1
  281. package/dist/collection/stories/organisms/spw-accordion/spw-accordion.stories.js +17 -4
  282. package/dist/collection/stories/organisms/spw-accordion/spw-accordion.stories.js.map +1 -1
  283. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +96 -1
  284. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
  285. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +38 -1
  286. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
  287. package/dist/collection/stories/organisms/spw-grid/spw-grid.stories.js +25 -1
  288. package/dist/collection/stories/organisms/spw-grid/spw-grid.stories.js.map +1 -1
  289. package/dist/collection/stories/organisms/spw-group/spw-group.stories.js +46 -7
  290. package/dist/collection/stories/organisms/spw-group/spw-group.stories.js.map +1 -1
  291. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +58 -7
  292. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
  293. package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js +87 -1
  294. package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js.map +1 -1
  295. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +57 -1
  296. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
  297. package/dist/collection/stories/organisms/spw-message/spw-message.stories.js +71 -1
  298. package/dist/collection/stories/organisms/spw-message/spw-message.stories.js.map +1 -1
  299. package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js +62 -1
  300. package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js.map +1 -1
  301. package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js +74 -1
  302. package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js.map +1 -1
  303. package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js +31 -1
  304. package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js.map +1 -1
  305. package/dist/collection/stories/organisms/spw-slider/spw-slider.stories.js +21 -1
  306. package/dist/collection/stories/organisms/spw-slider/spw-slider.stories.js.map +1 -1
  307. package/dist/collection/stories/organisms/spw-socials/spw-socials.stories.js +25 -1
  308. package/dist/collection/stories/organisms/spw-socials/spw-socials.stories.js.map +1 -1
  309. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +69 -1
  310. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
  311. package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js +57 -1
  312. package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js.map +1 -1
  313. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +83 -1
  314. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
  315. package/dist/collection/stories/organisms/spw-toc/spw-toc.stories.js +256 -0
  316. package/dist/collection/stories/organisms/spw-toc/spw-toc.stories.js.map +1 -0
  317. package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js +52 -1
  318. package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js.map +1 -1
  319. package/dist/components/{p-QqgPCBuq.js → p-BCWtq89_.js} +3 -3
  320. package/dist/components/{p-QqgPCBuq.js.map → p-BCWtq89_.js.map} +1 -1
  321. package/dist/components/{p-DzdAUdJU.js → p-BTvGjWzW.js} +3 -3
  322. package/dist/components/{p-DzdAUdJU.js.map → p-BTvGjWzW.js.map} +1 -1
  323. package/dist/components/{p-DtyDCGAt.js → p-BZeR2u__.js} +3 -3
  324. package/dist/components/{p-DtyDCGAt.js.map → p-BZeR2u__.js.map} +1 -1
  325. package/dist/components/{p-BJuYSBNu.js → p-Bu2NP1Hz.js} +4 -4
  326. package/dist/components/{p-BJuYSBNu.js.map → p-Bu2NP1Hz.js.map} +1 -1
  327. package/dist/components/{p-CFQbmE2_.js → p-C0RRW46w.js} +4 -4
  328. package/dist/components/p-C0RRW46w.js.map +1 -0
  329. package/dist/components/{p-BYWyi-Sg.js → p-Cwnv6xZs.js} +4 -4
  330. package/dist/components/{p-BYWyi-Sg.js.map → p-Cwnv6xZs.js.map} +1 -1
  331. package/dist/components/{p-YZZxQbyU.js → p-CyyuvuPG.js} +5 -5
  332. package/dist/components/{p-YZZxQbyU.js.map → p-CyyuvuPG.js.map} +1 -1
  333. package/dist/components/{p-CQpGzRKu.js → p-D4uTODSD.js} +31 -4
  334. package/dist/components/p-D4uTODSD.js.map +1 -0
  335. package/dist/components/{p-CN-VU2O8.js → p-DPJAZYpY.js} +3 -3
  336. package/dist/components/{p-CN-VU2O8.js.map → p-DPJAZYpY.js.map} +1 -1
  337. package/dist/components/{p-Otqq8W18.js → p-DYC6u5kd.js} +3 -3
  338. package/dist/components/{p-Otqq8W18.js.map → p-DYC6u5kd.js.map} +1 -1
  339. package/dist/components/{p-CIwDs15y.js → p-DrAfEAz-.js} +3 -3
  340. package/dist/components/{p-CIwDs15y.js.map → p-DrAfEAz-.js.map} +1 -1
  341. package/dist/components/{p-BPeRFxsF.js → p-DvSE7JLV.js} +4 -4
  342. package/dist/components/{p-BPeRFxsF.js.map → p-DvSE7JLV.js.map} +1 -1
  343. package/dist/components/{p-C47wKUeG.js → p-L8eHcqaq.js} +17 -17
  344. package/dist/components/p-L8eHcqaq.js.map +1 -0
  345. package/dist/components/{p-DTm94uQW.js → p-d3hqDeA0.js} +4 -4
  346. package/dist/components/{p-DTm94uQW.js.map → p-d3hqDeA0.js.map} +1 -1
  347. package/dist/components/{p-Cdk2nQ84.js → p-kJsRMeYL.js} +6 -6
  348. package/dist/components/{p-Cdk2nQ84.js.map → p-kJsRMeYL.js.map} +1 -1
  349. package/dist/components/spw-accordion-content.js +1 -1
  350. package/dist/components/spw-accordion-item.js +1 -1
  351. package/dist/components/spw-accordion-title.js +1 -1
  352. package/dist/components/spw-accordion.js +1 -1
  353. package/dist/components/spw-breadcrumb-item.js +7 -4
  354. package/dist/components/spw-breadcrumb-item.js.map +1 -1
  355. package/dist/components/spw-breadcrumb.js +2 -2
  356. package/dist/components/spw-breadcrumb.js.map +1 -1
  357. package/dist/components/spw-button.js +1 -1
  358. package/dist/components/spw-card-content.js +1 -1
  359. package/dist/components/spw-card-excerpt.js +1 -1
  360. package/dist/components/spw-card-image.js +2 -2
  361. package/dist/components/spw-card-subtag-item.js +1 -1
  362. package/dist/components/spw-card-subtags.js +1 -1
  363. package/dist/components/spw-card-title.js +1 -1
  364. package/dist/components/spw-card.js +1 -1
  365. package/dist/components/spw-checkbox.js +1 -1
  366. package/dist/components/spw-cookies.js +8 -8
  367. package/dist/components/spw-custom-select.js +7 -7
  368. package/dist/components/spw-date-picker.js +8 -6
  369. package/dist/components/spw-date-picker.js.map +1 -1
  370. package/dist/components/spw-dropdown-container.js +1 -1
  371. package/dist/components/spw-dropdown-item.js +2 -2
  372. package/dist/components/spw-dropdown.js +1 -1
  373. package/dist/components/spw-field-label.js +1 -1
  374. package/dist/components/spw-field-message.js +1 -1
  375. package/dist/components/spw-file-upload.js +5 -5
  376. package/dist/components/spw-footer-bottom.js +1 -1
  377. package/dist/components/spw-footer-content-col.js +1 -1
  378. package/dist/components/spw-footer-content.js +1 -1
  379. package/dist/components/spw-footer-link.js +1 -1
  380. package/dist/components/spw-footer.js +1 -1
  381. package/dist/components/spw-grid-item.js +2 -2
  382. package/dist/components/spw-grid.js +2 -2
  383. package/dist/components/spw-group.js +2 -2
  384. package/dist/components/spw-header-lang-item.js +1 -1
  385. package/dist/components/spw-header-lang.js +4 -4
  386. package/dist/components/spw-header-navigation-dropdown.js +1 -1
  387. package/dist/components/spw-header-navigation-item.js +2 -2
  388. package/dist/components/spw-header-navigation.js +4 -4
  389. package/dist/components/spw-header-persona-item.js +1 -1
  390. package/dist/components/spw-header-persona.js +2 -2
  391. package/dist/components/spw-header.js +4 -4
  392. package/dist/components/spw-hero.js +14 -5
  393. package/dist/components/spw-hero.js.map +1 -1
  394. package/dist/components/spw-icon.js +1 -1
  395. package/dist/components/spw-illustration.js +488 -1
  396. package/dist/components/spw-illustration.js.map +1 -1
  397. package/dist/components/spw-iodda.js +7 -7
  398. package/dist/components/spw-link.js +1 -1
  399. package/dist/components/spw-list-description.js +1 -1
  400. package/dist/components/spw-list-item.js +2 -2
  401. package/dist/components/spw-list-title.js +2 -2
  402. package/dist/components/spw-list.js +1 -1
  403. package/dist/components/spw-loading.js +1 -1
  404. package/dist/components/spw-message.js +2 -2
  405. package/dist/components/spw-modal.js +2 -2
  406. package/dist/components/spw-mosaic-item.js +1 -1
  407. package/dist/components/spw-mosaic.js +1 -1
  408. package/dist/components/spw-pagination.js +1 -1
  409. package/dist/components/spw-radio.js +1 -1
  410. package/dist/components/spw-search-field.js +6 -6
  411. package/dist/components/spw-select.js +3 -3
  412. package/dist/components/spw-separator.js +1 -1
  413. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  414. package/dist/components/spw-sidebar-navigation-item.js +5 -5
  415. package/dist/components/spw-sidebar-navigation-separator.js +2 -2
  416. package/dist/components/spw-sidebar.js +2 -2
  417. package/dist/components/spw-skeleton.js +1 -1
  418. package/dist/components/spw-slider-item.js +1 -1
  419. package/dist/components/spw-slider.js +14 -6
  420. package/dist/components/spw-slider.js.map +1 -1
  421. package/dist/components/spw-socials.js +1 -1
  422. package/dist/components/spw-table-body.js +1 -1
  423. package/dist/components/spw-table-cell.js +1 -1
  424. package/dist/components/spw-table-container.d.ts +11 -0
  425. package/dist/components/spw-table-container.js +36 -0
  426. package/dist/components/spw-table-container.js.map +1 -0
  427. package/dist/components/spw-table-footer.js +2 -2
  428. package/dist/components/spw-table-footer.js.map +1 -1
  429. package/dist/components/spw-table-head.js +1 -1
  430. package/dist/components/spw-table-header.js +5 -5
  431. package/dist/components/spw-table-header.js.map +1 -1
  432. package/dist/components/spw-table-row.js +1 -1
  433. package/dist/components/spw-table-sidebar.d.ts +11 -0
  434. package/dist/components/spw-table-sidebar.js +185 -0
  435. package/dist/components/spw-table-sidebar.js.map +1 -0
  436. package/dist/components/spw-table.js +34 -17
  437. package/dist/components/spw-table.js.map +1 -1
  438. package/dist/components/spw-tabs-navigation-item.js +3 -3
  439. package/dist/components/spw-tabs-navigation.js +2 -2
  440. package/dist/components/spw-tabs.js +1 -1
  441. package/dist/components/spw-tag.js +2 -2
  442. package/dist/components/spw-text-field.js +1 -1
  443. package/dist/components/spw-textarea.js +5 -5
  444. package/dist/components/spw-textarea.js.map +1 -1
  445. package/dist/components/spw-theme-provider.js +1 -1
  446. package/dist/components/spw-tile-description.js +1 -1
  447. package/dist/components/spw-tile-title.js +1 -1
  448. package/dist/components/spw-tile.js +2 -2
  449. package/dist/components/spw-toc-container.d.ts +11 -0
  450. package/dist/components/spw-toc-container.js +90 -0
  451. package/dist/components/spw-toc-container.js.map +1 -0
  452. package/dist/components/spw-toc-navigation.d.ts +11 -0
  453. package/dist/components/spw-toc-navigation.js +304 -0
  454. package/dist/components/spw-toc-navigation.js.map +1 -0
  455. package/dist/components/spw-toc.d.ts +11 -0
  456. package/dist/components/spw-toc.js +35 -0
  457. package/dist/components/spw-toc.js.map +1 -0
  458. package/dist/components/spw-tooltip.js +1 -1
  459. package/dist/components/spw-topbar.js +1 -1
  460. package/dist/components/spw-wizard-item.js +2 -2
  461. package/dist/components/spw-wizard.js +1 -1
  462. package/dist/components_json.json +461 -16
  463. package/dist/components_vscode.json +3409 -0
  464. package/dist/esm/loader.js +1 -1
  465. package/dist/esm/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.js.map +1 -1
  466. package/dist/esm/spw-accordion_4.entry.js +28 -5
  467. package/dist/esm/spw-accordion_4.entry.js.map +1 -1
  468. package/dist/esm/spw-breadcrumb-item.entry.js +5 -2
  469. package/dist/esm/spw-breadcrumb-item.entry.js.map +1 -1
  470. package/dist/esm/spw-breadcrumb.entry.js +2 -2
  471. package/dist/esm/spw-breadcrumb.entry.js.map +1 -1
  472. package/dist/esm/spw-button_2.entry.js +2 -2
  473. package/dist/esm/spw-card-content.entry.js +1 -1
  474. package/dist/esm/spw-card-excerpt.entry.js +1 -1
  475. package/dist/esm/spw-card-image.entry.js +1 -1
  476. package/dist/esm/spw-card-subtag-item.entry.js +1 -1
  477. package/dist/esm/spw-card-subtags.entry.js +1 -1
  478. package/dist/esm/spw-card-title.entry.js +1 -1
  479. package/dist/esm/spw-card.entry.js +1 -1
  480. package/dist/esm/spw-checkbox.entry.js +1 -1
  481. package/dist/esm/spw-custom-select.entry.js +3 -3
  482. package/dist/esm/spw-date-picker.entry.js +5 -3
  483. package/dist/esm/spw-date-picker.entry.js.map +1 -1
  484. package/dist/esm/spw-dropdown-container.entry.js +1 -1
  485. package/dist/esm/spw-dropdown-item.entry.js +1 -1
  486. package/dist/esm/spw-dropdown.entry.js +1 -1
  487. package/dist/esm/spw-field-label_6.entry.js +6 -6
  488. package/dist/esm/spw-field-message.entry.js +1 -1
  489. package/dist/esm/spw-file-upload.entry.js +2 -2
  490. package/dist/esm/spw-footer-bottom.entry.js +1 -1
  491. package/dist/esm/spw-footer-content-col.entry.js +1 -1
  492. package/dist/esm/spw-footer-content.entry.js +1 -1
  493. package/dist/esm/spw-footer-link.entry.js +1 -1
  494. package/dist/esm/spw-footer.entry.js +1 -1
  495. package/dist/esm/spw-grid-item.entry.js +2 -2
  496. package/dist/esm/spw-grid.entry.js +2 -2
  497. package/dist/esm/spw-header-lang-item.entry.js +1 -1
  498. package/dist/esm/spw-header-lang.entry.js +1 -1
  499. package/dist/esm/spw-header-navigation-dropdown.entry.js +1 -1
  500. package/dist/esm/spw-header-navigation-item.entry.js +1 -1
  501. package/dist/esm/spw-header-navigation.entry.js +1 -1
  502. package/dist/esm/spw-header-persona-item.entry.js +1 -1
  503. package/dist/esm/spw-header-persona.entry.js +1 -1
  504. package/dist/esm/spw-header.entry.js +1 -1
  505. package/dist/esm/spw-hero.entry.js +10 -3
  506. package/dist/esm/spw-hero.entry.js.map +1 -1
  507. package/dist/esm/spw-illustration.entry.js +488 -1
  508. package/dist/esm/spw-illustration.entry.js.map +1 -1
  509. package/dist/esm/spw-iodda.entry.js +1 -1
  510. package/dist/esm/spw-list-description.entry.js +1 -1
  511. package/dist/esm/spw-list-item.entry.js +1 -1
  512. package/dist/esm/spw-list-title.entry.js +1 -1
  513. package/dist/esm/spw-list.entry.js +1 -1
  514. package/dist/esm/spw-modal.entry.js +1 -1
  515. package/dist/esm/spw-mosaic-item.entry.js +1 -1
  516. package/dist/esm/spw-mosaic.entry.js +1 -1
  517. package/dist/esm/spw-pagination.entry.js +10 -10
  518. package/dist/esm/spw-pagination.entry.js.map +1 -1
  519. package/dist/esm/spw-radio.entry.js +1 -1
  520. package/dist/esm/spw-search-field.entry.js +2 -2
  521. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
  522. package/dist/esm/spw-sidebar-navigation-item.entry.js +3 -3
  523. package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
  524. package/dist/esm/spw-sidebar.entry.js +1 -1
  525. package/dist/esm/spw-skeleton.entry.js +1 -1
  526. package/dist/esm/spw-slider-item.entry.js +1 -1
  527. package/dist/esm/spw-slider.entry.js +11 -4
  528. package/dist/esm/spw-slider.entry.js.map +1 -1
  529. package/dist/esm/spw-socials.entry.js +1 -1
  530. package/dist/esm/spw-stencil-library.js +1 -1
  531. package/dist/esm/spw-table-body.entry.js +1 -1
  532. package/dist/esm/spw-table-cell.entry.js +1 -1
  533. package/dist/esm/spw-table-container.entry.js +18 -0
  534. package/dist/esm/spw-table-container.entry.js.map +1 -0
  535. package/dist/esm/spw-table-footer.entry.js +2 -2
  536. package/dist/esm/spw-table-footer.entry.js.map +1 -1
  537. package/dist/esm/spw-table-head.entry.js +1 -1
  538. package/dist/esm/spw-table-header.entry.js +3 -3
  539. package/dist/esm/spw-table-header.entry.js.map +1 -1
  540. package/dist/esm/spw-table-row.entry.js +1 -1
  541. package/dist/esm/spw-table-sidebar.entry.js +140 -0
  542. package/dist/esm/spw-table-sidebar.entry.js.map +1 -0
  543. package/dist/esm/spw-table.entry.js +34 -17
  544. package/dist/esm/spw-table.entry.js.map +1 -1
  545. package/dist/esm/spw-tabs-navigation-item.entry.js +1 -1
  546. package/dist/esm/spw-tabs-navigation.entry.js +1 -1
  547. package/dist/esm/spw-tabs.entry.js +1 -1
  548. package/dist/esm/spw-tag.entry.js +1 -1
  549. package/dist/esm/spw-text-field.entry.js +1 -1
  550. package/dist/esm/spw-textarea.entry.js +2 -2
  551. package/dist/esm/spw-textarea.entry.js.map +1 -1
  552. package/dist/esm/spw-tile-description.entry.js +1 -1
  553. package/dist/esm/spw-tile-title.entry.js +1 -1
  554. package/dist/esm/spw-tile.entry.js +1 -1
  555. package/dist/esm/spw-toc-container.entry.js +71 -0
  556. package/dist/esm/spw-toc-container.entry.js.map +1 -0
  557. package/dist/esm/spw-toc-navigation.entry.js +281 -0
  558. package/dist/esm/spw-toc-navigation.entry.js.map +1 -0
  559. package/dist/esm/spw-toc.entry.js +18 -0
  560. package/dist/esm/spw-toc.entry.js.map +1 -0
  561. package/dist/esm/spw-tooltip.entry.js +1 -1
  562. package/dist/esm/spw-topbar.entry.js +1 -1
  563. package/dist/esm/spw-wizard-item.entry.js +1 -1
  564. package/dist/esm/spw-wizard.entry.js +1 -1
  565. package/dist/spw-stencil-library/{p-4bc3d2ef.entry.js → p-04aa5d86.entry.js} +2 -2
  566. package/dist/spw-stencil-library/{p-a2fd09f8.entry.js → p-0839efb1.entry.js} +2 -2
  567. package/dist/spw-stencil-library/p-0a69cead.entry.js +2 -0
  568. package/dist/spw-stencil-library/p-0a69cead.entry.js.map +1 -0
  569. package/dist/spw-stencil-library/{p-84645c94.entry.js → p-0bc1209e.entry.js} +2 -2
  570. package/dist/spw-stencil-library/{p-1644bf7d.entry.js → p-0e7f2c1a.entry.js} +2 -2
  571. package/dist/spw-stencil-library/{p-6e37db2d.entry.js → p-0f728bbd.entry.js} +2 -2
  572. package/dist/spw-stencil-library/{p-6e37db2d.entry.js.map → p-0f728bbd.entry.js.map} +1 -1
  573. package/dist/spw-stencil-library/{p-670f0edc.entry.js → p-1306c0ff.entry.js} +2 -2
  574. package/dist/spw-stencil-library/{p-ed61e2a8.entry.js → p-137f2856.entry.js} +2 -2
  575. package/dist/spw-stencil-library/{p-d02b077c.entry.js → p-1416942e.entry.js} +2 -2
  576. package/dist/spw-stencil-library/p-1416942e.entry.js.map +1 -0
  577. package/dist/spw-stencil-library/{p-5e0b04c0.entry.js → p-1bb4a071.entry.js} +2 -2
  578. package/dist/spw-stencil-library/{p-eb26b450.entry.js → p-1c728c37.entry.js} +2 -2
  579. package/dist/spw-stencil-library/{p-44bb3ec0.entry.js → p-20fa2637.entry.js} +2 -2
  580. package/dist/spw-stencil-library/{p-2b70c24a.entry.js → p-2965d7ca.entry.js} +2 -2
  581. package/dist/spw-stencil-library/{p-82ed2f9b.entry.js → p-29fb06a6.entry.js} +2 -2
  582. package/dist/spw-stencil-library/p-2d6f393e.entry.js +2 -0
  583. package/dist/spw-stencil-library/p-2d6f393e.entry.js.map +1 -0
  584. package/dist/spw-stencil-library/{p-2760ef2b.entry.js → p-2d7492af.entry.js} +2 -2
  585. package/dist/spw-stencil-library/p-2dea4478.entry.js +2 -0
  586. package/dist/spw-stencil-library/p-2dea4478.entry.js.map +1 -0
  587. package/dist/spw-stencil-library/{p-6c88a82d.entry.js → p-3067d3dd.entry.js} +2 -2
  588. package/dist/spw-stencil-library/{p-e5f141b6.entry.js → p-31980405.entry.js} +2 -2
  589. package/dist/spw-stencil-library/{p-9d0e8d02.entry.js → p-3553e1f1.entry.js} +2 -2
  590. package/dist/spw-stencil-library/p-3753277e.entry.js +2 -0
  591. package/dist/spw-stencil-library/p-3753277e.entry.js.map +1 -0
  592. package/dist/spw-stencil-library/{p-cbf4ef91.entry.js → p-3c524edb.entry.js} +2 -2
  593. package/dist/spw-stencil-library/{p-93dc746d.entry.js → p-40b238cb.entry.js} +2 -2
  594. package/dist/spw-stencil-library/{p-93dc746d.entry.js.map → p-40b238cb.entry.js.map} +1 -1
  595. package/dist/spw-stencil-library/{p-d37963e0.entry.js → p-420fd27d.entry.js} +2 -2
  596. package/dist/spw-stencil-library/{p-87249c32.entry.js → p-460b4ede.entry.js} +2 -2
  597. package/dist/spw-stencil-library/{p-c3f21e33.entry.js → p-47f6b942.entry.js} +2 -2
  598. package/dist/spw-stencil-library/p-48f1e67a.entry.js +2 -0
  599. package/dist/spw-stencil-library/p-48f1e67a.entry.js.map +1 -0
  600. package/dist/spw-stencil-library/{p-f26fd3b1.entry.js → p-49227f48.entry.js} +2 -2
  601. package/dist/spw-stencil-library/{p-a065a834.entry.js → p-4ab97219.entry.js} +2 -2
  602. package/dist/spw-stencil-library/{p-3545f888.entry.js → p-5ba3deea.entry.js} +2 -2
  603. package/dist/spw-stencil-library/{p-5e1aae61.entry.js → p-6c0993d6.entry.js} +2 -2
  604. package/dist/spw-stencil-library/{p-95749696.entry.js → p-70ccb73f.entry.js} +2 -2
  605. package/dist/spw-stencil-library/{p-6f084e62.entry.js → p-70f46bf2.entry.js} +2 -2
  606. package/dist/spw-stencil-library/{p-b3e76f4c.entry.js → p-7214cc7b.entry.js} +2 -2
  607. package/dist/spw-stencil-library/{p-0c3e8d91.entry.js → p-798bac47.entry.js} +2 -2
  608. package/dist/spw-stencil-library/{p-a4111a43.entry.js → p-8483cd8b.entry.js} +2 -2
  609. package/dist/spw-stencil-library/{p-931bea3a.entry.js → p-8c2f0377.entry.js} +2 -2
  610. package/dist/spw-stencil-library/{p-e4e2cb61.entry.js → p-93bd4d23.entry.js} +2 -2
  611. package/dist/spw-stencil-library/{p-25204236.entry.js → p-95ec862e.entry.js} +2 -2
  612. package/dist/spw-stencil-library/{p-5adfcd7e.entry.js → p-9a3dcf80.entry.js} +2 -2
  613. package/dist/spw-stencil-library/{p-6cdf16ac.entry.js → p-9d5deba6.entry.js} +2 -2
  614. package/dist/spw-stencil-library/{p-d28a7068.entry.js → p-a264b181.entry.js} +2 -2
  615. package/dist/spw-stencil-library/{p-95fa97a9.entry.js → p-aa4ddfa1.entry.js} +2 -2
  616. package/dist/spw-stencil-library/{p-9dea2f39.entry.js → p-ad964a8e.entry.js} +2 -2
  617. package/dist/spw-stencil-library/{p-08000970.entry.js → p-ada217d5.entry.js} +2 -2
  618. package/dist/spw-stencil-library/{p-197a694e.entry.js → p-aed34c29.entry.js} +2 -2
  619. package/dist/spw-stencil-library/{p-94069aff.entry.js → p-b4805c08.entry.js} +2 -2
  620. package/dist/spw-stencil-library/{p-277bb102.entry.js → p-bb4c4e16.entry.js} +2 -2
  621. package/dist/spw-stencil-library/{p-a5004a01.entry.js → p-bb7f1387.entry.js} +2 -2
  622. package/dist/spw-stencil-library/{p-b4c2fdf2.entry.js → p-bcceb61b.entry.js} +2 -2
  623. package/dist/spw-stencil-library/{p-68f93962.entry.js → p-bf070798.entry.js} +2 -2
  624. package/dist/spw-stencil-library/{p-110ca863.entry.js → p-c02b7133.entry.js} +2 -2
  625. package/dist/spw-stencil-library/{p-ca98ee5d.entry.js → p-c278daa3.entry.js} +2 -2
  626. package/dist/spw-stencil-library/{p-428aa721.entry.js → p-c398550f.entry.js} +2 -2
  627. package/dist/spw-stencil-library/{p-803b2bb5.entry.js → p-c77adac8.entry.js} +2 -2
  628. package/dist/spw-stencil-library/{p-aeec7eeb.entry.js → p-c7b2c5d7.entry.js} +2 -2
  629. package/dist/spw-stencil-library/p-c7b2c5d7.entry.js.map +1 -0
  630. package/dist/spw-stencil-library/p-c85f2f9a.entry.js +2 -0
  631. package/dist/spw-stencil-library/p-c85f2f9a.entry.js.map +1 -0
  632. package/dist/spw-stencil-library/{p-ea0cfe62.entry.js → p-cc3a84a1.entry.js} +2 -2
  633. package/dist/spw-stencil-library/{p-91b264d1.entry.js → p-cc869e6f.entry.js} +2 -2
  634. package/dist/spw-stencil-library/{p-a1d06611.entry.js → p-ccbc7c44.entry.js} +2 -2
  635. package/dist/spw-stencil-library/p-d0cb71d3.entry.js +2 -0
  636. package/dist/spw-stencil-library/p-d0cb71d3.entry.js.map +1 -0
  637. package/dist/spw-stencil-library/{p-3ac699ae.entry.js → p-d18146ca.entry.js} +2 -2
  638. package/dist/spw-stencil-library/p-d2b6aae7.entry.js +2 -0
  639. package/dist/spw-stencil-library/p-d2b6aae7.entry.js.map +1 -0
  640. package/dist/spw-stencil-library/{p-65aec904.entry.js → p-d2f5d210.entry.js} +2 -2
  641. package/dist/spw-stencil-library/p-d672e985.entry.js +2 -0
  642. package/dist/spw-stencil-library/p-d672e985.entry.js.map +1 -0
  643. package/dist/spw-stencil-library/{p-bb2421dc.entry.js → p-d8cae37d.entry.js} +2 -2
  644. package/dist/spw-stencil-library/{p-e2bac6be.entry.js → p-db817793.entry.js} +2 -2
  645. package/dist/spw-stencil-library/{p-c3246505.entry.js → p-dbb7e719.entry.js} +2 -2
  646. package/dist/spw-stencil-library/{p-df4d1f42.entry.js → p-de771d14.entry.js} +2 -2
  647. package/dist/spw-stencil-library/p-dedeaccc.entry.js +2 -0
  648. package/dist/spw-stencil-library/p-dedeaccc.entry.js.map +1 -0
  649. package/dist/spw-stencil-library/{p-187d02cb.entry.js → p-e369abbb.entry.js} +2 -2
  650. package/dist/spw-stencil-library/{p-67b7b947.entry.js → p-e44b8ebb.entry.js} +2 -2
  651. package/dist/spw-stencil-library/p-e55b0c4b.entry.js +2 -0
  652. package/dist/spw-stencil-library/p-e55b0c4b.entry.js.map +1 -0
  653. package/dist/spw-stencil-library/{p-1271e178.entry.js → p-e6b25971.entry.js} +2 -2
  654. package/dist/spw-stencil-library/p-e6b25971.entry.js.map +1 -0
  655. package/dist/spw-stencil-library/p-e6c8a3e4.entry.js +2 -0
  656. package/dist/spw-stencil-library/p-e6c8a3e4.entry.js.map +1 -0
  657. package/dist/spw-stencil-library/{p-6461fb4b.entry.js → p-e78304f0.entry.js} +2 -2
  658. package/dist/spw-stencil-library/{p-25aaf6a6.entry.js → p-ea5f2427.entry.js} +2 -2
  659. package/dist/spw-stencil-library/{p-95891f3a.entry.js → p-ea952c66.entry.js} +2 -2
  660. package/dist/spw-stencil-library/{p-22f022ca.entry.js → p-eaa1025a.entry.js} +2 -2
  661. package/dist/spw-stencil-library/{p-ef8f15e9.entry.js → p-f05cd056.entry.js} +2 -2
  662. package/dist/spw-stencil-library/{p-2ef45489.entry.js → p-fad06d00.entry.js} +2 -2
  663. package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
  664. package/dist/spw-stencil-library/spw-breadcrumb-item.entry.esm.js.map +1 -1
  665. package/dist/spw-stencil-library/spw-breadcrumb.entry.esm.js.map +1 -1
  666. package/dist/spw-stencil-library/spw-date-picker.entry.esm.js.map +1 -1
  667. package/dist/spw-stencil-library/spw-hero.entry.esm.js.map +1 -1
  668. package/dist/spw-stencil-library/spw-illustration.entry.esm.js.map +1 -1
  669. package/dist/spw-stencil-library/spw-pagination.entry.esm.js.map +1 -1
  670. package/dist/spw-stencil-library/spw-slider.entry.esm.js.map +1 -1
  671. package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
  672. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  673. package/dist/spw-stencil-library/spw-table-container.entry.esm.js.map +1 -0
  674. package/dist/spw-stencil-library/spw-table-footer.entry.esm.js.map +1 -1
  675. package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
  676. package/dist/spw-stencil-library/spw-table-sidebar.entry.esm.js.map +1 -0
  677. package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
  678. package/dist/spw-stencil-library/spw-textarea.entry.esm.js.map +1 -1
  679. package/dist/spw-stencil-library/spw-toc-container.entry.esm.js.map +1 -0
  680. package/dist/spw-stencil-library/spw-toc-navigation.entry.esm.js.map +1 -0
  681. package/dist/spw-stencil-library/spw-toc.entry.esm.js.map +1 -0
  682. package/dist/stats.json +2225 -592
  683. package/dist/types/components/spw-accordion/spw-accordion.d.ts +6 -0
  684. package/dist/types/components/spw-hero/spw-hero.d.ts +5 -1
  685. package/dist/types/components/spw-illustration/spw-illustration.d.ts +2 -0
  686. package/dist/types/components/spw-pagination/spw-pagination.d.ts +1 -0
  687. package/dist/types/components/spw-slider/spw-slider.d.ts +3 -0
  688. package/dist/types/components/spw-table/spw-table-container/spw-table-container.d.ts +3 -0
  689. package/dist/types/components/spw-table/spw-table-sidebar/spw-table-sidebar.d.ts +34 -0
  690. package/dist/types/components/spw-table/spw-table.d.ts +2 -0
  691. package/dist/types/components/spw-toc/spw-toc-container/spw-toc-container.d.ts +18 -0
  692. package/dist/types/components/spw-toc/spw-toc-navigation/spw-toc-navigation.d.ts +24 -0
  693. package/dist/types/components/spw-toc/spw-toc.d.ts +3 -0
  694. package/dist/types/components.d.ts +185 -2
  695. package/dist/types/stories/organisms/spw-toc/spw-toc.stories.d.ts +5 -0
  696. package/hydrate/index.js +1245 -134
  697. package/hydrate/index.mjs +1245 -134
  698. package/package.json +4 -4
  699. package/dist/components/p-C47wKUeG.js.map +0 -1
  700. package/dist/components/p-CFQbmE2_.js.map +0 -1
  701. package/dist/components/p-CQpGzRKu.js.map +0 -1
  702. package/dist/spw-stencil-library/p-1271e178.entry.js.map +0 -1
  703. package/dist/spw-stencil-library/p-33f33d6d.entry.js +0 -2
  704. package/dist/spw-stencil-library/p-33f33d6d.entry.js.map +0 -1
  705. package/dist/spw-stencil-library/p-5c745e85.entry.js +0 -2
  706. package/dist/spw-stencil-library/p-5c745e85.entry.js.map +0 -1
  707. package/dist/spw-stencil-library/p-71519d62.entry.js +0 -2
  708. package/dist/spw-stencil-library/p-71519d62.entry.js.map +0 -1
  709. package/dist/spw-stencil-library/p-98bddf34.entry.js +0 -2
  710. package/dist/spw-stencil-library/p-98bddf34.entry.js.map +0 -1
  711. package/dist/spw-stencil-library/p-aeec7eeb.entry.js.map +0 -1
  712. package/dist/spw-stencil-library/p-b8645217.entry.js +0 -2
  713. package/dist/spw-stencil-library/p-b8645217.entry.js.map +0 -1
  714. package/dist/spw-stencil-library/p-bf7cd8c9.entry.js +0 -2
  715. package/dist/spw-stencil-library/p-bf7cd8c9.entry.js.map +0 -1
  716. package/dist/spw-stencil-library/p-c43d3406.entry.js +0 -2
  717. package/dist/spw-stencil-library/p-c43d3406.entry.js.map +0 -1
  718. package/dist/spw-stencil-library/p-d02b077c.entry.js.map +0 -1
  719. /package/dist/spw-stencil-library/{p-4bc3d2ef.entry.js.map → p-04aa5d86.entry.js.map} +0 -0
  720. /package/dist/spw-stencil-library/{p-a2fd09f8.entry.js.map → p-0839efb1.entry.js.map} +0 -0
  721. /package/dist/spw-stencil-library/{p-84645c94.entry.js.map → p-0bc1209e.entry.js.map} +0 -0
  722. /package/dist/spw-stencil-library/{p-1644bf7d.entry.js.map → p-0e7f2c1a.entry.js.map} +0 -0
  723. /package/dist/spw-stencil-library/{p-670f0edc.entry.js.map → p-1306c0ff.entry.js.map} +0 -0
  724. /package/dist/spw-stencil-library/{p-ed61e2a8.entry.js.map → p-137f2856.entry.js.map} +0 -0
  725. /package/dist/spw-stencil-library/{p-5e0b04c0.entry.js.map → p-1bb4a071.entry.js.map} +0 -0
  726. /package/dist/spw-stencil-library/{p-eb26b450.entry.js.map → p-1c728c37.entry.js.map} +0 -0
  727. /package/dist/spw-stencil-library/{p-44bb3ec0.entry.js.map → p-20fa2637.entry.js.map} +0 -0
  728. /package/dist/spw-stencil-library/{p-2b70c24a.entry.js.map → p-2965d7ca.entry.js.map} +0 -0
  729. /package/dist/spw-stencil-library/{p-82ed2f9b.entry.js.map → p-29fb06a6.entry.js.map} +0 -0
  730. /package/dist/spw-stencil-library/{p-2760ef2b.entry.js.map → p-2d7492af.entry.js.map} +0 -0
  731. /package/dist/spw-stencil-library/{p-6c88a82d.entry.js.map → p-3067d3dd.entry.js.map} +0 -0
  732. /package/dist/spw-stencil-library/{p-e5f141b6.entry.js.map → p-31980405.entry.js.map} +0 -0
  733. /package/dist/spw-stencil-library/{p-9d0e8d02.entry.js.map → p-3553e1f1.entry.js.map} +0 -0
  734. /package/dist/spw-stencil-library/{p-cbf4ef91.entry.js.map → p-3c524edb.entry.js.map} +0 -0
  735. /package/dist/spw-stencil-library/{p-d37963e0.entry.js.map → p-420fd27d.entry.js.map} +0 -0
  736. /package/dist/spw-stencil-library/{p-87249c32.entry.js.map → p-460b4ede.entry.js.map} +0 -0
  737. /package/dist/spw-stencil-library/{p-c3f21e33.entry.js.map → p-47f6b942.entry.js.map} +0 -0
  738. /package/dist/spw-stencil-library/{p-f26fd3b1.entry.js.map → p-49227f48.entry.js.map} +0 -0
  739. /package/dist/spw-stencil-library/{p-a065a834.entry.js.map → p-4ab97219.entry.js.map} +0 -0
  740. /package/dist/spw-stencil-library/{p-3545f888.entry.js.map → p-5ba3deea.entry.js.map} +0 -0
  741. /package/dist/spw-stencil-library/{p-5e1aae61.entry.js.map → p-6c0993d6.entry.js.map} +0 -0
  742. /package/dist/spw-stencil-library/{p-95749696.entry.js.map → p-70ccb73f.entry.js.map} +0 -0
  743. /package/dist/spw-stencil-library/{p-6f084e62.entry.js.map → p-70f46bf2.entry.js.map} +0 -0
  744. /package/dist/spw-stencil-library/{p-b3e76f4c.entry.js.map → p-7214cc7b.entry.js.map} +0 -0
  745. /package/dist/spw-stencil-library/{p-0c3e8d91.entry.js.map → p-798bac47.entry.js.map} +0 -0
  746. /package/dist/spw-stencil-library/{p-a4111a43.entry.js.map → p-8483cd8b.entry.js.map} +0 -0
  747. /package/dist/spw-stencil-library/{p-931bea3a.entry.js.map → p-8c2f0377.entry.js.map} +0 -0
  748. /package/dist/spw-stencil-library/{p-e4e2cb61.entry.js.map → p-93bd4d23.entry.js.map} +0 -0
  749. /package/dist/spw-stencil-library/{p-25204236.entry.js.map → p-95ec862e.entry.js.map} +0 -0
  750. /package/dist/spw-stencil-library/{p-5adfcd7e.entry.js.map → p-9a3dcf80.entry.js.map} +0 -0
  751. /package/dist/spw-stencil-library/{p-6cdf16ac.entry.js.map → p-9d5deba6.entry.js.map} +0 -0
  752. /package/dist/spw-stencil-library/{p-d28a7068.entry.js.map → p-a264b181.entry.js.map} +0 -0
  753. /package/dist/spw-stencil-library/{p-95fa97a9.entry.js.map → p-aa4ddfa1.entry.js.map} +0 -0
  754. /package/dist/spw-stencil-library/{p-9dea2f39.entry.js.map → p-ad964a8e.entry.js.map} +0 -0
  755. /package/dist/spw-stencil-library/{p-08000970.entry.js.map → p-ada217d5.entry.js.map} +0 -0
  756. /package/dist/spw-stencil-library/{p-197a694e.entry.js.map → p-aed34c29.entry.js.map} +0 -0
  757. /package/dist/spw-stencil-library/{p-94069aff.entry.js.map → p-b4805c08.entry.js.map} +0 -0
  758. /package/dist/spw-stencil-library/{p-277bb102.entry.js.map → p-bb4c4e16.entry.js.map} +0 -0
  759. /package/dist/spw-stencil-library/{p-a5004a01.entry.js.map → p-bb7f1387.entry.js.map} +0 -0
  760. /package/dist/spw-stencil-library/{p-b4c2fdf2.entry.js.map → p-bcceb61b.entry.js.map} +0 -0
  761. /package/dist/spw-stencil-library/{p-68f93962.entry.js.map → p-bf070798.entry.js.map} +0 -0
  762. /package/dist/spw-stencil-library/{p-110ca863.entry.js.map → p-c02b7133.entry.js.map} +0 -0
  763. /package/dist/spw-stencil-library/{p-ca98ee5d.entry.js.map → p-c278daa3.entry.js.map} +0 -0
  764. /package/dist/spw-stencil-library/{p-428aa721.entry.js.map → p-c398550f.entry.js.map} +0 -0
  765. /package/dist/spw-stencil-library/{p-803b2bb5.entry.js.map → p-c77adac8.entry.js.map} +0 -0
  766. /package/dist/spw-stencil-library/{p-ea0cfe62.entry.js.map → p-cc3a84a1.entry.js.map} +0 -0
  767. /package/dist/spw-stencil-library/{p-91b264d1.entry.js.map → p-cc869e6f.entry.js.map} +0 -0
  768. /package/dist/spw-stencil-library/{p-a1d06611.entry.js.map → p-ccbc7c44.entry.js.map} +0 -0
  769. /package/dist/spw-stencil-library/{p-3ac699ae.entry.js.map → p-d18146ca.entry.js.map} +0 -0
  770. /package/dist/spw-stencil-library/{p-65aec904.entry.js.map → p-d2f5d210.entry.js.map} +0 -0
  771. /package/dist/spw-stencil-library/{p-bb2421dc.entry.js.map → p-d8cae37d.entry.js.map} +0 -0
  772. /package/dist/spw-stencil-library/{p-e2bac6be.entry.js.map → p-db817793.entry.js.map} +0 -0
  773. /package/dist/spw-stencil-library/{p-c3246505.entry.js.map → p-dbb7e719.entry.js.map} +0 -0
  774. /package/dist/spw-stencil-library/{p-df4d1f42.entry.js.map → p-de771d14.entry.js.map} +0 -0
  775. /package/dist/spw-stencil-library/{p-187d02cb.entry.js.map → p-e369abbb.entry.js.map} +0 -0
  776. /package/dist/spw-stencil-library/{p-67b7b947.entry.js.map → p-e44b8ebb.entry.js.map} +0 -0
  777. /package/dist/spw-stencil-library/{p-6461fb4b.entry.js.map → p-e78304f0.entry.js.map} +0 -0
  778. /package/dist/spw-stencil-library/{p-25aaf6a6.entry.js.map → p-ea5f2427.entry.js.map} +0 -0
  779. /package/dist/spw-stencil-library/{p-95891f3a.entry.js.map → p-ea952c66.entry.js.map} +0 -0
  780. /package/dist/spw-stencil-library/{p-22f022ca.entry.js.map → p-eaa1025a.entry.js.map} +0 -0
  781. /package/dist/spw-stencil-library/{p-ef8f15e9.entry.js.map → p-f05cd056.entry.js.map} +0 -0
  782. /package/dist/spw-stencil-library/{p-2ef45489.entry.js.map → p-fad06d00.entry.js.map} +0 -0
@@ -21,7 +21,33 @@ const meta = {
21
21
  component: `
22
22
  <strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
23
23
 
24
- Affiche toutes les informations d’un ensemble de données.
24
+ Le composant Tableau permet d'afficher et d'organiser efficacement de grandes quantités de données structurées. Il offre des fonctionnalités avancées de tri, filtrage et pagination pour faciliter la consultation et l'analyse des informations.
25
+
26
+ ## Structure
27
+
28
+ Le composant se compose de six parties :
29
+ - **spw-table** : Le conteneur principal du tableau
30
+ - **spw-table-head** : En-tête du tableau
31
+ - **spw-table-header** : Cellule d'en-tête (colonnes)
32
+ - **spw-table-body** : Corps du tableau contenant les données
33
+ - **spw-table-row** : Ligne de données
34
+ - **spw-table-cell** : Cellule de données
35
+ - **spw-table-footer** : Pied de tableau pour pagination/infos
36
+
37
+ ## Fonctionnalités
38
+
39
+ - Tri des colonnes avec indicateurs visuels
40
+ - Pagination intégrée
41
+ - Lignes sélectionnables avec checkboxes
42
+ - Support des états de ligne (sélection, désactivation)
43
+ - Filtres personnalisés par colonne via dropdown
44
+ - Actions contextuelles par ligne
45
+ - Support des tags et statuts
46
+ - Mode compact avec padding réduit
47
+ - Sticky header pour grands tableaux
48
+ - Skeleton loading pour chargement asynchrone
49
+ - Responsive avec scroll horizontal
50
+ - Accessibilité complète avec scope et aria
25
51
 
26
52
  [<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/90a77b-tableau)
27
53
  `,
@@ -94,6 +120,13 @@ Base.args = {
94
120
  </spw-table-body>
95
121
  `,
96
122
  };
123
+ Base.parameters = {
124
+ docs: {
125
+ description: {
126
+ story: `Tableau de base simple avec en-tête et plusieurs lignes de données. Exemple minimaliste pour afficher des données tabulaires sans fonctionnalités avancées.`,
127
+ },
128
+ },
129
+ };
97
130
  export const StickyTableWithMaxHeight = Template.bind({});
98
131
  StickyTableWithMaxHeight.args = {
99
132
  maxHeight: '225',
@@ -101,6 +134,13 @@ StickyTableWithMaxHeight.args = {
101
134
  isSticky: true,
102
135
  innerHTML: Base.args.innerHTML,
103
136
  };
137
+ StickyTableWithMaxHeight.parameters = {
138
+ docs: {
139
+ description: {
140
+ story: `Tableau avec en-tête fixe (sticky) et hauteur maximale. L'en-tête reste visible lors du scroll vertical, pratique pour les longs tableaux. Idéal pour améliorer la lisibilité des données volumineuses.`,
141
+ },
142
+ },
143
+ };
104
144
  export const ZebraTableWithSorting = Template.bind({});
105
145
  ZebraTableWithSorting.args = {
106
146
  isZebra: true,
@@ -136,6 +176,13 @@ ZebraTableWithSorting.args = {
136
176
  </spw-table-body>
137
177
  `,
138
178
  };
179
+ ZebraTableWithSorting.parameters = {
180
+ docs: {
181
+ description: {
182
+ story: `Tableau avec lignes alternées (zebra) et tri sur colonnes. Cliquer sur un en-tête de colonne pour trier les données. Les rayures facilitent la lecture horizontale des lignes.`,
183
+ },
184
+ },
185
+ };
139
186
  export const TableWithActionsAndTags = Template.bind({});
140
187
  TableWithActionsAndTags.args = {
141
188
  isZebra: true,
@@ -275,6 +322,13 @@ TableWithActionsAndTags.args = {
275
322
  </spw-table-footer>
276
323
  `,
277
324
  };
325
+ TableWithActionsAndTags.parameters = {
326
+ docs: {
327
+ description: {
328
+ story: `Tableau complexe avec sélection, filtres, actions et tags. Démontre toutes les fonctionnalités avancées : checkboxes de sélection, tooltips d'info, filtres par colonne, boutons d'actions, états de ligne (sélectionnée/désactivée), tags de statut et pagination complète. Idéal pour backoffices et interfaces d'administration.`,
329
+ },
330
+ },
331
+ };
278
332
  export const CompactTable = Template.bind({});
279
333
  CompactTable.args = {
280
334
  isZebra: true,
@@ -310,6 +364,13 @@ CompactTable.args = {
310
364
  </spw-table-body>
311
365
  `,
312
366
  };
367
+ CompactTable.parameters = {
368
+ docs: {
369
+ description: {
370
+ story: `Tableau compact avec padding réduit (small). Idéal pour afficher plus de données dans un espace réduit tout en conservant la lisibilité. Parfait pour les dashboards ou interfaces nécessitant une vue densifiée.`,
371
+ },
372
+ },
373
+ };
313
374
  export const LoadingWithSkeleton = Template.bind({});
314
375
  LoadingWithSkeleton.args = {
315
376
  isZebra: true,
@@ -429,4 +490,11 @@ LoadingWithSkeleton.args = {
429
490
  </spw-table-footer>
430
491
  `,
431
492
  };
493
+ LoadingWithSkeleton.parameters = {
494
+ docs: {
495
+ description: {
496
+ story: `Tableau avec état de chargement utilisant des skeletons. Les placeholders animés simulent le chargement des données pour améliorer l'expérience utilisateur pendant les requêtes asynchrones. Évite les sauts de layout et rassure l'utilisateur pendant l'attente.`,
497
+ },
498
+ },
499
+ };
432
500
  //# sourceMappingURL=spw-table.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spw-table.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-table/spw-table.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nlet componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nconst elementTag = 'spw-table';\n\nconst subComponentTags = ['spw-table-body', 'spw-table-cell', 'spw-table-footer', 'spw-table-header', 'spw-table-head', 'spw-table-row'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n innerHTML: { table: { disable: true } },\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tableau',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nAffiche toutes les informations d’un ensemble de données.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/90a77b-tableau)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction camelToKebab(str: string) {\n return str.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = args.innerHTML || '';\n return element;\n};\n\nexport const Base: StoryFn = Template.bind({});\nBase.args = {\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header scope=\"col\">Header 1</spw-table-header>\n <spw-table-header scope=\"col\">Header 2</spw-table-header>\n <spw-table-header scope=\"col\">Header 3</spw-table-header>\n <spw-table-header scope=\"col\">Header 4</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\n\nexport const StickyTableWithMaxHeight: StoryFn = Template.bind({});\nStickyTableWithMaxHeight.args = {\n maxHeight: '225',\n minWidth: '800',\n isSticky: true,\n innerHTML: Base.args.innerHTML,\n};\n\nexport const ZebraTableWithSorting: StoryFn = Template.bind({});\nZebraTableWithSorting.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell>Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Arthur</spw-table-cell>\n <spw-table-cell>35</spw-table-cell>\n <spw-table-cell>Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Micheline</spw-table-cell>\n <spw-table-cell>17</spw-table-cell>\n <spw-table-cell>Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>André</spw-table-cell>\n <spw-table-cell>84</spw-table-cell>\n <spw-table-cell>Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\n\nexport const TableWithActionsAndTags: StoryFn = Template.bind({});\nTableWithActionsAndTags.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header tooltip-title=\"Information\" tooltip-text=\"Ceci est une phrase d'exemple\" column-id=\"name\" sortable scope=\"col\">\n Nom\n <spw-dropdown slot=\"filters\" content-width=\"360\" direction=\"bottom\">\n <spw-icon icon=\"fa-filter\">\n <div slot=\"dropdownContent\">\n <h3 class=\"spw-ds-typography-heading-03\">Filtrer la colonne nom</h3>\n <form>\n <spw-text-field\n required\n size=\"small\"\n max-length=\"100\"\n min-length=\"3\"\n label=\"Champ texte\"\n type=\"text\"\n placeholder=\"Entrez un texte\"\n name=\"firstname\"\n class=\"mb-2\"\n ></spw-text-field>\n <spw-custom-select\n label=\"Mon label\"\n placeholder=\"Sélectionnez une option\"\n name=\"mon-super-select\"\n required=\"true\"\n multiple=\"true\"\n id=\"mon-custom-select-dynamique\"\n is-search=\"true\"\n class=\"mb-3\"\n ></spw-custom-select>\n <spw-group label=\"Des choix horizontaux\" required=\"true\" type=\"radios\" orientation=\"horizontal\">\n <spw-radio name=\"radio1\" value=\"option1\">Un input radio</spw-radio>\n <spw-radio name=\"radio1\" value=\"option2\">Un input radio</spw-radio>\n </spw-group>\n </form>\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button class=\"mt-3\" is-full-width variant=\"primary\" size=\"small\">Appliquer</spw-button>\n </spw-group>\n </div>\n </spw-icon>\n </spw-dropdown>\n </spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" sortable scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\"><spw-checkbox></spw-checkbox></spw-table-cell>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"disabled\">\n <spw-table-cell width=\"20\"><spw-checkbox disabled=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Marie</spw-table-cell>\n <spw-table-cell>22</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"selected\">\n <spw-table-cell width=\"20\"><spw-checkbox checked=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Thomas</spw-table-cell>\n <spw-table-cell>37</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">1-10 sur 9999 éléments</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\n\nexport const CompactTable: StoryFn = Template.bind({});\nCompactTable.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header padding=\"small\" column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Zoé</spw-table-cell>\n <spw-table-cell padding=\"small\">28</spw-table-cell>\n <spw-table-cell padding=\"small\">Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Arthur</spw-table-cell>\n <spw-table-cell padding=\"small\">35</spw-table-cell>\n <spw-table-cell padding=\"small\">Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Micheline</spw-table-cell>\n <spw-table-cell padding=\"small\">17</spw-table-cell>\n <spw-table-cell padding=\"small\">Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">André</spw-table-cell>\n <spw-table-cell padding=\"small\">84</spw-table-cell>\n <spw-table-cell padding=\"small\">Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\n\nexport const LoadingWithSkeleton: StoryFn = Template.bind({});\nLoadingWithSkeleton.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">Chargement en cours...</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\n"]}
1
+ {"version":3,"file":"spw-table.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-table/spw-table.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes } from '@utils/utils';\n\nlet componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nconst elementTag = 'spw-table';\n\nconst subComponentTags = ['spw-table-body', 'spw-table-cell', 'spw-table-footer', 'spw-table-header', 'spw-table-head', 'spw-table-row'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n innerHTML: { table: { disable: true } },\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tableau',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Tableau permet d'afficher et d'organiser efficacement de grandes quantités de données structurées. Il offre des fonctionnalités avancées de tri, filtrage et pagination pour faciliter la consultation et l'analyse des informations.\n\n## Structure\n\nLe composant se compose de six parties :\n- **spw-table** : Le conteneur principal du tableau\n- **spw-table-head** : En-tête du tableau\n- **spw-table-header** : Cellule d'en-tête (colonnes)\n- **spw-table-body** : Corps du tableau contenant les données\n- **spw-table-row** : Ligne de données\n- **spw-table-cell** : Cellule de données\n- **spw-table-footer** : Pied de tableau pour pagination/infos\n\n## Fonctionnalités\n\n- Tri des colonnes avec indicateurs visuels\n- Pagination intégrée\n- Lignes sélectionnables avec checkboxes\n- Support des états de ligne (sélection, désactivation)\n- Filtres personnalisés par colonne via dropdown\n- Actions contextuelles par ligne\n- Support des tags et statuts\n- Mode compact avec padding réduit\n- Sticky header pour grands tableaux\n- Skeleton loading pour chargement asynchrone\n- Responsive avec scroll horizontal\n- Accessibilité complète avec scope et aria\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/90a77b-tableau)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction camelToKebab(str: string) {\n return str.replace(/[A-Z]/g, match => `-${match.toLowerCase()}`);\n}\n\nconst Template: StoryFn = args => {\n const element = document.createElement(elementTag);\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n const kebabKey = camelToKebab(key);\n element.setAttribute(kebabKey, val);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = args.innerHTML || '';\n return element;\n};\n\nexport const Base: StoryFn = Template.bind({});\nBase.args = {\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header scope=\"col\">Header 1</spw-table-header>\n <spw-table-header scope=\"col\">Header 2</spw-table-header>\n <spw-table-header scope=\"col\">Header 3</spw-table-header>\n <spw-table-header scope=\"col\">Header 4</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n <spw-table-cell>Cellule</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\nBase.parameters = {\n docs: {\n description: {\n story: `Tableau de base simple avec en-tête et plusieurs lignes de données. Exemple minimaliste pour afficher des données tabulaires sans fonctionnalités avancées.`,\n },\n },\n};\n\nexport const StickyTableWithMaxHeight: StoryFn = Template.bind({});\nStickyTableWithMaxHeight.args = {\n maxHeight: '225',\n minWidth: '800',\n isSticky: true,\n innerHTML: Base.args.innerHTML,\n};\nStickyTableWithMaxHeight.parameters = {\n docs: {\n description: {\n story: `Tableau avec en-tête fixe (sticky) et hauteur maximale. L'en-tête reste visible lors du scroll vertical, pratique pour les longs tableaux. Idéal pour améliorer la lisibilité des données volumineuses.`,\n },\n },\n};\n\nexport const ZebraTableWithSorting: StoryFn = Template.bind({});\nZebraTableWithSorting.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell>Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Arthur</spw-table-cell>\n <spw-table-cell>35</spw-table-cell>\n <spw-table-cell>Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>Micheline</spw-table-cell>\n <spw-table-cell>17</spw-table-cell>\n <spw-table-cell>Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell>André</spw-table-cell>\n <spw-table-cell>84</spw-table-cell>\n <spw-table-cell>Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\nZebraTableWithSorting.parameters = {\n docs: {\n description: {\n story: `Tableau avec lignes alternées (zebra) et tri sur colonnes. Cliquer sur un en-tête de colonne pour trier les données. Les rayures facilitent la lecture horizontale des lignes.`,\n },\n },\n};\n\nexport const TableWithActionsAndTags: StoryFn = Template.bind({});\nTableWithActionsAndTags.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header tooltip-title=\"Information\" tooltip-text=\"Ceci est une phrase d'exemple\" column-id=\"name\" sortable scope=\"col\">\n Nom\n <spw-dropdown slot=\"filters\" content-width=\"360\" direction=\"bottom\">\n <spw-icon icon=\"fa-filter\">\n <div slot=\"dropdownContent\">\n <h3 class=\"spw-ds-typography-heading-03\">Filtrer la colonne nom</h3>\n <form>\n <spw-text-field\n required\n size=\"small\"\n max-length=\"100\"\n min-length=\"3\"\n label=\"Champ texte\"\n type=\"text\"\n placeholder=\"Entrez un texte\"\n name=\"firstname\"\n class=\"mb-2\"\n ></spw-text-field>\n <spw-custom-select\n label=\"Mon label\"\n placeholder=\"Sélectionnez une option\"\n name=\"mon-super-select\"\n required=\"true\"\n multiple=\"true\"\n id=\"mon-custom-select-dynamique\"\n is-search=\"true\"\n class=\"mb-3\"\n ></spw-custom-select>\n <spw-group label=\"Des choix horizontaux\" required=\"true\" type=\"radios\" orientation=\"horizontal\">\n <spw-radio name=\"radio1\" value=\"option1\">Un input radio</spw-radio>\n <spw-radio name=\"radio1\" value=\"option2\">Un input radio</spw-radio>\n </spw-group>\n </form>\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button class=\"mt-3\" is-full-width variant=\"primary\" size=\"small\">Appliquer</spw-button>\n </spw-group>\n </div>\n </spw-icon>\n </spw-dropdown>\n </spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" sortable scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\"><spw-checkbox></spw-checkbox></spw-table-cell>\n <spw-table-cell>Zoé</spw-table-cell>\n <spw-table-cell>28</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"disabled\">\n <spw-table-cell width=\"20\"><spw-checkbox disabled=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Marie</spw-table-cell>\n <spw-table-cell>22</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row state=\"selected\">\n <spw-table-cell width=\"20\"><spw-checkbox checked=\"true\"></spw-checkbox></spw-table-cell>\n <spw-table-cell>Thomas</spw-table-cell>\n <spw-table-cell>37</spw-table-cell>\n <spw-table-cell width=\"40\"><spw-tag size=\"small\" variant=\"green\">Validé</spw-tag></spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <div class=\"d-flex\">\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-trash\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-button size=\"small\" variant=\"secondary\" icon=\"fa-edit\" is-icon-only=\"true\" class=\"mx-1\"></spw-button>\n <spw-dropdown direction=\"left\">\n <spw-button icon=\"fa-ellipsis-vertical\" is-icon-only=\"true\" size=\"small\" variant=\"secondary\" class=\"mx-1\">\n <div slot=\"dropdownContent\">\n <spw-group orientation=\"vertical\" is-full-width>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Modifier</spw-button>\n <spw-button is-full-width variant=\"secondary\" size=\"small\">Supprimer</spw-button>\n </spw-group>\n </div>\n </spw-button>\n </spw-dropdown>\n </div>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">1-10 sur 9999 éléments</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\nTableWithActionsAndTags.parameters = {\n docs: {\n description: {\n story: `Tableau complexe avec sélection, filtres, actions et tags. Démontre toutes les fonctionnalités avancées : checkboxes de sélection, tooltips d'info, filtres par colonne, boutons d'actions, états de ligne (sélectionnée/désactivée), tags de statut et pagination complète. Idéal pour backoffices et interfaces d'administration.`,\n },\n },\n};\n\nexport const CompactTable: StoryFn = Template.bind({});\nCompactTable.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header padding=\"small\" column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header padding=\"small\" column-id=\"city\" sortable scope=\"col\">Ville</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Zoé</spw-table-cell>\n <spw-table-cell padding=\"small\">28</spw-table-cell>\n <spw-table-cell padding=\"small\">Charleroi</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Arthur</spw-table-cell>\n <spw-table-cell padding=\"small\">35</spw-table-cell>\n <spw-table-cell padding=\"small\">Namur</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">Micheline</spw-table-cell>\n <spw-table-cell padding=\"small\">17</spw-table-cell>\n <spw-table-cell padding=\"small\">Liège</spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell padding=\"small\">André</spw-table-cell>\n <spw-table-cell padding=\"small\">84</spw-table-cell>\n <spw-table-cell padding=\"small\">Tournai</spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n `,\n};\nCompactTable.parameters = {\n docs: {\n description: {\n story: `Tableau compact avec padding réduit (small). Idéal pour afficher plus de données dans un espace réduit tout en conservant la lisibilité. Parfait pour les dashboards ou interfaces nécessitant une vue densifiée.`,\n },\n },\n};\n\nexport const LoadingWithSkeleton: StoryFn = Template.bind({});\nLoadingWithSkeleton.args = {\n isZebra: true,\n innerHTML: `\n <spw-table-head>\n <spw-table-row>\n <spw-table-header width=\"20\" scope=\"col\">\n <spw-checkbox></spw-checkbox>\n </spw-table-header>\n <spw-table-header column-id=\"name\" sortable scope=\"col\">Nom</spw-table-header>\n <spw-table-header column-id=\"age\" sortable scope=\"col\">Âge</spw-table-header>\n <spw-table-header column-id=\"status\" scope=\"col\">Statut</spw-table-header>\n <spw-table-header text-align=\"center\" scope=\"col\">Actions</spw-table-header>\n </spw-table-row>\n </spw-table-head>\n <spw-table-body>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n <spw-table-row>\n <spw-table-cell width=\"20\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell>\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell width=\"40\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n <spw-table-cell padding=\"small\" width=\"10\">\n <spw-skeleton lines=\"1\"></spw-skeleton>\n </spw-table-cell>\n </spw-table-row>\n </spw-table-body>\n <spw-table-footer>\n <div slot=\"left\">Chargement en cours...</div>\n <div slot=\"center\">\n <spw-pagination class=\"spw-pagination\" variant=\"numbers\" total-items=\"30\" items-per-page=\"10\"></spw-pagination>\n </div>\n <div slot=\"right\">\n <spw-select placeholder=\"N°\" name=\"mon-select-natif\" size=\"medium\">\n <option selected value=\"10\">10</option>\n <option value=\"20\">20</option>\n <option value=\"30\">30</option>\n <option value=\"40\">40</option>\n </spw-select>\n éléments par page\n </div>\n </spw-table-footer>\n `,\n};\nLoadingWithSkeleton.parameters = {\n docs: {\n description: {\n story: `Tableau avec état de chargement utilisant des skeletons. Les placeholders animés simulent le chargement des données pour améliorer l'expérience utilisateur pendant les requêtes asynchrones. Évite les sauts de layout et rassure l'utilisateur pendant l'attente.`,\n },\n },\n};\n"]}
@@ -21,7 +21,30 @@ const meta = {
21
21
  component: `
22
22
  <strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
23
23
 
24
- Les onglets sont utilisés pour organiser le contenu associé.
24
+ Les onglets sont utilisés pour organiser le contenu associé dans une interface. Ils permettent de naviguer entre différentes sections de contenu sans quitter la page, en affichant une seule section à la fois.
25
+
26
+ ## Structure
27
+
28
+ Le composant se compose de quatre parties :
29
+ - **spw-tabs** : Le conteneur principal qui gère l'état et la logique
30
+ - **spw-tabs-navigation** : Contient la liste des onglets cliquables
31
+ - **spw-tabs-navigation-item** : Chaque onglet individuel avec son label
32
+ - **spw-tabs-content** : Le contenu associé à chaque onglet
33
+
34
+ ## Variants disponibles
35
+
36
+ - **Default** : Style par défaut avec bordure inférieure
37
+ - **Box** : Style avec fond et bordures complètes
38
+
39
+ ## Fonctionnalités
40
+
41
+ - Navigation par clic entre les onglets
42
+ - Support des onglets désactivés
43
+ - Notifications visuelles (bubbles) sur les onglets
44
+ - Tronquer du texte avec tooltip si nécessaire
45
+ - Support des onglets imbriqués (multi-niveaux)
46
+ - Navigation au clavier accessible
47
+ - Émission d'événement lors du changement d'onglet
25
48
 
26
49
  [<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/857780-onglets)
27
50
  `,
@@ -182,6 +205,17 @@ Default.args = {
182
205
  bubble: true,
183
206
  defaultActiveTab: '1',
184
207
  };
208
+ Default.parameters = {
209
+ docs: {
210
+ description: {
211
+ story: `
212
+ Exemple d'onglets avec le style par défaut. Cette story démontre plusieurs fonctionnalités : un onglet désactivé (Onglet 2), un onglet avec notification bubble (Onglet 3), et 8 onglets au total pour montrer le comportement avec beaucoup d'items.
213
+
214
+ Cas d'usage : navigation entre différentes sections d'un formulaire, d'un profil utilisateur, ou de paramètres. Le style default convient aux interfaces légères et épurées.
215
+ `,
216
+ },
217
+ },
218
+ };
185
219
  export const Box = TemplateBox.bind({});
186
220
  Box.args = {
187
221
  disabled: true,
@@ -189,6 +223,17 @@ Box.args = {
189
223
  defaultActiveTab: '1',
190
224
  variant: 'box',
191
225
  };
226
+ Box.parameters = {
227
+ docs: {
228
+ description: {
229
+ story: `
230
+ Variante "box" avec un fond et des bordures complètes autour du contenu. Ce style offre une séparation visuelle plus marquée entre les onglets et le contenu.
231
+
232
+ Cas d'usage : interfaces nécessitant une meilleure distinction visuelle, dashboards, ou sections de contenu nécessitant une mise en valeur particulière. Le padding interne du contenu crée un espacement confortable.
233
+ `,
234
+ },
235
+ },
236
+ };
192
237
  export const MultiLevel = TemplateMultiLevel.bind({});
193
238
  MultiLevel.args = {
194
239
  disabled: true,
@@ -196,4 +241,15 @@ MultiLevel.args = {
196
241
  defaultActiveTab: '1',
197
242
  variant: 'box',
198
243
  };
244
+ MultiLevel.parameters = {
245
+ docs: {
246
+ description: {
247
+ story: `
248
+ Démonstration d'onglets imbriqués (multi-niveaux). Le premier onglet contient lui-même un système d'onglets complet, permettant une navigation hiérarchique complexe.
249
+
250
+ Cas d'usage : interfaces avancées nécessitant plusieurs niveaux de navigation (ex: configuration système avec catégories et sous-catégories). À utiliser avec précaution pour éviter de surcharger l'interface utilisateur.
251
+ `,
252
+ },
253
+ },
254
+ };
199
255
  //# sourceMappingURL=spw-tabs.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spw-tabs.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tabs/spw-tabs.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tabs';\n\nconst subComponentTags = ['spw-tabs-content', 'spw-tabs-navigation', 'spw-tabs-navigation-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Onglets (tabs)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLes onglets sont utilisés pour organiser le contenu associé. \n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/857780-onglets)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentDefault(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentBox(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"p-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentMultiLevel(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\">\n <div class=\"p-3\">\n <spw-tabs default-active-tab=\"1\">\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"true\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"true\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n </spw-tabs>\n </div>\n </spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nconst TemplateDefault: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentDefault(args);\n\n return element;\n};\n\nconst TemplateBox: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBox(args);\n\n return element;\n};\n\nconst TemplateMultiLevel: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentMultiLevel(args);\n\n return element;\n};\n\nexport const Default = TemplateDefault.bind({});\nDefault.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n};\n\nexport const Box = TemplateBox.bind({});\nBox.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\n\nexport const MultiLevel = TemplateMultiLevel.bind({});\nMultiLevel.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\n"]}
1
+ {"version":3,"file":"spw-tabs.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tabs/spw-tabs.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tabs';\n\nconst subComponentTags = ['spw-tabs-content', 'spw-tabs-navigation', 'spw-tabs-navigation-item'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Onglets (tabs)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLes onglets sont utilisés pour organiser le contenu associé dans une interface. Ils permettent de naviguer entre différentes sections de contenu sans quitter la page, en affichant une seule section à la fois.\n\n## Structure\n\nLe composant se compose de quatre parties :\n- **spw-tabs** : Le conteneur principal qui gère l'état et la logique\n- **spw-tabs-navigation** : Contient la liste des onglets cliquables\n- **spw-tabs-navigation-item** : Chaque onglet individuel avec son label\n- **spw-tabs-content** : Le contenu associé à chaque onglet\n\n## Variants disponibles\n\n- **Default** : Style par défaut avec bordure inférieure\n- **Box** : Style avec fond et bordures complètes\n\n## Fonctionnalités\n\n- Navigation par clic entre les onglets\n- Support des onglets désactivés\n- Notifications visuelles (bubbles) sur les onglets\n- Tronquer du texte avec tooltip si nécessaire\n- Support des onglets imbriqués (multi-niveaux)\n- Navigation au clavier accessible\n- Émission d'événement lors du changement d'onglet\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/857780-onglets)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentDefault(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentBox(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"p-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nfunction htmlContentMultiLevel(slotArgs) {\n return /* HTML */ `\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"${slotArgs.disabled}\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"${slotArgs.bubble}\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\">\n <div class=\"p-3\">\n <spw-tabs default-active-tab=\"1\">\n <spw-tabs-navigation slot=\"navigation\">\n <spw-tabs-navigation-item tab-id=\"1\">Onglet 1</spw-tabs-navigation-item>\n <spw-tabs-navigation-item disabled=\"true\" tab-id=\"2\">Onglet 2</spw-tabs-navigation-item>\n <spw-tabs-navigation-item bubble=\"true\" tab-id=\"3\">Onglet 3</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"4\">Onglet 4</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"5\">Onglet 5</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"6\">Onglet 6</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"7\">Onglet 7</spw-tabs-navigation-item>\n <spw-tabs-navigation-item tab-id=\"8\">Onglet 8</spw-tabs-navigation-item>\n </spw-tabs-navigation>\n\n <div slot=\"content\">\n <spw-tabs-content tab-id=\"1\"><div class=\"pt-3\">Contenu 1</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"pt-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"pt-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"pt-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"pt-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"pt-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"pt-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"pt-3\">Contenu 8</div></spw-tabs-content>\n </div>\n </spw-tabs>\n </div>\n </spw-tabs-content>\n <spw-tabs-content tab-id=\"2\"><div class=\"p-3\">Contenu 2</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"3\"><div class=\"p-3\">Contenu 3</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"4\"><div class=\"p-3\">Contenu 4</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"5\"><div class=\"p-3\">Contenu 5</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"6\"><div class=\"p-3\">Contenu 6</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"7\"><div class=\"p-3\">Contenu 7</div></spw-tabs-content>\n <spw-tabs-content tab-id=\"8\"><div class=\"p-3\">Contenu 8</div></spw-tabs-content>\n </div>\n `;\n}\n\nconst TemplateDefault: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentDefault(args);\n\n return element;\n};\n\nconst TemplateBox: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBox(args);\n\n return element;\n};\n\nconst TemplateMultiLevel: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentMultiLevel(args);\n\n return element;\n};\n\nexport const Default = TemplateDefault.bind({});\nDefault.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n};\nDefault.parameters = {\n docs: {\n description: {\n story: `\nExemple d'onglets avec le style par défaut. Cette story démontre plusieurs fonctionnalités : un onglet désactivé (Onglet 2), un onglet avec notification bubble (Onglet 3), et 8 onglets au total pour montrer le comportement avec beaucoup d'items.\n\nCas d'usage : navigation entre différentes sections d'un formulaire, d'un profil utilisateur, ou de paramètres. Le style default convient aux interfaces légères et épurées.\n `,\n },\n },\n};\n\nexport const Box = TemplateBox.bind({});\nBox.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\nBox.parameters = {\n docs: {\n description: {\n story: `\nVariante \"box\" avec un fond et des bordures complètes autour du contenu. Ce style offre une séparation visuelle plus marquée entre les onglets et le contenu.\n\nCas d'usage : interfaces nécessitant une meilleure distinction visuelle, dashboards, ou sections de contenu nécessitant une mise en valeur particulière. Le padding interne du contenu crée un espacement confortable.\n `,\n },\n },\n};\n\nexport const MultiLevel = TemplateMultiLevel.bind({});\nMultiLevel.args = {\n disabled: true,\n bubble: true,\n defaultActiveTab: '1',\n variant: 'box',\n};\nMultiLevel.parameters = {\n docs: {\n description: {\n story: `\nDémonstration d'onglets imbriqués (multi-niveaux). Le premier onglet contient lui-même un système d'onglets complet, permettant une navigation hiérarchique complexe.\n\nCas d'usage : interfaces avancées nécessitant plusieurs niveaux de navigation (ex: configuration système avec catégories et sous-catégories). À utiliser avec précaution pour éviter de surcharger l'interface utilisateur.\n `,\n },\n },\n};\n"]}
@@ -21,7 +21,36 @@ const meta = {
21
21
  component: `
22
22
  <strong class="mr-2">Statut du composant :</strong> <spw-tag size="small" variant="green">Prêt</spw-tag>
23
23
 
24
- Bloc visuel permettant aux utilisateurs de sélectionner des options ou de changer de page.
24
+ Le composant Tile est un bloc visuel cliquable permettant aux utilisateurs de naviguer vers des pages ou de sélectionner des options. Il offre trois variantes adaptées à différents contextes d'utilisation.
25
+
26
+ ## Structure
27
+
28
+ Le composant se compose de trois éléments :
29
+ - **spw-tile** : Conteneur principal avec gestion des variantes et interactions
30
+ - **spw-tile-title** : Titre de la tuile
31
+ - **spw-tile-description** : Description optionnelle (variant icon uniquement)
32
+
33
+ ## Variantes disponibles
34
+
35
+ - **icon** : Tuile avec icône centrale, titre et description
36
+ - **light** : Tuile avec image de fond et titre en overlay
37
+ - **big** : Grande tuile avec image plein format et chevron d'action
38
+
39
+ ## Fonctionnalités
40
+
41
+ - Trois variantes visuelles adaptées aux besoins
42
+ - Effets hover avec transitions fluides
43
+ - Support des icônes FontAwesome (variant icon)
44
+ - Images de fond avec overlay (variants light et big)
45
+ - Formats de hauteur personnalisables
46
+ - Indicateur visuel chevron sur variant big
47
+ - Rendu sémantique (div ou a selon href)
48
+
49
+ ## Cas d'usage
50
+
51
+ - **Variant icon** : Accès rapides aux services, menu de fonctionnalités
52
+ - **Variant light** : Navigation par catégories, sections thématiques
53
+ - **Variant big** : Mise en avant de contenus majeurs, landing pages
25
54
 
26
55
  [<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)
27
56
  `,
@@ -110,4 +139,57 @@ Big.args = {
110
139
  imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',
111
140
  imageAlt: 'Image de tuile',
112
141
  };
142
+ Icon.parameters = {
143
+ docs: {
144
+ description: {
145
+ story: `
146
+ Tuile avec icône centrale (fa-paper-plane), titre et description. Format compact et informatif, idéal pour les menus d'accès rapides.
147
+
148
+ Caractéristiques :
149
+ - Icône FontAwesome large et centrée
150
+ - Titre et description sur fond blanc
151
+ - Effet hover avec surbrillance
152
+ - Lien externe (target="_blank")
153
+
154
+ Cas d'usage : grille de services (contacts, formulaires, démarches), menu de fonctionnalités d'une application, portail d'outils avec description. La description aide à comprendre la fonction avant de cliquer.
155
+ `,
156
+ },
157
+ },
158
+ };
159
+ Light.parameters = {
160
+ docs: {
161
+ description: {
162
+ story: `
163
+ Tuile légère avec image de fond et titre en overlay. Format minimaliste et élégant, met l'accent sur le visuel.
164
+
165
+ Caractéristiques :
166
+ - Image de fond plein format
167
+ - Overlay semi-transparent
168
+ - Titre en blanc par-dessus l'image
169
+ - Format landscape par défaut (configurable : square, portrait)
170
+ - Effet hover avec zoom subtil de l'image
171
+
172
+ Cas d'usage : navigation par catégories thématiques (environnement, mobilité, emploi), galerie de sections, portail avec accès visuels aux grandes rubriques. L'image illustre directement le thème.
173
+ `,
174
+ },
175
+ },
176
+ };
177
+ Big.parameters = {
178
+ docs: {
179
+ description: {
180
+ story: `
181
+ Grande tuile avec image plein format, titre en overlay et icône chevron. Format impactant pour mise en avant de contenus majeurs.
182
+
183
+ Caractéristiques :
184
+ - Image de fond haute résolution
185
+ - Titre en blanc avec overlay gradient
186
+ - Icône chevron (fa-chevron-right) indiquant l'action
187
+ - Format landscape par défaut (configurable : square, portrait)
188
+ - Effet hover avec transition sur image et chevron
189
+
190
+ Cas d'usage : landing pages avec sections principales, mise en avant d'univers thématiques majeurs, portails institutionnels avec grandes rubriques. Le format généreux capte l'attention et valorise le contenu.
191
+ `,
192
+ },
193
+ },
194
+ };
113
195
  //# sourceMappingURL=spw-tile.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spw-tile.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tile/spw-tile.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tile';\n\nconst subComponentTags = ['spw-tile-description', 'spw-tile-title'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tuile (tile)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nBloc visuel permettant aux utilisateurs de sélectionner des options ou de changer de page.\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentIcon() {\n return /* HTML */ `\n <spw-icon icon=\"fa-paper-plane\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n `;\n}\nfunction htmlContentLight() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\nfunction htmlContentBig() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\n\nconst TemplateIcon: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentIcon();\n\n return element;\n};\n\nconst TemplateLight: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentLight();\n\n return element;\n};\n\nconst TemplateBig: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBig();\n\n return element;\n};\n\nexport const Icon = TemplateIcon.bind({});\nIcon.args = {\n variant: 'icon',\n href: 'https://google.com',\n target: '_blank',\n};\n\nexport const Light = TemplateLight.bind({});\nLight.args = {\n variant: 'light',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nexport const Big = TemplateBig.bind({});\nBig.args = {\n variant: 'big',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n"]}
1
+ {"version":3,"file":"spw-tile.stories.js","sourceRoot":"","sources":["../../../../src/stories/organisms/spw-tile/spw-tile.stories.ts"],"names":[],"mappings":"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","sourcesContent":["let componentsData: any;\n\ntry {\n componentsData = require('../../../../dist/components_json.json');\n} catch (error) {\n console.warn('components_json.json non trouvé. Utilisation de valeurs par défaut.');\n componentsData = {};\n}\n\nimport { Meta, StoryFn } from '@storybook/web-components';\nimport { withComponentControls, extractArgTypes, toKebabCase } from '@utils/utils';\n\nconst elementTag = 'spw-tile';\n\nconst subComponentTags = ['spw-tile-description', 'spw-tile-title'];\n\nconst argTypes = {\n ...withComponentControls(componentsData, { tag: elementTag }),\n ...extractArgTypes(componentsData, subComponentTags),\n};\n\nconst meta: Meta = {\n title: 'Organismes/Tuile (tile)',\n component: elementTag,\n argTypes,\n tags: ['autodocs'],\n parameters: {\n docs: {\n description: {\n component: `\n<strong class=\"mr-2\">Statut du composant :</strong> <spw-tag size=\"small\" variant=\"green\">Prêt</spw-tag>\n\nLe composant Tile est un bloc visuel cliquable permettant aux utilisateurs de naviguer vers des pages ou de sélectionner des options. Il offre trois variantes adaptées à différents contextes d'utilisation.\n\n## Structure\n\nLe composant se compose de trois éléments :\n- **spw-tile** : Conteneur principal avec gestion des variantes et interactions\n- **spw-tile-title** : Titre de la tuile\n- **spw-tile-description** : Description optionnelle (variant icon uniquement)\n\n## Variantes disponibles\n\n- **icon** : Tuile avec icône centrale, titre et description\n- **light** : Tuile avec image de fond et titre en overlay\n- **big** : Grande tuile avec image plein format et chevron d'action\n\n## Fonctionnalités\n\n- Trois variantes visuelles adaptées aux besoins\n- Effets hover avec transitions fluides\n- Support des icônes FontAwesome (variant icon)\n- Images de fond avec overlay (variants light et big)\n- Formats de hauteur personnalisables\n- Indicateur visuel chevron sur variant big\n- Rendu sémantique (div ou a selon href)\n\n## Cas d'usage\n\n- **Variant icon** : Accès rapides aux services, menu de fonctionnalités\n- **Variant light** : Navigation par catégories, sections thématiques\n- **Variant big** : Mise en avant de contenus majeurs, landing pages\n\n[<spw-link>Consulter la documentation</spw-link>](https://zeroheight.com/2310c7a1e/p/3326e7-tuile-tile)\n `,\n },\n },\n },\n};\n\nexport default meta;\n\nfunction htmlContentIcon() {\n return /* HTML */ `\n <spw-icon icon=\"fa-paper-plane\"></spw-icon>\n <spw-tile-title>Titre de ma tuile</spw-tile-title>\n <spw-tile-description>Description de ma tuile</spw-tile-description>\n `;\n}\nfunction htmlContentLight() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\nfunction htmlContentBig() {\n return /* HTML */ ` <spw-tile-title>Titre de ma tuile</spw-tile-title> `;\n}\n\nconst TemplateIcon: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentIcon();\n\n return element;\n};\n\nconst TemplateLight: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentLight();\n\n return element;\n};\n\nconst TemplateBig: StoryFn = args => {\n const element = document.createElement(elementTag);\n\n const controls = withComponentControls(componentsData, { tag: elementTag }) || {};\n const masterProps = controls.__realProps || Object.keys(controls);\n\n Object.entries(args).forEach(([key, val]) => {\n if (masterProps.includes(key)) {\n element.setAttribute(toKebabCase(key), val as string);\n } else if (key.startsWith('on')) {\n element.addEventListener(key.substring(2).toLowerCase(), val);\n }\n });\n\n element.innerHTML = htmlContentBig();\n\n return element;\n};\n\nexport const Icon = TemplateIcon.bind({});\nIcon.args = {\n variant: 'icon',\n href: 'https://google.com',\n target: '_blank',\n};\n\nexport const Light = TemplateLight.bind({});\nLight.args = {\n variant: 'light',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nexport const Big = TemplateBig.bind({});\nBig.args = {\n variant: 'big',\n href: 'https://google.com',\n target: '_blank',\n imageSrc: 'https://images.unsplash.com/photo-1465056836041-7f43ac27dcb5',\n imageAlt: 'Image de tuile',\n};\n\nIcon.parameters = {\n docs: {\n description: {\n story: `\nTuile avec icône centrale (fa-paper-plane), titre et description. Format compact et informatif, idéal pour les menus d'accès rapides.\n\nCaractéristiques :\n- Icône FontAwesome large et centrée\n- Titre et description sur fond blanc\n- Effet hover avec surbrillance\n- Lien externe (target=\"_blank\")\n\nCas d'usage : grille de services (contacts, formulaires, démarches), menu de fonctionnalités d'une application, portail d'outils avec description. La description aide à comprendre la fonction avant de cliquer.\n `,\n },\n },\n};\n\nLight.parameters = {\n docs: {\n description: {\n story: `\nTuile légère avec image de fond et titre en overlay. Format minimaliste et élégant, met l'accent sur le visuel.\n\nCaractéristiques :\n- Image de fond plein format\n- Overlay semi-transparent\n- Titre en blanc par-dessus l'image\n- Format landscape par défaut (configurable : square, portrait)\n- Effet hover avec zoom subtil de l'image\n\nCas d'usage : navigation par catégories thématiques (environnement, mobilité, emploi), galerie de sections, portail avec accès visuels aux grandes rubriques. L'image illustre directement le thème.\n `,\n },\n },\n};\n\nBig.parameters = {\n docs: {\n description: {\n story: `\nGrande tuile avec image plein format, titre en overlay et icône chevron. Format impactant pour mise en avant de contenus majeurs.\n\nCaractéristiques :\n- Image de fond haute résolution\n- Titre en blanc avec overlay gradient\n- Icône chevron (fa-chevron-right) indiquant l'action\n- Format landscape par défaut (configurable : square, portrait)\n- Effet hover avec transition sur image et chevron\n\nCas d'usage : landing pages avec sections principales, mise en avant d'univers thématiques majeurs, portails institutionnels avec grandes rubriques. Le format généreux capte l'attention et valorise le contenu.\n `,\n },\n },\n};\n"]}