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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (734) hide show
  1. package/dist/cjs/{index-DPoQq9TD.js → index-iVhYitTd.js} +5 -2
  2. package/dist/cjs/index-iVhYitTd.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/spw-accordion_4.cjs.entry.js +5 -5
  5. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +2 -2
  6. package/dist/cjs/spw-breadcrumb.cjs.entry.js +2 -2
  7. package/dist/cjs/spw-button_2.cjs.entry.js +3 -3
  8. package/dist/cjs/spw-card-content.cjs.entry.js +3 -3
  9. package/dist/cjs/spw-card-content.cjs.entry.js.map +1 -1
  10. package/dist/cjs/spw-card-content.entry.cjs.js.map +1 -1
  11. package/dist/cjs/spw-card-excerpt.cjs.entry.js +3 -3
  12. package/dist/cjs/spw-card-excerpt.cjs.entry.js.map +1 -1
  13. package/dist/cjs/spw-card-excerpt.entry.cjs.js.map +1 -1
  14. package/dist/cjs/spw-card-image.cjs.entry.js +3 -3
  15. package/dist/cjs/spw-card-image.cjs.entry.js.map +1 -1
  16. package/dist/cjs/spw-card-image.entry.cjs.js.map +1 -1
  17. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +2 -2
  18. package/dist/cjs/spw-card-subtags.cjs.entry.js +2 -2
  19. package/dist/cjs/spw-card-title.cjs.entry.js +5 -3
  20. package/dist/cjs/spw-card-title.cjs.entry.js.map +1 -1
  21. package/dist/cjs/spw-card-title.entry.cjs.js.map +1 -1
  22. package/dist/cjs/spw-card.cjs.entry.js +3 -3
  23. package/dist/cjs/spw-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/spw-card.entry.cjs.js.map +1 -1
  25. package/dist/cjs/spw-checkbox.cjs.entry.js +6 -3
  26. package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
  28. package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
  29. package/dist/cjs/spw-custom-select.cjs.entry.js +23 -12
  30. package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
  31. package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
  32. package/dist/cjs/spw-date-picker.cjs.entry.js +2 -2
  33. package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
  34. package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
  35. package/dist/cjs/spw-field-label_6.cjs.entry.js +8 -8
  36. package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
  37. package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
  38. package/dist/cjs/spw-file-upload.cjs.entry.js +3 -3
  39. package/dist/cjs/spw-footer-bottom.cjs.entry.js +2 -2
  40. package/dist/cjs/spw-footer-content-col.cjs.entry.js +2 -2
  41. package/dist/cjs/spw-footer-content.cjs.entry.js +2 -2
  42. package/dist/cjs/spw-footer-link.cjs.entry.js +2 -2
  43. package/dist/cjs/spw-footer.cjs.entry.js +2 -2
  44. package/dist/cjs/spw-header-lang-item.cjs.entry.js +2 -2
  45. package/dist/cjs/spw-header-lang.cjs.entry.js +2 -2
  46. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +2 -2
  47. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +2 -2
  48. package/dist/cjs/spw-header-navigation.cjs.entry.js +2 -2
  49. package/dist/cjs/spw-header-persona-item.cjs.entry.js +2 -2
  50. package/dist/cjs/spw-header-persona.cjs.entry.js +2 -2
  51. package/dist/cjs/spw-header.cjs.entry.js +2 -2
  52. package/dist/cjs/spw-hero.cjs.entry.js +6 -3
  53. package/dist/cjs/spw-hero.cjs.entry.js.map +1 -1
  54. package/dist/cjs/spw-hero.entry.cjs.js.map +1 -1
  55. package/dist/cjs/spw-illustration.cjs.entry.js +2389 -0
  56. package/dist/cjs/spw-illustration.cjs.entry.js.map +1 -0
  57. package/dist/cjs/spw-illustration.entry.cjs.js.map +1 -0
  58. package/dist/cjs/spw-iodda.cjs.entry.js +2 -2
  59. package/dist/cjs/spw-list-description.cjs.entry.js +2 -2
  60. package/dist/cjs/spw-list-item.cjs.entry.js +2 -2
  61. package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
  62. package/dist/cjs/spw-list.cjs.entry.js +2 -2
  63. package/dist/cjs/spw-message.cjs.entry.js +1 -1
  64. package/dist/cjs/spw-modal.cjs.entry.js +12 -10
  65. package/dist/cjs/spw-modal.cjs.entry.js.map +1 -1
  66. package/dist/cjs/spw-modal.entry.cjs.js.map +1 -1
  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 +7 -7
  70. package/dist/cjs/spw-radio.cjs.entry.js +2 -2
  71. package/dist/cjs/spw-search-field.cjs.entry.js +3 -3
  72. package/dist/cjs/spw-select.cjs.entry.js +37 -3
  73. package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
  74. package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
  75. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +2 -2
  76. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +4 -4
  77. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +2 -2
  78. package/dist/cjs/spw-sidebar.cjs.entry.js +2 -2
  79. package/dist/cjs/spw-skeleton.cjs.entry.js +2 -2
  80. package/dist/cjs/spw-socials.cjs.entry.js +2 -2
  81. package/dist/cjs/spw-stencil-library.cjs.js +2 -2
  82. package/dist/cjs/spw-table-body.cjs.entry.js +2 -2
  83. package/dist/cjs/spw-table-cell.cjs.entry.js +3 -3
  84. package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
  85. package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
  86. package/dist/cjs/spw-table-footer.cjs.entry.js +2 -2
  87. package/dist/cjs/spw-table-head.cjs.entry.js +2 -2
  88. package/dist/cjs/spw-table-header.cjs.entry.js +9 -5
  89. package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
  90. package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
  91. package/dist/cjs/spw-table-row.cjs.entry.js +11 -3
  92. package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
  93. package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
  94. package/dist/cjs/spw-table.cjs.entry.js +23 -10
  95. package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
  96. package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
  97. package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
  98. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +6 -3
  99. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js.map +1 -1
  100. package/dist/cjs/spw-tabs-navigation-item.entry.cjs.js.map +1 -1
  101. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +85 -3
  102. package/dist/cjs/spw-tabs-navigation.cjs.entry.js.map +1 -1
  103. package/dist/cjs/spw-tabs-navigation.entry.cjs.js.map +1 -1
  104. package/dist/cjs/spw-tabs.cjs.entry.js +70 -13
  105. package/dist/cjs/spw-tabs.cjs.entry.js.map +1 -1
  106. package/dist/cjs/spw-tabs.entry.cjs.js.map +1 -1
  107. package/dist/cjs/spw-tag.cjs.entry.js +2 -2
  108. package/dist/cjs/spw-text-field.cjs.entry.js +2 -2
  109. package/dist/cjs/spw-textarea.cjs.entry.js +2 -2
  110. package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
  111. package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
  112. package/dist/cjs/spw-tile.cjs.entry.js +2 -2
  113. package/dist/cjs/spw-tooltip.cjs.entry.js +3 -3
  114. package/dist/cjs/spw-tooltip.cjs.entry.js.map +1 -1
  115. package/dist/cjs/spw-tooltip.entry.cjs.js.map +1 -1
  116. package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
  117. package/dist/cjs/utils-CKYAw_Le.js.map +1 -1
  118. package/dist/collection/collection-manifest.json +2 -1
  119. package/dist/collection/components/spw-accordion/spw-accordion-content/spw-accordion-content.js +1 -1
  120. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.js +1 -1
  121. package/dist/collection/components/spw-accordion/spw-accordion-title/spw-accordion-title.js +1 -1
  122. package/dist/collection/components/spw-accordion/spw-accordion.js +1 -1
  123. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb-item/spw-breadcrumb-item.js +1 -1
  124. package/dist/collection/components/spw-breadcrumb/spw-breadcrumb.js +1 -1
  125. package/dist/collection/components/spw-button/spw-button.js +1 -1
  126. package/dist/collection/components/spw-card/spw-card-content/spw-card-content.css +1 -1
  127. package/dist/collection/components/spw-card/spw-card-content/spw-card-content.js +1 -1
  128. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.css +1 -1
  129. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js +2 -2
  130. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js.map +1 -1
  131. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.css +1 -1
  132. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.js +1 -1
  133. package/dist/collection/components/spw-card/spw-card-subtag-item/spw-card-subtag-item.js +1 -1
  134. package/dist/collection/components/spw-card/spw-card-subtags/spw-card-subtags.js +1 -1
  135. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.css +1 -1
  136. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js +30 -2
  137. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js.map +1 -1
  138. package/dist/collection/components/spw-card/spw-card.css +1 -1
  139. package/dist/collection/components/spw-card/spw-card.js +3 -3
  140. package/dist/collection/components/spw-card/spw-card.js.map +1 -1
  141. package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
  142. package/dist/collection/components/spw-checkbox/spw-checkbox.js +24 -1
  143. package/dist/collection/components/spw-checkbox/spw-checkbox.js.map +1 -1
  144. package/dist/collection/components/spw-custom-select/spw-custom-select.js +27 -16
  145. package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
  146. package/dist/collection/components/spw-date-picker/spw-date-picker.js +1 -1
  147. package/dist/collection/components/spw-dropdown/spw-dropdown.js +1 -1
  148. package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
  149. package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
  150. package/dist/collection/components/spw-file-upload/spw-file-upload.js +2 -2
  151. package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
  152. package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
  153. package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
  154. package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
  155. package/dist/collection/components/spw-footer/spw-footer.js +1 -1
  156. package/dist/collection/components/spw-group/spw-group.js +1 -1
  157. package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
  158. package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
  159. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
  160. package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
  161. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
  162. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
  163. package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
  164. package/dist/collection/components/spw-header/spw-header.js +1 -1
  165. package/dist/collection/components/spw-hero/spw-hero.css +1 -1
  166. package/dist/collection/components/spw-hero/spw-hero.js +24 -1
  167. package/dist/collection/components/spw-hero/spw-hero.js.map +1 -1
  168. package/dist/collection/components/spw-icon/spw-icon.js +1 -1
  169. package/dist/collection/components/spw-illustration/spw-illustration.css +2 -0
  170. package/dist/collection/components/spw-illustration/spw-illustration.js +2479 -0
  171. package/dist/collection/components/spw-illustration/spw-illustration.js.map +1 -0
  172. package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
  173. package/dist/collection/components/spw-link/spw-link.css +1 -1
  174. package/dist/collection/components/spw-link/spw-link.js +1 -1
  175. package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
  176. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
  177. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
  178. package/dist/collection/components/spw-list/spw-list.js +1 -1
  179. package/dist/collection/components/spw-loading/spw-loading.js +1 -1
  180. package/dist/collection/components/spw-modal/spw-modal.js +11 -9
  181. package/dist/collection/components/spw-modal/spw-modal.js.map +1 -1
  182. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  183. package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
  184. package/dist/collection/components/spw-pagination/spw-pagination.js +6 -6
  185. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  186. package/dist/collection/components/spw-search-field/spw-search-field.js +2 -2
  187. package/dist/collection/components/spw-select/spw-select.js +100 -2
  188. package/dist/collection/components/spw-select/spw-select.js.map +1 -1
  189. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  190. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  191. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +3 -3
  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 +1 -1
  194. package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
  195. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  196. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  197. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
  198. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +1 -1
  199. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  200. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  201. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
  202. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +7 -3
  203. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
  204. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
  205. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +35 -1
  206. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
  207. package/dist/collection/components/spw-table/spw-table.js +22 -9
  208. package/dist/collection/components/spw-table/spw-table.js.map +1 -1
  209. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.css +1 -1
  210. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +100 -1
  211. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js.map +1 -1
  212. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.css +1 -1
  213. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +43 -2
  214. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js.map +1 -1
  215. package/dist/collection/components/spw-tabs/spw-tabs.js +129 -12
  216. package/dist/collection/components/spw-tabs/spw-tabs.js.map +1 -1
  217. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  218. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  219. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  220. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  221. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  222. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  223. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  224. package/dist/collection/components/spw-tooltip/spw-tooltip.css +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/stories/components/spw-checkbox/spw-checkbox.stories.js +32 -7
  228. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js.map +1 -1
  229. package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js +108 -0
  230. package/dist/collection/stories/components/spw-custom-select/spw-custom-select.stories.js.map +1 -0
  231. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +6 -4
  232. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
  233. package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js +2 -1
  234. package/dist/collection/stories/components/spw-dropdown/spw-dropdown.stories.js.map +1 -1
  235. package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js +6 -7
  236. package/dist/collection/stories/components/spw-file-upload/spw-file-upload.stories.js.map +1 -1
  237. package/dist/collection/stories/components/spw-icon/spw-icon.stories.js +1 -0
  238. package/dist/collection/stories/components/spw-icon/spw-icon.stories.js.map +1 -1
  239. package/dist/collection/stories/components/spw-radio/spw-radio.stories.js +6 -7
  240. package/dist/collection/stories/components/spw-radio/spw-radio.stories.js.map +1 -1
  241. package/dist/collection/stories/components/spw-select/spw-select.stories.js +6 -7
  242. package/dist/collection/stories/components/spw-select/spw-select.stories.js.map +1 -1
  243. package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js +6 -6
  244. package/dist/collection/stories/components/spw-text-field/spw-text-field.stories.js.map +1 -1
  245. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +99 -4
  246. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
  247. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +4 -2
  248. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
  249. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +2 -1
  250. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
  251. package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js +24 -4
  252. package/dist/collection/stories/organisms/spw-hero/spw-hero.stories.js.map +1 -1
  253. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +2 -1
  254. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
  255. package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js +1 -1
  256. package/dist/collection/stories/organisms/spw-modal/spw-modal.stories.js.map +1 -1
  257. package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js +8 -4
  258. package/dist/collection/stories/organisms/spw-mosaic/spw-mosaic.stories.js.map +1 -1
  259. package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js +2 -1
  260. package/dist/collection/stories/organisms/spw-sidebar/spw-sidebar.stories.js.map +1 -1
  261. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +98 -5
  262. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
  263. package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js +6 -3
  264. package/dist/collection/stories/organisms/spw-tabs/spw-tabs.stories.js.map +1 -1
  265. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +6 -3
  266. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
  267. package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js +2 -1
  268. package/dist/collection/stories/organisms/spw-topbar/spw-topbar.stories.js.map +1 -1
  269. package/dist/collection/utils/utils.js +12 -1
  270. package/dist/collection/utils/utils.js.map +1 -1
  271. package/dist/components/index.js +3 -0
  272. package/dist/components/index.js.map +1 -1
  273. package/dist/components/{p-DibGOHbd.js → p-5qcE_Ljw.js} +6 -6
  274. package/dist/components/{p-DibGOHbd.js.map → p-5qcE_Ljw.js.map} +1 -1
  275. package/dist/components/{p-_VSq6JhE.js → p-8jCY8rtJ.js} +3 -3
  276. package/dist/components/{p-_VSq6JhE.js.map → p-8jCY8rtJ.js.map} +1 -1
  277. package/dist/components/{p-wxevhJKV.js → p-BF73GiQU.js} +4 -4
  278. package/dist/components/{p-wxevhJKV.js.map → p-BF73GiQU.js.map} +1 -1
  279. package/dist/components/{p-CxSDNrYu.js → p-BQKQ0k0G.js} +3 -3
  280. package/dist/components/{p-CxSDNrYu.js.map → p-BQKQ0k0G.js.map} +1 -1
  281. package/dist/components/{p-DMD2z45s.js → p-BbuJ0hsQ.js} +4 -4
  282. package/dist/components/{p-DMD2z45s.js.map → p-BbuJ0hsQ.js.map} +1 -1
  283. package/dist/components/{p-CF4CA9QM.js → p-BowHA3gk.js} +3 -3
  284. package/dist/components/{p-CF4CA9QM.js.map → p-BowHA3gk.js.map} +1 -1
  285. package/dist/components/p-BsulPKjc.js +81 -0
  286. package/dist/components/p-BsulPKjc.js.map +1 -0
  287. package/dist/components/{p-BPTPujMC.js → p-BvWTgY8c.js} +5 -5
  288. package/dist/components/{p-BPTPujMC.js.map → p-BvWTgY8c.js.map} +1 -1
  289. package/dist/components/{p-BrCiFcDB.js → p-CMFyBNvH.js} +12 -12
  290. package/dist/components/{p-BrCiFcDB.js.map → p-CMFyBNvH.js.map} +1 -1
  291. package/dist/components/{p-DDvpvxxV.js → p-C_iAJUsF.js} +3 -3
  292. package/dist/components/{p-DDvpvxxV.js.map → p-C_iAJUsF.js.map} +1 -1
  293. package/dist/components/p-Cf-dIWNi.js +129 -0
  294. package/dist/components/p-Cf-dIWNi.js.map +1 -0
  295. package/dist/components/{p-DqtSG4Dc.js → p-DPUqdUk8.js} +4 -4
  296. package/dist/components/p-DPUqdUk8.js.map +1 -0
  297. package/dist/components/{p-B1_XG4Wf.js → p-JncqUnd1.js} +3 -3
  298. package/dist/components/{p-B1_XG4Wf.js.map → p-JncqUnd1.js.map} +1 -1
  299. package/dist/components/{p-BrOEFNbv.js → p-_q4w18VU.js} +3 -3
  300. package/dist/components/{p-BrOEFNbv.js.map → p-_q4w18VU.js.map} +1 -1
  301. package/dist/components/{p-Ch60bguo.js → p-z27d6ASx.js} +3 -3
  302. package/dist/components/{p-Ch60bguo.js.map → p-z27d6ASx.js.map} +1 -1
  303. package/dist/components/p-zpG0udTn.js.map +1 -1
  304. package/dist/components/spw-accordion-content.js +1 -1
  305. package/dist/components/spw-accordion-item.js +1 -1
  306. package/dist/components/spw-accordion-title.js +1 -1
  307. package/dist/components/spw-accordion.js +1 -1
  308. package/dist/components/spw-breadcrumb-item.js +3 -3
  309. package/dist/components/spw-breadcrumb.js +1 -1
  310. package/dist/components/spw-button.js +1 -1
  311. package/dist/components/spw-card-content.js +2 -2
  312. package/dist/components/spw-card-content.js.map +1 -1
  313. package/dist/components/spw-card-excerpt.js +3 -3
  314. package/dist/components/spw-card-excerpt.js.map +1 -1
  315. package/dist/components/spw-card-image.js +3 -3
  316. package/dist/components/spw-card-image.js.map +1 -1
  317. package/dist/components/spw-card-subtag-item.js +1 -1
  318. package/dist/components/spw-card-subtags.js +1 -1
  319. package/dist/components/spw-card-title.js +8 -4
  320. package/dist/components/spw-card-title.js.map +1 -1
  321. package/dist/components/spw-card.js +2 -2
  322. package/dist/components/spw-card.js.map +1 -1
  323. package/dist/components/spw-checkbox.js +1 -1
  324. package/dist/components/spw-cookies.js +8 -8
  325. package/dist/components/spw-custom-select.js +28 -17
  326. package/dist/components/spw-custom-select.js.map +1 -1
  327. package/dist/components/spw-date-picker.js +4 -4
  328. package/dist/components/spw-dropdown.js +1 -1
  329. package/dist/components/spw-field-label.js +1 -1
  330. package/dist/components/spw-field-message.js +1 -1
  331. package/dist/components/spw-file-upload.js +5 -5
  332. package/dist/components/spw-footer-bottom.js +1 -1
  333. package/dist/components/spw-footer-content-col.js +1 -1
  334. package/dist/components/spw-footer-content.js +1 -1
  335. package/dist/components/spw-footer-link.js +1 -1
  336. package/dist/components/spw-footer.js +1 -1
  337. package/dist/components/spw-group.js +2 -2
  338. package/dist/components/spw-header-lang-item.js +1 -1
  339. package/dist/components/spw-header-lang.js +4 -4
  340. package/dist/components/spw-header-navigation-dropdown.js +1 -1
  341. package/dist/components/spw-header-navigation-item.js +2 -2
  342. package/dist/components/spw-header-navigation.js +2 -2
  343. package/dist/components/spw-header-persona-item.js +1 -1
  344. package/dist/components/spw-header-persona.js +2 -2
  345. package/dist/components/spw-header.js +4 -4
  346. package/dist/components/spw-hero.js +6 -2
  347. package/dist/components/spw-hero.js.map +1 -1
  348. package/dist/components/spw-icon.js +1 -1
  349. package/dist/components/spw-illustration.d.ts +11 -0
  350. package/dist/components/spw-illustration.js +2410 -0
  351. package/dist/components/spw-illustration.js.map +1 -0
  352. package/dist/components/spw-iodda.js +7 -7
  353. package/dist/components/spw-link.js +1 -1
  354. package/dist/components/spw-list-description.js +1 -1
  355. package/dist/components/spw-list-item.js +2 -2
  356. package/dist/components/spw-list-title.js +2 -2
  357. package/dist/components/spw-list.js +1 -1
  358. package/dist/components/spw-loading.js +1 -1
  359. package/dist/components/spw-message.js +2 -2
  360. package/dist/components/spw-modal.js +12 -10
  361. package/dist/components/spw-modal.js.map +1 -1
  362. package/dist/components/spw-mosaic-item.js +1 -1
  363. package/dist/components/spw-mosaic.js +1 -1
  364. package/dist/components/spw-pagination.js +1 -1
  365. package/dist/components/spw-radio.js +1 -1
  366. package/dist/components/spw-search-field.js +6 -6
  367. package/dist/components/spw-select.js +44 -5
  368. package/dist/components/spw-select.js.map +1 -1
  369. package/dist/components/spw-separator.js +1 -1
  370. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  371. package/dist/components/spw-sidebar-navigation-item.js +5 -5
  372. package/dist/components/spw-sidebar-navigation-separator.js +2 -2
  373. package/dist/components/spw-sidebar.js +2 -2
  374. package/dist/components/spw-skeleton.js +1 -1
  375. package/dist/components/spw-socials.js +1 -1
  376. package/dist/components/spw-table-body.js +1 -1
  377. package/dist/components/spw-table-cell.js +2 -2
  378. package/dist/components/spw-table-cell.js.map +1 -1
  379. package/dist/components/spw-table-footer.js +1 -1
  380. package/dist/components/spw-table-head.js +1 -1
  381. package/dist/components/spw-table-header.js +10 -6
  382. package/dist/components/spw-table-header.js.map +1 -1
  383. package/dist/components/spw-table-row.js +13 -3
  384. package/dist/components/spw-table-row.js.map +1 -1
  385. package/dist/components/spw-table.js +22 -9
  386. package/dist/components/spw-table.js.map +1 -1
  387. package/dist/components/spw-tabs-navigation-item.js +21 -4
  388. package/dist/components/spw-tabs-navigation-item.js.map +1 -1
  389. package/dist/components/spw-tabs-navigation.js +95 -4
  390. package/dist/components/spw-tabs-navigation.js.map +1 -1
  391. package/dist/components/spw-tabs.js +75 -14
  392. package/dist/components/spw-tabs.js.map +1 -1
  393. package/dist/components/spw-tag.js +2 -2
  394. package/dist/components/spw-text-field.js +1 -1
  395. package/dist/components/spw-textarea.js +4 -4
  396. package/dist/components/spw-theme-provider.js +1 -1
  397. package/dist/components/spw-tile-description.js +1 -1
  398. package/dist/components/spw-tile-title.js +1 -1
  399. package/dist/components/spw-tile.js +2 -2
  400. package/dist/components/spw-tooltip.js +1 -1
  401. package/dist/components/spw-topbar.js +1 -1
  402. package/dist/components_json.json +538 -38
  403. package/dist/esm/{index-BaAUTDWF.js → index-BYM_CUUH.js} +5 -2
  404. package/dist/esm/index-BYM_CUUH.js.map +1 -0
  405. package/dist/esm/loader.js +3 -3
  406. package/dist/esm/spw-accordion_4.entry.js +5 -5
  407. package/dist/esm/spw-breadcrumb-item.entry.js +2 -2
  408. package/dist/esm/spw-breadcrumb.entry.js +2 -2
  409. package/dist/esm/spw-button_2.entry.js +3 -3
  410. package/dist/esm/spw-card-content.entry.js +3 -3
  411. package/dist/esm/spw-card-content.entry.js.map +1 -1
  412. package/dist/esm/spw-card-excerpt.entry.js +3 -3
  413. package/dist/esm/spw-card-excerpt.entry.js.map +1 -1
  414. package/dist/esm/spw-card-image.entry.js +3 -3
  415. package/dist/esm/spw-card-image.entry.js.map +1 -1
  416. package/dist/esm/spw-card-subtag-item.entry.js +2 -2
  417. package/dist/esm/spw-card-subtags.entry.js +2 -2
  418. package/dist/esm/spw-card-title.entry.js +5 -3
  419. package/dist/esm/spw-card-title.entry.js.map +1 -1
  420. package/dist/esm/spw-card.entry.js +3 -3
  421. package/dist/esm/spw-card.entry.js.map +1 -1
  422. package/dist/esm/spw-checkbox.entry.js +6 -3
  423. package/dist/esm/spw-checkbox.entry.js.map +1 -1
  424. package/dist/esm/spw-cookies.entry.js +1 -1
  425. package/dist/esm/spw-custom-select.entry.js +23 -12
  426. package/dist/esm/spw-custom-select.entry.js.map +1 -1
  427. package/dist/esm/spw-date-picker.entry.js +2 -2
  428. package/dist/esm/spw-dropdown.entry.js +2 -2
  429. package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
  430. package/dist/esm/spw-field-label_6.entry.js +8 -8
  431. package/dist/esm/spw-field-label_6.entry.js.map +1 -1
  432. package/dist/esm/spw-field-message.entry.js +2 -2
  433. package/dist/esm/spw-file-upload.entry.js +3 -3
  434. package/dist/esm/spw-footer-bottom.entry.js +2 -2
  435. package/dist/esm/spw-footer-content-col.entry.js +2 -2
  436. package/dist/esm/spw-footer-content.entry.js +2 -2
  437. package/dist/esm/spw-footer-link.entry.js +2 -2
  438. package/dist/esm/spw-footer.entry.js +2 -2
  439. package/dist/esm/spw-header-lang-item.entry.js +2 -2
  440. package/dist/esm/spw-header-lang.entry.js +2 -2
  441. package/dist/esm/spw-header-navigation-dropdown.entry.js +2 -2
  442. package/dist/esm/spw-header-navigation-item.entry.js +2 -2
  443. package/dist/esm/spw-header-navigation.entry.js +2 -2
  444. package/dist/esm/spw-header-persona-item.entry.js +2 -2
  445. package/dist/esm/spw-header-persona.entry.js +2 -2
  446. package/dist/esm/spw-header.entry.js +2 -2
  447. package/dist/esm/spw-hero.entry.js +6 -3
  448. package/dist/esm/spw-hero.entry.js.map +1 -1
  449. package/dist/esm/spw-illustration.entry.js +2387 -0
  450. package/dist/esm/spw-illustration.entry.js.map +1 -0
  451. package/dist/esm/spw-iodda.entry.js +2 -2
  452. package/dist/esm/spw-list-description.entry.js +2 -2
  453. package/dist/esm/spw-list-item.entry.js +2 -2
  454. package/dist/esm/spw-list-title.entry.js +2 -2
  455. package/dist/esm/spw-list.entry.js +2 -2
  456. package/dist/esm/spw-message.entry.js +1 -1
  457. package/dist/esm/spw-modal.entry.js +12 -10
  458. package/dist/esm/spw-modal.entry.js.map +1 -1
  459. package/dist/esm/spw-mosaic-item.entry.js +2 -2
  460. package/dist/esm/spw-mosaic.entry.js +2 -2
  461. package/dist/esm/spw-pagination.entry.js +7 -7
  462. package/dist/esm/spw-radio.entry.js +2 -2
  463. package/dist/esm/spw-search-field.entry.js +3 -3
  464. package/dist/esm/spw-select.entry.js +37 -3
  465. package/dist/esm/spw-select.entry.js.map +1 -1
  466. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +2 -2
  467. package/dist/esm/spw-sidebar-navigation-item.entry.js +4 -4
  468. package/dist/esm/spw-sidebar-navigation-separator.entry.js +2 -2
  469. package/dist/esm/spw-sidebar.entry.js +2 -2
  470. package/dist/esm/spw-skeleton.entry.js +2 -2
  471. package/dist/esm/spw-socials.entry.js +2 -2
  472. package/dist/esm/spw-stencil-library.js +3 -3
  473. package/dist/esm/spw-table-body.entry.js +2 -2
  474. package/dist/esm/spw-table-cell.entry.js +3 -3
  475. package/dist/esm/spw-table-cell.entry.js.map +1 -1
  476. package/dist/esm/spw-table-footer.entry.js +2 -2
  477. package/dist/esm/spw-table-head.entry.js +2 -2
  478. package/dist/esm/spw-table-header.entry.js +9 -5
  479. package/dist/esm/spw-table-header.entry.js.map +1 -1
  480. package/dist/esm/spw-table-row.entry.js +11 -3
  481. package/dist/esm/spw-table-row.entry.js.map +1 -1
  482. package/dist/esm/spw-table.entry.js +23 -10
  483. package/dist/esm/spw-table.entry.js.map +1 -1
  484. package/dist/esm/spw-tabs-content.entry.js +1 -1
  485. package/dist/esm/spw-tabs-navigation-item.entry.js +6 -3
  486. package/dist/esm/spw-tabs-navigation-item.entry.js.map +1 -1
  487. package/dist/esm/spw-tabs-navigation.entry.js +85 -3
  488. package/dist/esm/spw-tabs-navigation.entry.js.map +1 -1
  489. package/dist/esm/spw-tabs.entry.js +70 -13
  490. package/dist/esm/spw-tabs.entry.js.map +1 -1
  491. package/dist/esm/spw-tag.entry.js +2 -2
  492. package/dist/esm/spw-text-field.entry.js +2 -2
  493. package/dist/esm/spw-textarea.entry.js +2 -2
  494. package/dist/esm/spw-tile-description.entry.js +2 -2
  495. package/dist/esm/spw-tile-title.entry.js +2 -2
  496. package/dist/esm/spw-tile.entry.js +2 -2
  497. package/dist/esm/spw-tooltip.entry.js +3 -3
  498. package/dist/esm/spw-tooltip.entry.js.map +1 -1
  499. package/dist/esm/spw-topbar.entry.js +2 -2
  500. package/dist/esm/utils-zpG0udTn.js.map +1 -1
  501. package/dist/spw-stencil-library/{p-e95b2caa.entry.js → p-03f1a257.entry.js} +2 -2
  502. package/dist/spw-stencil-library/{p-b6908714.entry.js → p-07cadb86.entry.js} +2 -2
  503. package/dist/spw-stencil-library/{p-0f3f20f5.entry.js → p-08d78730.entry.js} +2 -2
  504. package/dist/spw-stencil-library/{p-ea24705d.entry.js → p-0e310e7a.entry.js} +2 -2
  505. package/dist/spw-stencil-library/{p-1d53f317.entry.js → p-10269c11.entry.js} +2 -2
  506. package/dist/spw-stencil-library/p-10269c11.entry.js.map +1 -0
  507. package/dist/spw-stencil-library/{p-4e96a7f8.entry.js → p-158e7952.entry.js} +2 -2
  508. package/dist/spw-stencil-library/{p-102ff932.entry.js → p-1e07197c.entry.js} +2 -2
  509. package/dist/spw-stencil-library/{p-3625250b.entry.js → p-1e725439.entry.js} +2 -2
  510. package/dist/spw-stencil-library/{p-b00ef206.entry.js → p-228a413d.entry.js} +2 -2
  511. package/dist/spw-stencil-library/{p-45abc261.entry.js → p-274ce2d2.entry.js} +2 -2
  512. package/dist/spw-stencil-library/{p-9cdaf77f.entry.js → p-2c8e65e5.entry.js} +2 -2
  513. package/dist/spw-stencil-library/{p-809f6063.entry.js → p-2dff657f.entry.js} +2 -2
  514. package/dist/spw-stencil-library/{p-ad03e5fa.entry.js → p-2e9756c4.entry.js} +2 -2
  515. package/dist/spw-stencil-library/{p-8ea75393.entry.js → p-3240c1a4.entry.js} +2 -2
  516. package/dist/spw-stencil-library/{p-49221194.entry.js → p-328fb48c.entry.js} +4 -4
  517. package/dist/spw-stencil-library/p-34dc26ba.entry.js +2 -0
  518. package/dist/spw-stencil-library/p-34dc26ba.entry.js.map +1 -0
  519. package/dist/spw-stencil-library/p-35ef6489.entry.js +2 -0
  520. package/dist/spw-stencil-library/p-35ef6489.entry.js.map +1 -0
  521. package/dist/spw-stencil-library/p-3ab472db.entry.js +2 -0
  522. package/dist/spw-stencil-library/p-3ab472db.entry.js.map +1 -0
  523. package/dist/spw-stencil-library/{p-b7608972.entry.js → p-3cfcf070.entry.js} +2 -2
  524. package/dist/spw-stencil-library/{p-7a9c8362.entry.js → p-44124a37.entry.js} +2 -2
  525. package/dist/spw-stencil-library/{p-c93bb0fb.entry.js → p-4526bef6.entry.js} +2 -2
  526. package/dist/spw-stencil-library/{p-f8b02eb3.entry.js → p-49be45a2.entry.js} +2 -2
  527. package/dist/spw-stencil-library/{p-f384262d.entry.js → p-4e7df891.entry.js} +2 -2
  528. package/dist/spw-stencil-library/p-4fa98537.entry.js +2 -0
  529. package/dist/spw-stencil-library/p-4fa98537.entry.js.map +1 -0
  530. package/dist/spw-stencil-library/{p-0b4a2f05.entry.js → p-52c51ac5.entry.js} +2 -2
  531. package/dist/spw-stencil-library/{p-98255d7f.entry.js → p-5426464a.entry.js} +2 -2
  532. package/dist/spw-stencil-library/{p-7c7f8eae.entry.js → p-573393ab.entry.js} +2 -2
  533. package/dist/spw-stencil-library/{p-3a446e55.entry.js → p-57851ceb.entry.js} +2 -2
  534. package/dist/spw-stencil-library/p-57d83f8b.entry.js +2 -0
  535. package/dist/spw-stencil-library/p-57d83f8b.entry.js.map +1 -0
  536. package/dist/spw-stencil-library/{p-eb6ad6f0.entry.js → p-5cb1344b.entry.js} +2 -2
  537. package/dist/spw-stencil-library/p-5cb1344b.entry.js.map +1 -0
  538. package/dist/spw-stencil-library/{p-add90792.entry.js → p-68f9c5bf.entry.js} +2 -2
  539. package/dist/spw-stencil-library/{p-3ca241ed.entry.js → p-6b291009.entry.js} +2 -2
  540. package/dist/spw-stencil-library/{p-8312033a.entry.js → p-6d08bcc3.entry.js} +2 -2
  541. package/dist/spw-stencil-library/p-6ee69164.entry.js +2 -0
  542. package/dist/spw-stencil-library/p-6ee69164.entry.js.map +1 -0
  543. package/dist/spw-stencil-library/p-73db3953.entry.js +2 -0
  544. package/dist/spw-stencil-library/p-73db3953.entry.js.map +1 -0
  545. package/dist/spw-stencil-library/{p-ce16fd94.entry.js → p-74d118ec.entry.js} +2 -2
  546. package/dist/spw-stencil-library/p-74d118ec.entry.js.map +1 -0
  547. package/dist/spw-stencil-library/{p-ae95b303.entry.js → p-75159246.entry.js} +2 -2
  548. package/dist/spw-stencil-library/{p-8b951993.entry.js → p-7e30e4c2.entry.js} +2 -2
  549. package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +1 -0
  550. package/dist/spw-stencil-library/{p-8ae132ed.entry.js → p-8d94697c.entry.js} +2 -2
  551. package/dist/spw-stencil-library/{p-7f39476b.entry.js → p-93a5f755.entry.js} +2 -2
  552. package/dist/spw-stencil-library/p-96fac544.entry.js +2 -0
  553. package/dist/spw-stencil-library/p-96fac544.entry.js.map +1 -0
  554. package/dist/spw-stencil-library/{p-325309ec.entry.js → p-98ee79d6.entry.js} +2 -2
  555. package/dist/spw-stencil-library/{p-16f48e73.entry.js → p-991d5382.entry.js} +2 -2
  556. package/dist/spw-stencil-library/{p-BaAUTDWF.js → p-BYM_CUUH.js} +2 -2
  557. package/dist/spw-stencil-library/p-BYM_CUUH.js.map +1 -0
  558. package/dist/spw-stencil-library/{p-30005a16.entry.js → p-a093ab2f.entry.js} +2 -2
  559. package/dist/spw-stencil-library/{p-938971bc.entry.js → p-a27ed650.entry.js} +2 -2
  560. package/dist/spw-stencil-library/p-a27ed650.entry.js.map +1 -0
  561. package/dist/spw-stencil-library/{p-08ead4ae.entry.js → p-a2b3dd47.entry.js} +2 -2
  562. package/dist/spw-stencil-library/{p-7d9b220f.entry.js → p-aa364a44.entry.js} +2 -2
  563. package/dist/spw-stencil-library/p-aa364a44.entry.js.map +1 -0
  564. package/dist/spw-stencil-library/p-aaffdc4f.entry.js +2 -0
  565. package/dist/spw-stencil-library/p-aaffdc4f.entry.js.map +1 -0
  566. package/dist/spw-stencil-library/{p-27d3d92a.entry.js → p-ad5f01e4.entry.js} +2 -2
  567. package/dist/spw-stencil-library/{p-5752fdef.entry.js → p-ae905af5.entry.js} +2 -2
  568. package/dist/spw-stencil-library/p-af49292e.entry.js +2 -0
  569. package/dist/spw-stencil-library/p-af49292e.entry.js.map +1 -0
  570. package/dist/spw-stencil-library/{p-8b7f940d.entry.js → p-b0ca9615.entry.js} +2 -2
  571. package/dist/spw-stencil-library/{p-4122bb55.entry.js → p-b0dc1073.entry.js} +2 -2
  572. package/dist/spw-stencil-library/{p-c08f14f9.entry.js → p-b45534d4.entry.js} +2 -2
  573. package/dist/spw-stencil-library/{p-44a61c9f.entry.js → p-b64a003c.entry.js} +2 -2
  574. package/dist/spw-stencil-library/{p-f7d5eb27.entry.js → p-b726755c.entry.js} +2 -2
  575. package/dist/spw-stencil-library/{p-621edd61.entry.js → p-be3b1d65.entry.js} +2 -2
  576. package/dist/spw-stencil-library/{p-3cdcc221.entry.js → p-bf14b880.entry.js} +2 -2
  577. package/dist/spw-stencil-library/p-bf43d61c.entry.js +2 -0
  578. package/dist/spw-stencil-library/p-bf43d61c.entry.js.map +1 -0
  579. package/dist/spw-stencil-library/{p-328bfb78.entry.js → p-c1a30fb7.entry.js} +2 -2
  580. package/dist/spw-stencil-library/p-c1a30fb7.entry.js.map +1 -0
  581. package/dist/spw-stencil-library/{p-a09a320d.entry.js → p-c7fecad8.entry.js} +2 -2
  582. package/dist/spw-stencil-library/{p-96f2ab55.entry.js → p-c838e17b.entry.js} +2 -2
  583. package/dist/spw-stencil-library/{p-754d81d9.entry.js → p-ca672774.entry.js} +2 -2
  584. package/dist/spw-stencil-library/{p-cc2fc4d1.entry.js → p-cf508941.entry.js} +2 -2
  585. package/dist/spw-stencil-library/{p-dfade2bb.entry.js → p-cff5a7e4.entry.js} +2 -2
  586. package/dist/spw-stencil-library/p-d3d4755a.entry.js +2 -0
  587. package/dist/spw-stencil-library/p-d3d4755a.entry.js.map +1 -0
  588. package/dist/spw-stencil-library/{p-49e6a16e.entry.js → p-d8078491.entry.js} +2 -2
  589. package/dist/spw-stencil-library/p-e1a459eb.entry.js +2 -0
  590. package/dist/spw-stencil-library/p-e1a459eb.entry.js.map +1 -0
  591. package/dist/spw-stencil-library/{p-a992edea.entry.js → p-e1c4d94e.entry.js} +2 -2
  592. package/dist/spw-stencil-library/{p-d4922788.entry.js → p-e5c9fb8e.entry.js} +2 -2
  593. package/dist/spw-stencil-library/{p-4081582a.entry.js → p-f1d04cc1.entry.js} +2 -2
  594. package/dist/spw-stencil-library/{p-aa7566e0.entry.js → p-f2008faa.entry.js} +2 -2
  595. package/dist/spw-stencil-library/p-zpG0udTn.js.map +1 -1
  596. package/dist/spw-stencil-library/spw-card-content.entry.esm.js.map +1 -1
  597. package/dist/spw-stencil-library/spw-card-excerpt.entry.esm.js.map +1 -1
  598. package/dist/spw-stencil-library/spw-card-image.entry.esm.js.map +1 -1
  599. package/dist/spw-stencil-library/spw-card-title.entry.esm.js.map +1 -1
  600. package/dist/spw-stencil-library/spw-card.entry.esm.js.map +1 -1
  601. package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
  602. package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
  603. 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
  604. package/dist/spw-stencil-library/spw-hero.entry.esm.js.map +1 -1
  605. package/dist/spw-stencil-library/spw-illustration.entry.esm.js.map +1 -0
  606. package/dist/spw-stencil-library/spw-modal.entry.esm.js.map +1 -1
  607. package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
  608. package/dist/spw-stencil-library/spw-stencil-library.css +5 -1
  609. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  610. package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
  611. package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
  612. package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
  613. package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
  614. package/dist/spw-stencil-library/spw-tabs-navigation-item.entry.esm.js.map +1 -1
  615. package/dist/spw-stencil-library/spw-tabs-navigation.entry.esm.js.map +1 -1
  616. package/dist/spw-stencil-library/spw-tabs.entry.esm.js.map +1 -1
  617. package/dist/spw-stencil-library/spw-tooltip.entry.esm.js.map +1 -1
  618. package/dist/stats.json +2177 -1174
  619. package/dist/types/components/spw-card/spw-card-title/spw-card-title.d.ts +2 -0
  620. package/dist/types/components/spw-card/spw-card.d.ts +1 -1
  621. package/dist/types/components/spw-checkbox/spw-checkbox.d.ts +2 -0
  622. package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +3 -3
  623. package/dist/types/components/spw-hero/spw-hero.d.ts +2 -0
  624. package/dist/types/components/spw-illustration/spw-illustration.d.ts +32 -0
  625. package/dist/types/components/spw-select/spw-select.d.ts +12 -0
  626. package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +3 -0
  627. package/dist/types/components/spw-table/spw-table.d.ts +1 -0
  628. package/dist/types/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.d.ts +17 -0
  629. package/dist/types/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.d.ts +4 -0
  630. package/dist/types/components/spw-tabs/spw-tabs.d.ts +11 -1
  631. package/dist/types/components.d.ts +170 -14
  632. package/dist/types/stories/components/spw-checkbox/spw-checkbox.stories.d.ts +1 -0
  633. package/dist/types/stories/components/spw-custom-select/spw-custom-select.stories.d.ts +9 -0
  634. package/dist/types/stories/organisms/spw-card/spw-card.stories.d.ts +2 -0
  635. package/dist/types/stories/organisms/spw-hero/spw-hero.stories.d.ts +2 -0
  636. package/hydrate/index.js +2781 -145
  637. package/hydrate/index.mjs +2781 -145
  638. package/package.json +1 -1
  639. package/dist/cjs/index-DPoQq9TD.js.map +0 -1
  640. package/dist/components/p-COf5LpGH.js +0 -125
  641. package/dist/components/p-COf5LpGH.js.map +0 -1
  642. package/dist/components/p-Clhpt_u-.js +0 -81
  643. package/dist/components/p-Clhpt_u-.js.map +0 -1
  644. package/dist/components/p-DqtSG4Dc.js.map +0 -1
  645. package/dist/components_vscode.json +0 -2628
  646. package/dist/esm/index-BaAUTDWF.js.map +0 -1
  647. package/dist/spw-stencil-library/_commonjsHelpers-CvGrISen.js.map +0 -1
  648. package/dist/spw-stencil-library/app-globals-DQuL1Twl.js.map +0 -1
  649. package/dist/spw-stencil-library/index-CHjlxlqM.js.map +0 -1
  650. package/dist/spw-stencil-library/p-1d53f317.entry.js.map +0 -1
  651. package/dist/spw-stencil-library/p-1dde0477.entry.js +0 -2
  652. package/dist/spw-stencil-library/p-1dde0477.entry.js.map +0 -1
  653. package/dist/spw-stencil-library/p-275708d3.entry.js +0 -2
  654. package/dist/spw-stencil-library/p-275708d3.entry.js.map +0 -1
  655. package/dist/spw-stencil-library/p-328bfb78.entry.js.map +0 -1
  656. package/dist/spw-stencil-library/p-3ffc32e2.entry.js +0 -2
  657. package/dist/spw-stencil-library/p-3ffc32e2.entry.js.map +0 -1
  658. package/dist/spw-stencil-library/p-4917458b.entry.js +0 -2
  659. package/dist/spw-stencil-library/p-4917458b.entry.js.map +0 -1
  660. package/dist/spw-stencil-library/p-49d9a720.entry.js +0 -2
  661. package/dist/spw-stencil-library/p-49d9a720.entry.js.map +0 -1
  662. package/dist/spw-stencil-library/p-4ae6cb6c.entry.js +0 -2
  663. package/dist/spw-stencil-library/p-4ae6cb6c.entry.js.map +0 -1
  664. package/dist/spw-stencil-library/p-7d9b220f.entry.js.map +0 -1
  665. package/dist/spw-stencil-library/p-84132f3d.entry.js +0 -2
  666. package/dist/spw-stencil-library/p-84132f3d.entry.js.map +0 -1
  667. package/dist/spw-stencil-library/p-86c265a0.entry.js +0 -2
  668. package/dist/spw-stencil-library/p-86c265a0.entry.js.map +0 -1
  669. package/dist/spw-stencil-library/p-8b951993.entry.js.map +0 -1
  670. package/dist/spw-stencil-library/p-938971bc.entry.js.map +0 -1
  671. package/dist/spw-stencil-library/p-BaAUTDWF.js.map +0 -1
  672. package/dist/spw-stencil-library/p-b24afc65.entry.js +0 -2
  673. package/dist/spw-stencil-library/p-b24afc65.entry.js.map +0 -1
  674. package/dist/spw-stencil-library/p-ce16fd94.entry.js.map +0 -1
  675. package/dist/spw-stencil-library/p-cf09d649.entry.js +0 -2
  676. package/dist/spw-stencil-library/p-cf09d649.entry.js.map +0 -1
  677. package/dist/spw-stencil-library/p-eb6ad6f0.entry.js.map +0 -1
  678. package/dist/spw-stencil-library/p-f7dd32a4.entry.js +0 -2
  679. package/dist/spw-stencil-library/p-f7dd32a4.entry.js.map +0 -1
  680. package/dist/spw-stencil-library/p-fa895f36.entry.js +0 -2
  681. package/dist/spw-stencil-library/p-fa895f36.entry.js.map +0 -1
  682. package/dist/spw-stencil-library/utils-BXStmMnc.js.map +0 -1
  683. /package/dist/spw-stencil-library/{p-e95b2caa.entry.js.map → p-03f1a257.entry.js.map} +0 -0
  684. /package/dist/spw-stencil-library/{p-b6908714.entry.js.map → p-07cadb86.entry.js.map} +0 -0
  685. /package/dist/spw-stencil-library/{p-0f3f20f5.entry.js.map → p-08d78730.entry.js.map} +0 -0
  686. /package/dist/spw-stencil-library/{p-ea24705d.entry.js.map → p-0e310e7a.entry.js.map} +0 -0
  687. /package/dist/spw-stencil-library/{p-4e96a7f8.entry.js.map → p-158e7952.entry.js.map} +0 -0
  688. /package/dist/spw-stencil-library/{p-102ff932.entry.js.map → p-1e07197c.entry.js.map} +0 -0
  689. /package/dist/spw-stencil-library/{p-3625250b.entry.js.map → p-1e725439.entry.js.map} +0 -0
  690. /package/dist/spw-stencil-library/{p-b00ef206.entry.js.map → p-228a413d.entry.js.map} +0 -0
  691. /package/dist/spw-stencil-library/{p-45abc261.entry.js.map → p-274ce2d2.entry.js.map} +0 -0
  692. /package/dist/spw-stencil-library/{p-9cdaf77f.entry.js.map → p-2c8e65e5.entry.js.map} +0 -0
  693. /package/dist/spw-stencil-library/{p-809f6063.entry.js.map → p-2dff657f.entry.js.map} +0 -0
  694. /package/dist/spw-stencil-library/{p-ad03e5fa.entry.js.map → p-2e9756c4.entry.js.map} +0 -0
  695. /package/dist/spw-stencil-library/{p-8ea75393.entry.js.map → p-3240c1a4.entry.js.map} +0 -0
  696. /package/dist/spw-stencil-library/{p-49221194.entry.js.map → p-328fb48c.entry.js.map} +0 -0
  697. /package/dist/spw-stencil-library/{p-b7608972.entry.js.map → p-3cfcf070.entry.js.map} +0 -0
  698. /package/dist/spw-stencil-library/{p-7a9c8362.entry.js.map → p-44124a37.entry.js.map} +0 -0
  699. /package/dist/spw-stencil-library/{p-c93bb0fb.entry.js.map → p-4526bef6.entry.js.map} +0 -0
  700. /package/dist/spw-stencil-library/{p-f8b02eb3.entry.js.map → p-49be45a2.entry.js.map} +0 -0
  701. /package/dist/spw-stencil-library/{p-f384262d.entry.js.map → p-4e7df891.entry.js.map} +0 -0
  702. /package/dist/spw-stencil-library/{p-0b4a2f05.entry.js.map → p-52c51ac5.entry.js.map} +0 -0
  703. /package/dist/spw-stencil-library/{p-98255d7f.entry.js.map → p-5426464a.entry.js.map} +0 -0
  704. /package/dist/spw-stencil-library/{p-7c7f8eae.entry.js.map → p-573393ab.entry.js.map} +0 -0
  705. /package/dist/spw-stencil-library/{p-3a446e55.entry.js.map → p-57851ceb.entry.js.map} +0 -0
  706. /package/dist/spw-stencil-library/{p-add90792.entry.js.map → p-68f9c5bf.entry.js.map} +0 -0
  707. /package/dist/spw-stencil-library/{p-3ca241ed.entry.js.map → p-6b291009.entry.js.map} +0 -0
  708. /package/dist/spw-stencil-library/{p-8312033a.entry.js.map → p-6d08bcc3.entry.js.map} +0 -0
  709. /package/dist/spw-stencil-library/{p-ae95b303.entry.js.map → p-75159246.entry.js.map} +0 -0
  710. /package/dist/spw-stencil-library/{p-8ae132ed.entry.js.map → p-8d94697c.entry.js.map} +0 -0
  711. /package/dist/spw-stencil-library/{p-7f39476b.entry.js.map → p-93a5f755.entry.js.map} +0 -0
  712. /package/dist/spw-stencil-library/{p-325309ec.entry.js.map → p-98ee79d6.entry.js.map} +0 -0
  713. /package/dist/spw-stencil-library/{p-16f48e73.entry.js.map → p-991d5382.entry.js.map} +0 -0
  714. /package/dist/spw-stencil-library/{p-30005a16.entry.js.map → p-a093ab2f.entry.js.map} +0 -0
  715. /package/dist/spw-stencil-library/{p-08ead4ae.entry.js.map → p-a2b3dd47.entry.js.map} +0 -0
  716. /package/dist/spw-stencil-library/{p-27d3d92a.entry.js.map → p-ad5f01e4.entry.js.map} +0 -0
  717. /package/dist/spw-stencil-library/{p-5752fdef.entry.js.map → p-ae905af5.entry.js.map} +0 -0
  718. /package/dist/spw-stencil-library/{p-8b7f940d.entry.js.map → p-b0ca9615.entry.js.map} +0 -0
  719. /package/dist/spw-stencil-library/{p-4122bb55.entry.js.map → p-b0dc1073.entry.js.map} +0 -0
  720. /package/dist/spw-stencil-library/{p-c08f14f9.entry.js.map → p-b45534d4.entry.js.map} +0 -0
  721. /package/dist/spw-stencil-library/{p-44a61c9f.entry.js.map → p-b64a003c.entry.js.map} +0 -0
  722. /package/dist/spw-stencil-library/{p-f7d5eb27.entry.js.map → p-b726755c.entry.js.map} +0 -0
  723. /package/dist/spw-stencil-library/{p-621edd61.entry.js.map → p-be3b1d65.entry.js.map} +0 -0
  724. /package/dist/spw-stencil-library/{p-3cdcc221.entry.js.map → p-bf14b880.entry.js.map} +0 -0
  725. /package/dist/spw-stencil-library/{p-a09a320d.entry.js.map → p-c7fecad8.entry.js.map} +0 -0
  726. /package/dist/spw-stencil-library/{p-96f2ab55.entry.js.map → p-c838e17b.entry.js.map} +0 -0
  727. /package/dist/spw-stencil-library/{p-754d81d9.entry.js.map → p-ca672774.entry.js.map} +0 -0
  728. /package/dist/spw-stencil-library/{p-cc2fc4d1.entry.js.map → p-cf508941.entry.js.map} +0 -0
  729. /package/dist/spw-stencil-library/{p-dfade2bb.entry.js.map → p-cff5a7e4.entry.js.map} +0 -0
  730. /package/dist/spw-stencil-library/{p-49e6a16e.entry.js.map → p-d8078491.entry.js.map} +0 -0
  731. /package/dist/spw-stencil-library/{p-a992edea.entry.js.map → p-e1c4d94e.entry.js.map} +0 -0
  732. /package/dist/spw-stencil-library/{p-d4922788.entry.js.map → p-e5c9fb8e.entry.js.map} +0 -0
  733. /package/dist/spw-stencil-library/{p-4081582a.entry.js.map → p-f1d04cc1.entry.js.map} +0 -0
  734. /package/dist/spw-stencil-library/{p-aa7566e0.entry.js.map → p-f2008faa.entry.js.map} +0 -0
