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

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 (247) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/spw-field-label_6.cjs.entry.js +2 -2
  3. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +1 -1
  4. package/dist/cjs/spw-header-navigation-item.cjs.entry.js.map +1 -1
  5. package/dist/cjs/spw-header-navigation-item.entry.cjs.js.map +1 -1
  6. package/dist/cjs/spw-header-navigation.cjs.entry.js +10 -2
  7. package/dist/cjs/spw-header-navigation.cjs.entry.js.map +1 -1
  8. package/dist/cjs/spw-header-navigation.entry.cjs.js.map +1 -1
  9. package/dist/cjs/spw-search-field.cjs.entry.js +65 -11
  10. package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
  11. package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
  12. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +1 -1
  13. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +3 -3
  14. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +1 -1
  15. package/dist/cjs/spw-sidebar.cjs.entry.js +1 -1
  16. package/dist/cjs/spw-skeleton.cjs.entry.js +1 -1
  17. package/dist/cjs/spw-socials.cjs.entry.js +1 -1
  18. package/dist/cjs/spw-stencil-library.cjs.js +1 -1
  19. package/dist/cjs/spw-table-body.cjs.entry.js +1 -1
  20. package/dist/cjs/spw-table-cell.cjs.entry.js +1 -1
  21. package/dist/cjs/spw-table-footer.cjs.entry.js +1 -1
  22. package/dist/cjs/spw-table-head.cjs.entry.js +1 -1
  23. package/dist/cjs/spw-table-header.cjs.entry.js +2 -2
  24. package/dist/cjs/spw-table-row.cjs.entry.js +1 -1
  25. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +1 -1
  26. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +1 -1
  27. package/dist/cjs/spw-tabs.cjs.entry.js +1 -1
  28. package/dist/cjs/spw-tag.cjs.entry.js +1 -1
  29. package/dist/cjs/spw-text-field.cjs.entry.js +1 -1
  30. package/dist/cjs/spw-textarea.cjs.entry.js +1 -1
  31. package/dist/cjs/spw-tile-description.cjs.entry.js +1 -1
  32. package/dist/cjs/spw-tile-title.cjs.entry.js +1 -1
  33. package/dist/cjs/spw-tile.cjs.entry.js +1 -1
  34. package/dist/cjs/spw-tooltip.cjs.entry.js +1 -1
  35. package/dist/cjs/spw-topbar.cjs.entry.js +1 -1
  36. package/dist/cjs/spw-wizard-item.cjs.entry.js +1 -1
  37. package/dist/cjs/spw-wizard.cjs.entry.js +1 -1
  38. package/dist/cjs/utils-D_vNTY6w.js.map +1 -1
  39. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.css +1 -1
  40. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +33 -1
  41. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js.map +1 -1
  42. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.css +1 -1
  43. package/dist/collection/components/spw-search-field/spw-search-field.css +1 -1
  44. package/dist/collection/components/spw-search-field/spw-search-field.js +200 -10
  45. package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
  46. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  47. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  48. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +3 -3
  49. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
  50. package/dist/collection/components/spw-sidebar/spw-sidebar.js +1 -1
  51. package/dist/collection/components/spw-skeleton/spw-skeleton.js +1 -1
  52. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  53. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  54. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +1 -1
  55. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  56. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  57. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +2 -2
  58. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +1 -1
  59. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
  60. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
  61. package/dist/collection/components/spw-tabs/spw-tabs.js +1 -1
  62. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  63. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  64. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  65. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  66. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  67. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  68. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  69. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  70. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  71. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +1 -1
  72. package/dist/collection/components/spw-wizard/spw-wizard.js +1 -1
  73. package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js +3 -2
  74. package/dist/collection/stories/components/spw-breadcrumb/spw-breadcrumb.stories.js.map +1 -1
  75. package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js +11 -31
  76. package/dist/collection/stories/components/spw-pagination/spw-pagination.stories.js.map +1 -1
  77. package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js +106 -11
  78. package/dist/collection/stories/components/spw-search-field/spw-search-field.stories.js.map +1 -1
  79. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js +5 -2
  80. package/dist/collection/stories/organisms/spw-card/spw-card.stories.js.map +1 -1
  81. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +1 -1
  82. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
  83. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js +1 -1
  84. package/dist/collection/stories/organisms/spw-list/spw-list.stories.js.map +1 -1
  85. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js +1 -1
  86. package/dist/collection/stories/organisms/spw-tile/spw-tile.stories.js.map +1 -1
  87. package/dist/collection/utils/utils.js +5 -4
  88. package/dist/collection/utils/utils.js.map +1 -1
  89. package/dist/components/p-BBi01mKM.js.map +1 -1
  90. package/dist/components/{p-B2toBmC2.js → p-BFGmcTVw.js} +3 -3
  91. package/dist/components/{p-B2toBmC2.js.map → p-BFGmcTVw.js.map} +1 -1
  92. package/dist/components/{p-_sdYD0eS.js → p-BZy3vC1Y.js} +3 -3
  93. package/dist/components/{p-_sdYD0eS.js.map → p-BZy3vC1Y.js.map} +1 -1
  94. package/dist/components/{p-Bvpi6byK.js → p-DHePkzaR.js} +3 -3
  95. package/dist/components/{p-Bvpi6byK.js.map → p-DHePkzaR.js.map} +1 -1
  96. package/dist/components/{p-J5AA2xQI.js → p-DuDAHfBT.js} +3 -3
  97. package/dist/components/{p-J5AA2xQI.js.map → p-DuDAHfBT.js.map} +1 -1
  98. package/dist/components/spw-header-navigation-item.js +1 -1
  99. package/dist/components/spw-header-navigation-item.js.map +1 -1
  100. package/dist/components/spw-header-navigation.js +11 -2
  101. package/dist/components/spw-header-navigation.js.map +1 -1
  102. package/dist/components/spw-iodda.js +2 -2
  103. package/dist/components/spw-pagination.js +1 -1
  104. package/dist/components/spw-search-field.js +74 -13
  105. package/dist/components/spw-search-field.js.map +1 -1
  106. package/dist/components/spw-separator.js +1 -1
  107. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  108. package/dist/components/spw-sidebar-navigation-item.js +4 -4
  109. package/dist/components/spw-sidebar-navigation-separator.js +2 -2
  110. package/dist/components/spw-sidebar.js +1 -1
  111. package/dist/components/spw-skeleton.js +1 -1
  112. package/dist/components/spw-socials.js +1 -1
  113. package/dist/components/spw-table-body.js +1 -1
  114. package/dist/components/spw-table-cell.js +1 -1
  115. package/dist/components/spw-table-footer.js +1 -1
  116. package/dist/components/spw-table-head.js +1 -1
  117. package/dist/components/spw-table-header.js +3 -3
  118. package/dist/components/spw-table-row.js +1 -1
  119. package/dist/components/spw-tabs-navigation-item.js +2 -2
  120. package/dist/components/spw-tabs-navigation.js +1 -1
  121. package/dist/components/spw-tabs.js +1 -1
  122. package/dist/components/spw-tag.js +1 -1
  123. package/dist/components/spw-text-field.js +1 -1
  124. package/dist/components/spw-textarea.js +1 -1
  125. package/dist/components/spw-theme-provider.js +1 -1
  126. package/dist/components/spw-tile-description.js +1 -1
  127. package/dist/components/spw-tile-title.js +1 -1
  128. package/dist/components/spw-tile.js +1 -1
  129. package/dist/components/spw-tooltip.js +1 -1
  130. package/dist/components/spw-topbar.js +1 -1
  131. package/dist/components/spw-wizard-item.js +1 -1
  132. package/dist/components/spw-wizard.js +1 -1
  133. package/dist/components_json.json +214 -4
  134. package/dist/components_vscode.json +34 -1
  135. package/dist/esm/loader.js +1 -1
  136. package/dist/esm/spw-field-label_6.entry.js +2 -2
  137. package/dist/esm/spw-header-navigation-item.entry.js +1 -1
  138. package/dist/esm/spw-header-navigation-item.entry.js.map +1 -1
  139. package/dist/esm/spw-header-navigation.entry.js +10 -2
  140. package/dist/esm/spw-header-navigation.entry.js.map +1 -1
  141. package/dist/esm/spw-search-field.entry.js +66 -12
  142. package/dist/esm/spw-search-field.entry.js.map +1 -1
  143. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +1 -1
  144. package/dist/esm/spw-sidebar-navigation-item.entry.js +3 -3
  145. package/dist/esm/spw-sidebar-navigation-separator.entry.js +1 -1
  146. package/dist/esm/spw-sidebar.entry.js +1 -1
  147. package/dist/esm/spw-skeleton.entry.js +1 -1
  148. package/dist/esm/spw-socials.entry.js +1 -1
  149. package/dist/esm/spw-stencil-library.js +1 -1
  150. package/dist/esm/spw-table-body.entry.js +1 -1
  151. package/dist/esm/spw-table-cell.entry.js +1 -1
  152. package/dist/esm/spw-table-footer.entry.js +1 -1
  153. package/dist/esm/spw-table-head.entry.js +1 -1
  154. package/dist/esm/spw-table-header.entry.js +2 -2
  155. package/dist/esm/spw-table-row.entry.js +1 -1
  156. package/dist/esm/spw-tabs-navigation-item.entry.js +1 -1
  157. package/dist/esm/spw-tabs-navigation.entry.js +1 -1
  158. package/dist/esm/spw-tabs.entry.js +1 -1
  159. package/dist/esm/spw-tag.entry.js +1 -1
  160. package/dist/esm/spw-text-field.entry.js +1 -1
  161. package/dist/esm/spw-textarea.entry.js +1 -1
  162. package/dist/esm/spw-tile-description.entry.js +1 -1
  163. package/dist/esm/spw-tile-title.entry.js +1 -1
  164. package/dist/esm/spw-tile.entry.js +1 -1
  165. package/dist/esm/spw-tooltip.entry.js +1 -1
  166. package/dist/esm/spw-topbar.entry.js +1 -1
  167. package/dist/esm/spw-wizard-item.entry.js +1 -1
  168. package/dist/esm/spw-wizard.entry.js +1 -1
  169. package/dist/esm/utils-BBi01mKM.js.map +1 -1
  170. package/dist/spw-stencil-library/{p-4a273848.entry.js → p-066fdd57.entry.js} +2 -2
  171. package/dist/spw-stencil-library/{p-fcc5884a.entry.js → p-06ac337f.entry.js} +2 -2
  172. package/dist/spw-stencil-library/{p-488c2d88.entry.js → p-0d1330e7.entry.js} +2 -2
  173. package/dist/spw-stencil-library/{p-5632f307.entry.js → p-13ecc56f.entry.js} +2 -2
  174. package/dist/spw-stencil-library/{p-2ad00dfc.entry.js → p-1713c17e.entry.js} +2 -2
  175. package/dist/spw-stencil-library/{p-2c79bd06.entry.js → p-1c2b8f70.entry.js} +2 -2
  176. package/dist/spw-stencil-library/{p-0baeea00.entry.js → p-229981f8.entry.js} +2 -2
  177. package/dist/spw-stencil-library/{p-9e12973d.entry.js → p-25f95c06.entry.js} +2 -2
  178. package/dist/spw-stencil-library/p-25f95c06.entry.js.map +1 -0
  179. package/dist/spw-stencil-library/{p-fc6af4d8.entry.js → p-26eb5cff.entry.js} +2 -2
  180. package/dist/spw-stencil-library/{p-ce72bca4.entry.js → p-2dc80ae2.entry.js} +2 -2
  181. package/dist/spw-stencil-library/p-43104fe6.entry.js +2 -0
  182. package/dist/spw-stencil-library/p-43104fe6.entry.js.map +1 -0
  183. package/dist/spw-stencil-library/{p-2d974226.entry.js → p-45caa6b4.entry.js} +2 -2
  184. package/dist/spw-stencil-library/{p-f70ed5c3.entry.js → p-4e025664.entry.js} +2 -2
  185. package/dist/spw-stencil-library/{p-9d984204.entry.js → p-4f0727e5.entry.js} +2 -2
  186. package/dist/spw-stencil-library/{p-8cfb4646.entry.js → p-50a66fe6.entry.js} +2 -2
  187. package/dist/spw-stencil-library/{p-a31a30f3.entry.js → p-6ec608ca.entry.js} +2 -2
  188. package/dist/spw-stencil-library/{p-c3985590.entry.js → p-8115c88f.entry.js} +2 -2
  189. package/dist/spw-stencil-library/{p-a25ad9f2.entry.js → p-852e0315.entry.js} +2 -2
  190. package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -1
  191. package/dist/spw-stencil-library/{p-0e1ec1e6.entry.js → p-a8c3ce29.entry.js} +2 -2
  192. package/dist/spw-stencil-library/{p-e0c31c21.entry.js → p-ab5202fa.entry.js} +2 -2
  193. package/dist/spw-stencil-library/{p-f28bf2be.entry.js → p-c9a3b38a.entry.js} +2 -2
  194. package/dist/spw-stencil-library/{p-2abc48ed.entry.js → p-d0b15ea8.entry.js} +2 -2
  195. package/dist/spw-stencil-library/{p-451a9785.entry.js → p-d368cf67.entry.js} +2 -2
  196. package/dist/spw-stencil-library/{p-48417d99.entry.js → p-dde9348e.entry.js} +2 -2
  197. package/dist/spw-stencil-library/{p-9d760073.entry.js → p-deb92d5e.entry.js} +2 -2
  198. package/dist/spw-stencil-library/{p-512a2787.entry.js → p-df177420.entry.js} +2 -2
  199. package/dist/spw-stencil-library/{p-cbf8aea1.entry.js → p-e159f34c.entry.js} +2 -2
  200. package/dist/spw-stencil-library/{p-e3485695.entry.js → p-e4c9b397.entry.js} +2 -2
  201. package/dist/spw-stencil-library/p-e60e3382.entry.js +2 -0
  202. package/dist/spw-stencil-library/p-e60e3382.entry.js.map +1 -0
  203. package/dist/spw-stencil-library/spw-header-navigation-item.entry.esm.js.map +1 -1
  204. package/dist/spw-stencil-library/spw-header-navigation.entry.esm.js.map +1 -1
  205. package/dist/spw-stencil-library/spw-search-field.entry.esm.js.map +1 -1
  206. package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
  207. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  208. package/dist/stats.json +570 -206
  209. package/dist/types/components/spw-header/spw-header-navigation/spw-header-navigation.d.ts +3 -0
  210. package/dist/types/components/spw-search-field/spw-search-field.d.ts +20 -1
  211. package/dist/types/components.d.ts +56 -0
  212. package/dist/types/stories/components/spw-pagination/spw-pagination.stories.d.ts +0 -17
  213. package/dist/types/stories/components/spw-search-field/spw-search-field.stories.d.ts +5 -0
  214. package/hydrate/index.js +115 -45
  215. package/hydrate/index.mjs +115 -45
  216. package/package.json +1 -1
  217. package/dist/spw-stencil-library/p-300b4bdb.entry.js +0 -2
  218. package/dist/spw-stencil-library/p-300b4bdb.entry.js.map +0 -1
  219. package/dist/spw-stencil-library/p-9e12973d.entry.js.map +0 -1
  220. package/dist/spw-stencil-library/p-c4e4cfd4.entry.js +0 -2
  221. package/dist/spw-stencil-library/p-c4e4cfd4.entry.js.map +0 -1
  222. /package/dist/spw-stencil-library/{p-4a273848.entry.js.map → p-066fdd57.entry.js.map} +0 -0
  223. /package/dist/spw-stencil-library/{p-fcc5884a.entry.js.map → p-06ac337f.entry.js.map} +0 -0
  224. /package/dist/spw-stencil-library/{p-488c2d88.entry.js.map → p-0d1330e7.entry.js.map} +0 -0
  225. /package/dist/spw-stencil-library/{p-5632f307.entry.js.map → p-13ecc56f.entry.js.map} +0 -0
  226. /package/dist/spw-stencil-library/{p-2ad00dfc.entry.js.map → p-1713c17e.entry.js.map} +0 -0
  227. /package/dist/spw-stencil-library/{p-2c79bd06.entry.js.map → p-1c2b8f70.entry.js.map} +0 -0
  228. /package/dist/spw-stencil-library/{p-0baeea00.entry.js.map → p-229981f8.entry.js.map} +0 -0
  229. /package/dist/spw-stencil-library/{p-fc6af4d8.entry.js.map → p-26eb5cff.entry.js.map} +0 -0
  230. /package/dist/spw-stencil-library/{p-ce72bca4.entry.js.map → p-2dc80ae2.entry.js.map} +0 -0
  231. /package/dist/spw-stencil-library/{p-2d974226.entry.js.map → p-45caa6b4.entry.js.map} +0 -0
  232. /package/dist/spw-stencil-library/{p-f70ed5c3.entry.js.map → p-4e025664.entry.js.map} +0 -0
  233. /package/dist/spw-stencil-library/{p-9d984204.entry.js.map → p-4f0727e5.entry.js.map} +0 -0
  234. /package/dist/spw-stencil-library/{p-8cfb4646.entry.js.map → p-50a66fe6.entry.js.map} +0 -0
  235. /package/dist/spw-stencil-library/{p-a31a30f3.entry.js.map → p-6ec608ca.entry.js.map} +0 -0
  236. /package/dist/spw-stencil-library/{p-c3985590.entry.js.map → p-8115c88f.entry.js.map} +0 -0
  237. /package/dist/spw-stencil-library/{p-a25ad9f2.entry.js.map → p-852e0315.entry.js.map} +0 -0
  238. /package/dist/spw-stencil-library/{p-0e1ec1e6.entry.js.map → p-a8c3ce29.entry.js.map} +0 -0
  239. /package/dist/spw-stencil-library/{p-e0c31c21.entry.js.map → p-ab5202fa.entry.js.map} +0 -0
  240. /package/dist/spw-stencil-library/{p-f28bf2be.entry.js.map → p-c9a3b38a.entry.js.map} +0 -0
  241. /package/dist/spw-stencil-library/{p-2abc48ed.entry.js.map → p-d0b15ea8.entry.js.map} +0 -0
  242. /package/dist/spw-stencil-library/{p-451a9785.entry.js.map → p-d368cf67.entry.js.map} +0 -0
  243. /package/dist/spw-stencil-library/{p-48417d99.entry.js.map → p-dde9348e.entry.js.map} +0 -0
  244. /package/dist/spw-stencil-library/{p-9d760073.entry.js.map → p-deb92d5e.entry.js.map} +0 -0
  245. /package/dist/spw-stencil-library/{p-512a2787.entry.js.map → p-df177420.entry.js.map} +0 -0
  246. /package/dist/spw-stencil-library/{p-cbf8aea1.entry.js.map → p-e159f34c.entry.js.map} +0 -0
  247. /package/dist/spw-stencil-library/{p-e3485695.entry.js.map → p-e4c9b397.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"p-B2toBmC2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-pagination/spw-pagination.scss?tag=spw-pagination&encapsulation=shadow","src/components/spw-pagination/spw-pagination.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%button {\n text-align: center;\n line-height: 32px;\n font-weight: 700;\n border-radius: 32px;\n font-size: 14px;\n min-width: 32px;\n height: 32px;\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n}\n\n.spw-pagination {\n display: flex;\n flex-direction: column;\n align-items: center;\n @include breakpoint(md) {\n align-items: flex-start;\n }\n\n ul {\n display: flex;\n align-items: center;\n padding: 0;\n }\n\n &__item {\n margin-right: 12px;\n spw-icon {\n font-size: 18px;\n }\n button {\n padding: 0 6px;\n margin: 0;\n border: none;\n cursor: pointer;\n color: var(--spw-color-themes-grey-grey-900);\n background: none;\n @extend %button;\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):hover {\n button {\n background: var(--spw-color-themes-grey-grey-200);\n }\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):active {\n button {\n background: var(--spw-color-themes-grey-grey-300);\n }\n }\n\n &--arrow {\n button {\n padding: 0 12px;\n display: flex;\n gap: 8px;\n align-items: center;\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &--dots {\n position: relative;\n top: 3px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n background: none;\n color: var(--spw-color-themes-grey-grey-400);\n @extend %button;\n spw-icon {\n font-size: 16px;\n }\n }\n\n &--desktop {\n display: none;\n @include breakpoint(md) {\n display: inline-block;\n }\n }\n\n &--active {\n button {\n color: white;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n &__input {\n spw-text-field {\n width: 36px;\n --spw-input-height: 32px;\n --spw-input-padding: 0 4px;\n --spw-input-text-align: center;\n --spw-input-font-size: 14px;\n }\n }\n\n &__mobile-arrows {\n margin-top: 12px;\n @include breakpoint(md) {\n display: none !important;\n }\n }\n\n &__total-pages {\n font-size: 14px;\n margin: 0 12px 0 6px;\n }\n}\n","import { Component, Fragment, Prop, Host, h, Event, EventEmitter, Watch, State, Method } from '@stencil/core';\n\n@Component({\n tag: 'spw-pagination',\n styleUrl: 'spw-pagination.scss',\n shadow: true,\n})\nexport class SpwPagination {\n /** Nombre total d'éléments à paginer */\n @Prop() totalItems: number;\n /** Nombre d'éléments à afficher par page */\n @Prop() itemsPerPage: number;\n /** Indique si la pagination est désactivée */\n @Prop() isDisabled: boolean = false;\n /** Type de variante de la pagination : 'numbers' ou 'input' */\n @Prop() variant: 'numbers' | 'input' = 'numbers';\n /** Page actuellement sélectionnée, mutable */\n @Prop({ mutable: true }) currentPage: number = 1;\n\n /** Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */\n @Event() pageChanged: EventEmitter<number>;\n\n private totalPages: number;\n @State() inputPageValue: string = '';\n @State() isMobile: boolean = window.innerWidth < 800;\n private debounceTimer: any;\n\n componentWillLoad() {\n this.calculateTotalPages();\n this.inputPageValue = this.currentPage.toString();\n window.addEventListener('resize', this.updateIsMobile);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.updateIsMobile);\n }\n\n private updateIsMobile = () => {\n this.isMobile = window.innerWidth < 800;\n };\n\n @Watch('totalItems')\n @Watch('itemsPerPage')\n @Watch('currentPage')\n calculateTotalPages() {\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n @Watch('itemsPerPage')\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n\n @Watch('totalItems')\n onTotalItemsChange() {\n const newTotalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n if (this.currentPage > newTotalPages || this.currentPage === 0) {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n /** Méthode publique pour définir la page courante */\n @Method()\n async setPage(page: number): Promise<void> {\n this.goToPage(page);\n }\n\n private goToPage(page: number) {\n if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.inputPageValue = this.currentPage.toString();\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n private handleInputChange(event: Event) {\n const inputValue = (event.target as HTMLInputElement).value;\n this.inputPageValue = inputValue;\n const page = parseInt(inputValue, 10);\n\n if (!isNaN(page) && page >= 1 && page <= this.totalPages) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.goToPage(page);\n }, 500);\n }\n }\n\n private getPaginationClass() {\n const pages = this.calculatePageRange();\n const ellipsisCount = pages.filter(({ page }) => page === '...').length;\n const hasEllipsisStart = ellipsisCount > 0 && pages[1]?.page === '...';\n const hasEllipsisEnd = ellipsisCount > 0 && pages[pages.length - 2]?.page === '...';\n\n let paginationClass = `spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;\n\n if (ellipsisCount === 2) {\n paginationClass += ' spw-pagination--double-ellipsis';\n } else if (hasEllipsisStart) {\n paginationClass += ' spw-pagination--ellipsis-start';\n } else if (hasEllipsisEnd) {\n paginationClass += ' spw-pagination--ellipsis-end';\n }\n\n return paginationClass;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n const page = parseInt(this.inputPageValue, 10);\n if (!isNaN(page)) {\n this.goToPage(page);\n }\n }\n }\n\n private calculatePageRange() {\n const pages = [];\n const { currentPage, totalPages, isMobile } = this;\n\n if (isMobile) {\n // Mode mobile\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 2) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n } else {\n // Mode desktop\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 4) {\n for (let i = 1; i <= 4; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 3) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 2; i <= currentPage + 2; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n }\n\n return pages;\n }\n\n render() {\n const pages = this.calculatePageRange();\n const showPrevArrow = this.currentPage > 1;\n const showNextArrow = this.currentPage < this.totalPages;\n\n const prevArrow = showPrevArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span class=\"spw-pagination__item-arrow-text\">Précédent</span>\n </button>\n </li>\n );\n\n const nextArrow = showNextArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)}>\n <span class=\"spw-pagination__item-arrow-text\">Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const prevArrowMobile = this.currentPage > 1 && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Précédent</span>\n </button>\n </li>\n );\n\n const nextArrowMobile = this.currentPage < this.totalPages && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)} disabled={this.currentPage >= this.totalPages}>\n <span>Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const mobileArrows = (\n <ul class=\"spw-pagination__mobile-arrows\">\n {prevArrowMobile}\n {nextArrowMobile}\n </ul>\n );\n\n return (\n <Host>\n <div class={this.getPaginationClass()}>\n {this.variant === 'input' && (\n <Fragment>\n <ul>\n {prevArrow}\n <li class=\"spw-pagination__input\">\n <spw-text-field\n value={this.inputPageValue}\n type=\"text\"\n onInput={event => this.handleInputChange(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n disabled={this.isDisabled}\n ></spw-text-field>\n </li>\n <li class=\"spw-pagination__total-pages\">sur {this.totalPages} pages</li>\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n {this.variant === 'numbers' && (\n <Fragment>\n <ul>\n {prevArrow}\n\n {pages.map(({ page, class: pageClass }) => {\n if (page === '...') {\n return (\n <li class={`spw-pagination__item spw-pagination__item--dots ${pageClass}`}>\n <spw-icon icon=\"fa-ellipsis\"></spw-icon>\n </li>\n );\n }\n\n return (\n <li\n class={{\n 'spw-pagination__item': true,\n 'spw-pagination__item--active': page === this.currentPage,\n [pageClass]: true,\n }}\n >\n <button onClick={() => this.goToPage(page as number)} disabled={page === this.currentPage}>\n {page}\n </button>\n </li>\n );\n })}\n\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-BFGmcTVw.js","mappings":";;;;;;AAAA,MAAM,gBAAgB,GAAG,20JAA20J;;MCOv1J,aAAa,iBAAAA,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAL1B,IAAA,WAAA,GAAA;;;;;;AAWU,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;;AAE3B,QAAA,IAAO,CAAA,OAAA,GAAwB,SAAS;;AAEvB,QAAA,IAAW,CAAA,WAAA,GAAW,CAAC;AAMvC,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE;QAC3B,IAAA,CAAA,QAAQ,GAAY,MAAM,CAAC,UAAU,GAAG,GAAG;AAa5C,QAAA,IAAc,CAAA,cAAA,GAAG,MAAK;YAC5B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,GAAG,GAAG;AACzC,SAAC;AAwPF;IApQC,iBAAiB,GAAA;QACf,IAAI,CAAC,mBAAmB,EAAE;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;QACjD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;;IAGxD,oBAAoB,GAAA;QAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC;;IAU3D,mBAAmB,GAAA;AACjB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;;IAIlE,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,QAAA,IAAI,CAAC,cAAc,GAAG,GAAG;QACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;IAIzC,kBAAkB,GAAA;AAChB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;AACpE,QAAA,IAAI,IAAI,CAAC,WAAW,GAAG,aAAa,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,EAAE;AAC9D,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;;IAM3C,MAAM,OAAO,CAAC,IAAY,EAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;;AAGb,IAAA,QAAQ,CAAC,IAAY,EAAA;QAC3B,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACzF,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACvB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;;;AAInC,IAAA,iBAAiB,CAAC,KAAY,EAAA;AACpC,QAAA,MAAM,UAAU,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AAC3D,QAAA,IAAI,CAAC,cAAc,GAAG,UAAU;QAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;AAErC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;AACxD,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;AAChC,YAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACnC,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACpB,EAAE,GAAG,CAAC;;;IAIH,kBAAkB,GAAA;;AACxB,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACvC,QAAA,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,MAAM;AACvE,QAAA,MAAM,gBAAgB,GAAG,aAAa,GAAG,CAAC,IAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,CAAC,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAE,IAAI,MAAK,KAAK;AACtE,QAAA,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,IAAI,MAAK,KAAK;QAEnF,IAAI,eAAe,GAAG,CAAA,+BAAA,EAAkC,IAAI,CAAC,WAAW,CAAA,uBAAA,EAA0B,IAAI,CAAC,UAAU,CAAA,CAAE;AAEnH,QAAA,IAAI,aAAa,KAAK,CAAC,EAAE;YACvB,eAAe,IAAI,kCAAkC;;aAChD,IAAI,gBAAgB,EAAE;YAC3B,eAAe,IAAI,iCAAiC;;aAC/C,IAAI,cAAc,EAAE;YACzB,eAAe,IAAI,+BAA+B;;AAGpD,QAAA,OAAO,eAAe;;AAGhB,IAAA,aAAa,CAAC,KAAoB,EAAA;AACxC,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;AAC9C,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;AAChB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;;;;IAKjB,kBAAkB,GAAA;QACxB,MAAM,KAAK,GAAG,EAAE;QAChB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI;QAElD,IAAI,QAAQ,EAAE;;AAEZ,YAAA,IAAI,UAAU,IAAI,CAAC,EAAE;AACnB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACpC,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;;AAEhE,iBAAA,IAAI,WAAW,IAAI,CAAC,EAAE;AAC3B,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3B,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;AAErE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;AAC/D,iBAAA,IAAI,WAAW,IAAI,UAAU,GAAG,CAAC,EAAE;AACxC,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACjD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;;;iBAE9D;AACL,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;;AAEtE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;;aAEjE;;AAEL,YAAA,IAAI,UAAU,IAAI,CAAC,EAAE;AACnB,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACpC,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;;AAEhE,iBAAA,IAAI,WAAW,IAAI,CAAC,EAAE;AAC3B,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3B,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC;;AAErE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;AAC/D,iBAAA,IAAI,WAAW,IAAI,UAAU,GAAG,CAAC,EAAE;AACxC,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE;AACjD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;;;iBAE9D;AACL,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC;AAC7D,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AACvD,oBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;;AAEtE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;AACpE,gBAAA,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC;;;AAIxE,QAAA,OAAO,KAAK;;IAGd,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;AACvC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU;AAExD,QAAA,MAAM,SAAS,GAAG,aAAa,KAC7B,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gFAAgF,EAAA,EACxF,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAA,EACxD,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,iBAAiB,EAAY,CAAA,OAAC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,iCAAiC,0BAAiB,CACpG,CACN,CACN;AAED,QAAA,MAAM,SAAS,GAAG,aAAa,KAC7B,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,gFAAgF,EAAA,EACxF,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAA,EACxD,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iCAAiC,EAAe,EAAA,SAAA,CAAA,OAAC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,kBAAkB,GAAY,CACnG,CACN,CACN;AAED,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,KAC1C,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAI,KAAK,EAAC,kDAAkD,EAAA,EAC1D,CAAA,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAQ,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAA,EACxD,CAAU,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,iBAAiB,EAAY,CAAA,OAAC,CAAsB,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,qBAAA,CAAA,CAC5D,CACN,CACN;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,KACxD,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kDAAkD,EAAA,EAC1D,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAA,EACvG,CAAoB,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAA,SAAA,CAAA,OAAC,CAAA,CAAA,UAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAU,IAAI,EAAC,kBAAkB,GAAY,CAC3D,CACN,CACN;QAED,MAAM,YAAY,IAChB,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+BAA+B,EAAA,EACtC,eAAe,EACf,eAAe,CACb,CACN;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAA,EAClC,IAAI,CAAC,OAAO,KAAK,OAAO,KACvB,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACP,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,SAAS,EACV,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,uBAAuB,EAAA,EAC/B,CAAA,CAAA,gBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,IAAI,CAAC,cAAc,EAC1B,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAC/C,SAAS,EAAE,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC7C,QAAQ,EAAE,IAAI,CAAC,UAAU,GACT,CACf,EACL,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,6BAA6B,EAAA,UAAM,IAAI,CAAC,UAAU,EAAY,QAAA,CAAA,EACvE,SAAS,CACP,EACJ,YAAY,CACJ,CACZ,EACA,IAAI,CAAC,OAAO,KAAK,SAAS,KACzB,EAAC,QAAQ,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACP,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACG,SAAS,EAET,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAI;AACxC,YAAA,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,QACE,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAE,CAAmD,gDAAA,EAAA,SAAS,CAAE,CAAA,EAAA,EACvE,CAAA,CAAA,UAAA,EAAA,EAAU,IAAI,EAAC,aAAa,EAAY,CAAA,CACrC;;AAIT,YAAA,QACE,CACE,CAAA,IAAA,EAAA,EAAA,KAAK,EAAE;AACL,oBAAA,sBAAsB,EAAE,IAAI;AAC5B,oBAAA,8BAA8B,EAAE,IAAI,KAAK,IAAI,CAAC,WAAW;oBACzD,CAAC,SAAS,GAAG,IAAI;AAClB,iBAAA,EAAA,EAED,CAAQ,CAAA,QAAA,EAAA,EAAA,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAc,CAAC,EAAE,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,WAAW,IACtF,IAAI,CACE,CACN;SAER,CAAC,EAED,SAAS,CACP,EACJ,YAAY,CACJ,CACZ,CACG,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-pagination/spw-pagination.scss?tag=spw-pagination&encapsulation=shadow","src/components/spw-pagination/spw-pagination.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n%button {\n text-align: center;\n line-height: 32px;\n font-weight: 700;\n border-radius: 32px;\n font-size: 14px;\n min-width: 32px;\n height: 32px;\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n}\n\n.spw-pagination {\n display: flex;\n flex-direction: column;\n align-items: center;\n @include breakpoint(md) {\n align-items: flex-start;\n }\n\n ul {\n display: flex;\n align-items: center;\n padding: 0;\n }\n\n &__item {\n margin-right: 12px;\n spw-icon {\n font-size: 18px;\n }\n button {\n padding: 0 6px;\n margin: 0;\n border: none;\n cursor: pointer;\n color: var(--spw-color-themes-grey-grey-900);\n background: none;\n @extend %button;\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):hover {\n button {\n background: var(--spw-color-themes-grey-grey-200);\n }\n }\n\n &:not(.spw-pagination__item--active, .spw-pagination__item--dots, .spw-pagination__item--disabled):active {\n button {\n background: var(--spw-color-themes-grey-grey-300);\n }\n }\n\n &--arrow {\n button {\n padding: 0 12px;\n display: flex;\n gap: 8px;\n align-items: center;\n text-decoration: underline;\n &:hover {\n text-decoration: none;\n }\n }\n }\n\n &--dots {\n position: relative;\n top: 3px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: default;\n background: none;\n color: var(--spw-color-themes-grey-grey-400);\n @extend %button;\n spw-icon {\n font-size: 16px;\n }\n }\n\n &--desktop {\n display: none;\n @include breakpoint(md) {\n display: inline-block;\n }\n }\n\n &--active {\n button {\n color: white;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n &__input {\n spw-text-field {\n width: 36px;\n --spw-input-height: 32px;\n --spw-input-padding: 0 4px;\n --spw-input-text-align: center;\n --spw-input-font-size: 14px;\n }\n }\n\n &__mobile-arrows {\n margin-top: 12px;\n @include breakpoint(md) {\n display: none !important;\n }\n }\n\n &__total-pages {\n font-size: 14px;\n margin: 0 12px 0 6px;\n }\n}\n","import { Component, Fragment, Prop, Host, h, Event, EventEmitter, Watch, State, Method } from '@stencil/core';\n\n@Component({\n tag: 'spw-pagination',\n styleUrl: 'spw-pagination.scss',\n shadow: true,\n})\nexport class SpwPagination {\n /** Nombre total d'éléments à paginer */\n @Prop() totalItems: number;\n /** Nombre d'éléments à afficher par page */\n @Prop() itemsPerPage: number;\n /** Indique si la pagination est désactivée */\n @Prop() isDisabled: boolean = false;\n /** Type de variante de la pagination : 'numbers' ou 'input' */\n @Prop() variant: 'numbers' | 'input' = 'numbers';\n /** Page actuellement sélectionnée, mutable */\n @Prop({ mutable: true }) currentPage: number = 1;\n\n /** Événement émis lorsque la page est changée, renvoie le numéro de la nouvelle page */\n @Event() pageChanged: EventEmitter<number>;\n\n private totalPages: number;\n @State() inputPageValue: string = '';\n @State() isMobile: boolean = window.innerWidth < 800;\n private debounceTimer: any;\n\n componentWillLoad() {\n this.calculateTotalPages();\n this.inputPageValue = this.currentPage.toString();\n window.addEventListener('resize', this.updateIsMobile);\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.updateIsMobile);\n }\n\n private updateIsMobile = () => {\n this.isMobile = window.innerWidth < 800;\n };\n\n @Watch('totalItems')\n @Watch('itemsPerPage')\n @Watch('currentPage')\n calculateTotalPages() {\n this.totalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n }\n\n @Watch('itemsPerPage')\n onItemsPerPageChange() {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n\n @Watch('totalItems')\n onTotalItemsChange() {\n const newTotalPages = Math.ceil(this.totalItems / this.itemsPerPage);\n if (this.currentPage > newTotalPages || this.currentPage === 0) {\n this.currentPage = 1;\n this.inputPageValue = '1';\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n /** Méthode publique pour définir la page courante */\n @Method()\n async setPage(page: number): Promise<void> {\n this.goToPage(page);\n }\n\n private goToPage(page: number) {\n if (page !== this.currentPage && !this.isDisabled && page >= 1 && page <= this.totalPages) {\n this.currentPage = page;\n this.inputPageValue = this.currentPage.toString();\n this.pageChanged.emit(this.currentPage);\n }\n }\n\n private handleInputChange(event: Event) {\n const inputValue = (event.target as HTMLInputElement).value;\n this.inputPageValue = inputValue;\n const page = parseInt(inputValue, 10);\n\n if (!isNaN(page) && page >= 1 && page <= this.totalPages) {\n clearTimeout(this.debounceTimer);\n this.debounceTimer = setTimeout(() => {\n this.goToPage(page);\n }, 500);\n }\n }\n\n private getPaginationClass() {\n const pages = this.calculatePageRange();\n const ellipsisCount = pages.filter(({ page }) => page === '...').length;\n const hasEllipsisStart = ellipsisCount > 0 && pages[1]?.page === '...';\n const hasEllipsisEnd = ellipsisCount > 0 && pages[pages.length - 2]?.page === '...';\n\n let paginationClass = `spw-pagination spw-pagination--${this.currentPage} spw-pagination--total-${this.totalPages}`;\n\n if (ellipsisCount === 2) {\n paginationClass += ' spw-pagination--double-ellipsis';\n } else if (hasEllipsisStart) {\n paginationClass += ' spw-pagination--ellipsis-start';\n } else if (hasEllipsisEnd) {\n paginationClass += ' spw-pagination--ellipsis-end';\n }\n\n return paginationClass;\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Enter') {\n const page = parseInt(this.inputPageValue, 10);\n if (!isNaN(page)) {\n this.goToPage(page);\n }\n }\n }\n\n private calculatePageRange() {\n const pages = [];\n const { currentPage, totalPages, isMobile } = this;\n\n if (isMobile) {\n // Mode mobile\n if (totalPages <= 5) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 3) {\n for (let i = 1; i <= 3; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 2) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 2; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 1; i <= currentPage + 1; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n } else {\n // Mode desktop\n if (totalPages <= 7) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--small-range' });\n }\n } else if (currentPage <= 4) {\n for (let i = 1; i <= 4; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--start-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n } else if (currentPage >= totalPages - 3) {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = totalPages - 3; i <= totalPages; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--end-range' });\n }\n } else {\n pages.push({ page: 1, class: 'spw-pagination__item--start' });\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n for (let i = currentPage - 2; i <= currentPage + 2; i++) {\n pages.push({ page: i, class: 'spw-pagination__item--middle-range' });\n }\n pages.push({ page: '...', class: 'spw-pagination__item--ellipsis' });\n pages.push({ page: totalPages, class: 'spw-pagination__item--end' });\n }\n }\n\n return pages;\n }\n\n render() {\n const pages = this.calculatePageRange();\n const showPrevArrow = this.currentPage > 1;\n const showNextArrow = this.currentPage < this.totalPages;\n\n const prevArrow = showPrevArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span class=\"spw-pagination__item-arrow-text\">Précédent</span>\n </button>\n </li>\n );\n\n const nextArrow = showNextArrow && (\n <li class=\"spw-pagination__item spw-pagination__item--desktop spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)}>\n <span class=\"spw-pagination__item-arrow-text\">Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const prevArrowMobile = this.currentPage > 1 && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage - 1)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>Précédent</span>\n </button>\n </li>\n );\n\n const nextArrowMobile = this.currentPage < this.totalPages && (\n <li class=\"spw-pagination__item spw-pagination__item--arrow\">\n <button onClick={() => this.goToPage(this.currentPage + 1)} disabled={this.currentPage >= this.totalPages}>\n <span>Suivant</span> <spw-icon icon=\"fa-chevron-right\"></spw-icon>\n </button>\n </li>\n );\n\n const mobileArrows = (\n <ul class=\"spw-pagination__mobile-arrows\">\n {prevArrowMobile}\n {nextArrowMobile}\n </ul>\n );\n\n return (\n <Host>\n <div class={this.getPaginationClass()}>\n {this.variant === 'input' && (\n <Fragment>\n <ul>\n {prevArrow}\n <li class=\"spw-pagination__input\">\n <spw-text-field\n value={this.inputPageValue}\n type=\"text\"\n onInput={event => this.handleInputChange(event)}\n onKeyDown={event => this.handleKeyDown(event)}\n disabled={this.isDisabled}\n ></spw-text-field>\n </li>\n <li class=\"spw-pagination__total-pages\">sur {this.totalPages} pages</li>\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n {this.variant === 'numbers' && (\n <Fragment>\n <ul>\n {prevArrow}\n\n {pages.map(({ page, class: pageClass }) => {\n if (page === '...') {\n return (\n <li class={`spw-pagination__item spw-pagination__item--dots ${pageClass}`}>\n <spw-icon icon=\"fa-ellipsis\"></spw-icon>\n </li>\n );\n }\n\n return (\n <li\n class={{\n 'spw-pagination__item': true,\n 'spw-pagination__item--active': page === this.currentPage,\n [pageClass]: true,\n }}\n >\n <button onClick={() => this.goToPage(page as number)} disabled={page === this.currentPage}>\n {page}\n </button>\n </li>\n );\n })}\n\n {nextArrow}\n </ul>\n {mobileArrows}\n </Fragment>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -189,7 +189,7 @@ const SpwTextField = /*@__PURE__*/ proxyCustomElement(class SpwTextField extends
189
189
  };
