@spw-ds/spw-stencil-library 1.8.0 → 1.9.0

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 (455) hide show
  1. package/dist/cem.json +16833 -0
  2. package/dist/cjs/{index-CGg8f9_X.js → index-DvyqwgdS.js} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/spw-accordion_4.cjs.entry.js +1 -1
  5. package/dist/cjs/spw-avatar.cjs.entry.js +2 -2
  6. package/dist/cjs/spw-block-content.cjs.entry.js +26 -4
  7. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +1 -1
  8. package/dist/cjs/spw-breadcrumb.cjs.entry.js +1 -1
  9. package/dist/cjs/spw-button_2.cjs.entry.js +2 -2
  10. package/dist/cjs/spw-card-content.cjs.entry.js +1 -1
  11. package/dist/cjs/spw-card-excerpt.cjs.entry.js +1 -1
  12. package/dist/cjs/spw-card-image.cjs.entry.js +1 -1
  13. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
  14. package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
  15. package/dist/cjs/spw-card-title.cjs.entry.js +1 -1
  16. package/dist/cjs/spw-card.cjs.entry.js +2 -2
  17. package/dist/cjs/spw-checkbox.cjs.entry.js +2 -2
  18. package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
  19. package/dist/cjs/spw-custom-select.cjs.entry.js +80 -6
  20. package/dist/cjs/spw-date-picker.cjs.entry.js +128 -10
  21. package/dist/cjs/spw-dropdown-container.cjs.entry.js +1 -1
  22. package/dist/cjs/spw-dropdown-item.cjs.entry.js +1 -1
  23. package/dist/cjs/spw-dropdown.cjs.entry.js +1 -1
  24. package/dist/cjs/spw-field-label_7.cjs.entry.js +7 -7
  25. package/dist/cjs/spw-field-message.cjs.entry.js +1 -1
  26. package/dist/cjs/spw-file-upload.cjs.entry.js +49 -18
  27. package/dist/cjs/spw-footer-bottom.cjs.entry.js +1 -1
  28. package/dist/cjs/spw-footer-content-col.cjs.entry.js +1 -1
  29. package/dist/cjs/spw-footer-content.cjs.entry.js +1 -1
  30. package/dist/cjs/spw-footer-link.cjs.entry.js +1 -1
  31. package/dist/cjs/spw-footer.cjs.entry.js +1 -1
  32. package/dist/cjs/spw-grid-item.cjs.entry.js +1 -1
  33. package/dist/cjs/spw-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/spw-header-lang.cjs.entry.js +1 -1
  35. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +1 -1
  36. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
  37. package/dist/cjs/spw-header-navigation.cjs.entry.js +1 -1
  38. package/dist/cjs/spw-header-persona-item.cjs.entry.js +1 -1
  39. package/dist/cjs/spw-header-persona.cjs.entry.js +1 -1
  40. package/dist/cjs/spw-header.cjs.entry.js +1 -1
  41. package/dist/cjs/spw-hero.cjs.entry.js +6 -5
  42. package/dist/cjs/spw-illustration.cjs.entry.js +1 -1
  43. package/dist/cjs/spw-input-slider.cjs.entry.js +1 -1
  44. package/dist/cjs/spw-list-description.cjs.entry.js +1 -1
  45. package/dist/cjs/spw-list-item.cjs.entry.js +8 -4
  46. package/dist/cjs/spw-list-title.cjs.entry.js +1 -1
  47. package/dist/cjs/spw-list.cjs.entry.js +1 -1
  48. package/dist/cjs/spw-message.cjs.entry.js +2 -2
  49. package/dist/cjs/spw-modal.cjs.entry.js +23 -13
  50. package/dist/cjs/spw-mosaic-item.cjs.entry.js +3 -3
  51. package/dist/cjs/spw-mosaic.cjs.entry.js +6 -4
  52. package/dist/cjs/spw-pagination.cjs.entry.js +7 -7
  53. package/dist/cjs/spw-radio.cjs.entry.js +2 -2
  54. package/dist/cjs/spw-scrolltop.cjs.entry.js +2 -2
  55. package/dist/cjs/spw-search-field.cjs.entry.js +33 -11
  56. package/dist/cjs/spw-select.cjs.entry.js +1 -1
  57. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +2 -2
  58. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +4 -4
  59. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +2 -2
  60. package/dist/cjs/spw-sidebar.cjs.entry.js +2 -2
  61. package/dist/cjs/spw-skeleton.cjs.entry.js +2 -2
  62. package/dist/cjs/spw-slider-item.cjs.entry.js +2 -2
  63. package/dist/cjs/spw-slider.cjs.entry.js +3 -3
  64. package/dist/cjs/spw-socials.cjs.entry.js +2 -2
  65. package/dist/cjs/spw-stencil-library.cjs.js +2 -2
  66. package/dist/cjs/spw-table-body.cjs.entry.js +2 -2
  67. package/dist/cjs/spw-table-cell.cjs.entry.js +2 -2
  68. package/dist/cjs/spw-table-container.cjs.entry.js +2 -2
  69. package/dist/cjs/spw-table-footer.cjs.entry.js +2 -2
  70. package/dist/cjs/spw-table-head.cjs.entry.js +2 -2
  71. package/dist/cjs/spw-table-header.cjs.entry.js +3 -3
  72. package/dist/cjs/spw-table-row.cjs.entry.js +2 -2
  73. package/dist/cjs/spw-table-sidebar.cjs.entry.js +2 -2
  74. package/dist/cjs/spw-table.cjs.entry.js +1 -1
  75. package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
  76. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +3 -3
  77. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +2 -2
  78. package/dist/cjs/spw-tabs.cjs.entry.js +2 -2
  79. package/dist/cjs/spw-tag.cjs.entry.js +2 -2
  80. package/dist/cjs/spw-text-field.cjs.entry.js +21 -3
  81. package/dist/cjs/spw-textarea.cjs.entry.js +2 -2
  82. package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
  83. package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
  84. package/dist/cjs/spw-tile.cjs.entry.js +2 -2
  85. package/dist/cjs/spw-timeline-item.cjs.entry.js +3 -3
  86. package/dist/cjs/spw-timeline.cjs.entry.js +3 -3
  87. package/dist/cjs/spw-toc-container.cjs.entry.js +1 -1
  88. package/dist/cjs/spw-toc-navigation.cjs.entry.js +1 -1
  89. package/dist/cjs/spw-toc.cjs.entry.js +2 -2
  90. package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
  91. package/dist/cjs/spw-wizard-item.cjs.entry.js +2 -2
  92. package/dist/cjs/spw-wizard.cjs.entry.js +2 -2
  93. package/dist/collection/components/spw-avatar/spw-avatar.css +1 -1
  94. package/dist/collection/components/spw-block-content/spw-block-content.css +130 -10
  95. package/dist/collection/components/spw-block-content/spw-block-content.js +124 -6
  96. package/dist/collection/components/spw-button/spw-button.css +12 -0
  97. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.css +1 -0
  98. package/dist/collection/components/spw-card/spw-card.css +4 -0
  99. package/dist/collection/components/spw-checkbox/spw-checkbox.css +7 -0
  100. package/dist/collection/components/spw-custom-select/spw-custom-select.css +18 -0
  101. package/dist/collection/components/spw-custom-select/spw-custom-select.js +97 -4
  102. package/dist/collection/components/spw-date-picker/spw-date-picker.css +8 -0
  103. package/dist/collection/components/spw-date-picker/spw-date-picker.js +165 -8
  104. package/dist/collection/components/spw-file-upload/spw-file-upload.js +368 -17
  105. package/dist/collection/components/spw-group/spw-group.css +7 -0
  106. package/dist/collection/components/spw-hero/spw-hero.css +12 -3
  107. package/dist/collection/components/spw-hero/spw-hero.js +23 -3
  108. package/dist/collection/components/spw-illustration/spw-illustration.css +4 -0
  109. package/dist/collection/components/spw-link/spw-link.css +9 -2
  110. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +7 -3
  111. package/dist/collection/components/spw-loading/spw-loading.css +2 -0
  112. package/dist/collection/components/spw-message/spw-message.css +20 -0
  113. package/dist/collection/components/spw-modal/spw-modal.css +84 -7
  114. package/dist/collection/components/spw-modal/spw-modal.js +44 -13
  115. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.css +6 -2
  116. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  117. package/dist/collection/components/spw-mosaic/spw-mosaic.css +3 -0
  118. package/dist/collection/components/spw-mosaic/spw-mosaic.js +4 -2
  119. package/dist/collection/components/spw-pagination/spw-pagination.js +6 -6
  120. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  121. package/dist/collection/components/spw-scrolltop/spw-scrolltop.js +1 -1
  122. package/dist/collection/components/spw-search-field/spw-search-field.css +23 -0
  123. package/dist/collection/components/spw-search-field/spw-search-field.js +35 -9
  124. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  125. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  126. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +3 -3
  127. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
  128. package/dist/collection/components/spw-sidebar/spw-sidebar.js +1 -1
  129. package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
  130. package/dist/collection/components/spw-slider/spw-slider-item/spw-slider-item.js +1 -1
  131. package/dist/collection/components/spw-slider/spw-slider.js +2 -2
  132. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  133. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  134. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +1 -1
  135. package/dist/collection/components/spw-table/spw-table-container/spw-table-container.js +1 -1
  136. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  137. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  138. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +2 -2
  139. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +1 -1
  140. package/dist/collection/components/spw-table/spw-table-sidebar/spw-table-sidebar.js +1 -1
  141. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
  142. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.css +5 -0
  143. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +22 -3
  144. package/dist/collection/components/spw-tabs/spw-tabs.js +1 -1
  145. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  146. package/dist/collection/components/spw-text-field/spw-text-field.css +37 -0
  147. package/dist/collection/components/spw-text-field/spw-text-field.js +39 -1
  148. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  149. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  150. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  151. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  152. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  153. package/dist/collection/components/spw-timeline/spw-timeline-item/spw-timeline-item.js +2 -2
  154. package/dist/collection/components/spw-timeline/spw-timeline.js +2 -2
  155. package/dist/collection/components/spw-toc/spw-toc.js +1 -1
  156. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  157. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  158. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +1 -1
  159. package/dist/collection/components/spw-wizard/spw-wizard.js +1 -1
  160. package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js +143 -0
  161. package/dist/collection/stories/components/spw-textarea/spw-textarea.stories.js +6 -6
  162. package/dist/collection/stories/organisms/spw-block-content/spw-block-content.stories.js +15 -0
  163. package/dist/collection/utils/utils.js +25 -16
  164. package/dist/components/index.js +1 -1
  165. package/dist/components/p--N4W3bqs.js +1 -0
  166. package/dist/components/{p-C2um7CKN.js → p-BcS3VsZ9.js} +1 -1
  167. package/dist/components/p-CN8ujUL2.js +1 -0
  168. package/dist/components/p-CwkSs-Bb.js +1 -0
  169. package/dist/components/{p-7oLmQmmE.js → p-D_3btjGy.js} +1 -1
  170. package/dist/components/p-bAkyQE_m.js +1 -0
  171. package/dist/components/{p-Cy-dX0dz.js → p-p1L06Ar7.js} +1 -1
  172. package/dist/components/{p-BqvDpR82.js → p-pZQnbZwX.js} +1 -1
  173. package/dist/components/spw-avatar.js +1 -1
  174. package/dist/components/spw-block-content.js +1 -1
  175. package/dist/components/spw-breadcrumb-item.js +1 -1
  176. package/dist/components/spw-button.js +1 -1
  177. package/dist/components/spw-card.js +1 -1
  178. package/dist/components/spw-checkbox.js +1 -1
  179. package/dist/components/spw-cookies.js +1 -1
  180. package/dist/components/spw-custom-select.js +1 -1
  181. package/dist/components/spw-date-picker.js +1 -1
  182. package/dist/components/spw-field-label.js +1 -1
  183. package/dist/components/spw-file-upload.js +1 -1
  184. package/dist/components/spw-group.js +1 -1
  185. package/dist/components/spw-header-lang.js +1 -1
  186. package/dist/components/spw-header-navigation-dropdown.js +1 -1
  187. package/dist/components/spw-header-navigation.js +1 -1
  188. package/dist/components/spw-header.js +1 -1
  189. package/dist/components/spw-hero.js +1 -1
  190. package/dist/components/spw-input-slider.js +1 -1
  191. package/dist/components/spw-link.js +1 -1
  192. package/dist/components/spw-list-item.js +1 -1
  193. package/dist/components/spw-message.js +1 -1
  194. package/dist/components/spw-modal.js +1 -1
  195. package/dist/components/spw-mosaic-item.js +1 -1
  196. package/dist/components/spw-mosaic.js +1 -1
  197. package/dist/components/spw-pagination.js +1 -1
  198. package/dist/components/spw-radio.js +1 -1
  199. package/dist/components/spw-scrolltop.js +1 -1
  200. package/dist/components/spw-search-field.js +1 -1
  201. package/dist/components/spw-select.js +1 -1
  202. package/dist/components/spw-separator.js +1 -1
  203. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  204. package/dist/components/spw-sidebar-navigation-item.js +1 -1
  205. package/dist/components/spw-sidebar-navigation-separator.js +1 -1
  206. package/dist/components/spw-sidebar.js +1 -1
  207. package/dist/components/spw-skeleton.js +1 -1
  208. package/dist/components/spw-slider-item.js +1 -1
  209. package/dist/components/spw-slider.js +1 -1
  210. package/dist/components/spw-socials.js +1 -1
  211. package/dist/components/spw-table-body.js +1 -1
  212. package/dist/components/spw-table-cell.js +1 -1
  213. package/dist/components/spw-table-container.js +1 -1
  214. package/dist/components/spw-table-footer.js +1 -1
  215. package/dist/components/spw-table-head.js +1 -1
  216. package/dist/components/spw-table-header.js +1 -1
  217. package/dist/components/spw-table-row.js +1 -1
  218. package/dist/components/spw-table-sidebar.js +1 -1
  219. package/dist/components/spw-tabs-navigation-item.js +1 -1
  220. package/dist/components/spw-tabs-navigation.js +1 -1
  221. package/dist/components/spw-tabs.js +1 -1
  222. package/dist/components/spw-tag.js +1 -1
  223. package/dist/components/spw-text-field.js +1 -1
  224. package/dist/components/spw-textarea.js +1 -1
  225. package/dist/components/spw-theme-provider.js +1 -1
  226. package/dist/components/spw-tile-description.js +1 -1
  227. package/dist/components/spw-tile-title.js +1 -1
  228. package/dist/components/spw-tile.js +1 -1
  229. package/dist/components/spw-timeline-item.js +1 -1
  230. package/dist/components/spw-timeline.js +1 -1
  231. package/dist/components/spw-toc.js +1 -1
  232. package/dist/components/spw-tooltip.js +1 -1
  233. package/dist/components/spw-topbar.js +1 -1
  234. package/dist/components/spw-wizard-item.js +1 -1
  235. package/dist/components/spw-wizard.js +1 -1
  236. package/dist/components_json.json +1224 -44
  237. package/dist/esm/{index-DNZ0HWFd.js → index-i_vaVhzg.js} +1 -1
  238. package/dist/esm/loader.js +3 -3
  239. package/dist/esm/spw-accordion_4.entry.js +1 -1
  240. package/dist/esm/spw-avatar.entry.js +2 -2
  241. package/dist/esm/spw-block-content.entry.js +26 -4
  242. package/dist/esm/spw-breadcrumb-item.entry.js +1 -1
  243. package/dist/esm/spw-breadcrumb.entry.js +1 -1
  244. package/dist/esm/spw-button_2.entry.js +2 -2
  245. package/dist/esm/spw-card-content.entry.js +1 -1
  246. package/dist/esm/spw-card-excerpt.entry.js +1 -1
  247. package/dist/esm/spw-card-image.entry.js +1 -1
  248. package/dist/esm/spw-card-subtag-item.entry.js +1 -1
  249. package/dist/esm/spw-card-subtags.entry.js +1 -1
  250. package/dist/esm/spw-card-title.entry.js +1 -1
  251. package/dist/esm/spw-card.entry.js +2 -2
  252. package/dist/esm/spw-checkbox.entry.js +2 -2
  253. package/dist/esm/spw-cookies.entry.js +1 -1
  254. package/dist/esm/spw-custom-select.entry.js +80 -6
  255. package/dist/esm/spw-date-picker.entry.js +128 -10
  256. package/dist/esm/spw-dropdown-container.entry.js +1 -1
  257. package/dist/esm/spw-dropdown-item.entry.js +1 -1
  258. package/dist/esm/spw-dropdown.entry.js +1 -1
  259. package/dist/esm/spw-field-label_7.entry.js +7 -7
  260. package/dist/esm/spw-field-message.entry.js +1 -1
  261. package/dist/esm/spw-file-upload.entry.js +49 -18
  262. package/dist/esm/spw-footer-bottom.entry.js +1 -1
  263. package/dist/esm/spw-footer-content-col.entry.js +1 -1
  264. package/dist/esm/spw-footer-content.entry.js +1 -1
  265. package/dist/esm/spw-footer-link.entry.js +1 -1
  266. package/dist/esm/spw-footer.entry.js +1 -1
  267. package/dist/esm/spw-grid-item.entry.js +1 -1
  268. package/dist/esm/spw-grid.entry.js +1 -1
  269. package/dist/esm/spw-header-lang.entry.js +1 -1
  270. package/dist/esm/spw-header-navigation-dropdown.entry.js +1 -1
  271. package/dist/esm/spw-header-navigation-item.entry.js +1 -1
  272. package/dist/esm/spw-header-navigation.entry.js +1 -1
  273. package/dist/esm/spw-header-persona-item.entry.js +1 -1
  274. package/dist/esm/spw-header-persona.entry.js +1 -1
  275. package/dist/esm/spw-header.entry.js +1 -1
  276. package/dist/esm/spw-hero.entry.js +6 -5
  277. package/dist/esm/spw-illustration.entry.js +1 -1
  278. package/dist/esm/spw-input-slider.entry.js +1 -1
  279. package/dist/esm/spw-list-description.entry.js +1 -1
  280. package/dist/esm/spw-list-item.entry.js +8 -4
  281. package/dist/esm/spw-list-title.entry.js +1 -1
  282. package/dist/esm/spw-list.entry.js +1 -1
  283. package/dist/esm/spw-message.entry.js +2 -2
  284. package/dist/esm/spw-modal.entry.js +23 -13
  285. package/dist/esm/spw-mosaic-item.entry.js +3 -3
  286. package/dist/esm/spw-mosaic.entry.js +6 -4
  287. package/dist/esm/spw-pagination.entry.js +7 -7
  288. package/dist/esm/spw-radio.entry.js +2 -2
  289. package/dist/esm/spw-scrolltop.entry.js +2 -2
  290. package/dist/esm/spw-search-field.entry.js +33 -11
  291. package/dist/esm/spw-select.entry.js +1 -1
  292. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +2 -2
  293. package/dist/esm/spw-sidebar-navigation-item.entry.js +4 -4
  294. package/dist/esm/spw-sidebar-navigation-separator.entry.js +2 -2
  295. package/dist/esm/spw-sidebar.entry.js +2 -2
  296. package/dist/esm/spw-skeleton.entry.js +2 -2
  297. package/dist/esm/spw-slider-item.entry.js +2 -2
  298. package/dist/esm/spw-slider.entry.js +3 -3
  299. package/dist/esm/spw-socials.entry.js +2 -2
  300. package/dist/esm/spw-stencil-library.js +3 -3
  301. package/dist/esm/spw-table-body.entry.js +2 -2
  302. package/dist/esm/spw-table-cell.entry.js +2 -2
  303. package/dist/esm/spw-table-container.entry.js +2 -2
  304. package/dist/esm/spw-table-footer.entry.js +2 -2
  305. package/dist/esm/spw-table-head.entry.js +2 -2
  306. package/dist/esm/spw-table-header.entry.js +3 -3
  307. package/dist/esm/spw-table-row.entry.js +2 -2
  308. package/dist/esm/spw-table-sidebar.entry.js +2 -2
  309. package/dist/esm/spw-table.entry.js +1 -1
  310. package/dist/esm/spw-tabs-content.entry.js +1 -1
  311. package/dist/esm/spw-tabs-navigation-item.entry.js +3 -3
  312. package/dist/esm/spw-tabs-navigation.entry.js +2 -2
  313. package/dist/esm/spw-tabs.entry.js +2 -2
  314. package/dist/esm/spw-tag.entry.js +2 -2
  315. package/dist/esm/spw-text-field.entry.js +21 -3
  316. package/dist/esm/spw-textarea.entry.js +2 -2
  317. package/dist/esm/spw-tile-description.entry.js +2 -2
  318. package/dist/esm/spw-tile-title.entry.js +2 -2
  319. package/dist/esm/spw-tile.entry.js +2 -2
  320. package/dist/esm/spw-timeline-item.entry.js +3 -3
  321. package/dist/esm/spw-timeline.entry.js +3 -3
  322. package/dist/esm/spw-toc-container.entry.js +1 -1
  323. package/dist/esm/spw-toc-navigation.entry.js +1 -1
  324. package/dist/esm/spw-toc.entry.js +2 -2
  325. package/dist/esm/spw-topbar.entry.js +2 -2
  326. package/dist/esm/spw-wizard-item.entry.js +2 -2
  327. package/dist/esm/spw-wizard.entry.js +2 -2
  328. package/dist/spw-stencil-library/{p-1ae9d66b.entry.js → p-0478a2c9.entry.js} +1 -1
  329. package/dist/spw-stencil-library/{p-aaa5636b.entry.js → p-04d17fe5.entry.js} +1 -1
  330. package/dist/spw-stencil-library/{p-6510e984.entry.js → p-05e0c3eb.entry.js} +1 -1
  331. package/dist/spw-stencil-library/{p-724eee10.entry.js → p-08a38490.entry.js} +1 -1
  332. package/dist/spw-stencil-library/p-13b4f9bc.entry.js +1 -0
  333. package/dist/spw-stencil-library/{p-4764e6e0.entry.js → p-15c7bf4f.entry.js} +1 -1
  334. package/dist/spw-stencil-library/{p-a457bd16.entry.js → p-18164671.entry.js} +1 -1
  335. package/dist/spw-stencil-library/{p-d5d2f9f8.entry.js → p-19c1284b.entry.js} +1 -1
  336. package/dist/spw-stencil-library/{p-375f88d3.entry.js → p-1a501761.entry.js} +1 -1
  337. package/dist/spw-stencil-library/{p-5e79839f.entry.js → p-1cf66055.entry.js} +1 -1
  338. package/dist/spw-stencil-library/{p-77e3a560.entry.js → p-240d8e13.entry.js} +1 -1
  339. package/dist/spw-stencil-library/p-28e8aa65.entry.js +1 -0
  340. package/dist/spw-stencil-library/{p-37347400.entry.js → p-2a49896f.entry.js} +1 -1
  341. package/dist/spw-stencil-library/{p-a16a6ee3.entry.js → p-2caaa9c2.entry.js} +1 -1
  342. package/dist/spw-stencil-library/{p-5ad98e86.entry.js → p-2db4b489.entry.js} +1 -1
  343. package/dist/spw-stencil-library/{p-dd4bd13d.entry.js → p-2f31ef25.entry.js} +1 -1
  344. package/dist/spw-stencil-library/{p-e572bd8b.entry.js → p-3249593b.entry.js} +1 -1
  345. package/dist/spw-stencil-library/{p-be0c6609.entry.js → p-37abba34.entry.js} +1 -1
  346. package/dist/spw-stencil-library/p-38f35b43.entry.js +1 -0
  347. package/dist/spw-stencil-library/{p-9156e2cc.entry.js → p-3c563ca2.entry.js} +1 -1
  348. package/dist/spw-stencil-library/{p-f958aabf.entry.js → p-3d636e2c.entry.js} +1 -1
  349. package/dist/spw-stencil-library/p-4148a98f.entry.js +1 -0
  350. package/dist/spw-stencil-library/p-42368b16.entry.js +1 -0
  351. package/dist/spw-stencil-library/p-43091001.entry.js +1 -0
  352. package/dist/spw-stencil-library/{p-31fc0d76.entry.js → p-4360ea7b.entry.js} +1 -1
  353. package/dist/spw-stencil-library/p-44f52ede.entry.js +1 -0
  354. package/dist/spw-stencil-library/{p-0fe88118.entry.js → p-481585cd.entry.js} +1 -1
  355. package/dist/spw-stencil-library/p-48828a6a.entry.js +1 -0
  356. package/dist/spw-stencil-library/{p-fa39b517.entry.js → p-49dce57b.entry.js} +1 -1
  357. package/dist/spw-stencil-library/{p-a74b8c56.entry.js → p-501c3985.entry.js} +1 -1
  358. package/dist/spw-stencil-library/{p-a62e75d7.entry.js → p-575e048f.entry.js} +1 -1
  359. package/dist/spw-stencil-library/{p-327fa3e5.entry.js → p-5a8c56d8.entry.js} +2 -2
  360. package/dist/spw-stencil-library/{p-1fad50b0.entry.js → p-5bc4b3ad.entry.js} +1 -1
  361. package/dist/spw-stencil-library/{p-edb98ec3.entry.js → p-65b0a975.entry.js} +1 -1
  362. package/dist/spw-stencil-library/p-6e02c03b.entry.js +1 -0
  363. package/dist/spw-stencil-library/{p-f4c9fe35.entry.js → p-71713147.entry.js} +1 -1
  364. package/dist/spw-stencil-library/{p-ab9bd917.entry.js → p-750d30e1.entry.js} +1 -1
  365. package/dist/spw-stencil-library/{p-87efcf90.entry.js → p-7b4d2c1e.entry.js} +1 -1
  366. package/dist/spw-stencil-library/{p-d7b03752.entry.js → p-7e9eaaf4.entry.js} +1 -1
  367. package/dist/spw-stencil-library/{p-00829e69.entry.js → p-7fbc61e4.entry.js} +1 -1
  368. package/dist/spw-stencil-library/p-8029def2.entry.js +1 -0
  369. package/dist/spw-stencil-library/p-8ab1c03e.entry.js +1 -0
  370. package/dist/spw-stencil-library/{p-1a43879a.entry.js → p-8bf5a952.entry.js} +1 -1
  371. package/dist/spw-stencil-library/{p-e83f4dd9.entry.js → p-8c20296d.entry.js} +1 -1
  372. package/dist/spw-stencil-library/{p-dfa82fb0.entry.js → p-8c289268.entry.js} +1 -1
  373. package/dist/spw-stencil-library/{p-4aa8f4bf.entry.js → p-8e1fbd85.entry.js} +1 -1
  374. package/dist/spw-stencil-library/{p-89cefdcf.entry.js → p-923b7ed8.entry.js} +1 -1
  375. package/dist/spw-stencil-library/{p-ae198f34.entry.js → p-92e317a4.entry.js} +1 -1
  376. package/dist/spw-stencil-library/{p-ed4c861f.entry.js → p-943588f2.entry.js} +1 -1
  377. package/dist/spw-stencil-library/{p-22b043dd.entry.js → p-99d36a68.entry.js} +1 -1
  378. package/dist/spw-stencil-library/{p-4d8d46e6.entry.js → p-9ed189ab.entry.js} +1 -1
  379. package/dist/spw-stencil-library/{p-c7dcf793.entry.js → p-9f0c7849.entry.js} +1 -1
  380. package/dist/spw-stencil-library/{p-14a660ac.entry.js → p-a1b76676.entry.js} +1 -1
  381. package/dist/spw-stencil-library/{p-29cc06e9.entry.js → p-a2b65704.entry.js} +1 -1
  382. package/dist/spw-stencil-library/{p-14d14ae2.entry.js → p-a952a97d.entry.js} +1 -1
  383. package/dist/spw-stencil-library/{p-ecfd8d0a.entry.js → p-a9c7422d.entry.js} +1 -1
  384. package/dist/spw-stencil-library/p-a9cf9e71.entry.js +1 -0
  385. package/dist/spw-stencil-library/{p-59724176.entry.js → p-abb2edc6.entry.js} +1 -1
  386. package/dist/spw-stencil-library/p-ad4f780f.entry.js +1 -0
  387. package/dist/spw-stencil-library/{p-f36ac36b.entry.js → p-af068b38.entry.js} +1 -1
  388. package/dist/spw-stencil-library/{p-461dbb77.entry.js → p-b226ca7b.entry.js} +1 -1
  389. package/dist/spw-stencil-library/p-b3287d31.entry.js +1 -0
  390. package/dist/spw-stencil-library/{p-7ee48374.entry.js → p-b841d377.entry.js} +1 -1
  391. package/dist/spw-stencil-library/{p-bb4a0f1c.entry.js → p-ba64633d.entry.js} +1 -1
  392. package/dist/spw-stencil-library/{p-4618e516.entry.js → p-c1aaf055.entry.js} +1 -1
  393. package/dist/spw-stencil-library/{p-dc886ffd.entry.js → p-c262f348.entry.js} +1 -1
  394. package/dist/spw-stencil-library/{p-8fea1c7b.entry.js → p-c60f4d0d.entry.js} +1 -1
  395. package/dist/spw-stencil-library/{p-1ca7aecb.entry.js → p-c7e173fb.entry.js} +1 -1
  396. package/dist/spw-stencil-library/{p-3ba55fa6.entry.js → p-c8be5dba.entry.js} +1 -1
  397. package/dist/spw-stencil-library/p-cbcae74f.entry.js +1 -0
  398. package/dist/spw-stencil-library/{p-fba1aea3.entry.js → p-d09983aa.entry.js} +1 -1
  399. package/dist/spw-stencil-library/{p-3df6280e.entry.js → p-d2624de2.entry.js} +1 -1
  400. package/dist/spw-stencil-library/{p-9c97f183.entry.js → p-d28ba38e.entry.js} +1 -1
  401. package/dist/spw-stencil-library/{p-bf656c7e.entry.js → p-d5a0101b.entry.js} +1 -1
  402. package/dist/spw-stencil-library/p-d6e75066.entry.js +1 -0
  403. package/dist/spw-stencil-library/{p-c1209aa5.entry.js → p-d8861b95.entry.js} +1 -1
  404. package/dist/spw-stencil-library/{p-1c059cfd.entry.js → p-da1faeb1.entry.js} +1 -1
  405. package/dist/spw-stencil-library/{p-b746a5b1.entry.js → p-df634f09.entry.js} +1 -1
  406. package/dist/spw-stencil-library/p-e111968c.entry.js +1 -0
  407. package/dist/spw-stencil-library/{p-cc679461.entry.js → p-e7d4987e.entry.js} +1 -1
  408. package/dist/spw-stencil-library/{p-6b113e71.entry.js → p-ea1bfddb.entry.js} +1 -1
  409. package/dist/spw-stencil-library/{p-73b2e94c.entry.js → p-ef20914c.entry.js} +1 -1
  410. package/dist/spw-stencil-library/{p-69e1e8e1.entry.js → p-f09fee4e.entry.js} +1 -1
  411. package/dist/spw-stencil-library/{p-b0028796.entry.js → p-f4761dc5.entry.js} +1 -1
  412. package/dist/spw-stencil-library/{p-d5825b95.entry.js → p-f674626b.entry.js} +1 -1
  413. package/dist/spw-stencil-library/{p-3dc88b13.entry.js → p-f6e80332.entry.js} +1 -1
  414. package/dist/spw-stencil-library/{p-8956e7de.entry.js → p-fbdaa431.entry.js} +1 -1
  415. package/dist/spw-stencil-library/{p-b0582aa7.entry.js → p-fe036751.entry.js} +1 -1
  416. package/dist/spw-stencil-library/{p-DNZ0HWFd.js → p-i_vaVhzg.js} +1 -1
  417. package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
  418. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  419. package/dist/stats.json +3414 -1501
  420. package/dist/types/components/spw-block-content/spw-block-content.d.ts +14 -3
  421. package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +8 -0
  422. package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +11 -1
  423. package/dist/types/components/spw-file-upload/spw-file-upload.d.ts +32 -0
  424. package/dist/types/components/spw-hero/spw-hero.d.ts +2 -0
  425. package/dist/types/components/spw-modal/spw-modal.d.ts +6 -3
  426. package/dist/types/components/spw-search-field/spw-search-field.d.ts +4 -1
  427. package/dist/types/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.d.ts +3 -1
  428. package/dist/types/components/spw-text-field/spw-text-field.d.ts +4 -0
  429. package/dist/types/components.d.ts +303 -11
  430. package/dist/types/stories/organisms/spw-block-content/spw-block-content.stories.d.ts +1 -0
  431. package/dist/types/utils/utils.d.ts +1 -6
  432. package/hydrate/index.js +464 -129
  433. package/hydrate/index.mjs +464 -129
  434. package/package.json +1 -1
  435. package/dist/components/p-D63saAXj.js +0 -1
  436. package/dist/components/p-DVDmp5m3.js +0 -1
  437. package/dist/components/p-Df0o7KPW.js +0 -1
  438. package/dist/components/p-xo2kVNYT.js +0 -1
  439. package/dist/spw-stencil-library/p-08d179af.entry.js +0 -1
  440. package/dist/spw-stencil-library/p-36e62f2f.entry.js +0 -1
  441. package/dist/spw-stencil-library/p-37ef1e77.entry.js +0 -1
  442. package/dist/spw-stencil-library/p-456c24b0.entry.js +0 -1
  443. package/dist/spw-stencil-library/p-620519ea.entry.js +0 -1
  444. package/dist/spw-stencil-library/p-74014ca0.entry.js +0 -1
  445. package/dist/spw-stencil-library/p-772f56c1.entry.js +0 -1
  446. package/dist/spw-stencil-library/p-8a95adc5.entry.js +0 -1
  447. package/dist/spw-stencil-library/p-8ea775f1.entry.js +0 -1
  448. package/dist/spw-stencil-library/p-9c35e7cb.entry.js +0 -1
  449. package/dist/spw-stencil-library/p-ac73da88.entry.js +0 -1
  450. package/dist/spw-stencil-library/p-b1c1be45.entry.js +0 -1
  451. package/dist/spw-stencil-library/p-bf8f52ef.entry.js +0 -1
  452. package/dist/spw-stencil-library/p-d94bc511.entry.js +0 -1
  453. package/dist/spw-stencil-library/p-e4ef4e0a.entry.js +0 -1
  454. package/dist/spw-stencil-library/p-ef0e431d.entry.js +0 -1
  455. package/dist/spw-stencil-library/p-f5f93df5.entry.js +0 -1