@@ -85,7 +85,7 @@ export class SpwIodda {
85
85
  render() {
86
86
  const totalPages = Math.ceil(this.totalItems / this.itemsPerPage);
87
87
  const resultsText = this.totalItems > 1 ? 'résultats trouvés' : 'résultat trouvé';
88
- return (h(Host, { key: 'd33ef7a83fc3533b51875481af8578cbf78f75c9' }, h("div", { key: 'c4606f2ce6eec2017dc22181aaccdb29d32fc946', class: "spw-search-input" }, h("spw-text-field", { key: '437fce3bde6b517537003ccedfe1a4d183bdbcca', "is-search": "true", size: "large", type: "text", value: this.searchTerm, placeholder: "Rechercher une d\u00E9marche", onValueChanged: event => this.handleSearchInput(event) })), h("div", { key: 'b161657cab9854ba5b841a181e3fa9b31f887c0c', hidden: true, class: "spw-filter spw-tw-mb-6" }, Object.keys(this.filters).map(filterKey => (h("label", { class: "spw-tw-mr-4" }, h("input", { type: "checkbox", checked: this.filters[filterKey], onChange: (event) => this.handleFilterChange(filterKey, event.target.checked) }), h("span", { class: "spw-tw-ml-2" }, filterKey))))), this.totalItems === 0 && !this.isLoading ? (h("div", { class: "spw-no-results" }, h("h3", { class: "spw-no-results__title" }, "Aucun r\u00E9sultat ne correspond \u00E0 votre recherche."), h("ul", { class: "spw-no-results__list" }, h("li", null, "V\u00E9rifiez si votre orthographe est correcte"), h("li", null, "Supprimez des filtres"), h("li", null, "Essayez d\u2019autres termes de recherche")))) : null, this.totalItems > 0 && !this.isLoading ? (h("p", { class: "spw-results" }, this.totalItems, " ", resultsText)) : null, this.isLoading ? h("spw-loading", { class: "spw-tw-mb-10" }) : null, h("ul", { key: 'a4d473a1c9fd7777f5e825bf7eff84420f141dd7', class: "spw-list" }, this.items.map(item => (h("li", { class: "spw-list-item", key: item.name }, h("a", { href: item.url, target: "_blank" }, h("h3", { class: "spw-list-item__title" }, item.title), h("p", { class: "spw-list-item__text" }, item.summary)))))), totalPages > 1 && (h("spw-pagination", { key: 'c04a6ec754f9b6d136347f0de0c45ae8240dc5f4', class: "spw-tw-mt-12", currentPage: this.currentPage, "is-disabled": this.isLoading, totalItems: this.totalItems, itemsPerPage: this.itemsPerPage, onPageChanged: this.handlePageChanged.bind(this) }))));
88
+ return (h(Host, { key: '8b93f0d1c5c4bf1342c5c682dbea11ce56dc46ed' }, h("div", { key: 'f4740474c17a39f506607ee35dad07ad47352855', class: "spw-search-input" }, h("spw-text-field", { key: 'eb72520ce9dd50d2bdef6144140c3b8c0cc56801', "is-search": "true", size: "large", type: "text", value: this.searchTerm, placeholder: "Rechercher une d\u00E9marche", onValueChanged: event => this.handleSearchInput(event) })), h("div", { key: '0cb2c12aad184da141a85c2d424f0b03d709d3ca', hidden: true, class: "spw-filter spw-tw-mb-6" }, Object.keys(this.filters).map(filterKey => (h("label", { class: "spw-tw-mr-4" }, h("input", { type: "checkbox", checked: this.filters[filterKey], onChange: (event) => this.handleFilterChange(filterKey, event.target.checked) }), h("span", { class: "spw-tw-ml-2" }, filterKey))))), this.totalItems === 0 && !this.isLoading ? (h("div", { class: "spw-no-results" }, h("h3", { class: "spw-no-results__title" }, "Aucun r\u00E9sultat ne correspond \u00E0 votre recherche."), h("ul", { class: "spw-no-results__list" }, h("li", null, "V\u00E9rifiez si votre orthographe est correcte"), h("li", null, "Supprimez des filtres"), h("li", null, "Essayez d\u2019autres termes de recherche")))) : null, this.totalItems > 0 && !this.isLoading ? (h("p", { class: "spw-results" }, this.totalItems, " ", resultsText)) : null, this.isLoading ? h("spw-loading", { class: "spw-tw-mb-10" }) : null, h("ul", { key: '18710131fdbeca1577c901894821453dbc45aee3', class: "spw-list" }, this.items.map(item => (h("li", { class: "spw-list-item", key: item.name }, h("a", { href: item.url, target: "_blank" }, h("h3", { class: "spw-list-item__title" }, item.title), h("p", { class: "spw-list-item__text" }, item.summary)))))), totalPages > 1 && (h("spw-pagination", { key: '5a6a34b5ab2f271e10c4ab16f96f1e2872f5f74b', class: "spw-tw-mt-12", currentPage: this.currentPage, "is-disabled": this.isLoading, totalItems: this.totalItems, itemsPerPage: this.itemsPerPage, onPageChanged: this.handlePageChanged.bind(this) }))));
89
89
  }
90
90
  static get is() { return "spw-iodda"; }
91
91
  static get encapsulation() { return "shadow"; }
@@ -1,2 +1,2 @@
1
1
 
2
- /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;--spw-link-color:var(--spw-ds-primary);--spw-link-hover-color:var(--spw-ds-variant);--spw-link-active-color:var(--spw-ds-active);--spw-link-padding:6px;box-sizing:border-box;display:inline;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-link{border-radius:4px;color:var(--spw-link-color);cursor:pointer;display:inline;font-weight:700;text-decoration:none}.spw-link--surface-dark{color:var(--spw-ds-white)}.spw-link__inner{border-bottom:1px solid var(--spw-link-color);display:inline}.spw-link--surface-dark .spw-link__inner{border-bottom:1px solid var(--spw-ds-white)}.spw-link:focus-visible{outline:3px solid #000;outline-offset:2px}.spw-link:hover{color:var(--spw-link-hover-color)}.spw-link:hover .spw-link__inner{border-bottom:2px solid var(--spw-link-hover-color)}.spw-link:active{color:var(--spw-link-active-color)}.spw-link:active .spw-link__inner{border-bottom:2px solid var(--spw-link-active-color)}.spw-link[aria-disabled=true]{color:var(--spw-color-themes-grey-grey-600);cursor:not-allowed;pointer-events:none}.spw-link--surface-dark:hover{color:var(--spw-ds-white)}.spw-link--surface-dark:hover .spw-link__inner{border-bottom:2px solid var(--spw-ds-white)}.spw-link--surface-dark:active{color:var(--spw-ds-white)}.spw-link--surface-dark:active .spw-link__inner{border-bottom:2px solid var(--spw-ds-white)}.spw-link--surface-dark[aria-disabled=true]{color:var(--spw-ds-white);opacity:.5}.spw-link--has-icon-right spw-icon{margin-left:var(--spw-link-padding);margin-right:4px}.spw-link--has-icon-left spw-icon{margin-left:4px;margin-right:var(--spw-link-padding)}
2
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;--spw-link-color:var(--spw-ds-primary);--spw-link-hover-color:var(--spw-ds-variant);--spw-link-active-color:var(--spw-ds-active);--spw-link-font-weight:700;--spw-link-padding:6px;box-sizing:border-box;display:inline;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-link{border-radius:4px;color:var(--spw-link-color);cursor:pointer;display:inline;font-weight:var(--spw-link-font-weight);text-decoration:none}.spw-link--surface-dark{color:var(--spw-ds-white)}.spw-link__inner{border-bottom:1px solid var(--spw-link-color);display:inline}.spw-link--surface-dark .spw-link__inner{border-bottom:1px solid var(--spw-ds-white)}.spw-link:focus-visible{outline:3px solid #000;outline-offset:2px}.spw-link:hover{color:var(--spw-link-hover-color)}.spw-link:hover .spw-link__inner{border-bottom:2px solid var(--spw-link-hover-color)}.spw-link:active{color:var(--spw-link-active-color)}.spw-link:active .spw-link__inner{border-bottom:2px solid var(--spw-link-active-color)}.spw-link[aria-disabled=true]{color:var(--spw-color-themes-grey-grey-600);cursor:not-allowed;pointer-events:none}.spw-link--surface-dark:hover{color:var(--spw-ds-white)}.spw-link--surface-dark:hover .spw-link__inner{border-bottom:2px solid var(--spw-ds-white)}.spw-link--surface-dark:active{color:var(--spw-ds-white)}.spw-link--surface-dark:active .spw-link__inner{border-bottom:2px solid var(--spw-ds-white)}.spw-link--surface-dark[aria-disabled=true]{color:var(--spw-ds-white);opacity:.5}.spw-link--has-icon-right spw-icon{margin-left:var(--spw-link-padding);margin-right:4px}.spw-link--has-icon-left spw-icon{margin-left:4px;margin-right:var(--spw-link-padding)}
@@ -34,7 +34,7 @@ export class SpwLink {
34
34
  };
35
35
  const iconClass = `spw-icon--${iconPosition}`;
36
36
  const iconElement = icon ? h("spw-icon", { class: iconClass, icon: icon }) : null;
37
- return (h("a", Object.assign({ key: 'bec079050ba91bb345143352d0bfeea72eaaf76b', href: disabled ? undefined : href, rel: rel, target: target, class: this.elementClass, onClick: this.onClick }, ariaAttributes), iconPosition === 'left' && iconElement, h("div", { key: 'b87e03bf34d1d97061ee86019ae594721c84d383', class: "spw-link__inner" }, h("slot", { key: 'eb8e85f40ab162a443974fbca89da0655eb09ff8' })), iconPosition === 'right' && iconElement));
37
+ return (h("a", Object.assign({ key: '66195206acfa0bf2c588d89805660576b641a8fb', href: disabled ? undefined : href, rel: rel, target: target, class: this.elementClass, onClick: this.onClick }, ariaAttributes), iconPosition === 'left' && iconElement, h("div", { key: 'eb12212257b26aae3ee244c0068debd729a2a761', class: "spw-link__inner" }, h("slot", { key: '9672bb753c5777f1bf3e3eb67da04600c3447c27' })), iconPosition === 'right' && iconElement));
38
38
  }
39
39
  static get is() { return "spw-link"; }
40
40
  static get encapsulation() { return "shadow"; }
@@ -9,7 +9,7 @@ export class SpwListDescription {
9
9
  };
10
10
  }
11
11
  render() {
12
- return (h(Host, { key: '8df709182a652913eb36c0beb356106f15f0cf5e' }, h("div", { key: 'e5c3498c0f109f880fb3b9b8db9b5a83f0b36795', class: this.elementClass }, h("slot", { key: '1bbe92471d1c2e0d29a63b954ef1c558297bb0a2' }))));
12
+ return (h(Host, { key: '634518836c0811971bc09f5962e223dbd4bffae7' }, h("div", { key: 'a90b29ba3c0d604be9eb5f818626d7f9ff77757e', class: this.elementClass }, h("slot", { key: '22d52ddbdc1ce1bec163b8dcb8e8ff8684b89e8b' }))));
13
13
  }
14
14
  static get is() { return "spw-list-description"; }
15
15
  static get encapsulation() { return "shadow"; }
@@ -98,7 +98,7 @@ export class SpwListItem {
98
98
  href,
99
99
  target,
100
100
  };
101
- return (h(Host, { key: 'e384d43f9c6220367f309f30bbd031e031a72d59' }, h("li", { key: 'f3f689928003d9856b5d67bffb0954817d5ca1c8', class: this.elementClass }, this.category && (h("span", { key: 'ada6e2cf2173230ae6b3200ac4a167cc682be2ec', class: this.elementCatClass, onClick: () => this.handleClick() }, this.categoryIcon && h("spw-icon", { key: '6bb9cd13f2a28278dd1c08f73a20083e7cce33ba', icon: this.categoryIcon }), " ", this.category)), h(TagType, Object.assign({ key: '5edd2200f87d487a3936a1853588f1ea5dc1ea02' }, attrs), h("slot", { key: 'a1e3250ec54c2a8d6ef8907155d59a6ab8862fb3' })))));
101
+ return (h(Host, { key: 'ed073d8a311e7762abe7c9a3e15145e62b809ea1' }, h("li", { key: 'be181668c35e5031470d42c649aa1ed9f30e39c0', class: this.elementClass }, this.category && (h("span", { key: '2733979fa2a147d7bdebd9477dd3300193db0735', class: this.elementCatClass, onClick: () => this.handleClick() }, this.categoryIcon && h("spw-icon", { key: 'c06e795789a3b70163e51dd5293d7e5cfddbf5b5', icon: this.categoryIcon }), " ", this.category)), h(TagType, Object.assign({ key: '26ef5faaeea085bdff20e3ebfab7e5a3fb9666e4' }, attrs), h("slot", { key: 'd88cfb2c31de84f68f32655e60029030eee9f2df' })))));
102
102
  }