190
190
  }
191
191
  render() {
192
- return (h("div", { key: '7ac0d815bd0edd167799c3749c708b1a54beeecd', class: this.elementClass }, this.label && h("spw-field-label", { key: '2e6daa75d321b6e222e21f17e7b052984186dabc', label: this.label, name: this.name, required: this.required }), this.assistiveText && (h("spw-field-message", { key: '4756dfee5a472a884e6639092cf4cbd6c766ab68', class: "spw-tw-mb-2 -spw-tw-mt-1", variant: "hint", showIcon: false }, this.assistiveText)), h("div", { key: 'c6610e3d2e747c3b5af25d6f185a39a2d2cf0bb6', class: "spw-text-field__container" }, h("div", { key: 'b22887493389b956166d3f6acd8b8d7f1e8f497c', class: "spw-text-field__input-container" }, h("input", { key: 'de7bd4f6f3c7ee2a6de90d10fb2c336178104573', class: "spw-text-field__input", ref: el => (this.inputElement = el), type: this.type, min: this.min, max: this.max, step: this.step, value: this.internalValue, placeholder: this.placeholder, disabled: this.disabled, name: this.name, id: this.name, minLength: this.minLength, maxLength: this.maxLength, required: this.required, onInput: event => this.handleInput(event) }), (this.isSearch || this.isClearIconVisible) && (h("div", { key: 'c4674edd4c3bddf1e0880f81a11fcaf60e4aa51c', class: "spw-text-field__icons" }, this.isClearIconVisible && (h("span", { key: '0265b15ae7613efb3646eb128f86b68859c11a27', class: "spw-text-field__clear", onClick: () => this.handleClear() }, h("spw-icon", { key: 'd6a335856fd4ef3723d01f6bedc2a02e80aee996', class: "spw-text-field__icon spw-text-field__icon--clear", icon: "fa-xmark" }))), this.isSearch && h("spw-icon", { key: '411bb106a9205f138254734852d78b5e41359004', class: "spw-text-field__icon spw-text-field__icon--search", icon: "fa-magnifying-glass" })))), this.indicator && h("div", { key: 'c73e92d45abd6268b7ff6c3ba2679523814316ef', class: "spw-text-field__indicator" }, this.indicator)), this.renderErrorMessage(), this.renderHintMessage(), this.renderSuccessMessage(), this.renderWarningMessage()));
192
+ return (h("div", { key: '5fd55473eefa7f0a27d7165e4d44f5d2c44fa739', class: this.elementClass }, this.label && h("spw-field-label", { key: '50d9c4f1ca75ea24f312ff2c01b29e3006224543', label: this.label, name: this.name, required: this.required }), this.assistiveText && (h("spw-field-message", { key: 'b1c791b05d0ae8482cf59ff7d710ef32a368265c', class: "spw-tw-mb-2 -spw-tw-mt-1", variant: "hint", showIcon: false }, this.assistiveText)), h("div", { key: 'e7aaffa2be5493ac0354850c055c009545ed724e', class: "spw-text-field__container" }, h("div", { key: '902d7a5f33b9ea552034c686f2592b7cd3ea81e8', class: "spw-text-field__input-container" }, h("input", { key: 'f66db7aa135d17c8951abef37ae4548c57749d06', class: "spw-text-field__input", ref: el => (this.inputElement = el), type: this.type, min: this.min, max: this.max, step: this.step, value: this.internalValue, placeholder: this.placeholder, disabled: this.disabled, name: this.name, id: this.name, minLength: this.minLength, maxLength: this.maxLength, required: this.required, onInput: event => this.handleInput(event) }), (this.isSearch || this.isClearIconVisible) && (h("div", { key: 'd817394dadd7b8d9fc48f5a4f537c42c7b2b3676', class: "spw-text-field__icons" }, this.isClearIconVisible && (h("span", { key: '4a0dc1ed855194dab43bbf75d664a3837954fb36', class: "spw-text-field__clear", onClick: () => this.handleClear() }, h("spw-icon", { key: '24decfa0b20f35aaeefb13ce844ff67d99d4afa5', class: "spw-text-field__icon spw-text-field__icon--clear", icon: "fa-xmark" }))), this.isSearch && h("spw-icon", { key: 'c5b2d09ee9bd71af72121d26b20a25e950436f2d', class: "spw-text-field__icon spw-text-field__icon--search", icon: "fa-magnifying-glass" })))), this.indicator && h("div", { key: '6f680cc1c24770ede98068d81360e7ebaba1a658', class: "spw-text-field__indicator" }, this.indicator)), this.renderErrorMessage(), this.renderHintMessage(), this.renderSuccessMessage(), this.renderWarningMessage()));
193
193
  }
