@spw-ds/spw-stencil-library 1.2.3 → 1.2.5

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 (724) hide show
  1. package/dist/cjs/{index-iVhYitTd.js → index-ivINMH9O.js} +5 -5
  2. package/dist/cjs/{index-iVhYitTd.js.map → index-ivINMH9O.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.cjs.js.map +1 -1
  5. package/dist/cjs/spw-accordion_4.cjs.entry.js +3 -3
  6. package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
  7. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +1 -1
  8. package/dist/cjs/spw-breadcrumb.cjs.entry.js +1 -1
  9. package/dist/cjs/spw-button.spw-loading.entry.cjs.js.map +1 -1
  10. package/dist/cjs/spw-button_2.cjs.entry.js +6 -6
  11. package/dist/cjs/spw-button_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/spw-card-content.cjs.entry.js +2 -2
  13. package/dist/cjs/spw-card-excerpt.cjs.entry.js +1 -1
  14. package/dist/cjs/spw-card-image.cjs.entry.js +1 -1
  15. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
  16. package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
  17. package/dist/cjs/spw-card-title.cjs.entry.js +1 -1
  18. package/dist/cjs/spw-card.cjs.entry.js +1 -1
  19. package/dist/cjs/spw-checkbox.cjs.entry.js +3 -3
  20. package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
  22. package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
  23. package/dist/cjs/spw-custom-select.cjs.entry.js +63 -9
  24. package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
  25. package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
  26. package/dist/cjs/spw-date-picker.cjs.entry.js +222 -41
  27. package/dist/cjs/spw-date-picker.cjs.entry.js.map +1 -1
  28. package/dist/cjs/spw-date-picker.entry.cjs.js.map +1 -1
  29. package/dist/cjs/spw-dropdown-container.cjs.entry.js +20 -0
  30. package/dist/cjs/spw-dropdown-container.cjs.entry.js.map +1 -0
  31. package/dist/cjs/spw-dropdown-container.entry.cjs.js.map +1 -0
  32. package/dist/cjs/spw-dropdown-item.cjs.entry.js +87 -0
  33. package/dist/cjs/spw-dropdown-item.cjs.entry.js.map +1 -0
  34. package/dist/cjs/spw-dropdown-item.entry.cjs.js.map +1 -0
  35. package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
  36. package/dist/cjs/spw-dropdown.cjs.entry.js.map +1 -1
  37. package/dist/cjs/spw-dropdown.entry.cjs.js.map +1 -1
  38. package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
  39. package/dist/cjs/spw-field-label_6.cjs.entry.js +8 -8
  40. package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
  41. package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
  42. package/dist/cjs/spw-file-upload.cjs.entry.js +6 -5
  43. package/dist/cjs/spw-file-upload.cjs.entry.js.map +1 -1
  44. package/dist/cjs/spw-file-upload.entry.cjs.js.map +1 -1
  45. package/dist/cjs/spw-footer-bottom.cjs.entry.js +2 -2
  46. package/dist/cjs/spw-footer-content-col.cjs.entry.js +2 -2
  47. package/dist/cjs/spw-footer-content.cjs.entry.js +2 -2
  48. package/dist/cjs/spw-footer-link.cjs.entry.js +2 -2
  49. package/dist/cjs/spw-footer.cjs.entry.js +2 -2
  50. package/dist/cjs/spw-header-lang-item.cjs.entry.js +2 -2
  51. package/dist/cjs/spw-header-lang.cjs.entry.js +2 -2
  52. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +2 -2
  53. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +3 -3
  54. package/dist/cjs/spw-header-navigation.cjs.entry.js +2 -2
  55. package/dist/cjs/spw-header-persona-item.cjs.entry.js +2 -2
  56. package/dist/cjs/spw-header-persona.cjs.entry.js +2 -2
  57. package/dist/cjs/spw-header.cjs.entry.js +2 -2
  58. package/dist/cjs/spw-hero.cjs.entry.js +2 -2
  59. package/dist/cjs/spw-illustration.cjs.entry.js +1 -1
  60. package/dist/cjs/spw-iodda.cjs.entry.js +2 -2
  61. package/dist/cjs/spw-list-description.cjs.entry.js +2 -2
  62. package/dist/cjs/spw-list-item.cjs.entry.js +2 -2
  63. package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
  64. package/dist/cjs/spw-list.cjs.entry.js +2 -2
  65. package/dist/cjs/spw-message.cjs.entry.js +1 -1
  66. package/dist/cjs/spw-modal.cjs.entry.js +4 -4
  67. package/dist/cjs/spw-mosaic-item.cjs.entry.js +2 -2
  68. package/dist/cjs/spw-mosaic.cjs.entry.js +2 -2
  69. package/dist/cjs/spw-pagination.cjs.entry.js +28 -18
  70. package/dist/cjs/spw-pagination.cjs.entry.js.map +1 -1
  71. package/dist/cjs/spw-pagination.entry.cjs.js.map +1 -1
  72. package/dist/cjs/spw-radio.cjs.entry.js +3 -3
  73. package/dist/cjs/spw-search-field.cjs.entry.js +13 -3
  74. package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
  75. package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
  76. package/dist/cjs/spw-select.cjs.entry.js +15 -3
  77. package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
  78. package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
  79. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +2 -2
  80. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +85 -7
  81. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js.map +1 -1
  82. package/dist/cjs/spw-sidebar-navigation-item.entry.cjs.js.map +1 -1
  83. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +2 -2
  84. package/dist/cjs/spw-sidebar.cjs.entry.js +10 -2
  85. package/dist/cjs/spw-sidebar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/spw-sidebar.entry.cjs.js.map +1 -1
  87. package/dist/cjs/spw-skeleton.cjs.entry.js +5 -3
  88. package/dist/cjs/spw-skeleton.cjs.entry.js.map +1 -1
  89. package/dist/cjs/spw-skeleton.entry.cjs.js.map +1 -1
  90. package/dist/cjs/spw-socials.cjs.entry.js +2 -2
  91. package/dist/cjs/spw-stencil-library.cjs.js +2 -2
  92. package/dist/cjs/spw-table-body.cjs.entry.js +2 -2
  93. package/dist/cjs/spw-table-cell.cjs.entry.js +54 -3
  94. package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
  95. package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
  96. package/dist/cjs/spw-table-footer.cjs.entry.js +3 -3
  97. package/dist/cjs/spw-table-footer.cjs.entry.js.map +1 -1
  98. package/dist/cjs/spw-table-footer.entry.cjs.js.map +1 -1
  99. package/dist/cjs/spw-table-head.cjs.entry.js +2 -2
  100. package/dist/cjs/spw-table-header.cjs.entry.js +35 -5
  101. package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
  102. package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
  103. package/dist/cjs/spw-table-row.cjs.entry.js +35 -3
  104. package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
  105. package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
  106. package/dist/cjs/spw-table.cjs.entry.js +70 -7
  107. package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
  108. package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
  109. package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
  110. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +3 -3
  111. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +2 -2
  112. package/dist/cjs/spw-tabs.cjs.entry.js +6 -4
  113. package/dist/cjs/spw-tabs.cjs.entry.js.map +1 -1
  114. package/dist/cjs/spw-tabs.entry.cjs.js.map +1 -1
  115. package/dist/cjs/spw-tag.cjs.entry.js +2 -2
  116. package/dist/cjs/spw-text-field.cjs.entry.js +3 -3
  117. package/dist/cjs/spw-textarea.cjs.entry.js +3 -3
  118. package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
  119. package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
  120. package/dist/cjs/spw-tile.cjs.entry.js +2 -2
  121. package/dist/cjs/spw-tooltip.cjs.entry.js +2 -2
  122. package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
  123. package/dist/cjs/spw-wizard-item.cjs.entry.js +64 -0
  124. package/dist/cjs/spw-wizard-item.cjs.entry.js.map +1 -0
  125. package/dist/cjs/spw-wizard-item.entry.cjs.js.map +1 -0
  126. package/dist/cjs/spw-wizard.cjs.entry.js +90 -0
  127. package/dist/cjs/spw-wizard.cjs.entry.js.map +1 -0
  128. package/dist/cjs/spw-wizard.entry.cjs.js.map +1 -0
  129. package/dist/cjs/{utils-CKYAw_Le.js → utils-D_vNTY6w.js} +3 -3
  130. package/dist/cjs/utils-D_vNTY6w.js.map +1 -0
  131. package/dist/collection/collection-manifest.json +5 -1
  132. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
  133. package/dist/collection/components/spw-button/spw-button.css +1 -1
  134. package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
  135. package/dist/collection/components/spw-custom-select/spw-custom-select.css +1 -1
  136. package/dist/collection/components/spw-custom-select/spw-custom-select.js +81 -6
  137. package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
  138. package/dist/collection/components/spw-date-picker/spw-date-picker.css +1 -1
  139. package/dist/collection/components/spw-date-picker/spw-date-picker.js +267 -36
  140. package/dist/collection/components/spw-date-picker/spw-date-picker.js.map +1 -1
  141. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.css +2 -0
  142. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js +19 -0
  143. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js.map +1 -0
  144. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.css +2 -0
  145. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js +175 -0
  146. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js.map +1 -0
  147. package/dist/collection/components/spw-dropdown/spw-dropdown.js +2 -2
  148. package/dist/collection/components/spw-dropdown/spw-dropdown.js.map +1 -1
  149. package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
  150. package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
  151. package/dist/collection/components/spw-file-upload/spw-file-upload.js +3 -2
  152. package/dist/collection/components/spw-file-upload/spw-file-upload.js.map +1 -1
  153. package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
  154. package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
  155. package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
  156. package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
  157. package/dist/collection/components/spw-footer/spw-footer.js +1 -1
  158. package/dist/collection/components/spw-group/spw-group.js +1 -1
  159. package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
  160. package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
  161. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
  162. package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
  163. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
  164. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
  165. package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
  166. package/dist/collection/components/spw-header/spw-header.js +1 -1
  167. package/dist/collection/components/spw-hero/spw-hero.js +1 -1
  168. package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
  169. package/dist/collection/components/spw-link/spw-link.css +1 -1
  170. package/dist/collection/components/spw-link/spw-link.js +1 -1
  171. package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
  172. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
  173. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
  174. package/dist/collection/components/spw-list/spw-list.js +1 -1
  175. package/dist/collection/components/spw-loading/spw-loading.js +1 -1
  176. package/dist/collection/components/spw-modal/spw-modal.js +1 -1
  177. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  178. package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
  179. package/dist/collection/components/spw-pagination/spw-pagination.css +1 -1
  180. package/dist/collection/components/spw-pagination/spw-pagination.js +54 -13
  181. package/dist/collection/components/spw-pagination/spw-pagination.js.map +1 -1
  182. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  183. package/dist/collection/components/spw-search-field/spw-search-field.js +50 -2
  184. package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
  185. package/dist/collection/components/spw-select/spw-select.js +34 -1
  186. package/dist/collection/components/spw-select/spw-select.js.map +1 -1
  187. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  188. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  189. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.css +1 -1
  190. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +105 -6
  191. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js.map +1 -1
  192. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
  193. package/dist/collection/components/spw-sidebar/spw-sidebar.js +9 -1
  194. package/dist/collection/components/spw-sidebar/spw-sidebar.js.map +1 -1
  195. package/dist/collection/components/spw-skeleton/spw-skeleton.js +4 -2
  196. package/dist/collection/components/spw-skeleton/spw-skeleton.js.map +1 -1
  197. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  198. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  199. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
  200. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +137 -1
  201. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js.map +1 -1
  202. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.css +1 -1
  203. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  204. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  205. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
  206. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +92 -2
  207. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
  208. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
  209. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +66 -1
  210. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
  211. package/dist/collection/components/spw-table/spw-table.css +1 -1
  212. package/dist/collection/components/spw-table/spw-table.js +135 -9
  213. package/dist/collection/components/spw-table/spw-table.js.map +1 -1
  214. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
  215. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
  216. package/dist/collection/components/spw-tabs/spw-tabs.js +6 -4
  217. package/dist/collection/components/spw-tabs/spw-tabs.js.map +1 -1
  218. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  219. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  220. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  221. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  222. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  223. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  224. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  225. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  226. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  227. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.css +2 -0
  228. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +339 -0
  229. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js.map +1 -0
  230. package/dist/collection/components/spw-wizard/spw-wizard.css +2 -0
  231. package/dist/collection/components/spw-wizard/spw-wizard.js +192 -0
  232. package/dist/collection/components/spw-wizard/spw-wizard.js.map +1 -0
  233. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +46 -1
  234. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
  235. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +1 -1
  236. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
  237. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +1 -1
  238. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
  239. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +119 -0
  240. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
  241. package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js +208 -0
  242. package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js.map +1 -0
  243. package/dist/collection/utils/utils.js +48 -49
  244. package/dist/collection/utils/utils.js.map +1 -1
  245. package/dist/components/index.js +3 -3
  246. package/dist/components/index.js.map +1 -1
  247. package/dist/components/{p-DaosfSzT.js → p-B2toBmC2.js} +36 -25
  248. package/dist/components/p-B2toBmC2.js.map +1 -0
  249. package/dist/components/{p-zpG0udTn.js → p-BBi01mKM.js} +3 -3
  250. package/dist/components/p-BBi01mKM.js.map +1 -0
  251. package/dist/components/{p-DIhULKFM.js → p-Bvpi6byK.js} +3 -3
  252. package/dist/components/{p-DIhULKFM.js.map → p-Bvpi6byK.js.map} +1 -1
  253. package/dist/components/{p-fNRoK67L.js → p-CVuBJlFL.js} +3 -3
  254. package/dist/components/{p-fNRoK67L.js.map → p-CVuBJlFL.js.map} +1 -1
  255. package/dist/components/{p-B3OQ2nRI.js → p-D4PsQ_SH.js} +4 -4
  256. package/dist/components/p-D4PsQ_SH.js.map +1 -0
  257. package/dist/components/p-DHBpMBYT.js +129 -0
  258. package/dist/components/p-DHBpMBYT.js.map +1 -0
  259. package/dist/components/{p-B-sLKmnT.js → p-DjyPtAVX.js} +7 -7
  260. package/dist/components/p-DjyPtAVX.js.map +1 -0
  261. package/dist/components/{p-BDRCqK1w.js → p-J5AA2xQI.js} +3 -3
  262. package/dist/components/{p-BDRCqK1w.js.map → p-J5AA2xQI.js.map} +1 -1
  263. package/dist/components/{p-Dku0Cksp.js → p-_sdYD0eS.js} +6 -6
  264. package/dist/components/{p-Dku0Cksp.js.map → p-_sdYD0eS.js.map} +1 -1
  265. package/dist/components/{p-GUYao_6w.js → p-qROlK2WR.js} +5 -5
  266. package/dist/components/p-qROlK2WR.js.map +1 -0
  267. package/dist/components/{p-BF73GiQU.js → p-qgvllwX6.js} +3 -3
  268. package/dist/components/{p-BF73GiQU.js.map → p-qgvllwX6.js.map} +1 -1
  269. package/dist/components/{p-BowHA3gk.js → p-t1vZcpqC.js} +3 -3
  270. package/dist/components/{p-BowHA3gk.js.map → p-t1vZcpqC.js.map} +1 -1
  271. package/dist/components/spw-accordion-item.js +1 -1
  272. package/dist/components/spw-breadcrumb-item.js +1 -1
  273. package/dist/components/spw-button.js +1 -1
  274. package/dist/components/spw-card-content.js +1 -1
  275. package/dist/components/spw-checkbox.js +1 -1
  276. package/dist/components/spw-cookies.js +4 -4
  277. package/dist/components/spw-custom-select.js +67 -12
  278. package/dist/components/spw-custom-select.js.map +1 -1
  279. package/dist/components/spw-date-picker.js +230 -45
  280. package/dist/components/spw-date-picker.js.map +1 -1
  281. package/dist/components/spw-dropdown-container.d.ts +11 -0
  282. package/dist/components/spw-dropdown-container.js +36 -0
  283. package/dist/components/spw-dropdown-container.js.map +1 -0
  284. package/dist/components/spw-dropdown-item.d.ts +11 -0
  285. package/dist/components/spw-dropdown-item.js +115 -0
  286. package/dist/components/spw-dropdown-item.js.map +1 -0
  287. package/dist/components/spw-dropdown.js +1 -1
  288. package/dist/components/spw-dropdown.js.map +1 -1
  289. package/dist/components/spw-field-label.js +1 -1
  290. package/dist/components/spw-field-message.js +1 -1
  291. package/dist/components/spw-file-upload.js +7 -6
  292. package/dist/components/spw-file-upload.js.map +1 -1
  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 +3 -3
  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 +1 -1
  304. package/dist/components/spw-header-persona-item.js +1 -1
  305. package/dist/components/spw-header-persona.js +1 -1
  306. package/dist/components/spw-header.js +3 -3
  307. package/dist/components/spw-hero.js +1 -1
  308. package/dist/components/spw-iodda.js +6 -6
  309. package/dist/components/spw-link.js +1 -1
  310. package/dist/components/spw-list-description.js +1 -1
  311. package/dist/components/spw-list-item.js +1 -1
  312. package/dist/components/spw-list-title.js +1 -1
  313. package/dist/components/spw-list.js +1 -1
  314. package/dist/components/spw-loading.js +1 -1
  315. package/dist/components/spw-message.js +1 -1
  316. package/dist/components/spw-modal.js +3 -3
  317. package/dist/components/spw-mosaic-item.js +1 -1
  318. package/dist/components/spw-mosaic.js +1 -1
  319. package/dist/components/spw-pagination.js +1 -1
  320. package/dist/components/spw-radio.js +2 -2
  321. package/dist/components/spw-search-field.js +18 -7
  322. package/dist/components/spw-search-field.js.map +1 -1
  323. package/dist/components/spw-select.js +18 -5
  324. package/dist/components/spw-select.js.map +1 -1
  325. package/dist/components/spw-separator.js +1 -1
  326. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  327. package/dist/components/spw-sidebar-navigation-item.js +88 -8
  328. package/dist/components/spw-sidebar-navigation-item.js.map +1 -1
  329. package/dist/components/spw-sidebar-navigation-separator.js +2 -2
  330. package/dist/components/spw-sidebar.js +9 -1
  331. package/dist/components/spw-sidebar.js.map +1 -1
  332. package/dist/components/spw-skeleton.js +4 -2
  333. package/dist/components/spw-skeleton.js.map +1 -1
  334. package/dist/components/spw-socials.js +1 -1
  335. package/dist/components/spw-table-body.js +1 -1
  336. package/dist/components/spw-table-cell.js +59 -3
  337. package/dist/components/spw-table-cell.js.map +1 -1
  338. package/dist/components/spw-table-footer.js +2 -2
  339. package/dist/components/spw-table-footer.js.map +1 -1
  340. package/dist/components/spw-table-head.js +1 -1
  341. package/dist/components/spw-table-header.js +39 -6
  342. package/dist/components/spw-table-header.js.map +1 -1
  343. package/dist/components/spw-table-row.js +39 -3
  344. package/dist/components/spw-table-row.js.map +1 -1
  345. package/dist/components/spw-table.js +76 -8
  346. package/dist/components/spw-table.js.map +1 -1
  347. package/dist/components/spw-tabs-navigation-item.js +3 -3
  348. package/dist/components/spw-tabs-navigation.js +1 -1
  349. package/dist/components/spw-tabs.js +5 -3
  350. package/dist/components/spw-tabs.js.map +1 -1
  351. package/dist/components/spw-tag.js +1 -1
  352. package/dist/components/spw-text-field.js +1 -1
  353. package/dist/components/spw-textarea.js +4 -4
  354. package/dist/components/spw-theme-provider.js +1 -1
  355. package/dist/components/spw-tile-description.js +1 -1
  356. package/dist/components/spw-tile-title.js +1 -1
  357. package/dist/components/spw-tile.js +1 -1
  358. package/dist/components/spw-tooltip.js +1 -1
  359. package/dist/components/spw-topbar.js +1 -1
  360. package/dist/components/spw-wizard-item.d.ts +11 -0
  361. package/dist/components/spw-wizard-item.js +100 -0
  362. package/dist/components/spw-wizard-item.js.map +1 -0
  363. package/dist/components/spw-wizard.d.ts +11 -0
  364. package/dist/components/spw-wizard.js +110 -0
  365. package/dist/components/spw-wizard.js.map +1 -0
  366. package/dist/components_json.json +1214 -29
  367. package/dist/components_vscode.json +3088 -0
  368. package/dist/esm/{index-BYM_CUUH.js → index-CvfVJV8a.js} +5 -5
  369. package/dist/esm/{index-BYM_CUUH.js.map → index-CvfVJV8a.js.map} +1 -1
  370. package/dist/esm/loader.js +3 -3
  371. package/dist/esm/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.js.map +1 -1
  372. package/dist/esm/spw-accordion_4.entry.js +3 -3
  373. package/dist/esm/spw-accordion_4.entry.js.map +1 -1
  374. package/dist/esm/spw-breadcrumb-item.entry.js +1 -1
  375. package/dist/esm/spw-breadcrumb.entry.js +1 -1
  376. package/dist/esm/spw-button.spw-loading.entry.js.map +1 -1
  377. package/dist/esm/spw-button_2.entry.js +6 -6
  378. package/dist/esm/spw-button_2.entry.js.map +1 -1
  379. package/dist/esm/spw-card-content.entry.js +2 -2
  380. package/dist/esm/spw-card-excerpt.entry.js +1 -1
  381. package/dist/esm/spw-card-image.entry.js +1 -1
  382. package/dist/esm/spw-card-subtag-item.entry.js +1 -1
  383. package/dist/esm/spw-card-subtags.entry.js +1 -1
  384. package/dist/esm/spw-card-title.entry.js +1 -1
  385. package/dist/esm/spw-card.entry.js +1 -1
  386. package/dist/esm/spw-checkbox.entry.js +3 -3
  387. package/dist/esm/spw-checkbox.entry.js.map +1 -1
  388. package/dist/esm/spw-cookies.entry.js +1 -1
  389. package/dist/esm/spw-custom-select.entry.js +63 -9
  390. package/dist/esm/spw-custom-select.entry.js.map +1 -1
  391. package/dist/esm/spw-date-picker.entry.js +222 -41
  392. package/dist/esm/spw-date-picker.entry.js.map +1 -1
  393. package/dist/esm/spw-dropdown-container.entry.js +18 -0
  394. package/dist/esm/spw-dropdown-container.entry.js.map +1 -0
  395. package/dist/esm/spw-dropdown-item.entry.js +85 -0
  396. package/dist/esm/spw-dropdown-item.entry.js.map +1 -0
  397. package/dist/esm/spw-dropdown.entry.js +2 -2
  398. package/dist/esm/spw-dropdown.entry.js.map +1 -1
  399. package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
  400. package/dist/esm/spw-field-label_6.entry.js +8 -8
  401. package/dist/esm/spw-field-label_6.entry.js.map +1 -1
  402. package/dist/esm/spw-field-message.entry.js +2 -2
  403. package/dist/esm/spw-file-upload.entry.js +6 -5
  404. package/dist/esm/spw-file-upload.entry.js.map +1 -1
  405. package/dist/esm/spw-footer-bottom.entry.js +2 -2
  406. package/dist/esm/spw-footer-content-col.entry.js +2 -2
  407. package/dist/esm/spw-footer-content.entry.js +2 -2
  408. package/dist/esm/spw-footer-link.entry.js +2 -2
  409. package/dist/esm/spw-footer.entry.js +2 -2
  410. package/dist/esm/spw-header-lang-item.entry.js +2 -2
  411. package/dist/esm/spw-header-lang.entry.js +2 -2
  412. package/dist/esm/spw-header-navigation-dropdown.entry.js +2 -2
  413. package/dist/esm/spw-header-navigation-item.entry.js +3 -3
  414. package/dist/esm/spw-header-navigation.entry.js +2 -2
  415. package/dist/esm/spw-header-persona-item.entry.js +2 -2
  416. package/dist/esm/spw-header-persona.entry.js +2 -2
  417. package/dist/esm/spw-header.entry.js +2 -2
  418. package/dist/esm/spw-hero.entry.js +2 -2
  419. package/dist/esm/spw-illustration.entry.js +1 -1
  420. package/dist/esm/spw-iodda.entry.js +2 -2
  421. package/dist/esm/spw-list-description.entry.js +2 -2
  422. package/dist/esm/spw-list-item.entry.js +2 -2
  423. package/dist/esm/spw-list-title.entry.js +2 -2
  424. package/dist/esm/spw-list.entry.js +2 -2
  425. package/dist/esm/spw-message.entry.js +1 -1
  426. package/dist/esm/spw-modal.entry.js +4 -4
  427. package/dist/esm/spw-mosaic-item.entry.js +2 -2
  428. package/dist/esm/spw-mosaic.entry.js +2 -2
  429. package/dist/esm/spw-pagination.entry.js +28 -18
  430. package/dist/esm/spw-pagination.entry.js.map +1 -1
  431. package/dist/esm/spw-radio.entry.js +3 -3
  432. package/dist/esm/spw-search-field.entry.js +13 -3
  433. package/dist/esm/spw-search-field.entry.js.map +1 -1
  434. package/dist/esm/spw-select.entry.js +15 -3
  435. package/dist/esm/spw-select.entry.js.map +1 -1
  436. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +2 -2
  437. package/dist/esm/spw-sidebar-navigation-item.entry.js +85 -7
  438. package/dist/esm/spw-sidebar-navigation-item.entry.js.map +1 -1
  439. package/dist/esm/spw-sidebar-navigation-separator.entry.js +2 -2
  440. package/dist/esm/spw-sidebar.entry.js +10 -2
  441. package/dist/esm/spw-sidebar.entry.js.map +1 -1
  442. package/dist/esm/spw-skeleton.entry.js +5 -3
  443. package/dist/esm/spw-skeleton.entry.js.map +1 -1
  444. package/dist/esm/spw-socials.entry.js +2 -2
  445. package/dist/esm/spw-stencil-library.js +3 -3
  446. package/dist/esm/spw-table-body.entry.js +2 -2
  447. package/dist/esm/spw-table-cell.entry.js +54 -3
  448. package/dist/esm/spw-table-cell.entry.js.map +1 -1
  449. package/dist/esm/spw-table-footer.entry.js +3 -3
  450. package/dist/esm/spw-table-footer.entry.js.map +1 -1
  451. package/dist/esm/spw-table-head.entry.js +2 -2
  452. package/dist/esm/spw-table-header.entry.js +35 -5
  453. package/dist/esm/spw-table-header.entry.js.map +1 -1
  454. package/dist/esm/spw-table-row.entry.js +35 -3
  455. package/dist/esm/spw-table-row.entry.js.map +1 -1
  456. package/dist/esm/spw-table.entry.js +70 -7
  457. package/dist/esm/spw-table.entry.js.map +1 -1
  458. package/dist/esm/spw-tabs-content.entry.js +1 -1
  459. package/dist/esm/spw-tabs-navigation-item.entry.js +3 -3
  460. package/dist/esm/spw-tabs-navigation.entry.js +2 -2
  461. package/dist/esm/spw-tabs.entry.js +6 -4
  462. package/dist/esm/spw-tabs.entry.js.map +1 -1
  463. package/dist/esm/spw-tag.entry.js +2 -2
  464. package/dist/esm/spw-text-field.entry.js +3 -3
  465. package/dist/esm/spw-textarea.entry.js +3 -3
  466. package/dist/esm/spw-tile-description.entry.js +2 -2
  467. package/dist/esm/spw-tile-title.entry.js +2 -2
  468. package/dist/esm/spw-tile.entry.js +2 -2
  469. package/dist/esm/spw-tooltip.entry.js +2 -2
  470. package/dist/esm/spw-topbar.entry.js +2 -2
  471. package/dist/esm/spw-wizard-item.entry.js +62 -0
  472. package/dist/esm/spw-wizard-item.entry.js.map +1 -0
  473. package/dist/esm/spw-wizard.entry.js +88 -0
  474. package/dist/esm/spw-wizard.entry.js.map +1 -0
  475. package/dist/esm/{utils-zpG0udTn.js → utils-BBi01mKM.js} +3 -3
  476. package/dist/esm/utils-BBi01mKM.js.map +1 -0
  477. package/dist/spw-stencil-library/{p-e2f03a02.entry.js → p-000f04a1.entry.js} +2 -2
  478. package/dist/spw-stencil-library/{p-e2f03a02.entry.js.map → p-000f04a1.entry.js.map} +1 -1
  479. package/dist/spw-stencil-library/{p-f5de314e.entry.js → p-06cb6865.entry.js} +2 -2
  480. package/dist/spw-stencil-library/{p-52c51ac5.entry.js → p-06ec3521.entry.js} +2 -2
  481. package/dist/spw-stencil-library/{p-0226ad72.entry.js → p-0baeea00.entry.js} +2 -2
  482. package/dist/spw-stencil-library/p-0e1ec1e6.entry.js +2 -0
  483. package/dist/spw-stencil-library/p-0e1ec1e6.entry.js.map +1 -0
  484. package/dist/spw-stencil-library/p-0f69442e.entry.js +2 -0
  485. package/dist/spw-stencil-library/p-0f69442e.entry.js.map +1 -0
  486. package/dist/spw-stencil-library/p-14722019.entry.js +2 -0
  487. package/dist/spw-stencil-library/p-14722019.entry.js.map +1 -0
  488. package/dist/spw-stencil-library/p-152525de.entry.js +2 -0
  489. package/dist/spw-stencil-library/p-152525de.entry.js.map +1 -0
  490. package/dist/spw-stencil-library/{p-fbe468de.entry.js → p-2113f2f6.entry.js} +2 -2
  491. package/dist/spw-stencil-library/{p-181ae002.entry.js → p-25329033.entry.js} +2 -2
  492. package/dist/spw-stencil-library/{p-9219fe7c.entry.js → p-2abc48ed.entry.js} +2 -2
  493. package/dist/spw-stencil-library/p-2ad00dfc.entry.js +2 -0
  494. package/dist/spw-stencil-library/p-2ad00dfc.entry.js.map +1 -0
  495. package/dist/spw-stencil-library/{p-3ab472db.entry.js → p-2b011668.entry.js} +2 -2
  496. package/dist/spw-stencil-library/{p-272dc0ee.entry.js → p-2c79bd06.entry.js} +2 -2
  497. package/dist/spw-stencil-library/{p-272dc0ee.entry.js.map → p-2c79bd06.entry.js.map} +1 -1
  498. package/dist/spw-stencil-library/{p-b0dc1073.entry.js → p-2cfb78fb.entry.js} +2 -2
  499. package/dist/spw-stencil-library/{p-c2de4206.entry.js → p-2d974226.entry.js} +2 -2
  500. package/dist/spw-stencil-library/{p-19a69f36.entry.js → p-300b4bdb.entry.js} +2 -2
  501. package/dist/spw-stencil-library/{p-19a69f36.entry.js.map → p-300b4bdb.entry.js.map} +1 -1
  502. package/dist/spw-stencil-library/{p-cb269271.entry.js → p-32fd509b.entry.js} +2 -2
  503. package/dist/spw-stencil-library/{p-02151d7e.entry.js → p-438f1793.entry.js} +2 -2
  504. package/dist/spw-stencil-library/{p-1f382434.entry.js → p-451a9785.entry.js} +2 -2
  505. package/dist/spw-stencil-library/{p-4d61f200.entry.js → p-45d99a2b.entry.js} +2 -2
  506. package/dist/spw-stencil-library/{p-a93f21f9.entry.js → p-46567994.entry.js} +2 -2
  507. package/dist/spw-stencil-library/{p-2fd3eb76.entry.js → p-48417d99.entry.js} +2 -2
  508. package/dist/spw-stencil-library/{p-dd4bf12d.entry.js → p-488c2d88.entry.js} +2 -2
  509. package/dist/spw-stencil-library/p-4a273848.entry.js +2 -0
  510. package/dist/spw-stencil-library/p-4a273848.entry.js.map +1 -0
  511. package/dist/spw-stencil-library/{p-08d78730.entry.js → p-4e1774df.entry.js} +2 -2
  512. package/dist/spw-stencil-library/{p-a30563ff.entry.js → p-512a2787.entry.js} +2 -2
  513. package/dist/spw-stencil-library/{p-5f82570e.entry.js → p-5632f307.entry.js} +2 -2
  514. package/dist/spw-stencil-library/p-5632f307.entry.js.map +1 -0
  515. package/dist/spw-stencil-library/{p-04274072.entry.js → p-5a1b3ad1.entry.js} +3 -3
  516. package/dist/spw-stencil-library/{p-c838e17b.entry.js → p-5e34ea9d.entry.js} +2 -2
  517. package/dist/spw-stencil-library/{p-64670b2e.entry.js → p-5e43e2ed.entry.js} +2 -2
  518. package/dist/spw-stencil-library/p-5e43e2ed.entry.js.map +1 -0
  519. package/dist/spw-stencil-library/{p-74b4aea0.entry.js → p-5f873b56.entry.js} +2 -2
  520. package/dist/spw-stencil-library/{p-cff5a7e4.entry.js → p-5fde9dae.entry.js} +2 -2
  521. package/dist/spw-stencil-library/{p-09a2d080.entry.js → p-63d1c97f.entry.js} +2 -2
  522. package/dist/spw-stencil-library/{p-2dff657f.entry.js → p-6e74b1b0.entry.js} +2 -2
  523. package/dist/spw-stencil-library/{p-fda153e0.entry.js → p-6ea811f3.entry.js} +2 -2
  524. package/dist/spw-stencil-library/p-6ed76337.entry.js +2 -0
  525. package/dist/spw-stencil-library/p-6ed76337.entry.js.map +1 -0
  526. package/dist/spw-stencil-library/p-76e11724.entry.js +2 -0
  527. package/dist/spw-stencil-library/p-76e11724.entry.js.map +1 -0
  528. package/dist/spw-stencil-library/{p-11805364.entry.js → p-86bdf571.entry.js} +2 -2
  529. package/dist/spw-stencil-library/p-8c287e51.entry.js +2 -0
  530. package/dist/spw-stencil-library/p-8c287e51.entry.js.map +1 -0
  531. package/dist/spw-stencil-library/{p-fabf41a2.entry.js → p-8cfb4646.entry.js} +2 -2
  532. package/dist/spw-stencil-library/p-8cfb4646.entry.js.map +1 -0
  533. package/dist/spw-stencil-library/p-92583499.entry.js +2 -0
  534. package/dist/spw-stencil-library/p-92583499.entry.js.map +1 -0
  535. package/dist/spw-stencil-library/{p-8dca994a.entry.js → p-9b63ccca.entry.js} +2 -2
  536. package/dist/spw-stencil-library/p-9d760073.entry.js +2 -0
  537. package/dist/spw-stencil-library/p-9d760073.entry.js.map +1 -0
  538. package/dist/spw-stencil-library/{p-42658e0a.entry.js → p-9d984204.entry.js} +2 -2
  539. package/dist/spw-stencil-library/p-9d984204.entry.js.map +1 -0
  540. package/dist/spw-stencil-library/{p-5a034423.entry.js → p-9e12973d.entry.js} +2 -2
  541. package/dist/spw-stencil-library/p-9e8a779e.entry.js +2 -0
  542. package/dist/spw-stencil-library/p-9e8a779e.entry.js.map +1 -0
  543. package/dist/spw-stencil-library/{p-zpG0udTn.js → p-BBi01mKM.js} +2 -2
  544. package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -0
  545. package/dist/spw-stencil-library/p-CvfVJV8a.js +3 -0
  546. package/dist/spw-stencil-library/{p-BYM_CUUH.js.map → p-CvfVJV8a.js.map} +1 -1
  547. package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js → p-a25ad9f2.entry.js} +2 -2
  548. package/dist/spw-stencil-library/{p-376b1e84.entry.js → p-a31a30f3.entry.js} +2 -2
  549. package/dist/spw-stencil-library/p-a31a30f3.entry.js.map +1 -0
  550. package/dist/spw-stencil-library/p-a61253c2.entry.js +2 -0
  551. package/dist/spw-stencil-library/p-a61253c2.entry.js.map +1 -0
  552. package/dist/spw-stencil-library/{p-8c6c9db5.entry.js → p-a840f2ca.entry.js} +2 -2
  553. package/dist/spw-stencil-library/{p-403fe46c.entry.js → p-b0e3875a.entry.js} +2 -2
  554. package/dist/spw-stencil-library/{p-b45534d4.entry.js → p-b1bb413f.entry.js} +2 -2
  555. package/dist/spw-stencil-library/{p-db2354cf.entry.js → p-b6a56ec7.entry.js} +2 -2
  556. package/dist/spw-stencil-library/{p-db2354cf.entry.js.map → p-b6a56ec7.entry.js.map} +1 -1
  557. package/dist/spw-stencil-library/{p-75159246.entry.js → p-bb225503.entry.js} +2 -2
  558. package/dist/spw-stencil-library/{p-1d93e0d8.entry.js → p-bff5424c.entry.js} +2 -2
  559. package/dist/spw-stencil-library/{p-cf508941.entry.js → p-c314e59f.entry.js} +2 -2
  560. package/dist/spw-stencil-library/p-c3985590.entry.js +2 -0
  561. package/dist/spw-stencil-library/p-c3985590.entry.js.map +1 -0
  562. package/dist/spw-stencil-library/p-c4e4cfd4.entry.js +2 -0
  563. package/dist/spw-stencil-library/p-c4e4cfd4.entry.js.map +1 -0
  564. package/dist/spw-stencil-library/{p-e72c6410.entry.js → p-cbf8aea1.entry.js} +2 -2
  565. package/dist/spw-stencil-library/p-ce72bca4.entry.js +2 -0
  566. package/dist/spw-stencil-library/p-ce72bca4.entry.js.map +1 -0
  567. package/dist/spw-stencil-library/{p-b0ca9615.entry.js → p-d03b1644.entry.js} +2 -2
  568. package/dist/spw-stencil-library/{p-817e139e.entry.js → p-d384f832.entry.js} +2 -2
  569. package/dist/spw-stencil-library/{p-532314d2.entry.js → p-d8ba3e5c.entry.js} +2 -2
  570. package/dist/spw-stencil-library/{p-e00468aa.entry.js → p-e0c31c21.entry.js} +2 -2
  571. package/dist/spw-stencil-library/{p-e00468aa.entry.js.map → p-e0c31c21.entry.js.map} +1 -1
  572. package/dist/spw-stencil-library/{p-09d27c4b.entry.js → p-e3485695.entry.js} +2 -2
  573. package/dist/spw-stencil-library/{p-ae905af5.entry.js → p-e4b4f2b3.entry.js} +2 -2
  574. package/dist/spw-stencil-library/{p-93a5f755.entry.js → p-e4d193cd.entry.js} +2 -2
  575. package/dist/spw-stencil-library/{p-158e7952.entry.js → p-e936741c.entry.js} +2 -2
  576. package/dist/spw-stencil-library/{p-98ee79d6.entry.js → p-f154589d.entry.js} +2 -2
  577. package/dist/spw-stencil-library/{p-98ee79d6.entry.js.map → p-f154589d.entry.js.map} +1 -1
  578. package/dist/spw-stencil-library/{p-7d80a44e.entry.js → p-f28bf2be.entry.js} +2 -2
  579. package/dist/spw-stencil-library/{p-7d80a44e.entry.js.map → p-f28bf2be.entry.js.map} +1 -1
  580. package/dist/spw-stencil-library/{p-7cd55113.entry.js → p-f70ed5c3.entry.js} +2 -2
  581. package/dist/spw-stencil-library/p-f8ad31d4.entry.js +2 -0
  582. package/dist/spw-stencil-library/{p-03f1a257.entry.js.map → p-f8ad31d4.entry.js.map} +1 -1
  583. package/dist/spw-stencil-library/{p-3450855b.entry.js → p-fa52aa2c.entry.js} +2 -2
  584. package/dist/spw-stencil-library/{p-554af1e3.entry.js → p-fc6af4d8.entry.js} +2 -2
  585. package/dist/spw-stencil-library/{p-a8311acd.entry.js → p-fcc5884a.entry.js} +2 -2
  586. package/dist/spw-stencil-library/p-fcc5884a.entry.js.map +1 -0
  587. package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
  588. package/dist/spw-stencil-library/spw-button.spw-loading.entry.esm.js.map +1 -1
  589. package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
  590. package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
  591. package/dist/spw-stencil-library/spw-date-picker.entry.esm.js.map +1 -1
  592. package/dist/spw-stencil-library/spw-dropdown-container.entry.esm.js.map +1 -0
  593. package/dist/spw-stencil-library/spw-dropdown-item.entry.esm.js.map +1 -0
  594. package/dist/spw-stencil-library/spw-dropdown.entry.esm.js.map +1 -1
  595. package/dist/spw-stencil-library/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.esm.js.map +1 -1
  596. package/dist/spw-stencil-library/spw-file-upload.entry.esm.js.map +1 -1
  597. package/dist/spw-stencil-library/spw-pagination.entry.esm.js.map +1 -1
  598. package/dist/spw-stencil-library/spw-search-field.entry.esm.js.map +1 -1
  599. package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
  600. package/dist/spw-stencil-library/spw-sidebar-navigation-item.entry.esm.js.map +1 -1
  601. package/dist/spw-stencil-library/spw-sidebar.entry.esm.js.map +1 -1
  602. package/dist/spw-stencil-library/spw-skeleton.entry.esm.js.map +1 -1
  603. package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
  604. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  605. package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
  606. package/dist/spw-stencil-library/spw-table-footer.entry.esm.js.map +1 -1
  607. package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
  608. package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
  609. package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
  610. package/dist/spw-stencil-library/spw-tabs.entry.esm.js.map +1 -1
  611. package/dist/spw-stencil-library/spw-wizard-item.entry.esm.js.map +1 -0
  612. package/dist/spw-stencil-library/spw-wizard.entry.esm.js.map +1 -0
  613. package/dist/stats.json +3664 -983
  614. package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +5 -0
  615. package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +8 -0
  616. package/dist/types/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.d.ts +3 -0
  617. package/dist/types/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.d.ts +23 -0
  618. package/dist/types/components/spw-pagination/spw-pagination.d.ts +4 -1
  619. package/dist/types/components/spw-search-field/spw-search-field.d.ts +5 -0
  620. package/dist/types/components/spw-select/spw-select.d.ts +2 -0
  621. package/dist/types/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.d.ts +8 -0
  622. package/dist/types/components/spw-sidebar/spw-sidebar.d.ts +1 -0
  623. package/dist/types/components/spw-table/spw-table-cell/spw-table-cell.d.ts +15 -0
  624. package/dist/types/components/spw-table/spw-table-header/spw-table-header.d.ts +6 -0
  625. package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +8 -0
  626. package/dist/types/components/spw-table/spw-table.d.ts +13 -1
  627. package/dist/types/components/spw-wizard/spw-wizard-item/spw-wizard-item.d.ts +35 -0
  628. package/dist/types/components/spw-wizard/spw-wizard.d.ts +19 -0
  629. package/dist/types/components.d.ts +379 -0
  630. package/dist/types/stories/components/spw-date-picker/spw-date-picker.stories.d.ts +2 -0
  631. package/dist/types/stories/organisms/spw-table/spw-table.stories.d.ts +1 -0
  632. package/dist/types/stories/organisms/spw-wizard/spw-wizard.stories.d.ts +8 -0
  633. package/dist/types/utils/utils.d.ts +2 -1
  634. package/hydrate/index.js +1023 -180
  635. package/hydrate/index.mjs +1023 -180
  636. package/package.json +1 -1
  637. package/dist/cjs/utils-CKYAw_Le.js.map +0 -1
  638. package/dist/components/p-B-sLKmnT.js.map +0 -1
  639. package/dist/components/p-B3OQ2nRI.js.map +0 -1
  640. package/dist/components/p-Cf-dIWNi.js +0 -129
  641. package/dist/components/p-Cf-dIWNi.js.map +0 -1
  642. package/dist/components/p-DaosfSzT.js.map +0 -1
  643. package/dist/components/p-GUYao_6w.js.map +0 -1
  644. package/dist/components/p-zpG0udTn.js.map +0 -1
  645. package/dist/esm/utils-zpG0udTn.js.map +0 -1
  646. package/dist/spw-stencil-library/p-03f1a257.entry.js +0 -2
  647. package/dist/spw-stencil-library/p-2e9756c4.entry.js +0 -2
  648. package/dist/spw-stencil-library/p-2e9756c4.entry.js.map +0 -1
  649. package/dist/spw-stencil-library/p-34dc26ba.entry.js +0 -2
  650. package/dist/spw-stencil-library/p-34dc26ba.entry.js.map +0 -1
  651. package/dist/spw-stencil-library/p-376b1e84.entry.js.map +0 -1
  652. package/dist/spw-stencil-library/p-42658e0a.entry.js.map +0 -1
  653. package/dist/spw-stencil-library/p-44d87d3f.entry.js +0 -2
  654. package/dist/spw-stencil-library/p-44d87d3f.entry.js.map +0 -1
  655. package/dist/spw-stencil-library/p-5f82570e.entry.js.map +0 -1
  656. package/dist/spw-stencil-library/p-64670b2e.entry.js.map +0 -1
  657. package/dist/spw-stencil-library/p-73db3953.entry.js +0 -2
  658. package/dist/spw-stencil-library/p-73db3953.entry.js.map +0 -1
  659. package/dist/spw-stencil-library/p-7e30e4c2.entry.js +0 -2
  660. package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +0 -1
  661. package/dist/spw-stencil-library/p-8ef8864e.entry.js +0 -2
  662. package/dist/spw-stencil-library/p-8ef8864e.entry.js.map +0 -1
  663. package/dist/spw-stencil-library/p-9356f8c9.entry.js +0 -2
  664. package/dist/spw-stencil-library/p-9356f8c9.entry.js.map +0 -1
  665. package/dist/spw-stencil-library/p-BYM_CUUH.js +0 -3
  666. package/dist/spw-stencil-library/p-a8311acd.entry.js.map +0 -1
  667. package/dist/spw-stencil-library/p-a950bce8.entry.js +0 -2
  668. package/dist/spw-stencil-library/p-a950bce8.entry.js.map +0 -1
  669. package/dist/spw-stencil-library/p-ba27b9b0.entry.js +0 -2
  670. package/dist/spw-stencil-library/p-ba27b9b0.entry.js.map +0 -1
  671. package/dist/spw-stencil-library/p-bf2d0cf4.entry.js +0 -2
  672. package/dist/spw-stencil-library/p-bf2d0cf4.entry.js.map +0 -1
  673. package/dist/spw-stencil-library/p-c54fee67.entry.js +0 -2
  674. package/dist/spw-stencil-library/p-c54fee67.entry.js.map +0 -1
  675. package/dist/spw-stencil-library/p-d3d4755a.entry.js +0 -2
  676. package/dist/spw-stencil-library/p-d3d4755a.entry.js.map +0 -1
  677. package/dist/spw-stencil-library/p-fabf41a2.entry.js.map +0 -1
  678. package/dist/spw-stencil-library/p-zpG0udTn.js.map +0 -1
  679. /package/dist/spw-stencil-library/{p-f5de314e.entry.js.map → p-06cb6865.entry.js.map} +0 -0
  680. /package/dist/spw-stencil-library/{p-52c51ac5.entry.js.map → p-06ec3521.entry.js.map} +0 -0
  681. /package/dist/spw-stencil-library/{p-0226ad72.entry.js.map → p-0baeea00.entry.js.map} +0 -0
  682. /package/dist/spw-stencil-library/{p-fbe468de.entry.js.map → p-2113f2f6.entry.js.map} +0 -0
  683. /package/dist/spw-stencil-library/{p-181ae002.entry.js.map → p-25329033.entry.js.map} +0 -0
  684. /package/dist/spw-stencil-library/{p-9219fe7c.entry.js.map → p-2abc48ed.entry.js.map} +0 -0
  685. /package/dist/spw-stencil-library/{p-3ab472db.entry.js.map → p-2b011668.entry.js.map} +0 -0
  686. /package/dist/spw-stencil-library/{p-b0dc1073.entry.js.map → p-2cfb78fb.entry.js.map} +0 -0
  687. /package/dist/spw-stencil-library/{p-c2de4206.entry.js.map → p-2d974226.entry.js.map} +0 -0
  688. /package/dist/spw-stencil-library/{p-cb269271.entry.js.map → p-32fd509b.entry.js.map} +0 -0
  689. /package/dist/spw-stencil-library/{p-02151d7e.entry.js.map → p-438f1793.entry.js.map} +0 -0
  690. /package/dist/spw-stencil-library/{p-1f382434.entry.js.map → p-451a9785.entry.js.map} +0 -0
  691. /package/dist/spw-stencil-library/{p-4d61f200.entry.js.map → p-45d99a2b.entry.js.map} +0 -0
  692. /package/dist/spw-stencil-library/{p-a93f21f9.entry.js.map → p-46567994.entry.js.map} +0 -0
  693. /package/dist/spw-stencil-library/{p-2fd3eb76.entry.js.map → p-48417d99.entry.js.map} +0 -0
  694. /package/dist/spw-stencil-library/{p-dd4bf12d.entry.js.map → p-488c2d88.entry.js.map} +0 -0
  695. /package/dist/spw-stencil-library/{p-08d78730.entry.js.map → p-4e1774df.entry.js.map} +0 -0
  696. /package/dist/spw-stencil-library/{p-a30563ff.entry.js.map → p-512a2787.entry.js.map} +0 -0
  697. /package/dist/spw-stencil-library/{p-04274072.entry.js.map → p-5a1b3ad1.entry.js.map} +0 -0
  698. /package/dist/spw-stencil-library/{p-c838e17b.entry.js.map → p-5e34ea9d.entry.js.map} +0 -0
  699. /package/dist/spw-stencil-library/{p-74b4aea0.entry.js.map → p-5f873b56.entry.js.map} +0 -0
  700. /package/dist/spw-stencil-library/{p-cff5a7e4.entry.js.map → p-5fde9dae.entry.js.map} +0 -0
  701. /package/dist/spw-stencil-library/{p-09a2d080.entry.js.map → p-63d1c97f.entry.js.map} +0 -0
  702. /package/dist/spw-stencil-library/{p-2dff657f.entry.js.map → p-6e74b1b0.entry.js.map} +0 -0
  703. /package/dist/spw-stencil-library/{p-fda153e0.entry.js.map → p-6ea811f3.entry.js.map} +0 -0
  704. /package/dist/spw-stencil-library/{p-11805364.entry.js.map → p-86bdf571.entry.js.map} +0 -0
  705. /package/dist/spw-stencil-library/{p-8dca994a.entry.js.map → p-9b63ccca.entry.js.map} +0 -0
  706. /package/dist/spw-stencil-library/{p-5a034423.entry.js.map → p-9e12973d.entry.js.map} +0 -0
  707. /package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js.map → p-a25ad9f2.entry.js.map} +0 -0
  708. /package/dist/spw-stencil-library/{p-8c6c9db5.entry.js.map → p-a840f2ca.entry.js.map} +0 -0
  709. /package/dist/spw-stencil-library/{p-403fe46c.entry.js.map → p-b0e3875a.entry.js.map} +0 -0
  710. /package/dist/spw-stencil-library/{p-b45534d4.entry.js.map → p-b1bb413f.entry.js.map} +0 -0
  711. /package/dist/spw-stencil-library/{p-75159246.entry.js.map → p-bb225503.entry.js.map} +0 -0
  712. /package/dist/spw-stencil-library/{p-1d93e0d8.entry.js.map → p-bff5424c.entry.js.map} +0 -0
  713. /package/dist/spw-stencil-library/{p-cf508941.entry.js.map → p-c314e59f.entry.js.map} +0 -0
  714. /package/dist/spw-stencil-library/{p-e72c6410.entry.js.map → p-cbf8aea1.entry.js.map} +0 -0
  715. /package/dist/spw-stencil-library/{p-b0ca9615.entry.js.map → p-d03b1644.entry.js.map} +0 -0
  716. /package/dist/spw-stencil-library/{p-817e139e.entry.js.map → p-d384f832.entry.js.map} +0 -0
  717. /package/dist/spw-stencil-library/{p-532314d2.entry.js.map → p-d8ba3e5c.entry.js.map} +0 -0
  718. /package/dist/spw-stencil-library/{p-09d27c4b.entry.js.map → p-e3485695.entry.js.map} +0 -0
  719. /package/dist/spw-stencil-library/{p-ae905af5.entry.js.map → p-e4b4f2b3.entry.js.map} +0 -0
  720. /package/dist/spw-stencil-library/{p-93a5f755.entry.js.map → p-e4d193cd.entry.js.map} +0 -0
  721. /package/dist/spw-stencil-library/{p-158e7952.entry.js.map → p-e936741c.entry.js.map} +0 -0
  722. /package/dist/spw-stencil-library/{p-7cd55113.entry.js.map → p-f70ed5c3.entry.js.map} +0 -0
  723. /package/dist/spw-stencil-library/{p-3450855b.entry.js.map → p-fa52aa2c.entry.js.map} +0 -0
  724. /package/dist/spw-stencil-library/{p-554af1e3.entry.js.map → p-fc6af4d8.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"spw-table-header.js","mappings":"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","names":["SpwTableHeader","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-header/spw-table-header.scss?tag=spw-table-header&encapsulation=shadow","src/components/spw-table/spw-table-header/spw-table-header.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.spw-table-header {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-800);\n font-size: 14px;\n text-align: left;\n font-weight: 700;\n transition: all 0.2s linear;\n background: var(--spw-color-themes-grey-grey-200);\n white-space: nowrap;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow:\n inset 0 1px 0 var(--spw-color-themes-grey-grey-300),\n inset 0 -1px 0 var(--spw-color-themes-grey-grey-300);\n\n background-clip: padding-box;\n\n :host-context(.spw-table--is-sticky) & {\n position: sticky;\n top: 0;\n z-index: 20;\n }\n\n &--text-align-left {\n text-align: left;\n }\n &--text-align-center {\n text-align: center;\n }\n &--text-align-right {\n text-align: right;\n }\n &--vertical-align-top {\n vertical-align: top;\n }\n &--vertical-align-bottom {\n vertical-align: bottom;\n }\n &--vertical-align-middle {\n vertical-align: middle;\n }\n\n &--has-tooltip {\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &--sortable {\n user-select: none;\n cursor: pointer;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n &--is-sorted {\n .spw-table-header__sort-icon {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &__sort-icons {\n display: flex;\n gap: 0;\n }\n &--padding-small {\n padding: 8px;\n }\n &--padding-medium {\n padding: 16px;\n }\n &__icons {\n display: flex;\n gap: 8px;\n align-items: center;\n color: var(--spw-color-themes-grey-grey-500);\n }\n ::slotted(spw-checkbox) {\n --spw-ds-checkbox-checked-color: #000;\n }\n}\n","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"],"version":3}