103
103
  static get is() { return "spw-list-item"; }
104
104
  static get encapsulation() { return "shadow"; }
@@ -10,7 +10,7 @@ export class SpwListTitle {
10
10
  };
11
11
  }
12
12
  render() {
13
- return (h(Host, { key: 'ce3f7f56d9b976a92464e01bd770de53708a5418' }, h("div", { key: '192299d836e27078b26f7640cef0af065c0c9449', class: this.elementClass }, this.icon && h("spw-icon", { key: 'a4a10d0ac6c7eafe6f6b9cb915548a633640f730', icon: this.icon }), h("div", { key: '9bc9daffc9f7e728629c3f381452146129f1e3c9', class: "spw-list-title__content" }, h("div", { key: '954d01415386841993600c4731542c0de2621194', class: "spw-list-title__content-text" }, h("slot", { key: '916bbcc355daf8d6942c371215eebb9871cb5cd3' }))))));
13
+ return (h(Host, { key: '27a216b5f2528a19a2d6ea1005da441945f60b3c' }, h("div", { key: 'd3563c6655136e698231eb9b592c13d60eb9ea47', class: this.elementClass }, this.icon && h("spw-icon", { key: 'bbe74eb639a3646587cf2a35bb103901a5ede59f', icon: this.icon }), h("div", { key: 'e6f8ac9c569ca843a082caf65cecb97ae5830614', class: "spw-list-title__content" }, h("div", { key: '0b12989d788bedc8393248c612f20e9bdf67bf05', class: "spw-list-title__content-text" }, h("slot", { key: '2c53dc6eaa074cd48e5f2bffe11a0390b077c2a4' }))))));
14
14
  }