194
194
  static get formAssociated() { return true; }
195
195
  static get watchers() { return {
@@ -259,6 +259,6 @@ function defineCustomElement() {
259
259
  }
260
260
 
261
261
  export { SpwTextField as S, defineCustomElement as d };
262
- //# sourceMappingURL=p-_sdYD0eS.js.map
262
+ //# sourceMappingURL=p-BZy3vC1Y.js.map
263
263
 
264
- //# sourceMappingURL=p-_sdYD0eS.js.map
264
+ //# sourceMappingURL=p-BZy3vC1Y.js.map
@@ -1 +1 @@
1
- {"file":"p-_sdYD0eS.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-text-field/spw-text-field.scss?tag=spw-text-field&encapsulation=shadow","src/components/spw-text-field/spw-text-field.tsx"],"sourcesContent":[":host {\n display: block;\n --spw-input-height: 40px;\n --spw-input-padding: 0 12px;\n --spw-input-text-align: left;\n --spw-input-font-size: 16px;\n --spw-input-radius: 4px;\n --spw-input-icon-search-color: var(--spw-color-themes-grey-grey-900);\n --spw-input-border: var(--spw-color-themes-grey-grey-800);\n}\n\n.spw-text-field {\n position: relative;\n &__input-container {\n flex: 1;\n position: relative;\n display: flex;\n }\n &__input {\n flex: 1;\n width: 100%;\n height: var(--spw-input-height);\n padding: var(--spw-input-padding);\n text-overflow: ellipsis;\n line-height: var(--spw-input-height);\n border-radius: var(--spw-input-radius);\n font-size: var(--spw-input-font-size);\n text-align: var(--spw-input-text-align);\n border: 1px solid var(--spw-input-border);\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n &:focus,\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n &[type='number'] {\n // -moz-appearance: textfield;\n // -webkit-appearance: none;\n // appearance: none;\n margin: 0;\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n // -webkit-appearance: none;\n margin: 0;\n }\n &[type='number'] {\n // -moz-appearance: textfield;\n }\n }\n :host-context(spw-header) & {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n }\n .spw-text-field--disabled & {\n border-color: var(--spw-color-themes-grey-grey-400);\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-500);\n cursor: not-allowed;\n &::placeholder {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &:hover,\n &:focus,\n &:focus-visible {\n outline: none;\n }\n }\n .spw-text-field--is-error & {\n border-color: var(--spw-colors-states-error-error-300);\n }\n .spw-text-field--large & {\n height: 60px;\n padding: 0 24px;\n line-height: 60px;\n }\n .spw-text-field--is-search:not(.spw-text-field--is-clear) & {\n padding-right: 40px;\n }\n .spw-text-field--is-clear:not(.spw-text-field--is-search) & {\n padding-right: 40px;\n }\n .spw-text-field--is-clear & {\n padding-right: 70px;\n }\n }\n &__container {\n display: flex;\n align-items: center;\n }\n &__indicator {\n @apply spw-tw-pl-3;\n }\n &__icons {\n display: flex;\n align-items: center;\n position: absolute;\n top: 50%;\n right: 12px;\n gap: 8px;\n transform: translateY(-50%);\n .spw-text-field--large & {\n right: 24px;\n }\n .spw-text-field--disabled & {\n pointer-events: none;\n }\n }\n &__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n cursor: pointer;\n padding: 2px;\n border: 2px var(--spw-color-themes-grey-grey-900) solid;\n border-radius: 50%;\n font-size: 12px;\n transition: all 0.2s ease-in;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-text-field--disabled & {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n }\n &__icon {\n color: var(--spw-input-icon-search-color);\n .spw-text-field--disabled & {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &--search {\n pointer-events: none;\n font-size: 18px;\n .spw-text-field--large & {\n font-size: 24px;\n }\n }\n &--clear {\n color: var(--spw-color-themes-grey-grey-900);\n font-size: 12px;\n }\n }\n}\n","import { AttachInternals, Method, Event, EventEmitter, Component, Prop, State, Watch, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-text-field',\n styleUrl: 'spw-text-field.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwTextField {\n /** Événement émis lorsque la valeur de l'input change */\n @Event() valueChanged: EventEmitter<string | number>;\n\n @State() internalValue: string = '';\n\n /** Valeur actuelle du champ de saisie, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value?: string;\n /** Type d'input à rendre, par exemple, \"text\", \"password\", etc. */\n @Prop() type?: string = 'text';\n /** Texte à afficher au-dessus du champ de saisie */\n @Prop() label: string = '';\n /** Texte du placeholder pour le champ de saisie */\n @Prop() placeholder: string;\n /** Si `true`, le champ de saisie est désactivé et ne peut pas être utilisé */\n @Prop() disabled?: boolean;\n /** Attribut `name` de l'élément input */\n @Prop() name: string;\n /** Valeur minimale dans le cas d'un input number */\n @Prop() min?: number;\n /** Valeur maximale dans le cas d'un input number */\n @Prop() max?: number;\n /** Valeur d'incrémentation dans le cas d'un input number */\n @Prop() step?: number;\n /** Longueur minimale pour la valeur de l'input */\n @Prop() minLength?: number;\n /** Longueur maximale pour la valeur de l'input */\n @Prop() maxLength?: number;\n /** Indique si l'input est un champ de recherche */\n @Prop() isSearch?: boolean = false;\n /** Indique si le champ peut être effacé avec un bouton */\n @Prop() isClear?: boolean = false;\n /** Indique si l'input est requis */\n @Prop() required?: boolean = false;\n /** Spécifie la taille du champ de saisie : 'large' ou 'medium' */\n @Prop() size?: 'large' | 'medium' = 'medium';\n /** Indicateur à afficher à droite du champ de saisie */\n @Prop() indicator?: string;\n /** Texte d'assistance à afficher sous le champ de saisie */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n\n /** Définition du masque (9 = chiffre, A = lettre majuscule, a = lettre, X = alphanum) */\n @Prop() mask?: string;\n\n @State() isClearIconVisible: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n private inputElement!: HTMLInputElement;\n private lastInputValue: string = '';\n\n @Watch('value')\n valueChangedHandler(newValue: string) {\n this.setValue(newValue);\n }\n\n @Method()\n async setValue(newVal: string) {\n const formatted = this.mask ? this.applyMask(newVal) : newVal;\n this.internalValue = formatted;\n this.value = formatted;\n if (this.inputElement) {\n this.inputElement.value = formatted;\n }\n\n const formVal = this.mask ? this.unmask(formatted) : formatted;\n\n const emitValue = this.getTypedValue(formVal);\n\n this.internals.setFormValue(emitValue ? String(emitValue) : null);\n this.isClearIconVisible = this.isClear && !!formatted;\n this.valueChanged.emit(emitValue);\n this.lastInputValue = formatted;\n }\n\n private getTypedValue(value: string): string | number {\n if (!value) return '';\n\n if (this.type === 'number' && !isNaN(Number(value))) {\n return Number(value);\n }\n\n return value;\n }\n\n componentWillLoad() {\n const start = this.value ?? '';\n this.internalValue = this.mask ? this.applyMask(start) : start;\n this.lastInputValue = this.internalValue;\n }\n\n componentDidLoad() {\n const formVal = this.mask ? this.unmask(this.internalValue) : this.internalValue;\n const typedValue = this.getTypedValue(formVal);\n this.internals.setFormValue(typedValue ? String(typedValue) : null);\n this.isClearIconVisible = this.isClear && !!this.internalValue;\n }\n\n formResetCallback() {\n this.setValue('');\n }\n\n private handleInput(event) {\n if (!this.mask) {\n this.setValue(event.target.value);\n return;\n }\n\n const newValue = event.target.value;\n const cursorPosition = event.target.selectionStart;\n\n if (newValue.length < this.lastInputValue.length) {\n const unmaskedValue = this.unmask(newValue);\n this.setValue(unmaskedValue);\n\n setTimeout(() => {\n if (this.inputElement) {\n const newCursorPos = Math.min(cursorPosition, this.inputElement.value.length);\n this.inputElement.setSelectionRange(newCursorPos, newCursorPos);\n }\n }, 0);\n } else {\n this.setValue(newValue);\n }\n }\n\n private handleClear() {\n this.setValue('');\n }\n\n private unmask(value: string): string {\n return value ? value.replace(/[^0-9A-Za-z]/g, '') : '';\n }\n\n private matchesPlaceholder(char: string, placeholder: string): boolean {\n switch (placeholder) {\n case '9':\n return /[0-9]/.test(char);\n case 'A':\n return /[A-Za-z]/.test(char);\n case 'a':\n return /[A-Za-z]/.test(char);\n case 'X':\n return /[0-9A-Za-z]/.test(char);\n default:\n return false;\n }\n }\n\n private transformForPlaceholder(char: string, placeholder: string): string {\n switch (placeholder) {\n case 'A':\n return char.toUpperCase();\n default:\n return char;\n }\n }\n\n private applyMask(rawOrMasked: string): string {\n if (!this.mask) return rawOrMasked;\n\n const rawChars = this.unmask(rawOrMasked).split('');\n let rawIndex = 0;\n let result = '';\n\n for (let i = 0; i < this.mask.length; i++) {\n const p = this.mask[i];\n\n if (['9', 'A', 'a', 'X'].includes(p)) {\n while (rawIndex < rawChars.length && !this.matchesPlaceholder(rawChars[rawIndex], p)) {\n rawIndex++;\n }\n if (rawIndex >= rawChars.length) {\n break;\n }\n const ch = this.transformForPlaceholder(rawChars[rawIndex], p);\n result += ch;\n rawIndex++;\n } else {\n result += p;\n }\n }\n\n return result;\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-text-field': true,\n [`spw-text-field--${this.size}`]: true,\n 'spw-text-field--is-search': this.isSearch,\n 'spw-text-field--is-error': !!this.error,\n 'spw-text-field--is-clear': this.isClearIconVisible,\n 'spw-text-field--disabled': this.disabled,\n };\n }\n\n render() {\n return (\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-text-field__container\">\n <div class=\"spw-text-field__input-container\">\n <input\n class=\"spw-text-field__input\"\n ref={el => (this.inputElement = el as HTMLInputElement)}\n type={this.type}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n name={this.name}\n id={this.name}\n minLength={this.minLength}\n maxLength={this.maxLength}\n required={this.required}\n onInput={event => this.handleInput(event)}\n />\n {(this.isSearch || this.isClearIconVisible) && (\n <div class=\"spw-text-field__icons\">\n {this.isClearIconVisible && (\n <span class=\"spw-text-field__clear\" onClick={() => this.handleClear()}>\n <spw-icon class=\"spw-text-field__icon spw-text-field__icon--clear\" icon=\"fa-xmark\"></spw-icon>\n </span>\n )}\n {this.isSearch && <spw-icon class=\"spw-text-field__icon spw-text-field__icon--search\" icon=\"fa-magnifying-glass\"></spw-icon>}\n </div>\n )}\n </div>\n {this.indicator && <div class=\"spw-text-field__indicator\">{this.indicator}</div>}\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-BZy3vC1Y.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-text-field/spw-text-field.scss?tag=spw-text-field&encapsulation=shadow","src/components/spw-text-field/spw-text-field.tsx"],"sourcesContent":[":host {\n display: block;\n --spw-input-height: 40px;\n --spw-input-padding: 0 12px;\n --spw-input-text-align: left;\n --spw-input-font-size: 16px;\n --spw-input-radius: 4px;\n --spw-input-icon-search-color: var(--spw-color-themes-grey-grey-900);\n --spw-input-border: var(--spw-color-themes-grey-grey-800);\n}\n\n.spw-text-field {\n position: relative;\n &__input-container {\n flex: 1;\n position: relative;\n display: flex;\n }\n &__input {\n flex: 1;\n width: 100%;\n height: var(--spw-input-height);\n padding: var(--spw-input-padding);\n text-overflow: ellipsis;\n line-height: var(--spw-input-height);\n border-radius: var(--spw-input-radius);\n font-size: var(--spw-input-font-size);\n text-align: var(--spw-input-text-align);\n border: 1px solid var(--spw-input-border);\n &:hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n &:focus,\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 6px black;\n }\n &[type='number'] {\n // -moz-appearance: textfield;\n // -webkit-appearance: none;\n // appearance: none;\n margin: 0;\n &::-webkit-outer-spin-button,\n &::-webkit-inner-spin-button {\n // -webkit-appearance: none;\n margin: 0;\n }\n &[type='number'] {\n // -moz-appearance: textfield;\n }\n }\n :host-context(spw-header) & {\n border: 1px solid var(--spw-color-themes-grey-grey-300);\n }\n .spw-text-field--disabled & {\n border-color: var(--spw-color-themes-grey-grey-400);\n background: var(--spw-color-themes-grey-grey-100);\n color: var(--spw-color-themes-grey-grey-500);\n cursor: not-allowed;\n &::placeholder {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &:hover,\n &:focus,\n &:focus-visible {\n outline: none;\n }\n }\n .spw-text-field--is-error & {\n border-color: var(--spw-colors-states-error-error-300);\n }\n .spw-text-field--large & {\n height: 60px;\n padding: 0 24px;\n line-height: 60px;\n }\n .spw-text-field--is-search:not(.spw-text-field--is-clear) & {\n padding-right: 40px;\n }\n .spw-text-field--is-clear:not(.spw-text-field--is-search) & {\n padding-right: 40px;\n }\n .spw-text-field--is-clear & {\n padding-right: 70px;\n }\n }\n &__container {\n display: flex;\n align-items: center;\n }\n &__indicator {\n @apply spw-tw-pl-3;\n }\n &__icons {\n display: flex;\n align-items: center;\n position: absolute;\n top: 50%;\n right: 12px;\n gap: 8px;\n transform: translateY(-50%);\n .spw-text-field--large & {\n right: 24px;\n }\n .spw-text-field--disabled & {\n pointer-events: none;\n }\n }\n &__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n cursor: pointer;\n padding: 2px;\n border: 2px var(--spw-color-themes-grey-grey-900) solid;\n border-radius: 50%;\n font-size: 12px;\n transition: all 0.2s ease-in;\n &:hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n .spw-text-field--disabled & {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n }\n &__icon {\n color: var(--spw-input-icon-search-color);\n .spw-text-field--disabled & {\n color: var(--spw-color-themes-grey-grey-500);\n }\n &--search {\n pointer-events: none;\n font-size: 18px;\n .spw-text-field--large & {\n font-size: 24px;\n }\n }\n &--clear {\n color: var(--spw-color-themes-grey-grey-900);\n font-size: 12px;\n }\n }\n}\n","import { AttachInternals, Method, Event, EventEmitter, Component, Prop, State, Watch, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-text-field',\n styleUrl: 'spw-text-field.scss',\n formAssociated: true,\n shadow: true,\n})\nexport class SpwTextField {\n /** Événement émis lorsque la valeur de l'input change */\n @Event() valueChanged: EventEmitter<string | number>;\n\n @State() internalValue: string = '';\n\n /** Valeur actuelle du champ de saisie, mutable et reflétée dans le DOM */\n @Prop({ mutable: true, reflect: true }) value?: string;\n /** Type d'input à rendre, par exemple, \"text\", \"password\", etc. */\n @Prop() type?: string = 'text';\n /** Texte à afficher au-dessus du champ de saisie */\n @Prop() label: string = '';\n /** Texte du placeholder pour le champ de saisie */\n @Prop() placeholder: string;\n /** Si `true`, le champ de saisie est désactivé et ne peut pas être utilisé */\n @Prop() disabled?: boolean;\n /** Attribut `name` de l'élément input */\n @Prop() name: string;\n /** Valeur minimale dans le cas d'un input number */\n @Prop() min?: number;\n /** Valeur maximale dans le cas d'un input number */\n @Prop() max?: number;\n /** Valeur d'incrémentation dans le cas d'un input number */\n @Prop() step?: number;\n /** Longueur minimale pour la valeur de l'input */\n @Prop() minLength?: number;\n /** Longueur maximale pour la valeur de l'input */\n @Prop() maxLength?: number;\n /** Indique si l'input est un champ de recherche */\n @Prop() isSearch?: boolean = false;\n /** Indique si le champ peut être effacé avec un bouton */\n @Prop() isClear?: boolean = false;\n /** Indique si l'input est requis */\n @Prop() required?: boolean = false;\n /** Spécifie la taille du champ de saisie : 'large' ou 'medium' */\n @Prop() size?: 'large' | 'medium' = 'medium';\n /** Indicateur à afficher à droite du champ de saisie */\n @Prop() indicator?: string;\n /** Texte d'assistance à afficher sous le champ de saisie */\n @Prop() assistiveText?: string;\n /** Message d'erreur à afficher sous le champ */\n @Prop() error?: string = '';\n /** Message d'indication (hint) à afficher sous le champ */\n @Prop() hint?: string = '';\n /** Message de succès à afficher sous le champ */\n @Prop() success?: string = '';\n /** Message de warning à afficher sous le champ */\n @Prop() warning?: string = '';\n /** Affiche une icône d'erreur si vrai */\n @Prop() showErrorIcon?: boolean = true;\n /** Affiche une icône d'indication si vrai */\n @Prop() showHintIcon?: boolean = true;\n /** Affiche une icône de succès si vrai */\n @Prop() showSuccessIcon?: boolean = true;\n /** Affiche une icône de warning si vrai */\n @Prop() showWarningIcon?: boolean = true;\n\n /** Définition du masque (9 = chiffre, A = lettre majuscule, a = lettre, X = alphanum) */\n @Prop() mask?: string;\n\n @State() isClearIconVisible: boolean = false;\n\n @AttachInternals() internals: ElementInternals;\n\n private inputElement!: HTMLInputElement;\n private lastInputValue: string = '';\n\n @Watch('value')\n valueChangedHandler(newValue: string) {\n this.setValue(newValue);\n }\n\n @Method()\n async setValue(newVal: string) {\n const formatted = this.mask ? this.applyMask(newVal) : newVal;\n this.internalValue = formatted;\n this.value = formatted;\n if (this.inputElement) {\n this.inputElement.value = formatted;\n }\n\n const formVal = this.mask ? this.unmask(formatted) : formatted;\n\n const emitValue = this.getTypedValue(formVal);\n\n this.internals.setFormValue(emitValue ? String(emitValue) : null);\n this.isClearIconVisible = this.isClear && !!formatted;\n this.valueChanged.emit(emitValue);\n this.lastInputValue = formatted;\n }\n\n private getTypedValue(value: string): string | number {\n if (!value) return '';\n\n if (this.type === 'number' && !isNaN(Number(value))) {\n return Number(value);\n }\n\n return value;\n }\n\n componentWillLoad() {\n const start = this.value ?? '';\n this.internalValue = this.mask ? this.applyMask(start) : start;\n this.lastInputValue = this.internalValue;\n }\n\n componentDidLoad() {\n const formVal = this.mask ? this.unmask(this.internalValue) : this.internalValue;\n const typedValue = this.getTypedValue(formVal);\n this.internals.setFormValue(typedValue ? String(typedValue) : null);\n this.isClearIconVisible = this.isClear && !!this.internalValue;\n }\n\n formResetCallback() {\n this.setValue('');\n }\n\n private handleInput(event) {\n if (!this.mask) {\n this.setValue(event.target.value);\n return;\n }\n\n const newValue = event.target.value;\n const cursorPosition = event.target.selectionStart;\n\n if (newValue.length < this.lastInputValue.length) {\n const unmaskedValue = this.unmask(newValue);\n this.setValue(unmaskedValue);\n\n setTimeout(() => {\n if (this.inputElement) {\n const newCursorPos = Math.min(cursorPosition, this.inputElement.value.length);\n this.inputElement.setSelectionRange(newCursorPos, newCursorPos);\n }\n }, 0);\n } else {\n this.setValue(newValue);\n }\n }\n\n private handleClear() {\n this.setValue('');\n }\n\n private unmask(value: string): string {\n return value ? value.replace(/[^0-9A-Za-z]/g, '') : '';\n }\n\n private matchesPlaceholder(char: string, placeholder: string): boolean {\n switch (placeholder) {\n case '9':\n return /[0-9]/.test(char);\n case 'A':\n return /[A-Za-z]/.test(char);\n case 'a':\n return /[A-Za-z]/.test(char);\n case 'X':\n return /[0-9A-Za-z]/.test(char);\n default:\n return false;\n }\n }\n\n private transformForPlaceholder(char: string, placeholder: string): string {\n switch (placeholder) {\n case 'A':\n return char.toUpperCase();\n default:\n return char;\n }\n }\n\n private applyMask(rawOrMasked: string): string {\n if (!this.mask) return rawOrMasked;\n\n const rawChars = this.unmask(rawOrMasked).split('');\n let rawIndex = 0;\n let result = '';\n\n for (let i = 0; i < this.mask.length; i++) {\n const p = this.mask[i];\n\n if (['9', 'A', 'a', 'X'].includes(p)) {\n while (rawIndex < rawChars.length && !this.matchesPlaceholder(rawChars[rawIndex], p)) {\n rawIndex++;\n }\n if (rawIndex >= rawChars.length) {\n break;\n }\n const ch = this.transformForPlaceholder(rawChars[rawIndex], p);\n result += ch;\n rawIndex++;\n } else {\n result += p;\n }\n }\n\n return result;\n }\n\n private renderErrorMessage() {\n if (this.error) {\n return (\n <spw-field-message variant=\"error\" showIcon={this.showErrorIcon}>\n {this.error}\n </spw-field-message>\n );\n }\n }\n\n private renderHintMessage() {\n if (this.hint) {\n return (\n <spw-field-message variant=\"hint\" showIcon={this.showHintIcon}>\n {this.hint}\n </spw-field-message>\n );\n }\n }\n\n private renderSuccessMessage() {\n if (this.success) {\n return (\n <spw-field-message variant=\"success\" showIcon={this.showSuccessIcon}>\n {this.success}\n </spw-field-message>\n );\n }\n }\n\n private renderWarningMessage() {\n if (this.warning) {\n return (\n <spw-field-message variant=\"warning\" showIcon={this.showWarningIcon}>\n {this.warning}\n </spw-field-message>\n );\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-text-field': true,\n [`spw-text-field--${this.size}`]: true,\n 'spw-text-field--is-search': this.isSearch,\n 'spw-text-field--is-error': !!this.error,\n 'spw-text-field--is-clear': this.isClearIconVisible,\n 'spw-text-field--disabled': this.disabled,\n };\n }\n\n render() {\n return (\n <div class={this.elementClass}>\n {this.label && <spw-field-label label={this.label} name={this.name} required={this.required}></spw-field-label>}\n {this.assistiveText && (\n <spw-field-message class=\"spw-tw-mb-2 -spw-tw-mt-1\" variant=\"hint\" showIcon={false}>\n {this.assistiveText}\n </spw-field-message>\n )}\n <div class=\"spw-text-field__container\">\n <div class=\"spw-text-field__input-container\">\n <input\n class=\"spw-text-field__input\"\n ref={el => (this.inputElement = el as HTMLInputElement)}\n type={this.type}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.internalValue}\n placeholder={this.placeholder}\n disabled={this.disabled}\n name={this.name}\n id={this.name}\n minLength={this.minLength}\n maxLength={this.maxLength}\n required={this.required}\n onInput={event => this.handleInput(event)}\n />\n {(this.isSearch || this.isClearIconVisible) && (\n <div class=\"spw-text-field__icons\">\n {this.isClearIconVisible && (\n <span class=\"spw-text-field__clear\" onClick={() => this.handleClear()}>\n <spw-icon class=\"spw-text-field__icon spw-text-field__icon--clear\" icon=\"fa-xmark\"></spw-icon>\n </span>\n )}\n {this.isSearch && <spw-icon class=\"spw-text-field__icon spw-text-field__icon--search\" icon=\"fa-magnifying-glass\"></spw-icon>}\n </div>\n )}\n </div>\n {this.indicator && <div class=\"spw-text-field__indicator\">{this.indicator}</div>}\n </div>\n {this.renderErrorMessage()}\n {this.renderHintMessage()}\n {this.renderSuccessMessage()}\n {this.renderWarningMessage()}\n </div>\n );\n }\n}\n"],"version":3}
@@ -33,7 +33,7 @@ const SpwSeparator = /*@__PURE__*/ proxyCustomElement(class SpwSeparator extends
33
33
  };
34
34
  }