1
+ {"file":"spw-table-header.js","mappings":"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","names":["SpwTableHeader","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-header/spw-table-header.scss?tag=spw-table-header&encapsulation=shadow","src/components/spw-table/spw-table-header/spw-table-header.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host(.--is-sticky) {\n .spw-table-header {\n position: sticky;\n top: 0;\n z-index: 50;\n }\n}\n\n.spw-table-header {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n color: var(--spw-color-themes-grey-grey-800);\n font-size: 14px;\n text-align: left;\n font-weight: 700;\n transition: all 0.2s linear;\n background: var(--spw-color-themes-grey-grey-200);\n white-space: nowrap;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow:\n inset 0 1px 0 var(--spw-color-themes-grey-grey-300),\n inset 0 -1px 0 var(--spw-color-themes-grey-grey-300);\n\n background-clip: padding-box;\n\n &--text-align-left {\n text-align: left;\n }\n &--text-align-center {\n text-align: center;\n }\n &--text-align-right {\n text-align: right;\n }\n &--vertical-align-top {\n vertical-align: top;\n }\n &--vertical-align-bottom {\n vertical-align: bottom;\n }\n &--vertical-align-middle {\n vertical-align: middle;\n }\n\n &--has-tooltip {\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &--sortable {\n user-select: none;\n cursor: pointer;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-table-header__content {\n display: flex;\n gap: 16px;\n justify-content: space-between;\n align-items: center;\n spw-icon {\n color: var(--spw-color-themes-grey-grey-500);\n &:hover {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n &--is-sorted {\n .spw-table-header__sort-icon {\n color: var(--spw-color-themes-grey-grey-900);\n }\n }\n }\n }\n &__sort-icons {\n display: flex;\n gap: 0;\n }\n &--padding-small {\n padding: 8px;\n }\n &--padding-medium {\n padding: 16px;\n }\n &__icons {\n display: flex;\n gap: 8px;\n align-items: center;\n color: var(--spw-color-themes-grey-grey-500);\n }\n ::slotted(spw-checkbox) {\n --spw-ds-checkbox-checked-color: #000;\n }\n\n &--sticky {\n position: sticky;\n background-color: var(--spw-color-themes-grey-grey-200);\n\n &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: -1px;\n width: 8px;\n pointer-events: none;\n transition: opacity 0.2s;\n }\n\n &-start::after {\n right: -8px;\n box-shadow: inset 8px 0 8px -8px rgba(0, 0, 0, 0.15);\n }\n\n &-end::after {\n left: -8px;\n box-shadow: inset -8px 0 8px -8px rgba(0, 0, 0, 0.15);\n }\n }\n}\n","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 /** Rend la cellule sticky lors du défilement horizontal (à appliquer sur spw-table-header ou spw-table-cell) */\n @Prop() sticky?: boolean = false;\n /** Position du sticky : 'start' (left: 0) ou 'end' (right: 0) (à appliquer sur spw-table-header ou spw-table-cell) */\n @Prop() stickyPosition?: 'start' | 'end' = 'start';\n /** Décalage en pixels pour le sticky (utile pour empiler plusieurs colonnes sticky) (à appliquer sur spw-table-header ou spw-table-cell) */\n @Prop() stickyOffset?: number = 0;\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 'spw-table-header--sticky': this.sticky,\n [`spw-table-header--sticky-${this.stickyPosition}`]: this.sticky,\n };\n }\n\n render() {\n const attrs: { [key: string]: any } = {\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\n if (this.sticky) {\n const stickyStyles: { [key: string]: string } = {\n position: 'sticky',\n zIndex: '60',\n };\n\n if (this.stickyPosition === 'start') {\n stickyStyles.left = `${this.stickyOffset}px`;\n } else {\n stickyStyles.right = `${this.stickyOffset}px`;\n }\n\n attrs.style = stickyStyles;\n }\n\n return (\n <th {...attrs}>\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"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
2
 
3
- const spwTableRowCss = "/*! 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)}";
3
+ const spwTableRowCss = "/*! 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{background:#fff}.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)}";
4
4
 
5
5
  const SpwTableRow$1 = /*@__PURE__*/ proxyCustomElement(class SpwTableRow extends H {
6
6
  constructor() {
@@ -10,6 +10,33 @@ const SpwTableRow$1 = /*@__PURE__*/ proxyCustomElement(class SpwTableRow extends
10
10
  /** Permet de changer le state du spw-table-row */
11
11
  this.state = 'default';
12
12
  }
13
+ componentDidLoad() {
14
+ this.applyPropsToChildren();
15
+ }
16
+ slotChanged() {
17
+ this.applyPropsToChildren();
18
+ }
19
+ onStateChange() {
20
+ this.applyPropsToChildren();
21
+ }
22
+ onPaddingChange() {
23
+ this.applyPropsToChildren();
24
+ }
25
+ applyPropsToChildren() {
26
+ requestAnimationFrame(() => {
27
+ const cells = this.el.querySelectorAll('spw-table-cell, spw-table-header');
28
+ const stateClass = `--${this.state}`;
29
+ cells.forEach(cell => {
30
+ cell.classList.remove('--default', '--selected', '--disabled');
31
+ if (this.state !== 'default') {
32
+ cell.classList.add(stateClass);
33
+ }
34
+ if (this.padding && !cell.hasAttribute('padding')) {
35
+ cell.padding = this.padding;
36
+ }
37
+ });
38
+ });
39
+ }
13
40
  get elementClass() {
14
41
  return {
15
42
  'spw-table-row': true,
@@ -17,11 +44,20 @@ const SpwTableRow$1 = /*@__PURE__*/ proxyCustomElement(class SpwTableRow extends
17
44
  };
18
45
  }
19
46
  render() {
20
- return (h(Host, { key: '82bcb6eecb5b6cc9bf3fb574194e53dbbd09aef0', part: "row" }, h("tr", { key: '9cdb6e60f3205b925ac678ec9de3b4919b358acd', class: this.elementClass, part: "row" }, h("slot", { key: '26d507c09d3e15a7862f7f2467891f393fc88081' }))));
47
+ return (h(Host, { key: 'a92e7619db6ca66332e5680add2f4f074ddb5db5', part: "row" }, h("tr", { key: '198d8027ea3cd377444f476e0c77d35de50c22c2', class: this.elementClass, part: "row" }, h("slot", { key: '667fb895983eff3077f36da1ac0d31756c8dd691' }))));
21
48
  }
49
+ get el() { return this; }
50
+ static get watchers() { return {
51
+ "state": ["onStateChange"],
52
+ "padding": ["onPaddingChange"]
53
+ }; }
22
54
  static get style() { return spwTableRowCss; }
23
55
  }, [1, "spw-table-row", {
24
- "state": [1]
56
+ "state": [1],
57
+ "padding": [1]
58
+ }, [[0, "slotchange", "slotChanged"]], {
59
+ "state": ["onStateChange"],
60
+ "padding": ["onPaddingChange"]
25
61
  }]);
26
62
  function defineCustomElement$1() {
27
63
  if (typeof customElements === "undefined") {
@@ -1 +1 @@
1
- {"file":"spw-table-row.js","mappings":";;AAAA,MAAM,cAAc,GAAG,06FAA06F;;MCOp7FA,aAAW,iBAAAC,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;AALxB,IAAA,WAAA,GAAA;;;;;AAOU,QAAA,IAAK,CAAA,KAAA,GAAyC,SAAS;AAkBhE;AAhBC,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;SACvC;;IAGH,MAAM,GAAA;QACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EAAA,EACd,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,KAAK,EAAA,EACtC,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACL,CACA;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SpwTableRow","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-row/spw-table-row.scss?tag=spw-table-row&encapsulation=shadow","src/components/spw-table/spw-table-row/spw-table-row.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host([data-row-style='odd']) {\n .spw-table-row {\n background-color: var(--spw-color-themes-grey-grey-50);\n }\n}\n\n.spw-table-row {\n position: relative;\n &--disabled {\n opacity: 0.3;\n pointer-events: none;\n cursor: not-allowed;\n }\n &--selected {\n background-color: var(--spw-color-themes-blue-blue-50);\n box-shadow: inset 3px 0 0 var(--spw-color-themes-blue-blue-500);\n }\n}\n","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"],"version":3}
1
+ {"file":"spw-table-row.js","mappings":";;AAAA,MAAM,cAAc,GAAG,w4FAAw4F;;MCOl5FA,aAAW,iBAAAC,kBAAA,CAAA,MAAA,WAAA,SAAAC,CAAA,CAAA;AALxB,IAAA,WAAA,GAAA;;;;;AASU,QAAA,IAAK,CAAA,KAAA,GAAyC,SAAS;AAyDhE;IArDC,gBAAgB,GAAA;QACd,IAAI,CAAC,oBAAoB,EAAE;;IAI7B,WAAW,GAAA;QACT,IAAI,CAAC,oBAAoB,EAAE;;IAI7B,aAAa,GAAA;QACX,IAAI,CAAC,oBAAoB,EAAE;;IAI7B,eAAe,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;;IAGrB,oBAAoB,GAAA;QAC1B,qBAAqB,CAAC,MAAK;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,kCAAkC,CAAC;AAC1E,YAAA,MAAM,UAAU,GAAG,CAAA,EAAA,EAAK,IAAI,CAAC,KAAK,EAAE;AAEpC,YAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;gBACnB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC;AAC9D,gBAAA,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;AAC5B,oBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;;AAGhC,gBAAA,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE;AAChD,oBAAA,IAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;;AAExC,aAAC,CAAC;AACJ,SAAC,CAAC;;AAGJ,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG,IAAI;SACvC;;IAGH,MAAM,GAAA;QACJ,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,KAAK,EAAA,EACd,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,KAAK,EAAA,EACtC,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACL,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["SpwTableRow","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table-row/spw-table-row.scss?tag=spw-table-row&encapsulation=shadow","src/components/spw-table/spw-table-row/spw-table-row.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host([data-row-style='odd']) {\n .spw-table-row {\n background-color: var(--spw-color-themes-grey-grey-50);\n }\n}\n\n.spw-table-row {\n position: relative;\n\n &--disabled {\n background: white;\n }\n &--selected {\n background-color: var(--spw-color-themes-blue-blue-50);\n box-shadow: inset 3px 0 0 var(--spw-color-themes-blue-blue-500);\n }\n}\n","import { Component, Host, Prop, Element, Listen, Watch, 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 @Element() el: HTMLSpwTableRowElement;\n\n /** Permet de changer le state du spw-table-row */\n @Prop() state?: 'default' | 'selected' | 'disabled' = 'default';\n /** Définit le padding pour toutes les cellules de la row */\n @Prop() padding?: 'small' | 'medium';\n\n componentDidLoad() {\n this.applyPropsToChildren();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.applyPropsToChildren();\n }\n\n @Watch('state')\n onStateChange() {\n this.applyPropsToChildren();\n }\n\n @Watch('padding')\n onPaddingChange() {\n this.applyPropsToChildren();\n }\n\n private applyPropsToChildren() {\n requestAnimationFrame(() => {\n const cells = this.el.querySelectorAll('spw-table-cell, spw-table-header');\n const stateClass = `--${this.state}`;\n\n cells.forEach(cell => {\n cell.classList.remove('--default', '--selected', '--disabled');\n if (this.state !== 'default') {\n cell.classList.add(stateClass);\n }\n\n if (this.padding && !cell.hasAttribute('padding')) {\n (cell as any).padding = this.padding;\n }\n });\n });\n }\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"],"version":3}
@@ -1,36 +1,74 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
2
2
 
3
- const spwTableCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl: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-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}";
3
+ const spwTableCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl: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-table-container{scrollbar-face-color:var(--spw-color-themes-grey-grey-400);scrollbar-track-color:var(--spw-ds-white);border-radius:4px;max-height:var(--spw-table-max-height);outline:1px solid var(--spw-color-themes-grey-grey-300);outline-offset:-1px;overflow-x:auto;overflow-y:auto;position:relative;width:100%}.spw-table-container::-webkit-scrollbar{height:14px;width:14px}.spw-table-container::-webkit-scrollbar-thumb{background:var(--spw-color-themes-grey-grey-400);border:4px solid var(--spw-ds-white);border-radius:20px}.spw-table-container::-webkit-scrollbar-track{background:var(--spw-ds-white)}.spw-table{border-collapse:collapse;border-radius:4px;min-width:var(--spw-table-min-width);position:relative;width:100%}.spw-table--layout-fixed{table-layout:fixed}.spw-table--layout-auto{table-layout:auto}";
4
4
 
5
5
  const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
6
6
  constructor() {
7
7
  super();
8
8
  this.__registerHost();
9
9
  this.__attachShadow();
10
- this.spwSort = createEvent(this, "spwSort");
10
+ this.spwSort = createEvent(this, "spwSort", 7);
11
11
  /** Si le header du tableau doit être sticky ou non */
12
12
  this.isSticky = false;
13
13
  /** Si défini, apparition d'une scrollbar horizontale et max-width */
14
14
  this.minWidth = '600';
15
+ /** Permet de définir le table-layout (auto ou fixed) */
16
+ this.tableLayout = 'auto';
15
17
  /** Définit un background de couleur différent une ligne sur 2 */
16
18
  this.isZebra = false;
19
+ /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */
20
+ this.disableSort = false;
21
+ this.checkboxChangeHandler = () => this.updateMasterCheckboxState();
22
+ }
23
+ onCurrentSortChange(newSort) {
24
+ if (newSort) {
25
+ this.updateHeadersSortState(newSort);
26
+ }
27
+ }
28
+ onIsStickyChange() {
29
+ this.applyStickyToChildren();
17
30
  }
18
31
  componentDidLoad() {
19
32
  var _a;
20
33
  this.updateZebra();
34
+ this.applyStickyToChildren();
21
35
  const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
22
36
  if (slot) {
23
37
  slot.addEventListener('slotchange', () => {
24
38
  this.setupHeaderCheckboxListener();
25
39
  this.updateMasterCheckboxState();
40
+ this.applyStickyToChildren();
26
41
  });
27
42
  }
28
43
  this.setupHeaderCheckboxListener();
29
44
  this.setupBodyCheckboxListener();
45
+ this.setupTableBodyObserver();
30
46
  setTimeout(() => {
31
47
  this.updateMasterCheckboxState();
32
48
  }, 0);
33
49
  }
50
+ disconnectedCallback() {
51
+ if (this.mutationObserver) {
52
+ this.mutationObserver.disconnect();
53
+ }
54
+ }
55
+ setupTableBodyObserver() {
56
+ const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');
57
+ if (!body)
58
+ return;
59
+ this.mutationObserver = new MutationObserver(() => {
60
+ this.setupBodyCheckboxListener();
61
+ setTimeout(() => {
62
+ this.updateMasterCheckboxState();
63
+ }, 0);
64
+ });
65
+ this.mutationObserver.observe(body, {
66
+ childList: true,
67
+ subtree: true,
68
+ attributes: true,
69
+ attributeFilter: ['checked', 'disabled'],
70
+ });
71
+ }
34
72
  getMasterCheckboxColumnIndex() {
35
73
  var _a;
36
74
  const slot = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot');
@@ -128,7 +166,8 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
128
166
  rows.forEach(row => {
129
167
  const checkboxes = row.querySelectorAll('spw-checkbox');
130
168
  checkboxes.forEach(cb => {
131
- cb.addEventListener('spwChange', () => this.updateMasterCheckboxState());
169
+ cb.removeEventListener('spwChange', this.checkboxChangeHandler);
170
+ cb.addEventListener('spwChange', this.checkboxChangeHandler);
132
171
  });
133
172
  });
134
173
  }
@@ -167,7 +206,9 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
167
206
  };
168
207
  this.currentSort = newSort;
169
208
  this.spwSort.emit(newSort);
170
- this.sortRows(newSort.column, newSort.direction);
209
+ if (!this.disableSort) {
210
+ this.sortRows(newSort.column, newSort.direction);
211
+ }
171
212
  this.updateHeadersSortState(newSort);
172
213
  this.updateZebra();
173
214
  }
@@ -189,6 +230,23 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
189
230
  }
190
231
  }
191
232
  }
233
+ applyStickyToChildren() {
234
+ requestAnimationFrame(() => {
235
+ const stickyClass = '--is-sticky';
236
+ const headers = this.el.querySelectorAll('spw-table-header');
237
+ const cells = this.el.querySelectorAll('spw-table-cell');
238
+ const footer = this.el.querySelector('spw-table-footer');
239
+ if (this.isSticky) {
240
+ headers.forEach(header => header.classList.add(stickyClass));
241
+ footer === null || footer === void 0 ? void 0 : footer.classList.add(stickyClass);
242
+ }
243
+ else {
244
+ headers.forEach(header => header.classList.remove(stickyClass));
245
+ cells.forEach(cell => cell.classList.remove(stickyClass));
246
+ footer === null || footer === void 0 ? void 0 : footer.classList.remove(stickyClass);
247
+ }
248
+ });
249
+ }
192
250
  sortRows(columnId, direction) {
193
251
  var _a;
194
252
  const body = (_a = this.el.shadowRoot
@@ -235,24 +293,34 @@ const SpwTable$1 = /*@__PURE__*/ proxyCustomElement(class SpwTable extends H {
235
293
  return {
236
294
  'spw-table': true,
237
295
  'spw-table--is-sticky': this.isSticky,
296
+ [`spw-table--layout-${this.tableLayout}`]: true,
238
297
  };
239
298
  }
240
299
  render() {
241
- return (h(Host, { key: '5294f8be63d4632acbd7a32613012bae435ca8f2', style: {
300
+ return (h(Host, { key: '7cc259ed7e17128348ebd7a6757d48b2d0114e0a', style: {
242
301
  '--spw-table-max-height': this.formatSize(this.maxHeight),
243
302
  '--spw-table-min-width': this.formatSize(this.minWidth),
244
- } }, 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' })))));
303
+ } }, h("div", { key: 'b5dac474e57841c60312f92045859a1ff0d741c7', class: "spw-table-container" }, h("table", { key: '67790f5adbd07b77c80be97b03406ca6d8296d13', part: "table", class: this.elementClass, role: "table", "aria-label": this.accAriaLabel }, h("slot", { key: '208be3ca21332261306114673e756ca47bc0582d' })))));
245
304
  }
246
305
  get el() { return this; }
306
+ static get watchers() { return {
307
+ "currentSort": ["onCurrentSortChange"],
308
+ "isSticky": ["onIsStickyChange"]
309
+ }; }
247
310
  static get style() { return spwTableCss; }
248
311
  }, [1, "spw-table", {
249
312
  "accAriaLabel": [1, "acc-aria-label"],
250
313
  "isSticky": [4, "is-sticky"],
251
314
  "maxHeight": [1, "max-height"],
252
315
  "minWidth": [1, "min-width"],
316
+ "tableLayout": [1, "table-layout"],
253
317
  "isZebra": [4, "is-zebra"],
254
- "currentSort": [32]
255
- }, [[0, "spwHeaderClick", "handleHeaderClick"]]]);
318
+ "disableSort": [4, "disable-sort"],
319
+ "currentSort": [1040]
320
+ }, [[0, "spwHeaderClick", "handleHeaderClick"]], {
321
+ "currentSort": ["onCurrentSortChange"],
322
+ "isSticky": ["onIsStickyChange"]
323
+ }]);
256
324
  function defineCustomElement$1() {
257
325
  if (typeof customElements === "undefined") {
258
326
  return;
@@ -1 +1 @@
1
- {"file":"spw-table.js","mappings":"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","names":["SpwTable","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table.scss?tag=spw-table&encapsulation=shadow","src/components/spw-table/spw-table.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n%highlight {\n font-weight: 700;\n background: var(--spw-color-themes-grey-grey-100);\n}\n\n.spw-table-container {\n width: 100%;\n overflow-x: auto;\n overflow-y: auto;\n max-height: var(--spw-table-max-height);\n border-radius: 4px;\n outline: 1px solid var(--spw-color-themes-grey-grey-300);\n outline-offset: -1px;\n position: relative;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n}\n\n.spw-table {\n width: 100%;\n border-collapse: collapse;\n min-width: var(--spw-table-min-width);\n border-radius: 4px;\n position: relative;\n}\n","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"],"version":3}
1
+ {"file":"spw-table.js","mappings":"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","names":["SpwTable","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-table/spw-table.scss?tag=spw-table&encapsulation=shadow","src/components/spw-table/spw-table.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n}\n\n%highlight {\n font-weight: 700;\n background: var(--spw-color-themes-grey-grey-100);\n}\n\n.spw-table-container {\n width: 100%;\n overflow-x: auto;\n overflow-y: auto;\n max-height: var(--spw-table-max-height);\n border-radius: 4px;\n outline: 1px solid var(--spw-color-themes-grey-grey-300);\n outline-offset: -1px;\n position: relative;\n @include scrollbars(var(--spw-color-themes-grey-grey-400), var(--spw-ds-white));\n}\n\n.spw-table {\n width: 100%;\n border-collapse: collapse;\n min-width: var(--spw-table-min-width);\n border-radius: 4px;\n position: relative;\n &--layout-fixed {\n table-layout: fixed;\n }\n &--layout-auto {\n table-layout: auto;\n }\n}\n","import { Component, Element, Event, Listen, EventEmitter, Host, Prop, Watch, 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 /** Permet de définir le table-layout (auto ou fixed) */\n @Prop() tableLayout?: 'auto' | 'fixed' = 'auto';\n /** Définit un background de couleur différent une ligne sur 2 */\n @Prop() isZebra?: boolean = false;\n /** Désactive le tri natif pour permettre l'utilisation d'une fonction de tri personnalisée */\n @Prop() disableSort?: boolean = false;\n /** État du tri actuel (colonne et direction). Peut être défini de l'extérieur pour un tri personnalisé */\n @Prop({ mutable: true }) currentSort?: SortEvent;\n\n @Event() spwSort: EventEmitter<SortEvent>;\n\n private mutationObserver?: MutationObserver;\n\n @Watch('currentSort')\n onCurrentSortChange(newSort: SortEvent | undefined) {\n if (newSort) {\n this.updateHeadersSortState(newSort);\n }\n }\n\n @Watch('isSticky')\n onIsStickyChange() {\n this.applyStickyToChildren();\n }\n\n componentDidLoad() {\n this.updateZebra();\n this.applyStickyToChildren();\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (slot) {\n slot.addEventListener('slotchange', () => {\n this.setupHeaderCheckboxListener();\n this.updateMasterCheckboxState();\n this.applyStickyToChildren();\n });\n }\n this.setupHeaderCheckboxListener();\n this.setupBodyCheckboxListener();\n this.setupTableBodyObserver();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n disconnectedCallback() {\n if (this.mutationObserver) {\n this.mutationObserver.disconnect();\n }\n }\n\n private setupTableBodyObserver() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n this.mutationObserver = new MutationObserver(() => {\n this.setupBodyCheckboxListener();\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n });\n\n this.mutationObserver.observe(body, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['checked', 'disabled'],\n });\n }\n\n private getMasterCheckboxColumnIndex(): number | null {\n const slot = this.el.shadowRoot?.querySelector('slot');\n if (!slot) return null;\n\n const assignedElements = slot.assignedElements({ flatten: true }) as HTMLElement[];\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return null;\n\n const headerRow = head.querySelector('spw-table-row');\n if (!headerRow) return null;\n\n const headerCells = Array.from(headerRow.querySelectorAll('spw-table-header'));\n\n for (let i = 0; i < headerCells.length; i++) {\n if (headerCells[i].querySelector('spw-checkbox')) {\n return i;\n }\n }\n\n return null;\n }\n\n private isCheckboxDisabled(checkbox: any): boolean {\n return checkbox?.disabled === true || checkbox?.getAttribute('disabled') === 'true' || checkbox?.getAttribute('disabled') === '';\n }\n\n private updateMasterCheckboxState() {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!head || !body) return;\n\n const headerRow = head.querySelector('spw-table-row');\n const headerCell = headerRow?.querySelectorAll('spw-table-header')[columnIndex];\n const masterCheckbox = headerCell?.querySelector('spw-checkbox') as any;\n\n const rows = body.querySelectorAll('spw-table-row');\n const checkboxData = Array.from(rows).map(row => {\n const cell = row.querySelectorAll('spw-table-cell')[columnIndex];\n const cb = cell?.querySelector('spw-checkbox') as any;\n return {\n checked: cb?.checked === true || cb?.getAttribute('checked') === 'true',\n disabled: this.isCheckboxDisabled(cb),\n };\n });\n\n const enabledCheckboxes = checkboxData.filter(item => !item.disabled);\n\n if (enabledCheckboxes.length === 0) return;\n\n const allChecked = enabledCheckboxes.every(item => item.checked);\n const noneChecked = enabledCheckboxes.every(item => !item.checked);\n\n if (!masterCheckbox) return;\n\n if (allChecked) {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else if (noneChecked) {\n masterCheckbox.checked = false;\n masterCheckbox.setAttribute('checked', 'false');\n masterCheckbox.setAttribute('icon', 'fa-check');\n } else {\n masterCheckbox.checked = true;\n masterCheckbox.setAttribute('checked', 'true');\n masterCheckbox.setAttribute('icon', 'fa-minus');\n }\n }\n\n private setupHeaderCheckboxListener() {\n const assignedElements = this.el.shadowRoot?.querySelector('slot')?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n\n if (!assignedElements) return;\n\n const head = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-head');\n if (!head) return;\n\n const headerRows = head.querySelectorAll('spw-table-row');\n\n headerRows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.addEventListener('spwChange', (event: CustomEvent<boolean>) => {\n this.toggleAllRowCheckboxes(event.detail);\n });\n });\n });\n }\n\n private checkboxChangeHandler = () => this.updateMasterCheckboxState();\n\n private setupBodyCheckboxListener() {\n const body = Array.from(this.el.children).find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n rows.forEach(row => {\n const checkboxes = row.querySelectorAll('spw-checkbox');\n checkboxes.forEach(cb => {\n cb.removeEventListener('spwChange', this.checkboxChangeHandler);\n cb.addEventListener('spwChange', this.checkboxChangeHandler);\n });\n });\n }\n\n private toggleAllRowCheckboxes(checked: boolean) {\n const columnIndex = this.getMasterCheckboxColumnIndex();\n if (columnIndex === null) return;\n\n const slot = this.el.shadowRoot?.querySelector('slot');\n const assignedElements = slot?.assignedElements({ flatten: true }) as HTMLElement[] | undefined;\n if (!assignedElements) return;\n\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = body.querySelectorAll('spw-table-row');\n\n rows.forEach(row => {\n const cells = Array.from(row.querySelectorAll('spw-table-cell'));\n const targetCell = cells[columnIndex];\n const checkbox = targetCell?.querySelector('spw-checkbox') as any;\n\n if (checkbox && !this.isCheckboxDisabled(checkbox)) {\n checkbox.checked = checked;\n checkbox.setAttribute('checked', checked.toString());\n }\n });\n\n setTimeout(() => {\n this.updateMasterCheckboxState();\n }, 0);\n }\n\n @Listen('spwHeaderClick')\n handleHeaderClick(event: CustomEvent<string>) {\n const columnId = event.detail;\n const current = this.currentSort;\n\n const newSort: SortEvent = {\n column: columnId,\n direction: current?.column === columnId && current.direction === 'asc' ? 'desc' : 'asc',\n };\n\n this.currentSort = newSort;\n this.spwSort.emit(newSort);\n\n if (!this.disableSort) {\n this.sortRows(newSort.column, newSort.direction);\n }\n\n this.updateHeadersSortState(newSort);\n this.updateZebra();\n }\n\n private updateZebra() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (!slot) return;\n\n const assignedElements = slot.assignedElements({ flatten: true });\n const body = assignedElements.find(el => el.tagName.toLowerCase() === 'spw-table-body') as any;\n\n if (body) {\n if (this.isZebra) {\n body.setAttribute('is-zebra', 'true');\n } else {\n body.removeAttribute('is-zebra');\n }\n\n if (typeof body.updateZebraStyles === 'function') {\n body.updateZebraStyles();\n }\n }\n }\n\n private applyStickyToChildren() {\n requestAnimationFrame(() => {\n const stickyClass = '--is-sticky';\n const headers = this.el.querySelectorAll('spw-table-header');\n const cells = this.el.querySelectorAll('spw-table-cell');\n const footer = this.el.querySelector('spw-table-footer');\n\n if (this.isSticky) {\n headers.forEach(header => header.classList.add(stickyClass));\n footer?.classList.add(stickyClass);\n } else {\n headers.forEach(header => header.classList.remove(stickyClass));\n cells.forEach(cell => cell.classList.remove(stickyClass));\n footer?.classList.remove(stickyClass);\n }\n });\n }\n\n private sortRows(columnId: string, direction: 'asc' | 'desc') {\n const body = this.el.shadowRoot\n .querySelector('slot')\n ?.assignedElements()\n .find(el => el.tagName.toLowerCase() === 'spw-table-body');\n if (!body) return;\n\n const rows = Array.from(body.querySelectorAll('spw-table-row'));\n\n const columnIndex = Array.from(this.el.querySelectorAll('spw-table-header')).findIndex((header: any) => header.columnId === columnId);\n if (columnIndex === -1) return;\n\n rows.sort((a: any, b: any) => {\n const aCell = a.querySelectorAll('spw-table-cell')[columnIndex];\n const bCell = b.querySelectorAll('spw-table-cell')[columnIndex];\n if (!aCell || !bCell) return 0;\n\n const aValue = aCell.textContent.trim();\n const bValue = bCell.textContent.trim();\n\n if (!isNaN(Number(aValue)) && !isNaN(Number(bValue))) {\n return direction === 'asc' ? +aValue - +bValue : +bValue - +aValue;\n }\n\n return direction === 'asc' ? aValue.localeCompare(bValue) : bValue.localeCompare(aValue);\n });\n\n rows.forEach(row => body.appendChild(row));\n\n const bodyComponent = body as HTMLSpwTableBodyElement;\n if (bodyComponent?.updateZebraStyles) {\n bodyComponent.updateZebraStyles();\n }\n }\n\n private updateHeadersSortState(sort: SortEvent) {\n const headers = this.el.querySelectorAll('spw-table-header');\n headers.forEach((header: any) => {\n const isCurrent = header.columnId === sort.column;\n header.isSorted = isCurrent;\n header.sortDirection = isCurrent ? sort.direction : undefined;\n });\n }\n\n private formatSize(value?: string): string {\n if (value === undefined || value === null) {\n return 'auto';\n }\n return `${value}px`;\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-table': true,\n 'spw-table--is-sticky': this.isSticky,\n [`spw-table--layout-${this.tableLayout}`]: true,\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"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, F as Fragment, a as Host } from './index.js';
2
2
  import { d as defineCustomElement$3 } from './p-_q4w18VU.js';
3
- import { d as defineCustomElement$2 } from './p-BDRCqK1w.js';
3
+ import { d as defineCustomElement$2 } from './p-J5AA2xQI.js';
4
4
 
5
5
  const spwTabsNavigationItemCss = "/*! 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;--spw-tabs-width:auto;--spw-tabs-text-align:left;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;text-align:var(--spw-tabs-text-align);transition:color .2s linear;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--spw-tabs-width)}.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}";
6
6
 
@@ -9,7 +9,7 @@ const SpwTabsNavigationItem$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabsNa
9
9
  super();
10
10
  this.__registerHost();
11
11
  this.__attachShadow();
12
- this.tabSelected = createEvent(this, "tabSelected");
12
+ this.tabSelected = createEvent(this, "tabSelected", 7);
13
13
  /** Définit si le tab est actif ou non */
14
14
  this.active = false;
15
15
  /** Définit si le tab est disabled ou non */
@@ -67,7 +67,7 @@ const SpwTabsNavigationItem$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabsNa
67
67
  const iconPosition = this.icon && !this.iconPosition ? 'right' : this.iconPosition;
68
68
  const iconClass = `spw-icon--${iconPosition}`;
69
69
  const iconElement = this.icon ? h("spw-icon", { class: iconClass, icon: this.icon }) : null;
70
- return (h(Host, { key: '69b4ca0589695674c2cd3ee7700bf0cac11079ba', class: this.active ? '--active' : '' }, h("li", { key: '0267afa8b40c348f99a5f495312f25c50f367130', 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: '3b932414ce51d5c51fca9bc08e3d446dfaa1c66e', cursor: this.disabled ? 'disabled' : 'pointer', class: "spw-tooltip--has-ellipsis", tooltipText: this.slotText }, iconPosition === 'left' && iconElement, h("slot", { key: '70896cb3ca07e46cf01c29138faf9073e3f8dce0' }), iconPosition === 'right' && iconElement)), !this.hasEllipsis && (h(Fragment, { key: '8474a01458a8270f11672ecfa6e4dc7dc933ade2' }, iconPosition === 'left' && iconElement, h("slot", { key: 'eb7e43973cef806885e9296daff45b05cfaf829b' }), iconPosition === 'right' && iconElement)), ' ', this.bubble && h("span", { key: 'a6b5d5f59e4ab21d71bf75cf65864291ea63dccd', class: "bubble" }))));
70
+ return (h(Host, { key: '4570863acc066a81e3c4769eecf3a9a2c6c0c5df', class: this.active ? '--active' : '' }, h("li", { key: 'c4f00308f2265f5acf9d6ce5d18342a6d5118403', 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: '7a7f10a7d402fd08f9254d4c9e0820f7eba5459b', cursor: this.disabled ? 'disabled' : 'pointer', class: "spw-tooltip--has-ellipsis", tooltipText: this.slotText }, iconPosition === 'left' && iconElement, h("slot", { key: '82e6379ecc7c353dd5816df4295c8e2f3189211a' }), iconPosition === 'right' && iconElement)), !this.hasEllipsis && (h(Fragment, { key: '76ee269ebf8de32788aab9fbe280ca4acd29caca' }, iconPosition === 'left' && iconElement, h("slot", { key: '537f33fe187848bb67e529fcd94a89a54a88e282' }), iconPosition === 'right' && iconElement)), ' ', this.bubble && h("span", { key: 'a298011730c038c214728e6a9465aca289123a77', class: "bubble" }))));
71
71
  }
