@spw-ds/spw-stencil-library 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (658) hide show
  1. package/dist/cjs/{index-DPoQq9TD.js → index-iVhYitTd.js} +5 -2
  2. package/dist/cjs/index-iVhYitTd.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/spw-accordion_4.cjs.entry.js +5 -5
  5. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +2 -2
  6. package/dist/cjs/spw-breadcrumb.cjs.entry.js +2 -2
  7. package/dist/cjs/spw-button_2.cjs.entry.js +3 -3
  8. package/dist/cjs/spw-card-content.cjs.entry.js +2 -2
  9. package/dist/cjs/spw-card-excerpt.cjs.entry.js +2 -2
  10. package/dist/cjs/spw-card-image.cjs.entry.js +2 -2
  11. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +2 -2
  12. package/dist/cjs/spw-card-subtags.cjs.entry.js +2 -2
  13. package/dist/cjs/spw-card-title.cjs.entry.js +2 -2
  14. package/dist/cjs/spw-card.cjs.entry.js +2 -2
  15. package/dist/cjs/spw-checkbox.cjs.entry.js +6 -3
  16. package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
  17. package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
  18. package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
  19. package/dist/cjs/spw-custom-select.cjs.entry.js +23 -12
  20. package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
  21. package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
  22. package/dist/cjs/spw-date-picker.cjs.entry.js +2 -2
  23. package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
  24. package/dist/cjs/spw-field-label_6.cjs.entry.js +6 -6
  25. package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
  26. package/dist/cjs/spw-file-upload.cjs.entry.js +3 -3
  27. package/dist/cjs/spw-footer-bottom.cjs.entry.js +2 -2
  28. package/dist/cjs/spw-footer-content-col.cjs.entry.js +2 -2
  29. package/dist/cjs/spw-footer-content.cjs.entry.js +2 -2
  30. package/dist/cjs/spw-footer-link.cjs.entry.js +2 -2
  31. package/dist/cjs/spw-footer.cjs.entry.js +2 -2
  32. package/dist/cjs/spw-header-lang-item.cjs.entry.js +2 -2
  33. package/dist/cjs/spw-header-lang.cjs.entry.js +2 -2
  34. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +2 -2
  35. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +2 -2
  36. package/dist/cjs/spw-header-navigation.cjs.entry.js +2 -2
  37. package/dist/cjs/spw-header-persona-item.cjs.entry.js +2 -2
  38. package/dist/cjs/spw-header-persona.cjs.entry.js +2 -2
  39. package/dist/cjs/spw-header.cjs.entry.js +2 -2
  40. package/dist/cjs/spw-hero.cjs.entry.js +6 -3
  41. package/dist/cjs/spw-hero.cjs.entry.js.map +1 -1
  42. package/dist/cjs/spw-hero.entry.cjs.js.map +1 -1
  43. package/dist/cjs/spw-illustration.cjs.entry.js +2389 -0
  44. package/dist/cjs/spw-illustration.cjs.entry.js.map +1 -0
  45. package/dist/cjs/spw-illustration.entry.cjs.js.map +1 -0
  46. package/dist/cjs/spw-iodda.cjs.entry.js +2 -2
  47. package/dist/cjs/spw-list-description.cjs.entry.js +2 -2
  48. package/dist/cjs/spw-list-item.cjs.entry.js +2 -2
  49. package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
  50. package/dist/cjs/spw-list.cjs.entry.js +2 -2
  51. package/dist/cjs/spw-message.cjs.entry.js +1 -1
  52. package/dist/cjs/spw-modal.cjs.entry.js +12 -10
  53. package/dist/cjs/spw-modal.cjs.entry.js.map +1 -1
  54. package/dist/cjs/spw-modal.entry.cjs.js.map +1 -1
  55. package/dist/cjs/spw-mosaic-item.cjs.entry.js +2 -2
  56. package/dist/cjs/spw-mosaic.cjs.entry.js +2 -2
  57. package/dist/cjs/spw-pagination.cjs.entry.js +7 -7
  58. package/dist/cjs/spw-radio.cjs.entry.js +2 -2
  59. package/dist/cjs/spw-search-field.cjs.entry.js +3 -3
  60. package/dist/cjs/spw-select.cjs.entry.js +37 -3
  61. package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
  63. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
  64. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +1 -1
  65. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
  66. package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
  67. package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
  68. package/dist/cjs/spw-socials.cjs.entry.js +1 -1
  69. package/dist/cjs/spw-stencil-library.cjs.js +2 -2
  70. package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
  71. package/dist/cjs/spw-table-cell.cjs.entry.js +2 -2
  72. package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
  73. package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
  74. package/dist/cjs/spw-table-footer.cjs.entry.js +1 -1
  75. package/dist/cjs/spw-table-head.cjs.entry.js +1 -1
  76. package/dist/cjs/spw-table-header.cjs.entry.js +9 -5
  77. package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
  78. package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
  79. package/dist/cjs/spw-table-row.cjs.entry.js +11 -3
  80. package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
  81. package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
  82. package/dist/cjs/spw-table.cjs.entry.js +23 -10
  83. package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
  84. package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
  85. package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
  86. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +6 -3
  87. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js.map +1 -1
  88. package/dist/cjs/spw-tabs-navigation-item.entry.cjs.js.map +1 -1
  89. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +85 -3
  90. package/dist/cjs/spw-tabs-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/spw-tabs-navigation.entry.cjs.js.map +1 -1
  92. package/dist/cjs/spw-tabs.cjs.entry.js +70 -13
  93. package/dist/cjs/spw-tabs.cjs.entry.js.map +1 -1
  94. package/dist/cjs/spw-tabs.entry.cjs.js.map +1 -1
  95. package/dist/cjs/spw-tag.cjs.entry.js +2 -2
  96. package/dist/cjs/spw-text-field.cjs.entry.js +2 -2
  97. package/dist/cjs/spw-textarea.cjs.entry.js +2 -2
  98. package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
  99. package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
  100. package/dist/cjs/spw-tile.cjs.entry.js +2 -2
  101. package/dist/cjs/spw-tooltip.cjs.entry.js +3 -3
  102. package/dist/cjs/spw-tooltip.cjs.entry.js.map +1 -1
  103. package/dist/cjs/spw-tooltip.entry.cjs.js.map +1 -1
  104. package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
  105. package/dist/cjs/utils-CKYAw_Le.js.map +1 -1
  106. package/dist/collection/collection-manifest.json +2 -1
  107. package/dist/collection/components/spw-accordion/spw-accordion-content/spw-accordion-content.js +1 -1
  108. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.js +1 -1
  109. package/dist/collection/components/spw-accordion/spw-accordion-title/spw-accordion-title.js +1 -1
  110. package/dist/collection/components/spw-accordion/spw-accordion.js +1 -1
  111. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js +1 -1
  112. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.js +1 -1
  113. package/dist/collection/components/spw-button/spw-button.js +1 -1
  114. package/dist/collection/components/spw-card/spw-card-content/spw-card-content.js +1 -1
  115. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js +1 -1
  116. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.js +1 -1
  117. package/dist/collection/components/spw-card/spw-card-subtag-item/spw-card-subtag-item.js +1 -1
  118. package/dist/collection/components/spw-card/spw-card-subtags/spw-card-subtags.js +1 -1
  119. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js +1 -1
  120. package/dist/collection/components/spw-card/spw-card.js +1 -1
  121. package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
  122. package/dist/collection/components/spw-checkbox/spw-checkbox.js +24 -1
  123. package/dist/collection/components/spw-checkbox/spw-checkbox.js.map +1 -1
  124. package/dist/collection/components/spw-custom-select/spw-custom-select.js +27 -16
  125. package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
  126. package/dist/collection/components/spw-date-picker/spw-date-picker.js +1 -1
  127. package/dist/collection/components/spw-dropdown/spw-dropdown.js +1 -1
  128. package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
  129. package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
  130. package/dist/collection/components/spw-file-upload/spw-file-upload.js +2 -2
  131. package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
  132. package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
  133. package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
  134. package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
  135. package/dist/collection/components/spw-footer/spw-footer.js +1 -1
  136. package/dist/collection/components/spw-group/spw-group.js +1 -1
  137. package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
  138. package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
  139. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
  140. package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
  141. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
  142. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
  143. package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
  144. package/dist/collection/components/spw-header/spw-header.js +1 -1
  145. package/dist/collection/components/spw-hero/spw-hero.css +1 -1
  146. package/dist/collection/components/spw-hero/spw-hero.js +24 -1
  147. package/dist/collection/components/spw-hero/spw-hero.js.map +1 -1
  148. package/dist/collection/components/spw-icon/spw-icon.js +1 -1
  149. package/dist/collection/components/spw-illustration/spw-illustration.css +2 -0
  150. package/dist/collection/components/spw-illustration/spw-illustration.js +2479 -0
  151. package/dist/collection/components/spw-illustration/spw-illustration.js.map +1 -0
  152. package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
  153. package/dist/collection/components/spw-link/spw-link.js +1 -1
  154. package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
  155. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
  156. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
  157. package/dist/collection/components/spw-list/spw-list.js +1 -1
  158. package/dist/collection/components/spw-loading/spw-loading.js +1 -1
  159. package/dist/collection/components/spw-modal/spw-modal.js +11 -9
  160. package/dist/collection/components/spw-modal/spw-modal.js.map +1 -1
  161. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  162. package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
  163. package/dist/collection/components/spw-pagination/spw-pagination.js +6 -6
  164. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  165. package/dist/collection/components/spw-search-field/spw-search-field.js +2 -2
  166. package/dist/collection/components/spw-select/spw-select.js +100 -2
  167. package/dist/collection/components/spw-select/spw-select.js.map +1 -1
  168. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
  169. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
  170. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +7 -3
  171. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
  172. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
  173. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +35 -1
  174. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
  175. package/dist/collection/components/spw-table/spw-table.js +22 -9
  176. package/dist/collection/components/spw-table/spw-table.js.map +1 -1
  177. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.css +1 -1
  178. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +100 -1
  179. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js.map +1 -1
  180. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.css +1 -1
  181. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +43 -2
  182. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js.map +1 -1
  183. package/dist/collection/components/spw-tabs/spw-tabs.js +129 -12
  184. package/dist/collection/components/spw-tabs/spw-tabs.js.map +1 -1
  185. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  186. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  187. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  188. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  189. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  190. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  191. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  192. package/dist/collection/components/spw-tooltip/spw-tooltip.css +1 -1
  193. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  194. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  195. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js +6 -7
  196. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js.map +1 -1
  197. package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js +108 -0
  198. package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js.map +1 -0
  199. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +6 -4
  200. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
  201. package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js +2 -1
  202. package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js.map +1 -1
  203. package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js +6 -7
  204. package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js.map +1 -1
  205. package/dist/collection/stories/components/spw-icon/spw-icon.stories.js +1 -0
  206. package/dist/collection/stories/components/spw-icon/spw-icon.stories.js.map +1 -1
  207. package/dist/collection/stories/components/spw-radio/spw-radio.stories.js +6 -7
  208. package/dist/collection/stories/components/spw-radio/spw-radio.stories.js.map +1 -1
  209. package/dist/collection/stories/components/spw-select/spw-select.stories.js +6 -7
  210. package/dist/collection/stories/components/spw-select/spw-select.stories.js.map +1 -1
  211. package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js +6 -6
  212. package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js.map +1 -1
  213. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +2 -1
  214. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
  215. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +4 -2
  216. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
  217. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +2 -1
  218. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
  219. package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js +24 -4
  220. package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js.map +1 -1
  221. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +2 -1
  222. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
  223. package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js +1 -1
  224. package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js.map +1 -1
  225. package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js +8 -4
  226. package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js.map +1 -1
  227. package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js +2 -1
  228. package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js.map +1 -1
  229. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +98 -5
  230. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
  231. package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js +6 -3
  232. package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js.map +1 -1
  233. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +6 -3
  234. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
  235. package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js +2 -1
  236. package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js.map +1 -1
  237. package/dist/collection/utils/utils.js +12 -1
  238. package/dist/collection/utils/utils.js.map +1 -1
  239. package/dist/components/index.js +3 -0
  240. package/dist/components/index.js.map +1 -1
  241. package/dist/components/{p-_VSq6JhE.js → p-2zBnLUyL.js} +3 -3
  242. package/dist/components/{p-_VSq6JhE.js.map → p-2zBnLUyL.js.map} +1 -1
  243. package/dist/components/{p-BrCiFcDB.js → p-BExIjlwY.js} +12 -12
  244. package/dist/components/{p-BrCiFcDB.js.map → p-BExIjlwY.js.map} +1 -1
  245. package/dist/components/p-BRzMlz9h.js +129 -0
  246. package/dist/components/p-BRzMlz9h.js.map +1 -0
  247. package/dist/components/{p-DMD2z45s.js → p-BbuJ0hsQ.js} +4 -4
  248. package/dist/components/{p-DMD2z45s.js.map → p-BbuJ0hsQ.js.map} +1 -1
  249. package/dist/components/{p-DqtSG4Dc.js → p-Bja0SU2g.js} +4 -4
  250. package/dist/components/p-Bja0SU2g.js.map +1 -0
  251. package/dist/components/{p-DDvpvxxV.js → p-C_iAJUsF.js} +3 -3
  252. package/dist/components/{p-DDvpvxxV.js.map → p-C_iAJUsF.js.map} +1 -1
  253. package/dist/components/{p-DibGOHbd.js → p-CahscFgh.js} +6 -6
  254. package/dist/components/{p-DibGOHbd.js.map → p-CahscFgh.js.map} +1 -1
  255. package/dist/components/{p-CF4CA9QM.js → p-CwxUBfbv.js} +3 -3
  256. package/dist/components/{p-CF4CA9QM.js.map → p-CwxUBfbv.js.map} +1 -1
  257. package/dist/components/{p-Clhpt_u-.js → p-DSus8Zwu.js} +4 -4
  258. package/dist/components/{p-Clhpt_u-.js.map → p-DSus8Zwu.js.map} +1 -1
  259. package/dist/components/{p-BPTPujMC.js → p-DnyVO_PX.js} +5 -5
  260. package/dist/components/{p-BPTPujMC.js.map → p-DnyVO_PX.js.map} +1 -1
  261. package/dist/components/{p-wxevhJKV.js → p-DogcJyQh.js} +4 -4
  262. package/dist/components/{p-wxevhJKV.js.map → p-DogcJyQh.js.map} +1 -1
  263. package/dist/components/{p-B1_XG4Wf.js → p-JncqUnd1.js} +3 -3
  264. package/dist/components/{p-B1_XG4Wf.js.map → p-JncqUnd1.js.map} +1 -1
  265. package/dist/components/{p-BrOEFNbv.js → p-_q4w18VU.js} +3 -3
  266. package/dist/components/{p-BrOEFNbv.js.map → p-_q4w18VU.js.map} +1 -1
  267. package/dist/components/{p-Ch60bguo.js → p-z27d6ASx.js} +3 -3
  268. package/dist/components/{p-Ch60bguo.js.map → p-z27d6ASx.js.map} +1 -1
  269. package/dist/components/p-zpG0udTn.js.map +1 -1
  270. package/dist/components/spw-accordion-content.js +1 -1
  271. package/dist/components/spw-accordion-item.js +1 -1
  272. package/dist/components/spw-accordion-title.js +1 -1
  273. package/dist/components/spw-accordion.js +1 -1
  274. package/dist/components/spw-breadcrumb-item.js +3 -3
  275. package/dist/components/spw-breadcrumb.js +1 -1
  276. package/dist/components/spw-button.js +1 -1
  277. package/dist/components/spw-card-content.js +1 -1
  278. package/dist/components/spw-card-excerpt.js +1 -1
  279. package/dist/components/spw-card-image.js +2 -2
  280. package/dist/components/spw-card-subtag-item.js +1 -1
  281. package/dist/components/spw-card-subtags.js +1 -1
  282. package/dist/components/spw-card-title.js +1 -1
  283. package/dist/components/spw-card.js +1 -1
  284. package/dist/components/spw-checkbox.js +1 -1
  285. package/dist/components/spw-cookies.js +8 -8
  286. package/dist/components/spw-custom-select.js +28 -17
  287. package/dist/components/spw-custom-select.js.map +1 -1
  288. package/dist/components/spw-date-picker.js +4 -4
  289. package/dist/components/spw-dropdown.js +1 -1
  290. package/dist/components/spw-field-label.js +1 -1
  291. package/dist/components/spw-field-message.js +1 -1
  292. package/dist/components/spw-file-upload.js +5 -5
  293. package/dist/components/spw-footer-bottom.js +1 -1
  294. package/dist/components/spw-footer-content-col.js +1 -1
  295. package/dist/components/spw-footer-content.js +1 -1
  296. package/dist/components/spw-footer-link.js +1 -1
  297. package/dist/components/spw-footer.js +1 -1
  298. package/dist/components/spw-group.js +2 -2
  299. package/dist/components/spw-header-lang-item.js +1 -1
  300. package/dist/components/spw-header-lang.js +4 -4
  301. package/dist/components/spw-header-navigation-dropdown.js +1 -1
  302. package/dist/components/spw-header-navigation-item.js +2 -2
  303. package/dist/components/spw-header-navigation.js +2 -2
  304. package/dist/components/spw-header-persona-item.js +1 -1
  305. package/dist/components/spw-header-persona.js +2 -2
  306. package/dist/components/spw-header.js +4 -4
  307. package/dist/components/spw-hero.js +6 -2
  308. package/dist/components/spw-hero.js.map +1 -1
  309. package/dist/components/spw-icon.js +1 -1
  310. package/dist/components/spw-illustration.d.ts +11 -0
  311. package/dist/components/spw-illustration.js +2410 -0
  312. package/dist/components/spw-illustration.js.map +1 -0
  313. package/dist/components/spw-iodda.js +7 -7
  314. package/dist/components/spw-link.js +1 -1
  315. package/dist/components/spw-list-description.js +1 -1
  316. package/dist/components/spw-list-item.js +2 -2
  317. package/dist/components/spw-list-title.js +2 -2
  318. package/dist/components/spw-list.js +1 -1
  319. package/dist/components/spw-loading.js +1 -1
  320. package/dist/components/spw-message.js +2 -2
  321. package/dist/components/spw-modal.js +12 -10
  322. package/dist/components/spw-modal.js.map +1 -1
  323. package/dist/components/spw-mosaic-item.js +1 -1
  324. package/dist/components/spw-mosaic.js +1 -1
  325. package/dist/components/spw-pagination.js +1 -1
  326. package/dist/components/spw-radio.js +1 -1
  327. package/dist/components/spw-search-field.js +6 -6
  328. package/dist/components/spw-select.js +44 -5
  329. package/dist/components/spw-select.js.map +1 -1
  330. package/dist/components/spw-sidebar-navigation-item.js +2 -2
  331. package/dist/components/spw-sidebar.js +1 -1
  332. package/dist/components/spw-table-cell.js +1 -1
  333. package/dist/components/spw-table-cell.js.map +1 -1
  334. package/dist/components/spw-table-header.js +10 -6
  335. package/dist/components/spw-table-header.js.map +1 -1
  336. package/dist/components/spw-table-row.js +13 -3
  337. package/dist/components/spw-table-row.js.map +1 -1
  338. package/dist/components/spw-table.js +22 -9
  339. package/dist/components/spw-table.js.map +1 -1
  340. package/dist/components/spw-tabs-navigation-item.js +21 -4
  341. package/dist/components/spw-tabs-navigation-item.js.map +1 -1
  342. package/dist/components/spw-tabs-navigation.js +95 -4
  343. package/dist/components/spw-tabs-navigation.js.map +1 -1
  344. package/dist/components/spw-tabs.js +75 -14
  345. package/dist/components/spw-tabs.js.map +1 -1
  346. package/dist/components/spw-tag.js +2 -2
  347. package/dist/components/spw-text-field.js +1 -1
  348. package/dist/components/spw-textarea.js +4 -4
  349. package/dist/components/spw-theme-provider.js +1 -1
  350. package/dist/components/spw-tile-description.js +1 -1
  351. package/dist/components/spw-tile-title.js +1 -1
  352. package/dist/components/spw-tile.js +2 -2
  353. package/dist/components/spw-tooltip.js +1 -1
  354. package/dist/components/spw-topbar.js +1 -1
  355. package/dist/components_json.json +505 -34
  356. package/dist/components_vscode.json +127 -7
  357. package/dist/esm/{index-BaAUTDWF.js → index-BYM_CUUH.js} +5 -2
  358. package/dist/esm/index-BYM_CUUH.js.map +1 -0
  359. package/dist/esm/loader.js +3 -3
  360. package/dist/esm/spw-accordion_4.entry.js +5 -5
  361. package/dist/esm/spw-breadcrumb-item.entry.js +2 -2
  362. package/dist/esm/spw-breadcrumb.entry.js +2 -2
  363. package/dist/esm/spw-button_2.entry.js +3 -3
  364. package/dist/esm/spw-card-content.entry.js +2 -2
  365. package/dist/esm/spw-card-excerpt.entry.js +2 -2
  366. package/dist/esm/spw-card-image.entry.js +2 -2
  367. package/dist/esm/spw-card-subtag-item.entry.js +2 -2
  368. package/dist/esm/spw-card-subtags.entry.js +2 -2
  369. package/dist/esm/spw-card-title.entry.js +2 -2
  370. package/dist/esm/spw-card.entry.js +2 -2
  371. package/dist/esm/spw-checkbox.entry.js +6 -3
  372. package/dist/esm/spw-checkbox.entry.js.map +1 -1
  373. package/dist/esm/spw-cookies.entry.js +1 -1
  374. package/dist/esm/spw-custom-select.entry.js +23 -12
  375. package/dist/esm/spw-custom-select.entry.js.map +1 -1
  376. package/dist/esm/spw-date-picker.entry.js +2 -2
  377. package/dist/esm/spw-dropdown.entry.js +2 -2
  378. package/dist/esm/spw-field-label_6.entry.js +6 -6
  379. package/dist/esm/spw-field-message.entry.js +2 -2
  380. package/dist/esm/spw-file-upload.entry.js +3 -3
  381. package/dist/esm/spw-footer-bottom.entry.js +2 -2
  382. package/dist/esm/spw-footer-content-col.entry.js +2 -2
  383. package/dist/esm/spw-footer-content.entry.js +2 -2
  384. package/dist/esm/spw-footer-link.entry.js +2 -2
  385. package/dist/esm/spw-footer.entry.js +2 -2
  386. package/dist/esm/spw-header-lang-item.entry.js +2 -2
  387. package/dist/esm/spw-header-lang.entry.js +2 -2
  388. package/dist/esm/spw-header-navigation-dropdown.entry.js +2 -2
  389. package/dist/esm/spw-header-navigation-item.entry.js +2 -2
  390. package/dist/esm/spw-header-navigation.entry.js +2 -2
  391. package/dist/esm/spw-header-persona-item.entry.js +2 -2
  392. package/dist/esm/spw-header-persona.entry.js +2 -2
  393. package/dist/esm/spw-header.entry.js +2 -2
  394. package/dist/esm/spw-hero.entry.js +6 -3
  395. package/dist/esm/spw-hero.entry.js.map +1 -1
  396. package/dist/esm/spw-illustration.entry.js +2387 -0
  397. package/dist/esm/spw-illustration.entry.js.map +1 -0
  398. package/dist/esm/spw-iodda.entry.js +2 -2
  399. package/dist/esm/spw-list-description.entry.js +2 -2
  400. package/dist/esm/spw-list-item.entry.js +2 -2
  401. package/dist/esm/spw-list-title.entry.js +2 -2
  402. package/dist/esm/spw-list.entry.js +2 -2
  403. package/dist/esm/spw-message.entry.js +1 -1
  404. package/dist/esm/spw-modal.entry.js +12 -10
  405. package/dist/esm/spw-modal.entry.js.map +1 -1
  406. package/dist/esm/spw-mosaic-item.entry.js +2 -2
  407. package/dist/esm/spw-mosaic.entry.js +2 -2
  408. package/dist/esm/spw-pagination.entry.js +7 -7
  409. package/dist/esm/spw-radio.entry.js +2 -2
  410. package/dist/esm/spw-search-field.entry.js +3 -3
  411. package/dist/esm/spw-select.entry.js +37 -3
  412. package/dist/esm/spw-select.entry.js.map +1 -1
  413. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
  414. package/dist/esm/spw-sidebar-navigation-item.entry.js +1 -1
  415. package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
  416. package/dist/esm/spw-sidebar.entry.js +1 -1
  417. package/dist/esm/spw-skeleton.entry.js +1 -1
  418. package/dist/esm/spw-socials.entry.js +1 -1
  419. package/dist/esm/spw-stencil-library.js +3 -3
  420. package/dist/esm/spw-table-body.entry.js +1 -1
  421. package/dist/esm/spw-table-cell.entry.js +2 -2
  422. package/dist/esm/spw-table-cell.entry.js.map +1 -1
  423. package/dist/esm/spw-table-footer.entry.js +1 -1
  424. package/dist/esm/spw-table-head.entry.js +1 -1
  425. package/dist/esm/spw-table-header.entry.js +9 -5
  426. package/dist/esm/spw-table-header.entry.js.map +1 -1
  427. package/dist/esm/spw-table-row.entry.js +11 -3
  428. package/dist/esm/spw-table-row.entry.js.map +1 -1
  429. package/dist/esm/spw-table.entry.js +23 -10
  430. package/dist/esm/spw-table.entry.js.map +1 -1
  431. package/dist/esm/spw-tabs-content.entry.js +1 -1
  432. package/dist/esm/spw-tabs-navigation-item.entry.js +6 -3
  433. package/dist/esm/spw-tabs-navigation-item.entry.js.map +1 -1
  434. package/dist/esm/spw-tabs-navigation.entry.js +85 -3
  435. package/dist/esm/spw-tabs-navigation.entry.js.map +1 -1
  436. package/dist/esm/spw-tabs.entry.js +70 -13
  437. package/dist/esm/spw-tabs.entry.js.map +1 -1
  438. package/dist/esm/spw-tag.entry.js +2 -2
  439. package/dist/esm/spw-text-field.entry.js +2 -2
  440. package/dist/esm/spw-textarea.entry.js +2 -2
  441. package/dist/esm/spw-tile-description.entry.js +2 -2
  442. package/dist/esm/spw-tile-title.entry.js +2 -2
  443. package/dist/esm/spw-tile.entry.js +2 -2
  444. package/dist/esm/spw-tooltip.entry.js +3 -3
  445. package/dist/esm/spw-tooltip.entry.js.map +1 -1
  446. package/dist/esm/spw-topbar.entry.js +2 -2
  447. package/dist/esm/utils-zpG0udTn.js.map +1 -1
  448. package/dist/spw-stencil-library/{p-27d3d92a.entry.js → p-095280cd.entry.js} +2 -2
  449. package/dist/spw-stencil-library/{p-4e96a7f8.entry.js → p-0aa4a108.entry.js} +2 -2
  450. package/dist/spw-stencil-library/{p-3625250b.entry.js → p-1e725439.entry.js} +2 -2
  451. package/dist/spw-stencil-library/{p-c93bb0fb.entry.js → p-2111f4af.entry.js} +2 -2
  452. package/dist/spw-stencil-library/{p-0b4a2f05.entry.js → p-272b59d2.entry.js} +2 -2
  453. package/dist/spw-stencil-library/{p-f384262d.entry.js → p-2e8ec25d.entry.js} +2 -2
  454. package/dist/spw-stencil-library/{p-f8b02eb3.entry.js → p-2f4d2f5e.entry.js} +2 -2
  455. package/dist/spw-stencil-library/{p-621edd61.entry.js → p-302b8062.entry.js} +2 -2
  456. package/dist/spw-stencil-library/{p-ce16fd94.entry.js → p-3554fb8f.entry.js} +2 -2
  457. package/dist/spw-stencil-library/p-3554fb8f.entry.js.map +1 -0
  458. package/dist/spw-stencil-library/{p-98255d7f.entry.js → p-3a4b10ad.entry.js} +2 -2
  459. package/dist/spw-stencil-library/p-3ab472db.entry.js +2 -0
  460. package/dist/spw-stencil-library/p-3ab472db.entry.js.map +1 -0
  461. package/dist/spw-stencil-library/p-3e6fe922.entry.js +2 -0
  462. package/dist/spw-stencil-library/p-3e6fe922.entry.js.map +1 -0
  463. package/dist/spw-stencil-library/{p-eb6ad6f0.entry.js → p-40283415.entry.js} +2 -2
  464. package/dist/spw-stencil-library/p-40283415.entry.js.map +1 -0
  465. package/dist/spw-stencil-library/{p-86c265a0.entry.js → p-40875966.entry.js} +2 -2
  466. package/dist/spw-stencil-library/{p-4122bb55.entry.js → p-4540f03d.entry.js} +2 -2
  467. package/dist/spw-stencil-library/{p-754d81d9.entry.js → p-4c4a0709.entry.js} +2 -2
  468. package/dist/spw-stencil-library/{p-49e6a16e.entry.js → p-4de11305.entry.js} +2 -2
  469. package/dist/spw-stencil-library/{p-7c7f8eae.entry.js → p-5d7b7815.entry.js} +2 -2
  470. package/dist/spw-stencil-library/{p-49221194.entry.js → p-5ed3e0dc.entry.js} +4 -4
  471. package/dist/spw-stencil-library/p-6080e3af.entry.js +2 -0
  472. package/dist/spw-stencil-library/p-6080e3af.entry.js.map +1 -0
  473. package/dist/spw-stencil-library/{p-3cdcc221.entry.js → p-623f0364.entry.js} +2 -2
  474. package/dist/spw-stencil-library/{p-8ea75393.entry.js → p-65362ceb.entry.js} +2 -2
  475. package/dist/spw-stencil-library/{p-9cdaf77f.entry.js → p-68470983.entry.js} +2 -2
  476. package/dist/spw-stencil-library/{p-1d53f317.entry.js → p-6e73ea86.entry.js} +2 -2
  477. package/dist/spw-stencil-library/p-6e73ea86.entry.js.map +1 -0
  478. package/dist/spw-stencil-library/{p-8ae132ed.entry.js → p-6ec9bc6c.entry.js} +2 -2
  479. package/dist/spw-stencil-library/{p-0f3f20f5.entry.js → p-7028e7b5.entry.js} +2 -2
  480. package/dist/spw-stencil-library/{p-7d9b220f.entry.js → p-729ecfae.entry.js} +2 -2
  481. package/dist/spw-stencil-library/p-729ecfae.entry.js.map +1 -0
  482. package/dist/spw-stencil-library/p-73db3953.entry.js +2 -0
  483. package/dist/spw-stencil-library/p-73db3953.entry.js.map +1 -0
  484. package/dist/spw-stencil-library/{p-8b951993.entry.js → p-7e30e4c2.entry.js} +2 -2
  485. package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +1 -0
  486. package/dist/spw-stencil-library/{p-4081582a.entry.js → p-7f51d86c.entry.js} +2 -2
  487. package/dist/spw-stencil-library/{p-aa7566e0.entry.js → p-81b268ec.entry.js} +2 -2
  488. package/dist/spw-stencil-library/{p-3a446e55.entry.js → p-8abf47fe.entry.js} +2 -2
  489. package/dist/spw-stencil-library/{p-30005a16.entry.js → p-8f3a311c.entry.js} +2 -2
  490. package/dist/spw-stencil-library/{p-8312033a.entry.js → p-90b5dafe.entry.js} +2 -2
  491. package/dist/spw-stencil-library/{p-328bfb78.entry.js → p-92c085a5.entry.js} +2 -2
  492. package/dist/spw-stencil-library/{p-809f6063.entry.js → p-92dc2c82.entry.js} +2 -2
  493. package/dist/spw-stencil-library/p-93f062f5.entry.js +2 -0
  494. package/dist/spw-stencil-library/p-93f062f5.entry.js.map +1 -0
  495. package/dist/spw-stencil-library/{p-ae95b303.entry.js → p-999a607e.entry.js} +2 -2
  496. package/dist/spw-stencil-library/{p-f7d5eb27.entry.js → p-9a5031d4.entry.js} +2 -2
  497. package/dist/spw-stencil-library/{p-938971bc.entry.js → p-9b651a66.entry.js} +2 -2
  498. package/dist/spw-stencil-library/{p-BaAUTDWF.js → p-BYM_CUUH.js} +2 -2
  499. package/dist/spw-stencil-library/p-BYM_CUUH.js.map +1 -0
  500. package/dist/spw-stencil-library/{p-325309ec.entry.js → p-a421a2bd.entry.js} +2 -2
  501. package/dist/spw-stencil-library/{p-3ca241ed.entry.js → p-a46af3e5.entry.js} +2 -2
  502. package/dist/spw-stencil-library/{p-96f2ab55.entry.js → p-a5b78201.entry.js} +2 -2
  503. package/dist/spw-stencil-library/{p-16f48e73.entry.js → p-a7d606e3.entry.js} +2 -2
  504. package/dist/spw-stencil-library/{p-5752fdef.entry.js → p-ae905af5.entry.js} +2 -2
  505. package/dist/spw-stencil-library/{p-7a9c8362.entry.js → p-b044a74c.entry.js} +2 -2
  506. package/dist/spw-stencil-library/{p-8b7f940d.entry.js → p-b0ca9615.entry.js} +2 -2
  507. package/dist/spw-stencil-library/{p-c08f14f9.entry.js → p-b45534d4.entry.js} +2 -2
  508. package/dist/spw-stencil-library/{p-add90792.entry.js → p-b77d1fe8.entry.js} +2 -2
  509. package/dist/spw-stencil-library/{p-b6908714.entry.js → p-b7d4f7c6.entry.js} +2 -2
  510. package/dist/spw-stencil-library/{p-3ffc32e2.entry.js → p-c7453498.entry.js} +2 -2
  511. package/dist/spw-stencil-library/{p-a09a320d.entry.js → p-c7e025a5.entry.js} +2 -2
  512. package/dist/spw-stencil-library/{p-1dde0477.entry.js → p-c8b5a26a.entry.js} +2 -2
  513. package/dist/spw-stencil-library/{p-ea24705d.entry.js → p-cc8717c0.entry.js} +2 -2
  514. package/dist/spw-stencil-library/{p-e95b2caa.entry.js → p-cc934cd6.entry.js} +2 -2
  515. package/dist/spw-stencil-library/{p-cc2fc4d1.entry.js → p-cf508941.entry.js} +2 -2
  516. package/dist/spw-stencil-library/p-cfd71d4a.entry.js +2 -0
  517. package/dist/spw-stencil-library/p-cfd71d4a.entry.js.map +1 -0
  518. package/dist/spw-stencil-library/{p-dfade2bb.entry.js → p-cff5a7e4.entry.js} +2 -2
  519. package/dist/spw-stencil-library/{p-ad03e5fa.entry.js → p-d2c4f07d.entry.js} +2 -2
  520. package/dist/spw-stencil-library/{p-45abc261.entry.js → p-d67fdf8d.entry.js} +2 -2
  521. package/dist/spw-stencil-library/p-d6b76976.entry.js +2 -0
  522. package/dist/spw-stencil-library/p-d6b76976.entry.js.map +1 -0
  523. package/dist/spw-stencil-library/{p-7f39476b.entry.js → p-dd441d3f.entry.js} +2 -2
  524. package/dist/spw-stencil-library/{p-b7608972.entry.js → p-dff72718.entry.js} +2 -2
  525. package/dist/spw-stencil-library/{p-b00ef206.entry.js → p-e5178e47.entry.js} +2 -2
  526. package/dist/spw-stencil-library/{p-d4922788.entry.js → p-e67b5361.entry.js} +2 -2
  527. package/dist/spw-stencil-library/{p-08ead4ae.entry.js → p-e6981b73.entry.js} +2 -2
  528. package/dist/spw-stencil-library/{p-fa895f36.entry.js → p-e771bb8e.entry.js} +2 -2
  529. package/dist/spw-stencil-library/{p-102ff932.entry.js → p-f108ecf1.entry.js} +2 -2
  530. package/dist/spw-stencil-library/p-f3e9ab57.entry.js +2 -0
  531. package/dist/spw-stencil-library/p-f3e9ab57.entry.js.map +1 -0
  532. package/dist/spw-stencil-library/{p-a992edea.entry.js → p-f62d837a.entry.js} +2 -2
  533. package/dist/spw-stencil-library/{p-44a61c9f.entry.js → p-fc1d8034.entry.js} +2 -2
  534. package/dist/spw-stencil-library/p-ffb3b941.entry.js +2 -0
  535. package/dist/spw-stencil-library/p-ffb3b941.entry.js.map +1 -0
  536. package/dist/spw-stencil-library/p-zpG0udTn.js.map +1 -1
  537. package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
  538. package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
  539. package/dist/spw-stencil-library/spw-hero.entry.esm.js.map +1 -1
  540. package/dist/spw-stencil-library/spw-illustration.entry.esm.js.map +1 -0
  541. package/dist/spw-stencil-library/spw-modal.entry.esm.js.map +1 -1
  542. package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
  543. package/dist/spw-stencil-library/spw-stencil-library.css +5 -1
  544. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  545. package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
  546. package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
  547. package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
  548. package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
  549. package/dist/spw-stencil-library/spw-tabs-navigation-item.entry.esm.js.map +1 -1
  550. package/dist/spw-stencil-library/spw-tabs-navigation.entry.esm.js.map +1 -1
  551. package/dist/spw-stencil-library/spw-tabs.entry.esm.js.map +1 -1
  552. package/dist/spw-stencil-library/spw-tooltip.entry.esm.js.map +1 -1
  553. package/dist/stats.json +2097 -1142
  554. package/dist/types/components/spw-checkbox/spw-checkbox.d.ts +2 -0
  555. package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +3 -3
  556. package/dist/types/components/spw-hero/spw-hero.d.ts +2 -0
  557. package/dist/types/components/spw-illustration/spw-illustration.d.ts +32 -0
  558. package/dist/types/components/spw-select/spw-select.d.ts +12 -0
  559. package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +3 -0
  560. package/dist/types/components/spw-table/spw-table.d.ts +1 -0
  561. package/dist/types/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.d.ts +17 -0
  562. package/dist/types/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.d.ts +4 -0
  563. package/dist/types/components/spw-tabs/spw-tabs.d.ts +11 -1
  564. package/dist/types/components.d.ts +160 -12
  565. package/dist/types/stories/components/spw-custom-select/spw-custom-select.stories.d.ts +9 -0
  566. package/dist/types/stories/organisms/spw-hero/spw-hero.stories.d.ts +2 -0
  567. package/hydrate/index.js +2757 -125
  568. package/hydrate/index.mjs +2757 -125
  569. package/package.json +1 -1
  570. package/dist/cjs/index-DPoQq9TD.js.map +0 -1
  571. package/dist/components/p-COf5LpGH.js +0 -125
  572. package/dist/components/p-COf5LpGH.js.map +0 -1
  573. package/dist/components/p-DqtSG4Dc.js.map +0 -1
  574. package/dist/esm/index-BaAUTDWF.js.map +0 -1
  575. package/dist/spw-stencil-library/_commonjsHelpers-CvGrISen.js.map +0 -1
  576. package/dist/spw-stencil-library/app-globals-DQuL1Twl.js.map +0 -1
  577. package/dist/spw-stencil-library/index-CHjlxlqM.js.map +0 -1
  578. package/dist/spw-stencil-library/p-1d53f317.entry.js.map +0 -1
  579. package/dist/spw-stencil-library/p-275708d3.entry.js +0 -2
  580. package/dist/spw-stencil-library/p-275708d3.entry.js.map +0 -1
  581. package/dist/spw-stencil-library/p-4917458b.entry.js +0 -2
  582. package/dist/spw-stencil-library/p-4917458b.entry.js.map +0 -1
  583. package/dist/spw-stencil-library/p-49d9a720.entry.js +0 -2
  584. package/dist/spw-stencil-library/p-49d9a720.entry.js.map +0 -1
  585. package/dist/spw-stencil-library/p-4ae6cb6c.entry.js +0 -2
  586. package/dist/spw-stencil-library/p-4ae6cb6c.entry.js.map +0 -1
  587. package/dist/spw-stencil-library/p-7d9b220f.entry.js.map +0 -1
  588. package/dist/spw-stencil-library/p-84132f3d.entry.js +0 -2
  589. package/dist/spw-stencil-library/p-84132f3d.entry.js.map +0 -1
  590. package/dist/spw-stencil-library/p-8b951993.entry.js.map +0 -1
  591. package/dist/spw-stencil-library/p-BaAUTDWF.js.map +0 -1
  592. package/dist/spw-stencil-library/p-b24afc65.entry.js +0 -2
  593. package/dist/spw-stencil-library/p-b24afc65.entry.js.map +0 -1
  594. package/dist/spw-stencil-library/p-ce16fd94.entry.js.map +0 -1
  595. package/dist/spw-stencil-library/p-cf09d649.entry.js +0 -2
  596. package/dist/spw-stencil-library/p-cf09d649.entry.js.map +0 -1
  597. package/dist/spw-stencil-library/p-eb6ad6f0.entry.js.map +0 -1
  598. package/dist/spw-stencil-library/p-f7dd32a4.entry.js +0 -2
  599. package/dist/spw-stencil-library/p-f7dd32a4.entry.js.map +0 -1
  600. package/dist/spw-stencil-library/utils-BXStmMnc.js.map +0 -1
  601. /package/dist/spw-stencil-library/{p-27d3d92a.entry.js.map → p-095280cd.entry.js.map} +0 -0
  602. /package/dist/spw-stencil-library/{p-4e96a7f8.entry.js.map → p-0aa4a108.entry.js.map} +0 -0
  603. /package/dist/spw-stencil-library/{p-3625250b.entry.js.map → p-1e725439.entry.js.map} +0 -0
  604. /package/dist/spw-stencil-library/{p-c93bb0fb.entry.js.map → p-2111f4af.entry.js.map} +0 -0
  605. /package/dist/spw-stencil-library/{p-0b4a2f05.entry.js.map → p-272b59d2.entry.js.map} +0 -0
  606. /package/dist/spw-stencil-library/{p-f384262d.entry.js.map → p-2e8ec25d.entry.js.map} +0 -0
  607. /package/dist/spw-stencil-library/{p-f8b02eb3.entry.js.map → p-2f4d2f5e.entry.js.map} +0 -0
  608. /package/dist/spw-stencil-library/{p-621edd61.entry.js.map → p-302b8062.entry.js.map} +0 -0
  609. /package/dist/spw-stencil-library/{p-98255d7f.entry.js.map → p-3a4b10ad.entry.js.map} +0 -0
  610. /package/dist/spw-stencil-library/{p-86c265a0.entry.js.map → p-40875966.entry.js.map} +0 -0
  611. /package/dist/spw-stencil-library/{p-4122bb55.entry.js.map → p-4540f03d.entry.js.map} +0 -0
  612. /package/dist/spw-stencil-library/{p-754d81d9.entry.js.map → p-4c4a0709.entry.js.map} +0 -0
  613. /package/dist/spw-stencil-library/{p-49e6a16e.entry.js.map → p-4de11305.entry.js.map} +0 -0
  614. /package/dist/spw-stencil-library/{p-7c7f8eae.entry.js.map → p-5d7b7815.entry.js.map} +0 -0
  615. /package/dist/spw-stencil-library/{p-49221194.entry.js.map → p-5ed3e0dc.entry.js.map} +0 -0
  616. /package/dist/spw-stencil-library/{p-3cdcc221.entry.js.map → p-623f0364.entry.js.map} +0 -0
  617. /package/dist/spw-stencil-library/{p-8ea75393.entry.js.map → p-65362ceb.entry.js.map} +0 -0
  618. /package/dist/spw-stencil-library/{p-9cdaf77f.entry.js.map → p-68470983.entry.js.map} +0 -0
  619. /package/dist/spw-stencil-library/{p-8ae132ed.entry.js.map → p-6ec9bc6c.entry.js.map} +0 -0
  620. /package/dist/spw-stencil-library/{p-0f3f20f5.entry.js.map → p-7028e7b5.entry.js.map} +0 -0
  621. /package/dist/spw-stencil-library/{p-4081582a.entry.js.map → p-7f51d86c.entry.js.map} +0 -0
  622. /package/dist/spw-stencil-library/{p-aa7566e0.entry.js.map → p-81b268ec.entry.js.map} +0 -0
  623. /package/dist/spw-stencil-library/{p-3a446e55.entry.js.map → p-8abf47fe.entry.js.map} +0 -0
  624. /package/dist/spw-stencil-library/{p-30005a16.entry.js.map → p-8f3a311c.entry.js.map} +0 -0
  625. /package/dist/spw-stencil-library/{p-8312033a.entry.js.map → p-90b5dafe.entry.js.map} +0 -0
  626. /package/dist/spw-stencil-library/{p-328bfb78.entry.js.map → p-92c085a5.entry.js.map} +0 -0
  627. /package/dist/spw-stencil-library/{p-809f6063.entry.js.map → p-92dc2c82.entry.js.map} +0 -0
  628. /package/dist/spw-stencil-library/{p-ae95b303.entry.js.map → p-999a607e.entry.js.map} +0 -0
  629. /package/dist/spw-stencil-library/{p-f7d5eb27.entry.js.map → p-9a5031d4.entry.js.map} +0 -0
  630. /package/dist/spw-stencil-library/{p-938971bc.entry.js.map → p-9b651a66.entry.js.map} +0 -0
  631. /package/dist/spw-stencil-library/{p-325309ec.entry.js.map → p-a421a2bd.entry.js.map} +0 -0
  632. /package/dist/spw-stencil-library/{p-3ca241ed.entry.js.map → p-a46af3e5.entry.js.map} +0 -0
  633. /package/dist/spw-stencil-library/{p-96f2ab55.entry.js.map → p-a5b78201.entry.js.map} +0 -0
  634. /package/dist/spw-stencil-library/{p-16f48e73.entry.js.map → p-a7d606e3.entry.js.map} +0 -0
  635. /package/dist/spw-stencil-library/{p-5752fdef.entry.js.map → p-ae905af5.entry.js.map} +0 -0
  636. /package/dist/spw-stencil-library/{p-7a9c8362.entry.js.map → p-b044a74c.entry.js.map} +0 -0
  637. /package/dist/spw-stencil-library/{p-8b7f940d.entry.js.map → p-b0ca9615.entry.js.map} +0 -0
  638. /package/dist/spw-stencil-library/{p-c08f14f9.entry.js.map → p-b45534d4.entry.js.map} +0 -0
  639. /package/dist/spw-stencil-library/{p-add90792.entry.js.map → p-b77d1fe8.entry.js.map} +0 -0
  640. /package/dist/spw-stencil-library/{p-b6908714.entry.js.map → p-b7d4f7c6.entry.js.map} +0 -0
  641. /package/dist/spw-stencil-library/{p-3ffc32e2.entry.js.map → p-c7453498.entry.js.map} +0 -0
  642. /package/dist/spw-stencil-library/{p-a09a320d.entry.js.map → p-c7e025a5.entry.js.map} +0 -0
  643. /package/dist/spw-stencil-library/{p-1dde0477.entry.js.map → p-c8b5a26a.entry.js.map} +0 -0
  644. /package/dist/spw-stencil-library/{p-ea24705d.entry.js.map → p-cc8717c0.entry.js.map} +0 -0
  645. /package/dist/spw-stencil-library/{p-e95b2caa.entry.js.map → p-cc934cd6.entry.js.map} +0 -0
  646. /package/dist/spw-stencil-library/{p-cc2fc4d1.entry.js.map → p-cf508941.entry.js.map} +0 -0
  647. /package/dist/spw-stencil-library/{p-dfade2bb.entry.js.map → p-cff5a7e4.entry.js.map} +0 -0
  648. /package/dist/spw-stencil-library/{p-ad03e5fa.entry.js.map → p-d2c4f07d.entry.js.map} +0 -0
  649. /package/dist/spw-stencil-library/{p-45abc261.entry.js.map → p-d67fdf8d.entry.js.map} +0 -0
  650. /package/dist/spw-stencil-library/{p-7f39476b.entry.js.map → p-dd441d3f.entry.js.map} +0 -0
  651. /package/dist/spw-stencil-library/{p-b7608972.entry.js.map → p-dff72718.entry.js.map} +0 -0
  652. /package/dist/spw-stencil-library/{p-b00ef206.entry.js.map → p-e5178e47.entry.js.map} +0 -0
  653. /package/dist/spw-stencil-library/{p-d4922788.entry.js.map → p-e67b5361.entry.js.map} +0 -0
  654. /package/dist/spw-stencil-library/{p-08ead4ae.entry.js.map → p-e6981b73.entry.js.map} +0 -0
  655. /package/dist/spw-stencil-library/{p-fa895f36.entry.js.map → p-e771bb8e.entry.js.map} +0 -0
  656. /package/dist/spw-stencil-library/{p-102ff932.entry.js.map → p-f108ecf1.entry.js.map} +0 -0
  657. /package/dist/spw-stencil-library/{p-a992edea.entry.js.map → p-f62d837a.entry.js.map} +0 -0
  658. /package/dist/spw-stencil-library/{p-44a61c9f.entry.js.map → p-fc1d8034.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"spw-table-header.js","sourceRoot":"","sources":["../../../../src/components/spw-table/spw-table-header/spw-table-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAgB,CAAC,EAAE,MAAM,eAAe,CAAC;AAOxE,MAAM,OAAO,cAAc;IAL3B;QAYE,+GAA+G;QACvG,kBAAa,GAAa,KAAK,CAAC;QACxC,0GAA0G;QAClG,cAAS,GAAiC,MAAM,CAAC;QACzD,0GAA0G;QAClG,kBAAa,GAAiC,KAAK,CAAC;QAC5D,8FAA8F;QACtF,YAAO,GAAwB,QAAQ,CAAC;QAGhD,2EAA2E;QACnE,aAAQ,GAAa,KAAK,CAAC;QAGnC,gFAAgF;QACxE,aAAQ,GAAa,KAAK,CAAC;QAQ3B,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;KAiDH;IA/CC,IAAY,YAAY;QACtB,OAAO;YACL,kBAAkB,EAAE,IAAI;YACxB,4BAA4B,EAAE,IAAI,CAAC,QAAQ;YAC3C,6BAA6B,EAAE,IAAI,CAAC,QAAQ;YAC5C,+BAA+B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC;YAC1E,CAAC,6BAA6B,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACnD,CAAC,gCAAgC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI;YACxD,CAAC,oCAAoC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI;SACjE,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,wEACa,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EACtD,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,OAAO;YAErB,4DACE,KAAK,EAAE;oBACL,2BAA2B,EAAE,IAAI;oBACjC,sCAAsC,EAAE,IAAI,CAAC,QAAQ;iBACtD;gBAED,8DAAQ;gBACR,4DAAK,KAAK,EAAC,yBAAyB;oBACjC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAC1C,qFAA4B,IAAI,CAAC,YAAY,kBAAgB,IAAI,CAAC,WAAW;wBAC3E,iEAAU,OAAO,EAAC,YAAY,EAAC,IAAI,EAAC,oBAAoB,GAAY,CACxD,CACf;oBACA,IAAI,CAAC,QAAQ,IAAI,CAChB,iEACE,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,wBAAwB,GAC7H,CACb,CACG,CACF,CACH,CACN,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-header',\n styleUrl: 'spw-table-header.scss',\n shadow: true,\n})\nexport class SpwTableHeader {\n /** Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() colspan?: HTMLTableCellElement['colSpan'];\n /** Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() headers?: HTMLTableCellElement['headers'];\n /** Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() rowspan?: HTMLTableCellElement['rowSpan'];\n /** Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() isHighlighted?: boolean = false;\n /** Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() textAlign?: 'center' | 'left' | 'right' = 'left';\n /** Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() verticalAlign?: 'top' | 'bottom' | 'middle' = 'top';\n /** Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() padding?: 'small' | 'medium' = 'medium';\n /** Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */\n @Prop() columnId: string;\n /** Définit si la colonne est triable (à appliquer sur spw-table-header) */\n @Prop() sortable?: boolean = false;\n /** Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */\n @Prop() sortDirection?: 'asc' | 'desc';\n /** Définit si la colonne est triée ou non (à appliquer sur spw-table-header) */\n @Prop() isSorted?: boolean = false;\n /** Définit un titre pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipTitle?: string;\n /** Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipText?: string;\n\n @Event() spwHeaderClick: EventEmitter<string>;\n\n private handleClick = () => {\n if (this.sortable) {\n this.spwHeaderClick.emit(this.columnId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-header': true,\n 'spw-table-header--sortable': this.sortable,\n 'spw-table-header--is-sorted': this.isSorted,\n 'spw-table-header--has-tooltip': !!(this.tooltipTitle || this.tooltipText),\n [`spw-table-header--padding-${this.padding}`]: true,\n [`spw-table-header--text-align-${this.textAlign}`]: true,\n [`spw-table-header--vertical-align-${this.verticalAlign}`]: true,\n };\n }\n\n render() {\n return (\n <th\n aria-sort={this.isSorted ? this.sortDirection : 'none'}\n onClick={this.handleClick}\n class={this.elementClass}\n colSpan={this.colspan}\n headers={this.headers}\n part=\"cell\"\n rowSpan={this.rowspan}\n >\n <div\n class={{\n 'spw-table-header__content': true,\n 'spw-table-header__content--is-sorted': this.isSorted,\n }}\n >\n <slot />\n <div class=\"spw-table-header__icons\">\n {(this.tooltipTitle || this.tooltipText) && (\n <spw-tooltip tooltip-title={this.tooltipTitle} tooltip-text={this.tooltipText}>\n <spw-icon variant=\"fa-regular\" icon=\"fa-circle-question\"></spw-icon>\n </spw-tooltip>\n )}\n {this.sortable && (\n <spw-icon\n class=\"spw-table-header__sort-icon\"\n icon={this.isSorted ? (this.sortDirection === 'asc' ? 'fa-arrow-up-short-wide' : 'fa-arrow-down-wide-short') : 'fa-arrow-up-arrow-down'}\n ></spw-icon>\n )}\n </div>\n </div>\n </th>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-table-header.js","sourceRoot":"","sources":["../../../../src/components/spw-table/spw-table-header/spw-table-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-header',\n styleUrl: 'spw-table-header.scss',\n shadow: true,\n})\nexport class SpwTableHeader {\n /** Définit un colspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() colspan?: HTMLTableCellElement['colSpan'];\n /** Définit un header relationnel pour la cellule, à des fins d'accessibilité (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() headers?: HTMLTableCellElement['headers'];\n /** Définit un rowspan pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() rowspan?: HTMLTableCellElement['rowSpan'];\n /** Définit un style visuel qui met en avant la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() isHighlighted?: boolean = false;\n /** Définit un alignement de texte pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() textAlign?: 'center' | 'left' | 'right' = 'left';\n /** Définit un alignement vertical pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() verticalAlign?: 'top' | 'bottom' | 'middle' = 'top';\n /** Définit le padding pour la cellule (à appliquer sur spw-table-cell ou spw-table-header) */\n @Prop() padding?: 'small' | 'medium' = 'medium';\n /** Définit id pour la colonne (en cas de tri) (à appliquer sur spw-table-header) */\n @Prop() columnId: string;\n /** Définit si la colonne est triable (à appliquer sur spw-table-header) */\n @Prop() sortable?: boolean = false;\n /** Définit la direction pour le tri sur la colonne (ascendant ou descendant) (à appliquer sur spw-table-header) */\n @Prop() sortDirection?: 'asc' | 'desc';\n /** Définit si la colonne est triée ou non (à appliquer sur spw-table-header) */\n @Prop() isSorted?: boolean = false;\n /** Définit un titre pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipTitle?: string;\n /** Définit un contenu pour le tooltip (à appliquer sur spw-table-header) */\n @Prop() tooltipText?: string;\n\n @Event() spwHeaderClick: EventEmitter<string>;\n\n private handleClick = (event: MouseEvent) => {\n if ((event.target as HTMLElement).closest('[slot=\"filters\"]')) {\n event.stopPropagation();\n return;\n }\n if (this.sortable) {\n this.spwHeaderClick.emit(this.columnId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-header': true,\n 'spw-table-header--sortable': this.sortable,\n 'spw-table-header--is-sorted': this.isSorted,\n 'spw-table-header--has-tooltip': !!(this.tooltipTitle || this.tooltipText),\n [`spw-table-header--padding-${this.padding}`]: true,\n [`spw-table-header--text-align-${this.textAlign}`]: true,\n [`spw-table-header--vertical-align-${this.verticalAlign}`]: true,\n };\n }\n\n render() {\n return (\n <th\n aria-sort={this.isSorted ? this.sortDirection : 'none'}\n onClick={this.handleClick}\n class={this.elementClass}\n colSpan={this.colspan}\n headers={this.headers}\n part=\"cell\"\n rowSpan={this.rowspan}\n >\n <div\n class={{\n 'spw-table-header__content': true,\n 'spw-table-header__content--is-sorted': this.isSorted,\n }}\n >\n <slot />\n <div class=\"spw-table-header__icons\">\n <slot name=\"filters\"></slot>\n {(this.tooltipTitle || this.tooltipText) && (\n <spw-tooltip tooltip-title={this.tooltipTitle} tooltip-text={this.tooltipText}>\n <spw-icon variant=\"fa-regular\" icon=\"fa-circle-question\"></spw-icon>\n </spw-tooltip>\n )}\n {this.sortable && (\n <spw-icon\n class=\"spw-table-header__sort-icon\"\n icon={this.isSorted ? (this.sortDirection === 'asc' ? 'fa-arrow-up-short-wide' : 'fa-arrow-down-wide-short') : 'fa-arrow-up-arrow-down'}\n ></spw-icon>\n )}\n </div>\n </div>\n </th>\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:contents;font-size:100%;line-height:1.3}: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:1200px;--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)}}:host([data-row-style=odd]) .spw-table-row{background-color:var(--spw-color-themes-grey-grey-50)}
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:contents;font-size:100%;line-height:1.3}: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:1200px;--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)}}:host([data-row-style=odd]) .spw-table-row{background-color:var(--spw-color-themes-grey-grey-50)}.spw-table-row{position:relative}.spw-table-row--disabled{cursor:not-allowed;opacity:.3;pointer-events:none}.spw-table-row--selected{background-color:var(--spw-color-themes-blue-blue-50);box-shadow:inset 3px 0 0 var(--spw-color-themes-blue-blue-500)}
@@ -1,7 +1,17 @@
1
1
  import { Host, h } from "@stencil/core";