35
35
  render() {
36
- return h("div", { key: '888d77fa5ca4a8030f263a30422e86068500cb29', class: this.elementClass, style: this.style });
36
+ return h("div", { key: 'c122809a584993cfd331619e80000febb3c923ed', class: this.elementClass, style: this.style });
37
37
  }
38
38
  static get style() { return spwSeparatorCss; }
39
39
  }, [1, "spw-separator", {
@@ -58,6 +58,6 @@ function defineCustomElement() {
58
58
  }
59
59
 
60
60
  export { SpwSeparator as S, defineCustomElement as d };
61
- //# sourceMappingURL=p-Bvpi6byK.js.map
61
+ //# sourceMappingURL=p-DHePkzaR.js.map
62
62
 
63
- //# sourceMappingURL=p-Bvpi6byK.js.map
63
+ //# sourceMappingURL=p-DHePkzaR.js.map
@@ -1 +1 @@
1
- {"file":"p-Bvpi6byK.js","mappings":";;AAAA,MAAM,eAAe,GAAG,o+FAAo+F;;MCO/+F,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AALzB,IAAA,WAAA,GAAA;;;;;AAOU,QAAA,IAAO,CAAA,OAAA,GAAqB,MAAM;;AAGlC,QAAA,IAAS,CAAA,SAAA,GAA8B,YAAY;;AAGnD,QAAA,IAAS,CAAA,SAAA,GAAU,CAAC;;AAGpB,QAAA,IAAK,CAAA,KAAA,GAAW,MAAM;;AAGtB,QAAA,IAAM,CAAA,MAAA,GAAW,MAAM;AAqBhC;AAnBC,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACxC,YAAA,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AAC1C,YAAA,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SACrD;;AAGH,IAAA,IAAY,KAAK,GAAA;QACf,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,YAAY,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,SAAS,CAAI,EAAA,CAAA;YAClF,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,SAAS,CAAI,EAAA,CAAA;SACnF;;IAGH,MAAM,GAAA;QACJ,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-separator/spw-separator.scss?tag=spw-separator&encapsulation=shadow","src/components/spw-separator/spw-separator.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-separator {\n display: block;\n border-width: 1px;\n\n &--horizontal {\n border-bottom-style: solid;\n width: auto;\n height: 0;\n }\n\n &--vertical {\n border-right-style: solid;\n width: 0;\n height: auto;\n }\n\n &--dark {\n border-color: var(--spw-colors-support-grey-grey-300);\n }\n\n &--light {\n border-color: var(--spw-ds-white);\n }\n\n &--thickness-1 {\n border-width: 1px;\n }\n\n &--thickness-2 {\n border-width: 2px;\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-separator',\n styleUrl: 'spw-separator.scss',\n shadow: true,\n})\nexport class SpwSeparator {\n /** Permet de choisir la surface du séparateur (clair ou sombre) */\n @Prop() surface: 'dark' | 'light' = 'dark';\n\n /** Permet de définir la direction du séparateur */\n @Prop() direction: 'vertical' | 'horizontal' = 'horizontal';\n\n /** Définit l'épaisseur du séparateur */\n @Prop() thickness: 1 | 2 = 1;\n\n /** Largeur du séparateur (par défaut 100% si non spécifié) */\n @Prop() width: string = '100%';\n\n /** Hauteur du séparateur (par défaut 100% si non spécifié) */\n @Prop() height: string = '100%';\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-separator': true,\n [`spw-separator--${this.surface}`]: true,\n [`spw-separator--${this.direction}`]: true,\n [`spw-separator--thickness-${this.thickness}`]: true,\n };\n }\n\n private get style(): { [key: string]: string } {\n return {\n width: this.direction === 'horizontal' ? `${this.width}px` : `${this.thickness}px`,\n height: this.direction === 'vertical' ? `${this.height}px` : `${this.thickness}px`,\n };\n }\n\n render() {\n return <div class={this.elementClass} style={this.style}></div>;\n }\n}\n"],"version":3}
1
+ {"file":"p-DHePkzaR.js","mappings":";;AAAA,MAAM,eAAe,GAAG,o+FAAo+F;;MCO/+F,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AALzB,IAAA,WAAA,GAAA;;;;;AAOU,QAAA,IAAO,CAAA,OAAA,GAAqB,MAAM;;AAGlC,QAAA,IAAS,CAAA,SAAA,GAA8B,YAAY;;AAGnD,QAAA,IAAS,CAAA,SAAA,GAAU,CAAC;;AAGpB,QAAA,IAAK,CAAA,KAAA,GAAW,MAAM;;AAGtB,QAAA,IAAM,CAAA,MAAA,GAAW,MAAM;AAqBhC;AAnBC,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACxC,YAAA,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;AAC1C,YAAA,CAAC,4BAA4B,IAAI,CAAC,SAAS,CAAE,CAAA,GAAG,IAAI;SACrD;;AAGH,IAAA,IAAY,KAAK,GAAA;QACf,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS,KAAK,YAAY,GAAG,CAAA,EAAG,IAAI,CAAC,KAAK,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,SAAS,CAAI,EAAA,CAAA;YAClF,MAAM,EAAE,IAAI,CAAC,SAAS,KAAK,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,SAAS,CAAI,EAAA,CAAA;SACnF;;IAGH,MAAM,GAAA;QACJ,OAAO,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-separator/spw-separator.scss?tag=spw-separator&encapsulation=shadow","src/components/spw-separator/spw-separator.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-separator {\n display: block;\n border-width: 1px;\n\n &--horizontal {\n border-bottom-style: solid;\n width: auto;\n height: 0;\n }\n\n &--vertical {\n border-right-style: solid;\n width: 0;\n height: auto;\n }\n\n &--dark {\n border-color: var(--spw-colors-support-grey-grey-300);\n }\n\n &--light {\n border-color: var(--spw-ds-white);\n }\n\n &--thickness-1 {\n border-width: 1px;\n }\n\n &--thickness-2 {\n border-width: 2px;\n }\n}\n","import { Component, Prop, h } from '@stencil/core';\n\n@Component({\n tag: 'spw-separator',\n styleUrl: 'spw-separator.scss',\n shadow: true,\n})\nexport class SpwSeparator {\n /** Permet de choisir la surface du séparateur (clair ou sombre) */\n @Prop() surface: 'dark' | 'light' = 'dark';\n\n /** Permet de définir la direction du séparateur */\n @Prop() direction: 'vertical' | 'horizontal' = 'horizontal';\n\n /** Définit l'épaisseur du séparateur */\n @Prop() thickness: 1 | 2 = 1;\n\n /** Largeur du séparateur (par défaut 100% si non spécifié) */\n @Prop() width: string = '100%';\n\n /** Hauteur du séparateur (par défaut 100% si non spécifié) */\n @Prop() height: string = '100%';\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-separator': true,\n [`spw-separator--${this.surface}`]: true,\n [`spw-separator--${this.direction}`]: true,\n [`spw-separator--thickness-${this.thickness}`]: true,\n };\n }\n\n private get style(): { [key: string]: string } {\n return {\n width: this.direction === 'horizontal' ? `${this.width}px` : `${this.thickness}px`,\n height: this.direction === 'vertical' ? `${this.height}px` : `${this.thickness}px`,\n };\n }\n\n render() {\n return <div class={this.elementClass} style={this.style}></div>;\n }\n}\n"],"version":3}
@@ -133,7 +133,7 @@ const SpwTooltip = /*@__PURE__*/ proxyCustomElement(class SpwTooltip extends H {
133
133
  };
134
134
  }
