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

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 (590) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.cjs.js.map +1 -1
  3. package/dist/cjs/spw-accordion_4.cjs.entry.js +2 -2
  4. package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
  5. package/dist/cjs/spw-button_2.cjs.entry.js +1 -1
  6. package/dist/cjs/spw-card-content.cjs.entry.js +1 -1
  7. package/dist/cjs/spw-card-content.cjs.entry.js.map +1 -1
  8. package/dist/cjs/spw-card-content.entry.cjs.js.map +1 -1
  9. package/dist/cjs/spw-card-excerpt.cjs.entry.js +2 -2
  10. package/dist/cjs/spw-card-excerpt.cjs.entry.js.map +1 -1
  11. package/dist/cjs/spw-card-excerpt.entry.cjs.js.map +1 -1
  12. package/dist/cjs/spw-card-image.cjs.entry.js +2 -2
  13. package/dist/cjs/spw-card-image.cjs.entry.js.map +1 -1
  14. package/dist/cjs/spw-card-image.entry.cjs.js.map +1 -1
  15. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
  16. package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
  17. package/dist/cjs/spw-card-title.cjs.entry.js +4 -2
  18. package/dist/cjs/spw-card-title.cjs.entry.js.map +1 -1
  19. package/dist/cjs/spw-card-title.entry.cjs.js.map +1 -1
  20. package/dist/cjs/spw-card.cjs.entry.js +39 -9
  21. package/dist/cjs/spw-card.cjs.entry.js.map +1 -1
  22. package/dist/cjs/spw-card.entry.cjs.js.map +1 -1
  23. package/dist/cjs/spw-checkbox.cjs.entry.js +2 -2
  24. package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
  25. package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
  26. package/dist/cjs/spw-custom-select.cjs.entry.js +3 -3
  27. package/dist/cjs/spw-date-picker.cjs.entry.js +1 -1
  28. package/dist/cjs/spw-dropdown.cjs.entry.js +1 -1
  29. package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
  30. package/dist/cjs/spw-field-label_6.cjs.entry.js +6 -6
  31. package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
  32. package/dist/cjs/spw-field-message.cjs.entry.js +1 -1
  33. package/dist/cjs/spw-file-upload.cjs.entry.js +2 -2
  34. package/dist/cjs/spw-footer-bottom.cjs.entry.js +1 -1
  35. package/dist/cjs/spw-footer-content-col.cjs.entry.js +1 -1
  36. package/dist/cjs/spw-footer-content.cjs.entry.js +1 -1
  37. package/dist/cjs/spw-footer-link.cjs.entry.js +1 -1
  38. package/dist/cjs/spw-footer.cjs.entry.js +1 -1
  39. package/dist/cjs/spw-header-lang-item.cjs.entry.js +1 -1
  40. package/dist/cjs/spw-header-lang.cjs.entry.js +1 -1
  41. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +1 -1
  42. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
  43. package/dist/cjs/spw-header-navigation.cjs.entry.js +1 -1
  44. package/dist/cjs/spw-header-persona-item.cjs.entry.js +1 -1
  45. package/dist/cjs/spw-header-persona.cjs.entry.js +3 -1
  46. package/dist/cjs/spw-header-persona.cjs.entry.js.map +1 -1
  47. package/dist/cjs/spw-header-persona.entry.cjs.js.map +1 -1
  48. package/dist/cjs/spw-header.cjs.entry.js +20 -2
  49. package/dist/cjs/spw-header.cjs.entry.js.map +1 -1
  50. package/dist/cjs/spw-header.entry.cjs.js.map +1 -1
  51. package/dist/cjs/spw-hero.cjs.entry.js +16 -2
  52. package/dist/cjs/spw-hero.cjs.entry.js.map +1 -1
  53. package/dist/cjs/spw-hero.entry.cjs.js.map +1 -1
  54. package/dist/cjs/spw-iodda.cjs.entry.js +1 -1
  55. package/dist/cjs/spw-list-description.cjs.entry.js +1 -1
  56. package/dist/cjs/spw-list-item.cjs.entry.js +6 -2
  57. package/dist/cjs/spw-list-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/spw-list-item.entry.cjs.js.map +1 -1
  59. package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
  60. package/dist/cjs/spw-list-title.cjs.entry.js.map +1 -1
  61. package/dist/cjs/spw-list-title.entry.cjs.js.map +1 -1
  62. package/dist/cjs/spw-list.cjs.entry.js +20 -1
  63. package/dist/cjs/spw-list.cjs.entry.js.map +1 -1
  64. package/dist/cjs/spw-list.entry.cjs.js.map +1 -1
  65. package/dist/cjs/spw-modal.cjs.entry.js +9 -2
  66. package/dist/cjs/spw-modal.cjs.entry.js.map +1 -1
  67. package/dist/cjs/spw-modal.entry.cjs.js.map +1 -1
  68. package/dist/cjs/spw-mosaic-item.cjs.entry.js +1 -1
  69. package/dist/cjs/spw-mosaic.cjs.entry.js +1 -1
  70. package/dist/cjs/spw-pagination.cjs.entry.js +6 -6
  71. package/dist/cjs/spw-radio.cjs.entry.js +1 -1
  72. package/dist/cjs/spw-search-field.cjs.entry.js +2 -2
  73. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
  74. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +3 -3
  75. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
  76. package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
  77. package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
  78. package/dist/cjs/spw-socials.cjs.entry.js +1 -1
  79. package/dist/cjs/spw-stencil-library.cjs.js +1 -1
  80. package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
  81. package/dist/cjs/spw-table-cell.cjs.entry.js +1 -1
  82. package/dist/cjs/spw-table-footer.cjs.entry.js +1 -1
  83. package/dist/cjs/spw-table-head.cjs.entry.js +1 -1
  84. package/dist/cjs/spw-table-header.cjs.entry.js +2 -2
  85. package/dist/cjs/spw-table-row.cjs.entry.js +1 -1
  86. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +2 -2
  87. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js.map +1 -1
  88. package/dist/cjs/spw-tabs-navigation-item.entry.cjs.js.map +1 -1
  89. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +1 -1
  90. package/dist/cjs/spw-tabs.cjs.entry.js +1 -1
  91. package/dist/cjs/spw-tag.cjs.entry.js +1 -1
  92. package/dist/cjs/spw-text-field.cjs.entry.js +1 -1
  93. package/dist/cjs/spw-textarea.cjs.entry.js +1 -1
  94. package/dist/cjs/spw-tile-description.cjs.entry.js +1 -1
  95. package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
  96. package/dist/cjs/spw-tile-title.cjs.entry.js.map +1 -1
  97. package/dist/cjs/spw-tile-title.entry.cjs.js.map +1 -1
  98. package/dist/cjs/spw-tile.cjs.entry.js +1 -1
  99. package/dist/cjs/spw-tooltip.cjs.entry.js +1 -1
  100. package/dist/cjs/spw-topbar.cjs.entry.js +1 -1
  101. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
  102. package/dist/collection/components/spw-accordion/spw-accordion-title/spw-accordion-title.css +1 -1
  103. package/dist/collection/components/spw-card/spw-card-content/spw-card-content.css +1 -1
  104. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.css +1 -1
  105. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js +2 -2
  106. package/dist/collection/components/spw-card/spw-card-excerpt/spw-card-excerpt.js.map +1 -1
  107. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.css +1 -1
  108. package/dist/collection/components/spw-card/spw-card-image/spw-card-image.js +1 -1
  109. package/dist/collection/components/spw-card/spw-card-subtag-item/spw-card-subtag-item.js +1 -1
  110. package/dist/collection/components/spw-card/spw-card-subtags/spw-card-subtags.js +1 -1
  111. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.css +1 -1
  112. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js +30 -2
  113. package/dist/collection/components/spw-card/spw-card-title/spw-card-title.js.map +1 -1
  114. package/dist/collection/components/spw-card/spw-card.css +1 -1
  115. package/dist/collection/components/spw-card/spw-card.js +40 -10
  116. package/dist/collection/components/spw-card/spw-card.js.map +1 -1
  117. package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
  118. package/dist/collection/components/spw-checkbox/spw-checkbox.js +1 -1
  119. package/dist/collection/components/spw-custom-select/spw-custom-select.js +3 -3
  120. package/dist/collection/components/spw-date-picker/spw-date-picker.js +1 -1
  121. package/dist/collection/components/spw-dropdown/spw-dropdown.js +1 -1
  122. package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
  123. package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
  124. package/dist/collection/components/spw-file-upload/spw-file-upload.js +2 -2
  125. package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
  126. package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
  127. package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
  128. package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
  129. package/dist/collection/components/spw-footer/spw-footer.js +1 -1
  130. package/dist/collection/components/spw-group/spw-group.js +1 -1
  131. package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
  132. package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
  133. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
  134. package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
  135. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
  136. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +27 -1
  137. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js.map +1 -1
  138. package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
  139. package/dist/collection/components/spw-header/spw-header.css +1 -1
  140. package/dist/collection/components/spw-header/spw-header.js +199 -1
  141. package/dist/collection/components/spw-header/spw-header.js.map +1 -1
  142. package/dist/collection/components/spw-hero/spw-hero.css +1 -1
  143. package/dist/collection/components/spw-hero/spw-hero.js +54 -1
  144. package/dist/collection/components/spw-hero/spw-hero.js.map +1 -1
  145. package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
  146. package/dist/collection/components/spw-link/spw-link.css +1 -1
  147. package/dist/collection/components/spw-link/spw-link.js +1 -1
  148. package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
  149. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.css +1 -1
  150. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +25 -1
  151. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js.map +1 -1
  152. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.css +1 -1
  153. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
  154. package/dist/collection/components/spw-list/spw-list.js +49 -1
  155. package/dist/collection/components/spw-list/spw-list.js.map +1 -1
  156. package/dist/collection/components/spw-loading/spw-loading.js +1 -1
  157. package/dist/collection/components/spw-modal/spw-modal.css +1 -1
  158. package/dist/collection/components/spw-modal/spw-modal.js +8 -1
  159. package/dist/collection/components/spw-modal/spw-modal.js.map +1 -1
  160. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  161. package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
  162. package/dist/collection/components/spw-pagination/spw-pagination.js +6 -6
  163. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  164. package/dist/collection/components/spw-search-field/spw-search-field.js +2 -2
  165. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  166. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  167. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +3 -3
  168. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
  169. package/dist/collection/components/spw-sidebar/spw-sidebar.js +1 -1
  170. package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
  171. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  172. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  173. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +1 -1
  174. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  175. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  176. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +2 -2
  177. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +1 -1
  178. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
  179. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.css +1 -1
  180. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
  181. package/dist/collection/components/spw-tabs/spw-tabs.js +1 -1
  182. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  183. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  184. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  185. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  186. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  187. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.css +1 -1
  188. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  189. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  190. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  191. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  192. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js +26 -0
  193. package/dist/collection/stories/components/spw-checkbox/spw-checkbox.stories.js.map +1 -1
  194. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +97 -3
  195. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
  196. package/dist/components/{p-DnyVO_PX.js → p-B-sLKmnT.js} +3 -3
  197. package/dist/components/{p-DnyVO_PX.js.map → p-B-sLKmnT.js.map} +1 -1
  198. package/dist/components/{p-z27d6ASx.js → p-B3OQ2nRI.js} +3 -3
  199. package/dist/components/p-B3OQ2nRI.js.map +1 -0
  200. package/dist/components/{p-Bja0SU2g.js → p-BDRCqK1w.js} +3 -3
  201. package/dist/components/{p-Bja0SU2g.js.map → p-BDRCqK1w.js.map} +1 -1
  202. package/dist/components/{p-DogcJyQh.js → p-BF73GiQU.js} +3 -3
  203. package/dist/components/{p-DogcJyQh.js.map → p-BF73GiQU.js.map} +1 -1
  204. package/dist/components/{p-CwxUBfbv.js → p-BowHA3gk.js} +3 -3
  205. package/dist/components/{p-CwxUBfbv.js.map → p-BowHA3gk.js.map} +1 -1
  206. package/dist/components/p-Cf-dIWNi.js +129 -0
  207. package/dist/components/p-Cf-dIWNi.js.map +1 -0
  208. package/dist/components/{p-CxSDNrYu.js → p-DIhULKFM.js} +3 -3
  209. package/dist/components/{p-CxSDNrYu.js.map → p-DIhULKFM.js.map} +1 -1
  210. package/dist/components/{p-BExIjlwY.js → p-DaosfSzT.js} +11 -11
  211. package/dist/components/{p-BExIjlwY.js.map → p-DaosfSzT.js.map} +1 -1
  212. package/dist/components/{p-CahscFgh.js → p-Dku0Cksp.js} +5 -5
  213. package/dist/components/{p-CahscFgh.js.map → p-Dku0Cksp.js.map} +1 -1
  214. package/dist/components/p-GUYao_6w.js +81 -0
  215. package/dist/components/p-GUYao_6w.js.map +1 -0
  216. package/dist/components/{p-BbuJ0hsQ.js → p-c0hJPgjJ.js} +3 -3
  217. package/dist/components/p-c0hJPgjJ.js.map +1 -0
  218. package/dist/components/{p-2zBnLUyL.js → p-fNRoK67L.js} +3 -3
  219. package/dist/components/{p-2zBnLUyL.js.map → p-fNRoK67L.js.map} +1 -1
  220. package/dist/components/spw-accordion-item.js +1 -1
  221. package/dist/components/spw-accordion-title.js +1 -1
  222. package/dist/components/spw-breadcrumb-item.js +1 -1
  223. package/dist/components/spw-button.js +1 -1
  224. package/dist/components/spw-card-content.js +1 -1
  225. package/dist/components/spw-card-content.js.map +1 -1
  226. package/dist/components/spw-card-excerpt.js +3 -3
  227. package/dist/components/spw-card-excerpt.js.map +1 -1
  228. package/dist/components/spw-card-image.js +2 -2
  229. package/dist/components/spw-card-image.js.map +1 -1
  230. package/dist/components/spw-card-subtag-item.js +1 -1
  231. package/dist/components/spw-card-subtags.js +1 -1
  232. package/dist/components/spw-card-title.js +8 -4
  233. package/dist/components/spw-card-title.js.map +1 -1
  234. package/dist/components/spw-card.js +39 -9
  235. package/dist/components/spw-card.js.map +1 -1
  236. package/dist/components/spw-checkbox.js +1 -1
  237. package/dist/components/spw-cookies.js +5 -5
  238. package/dist/components/spw-custom-select.js +6 -6
  239. package/dist/components/spw-date-picker.js +3 -3
  240. package/dist/components/spw-dropdown.js +1 -1
  241. package/dist/components/spw-field-label.js +1 -1
  242. package/dist/components/spw-field-message.js +1 -1
  243. package/dist/components/spw-file-upload.js +4 -4
  244. package/dist/components/spw-footer-bottom.js +1 -1
  245. package/dist/components/spw-footer-content-col.js +1 -1
  246. package/dist/components/spw-footer-content.js +1 -1
  247. package/dist/components/spw-footer-link.js +1 -1
  248. package/dist/components/spw-footer.js +1 -1
  249. package/dist/components/spw-group.js +2 -2
  250. package/dist/components/spw-header-lang-item.js +1 -1
  251. package/dist/components/spw-header-lang.js +3 -3
  252. package/dist/components/spw-header-navigation-dropdown.js +1 -1
  253. package/dist/components/spw-header-navigation-item.js +1 -1
  254. package/dist/components/spw-header-navigation.js +1 -1
  255. package/dist/components/spw-header-persona-item.js +1 -1
  256. package/dist/components/spw-header-persona.js +4 -1
  257. package/dist/components/spw-header-persona.js.map +1 -1
  258. package/dist/components/spw-header.js +31 -4
  259. package/dist/components/spw-header.js.map +1 -1
  260. package/dist/components/spw-hero.js +25 -3
  261. package/dist/components/spw-hero.js.map +1 -1
  262. package/dist/components/spw-iodda.js +6 -6
  263. package/dist/components/spw-link.js +1 -1
  264. package/dist/components/spw-list-description.js +1 -1
  265. package/dist/components/spw-list-item.js +8 -3
  266. package/dist/components/spw-list-item.js.map +1 -1
  267. package/dist/components/spw-list-title.js +2 -2
  268. package/dist/components/spw-list-title.js.map +1 -1
  269. package/dist/components/spw-list.js +23 -3
  270. package/dist/components/spw-list.js.map +1 -1
  271. package/dist/components/spw-loading.js +1 -1
  272. package/dist/components/spw-message.js +1 -1
  273. package/dist/components/spw-modal.js +9 -2
  274. package/dist/components/spw-modal.js.map +1 -1
  275. package/dist/components/spw-mosaic-item.js +1 -1
  276. package/dist/components/spw-mosaic.js +1 -1
  277. package/dist/components/spw-pagination.js +1 -1
  278. package/dist/components/spw-radio.js +1 -1
  279. package/dist/components/spw-search-field.js +5 -5
  280. package/dist/components/spw-select.js +2 -2
  281. package/dist/components/spw-separator.js +1 -1
  282. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  283. package/dist/components/spw-sidebar-navigation-item.js +4 -4
  284. package/dist/components/spw-sidebar-navigation-separator.js +2 -2
  285. package/dist/components/spw-sidebar.js +1 -1
  286. package/dist/components/spw-skeleton.js +1 -1
  287. package/dist/components/spw-socials.js +1 -1
  288. package/dist/components/spw-table-body.js +1 -1
  289. package/dist/components/spw-table-cell.js +1 -1
  290. package/dist/components/spw-table-footer.js +1 -1
  291. package/dist/components/spw-table-head.js +1 -1
  292. package/dist/components/spw-table-header.js +3 -3
  293. package/dist/components/spw-table-row.js +1 -1
  294. package/dist/components/spw-tabs-navigation-item.js +3 -3
  295. package/dist/components/spw-tabs-navigation-item.js.map +1 -1
  296. package/dist/components/spw-tabs-navigation.js +1 -1
  297. package/dist/components/spw-tabs.js +1 -1
  298. package/dist/components/spw-tag.js +1 -1
  299. package/dist/components/spw-text-field.js +1 -1
  300. package/dist/components/spw-textarea.js +3 -3
  301. package/dist/components/spw-theme-provider.js +1 -1
  302. package/dist/components/spw-tile-description.js +1 -1
  303. package/dist/components/spw-tile-title.js +2 -2
  304. package/dist/components/spw-tile-title.js.map +1 -1
  305. package/dist/components/spw-tile.js +1 -1
  306. package/dist/components/spw-tooltip.js +1 -1
  307. package/dist/components/spw-topbar.js +1 -1
  308. package/dist/components_json.json +400 -9
  309. package/dist/esm/loader.js +1 -1
  310. package/dist/esm/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.js.map +1 -1
  311. package/dist/esm/spw-accordion_4.entry.js +2 -2
  312. package/dist/esm/spw-accordion_4.entry.js.map +1 -1
  313. package/dist/esm/spw-button_2.entry.js +1 -1
  314. package/dist/esm/spw-card-content.entry.js +1 -1
  315. package/dist/esm/spw-card-content.entry.js.map +1 -1
  316. package/dist/esm/spw-card-excerpt.entry.js +3 -3
  317. package/dist/esm/spw-card-excerpt.entry.js.map +1 -1
  318. package/dist/esm/spw-card-image.entry.js +2 -2
  319. package/dist/esm/spw-card-image.entry.js.map +1 -1
  320. package/dist/esm/spw-card-subtag-item.entry.js +1 -1
  321. package/dist/esm/spw-card-subtags.entry.js +1 -1
  322. package/dist/esm/spw-card-title.entry.js +5 -3
  323. package/dist/esm/spw-card-title.entry.js.map +1 -1
  324. package/dist/esm/spw-card.entry.js +39 -9
  325. package/dist/esm/spw-card.entry.js.map +1 -1
  326. package/dist/esm/spw-checkbox.entry.js +2 -2
  327. package/dist/esm/spw-checkbox.entry.js.map +1 -1
  328. package/dist/esm/spw-custom-select.entry.js +3 -3
  329. package/dist/esm/spw-date-picker.entry.js +1 -1
  330. package/dist/esm/spw-dropdown.entry.js +1 -1
  331. package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
  332. package/dist/esm/spw-field-label_6.entry.js +6 -6
  333. package/dist/esm/spw-field-label_6.entry.js.map +1 -1
  334. package/dist/esm/spw-field-message.entry.js +1 -1
  335. package/dist/esm/spw-file-upload.entry.js +2 -2
  336. package/dist/esm/spw-footer-bottom.entry.js +1 -1
  337. package/dist/esm/spw-footer-content-col.entry.js +1 -1
  338. package/dist/esm/spw-footer-content.entry.js +1 -1
  339. package/dist/esm/spw-footer-link.entry.js +1 -1
  340. package/dist/esm/spw-footer.entry.js +1 -1
  341. package/dist/esm/spw-header-lang-item.entry.js +1 -1
  342. package/dist/esm/spw-header-lang.entry.js +1 -1
  343. package/dist/esm/spw-header-navigation-dropdown.entry.js +1 -1
  344. package/dist/esm/spw-header-navigation-item.entry.js +1 -1
  345. package/dist/esm/spw-header-navigation.entry.js +1 -1
  346. package/dist/esm/spw-header-persona-item.entry.js +1 -1
  347. package/dist/esm/spw-header-persona.entry.js +3 -1
  348. package/dist/esm/spw-header-persona.entry.js.map +1 -1
  349. package/dist/esm/spw-header.entry.js +20 -2
  350. package/dist/esm/spw-header.entry.js.map +1 -1
  351. package/dist/esm/spw-hero.entry.js +16 -2
  352. package/dist/esm/spw-hero.entry.js.map +1 -1
  353. package/dist/esm/spw-iodda.entry.js +1 -1
  354. package/dist/esm/spw-list-description.entry.js +1 -1
  355. package/dist/esm/spw-list-item.entry.js +6 -2
  356. package/dist/esm/spw-list-item.entry.js.map +1 -1
  357. package/dist/esm/spw-list-title.entry.js +2 -2
  358. package/dist/esm/spw-list-title.entry.js.map +1 -1
  359. package/dist/esm/spw-list.entry.js +21 -2
  360. package/dist/esm/spw-list.entry.js.map +1 -1
  361. package/dist/esm/spw-modal.entry.js +9 -2
  362. package/dist/esm/spw-modal.entry.js.map +1 -1
  363. package/dist/esm/spw-mosaic-item.entry.js +1 -1
  364. package/dist/esm/spw-mosaic.entry.js +1 -1
  365. package/dist/esm/spw-pagination.entry.js +6 -6
  366. package/dist/esm/spw-radio.entry.js +1 -1
  367. package/dist/esm/spw-search-field.entry.js +2 -2
  368. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
  369. package/dist/esm/spw-sidebar-navigation-item.entry.js +3 -3
  370. package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
  371. package/dist/esm/spw-sidebar.entry.js +1 -1
  372. package/dist/esm/spw-skeleton.entry.js +1 -1
  373. package/dist/esm/spw-socials.entry.js +1 -1
  374. package/dist/esm/spw-stencil-library.js +1 -1
  375. package/dist/esm/spw-table-body.entry.js +1 -1
  376. package/dist/esm/spw-table-cell.entry.js +1 -1
  377. package/dist/esm/spw-table-footer.entry.js +1 -1
  378. package/dist/esm/spw-table-head.entry.js +1 -1
  379. package/dist/esm/spw-table-header.entry.js +2 -2
  380. package/dist/esm/spw-table-row.entry.js +1 -1
  381. package/dist/esm/spw-tabs-navigation-item.entry.js +2 -2
  382. package/dist/esm/spw-tabs-navigation-item.entry.js.map +1 -1
  383. package/dist/esm/spw-tabs-navigation.entry.js +1 -1
  384. package/dist/esm/spw-tabs.entry.js +1 -1
  385. package/dist/esm/spw-tag.entry.js +1 -1
  386. package/dist/esm/spw-text-field.entry.js +1 -1
  387. package/dist/esm/spw-textarea.entry.js +1 -1
  388. package/dist/esm/spw-tile-description.entry.js +1 -1
  389. package/dist/esm/spw-tile-title.entry.js +2 -2
  390. package/dist/esm/spw-tile-title.entry.js.map +1 -1
  391. package/dist/esm/spw-tile.entry.js +1 -1
  392. package/dist/esm/spw-tooltip.entry.js +1 -1
  393. package/dist/esm/spw-topbar.entry.js +1 -1
  394. package/dist/spw-stencil-library/p-02151d7e.entry.js +2 -0
  395. package/dist/spw-stencil-library/p-02151d7e.entry.js.map +1 -0
  396. package/dist/spw-stencil-library/{p-6080e3af.entry.js → p-0226ad72.entry.js} +2 -2
  397. package/dist/spw-stencil-library/{p-cc934cd6.entry.js → p-03f1a257.entry.js} +2 -2
  398. package/dist/spw-stencil-library/{p-5ed3e0dc.entry.js → p-04274072.entry.js} +2 -2
  399. package/dist/spw-stencil-library/{p-7028e7b5.entry.js → p-08d78730.entry.js} +2 -2
  400. package/dist/spw-stencil-library/{p-68470983.entry.js → p-09a2d080.entry.js} +2 -2
  401. package/dist/spw-stencil-library/{p-3a4b10ad.entry.js → p-09d27c4b.entry.js} +2 -2
  402. package/dist/spw-stencil-library/{p-9a5031d4.entry.js → p-11805364.entry.js} +2 -2
  403. package/dist/spw-stencil-library/{p-0aa4a108.entry.js → p-158e7952.entry.js} +2 -2
  404. package/dist/spw-stencil-library/p-181ae002.entry.js +2 -0
  405. package/dist/spw-stencil-library/p-181ae002.entry.js.map +1 -0
  406. package/dist/spw-stencil-library/{p-d67fdf8d.entry.js → p-19a69f36.entry.js} +2 -2
  407. package/dist/spw-stencil-library/p-1d93e0d8.entry.js +2 -0
  408. package/dist/spw-stencil-library/p-1d93e0d8.entry.js.map +1 -0
  409. package/dist/spw-stencil-library/p-1d9ef3d5.entry.js +2 -0
  410. package/dist/spw-stencil-library/p-1d9ef3d5.entry.js.map +1 -0
  411. package/dist/spw-stencil-library/{p-a7d606e3.entry.js → p-1f382434.entry.js} +2 -2
  412. package/dist/spw-stencil-library/{p-2f4d2f5e.entry.js → p-272dc0ee.entry.js} +2 -2
  413. package/dist/spw-stencil-library/{p-92dc2c82.entry.js → p-2dff657f.entry.js} +2 -2
  414. package/dist/spw-stencil-library/{p-d2c4f07d.entry.js → p-2e9756c4.entry.js} +2 -2
  415. package/dist/spw-stencil-library/{p-b044a74c.entry.js → p-2fd3eb76.entry.js} +2 -2
  416. package/dist/spw-stencil-library/{p-92c085a5.entry.js → p-3450855b.entry.js} +2 -2
  417. package/dist/spw-stencil-library/p-3450855b.entry.js.map +1 -0
  418. package/dist/spw-stencil-library/{p-93f062f5.entry.js → p-34dc26ba.entry.js} +2 -2
  419. package/dist/spw-stencil-library/{p-2111f4af.entry.js → p-376b1e84.entry.js} +2 -2
  420. package/dist/spw-stencil-library/{p-e5178e47.entry.js → p-403fe46c.entry.js} +2 -2
  421. package/dist/spw-stencil-library/p-403fe46c.entry.js.map +1 -0
  422. package/dist/spw-stencil-library/{p-5d7b7815.entry.js → p-42658e0a.entry.js} +2 -2
  423. package/dist/spw-stencil-library/{p-729ecfae.entry.js → p-44d87d3f.entry.js} +2 -2
  424. package/dist/spw-stencil-library/{p-302b8062.entry.js → p-4d61f200.entry.js} +2 -2
  425. package/dist/spw-stencil-library/{p-272b59d2.entry.js → p-52c51ac5.entry.js} +2 -2
  426. package/dist/spw-stencil-library/p-532314d2.entry.js +2 -0
  427. package/dist/spw-stencil-library/p-532314d2.entry.js.map +1 -0
  428. package/dist/spw-stencil-library/{p-81b268ec.entry.js → p-554af1e3.entry.js} +2 -2
  429. package/dist/spw-stencil-library/{p-2e8ec25d.entry.js → p-5a034423.entry.js} +2 -2
  430. package/dist/spw-stencil-library/{p-8abf47fe.entry.js → p-5f82570e.entry.js} +2 -2
  431. package/dist/spw-stencil-library/{p-fc1d8034.entry.js → p-64670b2e.entry.js} +2 -2
  432. package/dist/spw-stencil-library/p-74b4aea0.entry.js +2 -0
  433. package/dist/spw-stencil-library/p-74b4aea0.entry.js.map +1 -0
  434. package/dist/spw-stencil-library/{p-999a607e.entry.js → p-75159246.entry.js} +2 -2
  435. package/dist/spw-stencil-library/{p-e6981b73.entry.js → p-7cd55113.entry.js} +2 -2
  436. package/dist/spw-stencil-library/{p-4c4a0709.entry.js → p-7d80a44e.entry.js} +2 -2
  437. package/dist/spw-stencil-library/p-817e139e.entry.js +2 -0
  438. package/dist/spw-stencil-library/p-817e139e.entry.js.map +1 -0
  439. package/dist/spw-stencil-library/{p-6ec9bc6c.entry.js → p-8c6c9db5.entry.js} +2 -2
  440. package/dist/spw-stencil-library/p-8dca994a.entry.js +2 -0
  441. package/dist/spw-stencil-library/p-8dca994a.entry.js.map +1 -0
  442. package/dist/spw-stencil-library/{p-3554fb8f.entry.js → p-8ef8864e.entry.js} +2 -2
  443. package/dist/spw-stencil-library/{p-095280cd.entry.js → p-9219fe7c.entry.js} +2 -2
  444. package/dist/spw-stencil-library/{p-1e725439.entry.js → p-9356f8c9.entry.js} +2 -2
  445. package/dist/spw-stencil-library/p-9356f8c9.entry.js.map +1 -0
  446. package/dist/spw-stencil-library/{p-dd441d3f.entry.js → p-93a5f755.entry.js} +2 -2
  447. package/dist/spw-stencil-library/{p-a421a2bd.entry.js → p-98ee79d6.entry.js} +2 -2
  448. package/dist/spw-stencil-library/{p-4de11305.entry.js → p-a30563ff.entry.js} +2 -2
  449. package/dist/spw-stencil-library/{p-9b651a66.entry.js → p-a8311acd.entry.js} +2 -2
  450. package/dist/spw-stencil-library/p-a8311acd.entry.js.map +1 -0
  451. package/dist/spw-stencil-library/{p-dff72718.entry.js → p-a93f21f9.entry.js} +2 -2
  452. package/dist/spw-stencil-library/{p-3e6fe922.entry.js → p-a950bce8.entry.js} +2 -2
  453. package/dist/spw-stencil-library/{p-4540f03d.entry.js → p-b0dc1073.entry.js} +2 -2
  454. package/dist/spw-stencil-library/{p-cc8717c0.entry.js → p-ba27b9b0.entry.js} +2 -2
  455. package/dist/spw-stencil-library/{p-e67b5361.entry.js → p-bf2d0cf4.entry.js} +2 -2
  456. package/dist/spw-stencil-library/{p-f3e9ab57.entry.js → p-c2de4206.entry.js} +2 -2
  457. package/dist/spw-stencil-library/{p-40283415.entry.js → p-c54fee67.entry.js} +2 -2
  458. package/dist/spw-stencil-library/{p-a5b78201.entry.js → p-c838e17b.entry.js} +2 -2
  459. package/dist/spw-stencil-library/{p-b77d1fe8.entry.js → p-cb269271.entry.js} +2 -2
  460. package/dist/spw-stencil-library/p-cb269271.entry.js.map +1 -0
  461. package/dist/spw-stencil-library/p-d3d4755a.entry.js +2 -0
  462. package/dist/spw-stencil-library/p-d3d4755a.entry.js.map +1 -0
  463. package/dist/spw-stencil-library/{p-c7e025a5.entry.js → p-db2354cf.entry.js} +2 -2
  464. package/dist/spw-stencil-library/{p-65362ceb.entry.js → p-dd4bf12d.entry.js} +2 -2
  465. package/dist/spw-stencil-library/p-e00468aa.entry.js +2 -0
  466. package/dist/spw-stencil-library/p-e00468aa.entry.js.map +1 -0
  467. package/dist/spw-stencil-library/{p-6e73ea86.entry.js → p-e2f03a02.entry.js} +2 -2
  468. package/dist/spw-stencil-library/p-e2f03a02.entry.js.map +1 -0
  469. package/dist/spw-stencil-library/{p-f62d837a.entry.js → p-e72c6410.entry.js} +2 -2
  470. package/dist/spw-stencil-library/{p-f108ecf1.entry.js → p-f5de314e.entry.js} +2 -2
  471. package/dist/spw-stencil-library/{p-b7d4f7c6.entry.js → p-fabf41a2.entry.js} +2 -2
  472. package/dist/spw-stencil-library/{p-8f3a311c.entry.js → p-fbe468de.entry.js} +2 -2
  473. package/dist/spw-stencil-library/p-fda153e0.entry.js +2 -0
  474. package/dist/spw-stencil-library/p-fda153e0.entry.js.map +1 -0
  475. package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
  476. package/dist/spw-stencil-library/spw-card-content.entry.esm.js.map +1 -1
  477. package/dist/spw-stencil-library/spw-card-excerpt.entry.esm.js.map +1 -1
  478. package/dist/spw-stencil-library/spw-card-image.entry.esm.js.map +1 -1
  479. package/dist/spw-stencil-library/spw-card-title.entry.esm.js.map +1 -1
  480. package/dist/spw-stencil-library/spw-card.entry.esm.js.map +1 -1
  481. package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
  482. 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
  483. package/dist/spw-stencil-library/spw-header-persona.entry.esm.js.map +1 -1
  484. package/dist/spw-stencil-library/spw-header.entry.esm.js.map +1 -1
  485. package/dist/spw-stencil-library/spw-hero.entry.esm.js.map +1 -1
  486. package/dist/spw-stencil-library/spw-list-item.entry.esm.js.map +1 -1
  487. package/dist/spw-stencil-library/spw-list-title.entry.esm.js.map +1 -1
  488. package/dist/spw-stencil-library/spw-list.entry.esm.js.map +1 -1
  489. package/dist/spw-stencil-library/spw-modal.entry.esm.js.map +1 -1
  490. package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
  491. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  492. package/dist/spw-stencil-library/spw-tabs-navigation-item.entry.esm.js.map +1 -1
  493. package/dist/spw-stencil-library/spw-tile-title.entry.esm.js.map +1 -1
  494. package/dist/stats.json +1225 -524
  495. package/dist/types/components/spw-card/spw-card-title/spw-card-title.d.ts +2 -0
  496. package/dist/types/components/spw-card/spw-card.d.ts +6 -1
  497. package/dist/types/components/spw-header/spw-header-persona/spw-header-persona.d.ts +2 -0
  498. package/dist/types/components/spw-header/spw-header.d.ts +18 -0
  499. package/dist/types/components/spw-hero/spw-hero.d.ts +6 -0
  500. package/dist/types/components/spw-list/spw-list-item/spw-list-item.d.ts +2 -0
  501. package/dist/types/components/spw-list/spw-list.d.ts +6 -0
  502. package/dist/types/components/spw-modal/spw-modal.d.ts +1 -0
  503. package/dist/types/components.d.ts +122 -2
  504. package/dist/types/stories/components/spw-checkbox/spw-checkbox.stories.d.ts +1 -0
  505. package/dist/types/stories/organisms/spw-card/spw-card.stories.d.ts +2 -0
  506. package/hydrate/index.js +217 -105
  507. package/hydrate/index.mjs +217 -105
  508. package/package.json +1 -1
  509. package/dist/components/p-BRzMlz9h.js +0 -129
  510. package/dist/components/p-BRzMlz9h.js.map +0 -1
  511. package/dist/components/p-BbuJ0hsQ.js.map +0 -1
  512. package/dist/components/p-DSus8Zwu.js +0 -81
  513. package/dist/components/p-DSus8Zwu.js.map +0 -1
  514. package/dist/components/p-z27d6ASx.js.map +0 -1
  515. package/dist/components_vscode.json +0 -2748
  516. package/dist/spw-stencil-library/p-1e725439.entry.js.map +0 -1
  517. package/dist/spw-stencil-library/p-40875966.entry.js +0 -2
  518. package/dist/spw-stencil-library/p-40875966.entry.js.map +0 -1
  519. package/dist/spw-stencil-library/p-623f0364.entry.js +0 -2
  520. package/dist/spw-stencil-library/p-623f0364.entry.js.map +0 -1
  521. package/dist/spw-stencil-library/p-6e73ea86.entry.js.map +0 -1
  522. package/dist/spw-stencil-library/p-7f51d86c.entry.js +0 -2
  523. package/dist/spw-stencil-library/p-7f51d86c.entry.js.map +0 -1
  524. package/dist/spw-stencil-library/p-90b5dafe.entry.js +0 -2
  525. package/dist/spw-stencil-library/p-90b5dafe.entry.js.map +0 -1
  526. package/dist/spw-stencil-library/p-92c085a5.entry.js.map +0 -1
  527. package/dist/spw-stencil-library/p-9b651a66.entry.js.map +0 -1
  528. package/dist/spw-stencil-library/p-a46af3e5.entry.js +0 -2
  529. package/dist/spw-stencil-library/p-a46af3e5.entry.js.map +0 -1
  530. package/dist/spw-stencil-library/p-b77d1fe8.entry.js.map +0 -1
  531. package/dist/spw-stencil-library/p-c7453498.entry.js +0 -2
  532. package/dist/spw-stencil-library/p-c7453498.entry.js.map +0 -1
  533. package/dist/spw-stencil-library/p-c8b5a26a.entry.js +0 -2
  534. package/dist/spw-stencil-library/p-c8b5a26a.entry.js.map +0 -1
  535. package/dist/spw-stencil-library/p-cfd71d4a.entry.js +0 -2
  536. package/dist/spw-stencil-library/p-cfd71d4a.entry.js.map +0 -1
  537. package/dist/spw-stencil-library/p-d6b76976.entry.js +0 -2
  538. package/dist/spw-stencil-library/p-d6b76976.entry.js.map +0 -1
  539. package/dist/spw-stencil-library/p-e5178e47.entry.js.map +0 -1
  540. package/dist/spw-stencil-library/p-e771bb8e.entry.js +0 -2
  541. package/dist/spw-stencil-library/p-e771bb8e.entry.js.map +0 -1
  542. package/dist/spw-stencil-library/p-ffb3b941.entry.js +0 -2
  543. package/dist/spw-stencil-library/p-ffb3b941.entry.js.map +0 -1
  544. /package/dist/spw-stencil-library/{p-6080e3af.entry.js.map → p-0226ad72.entry.js.map} +0 -0
  545. /package/dist/spw-stencil-library/{p-cc934cd6.entry.js.map → p-03f1a257.entry.js.map} +0 -0
  546. /package/dist/spw-stencil-library/{p-5ed3e0dc.entry.js.map → p-04274072.entry.js.map} +0 -0
  547. /package/dist/spw-stencil-library/{p-7028e7b5.entry.js.map → p-08d78730.entry.js.map} +0 -0
  548. /package/dist/spw-stencil-library/{p-68470983.entry.js.map → p-09a2d080.entry.js.map} +0 -0
  549. /package/dist/spw-stencil-library/{p-3a4b10ad.entry.js.map → p-09d27c4b.entry.js.map} +0 -0
  550. /package/dist/spw-stencil-library/{p-9a5031d4.entry.js.map → p-11805364.entry.js.map} +0 -0
  551. /package/dist/spw-stencil-library/{p-0aa4a108.entry.js.map → p-158e7952.entry.js.map} +0 -0
  552. /package/dist/spw-stencil-library/{p-d67fdf8d.entry.js.map → p-19a69f36.entry.js.map} +0 -0
  553. /package/dist/spw-stencil-library/{p-a7d606e3.entry.js.map → p-1f382434.entry.js.map} +0 -0
  554. /package/dist/spw-stencil-library/{p-2f4d2f5e.entry.js.map → p-272dc0ee.entry.js.map} +0 -0
  555. /package/dist/spw-stencil-library/{p-92dc2c82.entry.js.map → p-2dff657f.entry.js.map} +0 -0
  556. /package/dist/spw-stencil-library/{p-d2c4f07d.entry.js.map → p-2e9756c4.entry.js.map} +0 -0
  557. /package/dist/spw-stencil-library/{p-b044a74c.entry.js.map → p-2fd3eb76.entry.js.map} +0 -0
  558. /package/dist/spw-stencil-library/{p-93f062f5.entry.js.map → p-34dc26ba.entry.js.map} +0 -0
  559. /package/dist/spw-stencil-library/{p-2111f4af.entry.js.map → p-376b1e84.entry.js.map} +0 -0
  560. /package/dist/spw-stencil-library/{p-5d7b7815.entry.js.map → p-42658e0a.entry.js.map} +0 -0
  561. /package/dist/spw-stencil-library/{p-729ecfae.entry.js.map → p-44d87d3f.entry.js.map} +0 -0
  562. /package/dist/spw-stencil-library/{p-302b8062.entry.js.map → p-4d61f200.entry.js.map} +0 -0
  563. /package/dist/spw-stencil-library/{p-272b59d2.entry.js.map → p-52c51ac5.entry.js.map} +0 -0
  564. /package/dist/spw-stencil-library/{p-81b268ec.entry.js.map → p-554af1e3.entry.js.map} +0 -0
  565. /package/dist/spw-stencil-library/{p-2e8ec25d.entry.js.map → p-5a034423.entry.js.map} +0 -0
  566. /package/dist/spw-stencil-library/{p-8abf47fe.entry.js.map → p-5f82570e.entry.js.map} +0 -0
  567. /package/dist/spw-stencil-library/{p-fc1d8034.entry.js.map → p-64670b2e.entry.js.map} +0 -0
  568. /package/dist/spw-stencil-library/{p-999a607e.entry.js.map → p-75159246.entry.js.map} +0 -0
  569. /package/dist/spw-stencil-library/{p-e6981b73.entry.js.map → p-7cd55113.entry.js.map} +0 -0
  570. /package/dist/spw-stencil-library/{p-4c4a0709.entry.js.map → p-7d80a44e.entry.js.map} +0 -0
  571. /package/dist/spw-stencil-library/{p-6ec9bc6c.entry.js.map → p-8c6c9db5.entry.js.map} +0 -0
  572. /package/dist/spw-stencil-library/{p-3554fb8f.entry.js.map → p-8ef8864e.entry.js.map} +0 -0
  573. /package/dist/spw-stencil-library/{p-095280cd.entry.js.map → p-9219fe7c.entry.js.map} +0 -0
  574. /package/dist/spw-stencil-library/{p-dd441d3f.entry.js.map → p-93a5f755.entry.js.map} +0 -0
  575. /package/dist/spw-stencil-library/{p-a421a2bd.entry.js.map → p-98ee79d6.entry.js.map} +0 -0
  576. /package/dist/spw-stencil-library/{p-4de11305.entry.js.map → p-a30563ff.entry.js.map} +0 -0
  577. /package/dist/spw-stencil-library/{p-dff72718.entry.js.map → p-a93f21f9.entry.js.map} +0 -0
  578. /package/dist/spw-stencil-library/{p-3e6fe922.entry.js.map → p-a950bce8.entry.js.map} +0 -0
  579. /package/dist/spw-stencil-library/{p-4540f03d.entry.js.map → p-b0dc1073.entry.js.map} +0 -0
  580. /package/dist/spw-stencil-library/{p-cc8717c0.entry.js.map → p-ba27b9b0.entry.js.map} +0 -0
  581. /package/dist/spw-stencil-library/{p-e67b5361.entry.js.map → p-bf2d0cf4.entry.js.map} +0 -0
  582. /package/dist/spw-stencil-library/{p-f3e9ab57.entry.js.map → p-c2de4206.entry.js.map} +0 -0
  583. /package/dist/spw-stencil-library/{p-40283415.entry.js.map → p-c54fee67.entry.js.map} +0 -0
  584. /package/dist/spw-stencil-library/{p-a5b78201.entry.js.map → p-c838e17b.entry.js.map} +0 -0
  585. /package/dist/spw-stencil-library/{p-c7e025a5.entry.js.map → p-db2354cf.entry.js.map} +0 -0
  586. /package/dist/spw-stencil-library/{p-65362ceb.entry.js.map → p-dd4bf12d.entry.js.map} +0 -0
  587. /package/dist/spw-stencil-library/{p-f62d837a.entry.js.map → p-e72c6410.entry.js.map} +0 -0
  588. /package/dist/spw-stencil-library/{p-f108ecf1.entry.js.map → p-f5de314e.entry.js.map} +0 -0
  589. /package/dist/spw-stencil-library/{p-b7d4f7c6.entry.js.map → p-fabf41a2.entry.js.map} +0 -0
  590. /package/dist/spw-stencil-library/{p-8f3a311c.entry.js.map → p-fbe468de.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"spw-card-image.entry.cjs.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,k0KAAk0K;;MCO70K,YAAY,GAAA,MAAA;;;;IAKvB,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACxC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;AAI9D,IAAA,WAAW,CAAC,OAAO,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;;iBAC7B;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;;;;IAK3C,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,KAAK,IAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,EACtEA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACbA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAC/BA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,SAAS,GAAY,CAChC,CACF;;;;;;;;","names":["h"],"sources":["src/components/spw-card/spw-card-image/spw-card-image.scss?tag=spw-card-image&encapsulation=shadow","src/components/spw-card/spw-card-image/spw-card-image.tsx"],"sourcesContent":["@import '../../../scss/mixins';\n\n:host {\n display: block;\n width: 100%;\n line-height: 1;\n}\n\n.spw-card-image {\n position: relative;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n\n :host(.--vertical) & {\n border-radius: 5px 0 0 5px;\n }\n\n :host(.--video) &,\n :host(.--sidebar) & {\n border-radius: 5px;\n }\n\n ::slotted(img),\n img {\n width: 100%;\n height: auto;\n transition: all 0.3s ease;\n transform-origin: center center;\n }\n\n &__icon {\n &:before {\n @include blanket;\n background: var(--spw-ds-primary);\n opacity: 0.4;\n }\n position: absolute;\n z-index: 2;\n display: flex;\n visibility: hidden;\n width: 100%;\n height: 100%;\n font-size: 30px;\n font-weight: 300;\n opacity: 0;\n top: 0;\n left: 0;\n color: white;\n justify-content: center;\n align-items: center;\n transition: all 0.3s ease;\n\n spw-icon {\n transform: scale(1.5);\n transition: all 0.3s ease;\n }\n }\n\n &__label {\n position: absolute;\n top: 10px;\n right: 10px;\n display: inline-flex;\n padding: 8px 12px;\n align-items: center;\n border-radius: 9999px;\n color: var(--spw-color-themes-grey-grey-900);\n box-shadow: var(--spw-effect-elevation-3);\n font-size: 14px;\n background: var(--spw-ds-white);\n z-index: 3;\n line-height: 1;\n }\n}\n\n:host(.--hovered:not(.--video)) {\n .spw-card-image,\n .spw-card-image.--is-hovered {\n .spw-card-image__icon {\n visibility: visible;\n opacity: 1;\n spw-icon {\n transform: scale(1);\n }\n }\n ::slotted(img) {\n transform: scale(1.1);\n }\n }\n}\n\n:host(.--vertical) {\n width: 170px;\n min-width: 170px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--sidebar) {\n width: 75px;\n min-width: 75px;\n height: 75px;\n min-height: 75px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video) {\n width: 100%;\n height: 100%;\n position: absolute;\n overflow: hidden;\n top: 0;\n left: 0;\n &:after {\n content: '';\n background: black;\n opacity: 0.4;\n transition: all linear 0.2s;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video.--hovered) {\n &:after {\n opacity: 0.6;\n }\n}\n","import { Component, Prop, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-image',\n styleUrl: 'spw-card-image.scss',\n shadow: true,\n})\nexport class SpwCardImage {\n @Element() el: HTMLSpwCardImageElement;\n /** Label spécifié dans la carte */\n @Prop() label?: string;\n\n componentDidLoad() {\n const card = this.el.closest('spw-card');\n if (card) {\n card.addEventListener('mouseenter', () => this.onCardHover(true));\n card.addEventListener('mouseleave', () => this.onCardHover(false));\n }\n }\n\n private onCardHover(hovered) {\n const icon = this.el.shadowRoot.querySelector('.spw-card-image');\n if (icon) {\n if (hovered) {\n icon.classList.add('--is-hovered');\n } else {\n icon.classList.remove('--is-hovered');\n }\n }\n }\n\n render() {\n return (\n <div class=\"spw-card-image\">\n {this.label && <span class=\"spw-card-image__label\">{this.label}</span>}\n <slot></slot>\n <div class=\"spw-card-image__icon\">\n <spw-icon icon=\"fa-plus\"></spw-icon>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"spw-card-image.entry.cjs.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,wjLAAwjL;;MCOnkL,YAAY,GAAA,MAAA;;;;IAKvB,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACxC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;AAI9D,IAAA,WAAW,CAAC,OAAO,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;;iBAC7B;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;;;;IAK3C,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,KAAK,IAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,EACtEA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACbA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAC/BA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,SAAS,GAAY,CAChC,CACF;;;;;;;;","names":["h"],"sources":["src/components/spw-card/spw-card-image/spw-card-image.scss?tag=spw-card-image&encapsulation=shadow","src/components/spw-card/spw-card-image/spw-card-image.tsx"],"sourcesContent":["@import '../../../scss/mixins';\n\n:host {\n width: 100%;\n line-height: 1;\n --spw-card-image-display: block;\n}\n\n:host(.--people) {\n width: 112px;\n max-width: 112px;\n}\n\n.spw-card-image {\n position: relative;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n display: var(--spw-card-image-display);\n\n :host(.--vertical) &,\n :host(.--event) & {\n border-radius: 5px 0 0 5px;\n }\n\n :host(.--people) & {\n border-radius: 5px;\n }\n\n :host(.--video) &,\n :host(.--sidebar) & {\n border-radius: 5px;\n }\n\n ::slotted(img),\n img {\n width: 100%;\n height: auto;\n transition: all 0.3s ease;\n transform-origin: center center;\n }\n\n &__icon {\n &:before {\n @include blanket;\n background: var(--spw-ds-primary);\n opacity: 0.4;\n }\n position: absolute;\n z-index: 2;\n display: flex;\n visibility: hidden;\n width: 100%;\n height: 100%;\n font-size: 30px;\n font-weight: 300;\n opacity: 0;\n top: 0;\n left: 0;\n color: white;\n justify-content: center;\n align-items: center;\n transition: all 0.3s ease;\n\n spw-icon {\n transform: scale(1.5);\n transition: all 0.3s ease;\n }\n }\n\n &__label {\n position: absolute;\n top: 10px;\n right: 10px;\n display: inline-flex;\n padding: 8px 12px;\n align-items: center;\n border-radius: 9999px;\n color: var(--spw-color-themes-grey-grey-900);\n box-shadow: var(--spw-effect-elevation-3);\n font-size: 14px;\n background: var(--spw-ds-white);\n z-index: 3;\n line-height: 1;\n }\n}\n\n:host(.--hovered:not(.--video)) {\n .spw-card-image,\n .spw-card-image.--is-hovered {\n .spw-card-image__icon {\n visibility: visible;\n opacity: 1;\n spw-icon {\n transform: scale(1);\n }\n }\n ::slotted(img) {\n transform: scale(1.1);\n }\n }\n}\n\n:host(.--vertical),\n:host(.--event) {\n width: 170px;\n min-width: 170px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--sidebar) {\n width: 75px;\n min-width: 75px;\n height: 75px;\n min-height: 75px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video) {\n width: 100%;\n height: 100%;\n position: absolute;\n overflow: hidden;\n top: 0;\n left: 0;\n &:after {\n content: '';\n background: black;\n opacity: 0.4;\n transition: all linear 0.2s;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video.--hovered) {\n &:after {\n opacity: 0.6;\n }\n}\n","import { Component, Prop, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-image',\n styleUrl: 'spw-card-image.scss',\n shadow: true,\n})\nexport class SpwCardImage {\n @Element() el: HTMLSpwCardImageElement;\n /** Label spécifié dans la carte */\n @Prop() label?: string;\n\n componentDidLoad() {\n const card = this.el.closest('spw-card');\n if (card) {\n card.addEventListener('mouseenter', () => this.onCardHover(true));\n card.addEventListener('mouseleave', () => this.onCardHover(false));\n }\n }\n\n private onCardHover(hovered) {\n const icon = this.el.shadowRoot.querySelector('.spw-card-image');\n if (icon) {\n if (hovered) {\n icon.classList.add('--is-hovered');\n } else {\n icon.classList.remove('--is-hovered');\n }\n }\n }\n\n render() {\n return (\n <div class=\"spw-card-image\">\n {this.label && <span class=\"spw-card-image__label\">{this.label}</span>}\n <slot></slot>\n <div class=\"spw-card-image__icon\">\n <spw-icon icon=\"fa-plus\"></spw-icon>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"spw-card-image.entry.cjs.js","sources":["src/components/spw-card/spw-card-image/spw-card-image.scss?tag=spw-card-image&encapsulation=shadow","src/components/spw-card/spw-card-image/spw-card-image.tsx"],"sourcesContent":["@import '../../../scss/mixins';\n\n:host {\n display: block;\n width: 100%;\n line-height: 1;\n}\n\n.spw-card-image {\n position: relative;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n\n :host(.--vertical) & {\n border-radius: 5px 0 0 5px;\n }\n\n :host(.--video) &,\n :host(.--sidebar) & {\n border-radius: 5px;\n }\n\n ::slotted(img),\n img {\n width: 100%;\n height: auto;\n transition: all 0.3s ease;\n transform-origin: center center;\n }\n\n &__icon {\n &:before {\n @include blanket;\n background: var(--spw-ds-primary);\n opacity: 0.4;\n }\n position: absolute;\n z-index: 2;\n display: flex;\n visibility: hidden;\n width: 100%;\n height: 100%;\n font-size: 30px;\n font-weight: 300;\n opacity: 0;\n top: 0;\n left: 0;\n color: white;\n justify-content: center;\n align-items: center;\n transition: all 0.3s ease;\n\n spw-icon {\n transform: scale(1.5);\n transition: all 0.3s ease;\n }\n }\n\n &__label {\n position: absolute;\n top: 10px;\n right: 10px;\n display: inline-flex;\n padding: 8px 12px;\n align-items: center;\n border-radius: 9999px;\n color: var(--spw-color-themes-grey-grey-900);\n box-shadow: var(--spw-effect-elevation-3);\n font-size: 14px;\n background: var(--spw-ds-white);\n z-index: 3;\n line-height: 1;\n }\n}\n\n:host(.--hovered:not(.--video)) {\n .spw-card-image,\n .spw-card-image.--is-hovered {\n .spw-card-image__icon {\n visibility: visible;\n opacity: 1;\n spw-icon {\n transform: scale(1);\n }\n }\n ::slotted(img) {\n transform: scale(1.1);\n }\n }\n}\n\n:host(.--vertical) {\n width: 170px;\n min-width: 170px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--sidebar) {\n width: 75px;\n min-width: 75px;\n height: 75px;\n min-height: 75px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video) {\n width: 100%;\n height: 100%;\n position: absolute;\n overflow: hidden;\n top: 0;\n left: 0;\n &:after {\n content: '';\n background: black;\n opacity: 0.4;\n transition: all linear 0.2s;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video.--hovered) {\n &:after {\n opacity: 0.6;\n }\n}\n","import { Component, Prop, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-image',\n styleUrl: 'spw-card-image.scss',\n shadow: true,\n})\nexport class SpwCardImage {\n @Element() el: HTMLSpwCardImageElement;\n /** Label spécifié dans la carte */\n @Prop() label?: string;\n\n componentDidLoad() {\n const card = this.el.closest('spw-card');\n if (card) {\n card.addEventListener('mouseenter', () => this.onCardHover(true));\n card.addEventListener('mouseleave', () => this.onCardHover(false));\n }\n }\n\n private onCardHover(hovered) {\n const icon = this.el.shadowRoot.querySelector('.spw-card-image');\n if (icon) {\n if (hovered) {\n icon.classList.add('--is-hovered');\n } else {\n icon.classList.remove('--is-hovered');\n }\n }\n }\n\n render() {\n return (\n <div class=\"spw-card-image\">\n {this.label && <span class=\"spw-card-image__label\">{this.label}</span>}\n <slot></slot>\n <div class=\"spw-card-image__icon\">\n <spw-icon icon=\"fa-plus\"></spw-icon>\n </div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,k0KAAk0K;;MCO70K,YAAY,GAAA,MAAA;;;;IAKvB,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACxC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;AAI9D,IAAA,WAAW,CAAC,OAAO,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;;iBAC7B;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;;;;IAK3C,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,KAAK,IAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,EACtEA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACbA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAC/BA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,SAAS,GAAY,CAChC,CACF;;;;;;;;"}
1
+ {"version":3,"file":"spw-card-image.entry.cjs.js","sources":["src/components/spw-card/spw-card-image/spw-card-image.scss?tag=spw-card-image&encapsulation=shadow","src/components/spw-card/spw-card-image/spw-card-image.tsx"],"sourcesContent":["@import '../../../scss/mixins';\n\n:host {\n width: 100%;\n line-height: 1;\n --spw-card-image-display: block;\n}\n\n:host(.--people) {\n width: 112px;\n max-width: 112px;\n}\n\n.spw-card-image {\n position: relative;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n display: var(--spw-card-image-display);\n\n :host(.--vertical) &,\n :host(.--event) & {\n border-radius: 5px 0 0 5px;\n }\n\n :host(.--people) & {\n border-radius: 5px;\n }\n\n :host(.--video) &,\n :host(.--sidebar) & {\n border-radius: 5px;\n }\n\n ::slotted(img),\n img {\n width: 100%;\n height: auto;\n transition: all 0.3s ease;\n transform-origin: center center;\n }\n\n &__icon {\n &:before {\n @include blanket;\n background: var(--spw-ds-primary);\n opacity: 0.4;\n }\n position: absolute;\n z-index: 2;\n display: flex;\n visibility: hidden;\n width: 100%;\n height: 100%;\n font-size: 30px;\n font-weight: 300;\n opacity: 0;\n top: 0;\n left: 0;\n color: white;\n justify-content: center;\n align-items: center;\n transition: all 0.3s ease;\n\n spw-icon {\n transform: scale(1.5);\n transition: all 0.3s ease;\n }\n }\n\n &__label {\n position: absolute;\n top: 10px;\n right: 10px;\n display: inline-flex;\n padding: 8px 12px;\n align-items: center;\n border-radius: 9999px;\n color: var(--spw-color-themes-grey-grey-900);\n box-shadow: var(--spw-effect-elevation-3);\n font-size: 14px;\n background: var(--spw-ds-white);\n z-index: 3;\n line-height: 1;\n }\n}\n\n:host(.--hovered:not(.--video)) {\n .spw-card-image,\n .spw-card-image.--is-hovered {\n .spw-card-image__icon {\n visibility: visible;\n opacity: 1;\n spw-icon {\n transform: scale(1);\n }\n }\n ::slotted(img) {\n transform: scale(1.1);\n }\n }\n}\n\n:host(.--vertical),\n:host(.--event) {\n width: 170px;\n min-width: 170px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--sidebar) {\n width: 75px;\n min-width: 75px;\n height: 75px;\n min-height: 75px;\n position: relative;\n overflow: hidden;\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video) {\n width: 100%;\n height: 100%;\n position: absolute;\n overflow: hidden;\n top: 0;\n left: 0;\n &:after {\n content: '';\n background: black;\n opacity: 0.4;\n transition: all linear 0.2s;\n border-radius: 5px;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n .spw-card-image {\n height: 100%;\n ::slotted(img) {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100% !important;\n object-fit: cover;\n object-position: center;\n }\n }\n}\n\n:host(.--video.--hovered) {\n &:after {\n opacity: 0.6;\n }\n}\n","import { Component, Prop, h, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-image',\n styleUrl: 'spw-card-image.scss',\n shadow: true,\n})\nexport class SpwCardImage {\n @Element() el: HTMLSpwCardImageElement;\n /** Label spécifié dans la carte */\n @Prop() label?: string;\n\n componentDidLoad() {\n const card = this.el.closest('spw-card');\n if (card) {\n card.addEventListener('mouseenter', () => this.onCardHover(true));\n card.addEventListener('mouseleave', () => this.onCardHover(false));\n }\n }\n\n private onCardHover(hovered) {\n const icon = this.el.shadowRoot.querySelector('.spw-card-image');\n if (icon) {\n if (hovered) {\n icon.classList.add('--is-hovered');\n } else {\n icon.classList.remove('--is-hovered');\n }\n }\n }\n\n render() {\n return (\n <div class=\"spw-card-image\">\n {this.label && <span class=\"spw-card-image__label\">{this.label}</span>}\n <slot></slot>\n <div class=\"spw-card-image__icon\">\n <spw-icon icon=\"fa-plus\"></spw-icon>\n </div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,wjLAAwjL;;MCOnkL,YAAY,GAAA,MAAA;;;;IAKvB,gBAAgB,GAAA;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACxC,IAAI,IAAI,EAAE;AACR,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACjE,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;;;AAI9D,IAAA,WAAW,CAAC,OAAO,EAAA;AACzB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAChE,IAAI,IAAI,EAAE;YACR,IAAI,OAAO,EAAE;AACX,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC;;iBAC7B;AACL,gBAAA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;;;;IAK3C,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACxB,IAAI,CAAC,KAAK,IAAIA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAQ,EACtEA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACbA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAC/BA,OAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,SAAS,GAAY,CAChC,CACF;;;;;;;;"}
@@ -20,7 +20,7 @@ const SpwCardSubtagItem = class {
20
20
  };
21
21
  }
22
22
  render() {
23
- return (index.h(index.Host, { key: 'bb36b5ced113d9129698ceeff14cd092dcc44c20' }, index.h("span", { key: '64ad44f7a700914c82371215cddd7fbe624bd622', class: this.elementClass, onClick: () => this.handleClick() }, index.h("slot", { key: 'd540bd37c2a2000d8daa11291f7e26810baea930' }))));
23
+ return (index.h(index.Host, { key: 'b9f9a9f02a6ef1ccf5d0c5a993b0e3b278978298' }, index.h("span", { key: 'c8e53bd3d9a2c60d7eb2a05fea866d991898b068', class: this.elementClass, onClick: () => this.handleClick() }, index.h("slot", { key: 'd2bb1ddcc64d71736687bde8c0844cd2bc84773e' }))));
24
24
  }
25
25
  };
26
26
  SpwCardSubtagItem.style = spwCardSubtagItemCss;
@@ -29,7 +29,7 @@ const SpwCardSubtags = class {
29
29
  };
30
30
  }
31
31
  render() {
32
- return (index.h(index.Host, { key: '7197f57b0a93b6b51941fa40cdfadcd60c6e4077' }, index.h("div", { key: 'ecdd97414e532375fb29dcb945b539852f1ccf87', class: this.elementClass }, index.h("slot", { key: 'ae8d6e6ae70af87e7e9ea6bce86ebf35a0beb91f' }))));
32
+ return (index.h(index.Host, { key: 'c3615d6567c3f3b0f91c5784d14afb490796fcfd' }, index.h("div", { key: '1d4b55d7a2ceb7216ae369571725a22c9483fb97', class: this.elementClass }, index.h("slot", { key: 'a3d0f73339d00b5659dc0f4033ca3d3c6bc60596' }))));
33
33
  }
34
34
  get el() { return index.getElement(this); }
35
35
  };
@@ -2,14 +2,16 @@
2
2
 
3
3
  var index = require('./index-iVhYitTd.js');
4
4
 
5
- const spwCardTitleCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;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-card-title{color:var(--spw-color-themes-grey-grey-900);font-size:20px;font-weight:700;line-height:1.3;transition:all .3s ease}:host(.--hovered:not(.--video)) .spw-card-title{color:var(--spw-ds-primary)}:host(.--video) .spw-card-title{color:#fff}";
5
+ const spwCardTitleCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;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-card-title{color:var(--spw-color-themes-grey-grey-900);font-size:20px;font-weight:700;line-height:1.3;transition:all .3s ease}:host(.--hovered:not(.--video):not(.--people)) .spw-card-title{color:var(--spw-ds-primary)}:host(.--video) .spw-card-title{color:#fff}:host(.--sidebar) .spw-card-title{font-size:18px;line-height:1.2}:host(.--people) .spw-card-title{border-bottom:1px solid var(--spw-color-themes-grey-grey-300);padding:0 24px}:host(.--people) .spw-card-title__text{border-bottom:4px solid var(--spw-card-title-border-color,var(--spw-ds-primary));display:inline-block;padding:18px 0}";
6
6
 
7
7
  const SpwCardTitle = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
+ /** Code hexadécimal de la bordure sous le titre (à appliquer sur spw-card-title si la variante de la carte est "people") */
11
+ this.borderColor = '';
10
12
  }
11
13
  render() {
12
- return (index.h("h3", { key: 'a2aae793eea1b60c5ccc58ddb22f508f18984a3a', class: "spw-card-title" }, index.h("slot", { key: 'ab895331d9876bc14a621fe197933d69612ac07d' })));
14
+ return (index.h(index.Host, { key: 'fee3f93429299a55ce235a0b87abc7168570491c', style: { '--spw-card-title-border-color': this.borderColor } }, index.h("h3", { key: '2d6995704e9656b954a0b2d0eb5a06d25ac41133', class: "spw-card-title" }, index.h("span", { key: '801aafb6917dd8233e644cfad05bbf3009fdb44c', class: "spw-card-title__text" }, index.h("slot", { key: '0bd326fa65f7cbe4bb8db95321fdd16a39562dd5' })))));
13
15
  }
14
16
  };
15
17
  SpwCardTitle.style = spwCardTitleCss;
@@ -1 +1 @@
1
- {"file":"spw-card-title.entry.cjs.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,wzFAAwzF;;MCOn0F,YAAY,GAAA,MAAA;;;;IACvB,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,gBAAgB,EAAA,EACxBA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACV;;;;;;;","names":["h"],"sources":["src/components/spw-card/spw-card-title/spw-card-title.scss?tag=spw-card-title&encapsulation=shadow","src/components/spw-card/spw-card-title/spw-card-title.tsx"],"sourcesContent":[".spw-card-title {\n line-height: 1.3;\n font-weight: 700;\n font-size: 20px;\n transition: all 0.3s ease;\n color: var(--spw-color-themes-grey-grey-900);\n :host(.--hovered:not(.--video)) & {\n color: var(--spw-ds-primary);\n }\n :host(.--video) & {\n color: white;\n }\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-title',\n styleUrl: 'spw-card-title.scss',\n shadow: true,\n})\nexport class SpwCardTitle {\n render() {\n return (\n <h3 class=\"spw-card-title\">\n <slot></slot>\n </h3>\n );\n }\n}\n"],"version":3}
1
+ {"file":"spw-card-title.entry.cjs.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,kpGAAkpG;;MCO7pG,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAW,CAAA,WAAA,GAAY,EAAE;AAalC;IAXC,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,EAAE,+BAA+B,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EAChED,OAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACxBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAChCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACR,CACJ,CACA;;;;;;;","names":["h","Host"],"sources":["src/components/spw-card/spw-card-title/spw-card-title.scss?tag=spw-card-title&encapsulation=shadow","src/components/spw-card/spw-card-title/spw-card-title.tsx"],"sourcesContent":[".spw-card-title {\n line-height: 1.3;\n font-weight: 700;\n font-size: 20px;\n transition: all 0.3s ease;\n color: var(--spw-color-themes-grey-grey-900);\n :host(.--hovered:not(.--video):not(.--people)) & {\n color: var(--spw-ds-primary);\n }\n :host(.--video) & {\n color: white;\n }\n :host(.--sidebar) & {\n font-size: 18px;\n line-height: 1.2;\n }\n :host(.--people) & {\n padding: 0 24px;\n border-bottom: 1px solid var(--spw-color-themes-grey-grey-300);\n }\n &__text {\n :host(.--people) & {\n display: inline-block;\n padding: 18px 0;\n border-bottom: 4px solid var(--spw-card-title-border-color, var(--spw-ds-primary));\n }\n }\n}\n","import { Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-title',\n styleUrl: 'spw-card-title.scss',\n shadow: true,\n})\nexport class SpwCardTitle {\n /** Code hexadécimal de la bordure sous le titre (à appliquer sur spw-card-title si la variante de la carte est \"people\") */\n @Prop() borderColor?: string = '';\n\n render() {\n return (\n <Host style={{ '--spw-card-title-border-color': this.borderColor }}>\n <h3 class=\"spw-card-title\">\n <span class=\"spw-card-title__text\">\n <slot></slot>\n </span>\n </h3>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"spw-card-title.entry.cjs.js","sources":["src/components/spw-card/spw-card-title/spw-card-title.scss?tag=spw-card-title&encapsulation=shadow","src/components/spw-card/spw-card-title/spw-card-title.tsx"],"sourcesContent":[".spw-card-title {\n line-height: 1.3;\n font-weight: 700;\n font-size: 20px;\n transition: all 0.3s ease;\n color: var(--spw-color-themes-grey-grey-900);\n :host(.--hovered:not(.--video)) & {\n color: var(--spw-ds-primary);\n }\n :host(.--video) & {\n color: white;\n }\n}\n","import { Component, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-title',\n styleUrl: 'spw-card-title.scss',\n shadow: true,\n})\nexport class SpwCardTitle {\n render() {\n return (\n <h3 class=\"spw-card-title\">\n <slot></slot>\n </h3>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,wzFAAwzF;;MCOn0F,YAAY,GAAA,MAAA;;;;IACvB,MAAM,GAAA;QACJ,QACEA,OAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,gBAAgB,EAAA,EACxBA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACV;;;;;;;"}
1
+ {"version":3,"file":"spw-card-title.entry.cjs.js","sources":["src/components/spw-card/spw-card-title/spw-card-title.scss?tag=spw-card-title&encapsulation=shadow","src/components/spw-card/spw-card-title/spw-card-title.tsx"],"sourcesContent":[".spw-card-title {\n line-height: 1.3;\n font-weight: 700;\n font-size: 20px;\n transition: all 0.3s ease;\n color: var(--spw-color-themes-grey-grey-900);\n :host(.--hovered:not(.--video):not(.--people)) & {\n color: var(--spw-ds-primary);\n }\n :host(.--video) & {\n color: white;\n }\n :host(.--sidebar) & {\n font-size: 18px;\n line-height: 1.2;\n }\n :host(.--people) & {\n padding: 0 24px;\n border-bottom: 1px solid var(--spw-color-themes-grey-grey-300);\n }\n &__text {\n :host(.--people) & {\n display: inline-block;\n padding: 18px 0;\n border-bottom: 4px solid var(--spw-card-title-border-color, var(--spw-ds-primary));\n }\n }\n}\n","import { Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card-title',\n styleUrl: 'spw-card-title.scss',\n shadow: true,\n})\nexport class SpwCardTitle {\n /** Code hexadécimal de la bordure sous le titre (à appliquer sur spw-card-title si la variante de la carte est \"people\") */\n @Prop() borderColor?: string = '';\n\n render() {\n return (\n <Host style={{ '--spw-card-title-border-color': this.borderColor }}>\n <h3 class=\"spw-card-title\">\n <span class=\"spw-card-title__text\">\n <slot></slot>\n </span>\n </h3>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,eAAe,GAAG,kpGAAkpG;;MCO7pG,YAAY,GAAA,MAAA;AALzB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAW,CAAA,WAAA,GAAY,EAAE;AAalC;IAXC,MAAM,GAAA;AACJ,QAAA,QACEA,OAAA,CAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,EAAE,+BAA+B,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EAChED,OAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gBAAgB,EAAA,EACxBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,sBAAsB,EAAA,EAChCA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACR,CACJ,CACA;;;;;;;"}
@@ -2,12 +2,13 @@
2
2
 
3
3
  var index = require('./index-iVhYitTd.js');
4
4
 
5
- const spwCardCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative;width:100%}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}:host[data-modal-trigger]{cursor:pointer}:host(.--is-full-height){height:100%}.spw-card{background:var(--spw-ds-white);border-radius:5px;box-shadow:var(--spw-effect-elevation-2);display:block;transition:all .3s ease-in-out}:host(.--is-full-height) .spw-card{height:100%}.spw-card--hoverable:hover{box-shadow:var(--spw-effect-elevation-4);transform:translateY(-5px)}.spw-card__dates{align-items:center;background:var(--spw-ds-primary);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;flex-direction:column;font-size:18px;height:80px;justify-content:center;left:0;line-height:1.1;position:absolute;text-align:center;text-decoration:none;top:50%;transform:translate(-50%,-50%);width:80px}.spw-card__date-item span:first-of-type{font-weight:700}.spw-card__link{color:inherit;display:block;height:100%;text-decoration:none;width:100%}.spw-card--no-image .spw-card__link{padding-top:15px}.spw-card__link:focus-visible{border-radius:5px;box-shadow:0 0 0 5px #000;outline:3px solid #fff;outline-offset:-1px}.spw-card--vertical .spw-card__link,.spw-card--video .spw-card__link{display:flex;min-height:240px}.spw-card--sidebar,.spw-card--sidebar:hover{box-shadow:none}.spw-card--sidebar .spw-card__link{display:flex;gap:16px}.spw-card--event{left:40px;position:relative;width:calc(100% - 40px)}";
5
+ const spwCardCss = "/*! 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-card-background:var(--spw-ds-white);--spw-card-box-shadow:var(--spw-effect-elevation-6);--spw-card-border:none;box-sizing:border-box;display:block;font-size:100%;line-height:1.3;position:relative;width:100%}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}:host[data-modal-trigger]{cursor:pointer}:host(.--is-full-height){height:100%}.spw-card{background:var(--spw-card-background);border:var(--spw-card-border);border-radius:5px;box-shadow:var(--spw-card-box-shadow);display:block;transition:all .3s ease-in-out}:host(.--is-full-height) .spw-card{height:100%}.spw-card--hoverable:hover{box-shadow:var(--spw-effect-elevation-4);transform:translateY(-5px)}.spw-card__dates{align-items:center;background:var(--spw-ds-primary);border-radius:50%;color:#fff;cursor:pointer;display:inline-flex;flex-direction:column;font-size:18px;height:80px;justify-content:center;left:0;line-height:1.1;position:absolute;text-align:center;text-decoration:none;top:50%;transform:translate(-50%,-50%);width:80px;z-index:2}.spw-card__date-item span:first-of-type{font-weight:700}.spw-card__link{color:inherit;display:block;height:100%;text-decoration:none;width:100%}.spw-card--no-image .spw-card__link{padding-top:15px}.spw-card__link:focus-visible{border-radius:5px;box-shadow:0 0 0 5px #000;outline:3px solid #fff;outline-offset:-1px}.spw-card--vertical .spw-card__link,.spw-card--video .spw-card__link{display:flex;min-height:240px}.spw-card--event .spw-card__link{display:flex}.spw-card--sidebar,.spw-card--sidebar:hover{box-shadow:none}.spw-card--sidebar .spw-card__link{display:flex;gap:16px}.spw-card--event{left:40px;position:relative;width:calc(100% - 40px)}";
6
6
 
7
7
  const SpwCard = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
10
  this.hasImage = false;
11
+ this.childHoveredCount = 0; // <-- Ajouté : pour suivre le nombre de sous-cartes survolées
11
12
  /** Type de variante de carte */
12
13
  this.variant = 'news';
13
14
  /** Type d'élément du bouton */
@@ -18,28 +19,57 @@ const SpwCard = class {
18
19
  this.fullHeight = false;
19
20
  /** Si désactivée, la carte n'est pas utilisable */
20
21
  this.disabled = false;
22
+ this.onNestedCardEnter = () => {
23
+ this.childHoveredCount++;
24
+ this.setImageHovered(false);
25
+ };
26
+ this.onNestedCardLeave = () => {
27
+ this.childHoveredCount = Math.max(0, this.childHoveredCount - 1);
28
+ if (this.childHoveredCount === 0 && this.isPointerInside(this.el)) {
29
+ this.setImageHovered(true);
30
+ }
31
+ };
21
32
  }
22
33
  componentWillLoad() {
23
34
  this.checkForImage();
24
35
  this.applyVariantToChildren();
36
+ this.attachNestedCardListeners();
25
37
  }
26
38
  slotChanged() {
27
39
  this.checkForImage();
28
40
  this.applyVariantToChildren();
41
+ this.attachNestedCardListeners();
29
42
  }
30
43
  onMouseEnter() {
31
- this.setImageHovered(true);
44
+ if (this.childHoveredCount === 0) {
45
+ this.setImageHovered(true);
46
+ }
32
47
  }
33
48
  onMouseLeave() {
34
49
  this.setImageHovered(false);
35
50
  }
51
+ attachNestedCardListeners() {
52
+ requestAnimationFrame(() => {
53
+ const nestedCards = this.el.querySelectorAll('spw-card');
54
+ nestedCards.forEach(card => {
55
+ card.addEventListener('mouseenter', this.onNestedCardEnter.bind(this), true);
56
+ card.addEventListener('mouseleave', this.onNestedCardLeave.bind(this), true);
57
+ });
58
+ });
59
+ }
60
+ isPointerInside(element) {
61
+ const rect = element.getBoundingClientRect();
62
+ const { left, top, right, bottom } = rect;
63
+ const { clientX, clientY } = window;
64
+ return clientX >= left && clientX <= right && clientY >= top && clientY <= bottom;
65
+ }
36
66
  checkForImage() {
37
67
  requestAnimationFrame(() => {
38
68
  const imageElement = this.el.querySelector('spw-card-image');
39
69
  const contentElement = this.el.querySelector('spw-card-content');
40
70
  this.hasImage = !!imageElement;
41
71
  if (!this.hasImage) {
42
- contentElement.classList.add('--no-image');
72
+ contentElement === null || contentElement === void 0 ? void 0 : contentElement.classList.add('--no-image');
43
73
  }
44
74
  });
45
75
  }
@@ -57,11 +87,11 @@ const SpwCard = class {
57
87
  const titleElement = this.el.querySelector('spw-card-title');
58
88
  const excerptElement = this.el.querySelector('spw-card-excerpt');
59
89
  const subtagsElement = this.el.querySelector('spw-card-subtags');
60
- contentElement && contentElement.classList.add(variantClass);
61
- imageElement && imageElement.classList.add(variantClass);
62
- titleElement && titleElement.classList.add(variantClass);
63
- excerptElement && excerptElement.classList.add(variantClass);
64
- subtagsElement && subtagsElement.classList.add(variantClass);
90
+ contentElement === null || contentElement === void 0 ? void 0 : contentElement.classList.add(variantClass);
91
+ imageElement === null || imageElement === void 0 ? void 0 : imageElement.classList.add(variantClass);
92
+ titleElement === null || titleElement === void 0 ? void 0 : titleElement.classList.add(variantClass);
93
+ excerptElement === null || excerptElement === void 0 ? void 0 : excerptElement.classList.add(variantClass);
94
+ subtagsElement === null || subtagsElement === void 0 ? void 0 : subtagsElement.classList.add(variantClass);
65
95
  });
66
96
  }
67
97
  setImageHovered(isHovered) {
@@ -96,7 +126,7 @@ const SpwCard = class {
96
126
  'aria-label': this === null || this === void 0 ? void 0 : this.accAriaLabel,
97
127
  'aria-disabled': this.disabled ? 'true' : null,
98
128
  };
99
- return (index.h(index.Host, { key: '414b823a8a824f866571819908c4279481f4b4bd', class: { '--is-full-height': this.fullHeight } }, index.h("article", { key: '550b1c32da3f917ca8e78194b13592d3265db0b1', class: this.elementClass }, variant === 'event' && (index.h(TagType, Object.assign({ key: '3988de2a54183a0eff3cea43de9904c094790110' }, attrs, { class: "spw-card__dates" }), dateStart && index.h("div", { key: '7840de1b38ec0300f5dbb8213241c1b6c2d1917d', class: "spw-card__date-item" }, this.formatDate(dateStart)), dateEnd && index.h("div", { key: 'f542560e0505e84676c1b3a2e7910c2ba18b9970', class: "spw-card__date-item" }, this.formatDate(dateEnd)))), index.h(TagType, Object.assign({ key: 'f7bdcf4575a95303ed2dc06ac141e7424a24760d' }, attrs, ariaAttributes, { class: "spw-card__link" }), index.h("slot", { key: '608fc7a34d3060dff797cf273d7cd7c09c24c520' })))));
129
+ return (index.h(index.Host, { key: '3a6d060458c1301b3935fca45fbd75f75d331435', class: { '--is-full-height': this.fullHeight } }, index.h("article", { key: '4fb9f4c2dcdfeadee146559a49881392171352a8', class: this.elementClass }, variant === 'event' && (index.h(TagType, Object.assign({ key: '7bc364652cfcc22b7e03fc21383247161d6a0a17' }, attrs, { class: "spw-card__dates" }), dateStart && index.h("div", { key: '07f9aa4a3396cb4b7f376c5f0d6f7a7c167a4855', class: "spw-card__date-item" }, this.formatDate(dateStart)), dateEnd && index.h("div", { key: '96db297358b7b797da1b24b7809313df3092480d', class: "spw-card__date-item" }, this.formatDate(dateEnd)))), index.h(TagType, Object.assign({ key: '61e28cbd7629917f5f82e192be5080f7a905fe81' }, attrs, ariaAttributes, { class: "spw-card__link" }), index.h("slot", { key: '3bdecad5580ae21af4da15d2710d787a081a95d0' })))));
100
130
  }
101
131
  get el() { return index.getElement(this); }
102
132
  };
@@ -1 +1 @@
1
- {"file":"spw-card.entry.cjs.js","mappings":"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","names":["index","h","Host"],"sources":["src/components/spw-card/spw-card.scss?tag=spw-card&encapsulation=shadow","src/components/spw-card/spw-card.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n width: 100%;\n &[data-modal-trigger] {\n cursor: pointer;\n }\n}\n\n:host(.--is-full-height) {\n height: 100%;\n}\n\n.spw-card {\n display: block;\n border-radius: 5px;\n background: var(--spw-ds-white);\n box-shadow: var(--spw-effect-elevation-2);\n transition: all 0.3s ease-in-out;\n\n :host(.--is-full-height) & {\n height: 100%;\n }\n\n &--hoverable:hover {\n box-shadow: var(--spw-effect-elevation-4);\n transform: translateY(-5px);\n }\n\n &__dates {\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n flex-direction: column;\n line-height: 1.1;\n width: 80px;\n height: 80px;\n text-align: center;\n color: white;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--spw-ds-primary);\n border-radius: 50%;\n font-size: 18px;\n text-decoration: none;\n }\n &__date-item {\n span:first-of-type {\n font-weight: bold;\n }\n }\n}\n\n.spw-card__link {\n display: block;\n height: 100%;\n width: 100%;\n color: inherit;\n text-decoration: none;\n\n .spw-card--no-image & {\n padding-top: 15px;\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n border-radius: 5px;\n }\n}\n\n.spw-card--vertical,\n.spw-card--video {\n .spw-card__link {\n display: flex;\n min-height: 240px;\n }\n}\n\n.spw-card--sidebar {\n box-shadow: none;\n &:hover {\n box-shadow: none;\n }\n .spw-card__link {\n display: flex;\n gap: 16px;\n }\n}\n\n.spw-card--event {\n position: relative;\n width: calc(100% - 40px);\n left: 40px;\n}\n","import { Element, Listen, State, Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card',\n styleUrl: 'spw-card.scss',\n shadow: true,\n})\nexport class SpwCard {\n @Element() el: HTMLSpwCardElement;\n @State() hasImage: boolean = false;\n\n /** Type de variante de carte */\n @Prop() variant?: 'news' | 'vertical' | 'video' | 'event' | 'sidebar' = 'news';\n /** Type d'élément du bouton */\n @Prop() elementType: string = 'a';\n /** Spécifie le lien si nécessaire */\n @Prop() href?: string;\n /** Attribut target, s'applique uniquement si href est rempli */\n @Prop() target: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Définir une date de début si la carte est un évènement */\n @Prop() dateStart?: string;\n /** Définir une date de fin si la carte est un évènement */\n @Prop() dateEnd?: string;\n\n /** Si vrai, les cartes ont la même hauteur */\n @Prop() fullHeight: boolean = false;\n /** Si désactivée, la carte n'est pas utilisable */\n @Prop() disabled: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n\n componentWillLoad() {\n this.checkForImage();\n this.applyVariantToChildren();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.checkForImage();\n this.applyVariantToChildren();\n }\n\n @Listen('mouseenter')\n onMouseEnter() {\n this.setImageHovered(true);\n }\n\n @Listen('mouseleave')\n onMouseLeave() {\n this.setImageHovered(false);\n }\n\n private checkForImage() {\n requestAnimationFrame(() => {\n const imageElement = this.el.querySelector('spw-card-image');\n const contentElement = this.el.querySelector('spw-card-content');\n this.hasImage = !!imageElement;\n if (!this.hasImage) {\n contentElement.classList.add('--no-image');\n }\n });\n }\n\n private formatDate(date?: string): any[] {\n if (!date) return [];\n const parts = date.split('/');\n return parts.flatMap((part, index) => (index < parts.length - 1 ? [<span>{part}</span>, <span>/</span>] : [<span>{part}</span>]));\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const contentElement = this.el.querySelector('spw-card-content');\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n const excerptElement = this.el.querySelector('spw-card-excerpt');\n const subtagsElement = this.el.querySelector('spw-card-subtags');\n\n contentElement && contentElement.classList.add(variantClass);\n imageElement && imageElement.classList.add(variantClass);\n titleElement && titleElement.classList.add(variantClass);\n excerptElement && excerptElement.classList.add(variantClass);\n subtagsElement && subtagsElement.classList.add(variantClass);\n });\n }\n\n private setImageHovered(isHovered: boolean) {\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n if (imageElement && this.href) {\n imageElement.classList.toggle('--hovered', isHovered);\n }\n if (titleElement && this.href) {\n titleElement.classList.toggle('--hovered', isHovered);\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-card': true,\n 'spw-card--hoverable': !!this.href,\n 'spw-card--no-image': !this.hasImage,\n [`spw-card--${this.variant}`]: true,\n };\n }\n\n render() {\n const { href, rel, target, dateStart, dateEnd, variant } = this;\n const TagType = this.href === undefined ? 'div' : 'a';\n const attrs =\n TagType === 'div'\n ? {}\n : {\n href,\n rel,\n target,\n };\n\n const ariaAttributes = {\n 'aria-label': this?.accAriaLabel,\n 'aria-disabled': this.disabled ? 'true' : null,\n };\n\n return (\n <Host class={{ '--is-full-height': this.fullHeight }}>\n <article class={this.elementClass}>\n {variant === 'event' && (\n <TagType {...attrs} class=\"spw-card__dates\">\n {dateStart && <div class=\"spw-card__date-item\">{this.formatDate(dateStart)}</div>}\n {dateEnd && <div class=\"spw-card__date-item\">{this.formatDate(dateEnd)}</div>}\n </TagType>\n )}\n <TagType {...attrs} {...ariaAttributes} class=\"spw-card__link\">\n <slot></slot>\n </TagType>\n </article>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"spw-card.entry.cjs.js","mappings":"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","names":["index","h","Host"],"sources":["src/components/spw-card/spw-card.scss?tag=spw-card&encapsulation=shadow","src/components/spw-card/spw-card.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n width: 100%;\n --spw-card-background: var(--spw-ds-white);\n --spw-card-box-shadow: var(--spw-effect-elevation-6);\n --spw-card-border: none;\n &[data-modal-trigger] {\n cursor: pointer;\n }\n}\n\n:host(.--is-full-height) {\n height: 100%;\n}\n\n.spw-card {\n display: block;\n border-radius: 5px;\n background: var(--spw-card-background);\n box-shadow: var(--spw-card-box-shadow);\n border: var(--spw-card-border);\n transition: all 0.3s ease-in-out;\n\n :host(.--is-full-height) & {\n height: 100%;\n }\n\n &--hoverable:hover {\n box-shadow: var(--spw-effect-elevation-4);\n transform: translateY(-5px);\n }\n\n &__dates {\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n flex-direction: column;\n line-height: 1.1;\n width: 80px;\n height: 80px;\n text-align: center;\n color: white;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--spw-ds-primary);\n border-radius: 50%;\n font-size: 18px;\n text-decoration: none;\n z-index: 2;\n }\n &__date-item {\n span:first-of-type {\n font-weight: bold;\n }\n }\n}\n\n.spw-card__link {\n display: block;\n height: 100%;\n width: 100%;\n color: inherit;\n text-decoration: none;\n\n .spw-card--no-image & {\n padding-top: 15px;\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n border-radius: 5px;\n }\n}\n\n.spw-card--vertical,\n.spw-card--video {\n .spw-card__link {\n display: flex;\n min-height: 240px;\n }\n}\n\n.spw-card--event {\n .spw-card__link {\n display: flex;\n }\n}\n\n.spw-card--sidebar {\n box-shadow: none;\n &:hover {\n box-shadow: none;\n }\n .spw-card__link {\n display: flex;\n gap: 16px;\n }\n}\n\n.spw-card--event {\n position: relative;\n width: calc(100% - 40px);\n left: 40px;\n}\n","import { Element, Listen, State, Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card',\n styleUrl: 'spw-card.scss',\n shadow: true,\n})\nexport class SpwCard {\n @Element() el: HTMLSpwCardElement;\n @State() hasImage: boolean = false;\n private childHoveredCount = 0; // <-- Ajouté : pour suivre le nombre de sous-cartes survolées\n\n /** Type de variante de carte */\n @Prop() variant?: 'news' | 'vertical' | 'video' | 'event' | 'sidebar' | 'people' = 'news';\n /** Type d'élément du bouton */\n @Prop() elementType: string = 'a';\n /** Spécifie le lien si nécessaire */\n @Prop() href?: string;\n /** Attribut target, s'applique uniquement si href est rempli */\n @Prop() target: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Définir une date de début si la carte est un évènement */\n @Prop() dateStart?: string;\n /** Définir une date de fin si la carte est un évènement */\n @Prop() dateEnd?: string;\n\n /** Si vrai, les cartes ont la même hauteur */\n @Prop() fullHeight: boolean = false;\n /** Si désactivée, la carte n'est pas utilisable */\n @Prop() disabled: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n\n componentWillLoad() {\n this.checkForImage();\n this.applyVariantToChildren();\n this.attachNestedCardListeners();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.checkForImage();\n this.applyVariantToChildren();\n this.attachNestedCardListeners();\n }\n\n @Listen('mouseenter')\n onMouseEnter() {\n if (this.childHoveredCount === 0) {\n this.setImageHovered(true);\n }\n }\n\n @Listen('mouseleave')\n onMouseLeave() {\n this.setImageHovered(false);\n }\n\n private attachNestedCardListeners() {\n requestAnimationFrame(() => {\n const nestedCards = this.el.querySelectorAll('spw-card');\n\n nestedCards.forEach(card => {\n card.addEventListener('mouseenter', this.onNestedCardEnter.bind(this), true);\n card.addEventListener('mouseleave', this.onNestedCardLeave.bind(this), true);\n });\n });\n }\n\n private onNestedCardEnter = () => {\n this.childHoveredCount++;\n this.setImageHovered(false);\n };\n\n private onNestedCardLeave = () => {\n this.childHoveredCount = Math.max(0, this.childHoveredCount - 1);\n if (this.childHoveredCount === 0 && this.isPointerInside(this.el)) {\n this.setImageHovered(true);\n }\n };\n\n private isPointerInside(element: HTMLElement): boolean {\n const rect = element.getBoundingClientRect();\n const { left, top, right, bottom } = rect;\n const { clientX, clientY } = window as any;\n return clientX >= left && clientX <= right && clientY >= top && clientY <= bottom;\n }\n\n private checkForImage() {\n requestAnimationFrame(() => {\n const imageElement = this.el.querySelector('spw-card-image');\n const contentElement = this.el.querySelector('spw-card-content');\n this.hasImage = !!imageElement;\n if (!this.hasImage) {\n contentElement?.classList.add('--no-image');\n }\n });\n }\n\n private formatDate(date?: string): any[] {\n if (!date) return [];\n const parts = date.split('/');\n return parts.flatMap((part, index) => (index < parts.length - 1 ? [<span>{part}</span>, <span>/</span>] : [<span>{part}</span>]));\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const contentElement = this.el.querySelector('spw-card-content');\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n const excerptElement = this.el.querySelector('spw-card-excerpt');\n const subtagsElement = this.el.querySelector('spw-card-subtags');\n\n contentElement?.classList.add(variantClass);\n imageElement?.classList.add(variantClass);\n titleElement?.classList.add(variantClass);\n excerptElement?.classList.add(variantClass);\n subtagsElement?.classList.add(variantClass);\n });\n }\n\n private setImageHovered(isHovered: boolean) {\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n if (imageElement && this.href) {\n imageElement.classList.toggle('--hovered', isHovered);\n }\n if (titleElement && this.href) {\n titleElement.classList.toggle('--hovered', isHovered);\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-card': true,\n 'spw-card--hoverable': !!this.href,\n 'spw-card--no-image': !this.hasImage,\n [`spw-card--${this.variant}`]: true,\n };\n }\n\n render() {\n const { href, rel, target, dateStart, dateEnd, variant } = this;\n const TagType = this.href === undefined ? 'div' : 'a';\n const attrs =\n TagType === 'div'\n ? {}\n : {\n href,\n rel,\n target,\n };\n\n const ariaAttributes = {\n 'aria-label': this?.accAriaLabel,\n 'aria-disabled': this.disabled ? 'true' : null,\n };\n\n return (\n <Host class={{ '--is-full-height': this.fullHeight }}>\n <article class={this.elementClass}>\n {variant === 'event' && (\n <TagType {...attrs} class=\"spw-card__dates\">\n {dateStart && <div class=\"spw-card__date-item\">{this.formatDate(dateStart)}</div>}\n {dateEnd && <div class=\"spw-card__date-item\">{this.formatDate(dateEnd)}</div>}\n </TagType>\n )}\n <TagType {...attrs} {...ariaAttributes} class=\"spw-card__link\">\n <slot></slot>\n </TagType>\n </article>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"spw-card.entry.cjs.js","sources":["src/components/spw-card/spw-card.scss?tag=spw-card&encapsulation=shadow","src/components/spw-card/spw-card.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n width: 100%;\n &[data-modal-trigger] {\n cursor: pointer;\n }\n}\n\n:host(.--is-full-height) {\n height: 100%;\n}\n\n.spw-card {\n display: block;\n border-radius: 5px;\n background: var(--spw-ds-white);\n box-shadow: var(--spw-effect-elevation-2);\n transition: all 0.3s ease-in-out;\n\n :host(.--is-full-height) & {\n height: 100%;\n }\n\n &--hoverable:hover {\n box-shadow: var(--spw-effect-elevation-4);\n transform: translateY(-5px);\n }\n\n &__dates {\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n flex-direction: column;\n line-height: 1.1;\n width: 80px;\n height: 80px;\n text-align: center;\n color: white;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--spw-ds-primary);\n border-radius: 50%;\n font-size: 18px;\n text-decoration: none;\n }\n &__date-item {\n span:first-of-type {\n font-weight: bold;\n }\n }\n}\n\n.spw-card__link {\n display: block;\n height: 100%;\n width: 100%;\n color: inherit;\n text-decoration: none;\n\n .spw-card--no-image & {\n padding-top: 15px;\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n border-radius: 5px;\n }\n}\n\n.spw-card--vertical,\n.spw-card--video {\n .spw-card__link {\n display: flex;\n min-height: 240px;\n }\n}\n\n.spw-card--sidebar {\n box-shadow: none;\n &:hover {\n box-shadow: none;\n }\n .spw-card__link {\n display: flex;\n gap: 16px;\n }\n}\n\n.spw-card--event {\n position: relative;\n width: calc(100% - 40px);\n left: 40px;\n}\n","import { Element, Listen, State, Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card',\n styleUrl: 'spw-card.scss',\n shadow: true,\n})\nexport class SpwCard {\n @Element() el: HTMLSpwCardElement;\n @State() hasImage: boolean = false;\n\n /** Type de variante de carte */\n @Prop() variant?: 'news' | 'vertical' | 'video' | 'event' | 'sidebar' = 'news';\n /** Type d'élément du bouton */\n @Prop() elementType: string = 'a';\n /** Spécifie le lien si nécessaire */\n @Prop() href?: string;\n /** Attribut target, s'applique uniquement si href est rempli */\n @Prop() target: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Définir une date de début si la carte est un évènement */\n @Prop() dateStart?: string;\n /** Définir une date de fin si la carte est un évènement */\n @Prop() dateEnd?: string;\n\n /** Si vrai, les cartes ont la même hauteur */\n @Prop() fullHeight: boolean = false;\n /** Si désactivée, la carte n'est pas utilisable */\n @Prop() disabled: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n\n componentWillLoad() {\n this.checkForImage();\n this.applyVariantToChildren();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.checkForImage();\n this.applyVariantToChildren();\n }\n\n @Listen('mouseenter')\n onMouseEnter() {\n this.setImageHovered(true);\n }\n\n @Listen('mouseleave')\n onMouseLeave() {\n this.setImageHovered(false);\n }\n\n private checkForImage() {\n requestAnimationFrame(() => {\n const imageElement = this.el.querySelector('spw-card-image');\n const contentElement = this.el.querySelector('spw-card-content');\n this.hasImage = !!imageElement;\n if (!this.hasImage) {\n contentElement.classList.add('--no-image');\n }\n });\n }\n\n private formatDate(date?: string): any[] {\n if (!date) return [];\n const parts = date.split('/');\n return parts.flatMap((part, index) => (index < parts.length - 1 ? [<span>{part}</span>, <span>/</span>] : [<span>{part}</span>]));\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const contentElement = this.el.querySelector('spw-card-content');\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n const excerptElement = this.el.querySelector('spw-card-excerpt');\n const subtagsElement = this.el.querySelector('spw-card-subtags');\n\n contentElement && contentElement.classList.add(variantClass);\n imageElement && imageElement.classList.add(variantClass);\n titleElement && titleElement.classList.add(variantClass);\n excerptElement && excerptElement.classList.add(variantClass);\n subtagsElement && subtagsElement.classList.add(variantClass);\n });\n }\n\n private setImageHovered(isHovered: boolean) {\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n if (imageElement && this.href) {\n imageElement.classList.toggle('--hovered', isHovered);\n }\n if (titleElement && this.href) {\n titleElement.classList.toggle('--hovered', isHovered);\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-card': true,\n 'spw-card--hoverable': !!this.href,\n 'spw-card--no-image': !this.hasImage,\n [`spw-card--${this.variant}`]: true,\n };\n }\n\n render() {\n const { href, rel, target, dateStart, dateEnd, variant } = this;\n const TagType = this.href === undefined ? 'div' : 'a';\n const attrs =\n TagType === 'div'\n ? {}\n : {\n href,\n rel,\n target,\n };\n\n const ariaAttributes = {\n 'aria-label': this?.accAriaLabel,\n 'aria-disabled': this.disabled ? 'true' : null,\n };\n\n return (\n <Host class={{ '--is-full-height': this.fullHeight }}>\n <article class={this.elementClass}>\n {variant === 'event' && (\n <TagType {...attrs} class=\"spw-card__dates\">\n {dateStart && <div class=\"spw-card__date-item\">{this.formatDate(dateStart)}</div>}\n {dateEnd && <div class=\"spw-card__date-item\">{this.formatDate(dateEnd)}</div>}\n </TagType>\n )}\n <TagType {...attrs} {...ariaAttributes} class=\"spw-card__link\">\n <slot></slot>\n </TagType>\n </article>\n </Host>\n );\n }\n}\n"],"names":["index","h","Host"],"mappings":"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"}
1
+ {"version":3,"file":"spw-card.entry.cjs.js","sources":["src/components/spw-card/spw-card.scss?tag=spw-card&encapsulation=shadow","src/components/spw-card/spw-card.tsx"],"sourcesContent":[":host {\n display: block;\n position: relative;\n width: 100%;\n --spw-card-background: var(--spw-ds-white);\n --spw-card-box-shadow: var(--spw-effect-elevation-6);\n --spw-card-border: none;\n &[data-modal-trigger] {\n cursor: pointer;\n }\n}\n\n:host(.--is-full-height) {\n height: 100%;\n}\n\n.spw-card {\n display: block;\n border-radius: 5px;\n background: var(--spw-card-background);\n box-shadow: var(--spw-card-box-shadow);\n border: var(--spw-card-border);\n transition: all 0.3s ease-in-out;\n\n :host(.--is-full-height) & {\n height: 100%;\n }\n\n &--hoverable:hover {\n box-shadow: var(--spw-effect-elevation-4);\n transform: translateY(-5px);\n }\n\n &__dates {\n cursor: pointer;\n position: absolute;\n top: 50%;\n left: 0;\n transform: translate(-50%, -50%);\n flex-direction: column;\n line-height: 1.1;\n width: 80px;\n height: 80px;\n text-align: center;\n color: white;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background: var(--spw-ds-primary);\n border-radius: 50%;\n font-size: 18px;\n text-decoration: none;\n z-index: 2;\n }\n &__date-item {\n span:first-of-type {\n font-weight: bold;\n }\n }\n}\n\n.spw-card__link {\n display: block;\n height: 100%;\n width: 100%;\n color: inherit;\n text-decoration: none;\n\n .spw-card--no-image & {\n padding-top: 15px;\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n border-radius: 5px;\n }\n}\n\n.spw-card--vertical,\n.spw-card--video {\n .spw-card__link {\n display: flex;\n min-height: 240px;\n }\n}\n\n.spw-card--event {\n .spw-card__link {\n display: flex;\n }\n}\n\n.spw-card--sidebar {\n box-shadow: none;\n &:hover {\n box-shadow: none;\n }\n .spw-card__link {\n display: flex;\n gap: 16px;\n }\n}\n\n.spw-card--event {\n position: relative;\n width: calc(100% - 40px);\n left: 40px;\n}\n","import { Element, Listen, State, Component, Prop, Host, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-card',\n styleUrl: 'spw-card.scss',\n shadow: true,\n})\nexport class SpwCard {\n @Element() el: HTMLSpwCardElement;\n @State() hasImage: boolean = false;\n private childHoveredCount = 0; // <-- Ajouté : pour suivre le nombre de sous-cartes survolées\n\n /** Type de variante de carte */\n @Prop() variant?: 'news' | 'vertical' | 'video' | 'event' | 'sidebar' | 'people' = 'news';\n /** Type d'élément du bouton */\n @Prop() elementType: string = 'a';\n /** Spécifie le lien si nécessaire */\n @Prop() href?: string;\n /** Attribut target, s'applique uniquement si href est rempli */\n @Prop() target: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Définir une date de début si la carte est un évènement */\n @Prop() dateStart?: string;\n /** Définir une date de fin si la carte est un évènement */\n @Prop() dateEnd?: string;\n\n /** Si vrai, les cartes ont la même hauteur */\n @Prop() fullHeight: boolean = false;\n /** Si désactivée, la carte n'est pas utilisable */\n @Prop() disabled: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n\n componentWillLoad() {\n this.checkForImage();\n this.applyVariantToChildren();\n this.attachNestedCardListeners();\n }\n\n @Listen('slotchange')\n slotChanged() {\n this.checkForImage();\n this.applyVariantToChildren();\n this.attachNestedCardListeners();\n }\n\n @Listen('mouseenter')\n onMouseEnter() {\n if (this.childHoveredCount === 0) {\n this.setImageHovered(true);\n }\n }\n\n @Listen('mouseleave')\n onMouseLeave() {\n this.setImageHovered(false);\n }\n\n private attachNestedCardListeners() {\n requestAnimationFrame(() => {\n const nestedCards = this.el.querySelectorAll('spw-card');\n\n nestedCards.forEach(card => {\n card.addEventListener('mouseenter', this.onNestedCardEnter.bind(this), true);\n card.addEventListener('mouseleave', this.onNestedCardLeave.bind(this), true);\n });\n });\n }\n\n private onNestedCardEnter = () => {\n this.childHoveredCount++;\n this.setImageHovered(false);\n };\n\n private onNestedCardLeave = () => {\n this.childHoveredCount = Math.max(0, this.childHoveredCount - 1);\n if (this.childHoveredCount === 0 && this.isPointerInside(this.el)) {\n this.setImageHovered(true);\n }\n };\n\n private isPointerInside(element: HTMLElement): boolean {\n const rect = element.getBoundingClientRect();\n const { left, top, right, bottom } = rect;\n const { clientX, clientY } = window as any;\n return clientX >= left && clientX <= right && clientY >= top && clientY <= bottom;\n }\n\n private checkForImage() {\n requestAnimationFrame(() => {\n const imageElement = this.el.querySelector('spw-card-image');\n const contentElement = this.el.querySelector('spw-card-content');\n this.hasImage = !!imageElement;\n if (!this.hasImage) {\n contentElement?.classList.add('--no-image');\n }\n });\n }\n\n private formatDate(date?: string): any[] {\n if (!date) return [];\n const parts = date.split('/');\n return parts.flatMap((part, index) => (index < parts.length - 1 ? [<span>{part}</span>, <span>/</span>] : [<span>{part}</span>]));\n }\n\n private applyVariantToChildren() {\n requestAnimationFrame(() => {\n const variantClass = `--${this.variant}`;\n const contentElement = this.el.querySelector('spw-card-content');\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n const excerptElement = this.el.querySelector('spw-card-excerpt');\n const subtagsElement = this.el.querySelector('spw-card-subtags');\n\n contentElement?.classList.add(variantClass);\n imageElement?.classList.add(variantClass);\n titleElement?.classList.add(variantClass);\n excerptElement?.classList.add(variantClass);\n subtagsElement?.classList.add(variantClass);\n });\n }\n\n private setImageHovered(isHovered: boolean) {\n const imageElement = this.el.querySelector('spw-card-image');\n const titleElement = this.el.querySelector('spw-card-title');\n if (imageElement && this.href) {\n imageElement.classList.toggle('--hovered', isHovered);\n }\n if (titleElement && this.href) {\n titleElement.classList.toggle('--hovered', isHovered);\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-card': true,\n 'spw-card--hoverable': !!this.href,\n 'spw-card--no-image': !this.hasImage,\n [`spw-card--${this.variant}`]: true,\n };\n }\n\n render() {\n const { href, rel, target, dateStart, dateEnd, variant } = this;\n const TagType = this.href === undefined ? 'div' : 'a';\n const attrs =\n TagType === 'div'\n ? {}\n : {\n href,\n rel,\n target,\n };\n\n const ariaAttributes = {\n 'aria-label': this?.accAriaLabel,\n 'aria-disabled': this.disabled ? 'true' : null,\n };\n\n return (\n <Host class={{ '--is-full-height': this.fullHeight }}>\n <article class={this.elementClass}>\n {variant === 'event' && (\n <TagType {...attrs} class=\"spw-card__dates\">\n {dateStart && <div class=\"spw-card__date-item\">{this.formatDate(dateStart)}</div>}\n {dateEnd && <div class=\"spw-card__date-item\">{this.formatDate(dateEnd)}</div>}\n </TagType>\n )}\n <TagType {...attrs} {...ariaAttributes} class=\"spw-card__link\">\n <slot></slot>\n </TagType>\n </article>\n </Host>\n );\n }\n}\n"],"names":["index","h","Host"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-iVhYitTd.js');
4
4
 
5
- const spwCheckboxCss = "/*! 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-ds-checkbox-checked-color:var(--spw-ds-primary);box-sizing:border-box;display:inline-flex;font-size:100%;line-height:1.3;vertical-align:top}: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-checkbox{align-items:flex-start;display:inline-flex;flex-direction:row;padding:0}.spw-checkbox__wrapper{align-items:center;background-color:var(--spw-ds-white);border:2px solid var(--spw-color-themes-grey-grey-900);border-radius:var(--spw-spacings-border-radius-2-xs);display:flex;flex:none;flex-grow:0;font-size:var(--spw-typography-body-body-3-font-size);height:20px;justify-content:center;order:0;position:relative;width:20px}.spw-checkbox__wrapper spw-icon{font-size:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.spw-checkbox__wrapper--error{border-color:var(--spw-colors-dark-states-error-error-300)}.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):active,.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):focus-visible,.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):focus-within{box-shadow:0 0 0 4px #000;outline:2px solid #fff;outline-offset:0}.spw-checkbox__wrapper--disabled{border-color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper--checked{border-color:var(--spw-ds-checkbox-checked-color);color:var(--spw-ds-checkbox-checked-color)}.spw-checkbox__wrapper--checked--disabled{color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper--toggle{background:var(--spw-color-themes-grey-grey-500);border-color:var(--spw-color-themes-grey-grey-500);border-radius:40px;height:20px;width:32px}.spw-checkbox__wrapper--toggle spw-icon{line-height:0;opacity:0;transition:all .2s ease .3s}.spw-checkbox__wrapper--toggle:before{background:#fff;border-radius:50%;content:\"\";height:14px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:14px}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle{background:var(--spw-ds-checkbox-checked-color);border-color:var(--spw-ds-checkbox-checked-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:before{background:#fff;left:calc(100% - 16px)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle spw-icon{color:var(--spw-ds-checkbox-checked-color);display:block;font-size:10px;margin-left:5px}.spw-checkbox__wrapper.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled{background:#fff;border-color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled:before{background:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__label{word-wrap:break-word;color:var(--spw-color-themes-grey-grey-900);order:1;padding-left:var(--spw-spacings-spacing-sm);padding-top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-checkbox__label:hover~.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled){outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-checkbox__label:active~.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled){box-shadow:0 0 0 4px #000;outline:2px solid #fff;outline-offset:0}.spw-checkbox__label--disabled{color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__label:hover,.spw-checkbox__wrapper:hover{cursor:pointer}.spw-checkbox__label--disabled:hover,.spw-checkbox__wrapper--disabled:hover{cursor:not-allowed}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}.spw-tw-mr-2{margin-right:.5rem}";
5
+ const spwCheckboxCss = "/*! 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-ds-checkbox-checked-color:var(--spw-ds-primary);--spw-ds-checkbox-checked-active-color:var(--spw-ds-active);--spw-ds-checkbox-checked-hover-color:var(--spw-ds-variant);box-sizing:border-box;display:inline-flex;font-size:100%;line-height:1.3;vertical-align:top}: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-checkbox{align-items:flex-start;display:inline-flex;flex-direction:row;padding:0}.spw-checkbox__wrapper{align-items:center;background-color:var(--spw-ds-white);border:2px solid var(--spw-color-themes-grey-grey-900);border-radius:var(--spw-spacings-border-radius-2-xs);display:flex;flex:none;flex-grow:0;font-size:var(--spw-typography-body-body-3-font-size);height:20px;justify-content:center;order:0;position:relative;width:20px}.spw-checkbox__wrapper spw-icon{font-size:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.spw-checkbox__wrapper--error{border-color:var(--spw-colors-dark-states-error-error-300)}.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):active,.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):focus-visible,.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):focus-within{box-shadow:0 0 0 4px #000;outline:2px solid #fff;outline-offset:0}.spw-checkbox__wrapper--disabled{border-color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper--checked{border-color:var(--spw-ds-checkbox-checked-color);color:var(--spw-ds-checkbox-checked-color)}.spw-checkbox__wrapper--checked--disabled{color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper--toggle{background:var(--spw-color-themes-grey-grey-500);border:none;border-radius:40px;height:18px;top:1px;transition:background .2s ease;width:30px}.spw-checkbox__wrapper--toggle:hover{background:var(--spw-color-themes-grey-grey-600)}.spw-checkbox__wrapper--toggle:active{background:var(--spw-color-themes-grey-grey-800)}.spw-checkbox__wrapper--toggle spw-icon{line-height:0;margin-left:15px;opacity:0;transition:all .2s ease .3s;transition:all .2s ease}.spw-checkbox__wrapper--toggle:before{background:#fff;border-radius:50%;content:\"\";height:14px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:14px}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle{background:var(--spw-ds-checkbox-checked-color);color:var(--spw-ds-checkbox-checked-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:before{background:#fff;left:calc(100% - 16px)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle spw-icon{font-size:10px;margin-left:6px;opacity:1}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled):hover{background:var(--spw-ds-checkbox-checked-hover-color);color:var(--spw-ds-checkbox-checked-hover-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled):active{background:var(--spw-ds-checkbox-checked-active-color);color:var(--spw-ds-checkbox-checked-active-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled{background:#fff;border-color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled:before{background:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__label{word-wrap:break-word;color:var(--spw-color-themes-grey-grey-900);order:1;padding-left:var(--spw-spacings-spacing-sm);padding-top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-checkbox__label:hover~.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled){outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-checkbox__label:active~.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled){box-shadow:0 0 0 4px #000;outline:2px solid #fff;outline-offset:0}.spw-checkbox__label--disabled{color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__label:hover,.spw-checkbox__wrapper:hover{cursor:pointer}.spw-checkbox__label--disabled:hover,.spw-checkbox__wrapper--disabled:hover{cursor:not-allowed}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}.spw-tw-mr-2{margin-right:.5rem}";
6
6
 
7
7
  const SpwCheckbox = class {
8
8
  constructor(hostRef) {
@@ -89,7 +89,7 @@ const SpwCheckbox = class {
89
89
  render() {
90
90
  const slot = this.el.innerHTML;
91
91
  const hasSlot = Boolean(slot);
92
- return (index.h("div", { key: '51a08401d10268179bf2c4cb7724c16c429f59f6', class: "spw-checkbox" }, index.h("input", { key: 'b667048ec9264d847c11adc97c14b46c46996d1d', type: "checkbox", ref: el => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleCheckbox.bind(this), name: this.name, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (index.h("label", { key: '03ccc8358b7d53064db1486fdd3b774adc682667', htmlFor: this.name, class: `spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`, onClick: this.handleCheckbox.bind(this) }, index.h("slot", { key: '2f6b5d7a74f9c41bf91ed9f482fd67e9596f6d72' }))), index.h("div", { key: '5bd4f661b54525388bb2f3b554de712775197833', tabindex: this.disabled ? -1 : 0, onClick: this.handleCheckbox.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "checkbox", "aria-checked": this.internalChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": "label", class: this.elementClass }, this.internalChecked && index.h("spw-icon", { key: 'aec767de94d5fe31cb9fad4f124fb0a7eada5810', icon: this.icon }))));
92
+ return (index.h("div", { key: '346a6a165000a9fac29cfcf8fb742dc3871d07c2', class: "spw-checkbox" }, index.h("input", { key: 'a10fc25d9dc9e2281d945f686f91cf004ad63076', type: "checkbox", ref: el => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleCheckbox.bind(this), name: this.name, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (index.h("label", { key: '4666d69baa172d4a9f81ed2fc17edda8faea3d56', htmlFor: this.name, class: `spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`, onClick: this.handleCheckbox.bind(this) }, index.h("slot", { key: '31f0458f49a806820c4f4d7411a9b02045ebc9a6' }))), index.h("div", { key: 'a537f489f207f9ccfcc933b57a58d5891fdcbe2b', tabindex: this.disabled ? -1 : 0, onClick: this.handleCheckbox.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "checkbox", "aria-checked": this.internalChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": "label", class: this.elementClass }, this.internalChecked && index.h("spw-icon", { key: '39ba0368fca18e58d613e1232a5c77fa1d7dc4e6', icon: this.icon }))));
93
93
  }
94
94
  static get formAssociated() { return true; }
95
95
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"file":"spw-checkbox.entry.cjs.js","mappings":"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","names":["h"],"sources":["src/components/spw-checkbox/spw-checkbox.scss?tag=spw-checkbox&encapsulation=shadow","src/components/spw-checkbox/spw-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n vertical-align: top;\n --spw-ds-checkbox-checked-color: var(--spw-ds-primary);\n}\n\n.spw-checkbox {\n display: inline-flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0;\n\n &__wrapper {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n background-color: var(--spw-ds-white);\n border: 2px solid var(--spw-color-themes-grey-grey-900);\n border-radius: var(--spw-spacings-border-radius-2-xs);\n font-size: var(--spw-typography-body-body-3-font-size);\n flex: none;\n order: 0;\n flex-grow: 0;\n\n spw-icon {\n font-size: 14px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n &--error {\n border-color: var(--spw-colors-dark-states-error-error-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):focus-visible,\n &:not(.spw-checkbox__wrapper--disabled):active,\n &:not(.spw-checkbox__wrapper--disabled):focus-within,\n &:not(.spw-checkbox__wrapper--disabled):active {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n\n &--checked {\n border-color: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &--toggle {\n width: 32px;\n height: 20px;\n border-radius: 40px;\n border-color: var(--spw-color-themes-grey-grey-500);\n background: var(--spw-color-themes-grey-grey-500);\n // transition: border-color 0.2s ease;\n spw-icon {\n opacity: 0;\n line-height: 0;\n transition: all 0.2s 0.3s ease;\n }\n &:before {\n content: '';\n position: absolute;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n top: 50%;\n left: 2px;\n transform: translateY(-50%);\n transition: all 0.2s ease;\n }\n }\n &.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle {\n border-color: var(--spw-ds-checkbox-checked-color);\n background: var(--spw-ds-checkbox-checked-color);\n &:before {\n left: calc(100% - 16px);\n background: white;\n }\n spw-icon {\n display: block;\n color: var(--spw-ds-checkbox-checked-color);\n font-size: 10px;\n margin-left: 5px;\n // opacity: 1;\n }\n }\n &.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n background: white;\n &:before {\n background: var(--spw-color-themes-grey-grey-500);\n }\n }\n }\n\n &__label {\n color: var(--spw-color-themes-grey-grey-900);\n word-wrap: break-word;\n order: 1;\n padding-top: 1px;\n user-select: none;\n padding-left: var(--spw-spacings-spacing-sm);\n\n &:hover ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:active ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &__wrapper,\n &__label {\n &:hover {\n cursor: pointer;\n }\n &--disabled:hover {\n cursor: not-allowed;\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'spw-checkbox',\n styleUrl: 'spw-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwCheckbox {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwCheckboxElement;\n\n /** Détermine si la case à cocher est désactivée, rendant l'élément inutilisable */\n @Prop() disabled: boolean = false;\n /** Propriété mutable qui reflète si la case à cocher est cochée ou non */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n /** Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel */\n @Prop() error: boolean = false;\n /** Icône à afficher lorsque la case à cocher est cochée */\n @Prop() icon: string = 'fa-check';\n /** Nom de l'élément utilisé dans les formulaires */\n @Prop() name: string;\n /** Type de variant pour la checkbox */\n @Prop() variant?: 'default' | 'toggle' = 'default';\n\n @State() internalChecked: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement déclenché lors d'un changement d'état de la case à cocher (cochée ou décochée) */\n @Event({ bubbles: true, composed: true }) spwChange: EventEmitter<boolean>;\n\n private handleCheckbox() {\n if (!this.disabled) {\n this.internalChecked = !this.internalChecked;\n this.checked = this.internalChecked;\n this.updateFormValue();\n this.spwChange.emit(this.internalChecked);\n }\n }\n\n /** Méthode publique pour changer l'état de la case à cocher. */\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n this.checked = newVal;\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged(newChecked: boolean) {\n this.internalChecked = newChecked;\n this.inputElement.checked = newChecked;\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (this.internalChecked) {\n this.internals.setFormValue('on');\n } else {\n this.internals.setFormValue(null);\n }\n }\n\n private handleKeydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n // Space or Enter keys\n this.handleCheckbox();\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.updateFormValue();\n }\n\n componentDidLoad() {\n this.el.closest('form')?.addEventListener('formdata', (e: FormDataEvent) => {\n if (this.internalChecked) {\n e.formData.set(this.name, 'on');\n }\n });\n }\n\n formResetCallback() {\n this.internalChecked = false;\n this.checked = false;\n this.updateFormValue();\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-checkbox__wrapper': true,\n [`spw-checkbox__wrapper--${this.variant}`]: true,\n 'spw-checkbox__wrapper--disabled': this.disabled,\n 'spw-checkbox__wrapper--checked': this.internalChecked,\n 'spw-checkbox__wrapper--error': this.error,\n };\n }\n\n render() {\n const slot = this.el.innerHTML;\n const hasSlot = Boolean(slot);\n\n return (\n <div class=\"spw-checkbox\">\n <input\n type=\"checkbox\"\n ref={el => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)}\n name={this.name}\n disabled={this.disabled}\n style={{ display: 'none' }}\n />\n {hasSlot && (\n <label htmlFor={this.name} class={`spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </label>\n )}\n <div\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.internalChecked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-labelledby=\"label\"\n class={this.elementClass}\n >\n {this.internalChecked && <spw-icon icon={this.icon}></spw-icon>}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"spw-checkbox.entry.cjs.js","mappings":";;;;AAAA,MAAM,cAAc,GAAG,kvNAAkvN;;MCQ5vN,WAAW,GAAA,MAAA;AANxB,IAAA,WAAA,CAAA,OAAA,EAAA;;;;;;;;;;;AAYU,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;;AAEO,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;;AAExD,QAAA,IAAK,CAAA,KAAA,GAAY,KAAK;;AAEtB,QAAA,IAAI,CAAA,IAAA,GAAW,UAAU;;AAIzB,QAAA,IAAO,CAAA,OAAA,GAA0B,SAAS;AAiHnD;IAxGS,cAAc,GAAA;AACpB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAClB,YAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe;AAC5C,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe;YACnC,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;;;;IAM7C,MAAM,kBAAkB,CAAC,MAAe,EAAA;AACtC,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM;AAC7B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM;QACrB,IAAI,CAAC,eAAe,EAAE;;AAIxB,IAAA,cAAc,CAAC,UAAmB,EAAA;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,UAAU;AACjC,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,UAAU;QACtC,IAAI,CAAC,eAAe,EAAE;;IAGhB,eAAe,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;;aAC5B;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;;;AAI7B,IAAA,aAAa,CAAC,KAAK,EAAA;AACzB,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;;YAE9C,IAAI,CAAC,cAAc,EAAE;YACrB,KAAK,CAAC,cAAc,EAAE;;;IAI1B,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO;QACnC,IAAI,CAAC,eAAe,EAAE;;IAGxB,gBAAgB,GAAA;;AACd,QAAA,CAAA,EAAA,GAAA,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAgB,KAAI;AACzE,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;;AAEnC,SAAC,CAAC;;IAGJ,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QACpB,IAAI,CAAC,eAAe,EAAE;;AAGxB,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,CAAC,0BAA0B,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;YAChD,iCAAiC,EAAE,IAAI,CAAC,QAAQ;YAChD,gCAAgC,EAAE,IAAI,CAAC,eAAe;YACtD,8BAA8B,EAAE,IAAI,CAAC,KAAK;SAC3C;;IAGH,MAAM,GAAA;AACJ,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS;AAC9B,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;AAE7B,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,cAAc,EAAA,EACvBA,OACE,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EACf,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EACnC,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAC1B,CAAA,EACD,OAAO,KACNA,OAAO,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAA,oBAAA,EAAuB,IAAI,CAAC,QAAQ,GAAG,+BAA+B,GAAG,EAAE,CAAA,CAAE,EAAE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA,EACtJA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAQ,CACF,CACT,EACDA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,EAChC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACvC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxC,IAAI,EAAC,UAAU,kBACD,IAAI,CAAC,eAAe,GAAG,MAAM,GAAG,OAAO,EACtC,eAAA,EAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,GAAG,OAAO,EAC/B,iBAAA,EAAA,OAAO,EACvB,KAAK,EAAE,IAAI,CAAC,YAAY,EAEvB,EAAA,IAAI,CAAC,eAAe,IAAIA,uEAAU,IAAI,EAAE,IAAI,CAAC,IAAI,GAAa,CAC3D,CACF;;;;;;;;;;;;","names":["h"],"sources":["src/components/spw-checkbox/spw-checkbox.scss?tag=spw-checkbox&encapsulation=shadow","src/components/spw-checkbox/spw-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n vertical-align: top;\n --spw-ds-checkbox-checked-color: var(--spw-ds-primary);\n --spw-ds-checkbox-checked-active-color: var(--spw-ds-active);\n --spw-ds-checkbox-checked-hover-color: var(--spw-ds-variant);\n}\n\n.spw-checkbox {\n display: inline-flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0;\n\n &__wrapper {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n background-color: var(--spw-ds-white);\n border: 2px solid var(--spw-color-themes-grey-grey-900);\n border-radius: var(--spw-spacings-border-radius-2-xs);\n font-size: var(--spw-typography-body-body-3-font-size);\n flex: none;\n order: 0;\n flex-grow: 0;\n\n spw-icon {\n font-size: 14px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n &--error {\n border-color: var(--spw-colors-dark-states-error-error-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):focus-visible,\n &:not(.spw-checkbox__wrapper--disabled):active,\n &:not(.spw-checkbox__wrapper--disabled):focus-within,\n &:not(.spw-checkbox__wrapper--disabled):active {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n\n &--checked {\n border-color: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &--toggle {\n top: 1px;\n width: 30px;\n height: 18px;\n border-radius: 40px;\n border: none;\n background: var(--spw-color-themes-grey-grey-500);\n transition: background 0.2s ease;\n &:hover {\n background: var(--spw-color-themes-grey-grey-600);\n }\n &:active {\n background: var(--spw-color-themes-grey-grey-800);\n }\n spw-icon {\n opacity: 0;\n line-height: 0;\n transition: all 0.2s 0.3s ease;\n margin-left: 15px;\n transition: all 0.2s ease;\n }\n &:before {\n content: '';\n position: absolute;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n top: 50%;\n left: 2px;\n transform: translateY(-50%);\n transition: all 0.2s ease;\n }\n }\n &.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle {\n background: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n &:before {\n left: calc(100% - 16px);\n background: white;\n }\n spw-icon {\n font-size: 10px;\n margin-left: 6px;\n opacity: 1;\n }\n &:not(.spw-checkbox__wrapper--disabled):hover {\n background: var(--spw-ds-checkbox-checked-hover-color);\n color: var(--spw-ds-checkbox-checked-hover-color);\n }\n &:not(.spw-checkbox__wrapper--disabled):active {\n background: var(--spw-ds-checkbox-checked-active-color);\n color: var(--spw-ds-checkbox-checked-active-color);\n }\n }\n &.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n background: white;\n &:before {\n background: var(--spw-color-themes-grey-grey-500);\n }\n }\n }\n\n &__label {\n color: var(--spw-color-themes-grey-grey-900);\n word-wrap: break-word;\n order: 1;\n padding-top: 1px;\n user-select: none;\n padding-left: var(--spw-spacings-spacing-sm);\n\n &:hover ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n // &:hover ~ .spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-color-themes-grey-grey-600);\n // color: var(--spw-color-themes-grey-grey-600);\n // }\n\n // &:active ~ .spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-color-themes-grey-grey-800);\n // color: var(--spw-color-themes-grey-grey-800);\n // }\n\n // &:hover ~ .spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--checked:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-ds-checkbox-checked-hover-color);\n // color: var(--spw-ds-checkbox-checked-hover-color);\n // }\n\n // &:active ~ .spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--checked:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-ds-checkbox-checked-active-color);\n // color: var(--spw-ds-checkbox-checked-active-color);\n // }\n\n &:active ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &__wrapper,\n &__label {\n &:hover {\n cursor: pointer;\n }\n &--disabled:hover {\n cursor: not-allowed;\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'spw-checkbox',\n styleUrl: 'spw-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwCheckbox {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwCheckboxElement;\n\n /** Détermine si la case à cocher est désactivée, rendant l'élément inutilisable */\n @Prop() disabled: boolean = false;\n /** Propriété mutable qui reflète si la case à cocher est cochée ou non */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n /** Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel */\n @Prop() error: boolean = false;\n /** Icône à afficher lorsque la case à cocher est cochée */\n @Prop() icon: string = 'fa-check';\n /** Nom de l'élément utilisé dans les formulaires */\n @Prop() name: string;\n /** Type de variant pour la checkbox */\n @Prop() variant?: 'default' | 'toggle' = 'default';\n\n @State() internalChecked: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement déclenché lors d'un changement d'état de la case à cocher (cochée ou décochée) */\n @Event({ bubbles: true, composed: true }) spwChange: EventEmitter<boolean>;\n\n private handleCheckbox() {\n if (!this.disabled) {\n this.internalChecked = !this.internalChecked;\n this.checked = this.internalChecked;\n this.updateFormValue();\n this.spwChange.emit(this.internalChecked);\n }\n }\n\n /** Méthode publique pour changer l'état de la case à cocher. */\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n this.checked = newVal;\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged(newChecked: boolean) {\n this.internalChecked = newChecked;\n this.inputElement.checked = newChecked;\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (this.internalChecked) {\n this.internals.setFormValue('on');\n } else {\n this.internals.setFormValue(null);\n }\n }\n\n private handleKeydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n // Space or Enter keys\n this.handleCheckbox();\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.updateFormValue();\n }\n\n componentDidLoad() {\n this.el.closest('form')?.addEventListener('formdata', (e: FormDataEvent) => {\n if (this.internalChecked) {\n e.formData.set(this.name, 'on');\n }\n });\n }\n\n formResetCallback() {\n this.internalChecked = false;\n this.checked = false;\n this.updateFormValue();\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-checkbox__wrapper': true,\n [`spw-checkbox__wrapper--${this.variant}`]: true,\n 'spw-checkbox__wrapper--disabled': this.disabled,\n 'spw-checkbox__wrapper--checked': this.internalChecked,\n 'spw-checkbox__wrapper--error': this.error,\n };\n }\n\n render() {\n const slot = this.el.innerHTML;\n const hasSlot = Boolean(slot);\n\n return (\n <div class=\"spw-checkbox\">\n <input\n type=\"checkbox\"\n ref={el => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)}\n name={this.name}\n disabled={this.disabled}\n style={{ display: 'none' }}\n />\n {hasSlot && (\n <label htmlFor={this.name} class={`spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </label>\n )}\n <div\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.internalChecked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-labelledby=\"label\"\n class={this.elementClass}\n >\n {this.internalChecked && <spw-icon icon={this.icon}></spw-icon>}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"version":3,"file":"spw-checkbox.entry.cjs.js","sources":["src/components/spw-checkbox/spw-checkbox.scss?tag=spw-checkbox&encapsulation=shadow","src/components/spw-checkbox/spw-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n vertical-align: top;\n --spw-ds-checkbox-checked-color: var(--spw-ds-primary);\n}\n\n.spw-checkbox {\n display: inline-flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0;\n\n &__wrapper {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n background-color: var(--spw-ds-white);\n border: 2px solid var(--spw-color-themes-grey-grey-900);\n border-radius: var(--spw-spacings-border-radius-2-xs);\n font-size: var(--spw-typography-body-body-3-font-size);\n flex: none;\n order: 0;\n flex-grow: 0;\n\n spw-icon {\n font-size: 14px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n &--error {\n border-color: var(--spw-colors-dark-states-error-error-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):focus-visible,\n &:not(.spw-checkbox__wrapper--disabled):active,\n &:not(.spw-checkbox__wrapper--disabled):focus-within,\n &:not(.spw-checkbox__wrapper--disabled):active {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n\n &--checked {\n border-color: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &--toggle {\n width: 32px;\n height: 20px;\n border-radius: 40px;\n border-color: var(--spw-color-themes-grey-grey-500);\n background: var(--spw-color-themes-grey-grey-500);\n // transition: border-color 0.2s ease;\n spw-icon {\n opacity: 0;\n line-height: 0;\n transition: all 0.2s 0.3s ease;\n }\n &:before {\n content: '';\n position: absolute;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n top: 50%;\n left: 2px;\n transform: translateY(-50%);\n transition: all 0.2s ease;\n }\n }\n &.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle {\n border-color: var(--spw-ds-checkbox-checked-color);\n background: var(--spw-ds-checkbox-checked-color);\n &:before {\n left: calc(100% - 16px);\n background: white;\n }\n spw-icon {\n display: block;\n color: var(--spw-ds-checkbox-checked-color);\n font-size: 10px;\n margin-left: 5px;\n // opacity: 1;\n }\n }\n &.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n background: white;\n &:before {\n background: var(--spw-color-themes-grey-grey-500);\n }\n }\n }\n\n &__label {\n color: var(--spw-color-themes-grey-grey-900);\n word-wrap: break-word;\n order: 1;\n padding-top: 1px;\n user-select: none;\n padding-left: var(--spw-spacings-spacing-sm);\n\n &:hover ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:active ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &__wrapper,\n &__label {\n &:hover {\n cursor: pointer;\n }\n &--disabled:hover {\n cursor: not-allowed;\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'spw-checkbox',\n styleUrl: 'spw-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwCheckbox {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwCheckboxElement;\n\n /** Détermine si la case à cocher est désactivée, rendant l'élément inutilisable */\n @Prop() disabled: boolean = false;\n /** Propriété mutable qui reflète si la case à cocher est cochée ou non */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n /** Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel */\n @Prop() error: boolean = false;\n /** Icône à afficher lorsque la case à cocher est cochée */\n @Prop() icon: string = 'fa-check';\n /** Nom de l'élément utilisé dans les formulaires */\n @Prop() name: string;\n /** Type de variant pour la checkbox */\n @Prop() variant?: 'default' | 'toggle' = 'default';\n\n @State() internalChecked: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement déclenché lors d'un changement d'état de la case à cocher (cochée ou décochée) */\n @Event({ bubbles: true, composed: true }) spwChange: EventEmitter<boolean>;\n\n private handleCheckbox() {\n if (!this.disabled) {\n this.internalChecked = !this.internalChecked;\n this.checked = this.internalChecked;\n this.updateFormValue();\n this.spwChange.emit(this.internalChecked);\n }\n }\n\n /** Méthode publique pour changer l'état de la case à cocher. */\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n this.checked = newVal;\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged(newChecked: boolean) {\n this.internalChecked = newChecked;\n this.inputElement.checked = newChecked;\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (this.internalChecked) {\n this.internals.setFormValue('on');\n } else {\n this.internals.setFormValue(null);\n }\n }\n\n private handleKeydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n // Space or Enter keys\n this.handleCheckbox();\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.updateFormValue();\n }\n\n componentDidLoad() {\n this.el.closest('form')?.addEventListener('formdata', (e: FormDataEvent) => {\n if (this.internalChecked) {\n e.formData.set(this.name, 'on');\n }\n });\n }\n\n formResetCallback() {\n this.internalChecked = false;\n this.checked = false;\n this.updateFormValue();\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-checkbox__wrapper': true,\n [`spw-checkbox__wrapper--${this.variant}`]: true,\n 'spw-checkbox__wrapper--disabled': this.disabled,\n 'spw-checkbox__wrapper--checked': this.internalChecked,\n 'spw-checkbox__wrapper--error': this.error,\n };\n }\n\n render() {\n const slot = this.el.innerHTML;\n const hasSlot = Boolean(slot);\n\n return (\n <div class=\"spw-checkbox\">\n <input\n type=\"checkbox\"\n ref={el => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)}\n name={this.name}\n disabled={this.disabled}\n style={{ display: 'none' }}\n />\n {hasSlot && (\n <label htmlFor={this.name} class={`spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </label>\n )}\n <div\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.internalChecked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-labelledby=\"label\"\n class={this.elementClass}\n >\n {this.internalChecked && <spw-icon icon={this.icon}></spw-icon>}\n </div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":"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"}
1
+ {"version":3,"file":"spw-checkbox.entry.cjs.js","sources":["src/components/spw-checkbox/spw-checkbox.scss?tag=spw-checkbox&encapsulation=shadow","src/components/spw-checkbox/spw-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n vertical-align: top;\n --spw-ds-checkbox-checked-color: var(--spw-ds-primary);\n --spw-ds-checkbox-checked-active-color: var(--spw-ds-active);\n --spw-ds-checkbox-checked-hover-color: var(--spw-ds-variant);\n}\n\n.spw-checkbox {\n display: inline-flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0;\n\n &__wrapper {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n background-color: var(--spw-ds-white);\n border: 2px solid var(--spw-color-themes-grey-grey-900);\n border-radius: var(--spw-spacings-border-radius-2-xs);\n font-size: var(--spw-typography-body-body-3-font-size);\n flex: none;\n order: 0;\n flex-grow: 0;\n\n spw-icon {\n font-size: 14px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n &--error {\n border-color: var(--spw-colors-dark-states-error-error-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):focus-visible,\n &:not(.spw-checkbox__wrapper--disabled):active,\n &:not(.spw-checkbox__wrapper--disabled):focus-within,\n &:not(.spw-checkbox__wrapper--disabled):active {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n\n &--checked {\n border-color: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &--toggle {\n top: 1px;\n width: 30px;\n height: 18px;\n border-radius: 40px;\n border: none;\n background: var(--spw-color-themes-grey-grey-500);\n transition: background 0.2s ease;\n &:hover {\n background: var(--spw-color-themes-grey-grey-600);\n }\n &:active {\n background: var(--spw-color-themes-grey-grey-800);\n }\n spw-icon {\n opacity: 0;\n line-height: 0;\n transition: all 0.2s 0.3s ease;\n margin-left: 15px;\n transition: all 0.2s ease;\n }\n &:before {\n content: '';\n position: absolute;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n top: 50%;\n left: 2px;\n transform: translateY(-50%);\n transition: all 0.2s ease;\n }\n }\n &.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle {\n background: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n &:before {\n left: calc(100% - 16px);\n background: white;\n }\n spw-icon {\n font-size: 10px;\n margin-left: 6px;\n opacity: 1;\n }\n &:not(.spw-checkbox__wrapper--disabled):hover {\n background: var(--spw-ds-checkbox-checked-hover-color);\n color: var(--spw-ds-checkbox-checked-hover-color);\n }\n &:not(.spw-checkbox__wrapper--disabled):active {\n background: var(--spw-ds-checkbox-checked-active-color);\n color: var(--spw-ds-checkbox-checked-active-color);\n }\n }\n &.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n background: white;\n &:before {\n background: var(--spw-color-themes-grey-grey-500);\n }\n }\n }\n\n &__label {\n color: var(--spw-color-themes-grey-grey-900);\n word-wrap: break-word;\n order: 1;\n padding-top: 1px;\n user-select: none;\n padding-left: var(--spw-spacings-spacing-sm);\n\n &:hover ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n // &:hover ~ .spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-color-themes-grey-grey-600);\n // color: var(--spw-color-themes-grey-grey-600);\n // }\n\n // &:active ~ .spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-color-themes-grey-grey-800);\n // color: var(--spw-color-themes-grey-grey-800);\n // }\n\n // &:hover ~ .spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--checked:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-ds-checkbox-checked-hover-color);\n // color: var(--spw-ds-checkbox-checked-hover-color);\n // }\n\n // &:active ~ .spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--checked:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-ds-checkbox-checked-active-color);\n // color: var(--spw-ds-checkbox-checked-active-color);\n // }\n\n &:active ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &__wrapper,\n &__label {\n &:hover {\n cursor: pointer;\n }\n &--disabled:hover {\n cursor: not-allowed;\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'spw-checkbox',\n styleUrl: 'spw-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwCheckbox {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwCheckboxElement;\n\n /** Détermine si la case à cocher est désactivée, rendant l'élément inutilisable */\n @Prop() disabled: boolean = false;\n /** Propriété mutable qui reflète si la case à cocher est cochée ou non */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n /** Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel */\n @Prop() error: boolean = false;\n /** Icône à afficher lorsque la case à cocher est cochée */\n @Prop() icon: string = 'fa-check';\n /** Nom de l'élément utilisé dans les formulaires */\n @Prop() name: string;\n /** Type de variant pour la checkbox */\n @Prop() variant?: 'default' | 'toggle' = 'default';\n\n @State() internalChecked: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement déclenché lors d'un changement d'état de la case à cocher (cochée ou décochée) */\n @Event({ bubbles: true, composed: true }) spwChange: EventEmitter<boolean>;\n\n private handleCheckbox() {\n if (!this.disabled) {\n this.internalChecked = !this.internalChecked;\n this.checked = this.internalChecked;\n this.updateFormValue();\n this.spwChange.emit(this.internalChecked);\n }\n }\n\n /** Méthode publique pour changer l'état de la case à cocher. */\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n this.checked = newVal;\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged(newChecked: boolean) {\n this.internalChecked = newChecked;\n this.inputElement.checked = newChecked;\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (this.internalChecked) {\n this.internals.setFormValue('on');\n } else {\n this.internals.setFormValue(null);\n }\n }\n\n private handleKeydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n // Space or Enter keys\n this.handleCheckbox();\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.updateFormValue();\n }\n\n componentDidLoad() {\n this.el.closest('form')?.addEventListener('formdata', (e: FormDataEvent) => {\n if (this.internalChecked) {\n e.formData.set(this.name, 'on');\n }\n });\n }\n\n formResetCallback() {\n this.internalChecked = false;\n this.checked = false;\n this.updateFormValue();\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-checkbox__wrapper': true,\n [`spw-checkbox__wrapper--${this.variant}`]: true,\n 'spw-checkbox__wrapper--disabled': this.disabled,\n 'spw-checkbox__wrapper--checked': this.internalChecked,\n 'spw-checkbox__wrapper--error': this.error,\n };\n }\n\n render() {\n const slot = this.el.innerHTML;\n const hasSlot = Boolean(slot);\n\n return (\n <div class=\"spw-checkbox\">\n <input\n type=\"checkbox\"\n ref={el => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)}\n name={this.name}\n disabled={this.disabled}\n style={{ display: 'none' }}\n />\n {hasSlot && (\n <label htmlFor={this.name} class={`spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </label>\n )}\n <div\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.internalChecked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-labelledby=\"label\"\n class={this.elementClass}\n >\n {this.internalChecked && <spw-icon icon={this.icon}></spw-icon>}\n </div>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":"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"}