2
2
  export class SpwTableRow {
3
+ constructor() {
4
+ /** Permet de changer le state du spw-table-row */
5
+ this.state = 'default';
6
+ }
7
+ get elementClass() {
8
+ return {
9
+ 'spw-table-row': true,
10
+ [`spw-table-row--${this.state}`]: true,
11
+ };
12
+ }
3
13
  render() {
4
- return (h(Host, { key: '80149012f6a9bb8d7a7243349ba3ec5442b0bdbb', part: "row" }, h("tr", { key: '31fced627e8d4e461584c304ab47c43ad44170c7', class: "spw-table-row", part: "row" }, h("slot", { key: 'd454d0e023cc764c3b187c909a65cc2016f028e1' }))));
14
+ return (h(Host, { key: 'b52a5e009fe86012bf4eb6b3ba9aa2cefc39e249', part: "row" }, h("tr", { key: 'c44a589f82bf615f0ef790d3008011dc8b341967', class: this.elementClass, part: "row" }, h("slot", { key: 'c26e0da3aeb4fc0d4fe3f5000b8b303cfb0c4583' }))));
5
15
  }
6
16
  static get is() { return "spw-table-row"; }
7
17
  static get encapsulation() { return "shadow"; }
@@ -15,5 +25,29 @@ export class SpwTableRow {
15
25
  "$": ["spw-table-row.css"]
16
26
  };
17
27
  }
