@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
@@ -0,0 +1,290 @@
1
+ import { Host, h } from "@stencil/core";
2
+ export class SpwTableSidebar {
3
+ constructor() {
4
+ /** Si true, la sidebar est dépliée par défaut */
5
+ this.defaultExpanded = true;
6
+ /** Permet de définir un titre à la sidebar */
7
+ this.sidebarTitle = 'Filtres';
8
+ /** Permet de définir une icône à côté du titre de la sidebar (référence font-awesome) */
9
+ this.sidebarIcon = 'fa-filter';
10
+ /** Permet de définir une largeur en px pour la sidebar dépliée */
11
+ this.sidebarWidth = 260;
12
+ /** Si true, affiche une icône de reset à côté du titre */
13
+ this.hasReset = true;
14
+ /** Icône à utiliser pour le bouton de reset (référence font-awesome) */
15
+ this.resetIcon = 'fa-arrow-rotate-left';
16
+ this.toggleSidebar = () => {
17
+ this.expanded = !this.expanded;
18
+ };
19
+ this.handleReset = (event) => {
20
+ event.stopPropagation();
21
+ this.sidebarReset.emit();
22
+ };
23
+ }
24
+ componentWillLoad() {
25
+ this.expanded = this.defaultExpanded;
26
+ }
27
+ componentDidLoad() {
28
+ setTimeout(() => {
29
+ this.observeTableHeight();
30
+ }, 0);
31
+ }
32
+ disconnectedCallback() {
33
+ if (this.resizeObserver) {
34
+ this.resizeObserver.disconnect();
35
+ }
36
+ if (this.mutationObserver) {
37
+ this.mutationObserver.disconnect();
38
+ }
39
+ if (this.debounceTimer) {
40
+ clearTimeout(this.debounceTimer);
41
+ }
42
+ }
43
+ calculateTotalHeight() {
44
+ const spwTable = this.findSpwTable();
45
+ if (!spwTable)
46
+ return 0;
47
+ const shadowRoot = spwTable.shadowRoot;
48
+ if (!shadowRoot)
49
+ return spwTable.offsetHeight;
50
+ const tableContainer = shadowRoot.querySelector('.spw-table-container');
51
+ let totalHeight = tableContainer ? tableContainer.offsetHeight : 0;
52
+ const resizeHandle = shadowRoot.querySelector('.spw-table-resize-handle');
53
+ if (resizeHandle) {
54
+ totalHeight += resizeHandle.offsetHeight;
55
+ }
56
+ const footerSlot = spwTable.querySelector('[slot="table-footer"]');
57
+ if (footerSlot && footerSlot instanceof HTMLElement) {
58
+ totalHeight += footerSlot.offsetHeight;
59
+ }
60
+ return totalHeight;
61
+ }
62
+ observeTableHeight() {
63
+ const spwTable = this.findSpwTable();
64
+ if (!spwTable) {
65
+ return;
66
+ }
67
+ const updateFullHeight = () => {
68
+ const height = this.calculateTotalHeight();
69
+ if (height > 0) {
70
+ this.observedHeight = height;
71
+ }
72
+ };
73
+ this.resizeObserver = new ResizeObserver(() => {
74
+ updateFullHeight();
75
+ });
76
+ this.resizeObserver.observe(spwTable);
77
+ this.mutationObserver = new MutationObserver(_ => {
78
+ if (this.debounceTimer) {
79
+ clearTimeout(this.debounceTimer);
80
+ }
81
+ this.debounceTimer = setTimeout(() => {
82
+ updateFullHeight();
83
+ }, 50);
84
+ });
85
+ this.mutationObserver.observe(spwTable, {
86
+ childList: true,
87
+ subtree: true,
88
+ attributes: true,
89
+ attributeFilter: ['style', 'class'],
90
+ });
91
+ if (spwTable.shadowRoot) {
92
+ const shadowObserver = new MutationObserver(() => {
93
+ updateFullHeight();
94
+ });
95
+ shadowObserver.observe(spwTable.shadowRoot, {
96
+ childList: true,
97
+ subtree: true,
98
+ attributes: true,
99
+ });
100
+ }
101
+ updateFullHeight();
102
+ }
103
+ findSpwTable() {
104
+ const spwTableContainer = this.el.parentElement;
105
+ if (!spwTableContainer || spwTableContainer.tagName.toLowerCase() !== 'spw-table-container') {
106
+ return null;
107
+ }
108
+ const spwTable = spwTableContainer.querySelector('spw-table');
109
+ return spwTable;
110
+ }
111
+ get hostClass() {
112
+ return {
113
+ '--expanded': this.expanded,
114
+ '--collapsed': !this.expanded,
115
+ };
116
+ }
117
+ get elementClass() {
118
+ return {
119
+ 'spw-table-sidebar': true,
120
+ 'spw-table-sidebar--expanded': this.expanded,
121
+ 'spw-table-sidebar--collapsed': !this.expanded,
122
+ };
123
+ }
124
+ render() {
125
+ const style = Object.assign(Object.assign({}, (this.observedHeight !== undefined && { height: `${this.observedHeight}px` })), { '--spw-table-sidebar-width': `${this.sidebarWidth}px` });
126
+ return (h(Host, { key: '71a29a8e2e8d8a812bc223cbf5d11b6e8bea1210', style: style, class: this.hostClass }, h("nav", { key: 'de1cfe1fd2f538ca32e4d2a26646add703f3409d', class: this.elementClass }, h("span", { key: '8e5e013155cfd4f8dd4abc19836adcc9811f1ffc', class: "spw-table-sidebar__toggle", onClick: this.toggleSidebar, "aria-expanded": this.expanded.toString() }, h("spw-icon", { key: '45850b3a9bae77c9684fadd0c6ac0c244c018359', icon: "fa-chevron-left" })), h("div", { key: 'b9a01f62da193ad597b36578a394e4a31546d8e8', class: "spw-table-sidebar__mini", onClick: this.toggleSidebar }, h("spw-icon", { key: 'f29692b24bcbba25ac9c9e86a822e5a3ef92c841', icon: this.sidebarIcon, variant: "fa-regular" })), h("div", { key: '58e6d4103dc9b4ad9646c51268ad20f7722d0df1', class: "spw-table-sidebar__content" }, h("div", { key: '5c740685ec07195df62bd05baf1d38c6742f5640', class: "spw-table-sidebar__header" }, h("span", { key: '17f218dcb1ca45da1291b21772db4b132e7c7d1c', class: "spw-table-sidebar__header-title" }, h("spw-icon", { key: 'bde8de101ed7f889aa8a1f0c536e14e59650fbf1', icon: this.sidebarIcon, variant: "fa-regular" }), " ", this.sidebarTitle), this.hasReset && (h("spw-button", { key: '76557a51a81265efcb471b8050cb2e68d75dde3f', class: "spw-table-sidebar__header-reset", onClick: this.handleReset, type: "button", variant: "secondary", size: "small", isIconOnly: true, icon: this.resetIcon }))), h("div", { key: '2f0d7f0db8f7b273ea5b12ace5ab2ebf010437f4', class: "spw-table-sidebar__scrollable-content" }, h("slot", { key: '36d1c220164cf63b165b1c94de97d738329030ae' })), h("div", { key: '8f02f6008ff5108acac0a388b38c28039ecfd799', class: "spw-table-sidebar__footer" }, h("slot", { key: 'f2fa152689b6075e3711e7dfaf9b2ec786e3d435', name: "sidebar-footer" }))))));
127
+ }
128
+ static get is() { return "spw-table-sidebar"; }
129
+ static get encapsulation() { return "shadow"; }
130
+ static get originalStyleUrls() {
131
+ return {
132
+ "$": ["spw-table-sidebar.scss"]
133
+ };
134
+ }
135
+ static get styleUrls() {
136
+ return {
137
+ "$": ["spw-table-sidebar.css"]
138
+ };
139
+ }
140
+ static get properties() {
141
+ return {
142
+ "defaultExpanded": {
143
+ "type": "boolean",
144
+ "mutable": false,
145
+ "complexType": {
146
+ "original": "boolean",
147
+ "resolved": "boolean",
148
+ "references": {}
149
+ },
150
+ "required": false,
151
+ "optional": false,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "Si true, la sidebar est d\u00E9pli\u00E9e par d\u00E9faut"
155
+ },
156
+ "getter": false,
157
+ "setter": false,
158
+ "attribute": "default-expanded",
159
+ "reflect": false,
160
+ "defaultValue": "true"
161
+ },
162
+ "sidebarTitle": {
163
+ "type": "string",
164
+ "mutable": false,
165
+ "complexType": {
166
+ "original": "string",
167
+ "resolved": "string",
168
+ "references": {}
169
+ },
170
+ "required": false,
171
+ "optional": false,
172
+ "docs": {
173
+ "tags": [],
174
+ "text": "Permet de d\u00E9finir un titre \u00E0 la sidebar"
175
+ },
176
+ "getter": false,
177
+ "setter": false,
178
+ "attribute": "sidebar-title",
179
+ "reflect": false,
180
+ "defaultValue": "'Filtres'"
181
+ },
182
+ "sidebarIcon": {
183
+ "type": "string",
184
+ "mutable": false,
185
+ "complexType": {
186
+ "original": "string",
187
+ "resolved": "string",
188
+ "references": {}
189
+ },
190
+ "required": false,
191
+ "optional": false,
192
+ "docs": {
193
+ "tags": [],
194
+ "text": "Permet de d\u00E9finir une ic\u00F4ne \u00E0 c\u00F4t\u00E9 du titre de la sidebar (r\u00E9f\u00E9rence font-awesome)"
195
+ },
196
+ "getter": false,
197
+ "setter": false,
198
+ "attribute": "sidebar-icon",
199
+ "reflect": false,
200
+ "defaultValue": "'fa-filter'"
201
+ },
202
+ "sidebarWidth": {
203
+ "type": "number",
204
+ "mutable": false,
205
+ "complexType": {
206
+ "original": "number",
207
+ "resolved": "number",
208
+ "references": {}
209
+ },
210
+ "required": false,
211
+ "optional": false,
212
+ "docs": {
213
+ "tags": [],
214
+ "text": "Permet de d\u00E9finir une largeur en px pour la sidebar d\u00E9pli\u00E9e"
215
+ },
216
+ "getter": false,
217
+ "setter": false,
218
+ "attribute": "sidebar-width",
219
+ "reflect": false,
220
+ "defaultValue": "260"
221
+ },
222
+ "hasReset": {
223
+ "type": "boolean",
224
+ "mutable": false,
225
+ "complexType": {
226
+ "original": "boolean",
227
+ "resolved": "boolean",
228
+ "references": {}
229
+ },
230
+ "required": false,
231
+ "optional": false,
232
+ "docs": {
233
+ "tags": [],
234
+ "text": "Si true, affiche une ic\u00F4ne de reset \u00E0 c\u00F4t\u00E9 du titre"
235
+ },
236
+ "getter": false,
237
+ "setter": false,
238
+ "attribute": "has-reset",
239
+ "reflect": false,
240
+ "defaultValue": "true"
241
+ },
242
+ "resetIcon": {
243
+ "type": "string",
244
+ "mutable": false,
245
+ "complexType": {
246
+ "original": "string",
247
+ "resolved": "string",
248
+ "references": {}
249
+ },
250
+ "required": false,
251
+ "optional": false,
252
+ "docs": {
253
+ "tags": [],
254
+ "text": "Ic\u00F4ne \u00E0 utiliser pour le bouton de reset (r\u00E9f\u00E9rence font-awesome)"
255
+ },
256
+ "getter": false,
257
+ "setter": false,
258
+ "attribute": "reset-icon",
259
+ "reflect": false,
260
+ "defaultValue": "'fa-arrow-rotate-left'"
261
+ }
262
+ };
263
+ }
264
+ static get states() {
265
+ return {
266
+ "observedHeight": {},
267
+ "expanded": {}
268
+ };
269
+ }
270
+ static get events() {
271
+ return [{
272
+ "method": "sidebarReset",
273
+ "name": "sidebarReset",
274
+ "bubbles": true,
275
+ "cancelable": true,
276
+ "composed": true,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": "\u00C9v\u00E9nement \u00E9mis lorsque l'ic\u00F4ne de reset est cliqu\u00E9e"
280
+ },
281
+ "complexType": {
282
+ "original": "void",
283
+ "resolved": "void",
284
+ "references": {}
285
+ }
286
+ }];
287
+ }
288
+ static get elementRef() { return "el"; }
289
+ }
290
+ //# sourceMappingURL=spw-table-sidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spw-table-sidebar.js","sourceRoot":"","sources":["../../../../src/components/spw-table/spw-table-sidebar/spw-table-sidebar.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Host, Prop, State, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-sidebar',\n styleUrl: 'spw-table-sidebar.scss',\n shadow: true,\n})\nexport class SpwTableSidebar {\n @Element() el: HTMLSpwTableSidebarElement;\n\n /** Si true, la sidebar est dépliée par défaut */\n @Prop() defaultExpanded: boolean = true;\n /** Permet de définir un titre à la sidebar */\n @Prop() sidebarTitle: string = 'Filtres';\n /** Permet de définir une icône à côté du titre de la sidebar (référence font-awesome) */\n @Prop() sidebarIcon: string = 'fa-filter';\n /** Permet de définir une largeur en px pour la sidebar dépliée */\n @Prop() sidebarWidth: number = 260;\n /** Si true, affiche une icône de reset à côté du titre */\n @Prop() hasReset: boolean = true;\n /** Icône à utiliser pour le bouton de reset (référence font-awesome) */\n @Prop() resetIcon: string = 'fa-arrow-rotate-left';\n\n @State() observedHeight?: number;\n @State() expanded: boolean;\n\n /** Événement émis lorsque l'icône de reset est cliquée */\n @Event({ composed: true, bubbles: true }) sidebarReset: EventEmitter<void>;\n\n private resizeObserver?: ResizeObserver;\n private mutationObserver?: MutationObserver;\n private debounceTimer?: NodeJS.Timeout;\n\n componentWillLoad() {\n this.expanded = this.defaultExpanded;\n }\n\n componentDidLoad() {\n setTimeout(() => {\n this.observeTableHeight();\n }, 0);\n }\n\n disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.debounceTimer) {\n clearTimeout(this.debounceTimer);\n }\n }\n\n private toggleSidebar = () => {\n this.expanded = !this.expanded;\n };\n\n private handleReset = (event: MouseEvent) => {\n event.stopPropagation();\n this.sidebarReset.emit();\n };\n\n private calculateTotalHeight(): number {\n const spwTable = this.findSpwTable();\n if (!spwTable) return 0;\n\n const shadowRoot = spwTable.shadowRoot;\n if (!shadowRoot) return spwTable.offsetHeight;\n\n const tableContainer = shadowRoot.querySelector('.spw-table-container') as HTMLElement;\n let totalHeight = tableContainer ? tableContainer.offsetHeight : 0;\n\n const resizeHandle = shadowRoot.querySelector('.spw-table-resize-handle') as HTMLElement;\n if (resizeHandle) {\n totalHeight += resizeHandle.offsetHeight;\n }\n\n const footerSlot = spwTable.querySelector('[slot=\"table-footer\"]');\n if (footerSlot && footerSlot instanceof HTMLElement) {\n totalHeight += footerSlot.offsetHeight;\n }\n\n return totalHeight;\n }\n\n private observeTableHeight() {\n const spwTable = this.findSpwTable();\n\n if (!spwTable) {\n return;\n }\n\n const updateFullHeight = () => {\n const height = this.calculateTotalHeight();\n if (height > 0) {\n this.observedHeight = height;\n }\n };\n\n this.resizeObserver = new ResizeObserver(() => {\n updateFullHeight();\n });\n\n this.resizeObserver.observe(spwTable);\n\n this.mutationObserver = new MutationObserver(_ => {\n if (this.debounceTimer) {\n clearTimeout(this.debounceTimer);\n }\n this.debounceTimer = setTimeout(() => {\n updateFullHeight();\n }, 50);\n });\n\n this.mutationObserver.observe(spwTable, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['style', 'class'],\n });\n\n if (spwTable.shadowRoot) {\n const shadowObserver = new MutationObserver(() => {\n updateFullHeight();\n });\n\n shadowObserver.observe(spwTable.shadowRoot, {\n childList: true,\n subtree: true,\n attributes: true,\n });\n }\n\n updateFullHeight();\n }\n\n private findSpwTable(): HTMLElement | null {\n const spwTableContainer = this.el.parentElement;\n if (!spwTableContainer || spwTableContainer.tagName.toLowerCase() !== 'spw-table-container') {\n return null;\n }\n const spwTable = spwTableContainer.querySelector('spw-table') as HTMLElement;\n\n return spwTable;\n }\n\n private get hostClass() {\n return {\n '--expanded': this.expanded,\n '--collapsed': !this.expanded,\n };\n }\n\n private get elementClass() {\n return {\n 'spw-table-sidebar': true,\n 'spw-table-sidebar--expanded': this.expanded,\n 'spw-table-sidebar--collapsed': !this.expanded,\n };\n }\n\n render() {\n const style = {\n ...(this.observedHeight !== undefined && { height: `${this.observedHeight}px` }),\n '--spw-table-sidebar-width': `${this.sidebarWidth}px`,\n };\n\n return (\n <Host style={style} class={this.hostClass}>\n <nav class={this.elementClass}>\n <span class=\"spw-table-sidebar__toggle\" onClick={this.toggleSidebar} aria-expanded={this.expanded.toString()}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon>\n </span>\n <div class=\"spw-table-sidebar__mini\" onClick={this.toggleSidebar}>\n <spw-icon icon={this.sidebarIcon} variant=\"fa-regular\"></spw-icon>\n </div>\n <div class=\"spw-table-sidebar__content\">\n <div class=\"spw-table-sidebar__header\">\n <span class=\"spw-table-sidebar__header-title\">\n <spw-icon icon={this.sidebarIcon} variant=\"fa-regular\"></spw-icon> {this.sidebarTitle}\n </span>\n {this.hasReset && (\n <spw-button\n class=\"spw-table-sidebar__header-reset\"\n onClick={this.handleReset}\n type=\"button\"\n variant=\"secondary\"\n size=\"small\"\n isIconOnly={true}\n icon={this.resetIcon}\n ></spw-button>\n )}\n </div>\n <div class=\"spw-table-sidebar__scrollable-content\">\n <slot></slot>\n </div>\n <div class=\"spw-table-sidebar__footer\">\n <slot name=\"sidebar-footer\"></slot>\n </div>\n </div>\n </nav>\n </Host>\n );\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
1
 