135
135
  render() {
136
- return (h("div", { key: '40dd977476a6f901f5bb52d931e024a1b977fa56', class: this.classes, onMouseEnter: this.showTooltip, onMouseLeave: this.hideTooltip }, h("slot", { key: 'e0e73617f39e74a4ae0bdb28b69aad96a06a2743' })));
136
+ return (h("div", { key: '57cf40213787cdad148032a4c997187c0d6698fd', class: this.classes, onMouseEnter: this.showTooltip, onMouseLeave: this.hideTooltip }, h("slot", { key: '450944c3ed35cc7c77f2cc89fdbc4d41da4fe9d8' })));
137
137
  }
138
138
  get host() { return this; }
139
139
  static get style() { return spwTooltipCss; }
@@ -161,6 +161,6 @@ function defineCustomElement() {
161
161
  }
162
162
 
163
163
  export { SpwTooltip as S, defineCustomElement as d };
164
- //# sourceMappingURL=p-J5AA2xQI.js.map
164
+ //# sourceMappingURL=p-DuDAHfBT.js.map
165
165
 
166
- //# sourceMappingURL=p-J5AA2xQI.js.map
166
+ //# sourceMappingURL=p-DuDAHfBT.js.map
@@ -1 +1 @@
1
- {"file":"p-J5AA2xQI.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-tooltip/spw-tooltip.scss?tag=spw-tooltip&encapsulation=shadow","src/components/spw-tooltip/spw-tooltip.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.spw-tooltip {\n &__target {\n &--pointer {\n cursor: pointer;\n }\n &--default {\n cursor: default;\n }\n &--help {\n cursor: help;\n }\n &--disabled {\n cursor: not-allowed;\n }\n :host(.spw-tooltip--has-ellipsis) & {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n","import { Component, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-tooltip',\n styleUrl: 'spw-tooltip.scss',\n shadow: true,\n})\nexport class SpwTooltip {\n /** Titre du tooltip */\n @Prop() tooltipTitle: string = '';\n /** Texte du tooltip */\n @Prop() tooltipText: string = '';\n /** Largeur maximale du tooltip */\n @Prop() maxWidth?: string;\n /** Positionnement du tooltip */\n @Prop() direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\n /** Curseur du tooltip */\n @Prop() cursor: 'pointer' | 'default' | 'help' | 'disabled' = 'help';\n\n @Prop() visible: boolean = true;\n\n @State() isVisible = false;\n @Element() host: HTMLElement;\n\n private tooltipEl: HTMLDivElement;\n\n connectedCallback() {\n this.handleScrollOrResize = this.handleScrollOrResize.bind(this);\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.handleScrollOrResize, true);\n window.removeEventListener('resize', this.handleScrollOrResize);\n this.removeTooltipFromDOM();\n }\n\n private updateTooltipVisibility() {\n if (this.tooltipEl) {\n this.tooltipEl.style.display = this.visible ? 'flex' : 'none';\n }\n }\n\n componentWillRender() {\n this.updateTooltipVisibility();\n }\n\n componentDidUpdate() {\n this.updateTooltipVisibility();\n }\n\n private showTooltip = () => {\n if (!this.visible) return;\n this.isVisible = true;\n this.createTooltip();\n\n requestAnimationFrame(() => {\n this.positionTooltip();\n });\n\n window.addEventListener('scroll', this.handleScrollOrResize, true);\n window.addEventListener('resize', this.handleScrollOrResize);\n };\n\n private hideTooltip = () => {\n this.isVisible = false;\n this.removeTooltipFromDOM();\n window.removeEventListener('scroll', this.handleScrollOrResize, true);\n window.removeEventListener('resize', this.handleScrollOrResize);\n };\n\n private handleScrollOrResize() {\n if (this.isVisible) {\n this.positionTooltip();\n }\n }\n\n private createTooltip() {\n if (!this.tooltipEl) {\n this.tooltipEl = document.createElement('div');\n this.tooltipEl.className = `spw-tooltip-fixed spw-tooltip-fixed--${this.direction}`;\n this.tooltipEl.setAttribute('role', 'tooltip');\n\n if (this.tooltipTitle) {\n const title = document.createElement('strong');\n title.className = 'spw-tooltip__title';\n title.textContent = this.tooltipTitle;\n this.tooltipEl.appendChild(title);\n }\n\n if (this.tooltipText) {\n const text = document.createElement('div');\n text.textContent = this.tooltipText;\n this.tooltipEl.appendChild(text);\n }\n\n document.body.appendChild(this.tooltipEl);\n }\n }\n\n private removeTooltipFromDOM() {\n if (this.tooltipEl && this.tooltipEl.parentNode) {\n this.tooltipEl.parentNode.removeChild(this.tooltipEl);\n }\n this.tooltipEl = null;\n }\n\n private positionTooltip() {\n if (!this.tooltipEl) return;\n\n const target = this.host.shadowRoot?.querySelector('.spw-tooltip__target');\n if (!target) return;\n\n const rect = target.getBoundingClientRect();\n const tooltip = this.tooltipEl;\n\n tooltip.style.visibility = 'hidden';\n tooltip.style.display = 'flex';\n tooltip.style.position = 'fixed';\n tooltip.style.top = '0px';\n tooltip.style.left = '0px';\n tooltip.style.maxWidth = this.maxWidth + 'px' || '100%';\n\n const tooltipRect = tooltip.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n\n switch (this.direction) {\n case 'top':\n top = rect.top - tooltipRect.height - 8;\n left = rect.left + (rect.width - tooltipRect.width) / 2;\n break;\n case 'bottom':\n top = rect.bottom + 8;\n left = rect.left + (rect.width - tooltipRect.width) / 2;\n break;\n case 'left':\n top = rect.top + (rect.height - tooltipRect.height) / 2;\n left = rect.left - tooltipRect.width - 8;\n break;\n case 'right':\n default:\n top = rect.top + (rect.height - tooltipRect.height) / 2;\n left = rect.right + 8;\n break;\n }\n\n tooltip.style.top = `${top}px`;\n tooltip.style.left = `${left}px`;\n tooltip.style.zIndex = '9999';\n tooltip.style.visibility = 'visible';\n }\n\n private get classes() {\n return {\n 'spw-tooltip__target': true,\n [`spw-tooltip__target--${this.cursor}`]: true,\n } as Record<string, boolean>;\n }\n\n render() {\n return (\n <div class={this.classes} onMouseEnter={this.showTooltip} onMouseLeave={this.hideTooltip}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-DuDAHfBT.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-tooltip/spw-tooltip.scss?tag=spw-tooltip&encapsulation=shadow","src/components/spw-tooltip/spw-tooltip.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.spw-tooltip {\n &__target {\n &--pointer {\n cursor: pointer;\n }\n &--default {\n cursor: default;\n }\n &--help {\n cursor: help;\n }\n &--disabled {\n cursor: not-allowed;\n }\n :host(.spw-tooltip--has-ellipsis) & {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n }\n}\n","import { Component, h, Prop, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-tooltip',\n styleUrl: 'spw-tooltip.scss',\n shadow: true,\n})\nexport class SpwTooltip {\n /** Titre du tooltip */\n @Prop() tooltipTitle: string = '';\n /** Texte du tooltip */\n @Prop() tooltipText: string = '';\n /** Largeur maximale du tooltip */\n @Prop() maxWidth?: string;\n /** Positionnement du tooltip */\n @Prop() direction: 'top' | 'bottom' | 'left' | 'right' = 'top';\n /** Curseur du tooltip */\n @Prop() cursor: 'pointer' | 'default' | 'help' | 'disabled' = 'help';\n\n @Prop() visible: boolean = true;\n\n @State() isVisible = false;\n @Element() host: HTMLElement;\n\n private tooltipEl: HTMLDivElement;\n\n connectedCallback() {\n this.handleScrollOrResize = this.handleScrollOrResize.bind(this);\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.handleScrollOrResize, true);\n window.removeEventListener('resize', this.handleScrollOrResize);\n this.removeTooltipFromDOM();\n }\n\n private updateTooltipVisibility() {\n if (this.tooltipEl) {\n this.tooltipEl.style.display = this.visible ? 'flex' : 'none';\n }\n }\n\n componentWillRender() {\n this.updateTooltipVisibility();\n }\n\n componentDidUpdate() {\n this.updateTooltipVisibility();\n }\n\n private showTooltip = () => {\n if (!this.visible) return;\n this.isVisible = true;\n this.createTooltip();\n\n requestAnimationFrame(() => {\n this.positionTooltip();\n });\n\n window.addEventListener('scroll', this.handleScrollOrResize, true);\n window.addEventListener('resize', this.handleScrollOrResize);\n };\n\n private hideTooltip = () => {\n this.isVisible = false;\n this.removeTooltipFromDOM();\n window.removeEventListener('scroll', this.handleScrollOrResize, true);\n window.removeEventListener('resize', this.handleScrollOrResize);\n };\n\n private handleScrollOrResize() {\n if (this.isVisible) {\n this.positionTooltip();\n }\n }\n\n private createTooltip() {\n if (!this.tooltipEl) {\n this.tooltipEl = document.createElement('div');\n this.tooltipEl.className = `spw-tooltip-fixed spw-tooltip-fixed--${this.direction}`;\n this.tooltipEl.setAttribute('role', 'tooltip');\n\n if (this.tooltipTitle) {\n const title = document.createElement('strong');\n title.className = 'spw-tooltip__title';\n title.textContent = this.tooltipTitle;\n this.tooltipEl.appendChild(title);\n }\n\n if (this.tooltipText) {\n const text = document.createElement('div');\n text.textContent = this.tooltipText;\n this.tooltipEl.appendChild(text);\n }\n\n document.body.appendChild(this.tooltipEl);\n }\n }\n\n private removeTooltipFromDOM() {\n if (this.tooltipEl && this.tooltipEl.parentNode) {\n this.tooltipEl.parentNode.removeChild(this.tooltipEl);\n }\n this.tooltipEl = null;\n }\n\n private positionTooltip() {\n if (!this.tooltipEl) return;\n\n const target = this.host.shadowRoot?.querySelector('.spw-tooltip__target');\n if (!target) return;\n\n const rect = target.getBoundingClientRect();\n const tooltip = this.tooltipEl;\n\n tooltip.style.visibility = 'hidden';\n tooltip.style.display = 'flex';\n tooltip.style.position = 'fixed';\n tooltip.style.top = '0px';\n tooltip.style.left = '0px';\n tooltip.style.maxWidth = this.maxWidth + 'px' || '100%';\n\n const tooltipRect = tooltip.getBoundingClientRect();\n\n let top = 0;\n let left = 0;\n\n switch (this.direction) {\n case 'top':\n top = rect.top - tooltipRect.height - 8;\n left = rect.left + (rect.width - tooltipRect.width) / 2;\n break;\n case 'bottom':\n top = rect.bottom + 8;\n left = rect.left + (rect.width - tooltipRect.width) / 2;\n break;\n case 'left':\n top = rect.top + (rect.height - tooltipRect.height) / 2;\n left = rect.left - tooltipRect.width - 8;\n break;\n case 'right':\n default:\n top = rect.top + (rect.height - tooltipRect.height) / 2;\n left = rect.right + 8;\n break;\n }\n\n tooltip.style.top = `${top}px`;\n tooltip.style.left = `${left}px`;\n tooltip.style.zIndex = '9999';\n tooltip.style.visibility = 'visible';\n }\n\n private get classes() {\n return {\n 'spw-tooltip__target': true,\n [`spw-tooltip__target--${this.cursor}`]: true,\n } as Record<string, boolean>;\n }\n\n render() {\n return (\n <div class={this.classes} onMouseEnter={this.showTooltip} onMouseLeave={this.hideTooltip}>\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
2
2
  import { d as defineCustomElement$2 } from './p-_q4w18VU.js';
3
3
 
4
- const spwHeaderNavigationItemCss = "/*! 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;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)}}@media (min-width:1024px){:host{display:contents;width:auto}}.spw-header-navigation-item{background:#fff;color:var(--spw-colors-support-grey-grey-900);font-size:16px;font-weight:700}@media (max-width:1023px){.spw-header-navigation-item ::slotted(a:hover){color:var(--spw-ds-primary)!important}}:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a){font-size:20px;padding:24px 16px;position:relative}:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a):before{background:var(--spw-colors-support-grey-grey-300);content:\"\";height:1px;left:16px;position:absolute;top:0;width:calc(100% - 32px)}@media (min-width:1024px){:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a){border-bottom:0;font-size:16px;padding:20px 16px}:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a):before{background:var(--spw-ds-primary);bottom:0;content:\"\";height:3px;left:16px;position:absolute;top:auto;width:0}:host([data-level=\"1\"]) .spw-header-navigation-item:hover ::slotted(spw-header-navigation-dropdown){margin-left:16px;opacity:1;pointer-events:auto;top:100%;transition:opacity .1s ease-in}:host([data-level=\"1\"]) .spw-header-navigation-item:hover ::slotted(a){color:var(--spw-ds-primary)!important}:host([data-level=\"1\"]) .spw-header-navigation-item:hover ::slotted(a):before{width:calc(100% - 32px)}}:host([data-level=\"1\"]) .spw-header-navigation-item--has-subnav ::slotted(a):after{content:\"\\f054\";font-family:var(--spw-ds-font-icons-solid);font-size:18px}@media (min-width:1024px){:host([data-level=\"1\"]) .spw-header-navigation-item--has-subnav ::slotted(a):after{content:\"\\f078\";font-size:14px}}:host([data-level=\"1\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){z-index:10}:host([data-level=\"1\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(a):after{content:\"\\f054\"}@media (min-width:1024px){:host([data-level=\"1\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(a):after{content:\"\\f078\"}}:host([data-level=\"2\"]) .spw-header-navigation-item ::slotted(a){font-size:18px;font-weight:400;padding:12px 16px}@media (min-width:1024px){:host([data-level=\"2\"]) .spw-header-navigation-item ::slotted(a){font-size:16px;font-weight:700;padding:20px}:host([data-level=\"2\"]) .spw-header-navigation-item:hover ::slotted(spw-header-navigation-dropdown){left:100%;opacity:1;pointer-events:auto;top:0;transition:opacity .1s ease-in;z-index:38}:host([data-level=\"2\"]) .spw-header-navigation-item:hover ::slotted(a){background:var(--spw-colors-support-grey-grey-100);color:var(--spw-ds-primary)!important}:host([data-level=\"2\"]) .spw-header-navigation-item:hover ::slotted(a):before{display:none}}:host([data-level=\"2\"]) .spw-header-navigation-item--has-subnav ::slotted(a):after{content:\"\\f054\";font-family:var(--spw-ds-font-icons-solid);font-weight:700}:host([data-level=\"2\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){z-index:11}:host([data-level=\"2\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(a):after{content:\"\\f054\"}:host([data-level=\"3\"]) .spw-header-navigation-item ::slotted(a){font-size:16px;font-weight:400;padding:12px 16px}@media (min-width:1024px){:host([data-level=\"3\"]) .spw-header-navigation-item ::slotted(a){font-size:16px;font-weight:700;padding:20px}:host([data-level=\"3\"]) .spw-header-navigation-item ::slotted(a:hover){color:var(--spw-ds-primary)!important}}:host([data-level=\"3\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){z-index:12}.spw-header-navigation-item--is-active ::slotted(a){color:var(--spw-ds-primary)!important}.spw-header-navigation-item ::slotted(a){align-items:center;color:inherit;display:inline-flex;gap:8px;justify-content:space-between;padding:16px 0;position:relative;text-decoration:none;width:100%}@media (min-width:1024px){.spw-header-navigation-item ::slotted(a){padding:16px}.spw-header-navigation-item ::slotted(a):before{background:var(--spw-ds-primary);bottom:0;content:\"\";height:5px;left:16px;position:absolute;transition:width .2s ease-in;width:0}}.spw-header-navigation-item ::slotted(a:focus-visible){box-shadow:0 0 0 3px #000;outline:3px solid #fff;outline-offset:-3px}.spw-header-navigation-item ::slotted(a:active){color:var(--spw-ds-primary)!important}.spw-header-navigation-item ::slotted(spw-header-navigation-dropdown){display:none;opacity:0}@media (min-width:1024px){.spw-header-navigation-item ::slotted(spw-header-navigation-dropdown){box-shadow:var(--spw-effect-elevation-8);display:block;opacity:0;pointer-events:none;position:absolute;width:320px}}@media (max-width:1023px){.spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){background:#fff;display:block;left:0;margin-top:0;min-height:100%;opacity:1;overflow-y:auto;padding-top:132px;position:absolute;top:0;width:100%}}.spw-header-navigation-item__top{background:#fff;border-bottom:1px solid var(--spw-colors-support-grey-grey-300);display:flex;flex-direction:column;height:118px;justify-content:space-between;left:16px;padding:24px 0;position:absolute;top:0;width:calc(100% - 32px);z-index:9999999}.spw-header-navigation-item__top-back{align-items:center;color:var(--spw-colors-support-grey-grey-900);display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:left;text-decoration:none}.spw-header-navigation-item__top-back span{text-decoration:underline}.spw-header-navigation-item__top-back spw-icon{font-size:18px}.spw-header-navigation-item__top-title a{color:var(--spw-colors-support-grey-grey-900);display:block;font-size:20px;font-weight:700;overflow:hidden;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap}:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--1{display:flex}@media (min-width:1024px){:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--1{display:none}}:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--1{display:none}:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--1{display:none}:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--2{display:none}:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--2{display:flex}@media (min-width:1024px){:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--2{display:none}}:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--2{display:none}:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--3{display:none}:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--3{display:none}:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--3{display:flex}@media (min-width:1024px){:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--3{display:none}.spw-header-navigation-item__top{display:none}}";
4
+ const spwHeaderNavigationItemCss = "/*! 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;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)}}@media (min-width:1024px){:host{display:contents;width:auto}}.spw-header-navigation-item{background:#fff;color:var(--spw-colors-support-grey-grey-900);font-size:16px;font-weight:700}@media (max-width:1023px){.spw-header-navigation-item ::slotted(a:hover){color:var(--spw-ds-primary)!important}}:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a){font-size:20px;padding:24px 16px;position:relative}:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a):before{background:var(--spw-colors-support-grey-grey-300);content:\"\";height:1px;left:16px;position:absolute;top:0;width:calc(100% - 32px)}@media (min-width:1024px){:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a){border-bottom:0;font-size:16px;padding:20px 16px}:host([data-level=\"1\"]) .spw-header-navigation-item ::slotted(a):before{background:var(--spw-ds-primary);bottom:0;content:\"\";height:3px;left:16px;position:absolute;top:auto;width:0}:host([data-level=\"1\"]) .spw-header-navigation-item:hover ::slotted(spw-header-navigation-dropdown){margin-left:16px;opacity:1;pointer-events:auto;top:100%;transition:opacity .1s ease-in}:host([data-level=\"1\"]) .spw-header-navigation-item:hover ::slotted(a){color:var(--spw-ds-primary)!important}:host([data-level=\"1\"]) .spw-header-navigation-item:hover ::slotted(a):before{width:calc(100% - 32px)}}:host([data-level=\"1\"]) .spw-header-navigation-item--has-subnav ::slotted(a):after{content:\"\\f054\";font-family:var(--spw-ds-font-icons-solid);font-size:18px}@media (min-width:1024px){:host([data-level=\"1\"]) .spw-header-navigation-item--has-subnav ::slotted(a):after{content:\"\\f078\";font-size:14px}}:host([data-level=\"1\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){z-index:10}:host([data-level=\"1\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(a):after{content:\"\\f054\"}@media (min-width:1024px){:host([data-level=\"1\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(a):after{content:\"\\f078\"}:host([data-level=\"2\"]) .spw-header-navigation-item{position:relative}}:host([data-level=\"2\"]) .spw-header-navigation-item ::slotted(a){font-size:18px;font-weight:400;padding:12px 16px}@media (min-width:1024px){:host([data-level=\"2\"]) .spw-header-navigation-item ::slotted(a){font-size:16px;font-weight:700;padding:20px}:host([data-level=\"2\"]) .spw-header-navigation-item:hover ::slotted(spw-header-navigation-dropdown){left:100%;opacity:1;pointer-events:auto;top:0;transition:opacity .1s ease-in;z-index:38}:host([data-level=\"2\"]) .spw-header-navigation-item:hover ::slotted(a){background:var(--spw-colors-support-grey-grey-100);color:var(--spw-ds-primary)!important}:host([data-level=\"2\"]) .spw-header-navigation-item:hover ::slotted(a):before{display:none}}:host([data-level=\"2\"]) .spw-header-navigation-item--has-subnav ::slotted(a):after{content:\"\\f054\";font-family:var(--spw-ds-font-icons-solid);font-weight:700}:host([data-level=\"2\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){z-index:11}:host([data-level=\"2\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(a):after{content:\"\\f054\"}:host([data-level=\"3\"]) .spw-header-navigation-item ::slotted(a){font-size:16px;font-weight:400;padding:12px 16px}@media (min-width:1024px){:host([data-level=\"3\"]) .spw-header-navigation-item ::slotted(a){font-size:16px;font-weight:700;padding:20px}:host([data-level=\"3\"]) .spw-header-navigation-item ::slotted(a:hover){color:var(--spw-ds-primary)!important}}:host([data-level=\"3\"]) .spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){z-index:12}.spw-header-navigation-item--is-active ::slotted(a){color:var(--spw-ds-primary)!important}.spw-header-navigation-item ::slotted(a){align-items:center;color:inherit;display:inline-flex;gap:8px;justify-content:space-between;padding:16px 0;position:relative;text-decoration:none;width:100%}@media (min-width:1024px){.spw-header-navigation-item ::slotted(a){padding:16px}.spw-header-navigation-item ::slotted(a):before{background:var(--spw-ds-primary);bottom:0;content:\"\";height:5px;left:16px;position:absolute;transition:width .2s ease-in;width:0}}.spw-header-navigation-item ::slotted(a:focus-visible){box-shadow:0 0 0 3px #000;outline:3px solid #fff;outline-offset:-3px}.spw-header-navigation-item ::slotted(a:active){color:var(--spw-ds-primary)!important}.spw-header-navigation-item ::slotted(spw-header-navigation-dropdown){display:none;opacity:0}@media (min-width:1024px){.spw-header-navigation-item ::slotted(spw-header-navigation-dropdown){box-shadow:var(--spw-effect-elevation-8);display:block;opacity:0;pointer-events:none;position:absolute;width:320px}}@media (max-width:1023px){.spw-header-navigation-item--is-subnav-visible ::slotted(spw-header-navigation-dropdown){background:#fff;display:block;left:0;margin-top:0;min-height:100%;opacity:1;overflow-y:auto;padding-top:132px;position:absolute;top:0;width:100%}}.spw-header-navigation-item__top{background:#fff;border-bottom:1px solid var(--spw-colors-support-grey-grey-300);display:flex;flex-direction:column;height:118px;justify-content:space-between;left:16px;padding:24px 0;position:absolute;top:0;width:calc(100% - 32px);z-index:9999999}.spw-header-navigation-item__top-back{align-items:center;color:var(--spw-colors-support-grey-grey-900);display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:left;text-decoration:none}.spw-header-navigation-item__top-back span{text-decoration:underline}.spw-header-navigation-item__top-back spw-icon{font-size:18px}.spw-header-navigation-item__top-title a{color:var(--spw-colors-support-grey-grey-900);display:block;font-size:20px;font-weight:700;overflow:hidden;text-decoration:underline;text-overflow:ellipsis;white-space:nowrap}:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--1{display:flex}@media (min-width:1024px){:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--1{display:none}}:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--1{display:none}:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--1{display:none}:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--2{display:none}:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--2{display:flex}@media (min-width:1024px){:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--2{display:none}}:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--2{display:none}:host([data-level-visible=\"1\"]) .spw-header-navigation-item__top--3{display:none}:host([data-level-visible=\"2\"]) .spw-header-navigation-item__top--3{display:none}:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--3{display:flex}@media (min-width:1024px){:host([data-level-visible=\"3\"]) .spw-header-navigation-item__top--3{display:none}.spw-header-navigation-item__top{display:none}}";
5
5
 
6
6
  const SpwHeaderNavigationItem$1 = /*@__PURE__*/ proxyCustomElement(class SpwHeaderNavigationItem extends H {
7
7
  constructor() {
@@ -1 +1 @@
1
- {"file":"spw-header-navigation-item.js","mappings":"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","names":["SpwHeaderNavigationItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.scss?tag=spw-header-navigation-item&encapsulation=shadow","src/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n @include breakpoint(lg) {\n display: contents;\n width: auto;\n }\n}\n\n.spw-header-navigation-item {\n color: var(--spw-colors-support-grey-grey-900);\n font-size: 16px;\n font-weight: 700;\n background: white;\n\n ::slotted(a:hover) {\n @include under-breakpoint(lg) {\n color: var(--spw-ds-primary) !important;\n }\n }\n\n :host([data-level='1']) & {\n ::slotted(a) {\n position: relative;\n padding: 24px 16px;\n font-size: 20px;\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 16px;\n width: calc(100% - 32px);\n height: 1px;\n background: var(--spw-colors-support-grey-grey-300);\n }\n @include breakpoint(lg) {\n padding: 20px 16px;\n font-size: 16px;\n border-bottom: 0;\n &:before {\n content: '';\n position: absolute;\n top: auto;\n bottom: 0;\n left: 16px;\n width: 0;\n height: 3px;\n background: var(--spw-ds-primary);\n }\n }\n }\n &:hover {\n @include breakpoint(lg) {\n ::slotted(spw-header-navigation-dropdown) {\n pointer-events: auto;\n opacity: 1;\n top: 100%;\n margin-left: 16px;\n transition: opacity 0.1s ease-in;\n }\n ::slotted(a) {\n color: var(--spw-ds-primary) !important;\n &:before {\n width: calc(100% - 32px);\n }\n }\n }\n }\n\n &--has-subnav {\n ::slotted(a) {\n &:after {\n font-family: var(--spw-ds-font-icons-solid);\n content: '\\f054';\n font-size: 18px;\n @include breakpoint(lg) {\n content: '\\f078';\n font-size: 14px;\n }\n }\n }\n }\n\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n z-index: 10;\n }\n ::slotted(a) {\n &:after {\n content: '\\f054';\n @include breakpoint(lg) {\n content: '\\f078';\n }\n }\n }\n }\n }\n\n :host([data-level='2']) & {\n ::slotted(a) {\n padding: 12px 16px;\n font-weight: 400;\n font-size: 18px;\n @include breakpoint(lg) {\n padding: 20px;\n font-weight: 700;\n font-size: 16px;\n }\n }\n @include breakpoint(lg) {\n &:hover {\n ::slotted(spw-header-navigation-dropdown) {\n pointer-events: auto;\n opacity: 1;\n left: 100%;\n top: 0;\n transition: opacity 0.1s ease-in;\n z-index: 38;\n }\n ::slotted(a) {\n color: var(--spw-ds-primary) !important;\n background: var(--spw-colors-support-grey-grey-100);\n &:before {\n display: none;\n }\n }\n }\n }\n\n &--has-subnav {\n ::slotted(a) {\n &:after {\n font-family: var(--spw-ds-font-icons-solid);\n content: '\\f054';\n font-weight: 700;\n }\n }\n }\n\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n z-index: 11;\n }\n ::slotted(a) {\n &:after {\n content: '\\f054';\n }\n }\n }\n }\n\n :host([data-level='3']) & {\n ::slotted(a) {\n padding: 12px 16px;\n font-weight: 400;\n font-size: 16px;\n @include breakpoint(lg) {\n padding: 20px;\n font-weight: 700;\n font-size: 16px;\n }\n }\n ::slotted(a:hover) {\n @include breakpoint(lg) {\n color: var(--spw-ds-primary) !important;\n }\n }\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n z-index: 12;\n }\n }\n }\n\n &--is-active {\n ::slotted(a) {\n color: var(--spw-ds-primary) !important;\n }\n }\n\n ::slotted(a) {\n display: inline-flex;\n position: relative;\n color: inherit;\n text-decoration: none;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n padding: 16px 0;\n @include breakpoint(lg) {\n padding: 16px;\n }\n &:before {\n @include breakpoint(lg) {\n content: '';\n transition: width 0.2s ease-in;\n bottom: 0;\n left: 16px;\n height: 5px;\n width: 0;\n position: absolute;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n ::slotted(a:focus-visible) {\n outline: 3px solid white;\n outline-offset: -3px;\n box-shadow: 0 0 0 3px black;\n }\n\n ::slotted(a:active) {\n color: var(--spw-ds-primary) !important;\n }\n\n ::slotted(spw-header-navigation-dropdown) {\n display: none;\n opacity: 0;\n @include breakpoint(lg) {\n display: block;\n pointer-events: none;\n opacity: 0;\n position: absolute;\n width: 320px;\n box-shadow: var(--spw-effect-elevation-8);\n }\n }\n\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n @include under-breakpoint(lg) {\n display: block;\n opacity: 1;\n position: absolute;\n background: white;\n width: 100%;\n margin-top: 0;\n padding-top: 132px;\n top: 0;\n left: 0;\n min-height: 100%;\n overflow-y: auto;\n }\n }\n }\n}\n\n.spw-header-navigation-item__top {\n position: absolute;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n top: 0;\n left: 16px;\n height: 118px;\n z-index: 9999999;\n width: calc(100% - 32px);\n padding: 24px 0;\n background: white;\n border-bottom: 1px solid var(--spw-colors-support-grey-grey-300);\n\n &-back {\n gap: 8px;\n display: flex;\n justify-content: left;\n align-items: center;\n font-weight: 700;\n font-size: 14px;\n text-decoration: none;\n color: var(--spw-colors-support-grey-grey-900);\n span {\n text-decoration: underline;\n }\n spw-icon {\n font-size: 18px;\n }\n }\n\n &-title {\n a {\n font-size: 20px;\n font-weight: 700;\n text-decoration: underline;\n color: var(--spw-colors-support-grey-grey-900);\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n\n &--1 {\n :host([data-level-visible='1']) & {\n display: flex;\n @include breakpoint(lg) {\n display: none;\n }\n }\n :host([data-level-visible='2']) & {\n display: none;\n }\n :host([data-level-visible='3']) & {\n display: none;\n }\n }\n\n &--2 {\n :host([data-level-visible='1']) & {\n display: none;\n }\n :host([data-level-visible='2']) & {\n display: flex;\n @include breakpoint(lg) {\n display: none;\n }\n }\n :host([data-level-visible='3']) & {\n display: none;\n }\n }\n\n &--3 {\n :host([data-level-visible='1']) & {\n display: none;\n }\n :host([data-level-visible='2']) & {\n display: none;\n }\n :host([data-level-visible='3']) & {\n display: flex;\n @include breakpoint(lg) {\n display: none;\n }\n }\n }\n\n @include breakpoint(lg) {\n display: none;\n }\n}\n","import { Component, Event, EventEmitter, Host, h, Prop, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'spw-header-navigation-item',\n styleUrl: 'spw-header-navigation-item.scss',\n shadow: true,\n})\nexport class SpwHeaderNavigationItem {\n @Element() el: HTMLSpwHeaderNavigationItemElement;\n\n /** Définit si l'élément de menu est la page courante */\n @Prop() isActive: boolean = false;\n\n @State() internalIsActive: boolean = false;\n @State() hasSubnav: boolean = false;\n @State() level: number = 1;\n @State() isSubnavVisible: boolean = false;\n @State() lastClickedLevel1Item: string | null = null;\n @State() isMobile: boolean = window.innerWidth < 1024;\n\n @Event() spwHeaderNavigationNavigate: EventEmitter<{ level: number; element: HTMLSpwHeaderNavigationItemElement }>;\n\n componentWillLoad() {\n this.internalIsActive = this.isActive;\n this.checkForSubnav();\n this.calculateLevel();\n this.updateLevelClass();\n }\n\n componentWillUpdate() {\n if (this.isActive !== this.internalIsActive) {\n this.internalIsActive = this.isActive;\n }\n this.updateLevelClass();\n }\n\n private checkForSubnav() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedElements = slot.assignedElements({ flatten: true });\n const hasSubnav = assignedElements.some(el => el.tagName === 'SPW-HEADER-NAVIGATION-DROPDOWN');\n\n if (hasSubnav !== this.hasSubnav) {\n this.hasSubnav = hasSubnav;\n }\n }\n }\n\n private calculateLevel() {\n let level = 1;\n let parent = this.el.parentElement;\n\n while (parent && parent.tagName !== 'SPW-HEADER-NAVIGATION') {\n if (parent.tagName === 'SPW-HEADER-NAVIGATION-DROPDOWN') {\n level++;\n }\n parent = parent.parentElement;\n }\n\n this.level = level;\n }\n\n private updateLevelClass() {\n const htmlElement = document.documentElement;\n Array.from(htmlElement.classList).forEach(className => {\n if (className.startsWith('spw-ds-nav-level-')) {\n htmlElement.classList.remove(className);\n }\n });\n htmlElement.classList.add(`spw-ds-nav-level-${this.level}`);\n this.spwHeaderNavigationNavigate.emit({ level: this.level, element: this.el });\n }\n\n private toggleSubnavVisibility(event: MouseEvent) {\n if (!this.isMobile) return;\n\n event.stopPropagation();\n\n if (this.hasSubnav && !this.isSubnavVisible) {\n const isMobileScreen = window.matchMedia('(max-width: 1024px)').matches;\n if (isMobileScreen) {\n event.preventDefault();\n }\n\n if (this.level === 1) {\n this.lastClickedLevel1Item = this.el.innerText;\n document.documentElement.setAttribute('data-ds-nav-level1', this.lastClickedLevel1Item);\n }\n\n this.isSubnavVisible = !this.isSubnavVisible;\n\n if (this.isSubnavVisible) {\n this.level++;\n this.updateLevelClass();\n }\n }\n }\n\n private getStoredLevel1Item(): string {\n return document.documentElement.getAttribute('data-ds-nav-level1') || '';\n }\n\n private handleBackClick(event: MouseEvent) {\n event.stopPropagation();\n\n this.isSubnavVisible = false;\n\n if (this.level > 1) {\n this.level--;\n this.updateLevelClass();\n }\n\n this.internalIsActive = false;\n\n if (this.level === 1 && !this.isSubnavVisible) {\n this.lastClickedLevel1Item = null;\n document.documentElement.removeAttribute('data-ds-nav-level1');\n }\n }\n\n private getPageTitle(): { title: string; link: string | null; target: string | null } | null {\n const parent = this.el.shadowRoot.querySelector('slot');\n\n if (parent) {\n const assignedElements = parent.assignedElements({ flatten: true }) as HTMLElement[];\n\n if (assignedElements.length > 0) {\n const firstElement = assignedElements[0];\n\n const title = firstElement.innerText || '';\n const link = (firstElement as HTMLAnchorElement).href || null;\n const target = (firstElement as HTMLAnchorElement).target || null;\n\n return { title, link, target };\n }\n }\n\n return null;\n }\n\n async componentDidLoad() {\n setTimeout(() => {\n this.checkForSubnav();\n }, 0);\n\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const mutationObserver = new MutationObserver(() => {\n this.checkForSubnav();\n });\n\n mutationObserver.observe(slot, { childList: true, subtree: true });\n }\n }\n\n render() {\n const pageTitle = this.getPageTitle();\n const storedTitle = this.getStoredLevel1Item();\n\n const elementClass = {\n 'spw-header-navigation-item': true,\n 'spw-header-navigation-item--has-subnav': this.hasSubnav,\n 'spw-header-navigation-item--is-active': this.internalIsActive,\n 'spw-header-navigation-item--is-subnav-visible': this.isSubnavVisible,\n };\n\n return (\n <Host data-level={this.level}>\n <li class={elementClass}>\n <div class=\"spw-header-navigation-item__content\" onClick={event => this.toggleSubnavVisibility(event)}>\n {this.isSubnavVisible && (\n <div class={`spw-header-navigation-item__top spw-header-navigation-item__top--${this.level}`}>\n <div class=\"spw-header-navigation-item__top-back\" onClick={event => this.handleBackClick(event)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>{this.level === 1 ? '' : this.level === 2 ? 'Menu principal' : storedTitle}</span>\n </div>\n <div class=\"spw-header-navigation-item__top-title\">\n <a href={pageTitle?.link || '#'} target={pageTitle?.target || '_self'}>\n {pageTitle?.title || ''}\n </a>\n </div>\n </div>\n )}\n <slot></slot>\n </div>\n </li>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"spw-header-navigation-item.js","mappings":"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","names":["SpwHeaderNavigationItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.scss?tag=spw-header-navigation-item&encapsulation=shadow","src/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n @include breakpoint(lg) {\n display: contents;\n width: auto;\n }\n}\n\n.spw-header-navigation-item {\n color: var(--spw-colors-support-grey-grey-900);\n font-size: 16px;\n font-weight: 700;\n background: white;\n\n ::slotted(a:hover) {\n @include under-breakpoint(lg) {\n color: var(--spw-ds-primary) !important;\n }\n }\n\n :host([data-level='1']) & {\n ::slotted(a) {\n position: relative;\n padding: 24px 16px;\n font-size: 20px;\n &:before {\n content: '';\n position: absolute;\n top: 0;\n left: 16px;\n width: calc(100% - 32px);\n height: 1px;\n background: var(--spw-colors-support-grey-grey-300);\n }\n @include breakpoint(lg) {\n padding: 20px 16px;\n font-size: 16px;\n border-bottom: 0;\n &:before {\n content: '';\n position: absolute;\n top: auto;\n bottom: 0;\n left: 16px;\n width: 0;\n height: 3px;\n background: var(--spw-ds-primary);\n }\n }\n }\n &:hover {\n @include breakpoint(lg) {\n ::slotted(spw-header-navigation-dropdown) {\n pointer-events: auto;\n opacity: 1;\n top: 100%;\n margin-left: 16px;\n transition: opacity 0.1s ease-in;\n }\n ::slotted(a) {\n color: var(--spw-ds-primary) !important;\n &:before {\n width: calc(100% - 32px);\n }\n }\n }\n }\n\n &--has-subnav {\n ::slotted(a) {\n &:after {\n font-family: var(--spw-ds-font-icons-solid);\n content: '\\f054';\n font-size: 18px;\n @include breakpoint(lg) {\n content: '\\f078';\n font-size: 14px;\n }\n }\n }\n }\n\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n z-index: 10;\n }\n ::slotted(a) {\n &:after {\n content: '\\f054';\n @include breakpoint(lg) {\n content: '\\f078';\n }\n }\n }\n }\n }\n\n :host([data-level='2']) & {\n @include breakpoint(lg) {\n position: relative;\n }\n ::slotted(a) {\n padding: 12px 16px;\n font-weight: 400;\n font-size: 18px;\n @include breakpoint(lg) {\n padding: 20px;\n font-weight: 700;\n font-size: 16px;\n }\n }\n @include breakpoint(lg) {\n &:hover {\n ::slotted(spw-header-navigation-dropdown) {\n pointer-events: auto;\n opacity: 1;\n left: 100%;\n top: 0;\n transition: opacity 0.1s ease-in;\n z-index: 38;\n }\n ::slotted(a) {\n color: var(--spw-ds-primary) !important;\n background: var(--spw-colors-support-grey-grey-100);\n &:before {\n display: none;\n }\n }\n }\n }\n\n &--has-subnav {\n ::slotted(a) {\n &:after {\n font-family: var(--spw-ds-font-icons-solid);\n content: '\\f054';\n font-weight: 700;\n }\n }\n }\n\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n z-index: 11;\n }\n ::slotted(a) {\n &:after {\n content: '\\f054';\n }\n }\n }\n }\n\n :host([data-level='3']) & {\n ::slotted(a) {\n padding: 12px 16px;\n font-weight: 400;\n font-size: 16px;\n @include breakpoint(lg) {\n padding: 20px;\n font-weight: 700;\n font-size: 16px;\n }\n }\n ::slotted(a:hover) {\n @include breakpoint(lg) {\n color: var(--spw-ds-primary) !important;\n }\n }\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n z-index: 12;\n }\n }\n }\n\n &--is-active {\n ::slotted(a) {\n color: var(--spw-ds-primary) !important;\n }\n }\n\n ::slotted(a) {\n display: inline-flex;\n position: relative;\n color: inherit;\n text-decoration: none;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n padding: 16px 0;\n @include breakpoint(lg) {\n padding: 16px;\n }\n &:before {\n @include breakpoint(lg) {\n content: '';\n transition: width 0.2s ease-in;\n bottom: 0;\n left: 16px;\n height: 5px;\n width: 0;\n position: absolute;\n background: var(--spw-ds-primary);\n }\n }\n }\n\n ::slotted(a:focus-visible) {\n outline: 3px solid white;\n outline-offset: -3px;\n box-shadow: 0 0 0 3px black;\n }\n\n ::slotted(a:active) {\n color: var(--spw-ds-primary) !important;\n }\n\n ::slotted(spw-header-navigation-dropdown) {\n display: none;\n opacity: 0;\n @include breakpoint(lg) {\n display: block;\n pointer-events: none;\n opacity: 0;\n position: absolute;\n width: 320px;\n box-shadow: var(--spw-effect-elevation-8);\n }\n }\n\n &--is-subnav-visible {\n ::slotted(spw-header-navigation-dropdown) {\n @include under-breakpoint(lg) {\n display: block;\n opacity: 1;\n position: absolute;\n background: white;\n width: 100%;\n margin-top: 0;\n padding-top: 132px;\n top: 0;\n left: 0;\n min-height: 100%;\n overflow-y: auto;\n }\n }\n }\n}\n\n.spw-header-navigation-item__top {\n position: absolute;\n display: flex;\n justify-content: space-between;\n flex-direction: column;\n top: 0;\n left: 16px;\n height: 118px;\n z-index: 9999999;\n width: calc(100% - 32px);\n padding: 24px 0;\n background: white;\n border-bottom: 1px solid var(--spw-colors-support-grey-grey-300);\n\n &-back {\n gap: 8px;\n display: flex;\n justify-content: left;\n align-items: center;\n font-weight: 700;\n font-size: 14px;\n text-decoration: none;\n color: var(--spw-colors-support-grey-grey-900);\n span {\n text-decoration: underline;\n }\n spw-icon {\n font-size: 18px;\n }\n }\n\n &-title {\n a {\n font-size: 20px;\n font-weight: 700;\n text-decoration: underline;\n color: var(--spw-colors-support-grey-grey-900);\n display: block;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n\n &--1 {\n :host([data-level-visible='1']) & {\n display: flex;\n @include breakpoint(lg) {\n display: none;\n }\n }\n :host([data-level-visible='2']) & {\n display: none;\n }\n :host([data-level-visible='3']) & {\n display: none;\n }\n }\n\n &--2 {\n :host([data-level-visible='1']) & {\n display: none;\n }\n :host([data-level-visible='2']) & {\n display: flex;\n @include breakpoint(lg) {\n display: none;\n }\n }\n :host([data-level-visible='3']) & {\n display: none;\n }\n }\n\n &--3 {\n :host([data-level-visible='1']) & {\n display: none;\n }\n :host([data-level-visible='2']) & {\n display: none;\n }\n :host([data-level-visible='3']) & {\n display: flex;\n @include breakpoint(lg) {\n display: none;\n }\n }\n }\n\n @include breakpoint(lg) {\n display: none;\n }\n}\n","import { Component, Event, EventEmitter, Host, h, Prop, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'spw-header-navigation-item',\n styleUrl: 'spw-header-navigation-item.scss',\n shadow: true,\n})\nexport class SpwHeaderNavigationItem {\n @Element() el: HTMLSpwHeaderNavigationItemElement;\n\n /** Définit si l'élément de menu est la page courante */\n @Prop() isActive: boolean = false;\n\n @State() internalIsActive: boolean = false;\n @State() hasSubnav: boolean = false;\n @State() level: number = 1;\n @State() isSubnavVisible: boolean = false;\n @State() lastClickedLevel1Item: string | null = null;\n @State() isMobile: boolean = window.innerWidth < 1024;\n\n @Event() spwHeaderNavigationNavigate: EventEmitter<{ level: number; element: HTMLSpwHeaderNavigationItemElement }>;\n\n componentWillLoad() {\n this.internalIsActive = this.isActive;\n this.checkForSubnav();\n this.calculateLevel();\n this.updateLevelClass();\n }\n\n componentWillUpdate() {\n if (this.isActive !== this.internalIsActive) {\n this.internalIsActive = this.isActive;\n }\n this.updateLevelClass();\n }\n\n private checkForSubnav() {\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const assignedElements = slot.assignedElements({ flatten: true });\n const hasSubnav = assignedElements.some(el => el.tagName === 'SPW-HEADER-NAVIGATION-DROPDOWN');\n\n if (hasSubnav !== this.hasSubnav) {\n this.hasSubnav = hasSubnav;\n }\n }\n }\n\n private calculateLevel() {\n let level = 1;\n let parent = this.el.parentElement;\n\n while (parent && parent.tagName !== 'SPW-HEADER-NAVIGATION') {\n if (parent.tagName === 'SPW-HEADER-NAVIGATION-DROPDOWN') {\n level++;\n }\n parent = parent.parentElement;\n }\n\n this.level = level;\n }\n\n private updateLevelClass() {\n const htmlElement = document.documentElement;\n Array.from(htmlElement.classList).forEach(className => {\n if (className.startsWith('spw-ds-nav-level-')) {\n htmlElement.classList.remove(className);\n }\n });\n htmlElement.classList.add(`spw-ds-nav-level-${this.level}`);\n this.spwHeaderNavigationNavigate.emit({ level: this.level, element: this.el });\n }\n\n private toggleSubnavVisibility(event: MouseEvent) {\n if (!this.isMobile) return;\n\n event.stopPropagation();\n\n if (this.hasSubnav && !this.isSubnavVisible) {\n const isMobileScreen = window.matchMedia('(max-width: 1024px)').matches;\n if (isMobileScreen) {\n event.preventDefault();\n }\n\n if (this.level === 1) {\n this.lastClickedLevel1Item = this.el.innerText;\n document.documentElement.setAttribute('data-ds-nav-level1', this.lastClickedLevel1Item);\n }\n\n this.isSubnavVisible = !this.isSubnavVisible;\n\n if (this.isSubnavVisible) {\n this.level++;\n this.updateLevelClass();\n }\n }\n }\n\n private getStoredLevel1Item(): string {\n return document.documentElement.getAttribute('data-ds-nav-level1') || '';\n }\n\n private handleBackClick(event: MouseEvent) {\n event.stopPropagation();\n\n this.isSubnavVisible = false;\n\n if (this.level > 1) {\n this.level--;\n this.updateLevelClass();\n }\n\n this.internalIsActive = false;\n\n if (this.level === 1 && !this.isSubnavVisible) {\n this.lastClickedLevel1Item = null;\n document.documentElement.removeAttribute('data-ds-nav-level1');\n }\n }\n\n private getPageTitle(): { title: string; link: string | null; target: string | null } | null {\n const parent = this.el.shadowRoot.querySelector('slot');\n\n if (parent) {\n const assignedElements = parent.assignedElements({ flatten: true }) as HTMLElement[];\n\n if (assignedElements.length > 0) {\n const firstElement = assignedElements[0];\n\n const title = firstElement.innerText || '';\n const link = (firstElement as HTMLAnchorElement).href || null;\n const target = (firstElement as HTMLAnchorElement).target || null;\n\n return { title, link, target };\n }\n }\n\n return null;\n }\n\n async componentDidLoad() {\n setTimeout(() => {\n this.checkForSubnav();\n }, 0);\n\n const slot = this.el.shadowRoot.querySelector('slot');\n if (slot) {\n const mutationObserver = new MutationObserver(() => {\n this.checkForSubnav();\n });\n\n mutationObserver.observe(slot, { childList: true, subtree: true });\n }\n }\n\n render() {\n const pageTitle = this.getPageTitle();\n const storedTitle = this.getStoredLevel1Item();\n\n const elementClass = {\n 'spw-header-navigation-item': true,\n 'spw-header-navigation-item--has-subnav': this.hasSubnav,\n 'spw-header-navigation-item--is-active': this.internalIsActive,\n 'spw-header-navigation-item--is-subnav-visible': this.isSubnavVisible,\n };\n\n return (\n <Host data-level={this.level}>\n <li class={elementClass}>\n <div class=\"spw-header-navigation-item__content\" onClick={event => this.toggleSubnavVisibility(event)}>\n {this.isSubnavVisible && (\n <div class={`spw-header-navigation-item__top spw-header-navigation-item__top--${this.level}`}>\n <div class=\"spw-header-navigation-item__top-back\" onClick={event => this.handleBackClick(event)}>\n <spw-icon icon=\"fa-chevron-left\"></spw-icon> <span>{this.level === 1 ? '' : this.level === 2 ? 'Menu principal' : storedTitle}</span>\n </div>\n <div class=\"spw-header-navigation-item__top-title\">\n <a href={pageTitle?.link || '#'} target={pageTitle?.target || '_self'}>\n {pageTitle?.title || ''}\n </a>\n </div>\n </div>\n )}\n <slot></slot>\n </div>\n </li>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,7 +1,7 @@
1
1
  import { p as proxyCustomElement, H, h, a as Host } from './index.js';
2
2
  import { d as defineCustomElement$2 } from './p-_q4w18VU.js';
3
3
 
4
- const spwHeaderNavigationCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-header-navigation{background:#fff;border-top:1px solid var(--spw-colors-support-grey-grey-300);display:none;height:calc(100% - 80px);left:0;order:2;overflow-y:auto;width:100%;z-index:9999}:host(.spw-ds-nav-open) .spw-header-navigation{display:flex;flex-direction:column}@media (min-width:1024px){.spw-header-navigation{display:block;height:auto;left:auto;order:0;overflow-y:initial;top:auto;width:auto;z-index:30}:host(.spw-ds-search-open) .spw-header-navigation{display:none}}.spw-header-navigation__list{align-items:center;display:flex;flex:1;flex-direction:column;margin-left:-16px;margin-right:-16px;position:relative;width:calc(100% + 32px)}@media (min-width:1024px){.spw-header-navigation__list{flex-direction:row}}@media (min-width:1350px){.spw-header-navigation__list{gap:24px}}.spw-header-navigation__list-back{display:flex;justify-content:left;padding:24px 16px 0;position:relative;width:100%;z-index:3}.spw-header-navigation__list-back:after{background:#fff;bottom:-1px;content:\"\";height:1px;left:0;position:absolute;width:100%}.spw-header-navigation__list-back a{align-items:center;color:var(--spw-colors-support-grey-grey-900);display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:left;text-decoration:none}.spw-header-navigation__list-back a span{text-decoration:underline}.spw-header-navigation__list-back a spw-icon{font-size:18px}@media (min-width:1024px){.spw-header-navigation__list-back{display:none}}";
4
+ const spwHeaderNavigationCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;box-sizing:border-box;display:contents;font-size:100%;line-height:1.3}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-header-navigation{background:#fff;border-top:1px solid var(--spw-colors-support-grey-grey-300);display:none;height:calc(100% - 80px);left:0;order:2;overflow-y:auto;width:100%;z-index:9999}:host(.spw-ds-nav-open) .spw-header-navigation{display:flex;flex-direction:column}@media (min-width:1024px){.spw-header-navigation{display:block;height:auto;left:auto;order:0;overflow-y:initial;top:auto;width:auto;z-index:30}:host(.spw-ds-search-open) .spw-header-navigation{display:none}}.spw-header-navigation__list{align-items:center;display:flex;flex:1;flex-direction:column;margin-left:-16px;margin-right:-16px;position:relative;width:calc(100% + 32px)}@media (min-width:1024px){.spw-header-navigation__list{flex-direction:row}.spw-header-navigation--flex-start .spw-header-navigation__list{justify-content:flex-start}.spw-header-navigation--space-between .spw-header-navigation__list{justify-content:space-between}}@media (min-width:1350px){.spw-header-navigation__list{gap:24px}}.spw-header-navigation__list-back{display:flex;justify-content:left;padding:24px 16px 0;position:relative;width:100%;z-index:3}.spw-header-navigation__list-back:after{background:#fff;bottom:-1px;content:\"\";height:1px;left:0;position:absolute;width:100%}.spw-header-navigation__list-back a{align-items:center;color:var(--spw-colors-support-grey-grey-900);display:flex;font-size:14px;font-weight:700;gap:8px;justify-content:left;text-decoration:none}.spw-header-navigation__list-back a span{text-decoration:underline}.spw-header-navigation__list-back a spw-icon{font-size:18px}@media (min-width:1024px){.spw-header-navigation__list-back{display:none}}";
5
5
 
6
6
  const SpwHeaderNavigation$1 = /*@__PURE__*/ proxyCustomElement(class SpwHeaderNavigation extends H {
7
7
  constructor() {
@@ -10,6 +10,8 @@ const SpwHeaderNavigation$1 = /*@__PURE__*/ proxyCustomElement(class SpwHeaderNa
10
10
  this.__attachShadow();
11
11
  this.level = 0;
12
12
  this.element = null;
13
+ /** Alignement des éléments de navigation sur desktop */
14
+ this.alignment = 'flex-start';
13
15
  }
14
16
  redirectToHome(event) {
15
17
  event.preventDefault();
@@ -43,11 +45,18 @@ const SpwHeaderNavigation$1 = /*@__PURE__*/ proxyCustomElement(class SpwHeaderNa
43
45
  });
44
46
  return allItems;
45
47
  }
48
+ get elementClass() {
49
+ return {
50
+ 'spw-header-navigation': true,
51
+ [`spw-header-navigation--${this.alignment}`]: true,
52
+ };
53
+ }
46
54
  render() {
47
- return (h(Host, { key: 'fdd23724de968f9f8f9bb90f139f472072a53791' }, h("nav", { key: '856a388643e35f8ed40414de018ec1bcc9066a09', class: "spw-header-navigation" }, h("div", { key: 'ef69808d9320c23248ccddc538d0877ba6c7c635', class: "spw-ds-container" }, h("ul", { key: 'f25aed8a2c70f0f56ea9534a49df75c62a263547', class: "spw-header-navigation__list" }, h("li", { key: 'bf1cbdbf5301298b9a6f02e2baa8913d923029f4', class: "spw-header-navigation__list-back" }, h("a", { key: '5cb1e3fd7c9b245f4f8d0aad15dc7205b9a39538', href: "#", onClick: event => this.redirectToHome(event) }, h("spw-icon", { key: '19c6d078a813bbfe079177aa7239ac301449c5f2', icon: "fa-chevron-left" }), " ", h("span", { key: 'a63aed32e504e226053a0dd168cb5121568ea142' }, "Page d'accueil"))), h("slot", { key: 'd91290ce2ba155d777125b251c6d16fc3eb025d1' }))))));
55
+ return (h(Host, { key: '7f5b13ff34e597859a64d9dd4a805bb597480413' }, h("nav", { key: '6026cae72487130e08b34518e7903de948384557', class: this.elementClass }, h("div", { key: 'b9e42ee32a6963cdf53b34ce87a924ec07bf700e', class: "spw-ds-container" }, h("ul", { key: '642886313210a484f812cfd4d1139f342aaa24f0', class: "spw-header-navigation__list" }, h("li", { key: '79b7c6ff983462742cd787d42f9fa60bc07749ca', class: "spw-header-navigation__list-back" }, h("a", { key: '2272b6529c377cf4bd6714054503e2f2a5a967a6', href: "#", onClick: event => this.redirectToHome(event) }, h("spw-icon", { key: '36282eff01ee7938b74db532436aa27cced7bc57', icon: "fa-chevron-left" }), " ", h("span", { key: 'ba710742a72afd1eca41083373a29ad9087721b2' }, "Page d'accueil"))), h("slot", { key: '2ea73b2057aa7c9f353f10bde40e89d211cc7272' }))))));
48
56
  }
49
57
  static get style() { return spwHeaderNavigationCss; }
50
58
  }, [1, "spw-header-navigation", {
59
+ "alignment": [1],
51
60
  "level": [32],
52
61
  "element": [32]
53
62
  }, [[2, "spwHeaderNavigationNavigate", "handleNavigation"]]]);