28
+ static get properties() {
29
+ return {
30
+ "state": {
31
+ "type": "string",
32
+ "mutable": false,
33
+ "complexType": {
34
+ "original": "'default' | 'selected' | 'disabled'",
35
+ "resolved": "\"default\" | \"disabled\" | \"selected\"",
36
+ "references": {}
37
+ },
38
+ "required": false,
39
+ "optional": true,
40
+ "docs": {
41
+ "tags": [],
42
+ "text": "Permet de changer le state du spw-table-row"
43
+ },
44
+ "getter": false,
45
+ "setter": false,
46
+ "attribute": "state",
47
+ "reflect": false,
48
+ "defaultValue": "'default'"
49
+ }
50
+ };
51
+ }
18
52
  }
19
53
  //# sourceMappingURL=spw-table-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spw-table-row.js","sourceRoot":"","sources":["../../../../src/components/spw-table/spw-table-row/spw-table-row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,WAAW;IACtB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,KAAK;YAChB,2DAAI,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,KAAK;gBAClC,8DAAQ,CACL,CACE,CACR,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-row',\n styleUrl: 'spw-table-row.scss',\n shadow: true,\n})\nexport class SpwTableRow {\n render() {\n return (\n <Host part=\"row\">\n <tr class=\"spw-table-row\" part=\"row\">\n <slot />\n </tr>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-table-row.js","sourceRoot":"","sources":["../../../../src/components/spw-table/spw-table-row/spw-table-row.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,WAAW;IALxB;QAME,mDAAmD;QAC3C,UAAK,GAAyC,SAAS,CAAC;KAkBjE;IAhBC,IAAY,YAAY;QACtB,OAAO;YACL,eAAe,EAAE,IAAI;YACrB,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;SACvC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,IAAI,EAAC,KAAK;YACd,2DAAI,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,KAAK;gBACtC,8DAAQ,CACL,CACA,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-table-row',\n styleUrl: 'spw-table-row.scss',\n shadow: true,\n})\nexport class SpwTableRow {\n /** Permet de changer le state du spw-table-row */\n @Prop() state?: 'default' | 'selected' | 'disabled' = 'default';\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table-row': true,\n [`spw-table-row--${this.state}`]: true,\n };\n }\n\n render() {\n return (\n <Host part=\"row\">\n <tr class={this.elementClass} part=\"row\">\n <slot />\n </tr>\n </Host>\n );\n }\n}\n"]}