15
15
  static get is() { return "spw-list-title"; }
16
16
  static get encapsulation() { return "shadow"; }
@@ -11,7 +11,7 @@ export class SpwList {
11
11
  };
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '059f274ca3a1cf4dd9d09eeb0efa03fd30418e62' }, h("ul", { key: '8fca26bbe4501a3cad7a541761bf978593e132c0', class: this.elementClass }, h("slot", { key: '66127da5a78a3c3e10b6d2f22dce9b539810bedd' }))));
14
+ return (h(Host, { key: '7474a92f800b0e42ee4f7ae928602fab40678129' }, h("ul", { key: 'bb478eb83d2b3533c70f74a6c4054bd5c8985883', class: this.elementClass }, h("slot", { key: 'ec64155dd2191f5f751611729b814e4228c19ec3' }))));
15
15
  }
16
16
  static get is() { return "spw-list"; }
17
17
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ export class SpwLoading {
5
5
  this.text = 'Chargement...';
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: 'dafea988d8ec43b7c3f05f4d46ab730f95f1cd59' }, h("div", { key: '92c6637e10a329ee44d9e87d35ac991e34157d9f', class: "spw-loading" }, h("div", { key: '8174d8022a21e800f7f1dee888ae760efc7569a1', class: "spw-loading__spinner" }), this.text && h("p", { key: 'a6a8ad7aa5e927c5ef1fd3ec53246e9273e9d2ff', class: "spw-loading__text" }, this.text))));
8
+ return (h(Host, { key: '7ccaf1c8799a8ddb470bc05a7357353137061015' }, h("div", { key: '064bf9f2eb7ce1777a0f719bfab72fb219a4e8d9', class: "spw-loading" }, h("div", { key: '6378290c41a5d8b1f03fee3ea2a773f9ebd768fd', class: "spw-loading__spinner" }), this.text && h("p", { key: '8e829cb820269c9cc51f632b43469d73c4196bda', class: "spw-loading__text" }, this.text))));
9
9
  }