@@ -377,7 +377,9 @@ template {
377
377
 
378
378
  :host {
379
379
  display: block;
380
+ /** @prop --spw-loading-border-color: Couleur de la bordure du loader */
380
381
  --spw-loading-border-color: var(--spw-color-themes-grey-grey-200);
382
+ /** @prop --spw-loading-spinner-color: Couleur du spinner */
381
383
  --spw-loading-spinner-color: var(--spw-ds-primary);
382
384
  }
383
385
 
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2
3
  /* Document
3
4
  ========================================================================== */
@@ -377,24 +378,43 @@ template {
377
378
 
378
379
  :host {
379
380
  display: block;
381
+ /** @prop --spw-message-margin-top-content: Marge supérieure du contenu */
380
382
  --spw-message-margin-top-content: 12px;
383
+ /** @prop --spw-message-title-color: Couleur du titre */
381
384
  --spw-message-title-color: var(--spw-colors-support-grey-grey-900);
385
+ /** @prop --spw-message-body-color: Couleur du corps du message */
382
386
  --spw-message-body-color: var(--spw-colors-support-grey-grey-900);
387
+ /** @prop --spw-message-font-size: Taille de police du message */
383
388
  --spw-message-font-size: 16px;
389
+ /** @prop --spw-message-default-background-color: Couleur de fond par défaut */
384
390
  --spw-message-default-background-color: var(--spw-colors-support-grey-grey-100);
391
+ /** @prop --spw-message-default-icon-color: Couleur de l'icône par défaut */
385
392
  --spw-message-default-icon-color: var(--spw-colors-support-grey-grey-900);
393
+ /** @prop --spw-message-default-border-color: Couleur de bordure par défaut */
386
394
  --spw-message-default-border-color: var(--spw-colors-support-grey-grey-300);
395
+ /** @prop --spw-message-success-background-color: Couleur de fond pour le variant success */
387
396
  --spw-message-success-background-color: var(--spw-colors-multi-branding-green-green-50);
397
+ /** @prop --spw-message-success-icon-color: Couleur de l'icône pour le variant success */
388
398
  --spw-message-success-icon-color: var(--spw-colors-multi-branding-green-green-600);
399
+ /** @prop --spw-message-success-border-color: Couleur de bordure pour le variant success */
389
400
  --spw-message-success-border-color: var(--spw-colors-multi-branding-green-green-300);
401
+ /** @prop --spw-message-alert-background-color: Couleur de fond pour le variant alert */
390
402
  --spw-message-alert-background-color: var(--spw-colors-multi-branding-red-red-50);
403
+ /** @prop --spw-message-alert-icon-color: Couleur de l'icône pour le variant alert */
391
404
  --spw-message-alert-icon-color: var(--spw-colors-multi-branding-red-red-accent-3);
405
+ /** @prop --spw-message-alert-border-color: Couleur de bordure pour le variant alert */
392
406
  --spw-message-alert-border-color: var(--spw-colors-multi-branding-red-red-300);
407
+ /** @prop --spw-message-info-background-color: Couleur de fond pour le variant info */
393
408
  --spw-message-info-background-color: var(--spw-colors-multi-branding-blue-blue-50);
409
+ /** @prop --spw-message-info-icon-color: Couleur de l'icône pour le variant info */
394
410
  --spw-message-info-icon-color: var(--spw-colors-multi-branding-blue-blue-accent-3);
411
+ /** @prop --spw-message-info-border-color: Couleur de bordure pour le variant info */
395
412
  --spw-message-info-border-color: var(--spw-colors-multi-branding-blue-blue-300);
413
+ /** @prop --spw-message-warning-background-color: Couleur de fond pour le variant warning */
396
414
  --spw-message-warning-background-color: #ffeee0;
415
+ /** @prop --spw-message-warning-icon-color: Couleur de l'icône pour le variant warning */
397
416
  --spw-message-warning-icon-color: #d84300;
417
+ /** @prop --spw-message-warning-border-color: Couleur de bordure pour le variant warning */
398
418
  --spw-message-warning-border-color: #f4b095;
399
419
  }
400
420
 
@@ -391,6 +391,22 @@ template {
391
391
  z-index: 1060;
392
392
  overflow-y: auto;
393
393
  }
394
+ .spw-modal::-webkit-scrollbar {
395
+ width: 14px;
396
+ height: 14px;
397
+ }
398
+ .spw-modal::-webkit-scrollbar-thumb {
399
+ background: var(--spw-color-themes-grey-grey-400);
400
+ border-radius: 20px;
401
+ border: 4px solid var(--spw-ds-white);
402
+ }
403
+ .spw-modal::-webkit-scrollbar-track {
404
+ background: var(--spw-ds-white);
405
+ }
406
+ .spw-modal {
407
+ scrollbar-face-color: var(--spw-color-themes-grey-grey-400);
408
+ scrollbar-track-color: var(--spw-ds-white);
409
+ }
394
410
  .spw-modal--opened {
395
411
  display: flex;
396
412
  }
@@ -439,6 +455,22 @@ template {
439
455
  max-height: 90vh;
440
456
  overflow-y: auto;
441
457
  }
458
+ .spw-modal__content::-webkit-scrollbar {
459
+ width: 14px;
460
+ height: 14px;
461
+ }
462
+ .spw-modal__content::-webkit-scrollbar-thumb {
463
+ background: var(--spw-color-themes-grey-grey-400);
464
+ border-radius: 20px;
465
+ border: 4px solid var(--spw-ds-white);
466
+ }
467
+ .spw-modal__content::-webkit-scrollbar-track {
468
+ background: var(--spw-ds-white);
469
+ }
470
+ .spw-modal__content {
471
+ scrollbar-face-color: var(--spw-color-themes-grey-grey-400);
472
+ scrollbar-track-color: var(--spw-ds-white);
473
+ }
442
474
  .spw-modal--sticky-buttons .spw-modal__content {
443
475
  overflow-y: visible;
444
476
  }
@@ -455,16 +487,28 @@ template {
455
487
  .spw-modal__header {
456
488
  display: flex;
457
489
  justify-content: space-between;
458
- align-items: center;
490
+ align-items: baseline;
459
491
  padding: 24px;
460
492
  padding-bottom: 0;
461
493
  margin-top: 6px;
494
+ gap: 12px;
495
+ flex-wrap: nowrap;
462
496
  margin-bottom: 12px;
463
497
  box-sizing: border-box;
464
498
  border-radius: 1px 1px 0px 0px;
465
499
  color: var(--spw-colors-support-grey-grey-900);
466
500
  }
467
501
 
502
+ .spw-modal__title-container {
503
+ display: flex;
504
+ gap: 8px;
505
+ }
506
+
507
+ .spw-modal__alert-icon {
508
+ flex-shrink: 0;
509
+ line-height: 1.5;
510
+ }
511
+
468
512
  .spw-modal__caption {
469
513
  overflow: hidden;
470
514
  white-space: pre-wrap;
@@ -486,14 +530,31 @@ template {
486
530
  }
487
531
 
488
532
  .spw-modal__close-button {
489
- position: absolute;
490
- top: 12px;
491
- right: 12px;
492
533
  cursor: pointer;
493
- font-size: 21px;
534
+ z-index: 999;
535
+ font-size: 14px;
536
+ display: inline-flex;
537
+ align-items: center;
538
+ flex-wrap: nowrap;
539
+ justify-content: center;
540
+ background: white;
541
+ padding: 3px 6px;
494
542
  }
495
- .spw-modal__close-button:hover {
496
- opacity: 0.7;
543
+ .spw-modal__close-button spw-link {
544
+ --spw-link-color: var(--spw-colors-support-grey-grey-900);
545
+ --spw-link-display: flex;
546
+ }
547
+ .spw-modal__close-button--sticky {
548
+ position: absolute;
549
+ top: 0;
550
+ right: 0;
551
+ border-radius: 0 0 0 4px;
552
+ padding: 8px;
553
+ border-bottom: 1px solid var(--spw-colors-support-grey-grey-300);
554
+ border-left: 1px solid var(--spw-colors-support-grey-grey-300);
555
+ }
556
+ .spw-modal__close-button--sticky spw-link {
557
+ font-size: 14px;
497
558
  }
498
559
 
499
560
  .spw-modal__body {
@@ -507,6 +568,22 @@ template {
507
568
  .spw-modal--sticky-buttons .spw-modal__body {
508
569
  overflow-y: auto;
509
570
  }
571
+ .spw-modal--sticky-buttons .spw-modal__body::-webkit-scrollbar {
572
+ width: 14px;
573
+ height: 14px;
574
+ }
575
+ .spw-modal--sticky-buttons .spw-modal__body::-webkit-scrollbar-thumb {
576
+ background: var(--spw-color-themes-grey-grey-400);
577
+ border-radius: 20px;
578
+ border: 4px solid var(--spw-ds-white);
579
+ }
580
+ .spw-modal--sticky-buttons .spw-modal__body::-webkit-scrollbar-track {
581
+ background: var(--spw-ds-white);
582
+ }
583
+ .spw-modal--sticky-buttons .spw-modal__body {
584
+ scrollbar-face-color: var(--spw-color-themes-grey-grey-400);
585
+ scrollbar-track-color: var(--spw-ds-white);
586
+ }
510
587
 
511
588
  .spw-modal__buttons {
512
589
  padding-top: 12px;
@@ -8,15 +8,18 @@ export class SpwModal {
8
8
  this.showModal = this.opened || false;
9
9
  /** Titre de la modal */
10
10
  this.caption = 'Titre de la modal';
11
+ /** Texte du bouton de fermeture */
12
+ this.closeButtonText = 'Fermer';
11
13
  /** Indique si la fermeture de la modal est possible en cliquant sur l'overlay */
12
14
  this.closeOnOverlayClick = true;
13
15
  /** Rend les boutons en bas de la modal "collants" (toujours visibles) si vrai */
14
16
  this.stickyButtons = false;
15
17
  /** Définit la taille de la modal : 'small', 'medium', 'large' ou 'fluid' */
16
18
  this.size = 'small';
17
- /** Icône d'alerte à afficher dans la modal */
19
+ /** Icône d'alerte à afficher dans la modal (référence font awesome) */
18
20
  this.alertIcon = '';
19
21
  this.slotButtonsPresent = false;
22
+ this.isCloseButtonSticky = false;
20
23
  /** Indique si le bouton de fermeture est visible */
21
24
  this.showCloseButton = true;
22
25
  this.focusableElements = [];
@@ -40,9 +43,12 @@ export class SpwModal {
40
43
  }
41
44
  }
42
45
  };
43
- this.handleTopFocus = () => {
44
- this.attemptFocus(this.getLastFocusableElement());
45
- };
46
+ // private getLastFocusableElement(): HTMLElement | null {
47
+ // return this.focusableElements[this.focusableElements.length - 1];
48
+ // }
49
+ // private handleTopFocus = () => {
50
+ // this.attemptFocus(this.getLastFocusableElement());
51
+ // };
46
52
  this.handleBottomFocus = () => {
47
53
  this.attemptFocus(this.getFirstFocusableElement());
48
54
  };
@@ -51,6 +57,11 @@ export class SpwModal {
51
57
  this.doBeforeClose('ESCAPE_KEY');
52
58
  }
53
59
  };
60
+ this.handleContentScroll = () => {
61
+ if (this.modalContent) {
62
+ this.isCloseButtonSticky = this.modalContent.scrollTop >= 60;
63
+ }
64
+ };
54
65
  }
55
66
  /**
56
67
  * Méthode publique pour fermer la modal programmatiquement
@@ -80,9 +91,6 @@ export class SpwModal {
80
91
  getFirstFocusableElement() {
81
92
  return this.focusableElements[0];
82
93
  }
83
- getLastFocusableElement() {
84
- return this.focusableElements[this.focusableElements.length - 1];
85
- }
86
94
  attemptFocus(element) {
87
95
  if (element == null) {
88
96
  setTimeout(() => {
@@ -102,9 +110,8 @@ export class SpwModal {
102
110
  });
103
111
  anim.addEventListener('finish', () => {
104
112
  setTimeout(() => {
105
- var _a, _b;
106
- (_a = this.getLastFocusableElement()) === null || _a === void 0 ? void 0 : _a.focus();
107
- (_b = this.getLastFocusableElement()) === null || _b === void 0 ? void 0 : _b.blur();
113
+ // this.getLastFocusableElement()?.focus();
114
+ // this.getLastFocusableElement()?.blur();
108
115
  }, 0);
109
116
  this.spwModalOpen.emit();
110
117
  });
@@ -159,7 +166,10 @@ export class SpwModal {
159
166
  };
160
167
  }
161
168
  render() {
162
- return (h(Host, { key: '2c6c12d99f2c2c4000c586ebc4a1b20b1eb9c885' }, h("div", { key: 'f468b9ac24e2546c79a841e42c4c0cc47f9691c5', ref: el => (this.modalContainer = el), class: this.elementClass }, h("div", { key: '1b29e7abe144ada0f898792ca39f9b9804ebfb09', class: "spw-modal__overlay", onClick: () => this.handleOverlayClick() }), h("div", { key: 'b23d411215ab12bb449777813b490c3233663d79', "data-focus-trap-edge": true, onFocus: this.handleTopFocus, tabindex: "0" }), h("div", { key: '6b7a15bcfe06b7eb38dbaa0822353f725e0f4e06', class: `spw-modal__content-container spw-modal__content-container--${this.size}`, role: "dialog", "aria-modal": "true", "aria-label": this.caption }, h("div", { key: '2b4f9350f98a92f6572f97614d4e1c29b5802d5d', class: "spw-modal__content" }, h("div", { key: 'ac35e915f853c9113bb945e02af8247820894d27', class: "spw-modal__header" }, h("h2", { key: '5e9aa7baab910b7c36b5d4f0d339886f0813381b', class: "spw-modal__caption" }, this.caption), this.showCloseButton && (h("spw-icon", { key: '2e1881f6543a7612aa553d0d2c0bac8d1d03f29e', class: "spw-modal__close-button", ref: el => (this.closeButton = el), icon: "fa-xmark", onClick: () => this.doBeforeClose('CLOSE_BUTTON') }))), h("div", { key: '999c28f50a9ca637501c38c490db529c11ec70e3', class: "spw-modal__body" }, h("slot", { key: '6224c4348234805a523b57500731dbf35d377b17', name: "content" })), h("div", { key: 'cdb74f052deb2bc3d4465f77490991518147bbe4', class: "spw-modal__buttons" }, h("slot", { key: 'dbf9d8019adae61dbf173ac6657986f1e27e6e03', name: "buttons" })))), h("div", { key: 'e8c49c8989e4fcd308a4a4ec4143997a23a8053b', "data-focus-trap-edge": true, onFocus: this.handleBottomFocus, tabindex: "0" }))));
169
+ return (h(Host, { key: '6961323287aaa2ac2c831aabaed9259825cbc9bc' }, h("div", { key: '6d2397c7cb4346914d9afb8b44fb33e01c2f6fc4', ref: el => (this.modalContainer = el), class: this.elementClass }, h("div", { key: '19dff4efe47c80f54cea20483c622758e549cc36', class: "spw-modal__overlay", onClick: () => this.handleOverlayClick() }), h("div", { key: '5bd10998aaa1ce28f21beeac3bc018e773162528', class: `spw-modal__content-container spw-modal__content-container--${this.size}`, role: "dialog", "aria-modal": "true", "aria-label": this.caption }, h("div", { key: '97615fe1893c64ca8eae919a6faa9ee5315d200e', class: "spw-modal__content", ref: el => (this.modalContent = el), onScroll: this.handleContentScroll }, h("div", { key: 'c343a6998646aeb093a304992656048ca295dbf4', class: "spw-modal__header" }, h("div", { key: 'b12e5106e31f0980fdff868d06878ab14705546c', class: "spw-modal__title-container" }, this.alertIcon && h("spw-icon", { key: '2cdd3e2913687b366c94b514b9447a35ec3d6f42', class: "spw-modal__alert-icon", icon: this.alertIcon }), h("h2", { key: '6c994ac67f7921c09e61d8f85428acd33481030d', class: "spw-modal__caption" }, this.caption)), this.showCloseButton && (h("div", { key: '29dc0900b9bac81187bfe1c8c7f1ae9ea66374aa', class: {
170
+ 'spw-modal__close-button': true,
171
+ 'spw-modal__close-button--sticky': this.isCloseButtonSticky,
172
+ }, ref: el => (this.closeButton = el), onClick: () => this.doBeforeClose('CLOSE_BUTTON') }, h("spw-link", { key: 'd4b60fcee917eac029463f68e0758aae0716f183', "icon-position": "right", icon: "fa-xmark" }, this.closeButtonText)))), h("div", { key: '6d41416973bcb9f132fd91b230fcc7f0402c686c', class: "spw-modal__body" }, h("slot", { key: '0aa97063697328d3f096fad1b3bf537305cf676a', name: "content" })), h("div", { key: 'e6442c6edd885fb7140c85766d1f96f31d6ef388', class: "spw-modal__buttons" }, h("slot", { key: '4c8dbcf89eec3a8502b3e0107b35f134697e6fc8', name: "buttons" })))), h("div", { key: 'f84ed2841ce54fadf77ffc0106971a08cbfcf3e3', "data-focus-trap-edge": true, onFocus: this.handleBottomFocus, tabindex: "0" }))));
163
173
  }
164
174
  static get is() { return "spw-modal"; }
165
175
  static get encapsulation() { return "shadow"; }
@@ -215,6 +225,26 @@ export class SpwModal {
215
225
  "attribute": "caption",
216
226
  "defaultValue": "'Titre de la modal'"
217
227
  },
228
+ "closeButtonText": {
229
+ "type": "string",
230
+ "mutable": false,
231
+ "complexType": {
232
+ "original": "string",
233
+ "resolved": "string",
234
+ "references": {}
235
+ },
236
+ "required": false,
237
+ "optional": false,
238
+ "docs": {
239
+ "tags": [],
240
+ "text": "Texte du bouton de fermeture"
241
+ },
242
+ "getter": false,
243
+ "setter": false,
244
+ "reflect": false,
245
+ "attribute": "close-button-text",
246
+ "defaultValue": "'Fermer'"
247
+ },
218
248
  "closeOnOverlayClick": {
219
249
  "type": "boolean",
220
250
  "mutable": false,
@@ -287,7 +317,7 @@ export class SpwModal {
287
317
  "optional": false,
288
318
  "docs": {
289
319
  "tags": [],
290
- "text": "Ic\u00F4ne d'alerte \u00E0 afficher dans la modal"
320
+ "text": "Ic\u00F4ne d'alerte \u00E0 afficher dans la modal (r\u00E9f\u00E9rence font awesome)"
291
321
  },
292
322
  "getter": false,
293
323
  "setter": false,
@@ -320,7 +350,8 @@ export class SpwModal {
320
350
  static get states() {
321
351
  return {
322
352
  "showModal": {},
323
- "slotButtonsPresent": {}
353
+ "slotButtonsPresent": {},
354
+ "isCloseButtonSticky": {}
324
355
  };
325
356
  }
326
357
  static get events() {
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
2
3
  /* Document
3
4
  ========================================================================== */
@@ -376,12 +377,15 @@ template {
376
377
  }
377
378
 
378
379
  :host {
380
+ /** @prop --spw-mosaic-item-width-mobile: Largeur de l'élément sur mobile */
379
381
  --spw-mosaic-item-width-mobile: 100%;
382
+ /** @prop --spw-mosaic-item-width-tablet: Largeur de l'élément sur tablette */
380
383
  --spw-mosaic-item-width-tablet: 100%;
384
+ /** @prop --spw-mosaic-item-width-desktop: Largeur de l'élément sur desktop */
381
385
  --spw-mosaic-item-width-desktop: 100%;
382
386
  width: var(--spw-mosaic-item-width-mobile);
383
- padding: 0 12px;
384
- margin-bottom: 24px;
387
+ padding: 0 12px !important;
388
+ margin-bottom: 24px !important;
385
389
  }
386
390
 
387
391
  @media (min-width: 768px) {
@@ -45,7 +45,7 @@ export class SpwMosaicItem {
45
45
  }
46
46
  }
47
47
  render() {
48
- return (h(Host, { key: '1401539d9e4eac13410e48f9bf980defeedc4946' }, h("slot", { key: 'c2b4727ec4e2e6576fa4e8b7e871e1302960c551' })));
48
+ return (h(Host, { key: 'cca36c5c6f756226b3c9de778c5732ddf2425529' }, h("slot", { key: 'f0691d1e489e6105af90c2b3691ea3fafce8ea28' })));
49
49
  }
50
50
  static get is() { return "spw-mosaic-item"; }
51
51
  static get encapsulation() { return "shadow"; }
@@ -377,6 +377,9 @@ template {
377
377
 
378
378
  :host {
379
379
  display: block;
380
+ }
381
+
382
+ .spw-mosaic {
380
383
  margin: 0 -12px;
381
384
  }
382
385
 
@@ -86,7 +86,8 @@ export class SpwMosaic {
86
86
  const masonryItems = slot.assignedElements({ flatten: true });
87
87
  if (masonryItems.length > 0) {
88
88
  // Trouver un item sans colSpan pour calculer la largeur de base d'une colonne
89
- const baseItem = Array.from(masonryItems).find(item => !item.hasAttribute('col-span-desktop') && !item.hasAttribute('col-span-tablet') && !item.hasAttribute('col-span-mobile')) || masonryItems[0];
89
+ const baseItem = Array.from(masonryItems).find(item => !item.hasAttribute('col-span-desktop') && !item.hasAttribute('col-span-tablet') && !item.hasAttribute('col-span-mobile')) ||
90
+ masonryItems[0];
90
91
  this.masonry = new Masonry(this.el, {
91
92
  itemSelector: 'spw-mosaic-item',
92
93
  columnWidth: baseItem,
@@ -130,11 +131,12 @@ export class SpwMosaic {
130
131
  }
131
132
  get elementClass() {
132
133
  return {
134
+ 'spw-mosaic': true,
133
135
  'spw-mosaic--no-masonry': !this.isMasonry,
134
136
  };
135
137
  }
136
138
  render() {
137
- return (h(Host, { key: '2c40859c4f868569eacfc0ec03ed813667234cdc' }, h("div", { key: '98bb2e0f9559c6e13ab91f1c2c4152a1a1e879d6', class: this.elementClass }, h("slot", { key: 'fb1640741e4b0cf0726919155c2c8f0121e32121' }))));
139
+ return (h(Host, { key: '97bd5d303cacc206a27345bac048dc55d27d36c5' }, h("div", { key: '384183e662593940ad1f5e16563693eb70c55472', class: this.elementClass }, h("slot", { key: '69038aa321d4c0305d4627cd1f758b7efba4c2e6' }))));
138
140
  }
139
141
  static get is() { return "spw-mosaic"; }
140
142
  static get encapsulation() { return "shadow"; }
@@ -167,12 +167,12 @@ export class SpwPagination {
167
167
  const pages = this.calculatePageRange();
168
168
  const showPrevArrow = this.currentPage > 1;
169
169
  const showNextArrow = this.currentPage < this.totalPages;
170
- const prevArrow = showPrevArrow && (h("li", { key: 'add27c9046e335bcddde182165c157aa79cf7858', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '914b5561a9aecaee86fee7f0ede461426804ce05', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '26bc6f7c1ab57aa3eb40c4584a50144b4e8e4986', icon: "fa-chevron-left" }), " ", h("span", { key: 'c64e65f73ac5c301e9cc9ac7869bd5274920f4d2', class: "spw-pagination__item-arrow-text" }, this.previousButtonText))));
171
- const nextArrow = showNextArrow && (h("li", { key: '948ee7badfc7284fa8b508ea1e1812a05c4f0af2', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: 'fc86a790c539185bc5760a35e8a638476c6ea029', onClick: () => this.goToPage(this.currentPage + 1) }, h("span", { key: '4c9a1778953d7611237fb5636c331c3e52299b7f', class: "spw-pagination__item-arrow-text" }, this.nextButtonText), " ", h("spw-icon", { key: '987987e52c16aa65550b510425d9402007ed883f', icon: "fa-chevron-right" }))));
172
- const prevArrowMobile = this.currentPage > 1 && (h("li", { key: 'a0d740fff9d64d565cc33172a07d803b16101ca0', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: '32e4600db449473164eee865d0e2b374465a35c7', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '53f4561c35169e41b4354e07480d55daba8c6428', icon: "fa-chevron-left" }), " ", h("span", { key: 'd0db92e3648051ea9f4ff6c3c2a54048ded90643' }, this.previousButtonText))));
173
- const nextArrowMobile = this.currentPage < this.totalPages && (h("li", { key: '6a08d6a92defcaca4cd7755440834a884a9a01dd', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: '168f57ba49e62e1a68f6004709c487b1c15f9ed6', onClick: () => this.goToPage(this.currentPage + 1), disabled: this.currentPage >= this.totalPages }, h("span", { key: 'af8f13ec3654baac84fd5641561e138f224a313e' }, this.nextButtonText), " ", h("spw-icon", { key: '21c20dc7fcb6854c1d2c024bca13195556282425', icon: "fa-chevron-right" }))));
174
- const mobileArrows = (h("ul", { key: '48636f74b8846c84f121254c1d95e6a539f691f2', class: "spw-pagination__mobile-arrows" }, prevArrowMobile, nextArrowMobile));
175
- return (h(Host, { key: '9e14c0071f6bd6fc5c59816920ba1bcf0dbc9e11' }, h("div", { key: 'c32f6351a6e29648063aa7bdbb79a5e3576a0610', class: this.getPaginationClass() }, this.variant === 'input' && (h(Fragment, { key: '095e4cc06086f1adc5e934d2921e0d9ab01ab8ca' }, h("ul", { key: 'ccd5d38f59eecb2ec2a4640a91d88030e12cf1cc' }, prevArrow, h("li", { key: '75d24d337c5a5bd633ccbe3fcdf921fac759270c', class: "spw-pagination__input" }, h("spw-text-field", { key: '89634a550acf9cdeeee0584d17c53313a03096fb', value: this.inputPageValue, type: "text", name: "pagination-input", onInput: event => this.handleInputChange(event), onKeyDown: event => this.handleKeyDown(event), disabled: this.isDisabled })), h("li", { key: '03479858843e848ba7e1e1114551a2331e0d7fd2', class: "spw-pagination__total-pages" }, "sur ", this.totalPages, " ", this.totalPages === 1 ? 'page' : 'pages'), nextArrow), mobileArrows)), this.variant === 'numbers' && (h(Fragment, { key: 'f5c594e980ceddc1ed0c7745502ca6a41c7c2f5b' }, h("ul", { key: 'b539a4e139229896e89c6a0c2ee2d5c2a5e90cc6' }, prevArrow, pages.map(({ page, class: pageClass }) => {
170
+ const prevArrow = showPrevArrow && (h("li", { key: '85f0319e8088c980c62320c056778ba73c96b80e', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '8c8df5f973ddcd66d1d7c960e9cddaf2aaec6ee3', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: '3aef97ee962bbf09840c1af18bb4438c9188367f', icon: "fa-chevron-left" }), " ", h("span", { key: '1f761b7cdf736fa0f788075a6b435b75a67b2561', class: "spw-pagination__item-arrow-text" }, this.previousButtonText))));
171
+ const nextArrow = showNextArrow && (h("li", { key: 'e7e840153f35897bd1458a17ba29ce97413a3f22', class: "spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow" }, h("button", { key: '631741da51e3fe2b3ac577843ae26f783106a56a', onClick: () => this.goToPage(this.currentPage + 1) }, h("span", { key: 'c271fdc06c852a09d1ebf70f75fd0ddc37aefcca', class: "spw-pagination__item-arrow-text" }, this.nextButtonText), " ", h("spw-icon", { key: '8ee2c4ff3c10222bb9cc92dff64a5b435b7b80ae', icon: "fa-chevron-right" }))));
172
+ const prevArrowMobile = this.currentPage > 1 && (h("li", { key: 'e689e7b06b9e79f89a94aa70bdafe720f8ff404b', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: '24a27ada08f40ed5217ddf79a24f7a82d205b147', onClick: () => this.goToPage(this.currentPage - 1) }, h("spw-icon", { key: 'd3170efae730c447e9100517ac99829f4c8d0d6d', icon: "fa-chevron-left" }), " ", h("span", { key: '6439afd931e312691034c7c0a34a4b1008100f05' }, this.previousButtonText))));
173
+ const nextArrowMobile = this.currentPage < this.totalPages && (h("li", { key: '9f35fc017b9b5359bd7d26ca0c36290ad6d03e47', class: "spw-pagination__item spw-pagination__item--arrow" }, h("button", { key: '5db338674f1091bf93f8cd7726c339eeb4fbe90d', onClick: () => this.goToPage(this.currentPage + 1), disabled: this.currentPage >= this.totalPages }, h("span", { key: 'af492555a2ce988de5fff52e4aa7029c737cbd7e' }, this.nextButtonText), " ", h("spw-icon", { key: '90fc3bd54e12b7ff9864088c73bf60319ac5eeac', icon: "fa-chevron-right" }))));
174
+ const mobileArrows = (h("ul", { key: '0f512587846ec2bdc770cab4c369a95dbc769d93', class: "spw-pagination__mobile-arrows" }, prevArrowMobile, nextArrowMobile));
175
+ return (h(Host, { key: 'efeaab2312f2da0d10051473dd96d8951140cbb0' }, h("div", { key: 'a66bc21a26f147d62112a1b7037199dcc820182d', class: this.getPaginationClass() }, this.variant === 'input' && (h(Fragment, { key: 'da2ac88b193f11dd8140baf963db01f8ddd0961b' }, h("ul", { key: 'ef08d21640159b5774365de69f36fc3aec3249fd' }, prevArrow, h("li", { key: '32ba92be38889f7a5bdb3dd0eb2658e4e63e2296', class: "spw-pagination__input" }, h("spw-text-field", { key: '9523d6de865b05ad656dfa73b3d2febf02721bd3', value: this.inputPageValue, type: "text", name: "pagination-input", onInput: event => this.handleInputChange(event), onKeyDown: event => this.handleKeyDown(event), disabled: this.isDisabled })), h("li", { key: '61f715b3128848cfff0dafaab09680956c76347c', class: "spw-pagination__total-pages" }, "sur ", this.totalPages, " ", this.totalPages === 1 ? 'page' : 'pages'), nextArrow), mobileArrows)), this.variant === 'numbers' && (h(Fragment, { key: 'fd63827945293528c930a2c1ce84a9d39a0ac334' }, h("ul", { key: '5c54c14f43196744ad45859f6b27e280ce64d477' }, prevArrow, pages.map(({ page, class: pageClass }) => {
176
176
  if (page === '...') {
177
177
  return (h("li", { class: `spw-pagination__item spw-pagination__item--dots ${pageClass}` }, h("spw-icon", { icon: "fa-ellipsis" })));
178
178
  }
@@ -92,7 +92,7 @@ export class SpwRadio {
92
92
  render() {
93
93
  const slot = this.el.innerHTML;
94
94
  const hasSlot = Boolean(slot);
95
- return (h("div", { key: '26cf12c17a31cb4c1ed96c0ca0671f6681714677', class: "spw-radio" }, h("input", { key: 'c2b5efafcc2b8ff49fe0496eeda221ca25d05793', type: "radio", ref: el => (this.inputElement = el), checked: this.internalChecked, "aria-checked": this.internalChecked ? 'true' : 'false', onChange: this.handleRadio.bind(this), name: this.name, value: this.value, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (h("label", { key: 'd2b00504a711e2a8262517407909632979a2463a', class: `spw-radio__label ${this.disabled ? 'spw-radio__label--disabled' : ''}`, onClick: e => this.handleRadio(e) }, h("slot", { key: 'c9677010511579850460cf7430089ac2490b9d15' }))), h("div", { key: 'f2d0ceca7d3c696f288314f8feb92e4b425dc5e0', tabIndex: this.disabled ? -1 : 0, onClick: e => this.handleRadio(e), onKeyDown: this.handleKeydown.bind(this), role: "radio", "aria-checked": this.internalChecked ? 'true' : 'false', "aria-disabled": this.disabled, "aria-label": this.accAriaLabel || this.name, class: this.elementClass }, this.internalChecked && h("span", { key: '6853a3c56870c0f04508e829dd5ccbdfda146dde', class: "spw-radio__circle" }))));
95
+ return (h("div", { key: 'b2637f177583afa720663a1c89e38b7d1a8667e9', class: "spw-radio" }, h("input", { key: '77851158f40a622ef0031906086e1f617850db41', type: "radio", ref: el => (this.inputElement = el), checked: this.internalChecked, "aria-checked": this.internalChecked ? 'true' : 'false', onChange: this.handleRadio.bind(this), name: this.name, value: this.value, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (h("label", { key: 'f83472ca9b2afd64e10a66a1f1bbb007b2dc91ca', class: `spw-radio__label ${this.disabled ? 'spw-radio__label--disabled' : ''}`, onClick: e => this.handleRadio(e) }, h("slot", { key: 'e9ae0b33d51a10b296ca0ca4893149b0bcc38e55' }))), h("div", { key: '780558d378b7f4c198a18912fc9350c675cde012', tabIndex: this.disabled ? -1 : 0, onClick: e => this.handleRadio(e), onKeyDown: this.handleKeydown.bind(this), role: "radio", "aria-checked": this.internalChecked ? 'true' : 'false', "aria-disabled": this.disabled, "aria-label": this.accAriaLabel || this.name, class: this.elementClass }, this.internalChecked && h("span", { key: '71a5c47fa598531c18b5d0f8373f393d9a54d415', class: "spw-radio__circle" }))));
96
96
  }
97
97
  static get is() { return "spw-radio"; }
98
98
  static get encapsulation() { return "shadow"; }
@@ -73,7 +73,7 @@ export class SpwScrolltop {
73
73
  };
74
74
  }
75
75
  render() {
76
- return (h(Host, { key: '0890efb2f22b828e04735c2776eab6c6c3bfbb18', class: this.hostClass }, h("spw-button", { key: '8fd066e1af2b8d4ebb0fb7a3f094c9b040a1e79e', "is-icon-only": true, icon: "fa-chevron-up", variant: "primary", size: "medium", "acc-aria-label": this.accAriaLabel, onClick: this.scrollToTop })));
76
+ return (h(Host, { key: '02214f9d465926e864dd4935798196fb415effee', class: this.hostClass }, h("spw-button", { key: '337671dc0906731bb3d838f3298fc76f922c2db5', "is-icon-only": true, icon: "fa-chevron-up", variant: "primary", size: "medium", "acc-aria-label": this.accAriaLabel, onClick: this.scrollToTop })));
77
77
  }
78
78
  static get is() { return "spw-scrolltop"; }
79
79
  static get encapsulation() { return "shadow"; }
@@ -416,6 +416,11 @@ template {
416
416
  transition: all 0.2s ease;
417
417
  z-index: 10;
418
418
  }
419
+ .spw-search-field__submit:focus, .spw-search-field__submit:focus-visible {
420
+ outline: 1px solid white;
421
+ outline-offset: 0;
422
+ box-shadow: 0 0 0 3px black;
423
+ }
419
424
  .spw-search-field--large .spw-search-field__submit {
420
425
  width: 46px;
421
426
  height: 46px;
@@ -430,6 +435,24 @@ template {
430
435
  border-radius: 0 0 4px 4px;
431
436
  max-height: 200px;
432
437
  overflow-y: auto;
438
+ }
439
+ .spw-search-field__options::-webkit-scrollbar {
440
+ width: 14px;
441
+ height: 14px;
442
+ }
443
+ .spw-search-field__options::-webkit-scrollbar-thumb {
444
+ background: var(--spw-color-themes-grey-grey-400);
445
+ border-radius: 20px;
446
+ border: 4px solid var(--spw-ds-white);
447
+ }
448
+ .spw-search-field__options::-webkit-scrollbar-track {
449
+ background: var(--spw-ds-white);
450
+ }
451
+ .spw-search-field__options {
452
+ scrollbar-face-color: var(--spw-color-themes-grey-grey-400);
453
+ scrollbar-track-color: var(--spw-ds-white);
454
+ }
455
+ .spw-search-field__options {
433
456
  z-index: 44;
434
457
  margin-top: -2px;
435
458
  transition: transform 0.3s ease, opacity 0.3s ease;
@@ -1,4 +1,8 @@
1
1
  import { h } from "@stencil/core";
2
+ // TODO
3
+ // - max-height customisable
4
+ // - matching string
5
+ // - résultats de liste accessibles (scroll)
2
6
  export class SpwSearchField {
3
7
  constructor() {
4
8
  /** Valeur actuelle du champ de recherche */
@@ -50,6 +54,7 @@ export class SpwSearchField {
50
54
  }
51
55
  this.searchText = newValue;
52
56
  this.value = newValue;
57
+ this.updateHiddenInput();
53
58
  if (this.filterTimeout) {
54
59
  clearTimeout(this.filterTimeout);
55
60
  }
@@ -68,10 +73,10 @@ export class SpwSearchField {
68
73
  this.valueChanged.emit(this.value);
69
74
  };
70
75
  this.handleSubmit = (event) => {
71
- event.preventDefault();
76
+ event === null || event === void 0 ? void 0 : event.preventDefault();
72
77
  const form = this.el.closest('form');
73
78
  if (form) {
74
- form.submit();
79
+ form.requestSubmit();
75
80
  }
76
81
  };
77
82
  }
@@ -79,6 +84,24 @@ export class SpwSearchField {
79
84
  this.parseItems(this.items);
80
85
  this.initializeFromValue(this.value);
81
86
  }
87
+ componentDidLoad() {
88
+ document.addEventListener('click', this.handleClickOutside);
89
+ this.createHiddenInput();
90
+ }
91
+ createHiddenInput() {
92
+ if (this.name) {
93
+ this.hiddenInput = document.createElement('input');
94
+ this.hiddenInput.type = 'hidden';
95
+ this.hiddenInput.name = this.name;
96
+ this.hiddenInput.value = this.value || '';
97
+ this.el.appendChild(this.hiddenInput);
98
+ }
99
+ }
100
+ updateHiddenInput() {
101
+ if (this.hiddenInput) {
102
+ this.hiddenInput.value = this.value || '';
103
+ }
104
+ }
82
105
  initializeFromValue(val) {
83
106
  if (!val) {
84
107
  this.searchText = '';
@@ -92,9 +115,6 @@ export class SpwSearchField {
92
115
  this.searchText = val;
93
116
  }
94
117
  }
95
- componentDidLoad() {
96
- document.addEventListener('click', this.handleClickOutside);
97
- }
98
118
  disconnectedCallback() {
99
119
  document.removeEventListener('click', this.handleClickOutside);
100
120
  if (this.filterTimeout) {
@@ -159,11 +179,13 @@ export class SpwSearchField {
159
179
  .toLowerCase();
160
180
  }
161
181
  selectItem(item) {
182
+ var _a;
162
183
  this.isSelectingItem = true;
163
184
  this.searchText = item.label;
164
- this.value = String(item.value);
185
+ this.value = String((_a = item.value) !== null && _a !== void 0 ? _a : item.label);
165
186
  this.isOpen = false;
166
187
  this.focusedItemIndex = null;
188
+ this.updateHiddenInput();
167
189
  this.filterItems();
168
190
  this.optionSelected.emit(item);
169
191
  this.valueChanged.emit(this.value);
@@ -200,10 +222,14 @@ export class SpwSearchField {
200
222
  }
201
223
  break;
202
224
  case 'Enter':
203
- event.preventDefault();
204
225
  if (this.isOpen && this.focusedItemIndex !== null) {
226
+ event.preventDefault();
205
227
  this.selectItem(this.filteredItems[this.focusedItemIndex]);
206
228
  }
229
+ else if (this.hasSubmitButton) {
230
+ event.preventDefault();
231
+ this.handleSubmit(event);
232
+ }
207
233
  break;
208
234
  case 'Escape':
209
235
  this.isOpen = false;
@@ -230,10 +256,10 @@ export class SpwSearchField {
230
256
  };
231
257
  }
232
258
  render() {
233
- return (h("div", { key: 'a10f3fe0be859e0f5c07a3cb996c1c2130dcb35a', ref: el => (this.hostElement = el), class: this.elementClass }, h("spw-text-field", { key: '02fdbd99bc9793d47881c28629e42957ac7cb3a1', 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, tooltipTitle: this.tooltipTitle, tooltipText: this.tooltipText, tooltipMaxWidth: this.tooltipMaxWidth, tooltipDirection: this.tooltipDirection, tooltipCursor: this.tooltipCursor, onValueChanged: this.handleValueChanged, onKeyDown: event => this.handleKeyDown(event) }), this.hasSubmitButton && h("button", { key: '36ad3fa5fe544aea001b340587f6b728eb264eac', type: "button", class: "spw-search-field__submit", onClick: this.handleSubmit, "aria-label": "Rechercher" }), this.isOpen && !!this.items && (h("div", { key: '5f934ff945be432ce0b6998bb5f5371ff765361c', class: `spw-search-field__options spw-search-field__options--${this.dropdownDirection}` }, !!this.filteredItems.length && (h("ul", { key: '60b99c03a3b0a3aa75821022450c9367e8c5bfd2' }, this.filteredItems.map((item, index) => (h("li", { class: {
259
+ return (h("div", { key: 'bbdc55b920ac32e2aea0434e20b7a47213325f17', ref: el => (this.hostElement = el), class: this.elementClass }, h("spw-text-field", { key: 'f68067938a917e19630c8b6701a2652a1bd9e8ff', 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, tooltipTitle: this.tooltipTitle, tooltipText: this.tooltipText, tooltipMaxWidth: this.tooltipMaxWidth, tooltipDirection: this.tooltipDirection, tooltipCursor: this.tooltipCursor, onValueChanged: this.handleValueChanged, onKeyDown: event => this.handleKeyDown(event) }), this.hasSubmitButton && h("button", { key: '22e8d1f66bc4f41b256afbc5284ee59f9df32323', type: "button", class: "spw-search-field__submit", onClick: this.handleSubmit, "aria-label": "Rechercher" }), this.isOpen && !!this.items && (h("div", { key: 'e06ac5492108f99460d92773c9b425247a5e9efd', class: `spw-search-field__options spw-search-field__options--${this.dropdownDirection}` }, !!this.filteredItems.length && (h("ul", { key: 'a46a5de6dcb78df6551dc35ec70049aecc110d2a' }, this.filteredItems.map((item, index) => (h("li", { class: {
234
260
  'spw-search-field__option': true,
235
261
  'spw-search-field__option--focused': index === this.focusedItemIndex,
236
- }, onClick: () => this.selectItem(item) }, this.highlightMatch(item.label), " ", item.category && h("span", { class: "spw-search-field__category" }, " - ", item.category)))))), this.isLoading && (h("p", { key: '51591023d434633e7b03ba774d0ca5883cdbf4b6', class: "spw-search-field__loading" }, h("spw-loading", { key: 'ef7505c54096507e6b6e674af546aa45782e25c7', text: this.loadingText }))), !this.isLoading && !this.filteredItems.length && h("p", { key: '0beb82680290a81da662c1ec25677df6cff53315', class: "spw-search-field__no-results" }, this.noResults), !!this.filteredItems.length && this.viewAllResults && this.viewAllResultsLink && (h("p", { key: '6c0183814b9e9b3f6668d717d24d92daf92a2b26', class: "spw-search-field__view-all" }, h("a", { key: '20f24ee9c16e617878bab8e58aecede69c89b6d9', href: this.viewAllResultsLink }, this.viewAllResults, " ", h("spw-icon", { key: '4282cc27ea9ee5aebffe47f1597202cacc2d9ce1', icon: "fa-arrow-right" }))))))));
262
+ }, onClick: () => this.selectItem(item) }, this.highlightMatch(item.label), " ", item.category && h("span", { class: "spw-search-field__category" }, " - ", item.category)))))), this.isLoading && (h("p", { key: '395226d69badc46ddfe7664ba7faa59af3fc2d59', class: "spw-search-field__loading" }, h("spw-loading", { key: 'fc2cc9ae2d5014703b67a34f80c126b4ea44b750', text: this.loadingText }))), !this.isLoading && !this.filteredItems.length && h("p", { key: '4f38bdc75316fedbcb996ef96d13507f308f8d47', class: "spw-search-field__no-results" }, this.noResults), !!this.filteredItems.length && this.viewAllResults && this.viewAllResultsLink && (h("p", { key: 'a5aa0bbe2fc5761888c885cfe784a076b8d40487', class: "spw-search-field__view-all" }, h("a", { key: 'f64f97647489766fdc205932ae97a3c7fa6f5dd9', href: this.viewAllResultsLink }, this.viewAllResults, " ", h("spw-icon", { key: '3a60bdab88171d3d68fca90b64a5b32a7bb92ff9', icon: "fa-arrow-right" }))))))));
237
263
  }
238
264
  static get is() { return "spw-search-field"; }
239
265
  static get encapsulation() { return "shadow"; }
@@ -27,7 +27,7 @@ export class SpwSeparator {
27
27
  };
28
28
  }
29
29
  render() {
30
- return h("div", { key: 'c5755fe0253ac4f80156723b51943bbe13480bd0', class: this.elementClass, style: this.style });
30
+ return h("div", { key: '668a2dc71a3a97752d56b021ad18007f1c118af9', 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: 'f61d1a81d0e931179393629694b63502aa961060', class: this.classes }, h("div", { key: '13766b38650ec769fca09806a476b478402b7b1e', class: "spw-sidebar-navigation-dropdown__content", style: { display: this.open ? 'block' : 'none' } }, h("slot", { key: 'f86fa88582f121af4be1a13fda520b7c6d0244db' }))));
14
+ return (h(Host, { key: '640aa5e1d67cb32afdce0603ad865426bb1a6b15', class: this.classes }, h("div", { key: 'ef96864ec47e7a4d708d14e05cce0c01d22e1f43', class: "spw-sidebar-navigation-dropdown__content", style: { display: this.open ? 'block' : 'none' } }, h("slot", { key: '49cb9b4aa8c011be84968e5864140d5c8ddbab3e' }))));
15
15
  }
16
16
  static get is() { return "spw-sidebar-navigation-dropdown"; }
17
17
  static get originalStyleUrls() {