@@ -13,10 +13,16 @@ export class SpwTable {
13
13
  this.updateZebra();
14
14
  const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
15
15
  if (slot) {
16
- slot.addEventListener('slotchange', () => this.setupHeaderCheckboxListener());
16
+ slot.addEventListener('slotchange', () => {
17
+ this.setupHeaderCheckboxListener();
18
+ this.updateMasterCheckboxState();
19
+ });
17
20
  }
18
21
  this.setupHeaderCheckboxListener();
19
22
  this.setupBodyCheckboxListener();
23
+ setTimeout(() => {
24
+ this.updateMasterCheckboxState();
25
+ }, 0);
20
26
  }
21
27
  getMasterCheckboxColumnIndex() {
22
28
  var _a;
@@ -38,6 +44,9 @@ export class SpwTable {
38
44
  }
39
45
  return null;
40
46
  }
47
+ isCheckboxDisabled(checkbox) {
48
+ return (checkbox === null || checkbox === void 0 ? void 0 : checkbox.disabled) === true || (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('disabled')) === 'true' || (checkbox === null || checkbox === void 0 ? void 0 : checkbox.getAttribute('disabled')) === '';
49
+ }
41
50
  updateMasterCheckboxState() {
42
51
  var _a;
43
52
  const columnIndex = this.getMasterCheckboxColumnIndex();
@@ -55,15 +64,19 @@ export class SpwTable {
55
64
  const headerCell = headerRow === null || headerRow === void 0 ? void 0 : headerRow.querySelectorAll('spw-table-header')[columnIndex];
56
65
  const masterCheckbox = headerCell === null || headerCell === void 0 ? void 0 : headerCell.querySelector('spw-checkbox');
57
66
  const rows = body.querySelectorAll('spw-table-row');
58
- const values = Array.from(rows).map(row => {
67
+ const checkboxData = Array.from(rows).map(row => {
59
68
  const cell = row.querySelectorAll('spw-table-cell')[columnIndex];
60
69
  const cb = cell === null || cell === void 0 ? void 0 : cell.querySelector('spw-checkbox');
61
- return (cb === null || cb === void 0 ? void 0 : cb.checked) === true || (cb === null || cb === void 0 ? void 0 : cb.getAttribute('checked')) === 'true';
70
+ return {
71
+ checked: (cb === null || cb === void 0 ? void 0 : cb.checked) === true || (cb === null || cb === void 0 ? void 0 : cb.getAttribute('checked')) === 'true',
72
+ disabled: this.isCheckboxDisabled(cb),
73
+ };
62
74
  });
63
- if (values.length === 0)
75
+ const enabledCheckboxes = checkboxData.filter(item => !item.disabled);
76
+ if (enabledCheckboxes.length === 0)
64
77
  return;
65
- const allChecked = values.every(Boolean);
66
- const noneChecked = values.every(v => !v);
78
+ const allChecked = enabledCheckboxes.every(item => item.checked);
79
+ const noneChecked = enabledCheckboxes.every(item => !item.checked);
67
80
  if (!masterCheckbox)
68
81
  return;
69
82
  if (allChecked) {
@@ -129,7 +142,7 @@ export class SpwTable {
129
142
  const cells = Array.from(row.querySelectorAll('spw-table-cell'));
130
143
  const targetCell = cells[columnIndex];
131
144
  const checkbox = targetCell === null || targetCell === void 0 ? void 0 : targetCell.querySelector('spw-checkbox');
132
- if (checkbox) {
145
+ if (checkbox && !this.isCheckboxDisabled(checkbox)) {
133
146
  checkbox.checked = checked;
134
147
  checkbox.setAttribute('checked', checked.toString());
135
148
  }
@@ -218,10 +231,10 @@ export class SpwTable {
218
231
  };
219
232
  }
220
233
  render() {
221
- return (h(Host, { key: 'd0eb76cd5cbf66a6253ef81ec5d531a4e46cd64e', style: {
234
+ return (h(Host, { key: '5294f8be63d4632acbd7a32613012bae435ca8f2', style: {
222
235
  '--spw-table-max-height': this.formatSize(this.maxHeight),
223
236
  '--spw-table-min-width': this.formatSize(this.minWidth),
224
- } }, h("div", { key: 'dc279e8dcbbccca8eb26424823baf903d50af867', class: "spw-table-container" }, h("table", { key: 'e88ed20dc3d835c2835e75e99f1b90a34b7ca5a4', part: "table", class: this.elementClass, role: "table", "aria-label": this.accAriaLabel }, h("slot", { key: 'd6efac182513cbaca64e8beb5bac2b44f5646d01' })))));
237
+ } }, h("div", { key: '29ceffe040a91cc417d56af3cf52c2cffa47f694', class: "spw-table-container" }, h("table", { key: '9143213a51fa293587779f05eab910ded777cadc', part: "table", class: this.elementClass, role: "table", "aria-label": this.accAriaLabel }, h("slot", { key: '2f6b90a68cde6fd8d0b01d59e95e0d4db948a9aa' })))));
225
238
  }
226
239
  static get is() { return "spw-table"; }
227
240
  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, State, EventEmitter, Host, Prop, h } 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 /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n @State() currentSort?: SortEvent;\n\n componentDidLoad() {\n this.updateZebra();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => this.setupHeaderCheckboxListener());\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\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 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 values = 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 cb?.checked === true || cb?.getAttribute('checked') === 'true';\n });\n\n if (values.length === 0) return;\n\n const allChecked = values.every(Boolean);\n const noneChecked = values.every(v => !v);\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 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.addEventListener('spwChange', () => this.updateMasterCheckboxState());\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) {\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 this.sortRows(newSort.column, newSort.direction);\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 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 };\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.formatSize(this.maxHeight),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class=\"spw-table-container\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\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, State, EventEmitter, Host, Prop, h } 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 /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n @State() currentSort?: SortEvent;\n\n componentDidLoad() {\n this.updateZebra();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\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 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.addEventListener('spwChange', () => this.updateMasterCheckboxState());\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 this.sortRows(newSort.column, newSort.direction);\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 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 };\n }\n\n render() {\n return (\n <Host\n style={{\n '--spw-table-max-height': this.formatSize(this.maxHeight),\n '--spw-table-min-width': this.formatSize(this.minWidth),\n }}\n >\n <div class=\"spw-table-container\">\n <table part=\"table\" class={this.elementClass} role=\"table\" aria-label={this.accAriaLabel}>\n <slot />\n </table>\n </div>\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}: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:1200px;--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-tabs-navigation__list{border-bottom:1px solid var(--spw-colors-support-grey-grey-300);display:flex;flex-wrap:nowrap;gap:24px;overflow-x:auto;position:relative;white-space:nowrap;z-index:2}:host(.--box) .spw-tabs-navigation__list{border-bottom:0;gap:0;top:1px}::slotted(spw-tabs-navigation-item){--spw-tabs-border-radius:0;--spw-tabs-margin-left:-1px}::slotted(spw-tabs-navigation-item:first-child){--spw-tabs-border-radius:4px 0 0 0;--spw-tabs-margin-left:0}::slotted(spw-tabs-navigation-item:last-child){--spw-tabs-border-radius:0 4px 0 0;--spw-tabs-margin-left:-1px}::slotted(spw-tabs-navigation-item.--active){--spw-tabs-border-radius:4px 4px 0 0}
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;top:1px}: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:1200px;--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-tabs-navigation-container{align-items:center;display:flex;overflow:hidden;position:relative;width:100%}.spw-tabs-navigation{flex:1;overflow:hidden}.spw-tabs-navigation__list{-ms-overflow-style:none;border-bottom:1px solid var(--spw-colors-support-grey-grey-300);display:flex;flex-wrap:nowrap;gap:24px;list-style:none;margin:0;overflow-x:auto;padding:0;position:relative;scroll-behavior:smooth;scrollbar-width:none;white-space:nowrap;z-index:2}.spw-tabs-navigation__list::-webkit-scrollbar{display:none}:host(.--box) .spw-tabs-navigation__list{border-bottom:0;gap:0}.spw-tabs-navigation__arrow{align-items:center;background:#fff;border:none;cursor:pointer;display:flex;height:33px;justify-content:center;position:relative;top:1px;transition:all .2s ease;width:33px;z-index:10}.spw-tabs-navigation__arrow spw-icon{color:var(--spw-colors-support-grey-grey-500);font-size:14px}.spw-tabs-navigation__arrow:hover spw-icon{color:var(--spw-colors-support-grey-grey-600)}.spw-tabs-navigation__arrow:active spw-icon{color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation__arrow--left{border-radius:4px 0 0 0;border-right:1px solid var(--spw-colors-support-grey-grey-300)}.spw-tabs-navigation__arrow--right{border-left:1px solid var(--spw-colors-support-grey-grey-300);border-radius:0 4px 0 0}::slotted(spw-tabs-navigation-item){--spw-tabs-border-radius:0;--spw-tabs-margin-left:-1px}::slotted(spw-tabs-navigation-item:first-child){--spw-tabs-border-radius:4px 0 0 0;--spw-tabs-margin-left:0}::slotted(spw-tabs-navigation-item:last-child){--spw-tabs-border-radius:0 4px 0 0;--spw-tabs-margin-left:-1px}::slotted(spw-tabs-navigation-item.--active){--spw-tabs-border-radius:4px 4px 0 0}
@@ -1,7 +1,90 @@
1
1
  import { h } from "@stencil/core";
2
2
  export class SpwTabsNavigation {
3
+ constructor() {
4
+ this.showLeftArrow = false;
5
+ this.showRightArrow = false;
6
+ this.scrollPercentage = 30;
7
+ this.resizeObserver = null;
8
+ this.mutationObserver = null;
9
+ this.setupObservers = () => {
10
+ this.resizeObserver = new ResizeObserver(() => {
11
+ this.checkOverflow();
12
+ });
13
+ if (this.ulElement) {
14
+ this.resizeObserver.observe(this.ulElement);
15
+ }
16
+ this.mutationObserver = new MutationObserver(() => {
17
+ this.updateSlottedElementsObservation();
18
+ setTimeout(() => this.checkOverflow(), 10);
19
+ });
20
+ this.mutationObserver.observe(this.hostElement, {
21
+ childList: true,
22
+ subtree: true,
23
+ });
24
+ this.updateSlottedElementsObservation();
25
+ };
26
+ this.updateSlottedElementsObservation = () => {
27
+ if (!this.resizeObserver)
28
+ return;
29
+ const children = Array.from(this.hostElement.children);
30
+ children.forEach(child => {
31
+ this.resizeObserver.observe(child);
32
+ });
33
+ };
34
+ this.cleanupObservers = () => {
35
+ if (this.resizeObserver) {
36
+ this.resizeObserver.disconnect();
37
+ this.resizeObserver = null;
38
+ }
39
+ if (this.mutationObserver) {
40
+ this.mutationObserver.disconnect();
41
+ this.mutationObserver = null;
42
+ }
43
+ };
44
+ this.checkOverflow = () => {
45
+ if (!this.ulElement)
46
+ return;
47
+ const containerWidth = this.ulElement.clientWidth;
48
+ const contentWidth = this.ulElement.scrollWidth;
49
+ const scrollLeft = this.ulElement.scrollLeft;
50
+ const hasOverflow = contentWidth > containerWidth;
51
+ this.showLeftArrow = hasOverflow && scrollLeft > 0;
52
+ this.showRightArrow = hasOverflow && scrollLeft < contentWidth - containerWidth - 1;
53
+ };
54
+ this.scrollLeft = () => {
55
+ if (!this.ulElement)
56
+ return;
57
+ const scrollAmount = (this.ulElement.clientWidth * this.scrollPercentage) / 100;
58
+ this.ulElement.scrollBy({
59
+ left: -scrollAmount,
60
+ behavior: 'smooth',
61
+ });
62
+ };
63
+ this.scrollRight = () => {
64
+ if (!this.ulElement)
65
+ return;
66
+ const scrollAmount = (this.ulElement.clientWidth * this.scrollPercentage) / 100;
67
+ this.ulElement.scrollBy({
68
+ left: scrollAmount,
69
+ behavior: 'smooth',
70
+ });
71
+ };
72
+ this.handleScroll = () => {
73
+ this.checkOverflow();
74
+ };
75
+ }
76
+ componentDidLoad() {
77
+ this.checkOverflow();
78
+ this.setupObservers();
79
+ }
80
+ disconnectedCallback() {
81
+ this.cleanupObservers();
82
+ }
83
+ onWindowResize() {
84
+ this.checkOverflow();
85
+ }
3
86
  render() {
4
- return (h("nav", { key: '1878948ed9fcde1587f9f81b9a67dcb84ece5f80', class: "spw-tabs-navigation" }, h("ul", { key: 'f50e5edb7db854f443618c88353ca419205950cf', class: "spw-tabs-navigation__list", role: "tablist" }, h("slot", { key: 'd76ac4cfa82e09dfddfeda783e5f755b9b68c030' }))));
87
+ return (h("div", { key: 'e30dd2eeaff721cf907cc90f274fea0e09374704', class: "spw-tabs-navigation-container" }, this.showLeftArrow && (h("button", { key: 'd06751d3a971c6fc8a766893a0f20287808e12b6', class: "spw-tabs-navigation__arrow spw-tabs-navigation__arrow--left", onClick: this.scrollLeft, "aria-label": "Faire d\u00E9filer vers la gauche" }, h("spw-icon", { key: 'af54fc328d44238155fb8137566c96e45e0a0483', icon: "fa-chevron-left" }))), h("nav", { key: 'ab61a57c0f21cf18a4ad25f2468ac9fe6c56bb24', class: "spw-tabs-navigation" }, h("ul", { key: '8e87fa8b691dc26b7196f2aca9f573cc4e15f294', class: "spw-tabs-navigation__list", role: "tablist", ref: el => (this.ulElement = el), onScroll: this.handleScroll }, h("slot", { key: '10933f456cb16f0a5f7f1b07fb831fd695a2cb8b' }))), this.showRightArrow && (h("button", { key: '365deb76145d29345b25c48235c82a8dd325a8fc', class: "spw-tabs-navigation__arrow spw-tabs-navigation__arrow--right", onClick: this.scrollRight, "aria-label": "Faire d\u00E9filer vers la droite" }, h("spw-icon", { key: '0595bfaf9a4dd1bb00e0f0f4a8386c33bdeb8c47', icon: "fa-chevron-right" })))));
5
88
  }
6
89
  static get is() { return "spw-tabs-navigation"; }
7
90
  static get encapsulation() { return "shadow"; }
@@ -15,5 +98,21 @@ export class SpwTabsNavigation {
15
98
  "$": ["spw-tabs-navigation.css"]
16
99
  };
17
100
  }
101
+ static get states() {
102
+ return {
103
+ "showLeftArrow": {},
104
+ "showRightArrow": {}
105
+ };
106
+ }
107
+ static get elementRef() { return "hostElement"; }
108
+ static get listeners() {
109
+ return [{
110
+ "name": "resize",
111
+ "method": "onWindowResize",
112
+ "target": "window",
113
+ "capture": false,
114
+ "passive": true
115
+ }];
116
+ }
18
117
  }
19
118
  //# sourceMappingURL=spw-tabs-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spw-tabs-navigation.js","sourceRoot":"","sources":["../../../../src/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAO7C,MAAM,OAAO,iBAAiB;IAC5B,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAC,qBAAqB;YAC9B,2DAAI,KAAK,EAAC,2BAA2B,EAAC,IAAI,EAAC,SAAS;gBAClD,8DAAa,CACV,CACD,CACP,CAAC;IACJ,CAAC;;;;;;;;;CACF","sourcesContent":["import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs-navigation',\n styleUrl: 'spw-tabs-navigation.scss',\n shadow: true,\n})\nexport class SpwTabsNavigation {\n render() {\n return (\n <nav class=\"spw-tabs-navigation\">\n <ul class=\"spw-tabs-navigation__list\" role=\"tablist\">\n <slot></slot>\n </ul>\n </nav>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-tabs-navigation.js","sourceRoot":"","sources":["../../../../src/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, State, Listen } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs-navigation',\n styleUrl: 'spw-tabs-navigation.scss',\n shadow: true,\n})\nexport class SpwTabsNavigation {\n @Element() hostElement: HTMLElement;\n @State() showLeftArrow: boolean = false;\n @State() showRightArrow: boolean = false;\n\n private ulElement: HTMLUListElement;\n private scrollPercentage: number = 30;\n\n private resizeObserver: ResizeObserver | null = null;\n private mutationObserver: MutationObserver | null = null;\n\n componentDidLoad() {\n this.checkOverflow();\n this.setupObservers();\n }\n\n disconnectedCallback() {\n this.cleanupObservers();\n }\n\n @Listen('resize', { target: 'window' })\n onWindowResize() {\n this.checkOverflow();\n }\n\n private setupObservers = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.checkOverflow();\n });\n\n if (this.ulElement) {\n this.resizeObserver.observe(this.ulElement);\n }\n\n this.mutationObserver = new MutationObserver(() => {\n this.updateSlottedElementsObservation();\n setTimeout(() => this.checkOverflow(), 10);\n });\n\n this.mutationObserver.observe(this.hostElement, {\n childList: true,\n subtree: true,\n });\n\n this.updateSlottedElementsObservation();\n };\n\n private updateSlottedElementsObservation = () => {\n if (!this.resizeObserver) return;\n\n const children = Array.from(this.hostElement.children);\n children.forEach(child => {\n this.resizeObserver!.observe(child);\n });\n };\n\n private cleanupObservers = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n this.mutationObserver = null;\n }\n };\n\n private checkOverflow = () => {\n if (!this.ulElement) return;\n\n const containerWidth = this.ulElement.clientWidth;\n const contentWidth = this.ulElement.scrollWidth;\n const scrollLeft = this.ulElement.scrollLeft;\n\n const hasOverflow = contentWidth > containerWidth;\n\n this.showLeftArrow = hasOverflow && scrollLeft > 0;\n this.showRightArrow = hasOverflow && scrollLeft < contentWidth - containerWidth - 1;\n };\n\n private scrollLeft = () => {\n if (!this.ulElement) return;\n\n const scrollAmount = (this.ulElement.clientWidth * this.scrollPercentage) / 100;\n this.ulElement.scrollBy({\n left: -scrollAmount,\n behavior: 'smooth',\n });\n };\n\n private scrollRight = () => {\n if (!this.ulElement) return;\n\n const scrollAmount = (this.ulElement.clientWidth * this.scrollPercentage) / 100;\n this.ulElement.scrollBy({\n left: scrollAmount,\n behavior: 'smooth',\n });\n };\n\n private handleScroll = () => {\n this.checkOverflow();\n };\n\n render() {\n return (\n <div class=\"spw-tabs-navigation-container\">\n {this.showLeftArrow && (\n <button class=\"spw-tabs-navigation__arrow spw-tabs-navigation__arrow--left\" onClick={this.scrollLeft} aria-label=\"Faire défiler vers la gauche\">\n <spw-icon icon=\"fa-chevron-left\"></spw-icon>\n </button>\n )}\n\n <nav class=\"spw-tabs-navigation\">\n <ul class=\"spw-tabs-navigation__list\" role=\"tablist\" ref={el => (this.ulElement = el as HTMLUListElement)} onScroll={this.handleScroll}>\n <slot></slot>\n </ul>\n </nav>\n\n {this.showRightArrow && (\n <button class=\"spw-tabs-navigation__arrow spw-tabs-navigation__arrow--right\" onClick={this.scrollRight} aria-label=\"Faire défiler vers la droite\">\n <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n )}\n </div>\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%;--spw-tabs-max-width-text:200px;--spw-tabs-border-radius:4px 4px 0 0;--spw-tabs-margin-left:0;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}: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:1200px;--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-tabs-navigation-item{color:var(--spw-colors-support-grey-grey-700);cursor:pointer;font-size:14px;padding:8px 0 12px;position:relative;transition:color .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-tabs-navigation-item:hover{color:var(--spw-colors-support-grey-grey-900)}:host(.--box) .spw-tabs-navigation-item:hover{color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation-item:focus-visible{outline:2px solid #000;outline-offset:-2px}:host(.--box) .spw-tabs-navigation-item{background:var(--spw-colors-support-grey-grey-100);border:1px solid var(--spw-colors-support-grey-grey-300);border-radius:var(--spw-tabs-border-radius);color:var(--spw-colors-support-grey-grey-600);margin-left:var(--spw-tabs-margin-left);margin-top:3px;padding:7px 16px 6px}.spw-tabs-navigation-item--disabled{cursor:not-allowed;opacity:.6}.spw-tabs-navigation-item--disabled:hover{color:var(--spw-colors-support-grey-grey-700)}:host(.--box) .spw-tabs-navigation-item--disabled{color:var(--spw-colors-support-grey-grey-400);opacity:1}:host(.--box) .spw-tabs-navigation-item--disabled:hover{color:var(--spw-colors-support-grey-grey-400)}:host(.--box) .spw-tabs-navigation-item--disabled:active{transform:none}.spw-tabs-navigation-item--active{color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation-item--active:after{background:var(--spw-ds-primary);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%}:host(.--box) .spw-tabs-navigation-item--active{background:#fff;border-bottom-color:transparent;color:var(--spw-colors-support-grey-grey-900);margin-top:0;padding:8px 16px}:host(.--box) .spw-tabs-navigation-item--active:after{display:none}.spw-tabs-navigation-item--bubble:before{background:var(--spw-ds-primary);border-radius:50%;content:"";height:6px;position:absolute;right:-8px;top:2px;width:6px}:host(.--box) .spw-tabs-navigation-item--bubble:before{right:4px;top:4px}:host(.--ellipsis) .spw-tabs-navigation-item{max-width:var(--spw-tabs-max-width-text);overflow:hidden;text-overflow:ellipsis}
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%;--spw-tabs-max-width-text:200px;--spw-tabs-border-radius:4px 4px 0 0;--spw-tabs-margin-left:0;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}: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:1200px;--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-tabs-navigation-item{color:var(--spw-colors-support-grey-grey-700);cursor:pointer;position:relative;transition:color .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-tabs-navigation-item:hover{color:var(--spw-colors-support-grey-grey-900)}:host(.--box) .spw-tabs-navigation-item:hover{color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation-item:focus-visible{outline:2px solid #000;outline-offset:-2px}:host(.--box) .spw-tabs-navigation-item{background:var(--spw-colors-support-grey-grey-100);border:1px solid var(--spw-colors-support-grey-grey-300);border-radius:var(--spw-tabs-border-radius);color:var(--spw-colors-support-grey-grey-600);margin-left:var(--spw-tabs-margin-left);margin-top:3px}.spw-tabs-navigation-item--disabled{cursor:not-allowed;opacity:.6}.spw-tabs-navigation-item--disabled:hover{color:var(--spw-colors-support-grey-grey-700)}:host(.--box) .spw-tabs-navigation-item--disabled{color:var(--spw-colors-support-grey-grey-400);opacity:1}:host(.--box) .spw-tabs-navigation-item--disabled:hover{color:var(--spw-colors-support-grey-grey-400)}:host(.--box) .spw-tabs-navigation-item--disabled:active{transform:none}.spw-tabs-navigation-item--active{border-bottom:0;color:var(--spw-colors-support-grey-grey-900)}.spw-tabs-navigation-item--active:after{background:var(--spw-ds-primary);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%}:host(.--box) .spw-tabs-navigation-item--active{background:#fff;color:var(--spw-colors-support-grey-grey-900);margin-top:0;position:relative;top:1px}:host(.--box) .spw-tabs-navigation-item--active:after{display:none}.spw-tabs-navigation-item--bubble:before{background:var(--spw-ds-primary);border-radius:50%;content:"";height:6px;position:absolute;right:-8px;top:2px;width:6px}:host(.--box) .spw-tabs-navigation-item--bubble:before{right:4px;top:4px}:host(.--ellipsis) .spw-tabs-navigation-item{flex-shrink:0;max-width:var(--spw-tabs-max-width-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(.--ellipsis) .spw-tabs-navigation-item spw-tooltip{display:contents}:host(.--small) .spw-tabs-navigation-item{font-size:14px;padding:8px 0 12px}:host(.--small.--box) .spw-tabs-navigation-item{padding:7px 16px 6px}:host(.--small.--box) .spw-tabs-navigation-item .spw-tabs-navigation-item--active{padding:8px 16px}:host(.--medium) .spw-tabs-navigation-item{font-size:16px;padding:12px 0 16px}:host(.--medium.--box) .spw-tabs-navigation-item{padding:11px 16px 10px}:host(.--medium.--box) .spw-tabs-navigation-item .spw-tabs-navigation-item--active{padding:12px 16px}:host(.--large) .spw-tabs-navigation-item{font-size:18px;padding:16px 0 20px}:host(.--large.--box) .spw-tabs-navigation-item{padding:15px 20px 14px}:host(.--large.--box) .spw-tabs-navigation-item .spw-tabs-navigation-item--active{padding:16px 20px}.spw-tabs-navigation-item .spw-icon--left{margin-right:4px}.spw-tabs-navigation-item .spw-icon--right{margin-left:4px}
@@ -1,4 +1,4 @@
1
- import { h, Host } from "@stencil/core";
1
+ import { h, Fragment, Host } from "@stencil/core";
2
2
  export class SpwTabsNavigationItem {
3
3
  constructor() {
4
4
  /** Définit si le tab est actif ou non */
@@ -55,7 +55,10 @@ export class SpwTabsNavigationItem {
55
55
  };
56
56
  }
57
57
  render() {
58
- return (h(Host, { key: 'b5f5ba80518a0280d25f2e5ce2d2eea33b7f0547', class: this.active ? '--active' : '' }, h("li", { key: 'e198a88b0be47c3d5f73da337dff90ad03c79801', id: `tab-${this.tabId}`, role: "tab", "aria-selected": this.active ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-controls": `panel-${this.tabId}`, "aria-label": this.slotText, onKeyDown: this.handleKeyDown, tabIndex: this.disabled ? -1 : 0, class: this.elementClass, onClick: this.handleClick, title: this.hasEllipsis ? this.slotText : undefined }, h("slot", { key: '62bdf41c1e4b6c96f3146be38ba909c9ea0f4a81' }), this.bubble && h("span", { key: '9bc854ccfce8464ee8e5878a29f10f92ff417e4d', class: "bubble" }))));
58
+ const iconPosition = this.icon && !this.iconPosition ? 'right' : this.iconPosition;
59
+ const iconClass = `spw-icon--${iconPosition}`;
60
+ const iconElement = this.icon ? h("spw-icon", { class: iconClass, icon: this.icon }) : null;
61
+ return (h(Host, { key: '2c8b4f33a4ce4b0d93d19f60d71c5e98493f9b61', class: this.active ? '--active' : '' }, h("li", { key: '13bd151dd875a78cb40a1dbccd572d1c27fc498d', id: `tab-${this.tabId}`, role: "tab", "aria-selected": this.active ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-controls": `panel-${this.tabId}`, "aria-label": this.slotText, onKeyDown: this.handleKeyDown, tabIndex: this.disabled ? -1 : 0, class: this.elementClass, onClick: this.handleClick }, this.hasEllipsis && (h("spw-tooltip", { key: '4a23e2eabd0c9ebfd3a4a8585bf4c970588324e0', cursor: this.disabled ? 'disabled' : 'pointer', class: "spw-tooltip--has-ellipsis", tooltipText: this.slotText }, iconPosition === 'left' && iconElement, h("slot", { key: '6c2b2f731b1e33fa59970126366b0fec3a195351' }), iconPosition === 'right' && iconElement)), !this.hasEllipsis && (h(Fragment, { key: '1512342a37d70d6f77261c827b04a7fef5bb3518' }, iconPosition === 'left' && iconElement, h("slot", { key: 'e922274eabdd91e4ed47cda20f79e9214e7cbc73' }), iconPosition === 'right' && iconElement)), ' ', this.bubble && h("span", { key: '88b495cdbf39dabff8a04231da392e78f43e39c4', class: "bubble" }))));
59
62
  }
60
63
  static get is() { return "spw-tabs-navigation-item"; }
61
64
  static get encapsulation() { return "shadow"; }
@@ -168,6 +171,44 @@ export class SpwTabsNavigationItem {
168
171
  "setter": false,
169
172
  "attribute": "has-ellipsis",
170
173
  "reflect": false
174
+ },
175
+ "icon": {
176
+ "type": "string",
177
+ "mutable": false,
178
+ "complexType": {
179
+ "original": "string",
180
+ "resolved": "string",
181
+ "references": {}
182
+ },
183
+ "required": false,
184
+ "optional": true,
185
+ "docs": {
186
+ "tags": [],
187
+ "text": "Si rempli, vous pouvez utiliser une r\u00E9f\u00E9rence d'ic\u00F4ne font-awesome sur le spw-tabs-navigation-item"
188
+ },
189
+ "getter": false,
190
+ "setter": false,
191
+ "attribute": "icon",
192
+ "reflect": false
193
+ },
194
+ "iconPosition": {
195
+ "type": "string",
196
+ "mutable": false,
197
+ "complexType": {
198
+ "original": "'left' | 'right'",
199
+ "resolved": "\"left\" | \"right\"",
200
+ "references": {}
201
+ },
202
+ "required": false,
203
+ "optional": true,
204
+ "docs": {
205
+ "tags": [],
206
+ "text": "Position de l'ic\u00F4ne \u00E0 l'int\u00E9rieur du bouton sur le spw-tabs-navigation-item"
207
+ },
208
+ "getter": false,
209
+ "setter": false,
210
+ "attribute": "icon-position",
211
+ "reflect": false
171
212
  }
172
213
  };
173
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spw-tabs-navigation-item.js","sourceRoot":"","sources":["../../../../src/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAgB,IAAI,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAOtG,MAAM,OAAO,qBAAqB;IALlC;QAUE,yCAAyC;QACjC,WAAM,GAAY,KAAK,CAAC;QAChC,4CAA4C;QACpC,aAAQ,GAAY,KAAK,CAAC;QAClC,qEAAqE;QAC7D,WAAM,GAAY,KAAK,CAAC;QAIvB,aAAQ,GAAW,EAAE,CAAC;QA2BvB,gBAAW,GAAG,CAAC,KAAY,EAAE,EAAE;YACrC,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,eAAe,EAAE,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;gBACnC,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;KAkCH;IA3EC,gBAAgB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAGD,gBAAgB;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;;QACpB,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,EAAE,CAAC,UAAU,0CAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,IAAI,GAAG,aAAa;iBACvB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,CAAC;iBAC9E,GAAG,CAAC,CAAC,CAAC,EAAE,WAAC,OAAA,MAAC,CAAwB,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAA,EAAA,CAAC;iBACvD,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,EAAE,CAAC;YAEV,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAsBD,IAAY,YAAY;QACtB,OAAO;YACL,0BAA0B,EAAE,IAAI;YAChC,kCAAkC,EAAE,IAAI,CAAC,MAAM;YAC/C,oCAAoC,EAAE,IAAI,CAAC,QAAQ;YACnD,kCAAkC,EAAE,IAAI,CAAC,MAAM;YAC/C,oCAAoC,EAAE,IAAI,CAAC,WAAW;SACvD,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YACxC,2DACE,EAAE,EAAE,OAAO,IAAI,CAAC,KAAK,EAAE,EACvB,IAAI,EAAC,KAAK,mBACK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAC9B,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,mBAChC,SAAS,IAAI,CAAC,KAAK,EAAE,gBACxB,IAAI,CAAC,QAAQ,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChC,KAAK,EAAE,IAAI,CAAC,YAAY,EACxB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAEnD,8DAAa;gBACZ,IAAI,CAAC,MAAM,IAAI,6DAAM,KAAK,EAAC,QAAQ,GAAQ,CACzC,CACA,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Element, Prop, Event, State, EventEmitter, Host, Listen } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs-navigation-item',\n styleUrl: 'spw-tabs-navigation-item.scss',\n shadow: true,\n})\nexport class SpwTabsNavigationItem {\n @Element() el: HTMLElement;\n\n /** Définit un id pour le tab */\n @Prop() tabId!: string;\n /** Définit si le tab est actif ou non */\n @Prop() active: boolean = false;\n /** Définit si le tab est disabled ou non */\n @Prop() disabled: boolean = false;\n /** Prévoit la présence d'une pastille sur l'élément de navigation */\n @Prop() bubble: boolean = false;\n /** Définit si le texte doit être coupé pour les onglets au titre trop long */\n @Prop() hasEllipsis?: boolean;\n\n @State() slotText: string = '';\n\n @Event() tabSelected: EventEmitter<string>;\n\n componentDidLoad() {\n this.updateSlotText();\n }\n\n @Listen('slotchange')\n handleSlotChange() {\n this.updateSlotText();\n }\n\n private updateSlotText() {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true });\n const text = assignedNodes\n .filter(n => n.nodeType === Node.TEXT_NODE || n.nodeType === Node.ELEMENT_NODE)\n .map(n => (n as HTMLElement | Text).textContent?.trim())\n .join(' ')\n .trim();\n\n this.slotText = text || '';\n }\n }\n\n private handleClick = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!this.disabled) {\n this.tabSelected.emit(this.tabId);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n const key = event.key;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n this.tabSelected.emit(this.tabId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-tabs-navigation-item': true,\n 'spw-tabs-navigation-item--active': this.active,\n 'spw-tabs-navigation-item--disabled': this.disabled,\n 'spw-tabs-navigation-item--bubble': this.bubble,\n 'spw-tabs-navigation-item--ellipsis': this.hasEllipsis,\n };\n }\n\n render() {\n return (\n <Host class={this.active ? '--active' : ''}>\n <li\n id={`tab-${this.tabId}`}\n role=\"tab\"\n aria-selected={this.active ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`panel-${this.tabId}`}\n aria-label={this.slotText}\n onKeyDown={this.handleKeyDown}\n tabIndex={this.disabled ? -1 : 0}\n class={this.elementClass}\n onClick={this.handleClick}\n title={this.hasEllipsis ? this.slotText : undefined}\n >\n <slot></slot>\n {this.bubble && <span class=\"bubble\"></span>}\n </li>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-tabs-navigation-item.js","sourceRoot":"","sources":["../../../../src/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Fragment, Element, Prop, Event, State, EventEmitter, Host, Listen } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs-navigation-item',\n styleUrl: 'spw-tabs-navigation-item.scss',\n shadow: true,\n})\nexport class SpwTabsNavigationItem {\n @Element() el: HTMLElement;\n\n /** Définit un id pour le tab */\n @Prop() tabId!: string;\n /** Définit si le tab est actif ou non */\n @Prop() active: boolean = false;\n /** Définit si le tab est disabled ou non */\n @Prop() disabled: boolean = false;\n /** Prévoit la présence d'une pastille sur l'élément de navigation */\n @Prop() bubble: boolean = false;\n /** Définit si le texte doit être coupé pour les onglets au titre trop long */\n @Prop() hasEllipsis?: boolean;\n /** Si rempli, vous pouvez utiliser une référence d'icône font-awesome sur le spw-tabs-navigation-item */\n @Prop() icon?: string;\n /** Position de l'icône à l'intérieur du bouton sur le spw-tabs-navigation-item */\n @Prop() iconPosition?: 'left' | 'right';\n\n @State() slotText: string = '';\n\n @Event() tabSelected: EventEmitter<string>;\n\n componentDidLoad() {\n this.updateSlotText();\n }\n\n @Listen('slotchange')\n handleSlotChange() {\n this.updateSlotText();\n }\n\n private updateSlotText() {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true });\n const text = assignedNodes\n .filter(n => n.nodeType === Node.TEXT_NODE || n.nodeType === Node.ELEMENT_NODE)\n .map(n => (n as HTMLElement | Text).textContent?.trim())\n .join(' ')\n .trim();\n\n this.slotText = text || '';\n }\n }\n\n private handleClick = (event: Event) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (!this.disabled) {\n this.tabSelected.emit(this.tabId);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.disabled) return;\n\n const key = event.key;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n event.stopPropagation();\n this.tabSelected.emit(this.tabId);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-tabs-navigation-item': true,\n 'spw-tabs-navigation-item--active': this.active,\n 'spw-tabs-navigation-item--disabled': this.disabled,\n 'spw-tabs-navigation-item--bubble': this.bubble,\n 'spw-tabs-navigation-item--ellipsis': this.hasEllipsis,\n };\n }\n\n render() {\n const iconPosition = this.icon && !this.iconPosition ? 'right' : this.iconPosition;\n const iconClass = `spw-icon--${iconPosition}`;\n const iconElement = this.icon ? <spw-icon class={iconClass} icon={this.icon}></spw-icon> : null;\n\n return (\n <Host class={this.active ? '--active' : ''}>\n <li\n id={`tab-${this.tabId}`}\n role=\"tab\"\n aria-selected={this.active ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-controls={`panel-${this.tabId}`}\n aria-label={this.slotText}\n onKeyDown={this.handleKeyDown}\n tabIndex={this.disabled ? -1 : 0}\n class={this.elementClass}\n onClick={this.handleClick}\n >\n {this.hasEllipsis && (\n <spw-tooltip cursor={this.disabled ? 'disabled' : 'pointer'} class=\"spw-tooltip--has-ellipsis\" tooltipText={this.slotText}>\n {iconPosition === 'left' && iconElement}\n <slot></slot>\n {iconPosition === 'right' && iconElement}\n </spw-tooltip>\n )}\n {!this.hasEllipsis && (\n <Fragment>\n {iconPosition === 'left' && iconElement}\n <slot></slot>\n {iconPosition === 'right' && iconElement}\n </Fragment>\n )}{' '}\n {this.bubble && <span class=\"bubble\"></span>}\n </li>\n </Host>\n );\n }\n}\n"]}