2
- /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1232px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table-container--resizable{border-bottom-left-radius:0;border-bottom-right-radius:0}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}.spw-table--layout-fixed{table-layout:fixed}.spw-table--layout-auto{table-layout:auto}.spw-table-resize-handle{align-items:center;background:var(--spw-color-themes-grey-grey-100);border:1px solid var(--spw-color-themes-grey-grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;cursor:ns-resize;display:flex;height:12px;justify-content:center;position:relative;transition:background-color .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.spw-table-resize-handle:hover{background:var(--spw-color-themes-grey-grey-200)}.spw-table-resize-handle:active{background:var(--spw-color-themes-grey-grey-300)}.spw-table-resize-handle__bar{background:var(--spw-color-themes-grey-grey-400);border-radius:2px;height:3px;pointer-events:none;width:40px}.spw-table-resize-handle:hover .spw-table-resize-handle__bar{background:var(--spw-color-themes-grey-grey-500)}
2
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;flex:1;font-size:100%;line-height:1.3;min-width:0;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1232px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-table-container{display:flex;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow:hidden;position:relative;width:100%}.spw-table-container--resizable{border-bottom-left-radius:0;border-bottom-right-radius:0}.spw-table-wrapper{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);flex:1;min-width:0;overflow-x:auto;overflow-y:auto}.spw-table-wrapper::-webkit-scrollbar{height:14px;width:14px}.spw-table-wrapper::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-wrapper::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}.spw-table--layout-fixed{table-layout:fixed}.spw-table--layout-auto{table-layout:auto}.spw-table-resize-handle{align-items:center;background:var(--spw-color-themes-grey-grey-100);border:1px solid var(--spw-color-themes-grey-grey-300);border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;cursor:ns-resize;display:flex;height:12px;justify-content:center;position:relative;transition:background-color .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.spw-table-resize-handle:hover{background:var(--spw-color-themes-grey-grey-200)}.spw-table-resize-handle:active{background:var(--spw-color-themes-grey-grey-300)}.spw-table-resize-handle__bar{background:var(--spw-color-themes-grey-grey-400);border-radius:2px;height:3px;pointer-events:none;width:40px}.spw-table-resize-handle:hover .spw-table-resize-handle__bar{background:var(--spw-color-themes-grey-grey-500)}
@@ -23,10 +23,10 @@ export class SpwTable {
23
23
  event.preventDefault();
24
24
  this.isResizing = true;
25
25
  this.startY = event.clientY;
26
- const container = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.spw-table-container');
27
- if (container) {
28
- this.containerElement = container;
29
- this.startHeight = container.offsetHeight;
26
+ const wrapper = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.spw-table-wrapper');
27
+ if (wrapper) {
28
+ this.containerElement = wrapper;
29
+ this.startHeight = wrapper.offsetHeight;
30
30
  }
31
31
  document.addEventListener('mousemove', this.handleMouseMove);
32
32
  document.addEventListener('mouseup', this.handleMouseUp);
@@ -63,7 +63,7 @@ export class SpwTable {
63
63
  var _a;
64
64
  this.updateZebra();
65
65
  this.applyStickyToChildren();
66
- const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
66
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
67
67
  if (slot) {
68
68
  slot.addEventListener('slotchange', () => {
69
69
  this.setupHeaderCheckboxListener();
@@ -74,6 +74,7 @@ export class SpwTable {
74
74
  this.setupHeaderCheckboxListener();
75
75
  this.setupBodyCheckboxListener();
76
76
  this.setupTableBodyObserver();
77
+ this.setupHeaderObserver();
77
78
  setTimeout(() => {
78
79
  this.updateMasterCheckboxState();
79
80
  }, 0);
@@ -85,6 +86,9 @@ export class SpwTable {
85
86
  if (this.mutationObserver) {
86
87
  this.mutationObserver.disconnect();
87
88
  }
89
+ if (this.headerMutationObserver) {
90
+ this.headerMutationObserver.disconnect();
91
+ }
88
92
  this.cleanupResizeListeners();
89
93
  }
90
94
  cleanupResizeListeners() {
@@ -108,9 +112,21 @@ export class SpwTable {
108
112
  attributeFilter: ['checked', 'disabled'],
109
113
  });
110
114
  }
115
+ setupHeaderObserver() {
116
+ const head = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-head');
117
+ if (!head)
118
+ return;
119
+ this.headerMutationObserver = new MutationObserver(() => {
120
+ this.applyStickyToChildren();
121
+ });
122
+ this.headerMutationObserver.observe(head, {
123
+ childList: true,
124
+ subtree: true,
125
+ });
126
+ }
111
127
  getMasterCheckboxColumnIndex() {
112
128
  var _a;
113
- const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
129
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
114
130
  if (!slot)
115
131
  return null;
116
132
  const assignedElements = slot.assignedElements({ flatten: true });
@@ -136,7 +152,7 @@ export class SpwTable {
136
152
  const columnIndex = this.getMasterCheckboxColumnIndex();
137
153
  if (columnIndex === null)
138
154
  return;
139
- const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
155
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
140
156
  const assignedElements = slot === null || slot === void 0 ? void 0 : slot.assignedElements({ flatten: true });
141
157
  if (!assignedElements)
142
158
  return;
@@ -180,8 +196,9 @@ export class SpwTable {
180
196
  }
181
197
  }
182
198
  setupHeaderCheckboxListener() {
183
- var _a, _b;
184
- const assignedElements = (_b = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot')) === null || _b === void 0 ? void 0 : _b.assignedElements({ flatten: true });
199
+ var _a;
200
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
201
+ const assignedElements = slot === null || slot === void 0 ? void 0 : slot.assignedElements({ flatten: true });
185
202
  if (!assignedElements)
186
203
  return;
187
204
  const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');
@@ -215,7 +232,7 @@ export class SpwTable {
215
232
  const columnIndex = this.getMasterCheckboxColumnIndex();
216
233
  if (columnIndex === null)
217
234
  return;
218
- const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
235
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
219
236
  const assignedElements = slot === null || slot === void 0 ? void 0 : slot.assignedElements({ flatten: true });
220
237
  if (!assignedElements)
221
238
  return;
@@ -252,11 +269,11 @@ export class SpwTable {
252
269
  this.updateZebra();
253
270
  }
254
271
  updateZebra() {
255
- const slot = this.el.shadowRoot.querySelector('slot');
272
+ const slot = this.el.shadowRoot.querySelector('slot:not([name])');
256
273
  if (!slot)
257
274
  return;
258
275
  const assignedElements = slot.assignedElements({ flatten: true });
259
- const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');
276
+ const body = assignedElements.find((el) => el.tagName.toLowerCase() === 'spw-table-body');
260
277
  if (body) {
261
278
  if (this.isZebra) {
262
279
  body.setAttribute('is-zebra', 'true');
@@ -288,8 +305,8 @@ export class SpwTable {
288
305
  }
289
306
  sortRows(columnId, direction) {
290
307
  var _a;
291
- const body = (_a = this.el.shadowRoot
292
- .querySelector('slot')) === null || _a === void 0 ? void 0 : _a.assignedElements().find(el => el.tagName.toLowerCase() === 'spw-table-body');
308
+ const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot:not([name])');
309
+ const body = slot === null || slot === void 0 ? void 0 : slot.assignedElements().find(el => el.tagName.toLowerCase() === 'spw-table-body');
293
310
  if (!body)
294
311
  return;
295
312
  const rows = Array.from(body.querySelectorAll('spw-table-row'));
@@ -349,10 +366,10 @@ export class SpwTable {
349
366
  return this.formatSize(this.maxHeight);
350
367
  }
351
368
  render() {
352
- return (h(Host, { key: '39a021aa2fcf5288611c138af729dd3dfb6a6261', style: {
369
+ return (h(Host, { key: '9fadda21bf79717d2a4753894c66d6aa4e42f21a', style: {
353
370
  '--spw-table-max-height': this.getMaxHeight(),
354
371
  '--spw-table-min-width': this.formatSize(this.minWidth),
355
- } }, h("div", { key: '40141b27efed75425456d159aa10f87fce909668', class: this.containerClass }, h("table", { key: '55b5e73956280a99259f810010acd5b935a9ef94', part: "table", class: this.elementClass, role: "table", "aria-label": this.accAriaLabel }, h("slot", { key: 'c22f79cd125c587c3050d8373ae2c6b586a36a73' }))), this.resizable && (h("div", { key: '7119adee7eee56e763850c67a98fe5f49d52633d', class: "spw-table-resize-handle", onMouseDown: this.handleResizeStart, role: "separator", "aria-orientation": "horizontal", "aria-label": "Redimensionner le tableau" }, h("div", { key: '119ad29a9737ddb578d0819768a652d644e3a1bd', class: "spw-table-resize-handle__bar" })))));
372
+ } }, h("div", { key: '143cd40f28193841a87c39bd4944e0eb6a0e131a', class: this.containerClass }, h("slot", { key: '63b0a60c9e2ffc8d5077e420d41ac4c675a4a66f', name: "table-sidebar" }, " "), h("div", { key: 'f5c9a57cfdf712e75cd88ca6a60e129c2425bef6', class: "spw-table-wrapper" }, h("table", { key: '09af8c2669eaf5da839d52178d1ea84abe3dbd26', part: "table", class: this.elementClass, role: "table", "aria-label": this.accAriaLabel }, h("slot", { key: 'a9874b63e262938491c282967fc04dd2b1a1920c' })))), this.resizable && (h("div", { key: 'b6303b9aec031dba377b6f9898393d815f3657a8', class: "spw-table-resize-handle", onMouseDown: this.handleResizeStart, role: "separator", "aria-orientation": "horizontal", "aria-label": "Redimensionner le tableau" }, h("div", { key: 'a29af2d23d838e5276338e2c091017d1352f4495', class: "spw-table-resize-handle__bar" }))), h("slot", { key: 'cd98eb8b93ae6a5b0e490d233e1792d7c7d77504', name: "table-footer" })));
356
373
  }
357
374
  static get is() { return "spw-table"; }
358
375
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"spw-table.js","sourceRoot":"","sources":["../../../src/components/spw-table/spw-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, Listen, EventEmitter, Host, Prop, Watch, h, State } from '@stencil/core';\n\nexport interface SortEvent {\n column: string;\n direction: 'asc' | 'desc';\n}\n\n@Component({\n tag: 'spw-table',\n styleUrl: 'spw-table.scss',\n shadow: true,\n})\nexport class SpwTable {\n @Element() el: HTMLSpwTableElement;\n\n /** Propriété pour l'aria-label, à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Si le header du tableau doit être sticky ou non */\n @Prop() isSticky?: boolean = false;\n /** Si défini, apparition d'une scrollbar verticale et max-height */\n @Prop() maxHeight?: string;\n /** Si défini, apparition d'une scrollbar horizontale et max-width */\n @Prop() minWidth?: string = '600';\n /** Permet de définir le table-layout (auto ou fixed) */\n @Prop() tableLayout?: 'auto' | 'fixed' = 'auto';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */\n @Prop() disableSort?: boolean = false;\n /** État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */\n @Prop({ mutable: true }) currentSort?: SortEvent;\n /** Active le redimensionnement manuel de la hauteur du tableau avec un handle */\n @Prop() resizable?: boolean = false;\n /** Hauteur minimale autorisée lors du redimensionnement (en pixels) */\n @Prop() minHeight?: number = 200;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n /** Événement émis lorsque la hauteur du tableau est redimensionnée */\n @Event() spwResize: EventEmitter<{ height: number }>;\n\n @State() currentHeight?: number;\n\n private mutationObserver?: MutationObserver;\n private containerElement?: HTMLDivElement;\n private isResizing: boolean = false;\n private startY: number = 0;\n private startHeight: number = 0;\n\n @Watch('currentSort')\n onCurrentSortChange(newSort: SortEvent | undefined) {\n if (newSort) {\n this.updateHeadersSortState(newSort);\n }\n }\n\n @Watch('isSticky')\n onIsStickyChange() {\n this.applyStickyToChildren();\n }\n\n componentDidLoad() {\n this.updateZebra();\n this.applyStickyToChildren();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n this.applyStickyToChildren();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n this.setupTableBodyObserver();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n\n if (this.resizable && this.maxHeight) {\n this.currentHeight = parseInt(this.maxHeight, 10);\n }\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n this.cleanupResizeListeners();\n }\n\n private cleanupResizeListeners() {\n document.removeEventListener('mousemove', this.handleMouseMove);\n document.removeEventListener('mouseup', this.handleMouseUp);\n }\n\n private handleResizeStart = (event: MouseEvent) => {\n event.preventDefault();\n this.isResizing = true;\n this.startY = event.clientY;\n\n const container = this.el.shadowRoot?.querySelector('.spw-table-container') as HTMLDivElement;\n if (container) {\n this.containerElement = container;\n this.startHeight = container.offsetHeight;\n }\n\n document.addEventListener('mousemove', this.handleMouseMove);\n document.addEventListener('mouseup', this.handleMouseUp);\n document.body.style.cursor = 'ns-resize';\n document.body.style.userSelect = 'none';\n };\n\n private handleMouseMove = (event: MouseEvent) => {\n if (!this.isResizing || !this.containerElement) return;\n\n const deltaY = event.clientY - this.startY;\n const newHeight = Math.max(this.minHeight, this.startHeight + deltaY);\n\n this.currentHeight = newHeight;\n this.spwResize.emit({ height: newHeight });\n };\n\n private handleMouseUp = () => {\n if (!this.isResizing) return;\n\n this.isResizing = false;\n this.cleanupResizeListeners();\n document.body.style.cursor = '';\n document.body.style.userSelect = '';\n };\n\n private setupTableBodyObserver() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n this.mutationObserver = new MutationObserver(() => {\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n });\n\n this.mutationObserver.observe(body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked', 'disabled'],\n });\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const assignedElements = this.el.shadowRoot?.querySelector('slot')?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private checkboxChangeHandler = () => this.updateMasterCheckboxState();\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.removeEventListener('spwChange', this.checkboxChangeHandler);\n cb.addEventListener('spwChange', this.checkboxChangeHandler);\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n\n if (!this.disableSort) {\n this.sortRows(newSort.column, newSort.direction);\n }\n\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private applyStickyToChildren() {\n requestAnimationFrame(() => {\n const stickyClass = '--is-sticky';\n const headers = this.el.querySelectorAll('spw-table-header');\n const cells = this.el.querySelectorAll('spw-table-cell');\n const footer = this.el.querySelector('spw-table-footer');\n\n if (this.isSticky) {\n headers.forEach(header => header.classList.add(stickyClass));\n footer?.classList.add(stickyClass);\n } else {\n headers.forEach(header => header.classList.remove(stickyClass));\n cells.forEach(cell => cell.classList.remove(stickyClass));\n footer?.classList.remove(stickyClass);\n }\n });\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const body = this.el.shadowRoot\n .querySelector('slot')\n ?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n 'spw-table--resizable': this.resizable,\n [`spw-table--layout-${this.tableLayout}`]: true,\n };\n }\n\n private get containerClass(): { [className: string]: boolean } {\n return {\n 'spw-table-container': true,\n 'spw-table-container--resizable': this.resizable,\n };\n }\n\n private getMaxHeight(): string {\n if (this.resizable && this.currentHeight) {\n return `${this.currentHeight}px`;\n }\n return this.formatSize(this.maxHeight);\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.getMaxHeight(),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class={this.containerClass}>\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\n {this.resizable && (\n <div class=\"spw-table-resize-handle\" onMouseDown={this.handleResizeStart} role=\"separator\" aria-orientation=\"horizontal\" aria-label=\"Redimensionner le tableau\">\n <div class=\"spw-table-resize-handle__bar\"></div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-table.js","sourceRoot":"","sources":["../../../src/components/spw-table/spw-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, Listen, EventEmitter, Host, Prop, Watch, h, State } from '@stencil/core';\n\nexport interface SortEvent {\n column: string;\n direction: 'asc' | 'desc';\n}\n\n@Component({\n tag: 'spw-table',\n styleUrl: 'spw-table.scss',\n shadow: true,\n})\nexport class SpwTable {\n @Element() el: HTMLSpwTableElement;\n\n /** Propriété pour l'aria-label, à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Si le header du tableau doit être sticky ou non */\n @Prop() isSticky?: boolean = false;\n /** Si défini, apparition d'une scrollbar verticale et max-height */\n @Prop() maxHeight?: string;\n /** Si défini, apparition d'une scrollbar horizontale et max-width */\n @Prop() minWidth?: string = '600';\n /** Permet de définir le table-layout (auto ou fixed) */\n @Prop() tableLayout?: 'auto' | 'fixed' = 'auto';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */\n @Prop() disableSort?: boolean = false;\n /** État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */\n @Prop({ mutable: true }) currentSort?: SortEvent;\n /** Active le redimensionnement manuel de la hauteur du tableau avec un handle */\n @Prop() resizable?: boolean = false;\n /** Hauteur minimale autorisée lors du redimensionnement (en pixels) */\n @Prop() minHeight?: number = 200;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n /** Événement émis lorsque la hauteur du tableau est redimensionnée */\n @Event() spwResize: EventEmitter<{ height: number }>;\n\n @State() currentHeight?: number;\n\n private mutationObserver?: MutationObserver;\n private headerMutationObserver?: MutationObserver;\n private containerElement?: HTMLDivElement;\n private isResizing: boolean = false;\n private startY: number = 0;\n private startHeight: number = 0;\n\n @Watch('currentSort')\n onCurrentSortChange(newSort: SortEvent | undefined) {\n if (newSort) {\n this.updateHeadersSortState(newSort);\n }\n }\n\n @Watch('isSticky')\n onIsStickyChange() {\n this.applyStickyToChildren();\n }\n\n componentDidLoad() {\n this.updateZebra();\n this.applyStickyToChildren();\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n this.applyStickyToChildren();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n this.setupTableBodyObserver();\n this.setupHeaderObserver();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n\n if (this.resizable && this.maxHeight) {\n this.currentHeight = parseInt(this.maxHeight, 10);\n }\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n if (this.headerMutationObserver) {\n this.headerMutationObserver.disconnect();\n }\n this.cleanupResizeListeners();\n }\n\n private cleanupResizeListeners() {\n document.removeEventListener('mousemove', this.handleMouseMove);\n document.removeEventListener('mouseup', this.handleMouseUp);\n }\n\n private handleResizeStart = (event: MouseEvent) => {\n event.preventDefault();\n this.isResizing = true;\n this.startY = event.clientY;\n\n const wrapper = this.el.shadowRoot?.querySelector('.spw-table-wrapper') as HTMLDivElement;\n if (wrapper) {\n this.containerElement = wrapper;\n this.startHeight = wrapper.offsetHeight;\n }\n\n document.addEventListener('mousemove', this.handleMouseMove);\n document.addEventListener('mouseup', this.handleMouseUp);\n document.body.style.cursor = 'ns-resize';\n document.body.style.userSelect = 'none';\n };\n\n private handleMouseMove = (event: MouseEvent) => {\n if (!this.isResizing || !this.containerElement) return;\n\n const deltaY = event.clientY - this.startY;\n const newHeight = Math.max(this.minHeight, this.startHeight + deltaY);\n\n this.currentHeight = newHeight;\n this.spwResize.emit({ height: newHeight });\n };\n\n private handleMouseUp = () => {\n if (!this.isResizing) return;\n\n this.isResizing = false;\n this.cleanupResizeListeners();\n document.body.style.cursor = '';\n document.body.style.userSelect = '';\n };\n\n private setupTableBodyObserver() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n this.mutationObserver = new MutationObserver(() => {\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n });\n\n this.mutationObserver.observe(body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked', 'disabled'],\n });\n }\n\n private setupHeaderObserver() {\n const head = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n this.headerMutationObserver = new MutationObserver(() => {\n this.applyStickyToChildren();\n });\n\n this.headerMutationObserver.observe(head, {\n childList: true,\n subtree: true,\n });\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private checkboxChangeHandler = () => this.updateMasterCheckboxState();\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.removeEventListener('spwChange', this.checkboxChangeHandler);\n cb.addEventListener('spwChange', this.checkboxChangeHandler);\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n\n if (!this.disableSort) {\n this.sortRows(newSort.column, newSort.direction);\n }\n\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement;\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find((el: Element) => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private applyStickyToChildren() {\n requestAnimationFrame(() => {\n const stickyClass = '--is-sticky';\n const headers = this.el.querySelectorAll('spw-table-header');\n const cells = this.el.querySelectorAll('spw-table-cell');\n const footer = this.el.querySelector('spw-table-footer');\n\n if (this.isSticky) {\n headers.forEach(header => header.classList.add(stickyClass));\n footer?.classList.add(stickyClass);\n } else {\n headers.forEach(header => header.classList.remove(stickyClass));\n cells.forEach(cell => cell.classList.remove(stickyClass));\n footer?.classList.remove(stickyClass);\n }\n });\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const slot = this.el.shadowRoot?.querySelector('slot:not([name])') as HTMLSlotElement;\n const body = slot?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n 'spw-table--resizable': this.resizable,\n [`spw-table--layout-${this.tableLayout}`]: true,\n };\n }\n\n private get containerClass(): { [className: string]: boolean } {\n return {\n 'spw-table-container': true,\n 'spw-table-container--resizable': this.resizable,\n };\n }\n\n private getMaxHeight(): string {\n if (this.resizable && this.currentHeight) {\n return `${this.currentHeight}px`;\n }\n return this.formatSize(this.maxHeight);\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.getMaxHeight(),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class={this.containerClass}>\n <slot name=\"table-sidebar\"> </slot>\n <div class=\"spw-table-wrapper\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\n </div>\n {this.resizable && (\n <div class=\"spw-table-resize-handle\" onMouseDown={this.handleResizeStart} role=\"separator\" aria-orientation=\"horizontal\" aria-label=\"Redimensionner le tableau\">\n <div class=\"spw-table-resize-handle__bar\"></div>\n </div>\n )}\n <slot name=\"table-footer\" />\n </Host>\n );\n }\n}\n"]}