72
72
  get el() { return this; }
73
73
  static get style() { return spwTabsNavigationItemCss; }
@@ -91,7 +91,7 @@ const SpwTabsNavigation$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabsNaviga
91
91
  this.checkOverflow();
92
92
  }
93
93
  render() {
94
- return (h("div", { key: '6629497ad63c4cdbd1909ac4c2e7b88892c191ec', class: "spw-tabs-navigation-container" }, this.showLeftArrow && (h("button", { key: '4a4269d101912ff9ee7c4b6a245263b9709322fd', 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: 'e18c9a63b807b77208e6e9bb188f059af819e330', icon: "fa-chevron-left" }))), h("nav", { key: '885dfe03e15050612c8efe8a4421f9e4bba2cef1', class: "spw-tabs-navigation" }, h("ul", { key: 'f2fdc83d29a5d060dd993f7db0b8d81867c8b432', class: "spw-tabs-navigation__list", role: "tablist", ref: el => (this.ulElement = el), onScroll: this.handleScroll }, h("slot", { key: 'bd14eebcc28b7dc2aeb56cce6709f4155eed7490' }))), this.showRightArrow && (h("button", { key: 'eafa4b51f6bba6382653c76a6880ca2ce1e151f5', 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: '94a175ac9004fb5cf018c8847d26e12088797cee', icon: "fa-chevron-right" })))));
94
+ return (h("div", { key: 'f7a4bfdab3232c7ce3a7d1f28279733419dd4ae7', class: "spw-tabs-navigation-container" }, this.showLeftArrow && (h("button", { key: 'd8c9496990f8e48fa18927e5b2cb3a2e5b38c83c', 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: 'eabaa1b71fdacd05cf41ee417994a5eedfc6f8d3', icon: "fa-chevron-left" }))), h("nav", { key: 'e7e50d5c97c72d0a9786865b89aaac519a265a09', class: "spw-tabs-navigation" }, h("ul", { key: 'f2824eb6b477ed6ad3ab3d3a7ec4725dbd38d741', class: "spw-tabs-navigation__list", role: "tablist", ref: el => (this.ulElement = el), onScroll: this.handleScroll }, h("slot", { key: 'ebf5b6ae1b51cf5603b07a896ac63add8a75ab6e' }))), this.showRightArrow && (h("button", { key: '54f99195ebc3bbd7dd270a2cad5d71905003d0df', 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: 'b5151f6a76a6d3ae7340c52e11e4a53e6c7b2de0', icon: "fa-chevron-right" })))));
95
95
  }