10
10
  static get is() { return "spw-loading"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -21,7 +21,8 @@ export class SpwModal {
21
21
  this.showCloseButton = true;
22
22
  this.focusableElements = [];
23
23
  this.handleClick = (event) => {
24
- const trigger = event.target.closest('[data-modal-trigger]');
24
+ const path = event.composedPath();
25
+ const trigger = path.find(el => { var _a; return el instanceof HTMLElement && ((_a = el.hasAttribute) === null || _a === void 0 ? void 0 : _a.call(el, 'data-modal-trigger')); });
25
26
  if (trigger) {
26
27
  const modalId = trigger.getAttribute('data-modal-trigger');
27
28
  if (modalId === this.hostElement.id) {
@@ -30,7 +31,8 @@ export class SpwModal {
30
31
  }
31
32
  };
32
33
  this.handleClose = (event) => {
33
- const trigger = event.target.closest('[data-modal-close]');
34
+ const path = event.composedPath();
35
+ const trigger = path.find(el => { var _a; return el instanceof HTMLElement && ((_a = el.hasAttribute) === null || _a === void 0 ? void 0 : _a.call(el, 'data-modal-close')); });
34
36
  if (trigger) {
35
37
  const modalId = trigger.getAttribute('data-modal-close');
36
38
  if (modalId === this.hostElement.id) {
@@ -66,14 +68,14 @@ export class SpwModal {
66
68
  }
67
69
  componentDidLoad() {
68
70
  this.focusableElements = queryShadowRoot(this.hostElement.shadowRoot, el => isHidden(el) || el.matches('[data-focus-trap-edge]'), isFocusable);
69
- document.addEventListener('click', this.handleClick);
70
- document.addEventListener('click', this.handleClose);
71
- document.addEventListener('keydown', this.handleKeypress);
71
+ window.addEventListener('click', this.handleClick, { capture: true });
72
+ window.addEventListener('click', this.handleClose, { capture: true });
73
+ window.addEventListener('keydown', this.handleKeypress);
72
74
  }
73
75
  disconnectedCallback() {
74
- document.removeEventListener('click', this.handleClick);
75
- document.removeEventListener('click', this.handleClose);
76
- document.removeEventListener('keydown', this.handleKeypress);
76
+ window.removeEventListener('click', this.handleClick);
77
+ window.removeEventListener('click', this.handleClose);
78
+ window.removeEventListener('keydown', this.handleKeypress);
77
79
  }
78
80
  getFirstFocusableElement() {
79
81
  return this.focusableElements[0];
@@ -150,7 +152,7 @@ export class SpwModal {
150
152
  };
151
153
  }
152
154
  render() {
153
- return (h(Host, { key: 'e7aa4b92f0553b8ec8cf5739e6f3a88c8c9e9362' }, h("div", { key: '732932f05f09d1d6368c7cf8c76d0d1cfa5f58d1', ref: el => (this.modalContainer = el), class: this.elementClass }, h("div", { key: 'ea426266f02a3579cfca5ebe8ec93dc490918de1', class: "spw-modal__overlay", onClick: () => this.handleOverlayClick() }), h("div", { key: '42669843354d7e1b6a5d834c413d31bfd73f0709', "data-focus-trap-edge": true, onFocus: this.handleTopFocus, tabindex: "0" }), h("div", { key: 'c922f2f70443aa1f09dd1a60fd92fc4f6416fc04', class: `spw-modal__content-container spw-modal__content-container--${this.size}`, role: "dialog", "aria-modal": "true", "aria-label": this.caption }, h("div", { key: '5d864bdc5921b9d9988144907a2955040285d8ca', class: "spw-modal__content" }, h("div", { key: 'e19de05508a77e25cb8a6e909eb8175303728d58', class: "spw-modal__header" }, h("h2", { key: 'b0d704cd27fe9e37440277c161e2f684dbc8141b', class: "spw-modal__caption" }, this.caption), this.showCloseButton && (h("spw-icon", { key: 'faddb3d23759e88242f2f4e4cd621790c4a87774', class: "spw-modal__close-button", ref: el => (this.closeButton = el), icon: "fa-xmark", onClick: () => this.doBeforeClose('CLOSE_BUTTON') }))), h("div", { key: 'e1b4c7f3dcdd762be5ad3277692b41b267d8eae0', class: "spw-modal__body" }, h("slot", { key: 'a7b36ec6180fe2fa06e087d4a87b16ba64ff2358', name: "content" })), h("div", { key: '5f23c91f1e3aa024f0d0aa7535a523f688489a4b', class: "spw-modal__buttons" }, h("slot", { key: '64ec09bca6ee569425d502838f244b16482cd1f7', name: "buttons" })))), h("div", { key: 'bddd086e4c65abee18d97e04f70232445c2b1815', "data-focus-trap-edge": true, onFocus: this.handleBottomFocus, tabindex: "0" }))));
155
+ return (h(Host, { key: 'ef3f979574368eb716f783a10b0df51de505844d' }, h("div", { key: 'd3de3986ed767588fbbc33771f5a2ec96950c814', ref: el => (this.modalContainer = el), class: this.elementClass }, h("div", { key: 'e838b0d47874973d88bd325cadafcbccecd62e71', class: "spw-modal__overlay", onClick: () => this.handleOverlayClick() }), h("div", { key: '959a56f373b62d3905ca072f842270d50f7974e9', "data-focus-trap-edge": true, onFocus: this.handleTopFocus, tabindex: "0" }), h("div", { key: '5a4e4d7e92007969e2bdfbccb8a30901448edaa4', class: `spw-modal__content-container spw-modal__content-container--${this.size}`, role: "dialog", "aria-modal": "true", "aria-label": this.caption }, h("div", { key: 'ff3c6bd78a3aa647a5fc10b007219bfa0a406fbc', class: "spw-modal__content" }, h("div", { key: '78448d8952820d8d1b32c8633642daca6e6eaa61', class: "spw-modal__header" }, h("h2", { key: '64cd4b7a37899ff59b94cdfaeb24841c185ff68d', class: "spw-modal__caption" }, this.caption), this.showCloseButton && (h("spw-icon", { key: '6ccf7739a69cc24dd7d05ee73851bdc9391e63d0', class: "spw-modal__close-button", ref: el => (this.closeButton = el), icon: "fa-xmark", onClick: () => this.doBeforeClose('CLOSE_BUTTON') }))), h("div", { key: '588bb35bb2dc1cdff8d85911851fa3acbd2e36c4', class: "spw-modal__body" }, h("slot", { key: 'b9e689f2f08aa6456eaeb4481ac09bf7841ded24', name: "content" })), h("div", { key: '7d66d94b7de6b109d9897d44329c897822f70179', class: "spw-modal__buttons" }, h("slot", { key: '052f64558204a71b45cf367026c5213939645ba4', name: "buttons" })))), h("div", { key: '65632a2bcb8d66ab99f45a20e159caaf44a3cec7', "data-focus-trap-edge": true, onFocus: this.handleBottomFocus, tabindex: "0" }))));
154
156
  }
155
157
  static get is() { return "spw-modal"; }
156
158
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"spw-modal.js","sourceRoot":"","sources":["../../../src/components/spw-modal/spw-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch, Method } from '@stencil/core';\nimport { queryShadowRoot, isHidden, isFocusable } from '@utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '@utils/animation';\n\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP' | 'PROGRAMMATIC';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n\n@Component({\n tag: 'spw-modal',\n styleUrl: 'spw-modal.scss',\n shadow: true,\n})\nexport class SpwModal {\n /** Indique si la modal est ouverte ou fermée, mutable et reflétée dans le DOM */\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n\n @State() showModal: boolean = this.opened || false;\n\n /** Titre de la modal */\n @Prop() caption: string = 'Titre de la modal';\n /** Indique si la fermeture de la modal est possible en cliquant sur l'overlay */\n @Prop() closeOnOverlayClick: boolean = true;\n /** Rend les boutons en bas de la modal \"collants\" (toujours visibles) si vrai */\n @Prop() stickyButtons: boolean = false;\n /** Événement déclenché lors de l'ouverture de la modal */\n @Event() spwModalOpen: EventEmitter;\n /** Événement déclenché lors de la fermeture de la modal */\n @Event() spwModalClose: EventEmitter;\n /** Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' */\n @Prop() size: 'small' | 'medium' | 'large' | 'fluid' = 'small';\n /** Icône d'alerte à afficher dans la modal */\n @Prop() alertIcon: string = '';\n\n @Element() hostElement: HTMLSpwModalElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n /** Indique si le bouton de fermeture est visible */\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLSpwIconElement;\n\n /**\n * Méthode publique pour fermer la modal programmatiquement\n * @returns Promise qui se résout quand la modal est fermée\n */\n @Method()\n async closeModal(): Promise<void> {\n this.doBeforeClose('PROGRAMMATIC');\n }\n\n /**\n * Méthode publique pour ouvrir la modal programmatiquement\n * @returns Promise qui se résout quand la modal est ouverte\n */\n @Method()\n async openModal(): Promise<void> {\n this.opened = true;\n }\n\n componentDidLoad() {\n this.focusableElements = queryShadowRoot(this.hostElement.shadowRoot, el => isHidden(el) || el.matches('[data-focus-trap-edge]'), isFocusable);\n document.addEventListener('click', this.handleClick);\n document.addEventListener('click', this.handleClose);\n document.addEventListener('keydown', this.handleKeypress);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleClick);\n document.removeEventListener('click', this.handleClose);\n document.removeEventListener('keydown', this.handleKeypress);\n }\n\n private handleClick = (event: MouseEvent) => {\n const trigger = (event.target as HTMLElement).closest('[data-modal-trigger]');\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-trigger');\n if (modalId === this.hostElement.id) {\n this.opened = true;\n }\n }\n };\n\n private handleClose = (event: MouseEvent) => {\n const trigger = (event.target as HTMLElement).closest('[data-modal-close]');\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-close');\n if (modalId === this.hostElement.id) {\n this.opened = false;\n }\n }\n };\n\n private getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n private getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n private handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n private handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n private attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => {\n this.closeButton.focus();\n });\n return;\n }\n\n setTimeout(() => {\n element.focus();\n }, 0);\n }\n\n private open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.spwModalOpen.emit();\n });\n } catch (err) {\n this.spwModalOpen.emit();\n }\n }\n\n private close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.spwModalClose.emit();\n });\n } catch (err) {\n this.showModal = false;\n this.spwModalClose.emit();\n }\n }\n\n private handleKeypress = (event: KeyboardEvent) => {\n if (this.showModal && event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n private doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some(event => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue: boolean) {\n newValue === true ? this.open() : this.close();\n }\n\n private handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP');\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-modal': true,\n 'spw-modal--opened': this.showModal,\n 'spw-modal--sticky-buttons': this.stickyButtons,\n };\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.modalContainer = el)} class={this.elementClass}>\n <div class=\"spw-modal__overlay\" onClick={() => this.handleOverlayClick()}></div>\n <div data-focus-trap-edge onFocus={this.handleTopFocus} tabindex=\"0\"></div>\n <div class={`spw-modal__content-container spw-modal__content-container--${this.size}`} role=\"dialog\" aria-modal=\"true\" aria-label={this.caption}>\n <div class=\"spw-modal__content\">\n <div class=\"spw-modal__header\">\n <h2 class=\"spw-modal__caption\">{this.caption}</h2>\n {this.showCloseButton && (\n <spw-icon class=\"spw-modal__close-button\" ref={el => (this.closeButton = el)} icon=\"fa-xmark\" onClick={() => this.doBeforeClose('CLOSE_BUTTON')}></spw-icon>\n )}\n </div>\n <div class=\"spw-modal__body\">\n <slot name=\"content\" />\n </div>\n <div class=\"spw-modal__buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </div>\n <div data-focus-trap-edge onFocus={this.handleBottomFocus} tabindex=\"0\"></div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-modal.js","sourceRoot":"","sources":["../../../src/components/spw-modal/spw-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, Element, State, Event, Host, EventEmitter, h, Watch, Method } from '@stencil/core';\nimport { queryShadowRoot, isHidden, isFocusable } from '@utils/focus-trap';\nimport { animationTo, KEYFRAMES } from '@utils/animation';\n\ntype CloseEventTrigger = 'CLOSE_BUTTON' | 'ESCAPE_KEY' | 'BACKDROP' | 'PROGRAMMATIC';\n\nexport interface BeforeCloseEventDetail {\n trigger: CloseEventTrigger;\n}\n\n@Component({\n tag: 'spw-modal',\n styleUrl: 'spw-modal.scss',\n shadow: true,\n})\nexport class SpwModal {\n /** Indique si la modal est ouverte ou fermée, mutable et reflétée dans le DOM */\n @Prop({ reflect: true, mutable: true }) opened?: boolean = false;\n\n @State() showModal: boolean = this.opened || false;\n\n /** Titre de la modal */\n @Prop() caption: string = 'Titre de la modal';\n /** Indique si la fermeture de la modal est possible en cliquant sur l'overlay */\n @Prop() closeOnOverlayClick: boolean = true;\n /** Rend les boutons en bas de la modal \"collants\" (toujours visibles) si vrai */\n @Prop() stickyButtons: boolean = false;\n /** Événement déclenché lors de l'ouverture de la modal */\n @Event() spwModalOpen: EventEmitter;\n /** Événement déclenché lors de la fermeture de la modal */\n @Event() spwModalClose: EventEmitter;\n /** Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' */\n @Prop() size: 'small' | 'medium' | 'large' | 'fluid' = 'small';\n /** Icône d'alerte à afficher dans la modal */\n @Prop() alertIcon: string = '';\n\n @Element() hostElement: HTMLSpwModalElement;\n\n @State() slotButtonsPresent: boolean = false;\n\n /** Indique si le bouton de fermeture est visible */\n @Prop() showCloseButton: boolean = true;\n\n private modalContainer: HTMLElement;\n private focusableElements: HTMLElement[] = [];\n private closeButton: HTMLSpwIconElement;\n\n /**\n * Méthode publique pour fermer la modal programmatiquement\n * @returns Promise qui se résout quand la modal est fermée\n */\n @Method()\n async closeModal(): Promise<void> {\n this.doBeforeClose('PROGRAMMATIC');\n }\n\n /**\n * Méthode publique pour ouvrir la modal programmatiquement\n * @returns Promise qui se résout quand la modal est ouverte\n */\n @Method()\n async openModal(): Promise<void> {\n this.opened = true;\n }\n\n componentDidLoad() {\n this.focusableElements = queryShadowRoot(this.hostElement.shadowRoot, el => isHidden(el) || el.matches('[data-focus-trap-edge]'), isFocusable);\n window.addEventListener('click', this.handleClick, { capture: true });\n window.addEventListener('click', this.handleClose, { capture: true });\n window.addEventListener('keydown', this.handleKeypress);\n }\n\n disconnectedCallback() {\n window.removeEventListener('click', this.handleClick);\n window.removeEventListener('click', this.handleClose);\n window.removeEventListener('keydown', this.handleKeypress);\n }\n\n private handleClick = (event: MouseEvent) => {\n const path = event.composedPath() as HTMLElement[];\n const trigger = path.find(el => el instanceof HTMLElement && el.hasAttribute?.('data-modal-trigger')) as HTMLElement | undefined;\n\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-trigger');\n if (modalId === this.hostElement.id) {\n this.opened = true;\n }\n }\n };\n\n private handleClose = (event: MouseEvent) => {\n const path = event.composedPath() as HTMLElement[];\n const trigger = path.find(el => el instanceof HTMLElement && el.hasAttribute?.('data-modal-close')) as HTMLElement | undefined;\n\n if (trigger) {\n const modalId = trigger.getAttribute('data-modal-close');\n if (modalId === this.hostElement.id) {\n this.opened = false;\n }\n }\n };\n\n private getFirstFocusableElement(): HTMLElement | null {\n return this.focusableElements[0];\n }\n\n private getLastFocusableElement(): HTMLElement | null {\n return this.focusableElements[this.focusableElements.length - 1];\n }\n\n private handleTopFocus = () => {\n this.attemptFocus(this.getLastFocusableElement());\n };\n\n private handleBottomFocus = () => {\n this.attemptFocus(this.getFirstFocusableElement());\n };\n\n private attemptFocus(element: HTMLElement | null) {\n if (element == null) {\n setTimeout(() => {\n this.closeButton.focus();\n });\n return;\n }\n\n setTimeout(() => {\n element.focus();\n }, 0);\n }\n\n private open() {\n this.showModal = true;\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeIn, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n setTimeout(() => {\n this.getLastFocusableElement()?.focus();\n this.getLastFocusableElement()?.blur();\n }, 0);\n\n this.spwModalOpen.emit();\n });\n } catch (err) {\n this.spwModalOpen.emit();\n }\n }\n\n private close() {\n try {\n const anim = animationTo(this.modalContainer, KEYFRAMES.fadeOut, {\n duration: 200,\n });\n anim.addEventListener('finish', () => {\n this.showModal = false;\n this.spwModalClose.emit();\n });\n } catch (err) {\n this.showModal = false;\n this.spwModalClose.emit();\n }\n }\n\n private handleKeypress = (event: KeyboardEvent) => {\n if (this.showModal && event.key === 'Escape') {\n this.doBeforeClose('ESCAPE_KEY');\n }\n };\n\n private doBeforeClose(trigger: CloseEventTrigger) {\n const triggers = [];\n triggers.push(trigger);\n const prevented = triggers.some(event => event.defaultPrevented);\n if (!prevented) {\n this.opened = false;\n }\n }\n\n @Watch('opened')\n openedChanged(newValue: boolean) {\n newValue === true ? this.open() : this.close();\n }\n\n private handleOverlayClick() {\n if (this.closeOnOverlayClick) {\n this.doBeforeClose('BACKDROP');\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-modal': true,\n 'spw-modal--opened': this.showModal,\n 'spw-modal--sticky-buttons': this.stickyButtons,\n };\n }\n\n render() {\n return (\n <Host>\n <div ref={el => (this.modalContainer = el)} class={this.elementClass}>\n <div class=\"spw-modal__overlay\" onClick={() => this.handleOverlayClick()}></div>\n <div data-focus-trap-edge onFocus={this.handleTopFocus} tabindex=\"0\"></div>\n <div class={`spw-modal__content-container spw-modal__content-container--${this.size}`} role=\"dialog\" aria-modal=\"true\" aria-label={this.caption}>\n <div class=\"spw-modal__content\">\n <div class=\"spw-modal__header\">\n <h2 class=\"spw-modal__caption\">{this.caption}</h2>\n {this.showCloseButton && (\n <spw-icon class=\"spw-modal__close-button\" ref={el => (this.closeButton = el)} icon=\"fa-xmark\" onClick={() => this.doBeforeClose('CLOSE_BUTTON')}></spw-icon>\n )}\n </div>\n <div class=\"spw-modal__body\">\n <slot name=\"content\" />\n </div>\n <div class=\"spw-modal__buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </div>\n <div data-focus-trap-edge onFocus={this.handleBottomFocus} tabindex=\"0\"></div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -16,7 +16,7 @@ export class SpwMosaicItem {
16
16
  this.el.style.setProperty('--spw-mosaic-item-width-desktop', `calc(100% / ${colsDesktop})`);
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '6dff7061b0f33914d1f0e6ba002ebb4a9d0f873b' }, h("slot", { key: '262e212d07d528af0c170b881bb6e2e224e8d02f' })));
19
+ return (h(Host, { key: '777ed50773d2a53a334e62ebf41afd26140290be' }, h("slot", { key: '2c9f8f5b9cd454b9adcc33b253c0d2a7d98c6d32' })));
20
20
  }
21
21
  static get is() { return "spw-mosaic-item"; }
22
22
  static get encapsulation() { return "shadow"; }
@@ -131,7 +131,7 @@ export class SpwMosaic {
131
131
  };
132
132
  }
133
133
  render() {
134
- return (h(Host, { key: 'e0fefb8265df98b4217f73d8b5a5f9c222d71066' }, h("div", { key: 'f6e5c792e60ee3148e285ca49115f3a8a30a931f', class: this.elementClass }, h("slot", { key: 'cfb0060e91a19e8963bfcfd225a2c6c1dded4efb' }))));
134
+ return (h(Host, { key: 'd3af26d6a7bb38bd05d47b1e6d796fb5b5d27871' }, h("div", { key: '6385d379e19cdd77891340b27d585af00b78d82a', class: this.elementClass }, h("slot", { key: '31b642d80de4ae0156695b06e2c7d8c10eeb7bac' }))));
135
135
  }
136
136
  static get is() { return "spw-mosaic"; }
137
137
  static get encapsulation() { return "shadow"; }
@@ -146,12 +146,12 @@ export class SpwPagination {
146
146
  const pages = this.calculatePageRange();
147
147
  const showPrevArrow = this.currentPage > 1;
148
148
  const showNextArrow = this.currentPage < this.totalPages;
149
- const prevArrow = showPrevArrow && (h("li", { key: 'ad6421f9725d6d1d46c3e5248d128d93c571ef87', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '3737b2adde08f75c8c0cee4e16fcb892945df486', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '632ed04363a0fda345d681674b536440393283e8', icon: "fa-chevron-left" }), " ", h("span", { key: '343b5d4e3739b3ed5d13b64b9d610f1f56f61e75', class: "spw-pagination__item-arrow-text" }, "Pr\u00E9c\u00E9dent"))));
150
- const nextArrow = showNextArrow && (h("li", { key: '2f5b080735b87f9dfc62c13de19816327f4904b4', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '45cce58381eb6498f6c1318e1043b7024994e31b', onClick: () => this.goToPage(this.currentPage + 1) }, h("span", { key: '810abe3ab60ef996eefaaf5d46252748752d3fe4', class: "spw-pagination__item-arrow-text" }, "Suivant"), " ", h("spw-icon", { key: '887ca874226b1f9c31e7a4078a7e22460d126431', icon: "fa-chevron-right" }))));
151
- const prevArrowMobile = this.currentPage > 1 && (h("li", { key: '9fda929c0554c4bc3b7212ab500a10ea5e03faaa', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: 'eca280e619eac2fe898766092a7c005ed4e3c751', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: 'ea7dd4a4e1e81d21d90fe9827bcc093ccd261a47', icon: "fa-chevron-left" }), " ", h("span", { key: 'da2e35f9760bfeaa4275dce60aa622dab938bd1a' }, "Pr\u00E9c\u00E9dent"))));
152
- const nextArrowMobile = this.currentPage < this.totalPages && (h("li", { key: '5db8a31b06262316ae0debd3eb6219fbffaeec17', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: 'a1e2ea032c64e9393eef7eb6fb27764999bf540b', onClick: () => this.goToPage(this.currentPage + 1), disabled: this.currentPage >= this.totalPages }, h("span", { key: '03c34b79c84f793a651433892955993fc658cdf8' }, "Suivant"), " ", h("spw-icon", { key: 'acceae7db2439ddad1dd03e91bda81afbbe75130', icon: "fa-chevron-right" }))));
153
- const mobileArrows = (h("ul", { key: '40ef872f1a2ac2a1b6c8f4027b3ac5fa122d4035', class: "spw-pagination__mobile-arrows" }, prevArrowMobile, nextArrowMobile));
154
- return (h(Host, { key: 'afde15a494fe4963ddfcdd5dcfddcc2e35b57c2d' }, h("div", { key: '3c3664b1e272a9903c2a0ccf45fe4f016cfbf60f', class: this.getPaginationClass() }, this.variant === 'input' && (h(Fragment, { key: '78c0f7dec1fb71e08c7a7667ba2195b153ec3511' }, h("ul", { key: '5ef9d9145c95e49291e747faba73b7293c8fcd89' }, prevArrow, h("li", { key: 'eb897ca570c25c8f2f0f4478067bba47d110e7ac', class: "spw-pagination__input" }, h("spw-text-field", { key: '61130bb24cf30ac0813081aae365f79a4f44f291', value: this.inputPageValue, type: "text", onInput: event => this.handleInputChange(event), onKeyDown: event => this.handleKeyDown(event), disabled: this.isDisabled, style: { width: this.calculateWidth() } })), h("li", { key: '036d0adc25074dd2e7000fff3192b542019d0473', class: "spw-pagination__total-pages" }, "sur ", this.totalPages, " pages"), nextArrow), mobileArrows)), this.variant === 'numbers' && (h(Fragment, { key: '8427a073b38ad4180c37fbb24ed2ff532a09e199' }, h("ul", { key: 'bb26786f760d5b4159a2ced9e0b1e0365aaa2f55' }, prevArrow, pages.map(({ page, class: pageClass }) => {
149
+ const prevArrow = showPrevArrow && (h("li", { key: '93b7b7b7e63a0f412ba0cd3ce24184fe82e1dd97', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: 'd72f5565596f08444ad3faa718e4ce482f5444eb', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '088d91e7c6e7cb046473cf89a4e0e7679d2050f4', icon: "fa-chevron-left" }), " ", h("span", { key: '08cc3c30ed90e5606e30d2782a2cc03668d465c1', class: "spw-pagination__item-arrow-text" }, "Pr\u00E9c\u00E9dent"))));
150
+ const nextArrow = showNextArrow && (h("li", { key: 'cbf1b440f1eb2635e30cb80da5d8a1ffdd1f87bd', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '835ecbf9ca6769b4b254719b02465c7e1fdc1914', onClick: () => this.goToPage(this.currentPage + 1) }, h("span", { key: '583807dca336b9c5cb6ec86e1feb6907c6495797', class: "spw-pagination__item-arrow-text" }, "Suivant"), " ", h("spw-icon", { key: '43fb4e649edba05cba2ed79ce47e81fc68ab2f8c', icon: "fa-chevron-right" }))));
151
+ const prevArrowMobile = this.currentPage > 1 && (h("li", { key: '8a5ad0c164c4cfa61c189e4dbcf89932b97b8c06', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: '63fc9e75e422091c7d1def40d194b7effc7afec3', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '174ff450acf99500bee370850ac30d045ec324cc', icon: "fa-chevron-left" }), " ", h("span", { key: '442d67afa7c34c5c8cd3b8dc8d1d1f555ed1223b' }, "Pr\u00E9c\u00E9dent"))));
152
+ const nextArrowMobile = this.currentPage < this.totalPages && (h("li", { key: '7b031cd5000f95c4b921d848b634e2dc4c9289be', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: 'd8c57c1604f2638ee44657ff8f3f4617b4ff38d5', onClick: () => this.goToPage(this.currentPage + 1), disabled: this.currentPage >= this.totalPages }, h("span", { key: '29d978a4bf52f7c146401442821b7b3336ec0217' }, "Suivant"), " ", h("spw-icon", { key: '14559f10203814d0b42fc6567a15b6ed3a993bda', icon: "fa-chevron-right" }))));
153
+ const mobileArrows = (h("ul", { key: 'ca42a18d13d6533e18b89f1cb6131e31a14d41fc', class: "spw-pagination__mobile-arrows" }, prevArrowMobile, nextArrowMobile));
154
+ return (h(Host, { key: 'a2ed6883a1af9b1750e4833c4c559c6d958a74b5' }, h("div", { key: '6e7361afa017fe41525d67414346bca67471ab33', class: this.getPaginationClass() }, this.variant === 'input' && (h(Fragment, { key: '64316a6450d4cd29f6064bcba7d3a161a84a69a3' }, h("ul", { key: 'c576be59dc85a343c423aa53c2688028d4f6b0af' }, prevArrow, h("li", { key: '38b2dac9f26e71fc4cf95c48c8e6accdf7f9d41f', class: "spw-pagination__input" }, h("spw-text-field", { key: 'c87191808ecce0ab90343d1f920acf6b0df1deea', value: this.inputPageValue, type: "text", onInput: event => this.handleInputChange(event), onKeyDown: event => this.handleKeyDown(event), disabled: this.isDisabled, style: { width: this.calculateWidth() } })), h("li", { key: '612f6734bbe6ba502797545a3336d0e4392d164e', class: "spw-pagination__total-pages" }, "sur ", this.totalPages, " pages"), nextArrow), mobileArrows)), this.variant === 'numbers' && (h(Fragment, { key: 'efa601b474e1e77bb2ece97e9a93a8c20cc7e216' }, h("ul", { key: '6d31ecbb8d703920c38d2eb6da9e55e0e5b99eae' }, prevArrow, pages.map(({ page, class: pageClass }) => {
155
155
  if (page === '...') {
156
156
  return (h("li", { class: `spw-pagination__item spw-pagination__item--dots ${pageClass}` }, h("spw-icon", { icon: "fa-ellipsis" })));
157
157
  }
@@ -81,7 +81,7 @@ export class SpwRadio {
81
81
  render() {
82
82
  const slot = this.el.innerHTML;
83
83
  const hasSlot = Boolean(slot);
84
- return (h("div", { key: 'b487435d265134323565382f287020223fa60efb', class: "spw-radio" }, h("input", { key: '37958d5a1261e84899631bd1f54a60cf8117f045', type: "radio", ref: el => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleRadio.bind(this), name: this.name, value: this.value, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (h("label", { key: '3648453553b27aa7c65a18767d118a8344ff79d7', class: `spw-radio__label ${this.disabled ? 'spw-radio__label--disabled' : ''}`, onClick: this.handleRadio.bind(this) }, h("slot", { key: '30abdfc173bace6dad865c9b5bd2e3665941efc7' }))), h("div", { key: '978da9ea53c0a31904c2f47ec837ab8396a0d283', tabIndex: this.disabled ? -1 : 0, onClick: this.handleRadio.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "radio", "aria-checked": this.internalChecked, "aria-disabled": this.disabled, "aria-labelledby": "label", class: this.elementClass }, this.internalChecked && h("span", { key: '6641dc4847a7680dc9406747c3082908b019cc60', class: "spw-radio__circle" }))));
84
+ return (h("div", { key: '341ca0ede848a22ba1ce3fa54228642c94206208', class: "spw-radio" }, h("input", { key: 'c663e784e069eb5cf798488cacf7f39b01708999', type: "radio", ref: el => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleRadio.bind(this), name: this.name, value: this.value, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (h("label", { key: '14f3f9c6f1897f75e0b546f188b67ded8c6a0bb0', class: `spw-radio__label ${this.disabled ? 'spw-radio__label--disabled' : ''}`, onClick: this.handleRadio.bind(this) }, h("slot", { key: 'b18d354b0ca8b89b26d8d43b236c57e51de3814a' }))), h("div", { key: '3b8e088d843c84b2ad21b96e13684dc75654a3f1', tabIndex: this.disabled ? -1 : 0, onClick: this.handleRadio.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "radio", "aria-checked": this.internalChecked, "aria-disabled": this.disabled, "aria-labelledby": "label", class: this.elementClass }, this.internalChecked && h("span", { key: '93071e5d99bb7f78351b0d78720dc65b2c99cd6f', class: "spw-radio__circle" }))));
85
85
  }
86
86
  static get is() { return "spw-radio"; }
87
87
  static get encapsulation() { return "shadow"; }
@@ -132,10 +132,10 @@ export class SpwSearchField {
132
132
  };
133
133
  }
134
134
  render() {
135
- return (h("div", { key: '9aff91c0cff906dbe327dc97eeb092e2b821aa61', ref: el => (this.hostElement = el), class: this.elementClass }, h("spw-text-field", { key: 'b64b967bac7041a7eb81ec756e26963c3aba47e7', placeholder: this.placeholder, name: this.name, label: this.label, size: this.size, "is-search": true, "is-clear": true, required: this.required, disabled: this.disabled, assistiveText: this.assistiveText, value: this.searchText, onInput: event => this.handleSearchInput(event), onKeyDown: event => this.handleKeyDown(event) }), this.isOpen && !!this.items && (h("div", { key: '64d7909e4df505412387a55c95d02a941be8e0c1', class: `spw-search-field__options spw-search-field__options--${this.dropdownDirection}` }, !!this.filteredItems.length && (h("ul", { key: '80e3275982f22e32f893aacfef3a9ad260c75e1a' }, this.filteredItems.map((item, index) => (h("li", { class: {
135
+ return (h("div", { key: '7cdca9f13fa7eafd8daed5d5e895e57e7a62eed6', ref: el => (this.hostElement = el), class: this.elementClass }, h("spw-text-field", { key: 'e47decd821d472dd4e99b7f812ab454591f5cfad', placeholder: this.placeholder, name: this.name, label: this.label, size: this.size, "is-search": true, "is-clear": true, required: this.required, disabled: this.disabled, assistiveText: this.assistiveText, value: this.searchText, onInput: event => this.handleSearchInput(event), onKeyDown: event => this.handleKeyDown(event) }), this.isOpen && !!this.items && (h("div", { key: '3c011d6dfd26b6863a0fe0d36594b86bdea1f2bb', class: `spw-search-field__options spw-search-field__options--${this.dropdownDirection}` }, !!this.filteredItems.length && (h("ul", { key: '6af2531d99fed0f945a790f73e8cf6b75cdba179' }, this.filteredItems.map((item, index) => (h("li", { class: {
136
136
  'spw-search-field__option': true,
137
137
  'spw-search-field__option--focused': index === this.focusedItemIndex,
138
- }, onClick: () => this.selectItem(item) }, this.highlightMatch(item.label), " ", item.category && h("span", { class: "spw-tw-italic" }, " - ", item.category)))))), !this.filteredItems.length && h("p", { key: 'f5be8fe25026eaecb1698542dcc6df7d60d6a770', class: "spw-search-field__no-results" }, "Pas de r\u00E9sultats.")))));
138
+ }, onClick: () => this.selectItem(item) }, this.highlightMatch(item.label), " ", item.category && h("span", { class: "spw-tw-italic" }, " - ", item.category)))))), !this.filteredItems.length && h("p", { key: '51b90874356e8fa8f2f8c8a603c35b438a7b04a5', class: "spw-search-field__no-results" }, "Pas de r\u00E9sultats.")))));
139
139
  }
140
140
  static get is() { return "spw-search-field"; }
141
141
  static get encapsulation() { return "shadow"; }
@@ -27,6 +27,11 @@ export class SpwSelect {
27
27
  this.showWarningIcon = true;
28
28
  this.defaultValue = null;
29
29
  }
30
+ handleItemsChange() {
31
+ if (this.selectElement) {
32
+ this.syncDynamicOptions();
33
+ }
34
+ }
30
35
  componentWillLoad() {
31
36
  var _a;
32
37
  this.defaultValue = (_a = this.value) !== null && _a !== void 0 ? _a : this.getInitialSelectedValue();
@@ -34,7 +39,12 @@ export class SpwSelect {
34
39
  }
35
40
  componentDidLoad() {
36
41
  this.internals.setFormValue(this.getFormValue());
37
- this.moveOptionsToLightDom();
42
+ if (!this.items) {
43
+ this.moveOptionsToLightDom();
44
+ }
45
+ else {
46
+ this.syncDynamicOptions();
47
+ }
38
48
  }
39
49
  formResetCallback() {
40
50
  var _a;
@@ -53,6 +63,9 @@ export class SpwSelect {
53
63
  return this.internalValue ? String(this.internalValue) : null;
54
64
  }
55
65
  getInitialSelectedValue() {
66
+ if (this.items && this.items.length > 0) {
67
+ return null;
68
+ }
56
69
  const assignedNodes = Array.from(this.el.querySelectorAll('option'));
57
70
  for (const option of assignedNodes) {
58
71
  if (option.hasAttribute('selected')) {
@@ -79,6 +92,24 @@ export class SpwSelect {
79
92
  });
80
93
  }
81
94
  }
95
+ syncDynamicOptions() {
96
+ while (this.selectElement.options.length > 1) {
97
+ this.selectElement.remove(1);
98
+ }
99
+ if (this.items && this.items.length > 0) {
100
+ this.items.forEach(item => {
101
+ const option = document.createElement('option');
102
+ const value = this.itemValue ? item[this.itemValue] : item;
103
+ const label = this.itemLabel ? item[this.itemLabel] : item;
104
+ option.value = String(value);
105
+ option.textContent = String(label);
106
+ this.selectElement.appendChild(option);
107
+ });
108
+ }
109
+ if (this.selectElement.value !== String(this.internalValue || '')) {
110
+ this.selectElement.value = String(this.internalValue || '');
111
+ }
112
+ }
82
113
  renderErrorMessage() {
83
114
  if (this.error) {
84
115
  return (h("spw-field-message", { variant: "error", showIcon: this.showErrorIcon }, this.error));
@@ -108,7 +139,7 @@ export class SpwSelect {
108
139
  };
109
140
  }
110
141
  render() {
111
- return (h(Host, { key: '4dc317a77668ffbb43c79d57f5d7da9fd95e89ff' }, h("div", { key: 'cdd71a2e2c0692d5e60a31436eaec9876a02f268', class: this.elementClass }, this.label && h("spw-field-label", { key: 'f7e697879fb90b567f96fc4afdde06fadba57a9e', label: this.label, name: this.name, required: this.required }), this.assistiveText && (h("spw-field-message", { key: '00d9376db4753b6570dd361d3c313aa621012579', class: "spw-tw-mb-2 -spw-tw-mt-1", variant: "hint", showIcon: false }, this.assistiveText)), h("div", { key: '84c13f23a4ba6cfab4cccae318d49cfe4ef3ca31', class: "spw-select__container" }, h("select", { key: '8760751cc67de4ae4ba1d0ce414f3c7fe61492ee', id: this.name, class: "spw-select__trigger", onChange: event => this.handleSelectChange(event), disabled: this.disabled, ref: el => (this.selectElement = el), tabindex: this.disabled ? -1 : 0 }, h("option", { key: 'a009cd570e1b8ae349e442eb889fde7b010a31cf', value: "", disabled: true, selected: !this.internalValue }, this.placeholder)), h("spw-icon", { key: '66dd559b7b9d2200bc835463c823515d388065d1', class: "spw-select__arrow", icon: "fa-chevron-down" })), h("slot", { key: 'fb0314cb1bd36c6daadc6f849dd898499d1e20cb' })), this.renderErrorMessage(), this.renderHintMessage(), this.renderSuccessMessage(), this.renderWarningMessage()));
142
+ return (h(Host, { key: '56d9bbe6fbb49ec72fd9e5116f3e74d8fbba34a0' }, h("div", { key: '98a60067955e9ee577c337a855298753e444f806', class: this.elementClass }, this.label && h("spw-field-label", { key: 'ab0ff5678cf5fe119d7a24fc66b58c1bf1b220ff', label: this.label, name: this.name, required: this.required }), this.assistiveText && (h("spw-field-message", { key: 'fb578feee5ead5cbc2e5bb1e88d46ab57692c8bd', class: "spw-tw-mb-2 -spw-tw-mt-1", variant: "hint", showIcon: false }, this.assistiveText)), h("div", { key: '243a53007efb7fef01078c9be7db95bcb78109c6', class: "spw-select__container" }, h("select", { key: 'c8bfe5baa2daeede78609261bb6b6c642c5e68b3', id: this.name, class: "spw-select__trigger", onChange: event => this.handleSelectChange(event), disabled: this.disabled, ref: el => (this.selectElement = el), tabindex: this.disabled ? -1 : 0 }, h("option", { key: '60a3e98e85ebbe6c8ff01368b45f7655c8beb04f', value: "", disabled: true, selected: !this.internalValue }, this.placeholder)), h("spw-icon", { key: 'e60ed9a157f7bbcef3eca26d7ea0347b470a655f', class: "spw-select__arrow", icon: "fa-chevron-down" })), !this.items && h("slot", { key: '6172fb81b853a9e167030c731ec1bfc4a2bf0af6' })), this.renderErrorMessage(), this.renderHintMessage(), this.renderSuccessMessage(), this.renderWarningMessage()));
112
143
  }
113
144
  static get is() { return "spw-select"; }
114
145
  static get encapsulation() { return "shadow"; }
@@ -440,6 +471,67 @@ export class SpwSelect {
440
471
  "attribute": "show-warning-icon",
441
472
  "reflect": false,
442
473
  "defaultValue": "true"
474
+ },
475
+ "items": {
476
+ "type": "unknown",
477
+ "mutable": false,
478
+ "complexType": {
479
+ "original": "SelectItem[]",
480
+ "resolved": "SelectItem[]",
481
+ "references": {
482
+ "SelectItem": {
483
+ "location": "local",
484
+ "path": "/Users/pectonite/Desktop/SPW/spw-design-system/packages/spw-stencil-library/src/components/spw-select/spw-select.tsx",
485
+ "id": "src/components/spw-select/spw-select.tsx::SelectItem"
486
+ }
487
+ }
488
+ },
489
+ "required": false,
490
+ "optional": true,
491
+ "docs": {
492
+ "tags": [],
493
+ "text": "Liste d'items dynamiques pour g\u00E9n\u00E9rer les options (array d'objects avec label + value)"
494
+ },
495
+ "getter": false,
496
+ "setter": false
497
+ },
498
+ "itemLabel": {
499
+ "type": "string",
500
+ "mutable": false,
501
+ "complexType": {
502
+ "original": "string",
503
+ "resolved": "string",
504
+ "references": {}
505
+ },
506
+ "required": false,
507
+ "optional": true,
508
+ "docs": {
509
+ "tags": [],
510
+ "text": "Propri\u00E9t\u00E9 \u00E0 utiliser comme label des options"
511
+ },
512
+ "getter": false,
513
+ "setter": false,
514
+ "attribute": "item-label",
515
+ "reflect": false
516
+ },
517
+ "itemValue": {
518
+ "type": "string",
519
+ "mutable": false,
520
+ "complexType": {
521
+ "original": "string",
522
+ "resolved": "string",
523
+ "references": {}
524
+ },
525
+ "required": false,
526
+ "optional": true,
527
+ "docs": {
528
+ "tags": [],
529
+ "text": "Propri\u00E9t\u00E9 \u00E0 utiliser comme valeur des options"
530
+ },
531
+ "getter": false,
532
+ "setter": false,
533
+ "attribute": "item-value",
534
+ "reflect": false
443
535
  }
444
536
  };
445
537
  }
@@ -467,6 +559,12 @@ export class SpwSelect {
467
559
  }];
468
560
  }
469
561
  static get elementRef() { return "el"; }
562
+ static get watchers() {
563
+ return [{
564
+ "propName": "items",
565
+ "methodName": "handleItemsChange"
566
+ }];
567
+ }
470
568
  static get attachInternalsMemberName() { return "internals"; }
471
569
  }
472
570
  //# sourceMappingURL=spw-select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spw-select.js","sourceRoot":"","sources":["../../../src/components/spw-select/spw-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Host, Component, Prop, State, Event, EventEmitter, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-select',\n styleUrl: 'spw-select.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwSelect {\n @Element() el: HTMLSpwSelectElement;\n\n /** Emet un event si la valeur change */\n @Event() valueChanged: EventEmitter<string | number>;\n @State() internalValue: string | number;\n\n /** Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value: string | number;\n /** Label associé au champ de sélection */\n @Prop() label: string = '';\n /** Texte du placeholder à afficher lorsque rien n'est sélectionné */\n @Prop() placeholder: string = 'Sélectionner une option';\n /** Indique si le champ de sélection est désactivé */\n @Prop() disabled: boolean;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */\n @Prop() name: string;\n /** Indique si la sélection est obligatoire dans le formulaire */\n @Prop() required: boolean = false;\n /** Taille du champ de sélection : 'large' ou 'medium' */\n @Prop() size: 'large' | 'medium' = 'medium';\n /** Texte d'assistance affiché sous le champ de sélection */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ de sélection */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ de sélection */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ de sélection */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n\n private selectElement!: HTMLSelectElement;\n private defaultValue: string | number | null = null;\n\n @AttachInternals() internals: ElementInternals;\n\n componentWillLoad() {\n this.defaultValue = this.value ?? this.getInitialSelectedValue();\n this.internalValue = this.value || this.getInitialSelectedValue();\n }\n\n componentDidLoad() {\n this.internals.setFormValue(this.getFormValue());\n this.moveOptionsToLightDom();\n }\n\n formResetCallback() {\n this.setValue(this.defaultValue ?? '');\n }\n\n private setValue(val: string | number) {\n this.internalValue = val;\n this.value = val;\n\n if (this.selectElement) {\n this.selectElement.value = String(val);\n }\n\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private getFormValue(): string | null {\n return this.internalValue ? String(this.internalValue) : null;\n }\n\n private getInitialSelectedValue(): string | number | null {\n const assignedNodes = Array.from(this.el.querySelectorAll('option')) as HTMLOptionElement[];\n for (const option of assignedNodes) {\n if (option.hasAttribute('selected')) {\n return option.getAttribute('value');\n }\n }\n return null;\n }\n\n private handleSelectChange(event: Event) {\n const select = event.target as HTMLSelectElement;\n this.internalValue = select.value;\n this.value = this.internalValue;\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private moveOptionsToLightDom() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true }) as HTMLElement[];\n assignedNodes.forEach(node => {\n if (node.nodeName === 'OPTION' || node.nodeName === 'OPTGROUP') {\n this.selectElement.appendChild(node);\n }\n });\n }\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-select': true,\n [`spw-select--${this.size}`]: true,\n 'spw-select--disabled': this.disabled,\n 'spw-select--is-error': !!this.error,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-select__container\">\n <select\n id={this.name}\n class=\"spw-select__trigger\"\n onChange={event => this.handleSelectChange(event)}\n disabled={this.disabled}\n ref={el => (this.selectElement = el as HTMLSelectElement)}\n tabindex={this.disabled ? -1 : 0}\n >\n <option value=\"\" disabled selected={!this.internalValue}>\n {this.placeholder}\n </option>\n </select>\n <spw-icon class=\"spw-select__arrow\" icon=\"fa-chevron-down\"></spw-icon>\n </div>\n <slot />\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"spw-select.js","sourceRoot":"","sources":["../../../src/components/spw-select/spw-select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { AttachInternals, Host, Component, Prop, State, Event, EventEmitter, h, Element, Watch } from '@stencil/core';\n\nexport interface SelectItem {\n label: string;\n value: string | number;\n}\n\n@Component({\n tag: 'spw-select',\n styleUrl: 'spw-select.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwSelect {\n @Element() el: HTMLSpwSelectElement;\n\n /** Emet un event si la valeur change */\n @Event() valueChanged: EventEmitter<string | number>;\n @State() internalValue: string | number;\n\n /** Valeur sélectionnée actuelle, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value: string | number;\n /** Label associé au champ de sélection */\n @Prop() label: string = '';\n /** Texte du placeholder à afficher lorsque rien n'est sélectionné */\n @Prop() placeholder: string = 'Sélectionner une option';\n /** Indique si le champ de sélection est désactivé */\n @Prop() disabled: boolean;\n /** Nom de l'élément utilisé dans les formulaires pour associer la valeur sélectionnée */\n @Prop() name: string;\n /** Indique si la sélection est obligatoire dans le formulaire */\n @Prop() required: boolean = false;\n /** Taille du champ de sélection : 'large' ou 'medium' */\n @Prop() size: 'large' | 'medium' = 'medium';\n /** Texte d'assistance affiché sous le champ de sélection */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ de sélection */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ de sélection */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ de sélection */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n /** Liste d'items dynamiques pour générer les options (array d'objects avec label + value) */\n @Prop() items?: SelectItem[];\n /** Propriété à utiliser comme label des options */\n @Prop() itemLabel?: string;\n /** Propriété à utiliser comme valeur des options */\n @Prop() itemValue?: string;\n\n private selectElement!: HTMLSelectElement;\n private defaultValue: string | number | null = null;\n\n @AttachInternals() internals: ElementInternals;\n\n @Watch('items')\n handleItemsChange() {\n if (this.selectElement) {\n this.syncDynamicOptions();\n }\n }\n\n componentWillLoad() {\n this.defaultValue = this.value ?? this.getInitialSelectedValue();\n this.internalValue = this.value || this.getInitialSelectedValue();\n }\n\n componentDidLoad() {\n this.internals.setFormValue(this.getFormValue());\n if (!this.items) {\n this.moveOptionsToLightDom();\n } else {\n this.syncDynamicOptions();\n }\n }\n\n formResetCallback() {\n this.setValue(this.defaultValue ?? '');\n }\n\n private setValue(val: string | number) {\n this.internalValue = val;\n this.value = val;\n\n if (this.selectElement) {\n this.selectElement.value = String(val);\n }\n\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private getFormValue(): string | null {\n return this.internalValue ? String(this.internalValue) : null;\n }\n\n private getInitialSelectedValue(): string | number | null {\n if (this.items && this.items.length > 0) {\n return null;\n }\n const assignedNodes = Array.from(this.el.querySelectorAll('option')) as HTMLOptionElement[];\n for (const option of assignedNodes) {\n if (option.hasAttribute('selected')) {\n return option.getAttribute('value');\n }\n }\n return null;\n }\n\n private handleSelectChange(event: Event) {\n const select = event.target as HTMLSelectElement;\n this.internalValue = select.value;\n this.value = this.internalValue;\n this.internals.setFormValue(this.getFormValue());\n this.valueChanged.emit(this.internalValue);\n }\n\n private moveOptionsToLightDom() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedNodes = slot.assignedNodes({ flatten: true }) as HTMLElement[];\n assignedNodes.forEach(node => {\n if (node.nodeName === 'OPTION' || node.nodeName === 'OPTGROUP') {\n this.selectElement.appendChild(node);\n }\n });\n }\n }\n\n private syncDynamicOptions() {\n while (this.selectElement.options.length > 1) {\n this.selectElement.remove(1);\n }\n\n if (this.items && this.items.length > 0) {\n this.items.forEach(item => {\n const option = document.createElement('option');\n const value = this.itemValue ? item[this.itemValue] : item;\n const label = this.itemLabel ? item[this.itemLabel] : item;\n option.value = String(value);\n option.textContent = String(label);\n this.selectElement.appendChild(option);\n });\n }\n\n if (this.selectElement.value !== String(this.internalValue || '')) {\n this.selectElement.value = String(this.internalValue || '');\n }\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-select': true,\n [`spw-select--${this.size}`]: true,\n 'spw-select--disabled': this.disabled,\n 'spw-select--is-error': !!this.error,\n };\n }\n\n render() {\n return (\n <Host>\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-select__container\">\n <select\n id={this.name}\n class=\"spw-select__trigger\"\n onChange={event => this.handleSelectChange(event)}\n disabled={this.disabled}\n ref={el => (this.selectElement = el as HTMLSelectElement)}\n tabindex={this.disabled ? -1 : 0}\n >\n <option value=\"\" disabled selected={!this.internalValue}>\n {this.placeholder}\n </option>\n </select>\n <spw-icon class=\"spw-select__arrow\" icon=\"fa-chevron-down\"></spw-icon>\n </div>\n {!this.items && <slot />}\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </Host>\n );\n }\n}\n"]}
@@ -27,7 +27,7 @@ export class SpwSeparator {
27
27
  };
28
28
  }
29
29
  render() {
30
- return h("div", { key: 'e2c7eb78fae0851348bd1eb21183485645b5b72e', class: this.elementClass, style: this.style });
30
+ return h("div", { key: 'fbda2698820b54599bd2b837b8a268240b7e289a', class: this.elementClass, style: this.style });
31
31
  }
32
32
  static get is() { return "spw-separator"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -11,7 +11,7 @@ export class SpwSidebarNavigationDropdown {
11
11
  };
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '5bb4c4d5d072c8316c10ce3d929f1dcdfe3c5adb', class: this.classes }, h("div", { key: '9899717583b8e8e3781b8b9df3cc6a66a717bc1e', class: "spw-sidebar-navigation-dropdown__content", style: { display: this.open ? 'block' : 'none' } }, h("slot", { key: '30d7fd1508a017b449c3d8935ae27de4aa44c689' }))));
14
+ return (h(Host, { key: '4a893e6ce9b405fe37145a7e129593833423a4d6', class: this.classes }, h("div", { key: 'a7a9de1e9a4a801abaeb77932fff8f6808eb0326', class: "spw-sidebar-navigation-dropdown__content", style: { display: this.open ? 'block' : 'none' } }, h("slot", { key: '8c1221ce9034d5fc3cfe0f2ba741f6529b36a187' }))));
15
15
  }
16
16
  static get is() { return "spw-sidebar-navigation-dropdown"; }
17
17
  static get originalStyleUrls() {
@@ -91,14 +91,14 @@ export class SpwSidebarNavigationItem {
91
91
  }
92
92
  render() {
93
93
  const Tag = this.href && !this.disabled ? 'a' : 'div';
94
- const iconContent = h("spw-icon", { key: 'dabfdd32727f276bdddab2cdde42f4568ec92e06', variant: this.iconVariant, icon: this.icon });
95
- const iconDiv = (h("div", { key: '969810425a905e1aec78a1d5d1f66b50b0102201', class: "spw-sidebar-navigation-item__icon" }, this.bubble && h("span", { key: '96865d1a920cd4f3246f2be6b3e65c896e942fbd', class: "spw-sidebar-navigation-item__bubble" }, this.bubble), iconContent));
94
+ const iconContent = h("spw-icon", { key: '8371a1fe7024feb9c68534858fc8768a7e1cf95e', variant: this.iconVariant, icon: this.icon });
95
+ const iconDiv = (h("div", { key: 'e9e34febe064a3facaa09fd23d330ac417d04c04', class: "spw-sidebar-navigation-item__icon" }, this.bubble && h("span", { key: '31ae7f9415ebe94381b9df72b00897064ad2f88e', class: "spw-sidebar-navigation-item__bubble" }, this.bubble), iconContent));
96
96
  const iconWithBubble = this.tooltipTitle ? (h("spw-tooltip", { cursor: this.disabled ? 'disabled' : 'pointer', "tooltip-title": this.tooltipTitle, direction: "right", visible: !this.navExpanded }, iconDiv)) : (iconDiv);
97
97
  const toggleClasses = {
98
98
  'spw-sidebar-navigation-item__dropdown-toggle': true,
99
99
  'spw-sidebar-navigation-item__dropdown-toggle--open': this.dropdownOpen,
100
100
  };
101
- return (h(Tag, { key: '6c120ab2da26bf9b82b32af748ad714684ee3c10', class: this.classes, href: this.href, "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : 0 }, this.icon && iconWithBubble, h("div", { key: '743aa1a6b947057a4284f58435340c9fff6e64cc', class: "spw-sidebar-navigation-item__content" }, h("div", { key: 'fe53ef13f071f002c9201d72a42f9c3905db9b41', class: "spw-sidebar-navigation-item__content-label" }, h("slot", { key: 'dbd51ed71b275a620185115627391cb7809e26c8' })), this.hasDropdown && (h("div", { key: '09962e31d19b0d7712632bffabcfc6995f13f29b', class: toggleClasses, onClick: this.handleDropdownToggle, tabIndex: this.disabled ? -1 : 0 }, h("spw-icon", { key: '4260ee8ed22a8cdefe3869a72cb166196e9237af', icon: "fa-chevron-down" }))), h("slot", { key: 'ba880e8caeb677658f3ff5b958a0ba3e58f667b4', name: "dropdown" }))));
101
+ return (h(Tag, { key: 'a7ffd31c241efc7524e4ac47af8e1e5d54d9dc35', class: this.classes, href: this.href, "aria-disabled": this.disabled ? 'true' : undefined, tabIndex: this.disabled ? -1 : 0 }, this.icon && iconWithBubble, h("div", { key: '6c01087c628490b790543c4eea02259d748083c9', class: "spw-sidebar-navigation-item__content" }, h("div", { key: 'fdab7760fe3995a44a1eb90296328b468a567ea3', class: "spw-sidebar-navigation-item__content-label" }, h("slot", { key: '18fcbae9c031f6976438141e5aec16ed0e61aa92' })), this.hasDropdown && (h("div", { key: 'a26d8b8cb3620f5eddb87503e2031d614a125504', class: toggleClasses, onClick: this.handleDropdownToggle, tabIndex: this.disabled ? -1 : 0 }, h("spw-icon", { key: '45589b6bd31dcd3b0f9307ea88fb6a7cb7fc68c1', icon: "fa-chevron-down" }))), h("slot", { key: 'd0738e4c9fc413811cb882fb0c472e4fa3ae652f', name: "dropdown" }))));
102
102
  }
103
103
  static get is() { return "spw-sidebar-navigation-item"; }
104
104
  static get originalStyleUrls() {