96
96
  get hostElement() { return this; }
97
97
  static get style() { return spwTabsNavigationCss; }
@@ -7,7 +7,7 @@ const SpwTabs$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabs extends H {
7
7
  super();
8
8
  this.__registerHost();
9
9
  this.__attachShadow();
10
- this.tabChanged = createEvent(this, "tabChanged");
10
+ this.tabChanged = createEvent(this, "tabChanged", 1);
11
11
  /** Onglet actif par défaut */
12
12
  this.defaultActiveTab = '1';
13
13
  /** Variante des onglets */
@@ -54,7 +54,9 @@ const SpwTabs$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabs extends H {
54
54
  this.activeTab = tabId;
55
55
  }
56
56
  handleTabSelected(event) {
57
- if (event.target && event.target.closest('spw-tabs') !== this.el) {
57
+ const path = event.composedPath();
58
+ const firstTabsInPath = path.find(el => el.tagName === 'SPW-TABS');
59
+ if (firstTabsInPath !== this.el) {
58
60
  return;
59
61
  }
60
62
  this.activeTab = event.detail;
@@ -169,7 +171,7 @@ const SpwTabs$1 = /*@__PURE__*/ proxyCustomElement(class SpwTabs extends H {
169
171
  };
170
172
  }
171
173
  render() {
172
- return (h("div", { key: '059b86ccabb9381aa9fbf500740feedb82a094c1', class: this.elementClass }, h("slot", { key: '4cdc7ad3147d1deed4457df8002754acd8543b6c', name: "navigation" }), h("slot", { key: '08a683a02a6da7ca01b443de36e9f51d95d3b047', name: "content" })));
174
+ return (h("div", { key: 'b4ab2e3d669cf271c861030894df09e5a30c32b6', class: this.elementClass }, h("slot", { key: 'c4fc77c49d19f00326eaa1fc6fc6d2f6f1ae42c6', name: "navigation" }), h("slot", { key: 'cb3766973065dff8a272fe5876b3cc2e93ac0a66', name: "content" })));
173
175
  }
174
176
  get el() { return this; }
175
177
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"spw-tabs.js","mappings":"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","names":["SpwTabs","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-tabs/spw-tabs.scss?tag=spw-tabs&encapsulation=shadow","src/components/spw-tabs/spw-tabs.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, State, Event, EventEmitter, Prop, Method, Element, Listen, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs',\n styleUrl: 'spw-tabs.scss',\n shadow: true,\n})\nexport class SpwTabs {\n @Element() el: HTMLElement;\n\n /** Onglet actif par défaut */\n @Prop() defaultActiveTab: string = '1';\n /** Variante des onglets */\n @Prop() variant: 'default' | 'box' = 'default';\n /** Texte coupé si trop long, affiche un tooltip si le contenu excède la max-width définie */\n @Prop() hasEllipsis?: boolean = false;\n /** Définit la largeur maximale de l'onglet (en pixels) */\n @Prop() maxWidth?: number;\n /** Permet de spécifier la taille de l'onglet */\n @Prop() size?: 'large' | 'medium' | 'small' = 'small';\n\n @State() activeTab: string = '1'; // Initialiser avec une valeur par défaut\n\n /** Événement émis lorsque l'onglet actif change */\n @Event() tabChanged: EventEmitter<string>;\n\n componentWillLoad() {\n this.activeTab = this.defaultActiveTab;\n }\n\n componentDidLoad() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n\n setTimeout(() => {\n this.applyMaxWidthToChildren();\n }, 100);\n }\n\n @Watch('activeTab')\n activeTabChanged() {\n this.updateActiveStates();\n this.tabChanged.emit(this.activeTab);\n }\n\n @Watch('maxWidth')\n maxWidthChanged() {\n this.applyMaxWidthToChildren();\n }\n\n @Watch('hasEllipsis')\n hasEllipsisChanged() {\n this.applyVariantToChildren();\n }\n\n /**\n * Récupère l'onglet actuellement sélectionné\n * @returns {Promise<string>} L'ID de l'onglet actif\n */\n @Method()\n async getSelectedTab(): Promise<string> {\n return this.activeTab;\n }\n\n /**\n * Définit l'onglet sélectionné\n * @param tabId L'ID de l'onglet à sélectionner\n * @returns {Promise<void>}\n */\n @Method()\n async setSelectedTab(tabId: string): Promise<void> {\n this.activeTab = tabId;\n }\n\n @Listen('tabSelected', { capture: true })\n handleTabSelected(event: CustomEvent<string>) {\n if (event.target && (event.target as HTMLElement).closest('spw-tabs') !== this.el) {\n return;\n }\n\n this.activeTab = event.detail;\n event.stopPropagation();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n this.applyMaxWidthToChildren();\n }\n\n private updateActiveStates() {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n\n const contents = Array.from(this.el.querySelectorAll('spw-tabs-content')).filter(isInThisComponent) as HTMLSpwTabsContentElement[];\n\n navItems.forEach(item => {\n item.active = item.tabId === this.activeTab;\n });\n\n contents.forEach(content => {\n content.active = content.tabId === this.activeTab;\n });\n }\n\n private applyMaxWidthToChildren() {\n if (!this.maxWidth) {\n return;\n }\n\n requestAnimationFrame(() => {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n const ellipsisClass = `--ellipsis`;\n\n navItems.forEach(item => {\n const textContent = item.textContent?.trim() || '';\n\n if (!textContent) {\n return;\n }\n\n const measureEl = document.createElement('div');\n measureEl.style.cssText = `\n position: absolute;\n visibility: hidden;\n white-space: nowrap;\n top: -9999px;\n left: -9999px;\n `;\n measureEl.textContent = textContent;\n\n const computedStyle = window.getComputedStyle(item);\n measureEl.style.fontSize = computedStyle.fontSize;\n measureEl.style.fontFamily = computedStyle.fontFamily;\n measureEl.style.fontWeight = computedStyle.fontWeight;\n measureEl.style.fontStyle = computedStyle.fontStyle;\n measureEl.style.letterSpacing = computedStyle.letterSpacing;\n measureEl.style.textTransform = computedStyle.textTransform;\n\n document.body.appendChild(measureEl);\n const contentWidth = measureEl.getBoundingClientRect().width;\n document.body.removeChild(measureEl);\n\n if (contentWidth > this.maxWidth) {\n item.style.setProperty('--spw-tabs-max-width-text', `${this.maxWidth}px`);\n\n item.setAttribute('has-ellipsis', 'true');\n\n item.classList.add(ellipsisClass);\n } else {\n item.style.removeProperty('--spw-tabs-max-width-text');\n item.setAttribute('has-ellipsis', 'false');\n item.classList.remove(ellipsisClass);\n }\n });\n });\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const sizeClass = `--${this.size}`;\n\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navigationSlot = this.el.shadowRoot?.querySelector('slot[name=\"navigation\"]') as HTMLSlotElement;\n const contentSlot = this.el.shadowRoot?.querySelector('slot[name=\"content\"]') as HTMLSlotElement;\n\n const navigationElements = (navigationSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n const contentElements = (contentSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n\n navigationElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-NAVIGATION') {\n el.classList.add(variantClass);\n\n el.querySelectorAll('spw-tabs-navigation-item').forEach(item => {\n if (isInThisComponent(item)) {\n item.classList.add(variantClass);\n item.classList.add(sizeClass);\n }\n });\n } else if (el.tagName === 'SPW-TABS-NAVIGATION-ITEM') {\n el.classList.add(variantClass);\n el.classList.add(sizeClass);\n }\n });\n\n contentElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-CONTENT') {\n el.classList.add(variantClass);\n } else {\n el.querySelectorAll('spw-tabs-content').forEach(content => {\n if (isInThisComponent(content)) {\n content.classList.add(variantClass);\n }\n });\n }\n });\n\n this.applyMaxWidthToChildren();\n });\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-tabs': true,\n [`spw-tabs--${this.variant}`]: true,\n };\n }\n\n render() {\n return (\n <div class={this.elementClass}>\n <slot name=\"navigation\"></slot>\n <slot name=\"content\"></slot>\n </div>\n );\n }\n}"],"version":3}
1
+ {"file":"spw-tabs.js","mappings":"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","names":["SpwTabs","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-tabs/spw-tabs.scss?tag=spw-tabs&encapsulation=shadow","src/components/spw-tabs/spw-tabs.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, h, State, Event, EventEmitter, Prop, Method, Element, Listen, Watch } from '@stencil/core';\n\n@Component({\n tag: 'spw-tabs',\n styleUrl: 'spw-tabs.scss',\n shadow: true,\n})\nexport class SpwTabs {\n @Element() el: HTMLElement;\n\n /** Onglet actif par défaut */\n @Prop() defaultActiveTab: string = '1';\n /** Variante des onglets */\n @Prop() variant: 'default' | 'box' = 'default';\n /** Texte coupé si trop long, affiche un tooltip si le contenu excède la max-width définie */\n @Prop() hasEllipsis?: boolean = false;\n /** Définit la largeur maximale de l'onglet (en pixels) */\n @Prop() maxWidth?: number;\n /** Permet de spécifier la taille de l'onglet */\n @Prop() size?: 'large' | 'medium' | 'small' = 'small';\n\n @State() activeTab: string = '1'; // Initialiser avec une valeur par défaut\n\n /** Événement émis lorsque l'onglet actif change */\n @Event({\n bubbles: false,\n composed: false\n }) tabChanged: EventEmitter<string>;\n\n componentWillLoad() {\n this.activeTab = this.defaultActiveTab;\n }\n\n componentDidLoad() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n\n setTimeout(() => {\n this.applyMaxWidthToChildren();\n }, 100);\n }\n\n @Watch('activeTab')\n activeTabChanged() {\n this.updateActiveStates();\n this.tabChanged.emit(this.activeTab);\n }\n\n @Watch('maxWidth')\n maxWidthChanged() {\n this.applyMaxWidthToChildren();\n }\n\n @Watch('hasEllipsis')\n hasEllipsisChanged() {\n this.applyVariantToChildren();\n }\n\n /**\n * Récupère l'onglet actuellement sélectionné\n * @returns {Promise<string>} L'ID de l'onglet actif\n */\n @Method()\n async getSelectedTab(): Promise<string> {\n return this.activeTab;\n }\n\n /**\n * Définit l'onglet sélectionné\n * @param tabId L'ID de l'onglet à sélectionner\n * @returns {Promise<void>}\n */\n @Method()\n async setSelectedTab(tabId: string): Promise<void> {\n this.activeTab = tabId;\n }\n\n @Listen('tabSelected', { capture: true })\n handleTabSelected(event: CustomEvent<string>) {\n const path = event.composedPath();\n const firstTabsInPath = path.find(el => (el as HTMLElement).tagName === 'SPW-TABS') as HTMLElement;\n if (firstTabsInPath !== this.el) {\n return;\n }\n\n this.activeTab = event.detail;\n event.stopPropagation();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.applyVariantToChildren();\n this.updateActiveStates();\n this.applyMaxWidthToChildren();\n }\n\n private updateActiveStates() {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n\n const contents = Array.from(this.el.querySelectorAll('spw-tabs-content')).filter(isInThisComponent) as HTMLSpwTabsContentElement[];\n\n navItems.forEach(item => {\n item.active = item.tabId === this.activeTab;\n });\n\n contents.forEach(content => {\n content.active = content.tabId === this.activeTab;\n });\n }\n\n private applyMaxWidthToChildren() {\n if (!this.maxWidth) {\n return;\n }\n\n requestAnimationFrame(() => {\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n const navItems = Array.from(this.el.querySelectorAll('spw-tabs-navigation-item')).filter(isInThisComponent) as HTMLSpwTabsNavigationItemElement[];\n const ellipsisClass = `--ellipsis`;\n\n navItems.forEach(item => {\n const textContent = item.textContent?.trim() || '';\n\n if (!textContent) {\n return;\n }\n\n const measureEl = document.createElement('div');\n measureEl.style.cssText = `\n position: absolute;\n visibility: hidden;\n white-space: nowrap;\n top: -9999px;\n left: -9999px;\n `;\n measureEl.textContent = textContent;\n\n const computedStyle = window.getComputedStyle(item);\n measureEl.style.fontSize = computedStyle.fontSize;\n measureEl.style.fontFamily = computedStyle.fontFamily;\n measureEl.style.fontWeight = computedStyle.fontWeight;\n measureEl.style.fontStyle = computedStyle.fontStyle;\n measureEl.style.letterSpacing = computedStyle.letterSpacing;\n measureEl.style.textTransform = computedStyle.textTransform;\n\n document.body.appendChild(measureEl);\n const contentWidth = measureEl.getBoundingClientRect().width;\n document.body.removeChild(measureEl);\n\n if (contentWidth > this.maxWidth) {\n item.style.setProperty('--spw-tabs-max-width-text', `${this.maxWidth}px`);\n\n item.setAttribute('has-ellipsis', 'true');\n\n item.classList.add(ellipsisClass);\n } else {\n item.style.removeProperty('--spw-tabs-max-width-text');\n item.setAttribute('has-ellipsis', 'false');\n item.classList.remove(ellipsisClass);\n }\n });\n });\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const sizeClass = `--${this.size}`;\n\n const isInThisComponent = (el: Element) => el.closest('spw-tabs') === this.el;\n\n const navigationSlot = this.el.shadowRoot?.querySelector('slot[name=\"navigation\"]') as HTMLSlotElement;\n const contentSlot = this.el.shadowRoot?.querySelector('slot[name=\"content\"]') as HTMLSlotElement;\n\n const navigationElements = (navigationSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n const contentElements = (contentSlot?.assignedElements({ flatten: true }) || []).filter(isInThisComponent);\n\n navigationElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-NAVIGATION') {\n el.classList.add(variantClass);\n\n el.querySelectorAll('spw-tabs-navigation-item').forEach(item => {\n if (isInThisComponent(item)) {\n item.classList.add(variantClass);\n item.classList.add(sizeClass);\n }\n });\n } else if (el.tagName === 'SPW-TABS-NAVIGATION-ITEM') {\n el.classList.add(variantClass);\n el.classList.add(sizeClass);\n }\n });\n\n contentElements.forEach(el => {\n if (el.tagName === 'SPW-TABS-CONTENT') {\n el.classList.add(variantClass);\n } else {\n el.querySelectorAll('spw-tabs-content').forEach(content => {\n if (isInThisComponent(content)) {\n content.classList.add(variantClass);\n }\n });\n }\n });\n\n this.applyMaxWidthToChildren();\n });\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-tabs': true,\n [`spw-tabs--${this.variant}`]: true,\n };\n }\n\n render() {\n return (\n <div class={this.elementClass}>\n <slot name=\"navigation\"></slot>\n <slot name=\"content\"></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -50,7 +50,7 @@ const SpwTag$1 = /*@__PURE__*/ proxyCustomElement(class SpwTag extends H {
50
50
  href,
51
51
  target,
52
52
  };
53
- return (h(Host, { key: 'e39bdac7b1f1c2b9aa57a674a723c077a45000b9' }, h(TagType, Object.assign({ key: '3e6d035f2cbafdf273b2f9ade083d97737587146' }, attrs, { class: this.elementClass }), this.hasIcon && h("spw-icon", { key: 'd3a8a2640087200026838eb0912d9d9cda9c0ec3', icon: this.getIcon(this.variant) }), h("slot", { key: 'd2d3c7f8c5b37f3c51665c9f2b22cb7022bbd78b' }))));
53
+ return (h(Host, { key: 'bda34729477b08d8a8e9ef1352f6030ec1eab9fa' }, h(TagType, Object.assign({ key: 'b67722ec2d656df38cd7a1cf0a9e4b1fc59bb9d1' }, attrs, { class: this.elementClass }), this.hasIcon && h("spw-icon", { key: 'acf8ac1c7fa6a26f6e97f044dc72e33110ec2a29', icon: this.getIcon(this.variant) }), h("slot", { key: '7d02564667780d40e57937218fa92c1f326f1207' }))));
54
54
  }
55
55
  static get style() { return spwTagCss; }
56
56
  }, [1, "spw-tag", {
@@ -1,4 +1,4 @@
1
- import { S as SpwTextField$1, d as defineCustomElement$1 } from './p-Dku0Cksp.js';
1
+ import { S as SpwTextField$1, d as defineCustomElement$1 } from './p-_sdYD0eS.js';
2
2
 
3
3
  const SpwTextField = SpwTextField$1;
4
4
  const defineCustomElement = defineCustomElement$1;