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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (724) hide show
  1. package/dist/cjs/{index-iVhYitTd.js → index-ivINMH9O.js} +5 -5
  2. package/dist/cjs/{index-iVhYitTd.js.map → index-ivINMH9O.js.map} +1 -1
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.cjs.js.map +1 -1
  5. package/dist/cjs/spw-accordion_4.cjs.entry.js +3 -3
  6. package/dist/cjs/spw-accordion_4.cjs.entry.js.map +1 -1
  7. package/dist/cjs/spw-breadcrumb-item.cjs.entry.js +1 -1
  8. package/dist/cjs/spw-breadcrumb.cjs.entry.js +1 -1
  9. package/dist/cjs/spw-button.spw-loading.entry.cjs.js.map +1 -1
  10. package/dist/cjs/spw-button_2.cjs.entry.js +6 -6
  11. package/dist/cjs/spw-button_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/spw-card-content.cjs.entry.js +2 -2
  13. package/dist/cjs/spw-card-excerpt.cjs.entry.js +1 -1
  14. package/dist/cjs/spw-card-image.cjs.entry.js +1 -1
  15. package/dist/cjs/spw-card-subtag-item.cjs.entry.js +1 -1
  16. package/dist/cjs/spw-card-subtags.cjs.entry.js +1 -1
  17. package/dist/cjs/spw-card-title.cjs.entry.js +1 -1
  18. package/dist/cjs/spw-card.cjs.entry.js +1 -1
  19. package/dist/cjs/spw-checkbox.cjs.entry.js +3 -3
  20. package/dist/cjs/spw-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/spw-checkbox.entry.cjs.js.map +1 -1
  22. package/dist/cjs/spw-cookies.cjs.entry.js +1 -1
  23. package/dist/cjs/spw-custom-select.cjs.entry.js +63 -9
  24. package/dist/cjs/spw-custom-select.cjs.entry.js.map +1 -1
  25. package/dist/cjs/spw-custom-select.entry.cjs.js.map +1 -1
  26. package/dist/cjs/spw-date-picker.cjs.entry.js +222 -41
  27. package/dist/cjs/spw-date-picker.cjs.entry.js.map +1 -1
  28. package/dist/cjs/spw-date-picker.entry.cjs.js.map +1 -1
  29. package/dist/cjs/spw-dropdown-container.cjs.entry.js +20 -0
  30. package/dist/cjs/spw-dropdown-container.cjs.entry.js.map +1 -0
  31. package/dist/cjs/spw-dropdown-container.entry.cjs.js.map +1 -0
  32. package/dist/cjs/spw-dropdown-item.cjs.entry.js +87 -0
  33. package/dist/cjs/spw-dropdown-item.cjs.entry.js.map +1 -0
  34. package/dist/cjs/spw-dropdown-item.entry.cjs.js.map +1 -0
  35. package/dist/cjs/spw-dropdown.cjs.entry.js +2 -2
  36. package/dist/cjs/spw-dropdown.cjs.entry.js.map +1 -1
  37. package/dist/cjs/spw-dropdown.entry.cjs.js.map +1 -1
  38. package/dist/cjs/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.cjs.js.map +1 -1
  39. package/dist/cjs/spw-field-label_6.cjs.entry.js +8 -8
  40. package/dist/cjs/spw-field-label_6.cjs.entry.js.map +1 -1
  41. package/dist/cjs/spw-field-message.cjs.entry.js +2 -2
  42. package/dist/cjs/spw-file-upload.cjs.entry.js +6 -5
  43. package/dist/cjs/spw-file-upload.cjs.entry.js.map +1 -1
  44. package/dist/cjs/spw-file-upload.entry.cjs.js.map +1 -1
  45. package/dist/cjs/spw-footer-bottom.cjs.entry.js +2 -2
  46. package/dist/cjs/spw-footer-content-col.cjs.entry.js +2 -2
  47. package/dist/cjs/spw-footer-content.cjs.entry.js +2 -2
  48. package/dist/cjs/spw-footer-link.cjs.entry.js +2 -2
  49. package/dist/cjs/spw-footer.cjs.entry.js +2 -2
  50. package/dist/cjs/spw-header-lang-item.cjs.entry.js +2 -2
  51. package/dist/cjs/spw-header-lang.cjs.entry.js +2 -2
  52. package/dist/cjs/spw-header-navigation-dropdown.cjs.entry.js +2 -2
  53. package/dist/cjs/spw-header-navigation-item.cjs.entry.js +3 -3
  54. package/dist/cjs/spw-header-navigation.cjs.entry.js +2 -2
  55. package/dist/cjs/spw-header-persona-item.cjs.entry.js +2 -2
  56. package/dist/cjs/spw-header-persona.cjs.entry.js +2 -2
  57. package/dist/cjs/spw-header.cjs.entry.js +2 -2
  58. package/dist/cjs/spw-hero.cjs.entry.js +2 -2
  59. package/dist/cjs/spw-illustration.cjs.entry.js +1 -1
  60. package/dist/cjs/spw-iodda.cjs.entry.js +2 -2
  61. package/dist/cjs/spw-list-description.cjs.entry.js +2 -2
  62. package/dist/cjs/spw-list-item.cjs.entry.js +2 -2
  63. package/dist/cjs/spw-list-title.cjs.entry.js +2 -2
  64. package/dist/cjs/spw-list.cjs.entry.js +2 -2
  65. package/dist/cjs/spw-message.cjs.entry.js +1 -1
  66. package/dist/cjs/spw-modal.cjs.entry.js +4 -4
  67. package/dist/cjs/spw-mosaic-item.cjs.entry.js +2 -2
  68. package/dist/cjs/spw-mosaic.cjs.entry.js +2 -2
  69. package/dist/cjs/spw-pagination.cjs.entry.js +28 -18
  70. package/dist/cjs/spw-pagination.cjs.entry.js.map +1 -1
  71. package/dist/cjs/spw-pagination.entry.cjs.js.map +1 -1
  72. package/dist/cjs/spw-radio.cjs.entry.js +3 -3
  73. package/dist/cjs/spw-search-field.cjs.entry.js +13 -3
  74. package/dist/cjs/spw-search-field.cjs.entry.js.map +1 -1
  75. package/dist/cjs/spw-search-field.entry.cjs.js.map +1 -1
  76. package/dist/cjs/spw-select.cjs.entry.js +15 -3
  77. package/dist/cjs/spw-select.cjs.entry.js.map +1 -1
  78. package/dist/cjs/spw-select.entry.cjs.js.map +1 -1
  79. package/dist/cjs/spw-sidebar-navigation-dropdown.cjs.entry.js +2 -2
  80. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js +85 -7
  81. package/dist/cjs/spw-sidebar-navigation-item.cjs.entry.js.map +1 -1
  82. package/dist/cjs/spw-sidebar-navigation-item.entry.cjs.js.map +1 -1
  83. package/dist/cjs/spw-sidebar-navigation-separator.cjs.entry.js +2 -2
  84. package/dist/cjs/spw-sidebar.cjs.entry.js +10 -2
  85. package/dist/cjs/spw-sidebar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/spw-sidebar.entry.cjs.js.map +1 -1
  87. package/dist/cjs/spw-skeleton.cjs.entry.js +5 -3
  88. package/dist/cjs/spw-skeleton.cjs.entry.js.map +1 -1
  89. package/dist/cjs/spw-skeleton.entry.cjs.js.map +1 -1
  90. package/dist/cjs/spw-socials.cjs.entry.js +2 -2
  91. package/dist/cjs/spw-stencil-library.cjs.js +2 -2
  92. package/dist/cjs/spw-table-body.cjs.entry.js +2 -2
  93. package/dist/cjs/spw-table-cell.cjs.entry.js +54 -3
  94. package/dist/cjs/spw-table-cell.cjs.entry.js.map +1 -1
  95. package/dist/cjs/spw-table-cell.entry.cjs.js.map +1 -1
  96. package/dist/cjs/spw-table-footer.cjs.entry.js +3 -3
  97. package/dist/cjs/spw-table-footer.cjs.entry.js.map +1 -1
  98. package/dist/cjs/spw-table-footer.entry.cjs.js.map +1 -1
  99. package/dist/cjs/spw-table-head.cjs.entry.js +2 -2
  100. package/dist/cjs/spw-table-header.cjs.entry.js +35 -5
  101. package/dist/cjs/spw-table-header.cjs.entry.js.map +1 -1
  102. package/dist/cjs/spw-table-header.entry.cjs.js.map +1 -1
  103. package/dist/cjs/spw-table-row.cjs.entry.js +35 -3
  104. package/dist/cjs/spw-table-row.cjs.entry.js.map +1 -1
  105. package/dist/cjs/spw-table-row.entry.cjs.js.map +1 -1
  106. package/dist/cjs/spw-table.cjs.entry.js +70 -7
  107. package/dist/cjs/spw-table.cjs.entry.js.map +1 -1
  108. package/dist/cjs/spw-table.entry.cjs.js.map +1 -1
  109. package/dist/cjs/spw-tabs-content.cjs.entry.js +1 -1
  110. package/dist/cjs/spw-tabs-navigation-item.cjs.entry.js +3 -3
  111. package/dist/cjs/spw-tabs-navigation.cjs.entry.js +2 -2
  112. package/dist/cjs/spw-tabs.cjs.entry.js +6 -4
  113. package/dist/cjs/spw-tabs.cjs.entry.js.map +1 -1
  114. package/dist/cjs/spw-tabs.entry.cjs.js.map +1 -1
  115. package/dist/cjs/spw-tag.cjs.entry.js +2 -2
  116. package/dist/cjs/spw-text-field.cjs.entry.js +3 -3
  117. package/dist/cjs/spw-textarea.cjs.entry.js +3 -3
  118. package/dist/cjs/spw-tile-description.cjs.entry.js +2 -2
  119. package/dist/cjs/spw-tile-title.cjs.entry.js +2 -2
  120. package/dist/cjs/spw-tile.cjs.entry.js +2 -2
  121. package/dist/cjs/spw-tooltip.cjs.entry.js +2 -2
  122. package/dist/cjs/spw-topbar.cjs.entry.js +2 -2
  123. package/dist/cjs/spw-wizard-item.cjs.entry.js +64 -0
  124. package/dist/cjs/spw-wizard-item.cjs.entry.js.map +1 -0
  125. package/dist/cjs/spw-wizard-item.entry.cjs.js.map +1 -0
  126. package/dist/cjs/spw-wizard.cjs.entry.js +90 -0
  127. package/dist/cjs/spw-wizard.cjs.entry.js.map +1 -0
  128. package/dist/cjs/spw-wizard.entry.cjs.js.map +1 -0
  129. package/dist/cjs/{utils-CKYAw_Le.js → utils-D_vNTY6w.js} +3 -3
  130. package/dist/cjs/utils-D_vNTY6w.js.map +1 -0
  131. package/dist/collection/collection-manifest.json +5 -1
  132. package/dist/collection/components/spw-accordion/spw-accordion-item/spw-accordion-item.css +1 -1
  133. package/dist/collection/components/spw-button/spw-button.css +1 -1
  134. package/dist/collection/components/spw-checkbox/spw-checkbox.css +1 -1
  135. package/dist/collection/components/spw-custom-select/spw-custom-select.css +1 -1
  136. package/dist/collection/components/spw-custom-select/spw-custom-select.js +81 -6
  137. package/dist/collection/components/spw-custom-select/spw-custom-select.js.map +1 -1
  138. package/dist/collection/components/spw-date-picker/spw-date-picker.css +1 -1
  139. package/dist/collection/components/spw-date-picker/spw-date-picker.js +267 -36
  140. package/dist/collection/components/spw-date-picker/spw-date-picker.js.map +1 -1
  141. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.css +2 -0
  142. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js +19 -0
  143. package/dist/collection/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.js.map +1 -0
  144. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.css +2 -0
  145. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js +175 -0
  146. package/dist/collection/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.js.map +1 -0
  147. package/dist/collection/components/spw-dropdown/spw-dropdown.js +2 -2
  148. package/dist/collection/components/spw-dropdown/spw-dropdown.js.map +1 -1
  149. package/dist/collection/components/spw-field-label/spw-field-label.js +1 -1
  150. package/dist/collection/components/spw-field-message/spw-field-message.js +1 -1
  151. package/dist/collection/components/spw-file-upload/spw-file-upload.js +3 -2
  152. package/dist/collection/components/spw-file-upload/spw-file-upload.js.map +1 -1
  153. package/dist/collection/components/spw-footer/spw-footer-bottom/spw-footer-bottom.js +1 -1
  154. package/dist/collection/components/spw-footer/spw-footer-content/spw-footer-content.js +1 -1
  155. package/dist/collection/components/spw-footer/spw-footer-content-col/spw-footer-content-col.js +1 -1
  156. package/dist/collection/components/spw-footer/spw-footer-link/spw-footer-link.js +1 -1
  157. package/dist/collection/components/spw-footer/spw-footer.js +1 -1
  158. package/dist/collection/components/spw-group/spw-group.js +1 -1
  159. package/dist/collection/components/spw-header/spw-header-lang/spw-header-lang.js +1 -1
  160. package/dist/collection/components/spw-header/spw-header-lang-item/spw-header-lang-item.js +1 -1
  161. package/dist/collection/components/spw-header/spw-header-navigation/spw-header-navigation.js +1 -1
  162. package/dist/collection/components/spw-header/spw-header-navigation-dropdown/spw-header-navigation-dropdown.js +1 -1
  163. package/dist/collection/components/spw-header/spw-header-navigation-item/spw-header-navigation-item.js +1 -1
  164. package/dist/collection/components/spw-header/spw-header-persona/spw-header-persona.js +1 -1
  165. package/dist/collection/components/spw-header/spw-header-persona-item/spw-header-persona-item.js +1 -1
  166. package/dist/collection/components/spw-header/spw-header.js +1 -1
  167. package/dist/collection/components/spw-hero/spw-hero.js +1 -1
  168. package/dist/collection/components/spw-iodda/spw-iodda.js +1 -1
  169. package/dist/collection/components/spw-link/spw-link.css +1 -1
  170. package/dist/collection/components/spw-link/spw-link.js +1 -1
  171. package/dist/collection/components/spw-list/spw-list-description/spw-list-description.js +1 -1
  172. package/dist/collection/components/spw-list/spw-list-item/spw-list-item.js +1 -1
  173. package/dist/collection/components/spw-list/spw-list-title/spw-list-title.js +1 -1
  174. package/dist/collection/components/spw-list/spw-list.js +1 -1
  175. package/dist/collection/components/spw-loading/spw-loading.js +1 -1
  176. package/dist/collection/components/spw-modal/spw-modal.js +1 -1
  177. package/dist/collection/components/spw-mosaic/spw-mosaic-item/spw-mosaic-item.js +1 -1
  178. package/dist/collection/components/spw-mosaic/spw-mosaic.js +1 -1
  179. package/dist/collection/components/spw-pagination/spw-pagination.css +1 -1
  180. package/dist/collection/components/spw-pagination/spw-pagination.js +54 -13
  181. package/dist/collection/components/spw-pagination/spw-pagination.js.map +1 -1
  182. package/dist/collection/components/spw-radio/spw-radio.js +1 -1
  183. package/dist/collection/components/spw-search-field/spw-search-field.js +50 -2
  184. package/dist/collection/components/spw-search-field/spw-search-field.js.map +1 -1
  185. package/dist/collection/components/spw-select/spw-select.js +34 -1
  186. package/dist/collection/components/spw-select/spw-select.js.map +1 -1
  187. package/dist/collection/components/spw-separator/spw-separator.js +1 -1
  188. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-dropdown/spw-sidebar-navigation-dropdown.js +1 -1
  189. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.css +1 -1
  190. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js +105 -6
  191. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.js.map +1 -1
  192. package/dist/collection/components/spw-sidebar/spw-sidebar-navigation-separator/spw-sidebar-navigation-separator.js +1 -1
  193. package/dist/collection/components/spw-sidebar/spw-sidebar.js +9 -1
  194. package/dist/collection/components/spw-sidebar/spw-sidebar.js.map +1 -1
  195. package/dist/collection/components/spw-skeleton/spw-skeleton.js +4 -2
  196. package/dist/collection/components/spw-skeleton/spw-skeleton.js.map +1 -1
  197. package/dist/collection/components/spw-socials/spw-socials.js +1 -1
  198. package/dist/collection/components/spw-table/spw-table-body/spw-table-body.js +1 -1
  199. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.css +1 -1
  200. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js +137 -1
  201. package/dist/collection/components/spw-table/spw-table-cell/spw-table-cell.js.map +1 -1
  202. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.css +1 -1
  203. package/dist/collection/components/spw-table/spw-table-footer/spw-table-footer.js +1 -1
  204. package/dist/collection/components/spw-table/spw-table-head/spw-table-head.js +1 -1
  205. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.css +1 -1
  206. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js +92 -2
  207. package/dist/collection/components/spw-table/spw-table-header/spw-table-header.js.map +1 -1
  208. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.css +1 -1
  209. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js +66 -1
  210. package/dist/collection/components/spw-table/spw-table-row/spw-table-row.js.map +1 -1
  211. package/dist/collection/components/spw-table/spw-table.css +1 -1
  212. package/dist/collection/components/spw-table/spw-table.js +135 -9
  213. package/dist/collection/components/spw-table/spw-table.js.map +1 -1
  214. package/dist/collection/components/spw-tabs/spw-tabs-navigation/spw-tabs-navigation.js +1 -1
  215. package/dist/collection/components/spw-tabs/spw-tabs-navigation-item/spw-tabs-navigation-item.js +1 -1
  216. package/dist/collection/components/spw-tabs/spw-tabs.js +6 -4
  217. package/dist/collection/components/spw-tabs/spw-tabs.js.map +1 -1
  218. package/dist/collection/components/spw-tag/spw-tag.js +1 -1
  219. package/dist/collection/components/spw-text-field/spw-text-field.js +1 -1
  220. package/dist/collection/components/spw-textarea/spw-textarea.js +1 -1
  221. package/dist/collection/components/spw-theme-provider/spw-theme-provider.js +1 -1
  222. package/dist/collection/components/spw-tile/spw-tile-description/spw-tile-description.js +1 -1
  223. package/dist/collection/components/spw-tile/spw-tile-title/spw-tile-title.js +1 -1
  224. package/dist/collection/components/spw-tile/spw-tile.js +1 -1
  225. package/dist/collection/components/spw-tooltip/spw-tooltip.js +1 -1
  226. package/dist/collection/components/spw-topbar/spw-topbar.js +1 -1
  227. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.css +2 -0
  228. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js +339 -0
  229. package/dist/collection/components/spw-wizard/spw-wizard-item/spw-wizard-item.js.map +1 -0
  230. package/dist/collection/components/spw-wizard/spw-wizard.css +2 -0
  231. package/dist/collection/components/spw-wizard/spw-wizard.js +192 -0
  232. package/dist/collection/components/spw-wizard/spw-wizard.js.map +1 -0
  233. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js +46 -1
  234. package/dist/collection/stories/components/spw-date-picker/spw-date-picker.stories.js.map +1 -1
  235. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js +1 -1
  236. package/dist/collection/stories/organisms/spw-footer/spw-footer.stories.js.map +1 -1
  237. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js +1 -1
  238. package/dist/collection/stories/organisms/spw-header/spw-header.stories.js.map +1 -1
  239. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js +119 -0
  240. package/dist/collection/stories/organisms/spw-table/spw-table.stories.js.map +1 -1
  241. package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js +208 -0
  242. package/dist/collection/stories/organisms/spw-wizard/spw-wizard.stories.js.map +1 -0
  243. package/dist/collection/utils/utils.js +48 -49
  244. package/dist/collection/utils/utils.js.map +1 -1
  245. package/dist/components/index.js +3 -3
  246. package/dist/components/index.js.map +1 -1
  247. package/dist/components/{p-DaosfSzT.js → p-B2toBmC2.js} +36 -25
  248. package/dist/components/p-B2toBmC2.js.map +1 -0
  249. package/dist/components/{p-zpG0udTn.js → p-BBi01mKM.js} +3 -3
  250. package/dist/components/p-BBi01mKM.js.map +1 -0
  251. package/dist/components/{p-DIhULKFM.js → p-Bvpi6byK.js} +3 -3
  252. package/dist/components/{p-DIhULKFM.js.map → p-Bvpi6byK.js.map} +1 -1
  253. package/dist/components/{p-fNRoK67L.js → p-CVuBJlFL.js} +3 -3
  254. package/dist/components/{p-fNRoK67L.js.map → p-CVuBJlFL.js.map} +1 -1
  255. package/dist/components/{p-B3OQ2nRI.js → p-D4PsQ_SH.js} +4 -4
  256. package/dist/components/p-D4PsQ_SH.js.map +1 -0
  257. package/dist/components/p-DHBpMBYT.js +129 -0
  258. package/dist/components/p-DHBpMBYT.js.map +1 -0
  259. package/dist/components/{p-B-sLKmnT.js → p-DjyPtAVX.js} +7 -7
  260. package/dist/components/p-DjyPtAVX.js.map +1 -0
  261. package/dist/components/{p-BDRCqK1w.js → p-J5AA2xQI.js} +3 -3
  262. package/dist/components/{p-BDRCqK1w.js.map → p-J5AA2xQI.js.map} +1 -1
  263. package/dist/components/{p-Dku0Cksp.js → p-_sdYD0eS.js} +6 -6
  264. package/dist/components/{p-Dku0Cksp.js.map → p-_sdYD0eS.js.map} +1 -1
  265. package/dist/components/{p-GUYao_6w.js → p-qROlK2WR.js} +5 -5
  266. package/dist/components/p-qROlK2WR.js.map +1 -0
  267. package/dist/components/{p-BF73GiQU.js → p-qgvllwX6.js} +3 -3
  268. package/dist/components/{p-BF73GiQU.js.map → p-qgvllwX6.js.map} +1 -1
  269. package/dist/components/{p-BowHA3gk.js → p-t1vZcpqC.js} +3 -3
  270. package/dist/components/{p-BowHA3gk.js.map → p-t1vZcpqC.js.map} +1 -1
  271. package/dist/components/spw-accordion-item.js +1 -1
  272. package/dist/components/spw-breadcrumb-item.js +1 -1
  273. package/dist/components/spw-button.js +1 -1
  274. package/dist/components/spw-card-content.js +1 -1
  275. package/dist/components/spw-checkbox.js +1 -1
  276. package/dist/components/spw-cookies.js +4 -4
  277. package/dist/components/spw-custom-select.js +67 -12
  278. package/dist/components/spw-custom-select.js.map +1 -1
  279. package/dist/components/spw-date-picker.js +230 -45
  280. package/dist/components/spw-date-picker.js.map +1 -1
  281. package/dist/components/spw-dropdown-container.d.ts +11 -0
  282. package/dist/components/spw-dropdown-container.js +36 -0
  283. package/dist/components/spw-dropdown-container.js.map +1 -0
  284. package/dist/components/spw-dropdown-item.d.ts +11 -0
  285. package/dist/components/spw-dropdown-item.js +115 -0
  286. package/dist/components/spw-dropdown-item.js.map +1 -0
  287. package/dist/components/spw-dropdown.js +1 -1
  288. package/dist/components/spw-dropdown.js.map +1 -1
  289. package/dist/components/spw-field-label.js +1 -1
  290. package/dist/components/spw-field-message.js +1 -1
  291. package/dist/components/spw-file-upload.js +7 -6
  292. package/dist/components/spw-file-upload.js.map +1 -1
  293. package/dist/components/spw-footer-bottom.js +1 -1
  294. package/dist/components/spw-footer-content-col.js +1 -1
  295. package/dist/components/spw-footer-content.js +1 -1
  296. package/dist/components/spw-footer-link.js +1 -1
  297. package/dist/components/spw-footer.js +1 -1
  298. package/dist/components/spw-group.js +2 -2
  299. package/dist/components/spw-header-lang-item.js +1 -1
  300. package/dist/components/spw-header-lang.js +3 -3
  301. package/dist/components/spw-header-navigation-dropdown.js +1 -1
  302. package/dist/components/spw-header-navigation-item.js +2 -2
  303. package/dist/components/spw-header-navigation.js +1 -1
  304. package/dist/components/spw-header-persona-item.js +1 -1
  305. package/dist/components/spw-header-persona.js +1 -1
  306. package/dist/components/spw-header.js +3 -3
  307. package/dist/components/spw-hero.js +1 -1
  308. package/dist/components/spw-iodda.js +6 -6
  309. package/dist/components/spw-link.js +1 -1
  310. package/dist/components/spw-list-description.js +1 -1
  311. package/dist/components/spw-list-item.js +1 -1
  312. package/dist/components/spw-list-title.js +1 -1
  313. package/dist/components/spw-list.js +1 -1
  314. package/dist/components/spw-loading.js +1 -1
  315. package/dist/components/spw-message.js +1 -1
  316. package/dist/components/spw-modal.js +3 -3
  317. package/dist/components/spw-mosaic-item.js +1 -1
  318. package/dist/components/spw-mosaic.js +1 -1
  319. package/dist/components/spw-pagination.js +1 -1
  320. package/dist/components/spw-radio.js +2 -2
  321. package/dist/components/spw-search-field.js +18 -7
  322. package/dist/components/spw-search-field.js.map +1 -1
  323. package/dist/components/spw-select.js +18 -5
  324. package/dist/components/spw-select.js.map +1 -1
  325. package/dist/components/spw-separator.js +1 -1
  326. package/dist/components/spw-sidebar-navigation-dropdown.js +1 -1
  327. package/dist/components/spw-sidebar-navigation-item.js +88 -8
  328. package/dist/components/spw-sidebar-navigation-item.js.map +1 -1
  329. package/dist/components/spw-sidebar-navigation-separator.js +2 -2
  330. package/dist/components/spw-sidebar.js +9 -1
  331. package/dist/components/spw-sidebar.js.map +1 -1
  332. package/dist/components/spw-skeleton.js +4 -2
  333. package/dist/components/spw-skeleton.js.map +1 -1
  334. package/dist/components/spw-socials.js +1 -1
  335. package/dist/components/spw-table-body.js +1 -1
  336. package/dist/components/spw-table-cell.js +59 -3
  337. package/dist/components/spw-table-cell.js.map +1 -1
  338. package/dist/components/spw-table-footer.js +2 -2
  339. package/dist/components/spw-table-footer.js.map +1 -1
  340. package/dist/components/spw-table-head.js +1 -1
  341. package/dist/components/spw-table-header.js +39 -6
  342. package/dist/components/spw-table-header.js.map +1 -1
  343. package/dist/components/spw-table-row.js +39 -3
  344. package/dist/components/spw-table-row.js.map +1 -1
  345. package/dist/components/spw-table.js +76 -8
  346. package/dist/components/spw-table.js.map +1 -1
  347. package/dist/components/spw-tabs-navigation-item.js +3 -3
  348. package/dist/components/spw-tabs-navigation.js +1 -1
  349. package/dist/components/spw-tabs.js +5 -3
  350. package/dist/components/spw-tabs.js.map +1 -1
  351. package/dist/components/spw-tag.js +1 -1
  352. package/dist/components/spw-text-field.js +1 -1
  353. package/dist/components/spw-textarea.js +4 -4
  354. package/dist/components/spw-theme-provider.js +1 -1
  355. package/dist/components/spw-tile-description.js +1 -1
  356. package/dist/components/spw-tile-title.js +1 -1
  357. package/dist/components/spw-tile.js +1 -1
  358. package/dist/components/spw-tooltip.js +1 -1
  359. package/dist/components/spw-topbar.js +1 -1
  360. package/dist/components/spw-wizard-item.d.ts +11 -0
  361. package/dist/components/spw-wizard-item.js +100 -0
  362. package/dist/components/spw-wizard-item.js.map +1 -0
  363. package/dist/components/spw-wizard.d.ts +11 -0
  364. package/dist/components/spw-wizard.js +110 -0
  365. package/dist/components/spw-wizard.js.map +1 -0
  366. package/dist/components_json.json +1214 -29
  367. package/dist/components_vscode.json +3088 -0
  368. package/dist/esm/{index-BYM_CUUH.js → index-CvfVJV8a.js} +5 -5
  369. package/dist/esm/{index-BYM_CUUH.js.map → index-CvfVJV8a.js.map} +1 -1
  370. package/dist/esm/loader.js +3 -3
  371. package/dist/esm/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.js.map +1 -1
  372. package/dist/esm/spw-accordion_4.entry.js +3 -3
  373. package/dist/esm/spw-accordion_4.entry.js.map +1 -1
  374. package/dist/esm/spw-breadcrumb-item.entry.js +1 -1
  375. package/dist/esm/spw-breadcrumb.entry.js +1 -1
  376. package/dist/esm/spw-button.spw-loading.entry.js.map +1 -1
  377. package/dist/esm/spw-button_2.entry.js +6 -6
  378. package/dist/esm/spw-button_2.entry.js.map +1 -1
  379. package/dist/esm/spw-card-content.entry.js +2 -2
  380. package/dist/esm/spw-card-excerpt.entry.js +1 -1
  381. package/dist/esm/spw-card-image.entry.js +1 -1
  382. package/dist/esm/spw-card-subtag-item.entry.js +1 -1
  383. package/dist/esm/spw-card-subtags.entry.js +1 -1
  384. package/dist/esm/spw-card-title.entry.js +1 -1
  385. package/dist/esm/spw-card.entry.js +1 -1
  386. package/dist/esm/spw-checkbox.entry.js +3 -3
  387. package/dist/esm/spw-checkbox.entry.js.map +1 -1
  388. package/dist/esm/spw-cookies.entry.js +1 -1
  389. package/dist/esm/spw-custom-select.entry.js +63 -9
  390. package/dist/esm/spw-custom-select.entry.js.map +1 -1
  391. package/dist/esm/spw-date-picker.entry.js +222 -41
  392. package/dist/esm/spw-date-picker.entry.js.map +1 -1
  393. package/dist/esm/spw-dropdown-container.entry.js +18 -0
  394. package/dist/esm/spw-dropdown-container.entry.js.map +1 -0
  395. package/dist/esm/spw-dropdown-item.entry.js +85 -0
  396. package/dist/esm/spw-dropdown-item.entry.js.map +1 -0
  397. package/dist/esm/spw-dropdown.entry.js +2 -2
  398. package/dist/esm/spw-dropdown.entry.js.map +1 -1
  399. package/dist/esm/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.js.map +1 -1
  400. package/dist/esm/spw-field-label_6.entry.js +8 -8
  401. package/dist/esm/spw-field-label_6.entry.js.map +1 -1
  402. package/dist/esm/spw-field-message.entry.js +2 -2
  403. package/dist/esm/spw-file-upload.entry.js +6 -5
  404. package/dist/esm/spw-file-upload.entry.js.map +1 -1
  405. package/dist/esm/spw-footer-bottom.entry.js +2 -2
  406. package/dist/esm/spw-footer-content-col.entry.js +2 -2
  407. package/dist/esm/spw-footer-content.entry.js +2 -2
  408. package/dist/esm/spw-footer-link.entry.js +2 -2
  409. package/dist/esm/spw-footer.entry.js +2 -2
  410. package/dist/esm/spw-header-lang-item.entry.js +2 -2
  411. package/dist/esm/spw-header-lang.entry.js +2 -2
  412. package/dist/esm/spw-header-navigation-dropdown.entry.js +2 -2
  413. package/dist/esm/spw-header-navigation-item.entry.js +3 -3
  414. package/dist/esm/spw-header-navigation.entry.js +2 -2
  415. package/dist/esm/spw-header-persona-item.entry.js +2 -2
  416. package/dist/esm/spw-header-persona.entry.js +2 -2
  417. package/dist/esm/spw-header.entry.js +2 -2
  418. package/dist/esm/spw-hero.entry.js +2 -2
  419. package/dist/esm/spw-illustration.entry.js +1 -1
  420. package/dist/esm/spw-iodda.entry.js +2 -2
  421. package/dist/esm/spw-list-description.entry.js +2 -2
  422. package/dist/esm/spw-list-item.entry.js +2 -2
  423. package/dist/esm/spw-list-title.entry.js +2 -2
  424. package/dist/esm/spw-list.entry.js +2 -2
  425. package/dist/esm/spw-message.entry.js +1 -1
  426. package/dist/esm/spw-modal.entry.js +4 -4
  427. package/dist/esm/spw-mosaic-item.entry.js +2 -2
  428. package/dist/esm/spw-mosaic.entry.js +2 -2
  429. package/dist/esm/spw-pagination.entry.js +28 -18
  430. package/dist/esm/spw-pagination.entry.js.map +1 -1
  431. package/dist/esm/spw-radio.entry.js +3 -3
  432. package/dist/esm/spw-search-field.entry.js +13 -3
  433. package/dist/esm/spw-search-field.entry.js.map +1 -1
  434. package/dist/esm/spw-select.entry.js +15 -3
  435. package/dist/esm/spw-select.entry.js.map +1 -1
  436. package/dist/esm/spw-sidebar-navigation-dropdown.entry.js +2 -2
  437. package/dist/esm/spw-sidebar-navigation-item.entry.js +85 -7
  438. package/dist/esm/spw-sidebar-navigation-item.entry.js.map +1 -1
  439. package/dist/esm/spw-sidebar-navigation-separator.entry.js +2 -2
  440. package/dist/esm/spw-sidebar.entry.js +10 -2
  441. package/dist/esm/spw-sidebar.entry.js.map +1 -1
  442. package/dist/esm/spw-skeleton.entry.js +5 -3
  443. package/dist/esm/spw-skeleton.entry.js.map +1 -1
  444. package/dist/esm/spw-socials.entry.js +2 -2
  445. package/dist/esm/spw-stencil-library.js +3 -3
  446. package/dist/esm/spw-table-body.entry.js +2 -2
  447. package/dist/esm/spw-table-cell.entry.js +54 -3
  448. package/dist/esm/spw-table-cell.entry.js.map +1 -1
  449. package/dist/esm/spw-table-footer.entry.js +3 -3
  450. package/dist/esm/spw-table-footer.entry.js.map +1 -1
  451. package/dist/esm/spw-table-head.entry.js +2 -2
  452. package/dist/esm/spw-table-header.entry.js +35 -5
  453. package/dist/esm/spw-table-header.entry.js.map +1 -1
  454. package/dist/esm/spw-table-row.entry.js +35 -3
  455. package/dist/esm/spw-table-row.entry.js.map +1 -1
  456. package/dist/esm/spw-table.entry.js +70 -7
  457. package/dist/esm/spw-table.entry.js.map +1 -1
  458. package/dist/esm/spw-tabs-content.entry.js +1 -1
  459. package/dist/esm/spw-tabs-navigation-item.entry.js +3 -3
  460. package/dist/esm/spw-tabs-navigation.entry.js +2 -2
  461. package/dist/esm/spw-tabs.entry.js +6 -4
  462. package/dist/esm/spw-tabs.entry.js.map +1 -1
  463. package/dist/esm/spw-tag.entry.js +2 -2
  464. package/dist/esm/spw-text-field.entry.js +3 -3
  465. package/dist/esm/spw-textarea.entry.js +3 -3
  466. package/dist/esm/spw-tile-description.entry.js +2 -2
  467. package/dist/esm/spw-tile-title.entry.js +2 -2
  468. package/dist/esm/spw-tile.entry.js +2 -2
  469. package/dist/esm/spw-tooltip.entry.js +2 -2
  470. package/dist/esm/spw-topbar.entry.js +2 -2
  471. package/dist/esm/spw-wizard-item.entry.js +62 -0
  472. package/dist/esm/spw-wizard-item.entry.js.map +1 -0
  473. package/dist/esm/spw-wizard.entry.js +88 -0
  474. package/dist/esm/spw-wizard.entry.js.map +1 -0
  475. package/dist/esm/{utils-zpG0udTn.js → utils-BBi01mKM.js} +3 -3
  476. package/dist/esm/utils-BBi01mKM.js.map +1 -0
  477. package/dist/spw-stencil-library/{p-e2f03a02.entry.js → p-000f04a1.entry.js} +2 -2
  478. package/dist/spw-stencil-library/{p-e2f03a02.entry.js.map → p-000f04a1.entry.js.map} +1 -1
  479. package/dist/spw-stencil-library/{p-f5de314e.entry.js → p-06cb6865.entry.js} +2 -2
  480. package/dist/spw-stencil-library/{p-52c51ac5.entry.js → p-06ec3521.entry.js} +2 -2
  481. package/dist/spw-stencil-library/{p-0226ad72.entry.js → p-0baeea00.entry.js} +2 -2
  482. package/dist/spw-stencil-library/p-0e1ec1e6.entry.js +2 -0
  483. package/dist/spw-stencil-library/p-0e1ec1e6.entry.js.map +1 -0
  484. package/dist/spw-stencil-library/p-0f69442e.entry.js +2 -0
  485. package/dist/spw-stencil-library/p-0f69442e.entry.js.map +1 -0
  486. package/dist/spw-stencil-library/p-14722019.entry.js +2 -0
  487. package/dist/spw-stencil-library/p-14722019.entry.js.map +1 -0
  488. package/dist/spw-stencil-library/p-152525de.entry.js +2 -0
  489. package/dist/spw-stencil-library/p-152525de.entry.js.map +1 -0
  490. package/dist/spw-stencil-library/{p-fbe468de.entry.js → p-2113f2f6.entry.js} +2 -2
  491. package/dist/spw-stencil-library/{p-181ae002.entry.js → p-25329033.entry.js} +2 -2
  492. package/dist/spw-stencil-library/{p-9219fe7c.entry.js → p-2abc48ed.entry.js} +2 -2
  493. package/dist/spw-stencil-library/p-2ad00dfc.entry.js +2 -0
  494. package/dist/spw-stencil-library/p-2ad00dfc.entry.js.map +1 -0
  495. package/dist/spw-stencil-library/{p-3ab472db.entry.js → p-2b011668.entry.js} +2 -2
  496. package/dist/spw-stencil-library/{p-272dc0ee.entry.js → p-2c79bd06.entry.js} +2 -2
  497. package/dist/spw-stencil-library/{p-272dc0ee.entry.js.map → p-2c79bd06.entry.js.map} +1 -1
  498. package/dist/spw-stencil-library/{p-b0dc1073.entry.js → p-2cfb78fb.entry.js} +2 -2
  499. package/dist/spw-stencil-library/{p-c2de4206.entry.js → p-2d974226.entry.js} +2 -2
  500. package/dist/spw-stencil-library/{p-19a69f36.entry.js → p-300b4bdb.entry.js} +2 -2
  501. package/dist/spw-stencil-library/{p-19a69f36.entry.js.map → p-300b4bdb.entry.js.map} +1 -1
  502. package/dist/spw-stencil-library/{p-cb269271.entry.js → p-32fd509b.entry.js} +2 -2
  503. package/dist/spw-stencil-library/{p-02151d7e.entry.js → p-438f1793.entry.js} +2 -2
  504. package/dist/spw-stencil-library/{p-1f382434.entry.js → p-451a9785.entry.js} +2 -2
  505. package/dist/spw-stencil-library/{p-4d61f200.entry.js → p-45d99a2b.entry.js} +2 -2
  506. package/dist/spw-stencil-library/{p-a93f21f9.entry.js → p-46567994.entry.js} +2 -2
  507. package/dist/spw-stencil-library/{p-2fd3eb76.entry.js → p-48417d99.entry.js} +2 -2
  508. package/dist/spw-stencil-library/{p-dd4bf12d.entry.js → p-488c2d88.entry.js} +2 -2
  509. package/dist/spw-stencil-library/p-4a273848.entry.js +2 -0
  510. package/dist/spw-stencil-library/p-4a273848.entry.js.map +1 -0
  511. package/dist/spw-stencil-library/{p-08d78730.entry.js → p-4e1774df.entry.js} +2 -2
  512. package/dist/spw-stencil-library/{p-a30563ff.entry.js → p-512a2787.entry.js} +2 -2
  513. package/dist/spw-stencil-library/{p-5f82570e.entry.js → p-5632f307.entry.js} +2 -2
  514. package/dist/spw-stencil-library/p-5632f307.entry.js.map +1 -0
  515. package/dist/spw-stencil-library/{p-04274072.entry.js → p-5a1b3ad1.entry.js} +3 -3
  516. package/dist/spw-stencil-library/{p-c838e17b.entry.js → p-5e34ea9d.entry.js} +2 -2
  517. package/dist/spw-stencil-library/{p-64670b2e.entry.js → p-5e43e2ed.entry.js} +2 -2
  518. package/dist/spw-stencil-library/p-5e43e2ed.entry.js.map +1 -0
  519. package/dist/spw-stencil-library/{p-74b4aea0.entry.js → p-5f873b56.entry.js} +2 -2
  520. package/dist/spw-stencil-library/{p-cff5a7e4.entry.js → p-5fde9dae.entry.js} +2 -2
  521. package/dist/spw-stencil-library/{p-09a2d080.entry.js → p-63d1c97f.entry.js} +2 -2
  522. package/dist/spw-stencil-library/{p-2dff657f.entry.js → p-6e74b1b0.entry.js} +2 -2
  523. package/dist/spw-stencil-library/{p-fda153e0.entry.js → p-6ea811f3.entry.js} +2 -2
  524. package/dist/spw-stencil-library/p-6ed76337.entry.js +2 -0
  525. package/dist/spw-stencil-library/p-6ed76337.entry.js.map +1 -0
  526. package/dist/spw-stencil-library/p-76e11724.entry.js +2 -0
  527. package/dist/spw-stencil-library/p-76e11724.entry.js.map +1 -0
  528. package/dist/spw-stencil-library/{p-11805364.entry.js → p-86bdf571.entry.js} +2 -2
  529. package/dist/spw-stencil-library/p-8c287e51.entry.js +2 -0
  530. package/dist/spw-stencil-library/p-8c287e51.entry.js.map +1 -0
  531. package/dist/spw-stencil-library/{p-fabf41a2.entry.js → p-8cfb4646.entry.js} +2 -2
  532. package/dist/spw-stencil-library/p-8cfb4646.entry.js.map +1 -0
  533. package/dist/spw-stencil-library/p-92583499.entry.js +2 -0
  534. package/dist/spw-stencil-library/p-92583499.entry.js.map +1 -0
  535. package/dist/spw-stencil-library/{p-8dca994a.entry.js → p-9b63ccca.entry.js} +2 -2
  536. package/dist/spw-stencil-library/p-9d760073.entry.js +2 -0
  537. package/dist/spw-stencil-library/p-9d760073.entry.js.map +1 -0
  538. package/dist/spw-stencil-library/{p-42658e0a.entry.js → p-9d984204.entry.js} +2 -2
  539. package/dist/spw-stencil-library/p-9d984204.entry.js.map +1 -0
  540. package/dist/spw-stencil-library/{p-5a034423.entry.js → p-9e12973d.entry.js} +2 -2
  541. package/dist/spw-stencil-library/p-9e8a779e.entry.js +2 -0
  542. package/dist/spw-stencil-library/p-9e8a779e.entry.js.map +1 -0
  543. package/dist/spw-stencil-library/{p-zpG0udTn.js → p-BBi01mKM.js} +2 -2
  544. package/dist/spw-stencil-library/p-BBi01mKM.js.map +1 -0
  545. package/dist/spw-stencil-library/p-CvfVJV8a.js +3 -0
  546. package/dist/spw-stencil-library/{p-BYM_CUUH.js.map → p-CvfVJV8a.js.map} +1 -1
  547. package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js → p-a25ad9f2.entry.js} +2 -2
  548. package/dist/spw-stencil-library/{p-376b1e84.entry.js → p-a31a30f3.entry.js} +2 -2
  549. package/dist/spw-stencil-library/p-a31a30f3.entry.js.map +1 -0
  550. package/dist/spw-stencil-library/p-a61253c2.entry.js +2 -0
  551. package/dist/spw-stencil-library/p-a61253c2.entry.js.map +1 -0
  552. package/dist/spw-stencil-library/{p-8c6c9db5.entry.js → p-a840f2ca.entry.js} +2 -2
  553. package/dist/spw-stencil-library/{p-403fe46c.entry.js → p-b0e3875a.entry.js} +2 -2
  554. package/dist/spw-stencil-library/{p-b45534d4.entry.js → p-b1bb413f.entry.js} +2 -2
  555. package/dist/spw-stencil-library/{p-db2354cf.entry.js → p-b6a56ec7.entry.js} +2 -2
  556. package/dist/spw-stencil-library/{p-db2354cf.entry.js.map → p-b6a56ec7.entry.js.map} +1 -1
  557. package/dist/spw-stencil-library/{p-75159246.entry.js → p-bb225503.entry.js} +2 -2
  558. package/dist/spw-stencil-library/{p-1d93e0d8.entry.js → p-bff5424c.entry.js} +2 -2
  559. package/dist/spw-stencil-library/{p-cf508941.entry.js → p-c314e59f.entry.js} +2 -2
  560. package/dist/spw-stencil-library/p-c3985590.entry.js +2 -0
  561. package/dist/spw-stencil-library/p-c3985590.entry.js.map +1 -0
  562. package/dist/spw-stencil-library/p-c4e4cfd4.entry.js +2 -0
  563. package/dist/spw-stencil-library/p-c4e4cfd4.entry.js.map +1 -0
  564. package/dist/spw-stencil-library/{p-e72c6410.entry.js → p-cbf8aea1.entry.js} +2 -2
  565. package/dist/spw-stencil-library/p-ce72bca4.entry.js +2 -0
  566. package/dist/spw-stencil-library/p-ce72bca4.entry.js.map +1 -0
  567. package/dist/spw-stencil-library/{p-b0ca9615.entry.js → p-d03b1644.entry.js} +2 -2
  568. package/dist/spw-stencil-library/{p-817e139e.entry.js → p-d384f832.entry.js} +2 -2
  569. package/dist/spw-stencil-library/{p-532314d2.entry.js → p-d8ba3e5c.entry.js} +2 -2
  570. package/dist/spw-stencil-library/{p-e00468aa.entry.js → p-e0c31c21.entry.js} +2 -2
  571. package/dist/spw-stencil-library/{p-e00468aa.entry.js.map → p-e0c31c21.entry.js.map} +1 -1
  572. package/dist/spw-stencil-library/{p-09d27c4b.entry.js → p-e3485695.entry.js} +2 -2
  573. package/dist/spw-stencil-library/{p-ae905af5.entry.js → p-e4b4f2b3.entry.js} +2 -2
  574. package/dist/spw-stencil-library/{p-93a5f755.entry.js → p-e4d193cd.entry.js} +2 -2
  575. package/dist/spw-stencil-library/{p-158e7952.entry.js → p-e936741c.entry.js} +2 -2
  576. package/dist/spw-stencil-library/{p-98ee79d6.entry.js → p-f154589d.entry.js} +2 -2
  577. package/dist/spw-stencil-library/{p-98ee79d6.entry.js.map → p-f154589d.entry.js.map} +1 -1
  578. package/dist/spw-stencil-library/{p-7d80a44e.entry.js → p-f28bf2be.entry.js} +2 -2
  579. package/dist/spw-stencil-library/{p-7d80a44e.entry.js.map → p-f28bf2be.entry.js.map} +1 -1
  580. package/dist/spw-stencil-library/{p-7cd55113.entry.js → p-f70ed5c3.entry.js} +2 -2
  581. package/dist/spw-stencil-library/p-f8ad31d4.entry.js +2 -0
  582. package/dist/spw-stencil-library/{p-03f1a257.entry.js.map → p-f8ad31d4.entry.js.map} +1 -1
  583. package/dist/spw-stencil-library/{p-3450855b.entry.js → p-fa52aa2c.entry.js} +2 -2
  584. package/dist/spw-stencil-library/{p-554af1e3.entry.js → p-fc6af4d8.entry.js} +2 -2
  585. package/dist/spw-stencil-library/{p-a8311acd.entry.js → p-fcc5884a.entry.js} +2 -2
  586. package/dist/spw-stencil-library/p-fcc5884a.entry.js.map +1 -0
  587. package/dist/spw-stencil-library/spw-accordion.spw-accordion-content.spw-accordion-item.spw-accordion-title.entry.esm.js.map +1 -1
  588. package/dist/spw-stencil-library/spw-button.spw-loading.entry.esm.js.map +1 -1
  589. package/dist/spw-stencil-library/spw-checkbox.entry.esm.js.map +1 -1
  590. package/dist/spw-stencil-library/spw-custom-select.entry.esm.js.map +1 -1
  591. package/dist/spw-stencil-library/spw-date-picker.entry.esm.js.map +1 -1
  592. package/dist/spw-stencil-library/spw-dropdown-container.entry.esm.js.map +1 -0
  593. package/dist/spw-stencil-library/spw-dropdown-item.entry.esm.js.map +1 -0
  594. package/dist/spw-stencil-library/spw-dropdown.entry.esm.js.map +1 -1
  595. package/dist/spw-stencil-library/spw-field-label.spw-group.spw-icon.spw-link.spw-separator.spw-theme-provider.entry.esm.js.map +1 -1
  596. package/dist/spw-stencil-library/spw-file-upload.entry.esm.js.map +1 -1
  597. package/dist/spw-stencil-library/spw-pagination.entry.esm.js.map +1 -1
  598. package/dist/spw-stencil-library/spw-search-field.entry.esm.js.map +1 -1
  599. package/dist/spw-stencil-library/spw-select.entry.esm.js.map +1 -1
  600. package/dist/spw-stencil-library/spw-sidebar-navigation-item.entry.esm.js.map +1 -1
  601. package/dist/spw-stencil-library/spw-sidebar.entry.esm.js.map +1 -1
  602. package/dist/spw-stencil-library/spw-skeleton.entry.esm.js.map +1 -1
  603. package/dist/spw-stencil-library/spw-stencil-library.css +1 -1
  604. package/dist/spw-stencil-library/spw-stencil-library.esm.js +1 -1
  605. package/dist/spw-stencil-library/spw-table-cell.entry.esm.js.map +1 -1
  606. package/dist/spw-stencil-library/spw-table-footer.entry.esm.js.map +1 -1
  607. package/dist/spw-stencil-library/spw-table-header.entry.esm.js.map +1 -1
  608. package/dist/spw-stencil-library/spw-table-row.entry.esm.js.map +1 -1
  609. package/dist/spw-stencil-library/spw-table.entry.esm.js.map +1 -1
  610. package/dist/spw-stencil-library/spw-tabs.entry.esm.js.map +1 -1
  611. package/dist/spw-stencil-library/spw-wizard-item.entry.esm.js.map +1 -0
  612. package/dist/spw-stencil-library/spw-wizard.entry.esm.js.map +1 -0
  613. package/dist/stats.json +3664 -983
  614. package/dist/types/components/spw-custom-select/spw-custom-select.d.ts +5 -0
  615. package/dist/types/components/spw-date-picker/spw-date-picker.d.ts +8 -0
  616. package/dist/types/components/spw-dropdown/spw-dropdown-container/spw-dropdown-container.d.ts +3 -0
  617. package/dist/types/components/spw-dropdown/spw-dropdown-item/spw-dropdown-item.d.ts +23 -0
  618. package/dist/types/components/spw-pagination/spw-pagination.d.ts +4 -1
  619. package/dist/types/components/spw-search-field/spw-search-field.d.ts +5 -0
  620. package/dist/types/components/spw-select/spw-select.d.ts +2 -0
  621. package/dist/types/components/spw-sidebar/spw-sidebar-navigation-item/spw-sidebar-navigation-item.d.ts +8 -0
  622. package/dist/types/components/spw-sidebar/spw-sidebar.d.ts +1 -0
  623. package/dist/types/components/spw-table/spw-table-cell/spw-table-cell.d.ts +15 -0
  624. package/dist/types/components/spw-table/spw-table-header/spw-table-header.d.ts +6 -0
  625. package/dist/types/components/spw-table/spw-table-row/spw-table-row.d.ts +8 -0
  626. package/dist/types/components/spw-table/spw-table.d.ts +13 -1
  627. package/dist/types/components/spw-wizard/spw-wizard-item/spw-wizard-item.d.ts +35 -0
  628. package/dist/types/components/spw-wizard/spw-wizard.d.ts +19 -0
  629. package/dist/types/components.d.ts +379 -0
  630. package/dist/types/stories/components/spw-date-picker/spw-date-picker.stories.d.ts +2 -0
  631. package/dist/types/stories/organisms/spw-table/spw-table.stories.d.ts +1 -0
  632. package/dist/types/stories/organisms/spw-wizard/spw-wizard.stories.d.ts +8 -0
  633. package/dist/types/utils/utils.d.ts +2 -1
  634. package/hydrate/index.js +1023 -180
  635. package/hydrate/index.mjs +1023 -180
  636. package/package.json +1 -1
  637. package/dist/cjs/utils-CKYAw_Le.js.map +0 -1
  638. package/dist/components/p-B-sLKmnT.js.map +0 -1
  639. package/dist/components/p-B3OQ2nRI.js.map +0 -1
  640. package/dist/components/p-Cf-dIWNi.js +0 -129
  641. package/dist/components/p-Cf-dIWNi.js.map +0 -1
  642. package/dist/components/p-DaosfSzT.js.map +0 -1
  643. package/dist/components/p-GUYao_6w.js.map +0 -1
  644. package/dist/components/p-zpG0udTn.js.map +0 -1
  645. package/dist/esm/utils-zpG0udTn.js.map +0 -1
  646. package/dist/spw-stencil-library/p-03f1a257.entry.js +0 -2
  647. package/dist/spw-stencil-library/p-2e9756c4.entry.js +0 -2
  648. package/dist/spw-stencil-library/p-2e9756c4.entry.js.map +0 -1
  649. package/dist/spw-stencil-library/p-34dc26ba.entry.js +0 -2
  650. package/dist/spw-stencil-library/p-34dc26ba.entry.js.map +0 -1
  651. package/dist/spw-stencil-library/p-376b1e84.entry.js.map +0 -1
  652. package/dist/spw-stencil-library/p-42658e0a.entry.js.map +0 -1
  653. package/dist/spw-stencil-library/p-44d87d3f.entry.js +0 -2
  654. package/dist/spw-stencil-library/p-44d87d3f.entry.js.map +0 -1
  655. package/dist/spw-stencil-library/p-5f82570e.entry.js.map +0 -1
  656. package/dist/spw-stencil-library/p-64670b2e.entry.js.map +0 -1
  657. package/dist/spw-stencil-library/p-73db3953.entry.js +0 -2
  658. package/dist/spw-stencil-library/p-73db3953.entry.js.map +0 -1
  659. package/dist/spw-stencil-library/p-7e30e4c2.entry.js +0 -2
  660. package/dist/spw-stencil-library/p-7e30e4c2.entry.js.map +0 -1
  661. package/dist/spw-stencil-library/p-8ef8864e.entry.js +0 -2
  662. package/dist/spw-stencil-library/p-8ef8864e.entry.js.map +0 -1
  663. package/dist/spw-stencil-library/p-9356f8c9.entry.js +0 -2
  664. package/dist/spw-stencil-library/p-9356f8c9.entry.js.map +0 -1
  665. package/dist/spw-stencil-library/p-BYM_CUUH.js +0 -3
  666. package/dist/spw-stencil-library/p-a8311acd.entry.js.map +0 -1
  667. package/dist/spw-stencil-library/p-a950bce8.entry.js +0 -2
  668. package/dist/spw-stencil-library/p-a950bce8.entry.js.map +0 -1
  669. package/dist/spw-stencil-library/p-ba27b9b0.entry.js +0 -2
  670. package/dist/spw-stencil-library/p-ba27b9b0.entry.js.map +0 -1
  671. package/dist/spw-stencil-library/p-bf2d0cf4.entry.js +0 -2
  672. package/dist/spw-stencil-library/p-bf2d0cf4.entry.js.map +0 -1
  673. package/dist/spw-stencil-library/p-c54fee67.entry.js +0 -2
  674. package/dist/spw-stencil-library/p-c54fee67.entry.js.map +0 -1
  675. package/dist/spw-stencil-library/p-d3d4755a.entry.js +0 -2
  676. package/dist/spw-stencil-library/p-d3d4755a.entry.js.map +0 -1
  677. package/dist/spw-stencil-library/p-fabf41a2.entry.js.map +0 -1
  678. package/dist/spw-stencil-library/p-zpG0udTn.js.map +0 -1
  679. /package/dist/spw-stencil-library/{p-f5de314e.entry.js.map → p-06cb6865.entry.js.map} +0 -0
  680. /package/dist/spw-stencil-library/{p-52c51ac5.entry.js.map → p-06ec3521.entry.js.map} +0 -0
  681. /package/dist/spw-stencil-library/{p-0226ad72.entry.js.map → p-0baeea00.entry.js.map} +0 -0
  682. /package/dist/spw-stencil-library/{p-fbe468de.entry.js.map → p-2113f2f6.entry.js.map} +0 -0
  683. /package/dist/spw-stencil-library/{p-181ae002.entry.js.map → p-25329033.entry.js.map} +0 -0
  684. /package/dist/spw-stencil-library/{p-9219fe7c.entry.js.map → p-2abc48ed.entry.js.map} +0 -0
  685. /package/dist/spw-stencil-library/{p-3ab472db.entry.js.map → p-2b011668.entry.js.map} +0 -0
  686. /package/dist/spw-stencil-library/{p-b0dc1073.entry.js.map → p-2cfb78fb.entry.js.map} +0 -0
  687. /package/dist/spw-stencil-library/{p-c2de4206.entry.js.map → p-2d974226.entry.js.map} +0 -0
  688. /package/dist/spw-stencil-library/{p-cb269271.entry.js.map → p-32fd509b.entry.js.map} +0 -0
  689. /package/dist/spw-stencil-library/{p-02151d7e.entry.js.map → p-438f1793.entry.js.map} +0 -0
  690. /package/dist/spw-stencil-library/{p-1f382434.entry.js.map → p-451a9785.entry.js.map} +0 -0
  691. /package/dist/spw-stencil-library/{p-4d61f200.entry.js.map → p-45d99a2b.entry.js.map} +0 -0
  692. /package/dist/spw-stencil-library/{p-a93f21f9.entry.js.map → p-46567994.entry.js.map} +0 -0
  693. /package/dist/spw-stencil-library/{p-2fd3eb76.entry.js.map → p-48417d99.entry.js.map} +0 -0
  694. /package/dist/spw-stencil-library/{p-dd4bf12d.entry.js.map → p-488c2d88.entry.js.map} +0 -0
  695. /package/dist/spw-stencil-library/{p-08d78730.entry.js.map → p-4e1774df.entry.js.map} +0 -0
  696. /package/dist/spw-stencil-library/{p-a30563ff.entry.js.map → p-512a2787.entry.js.map} +0 -0
  697. /package/dist/spw-stencil-library/{p-04274072.entry.js.map → p-5a1b3ad1.entry.js.map} +0 -0
  698. /package/dist/spw-stencil-library/{p-c838e17b.entry.js.map → p-5e34ea9d.entry.js.map} +0 -0
  699. /package/dist/spw-stencil-library/{p-74b4aea0.entry.js.map → p-5f873b56.entry.js.map} +0 -0
  700. /package/dist/spw-stencil-library/{p-cff5a7e4.entry.js.map → p-5fde9dae.entry.js.map} +0 -0
  701. /package/dist/spw-stencil-library/{p-09a2d080.entry.js.map → p-63d1c97f.entry.js.map} +0 -0
  702. /package/dist/spw-stencil-library/{p-2dff657f.entry.js.map → p-6e74b1b0.entry.js.map} +0 -0
  703. /package/dist/spw-stencil-library/{p-fda153e0.entry.js.map → p-6ea811f3.entry.js.map} +0 -0
  704. /package/dist/spw-stencil-library/{p-11805364.entry.js.map → p-86bdf571.entry.js.map} +0 -0
  705. /package/dist/spw-stencil-library/{p-8dca994a.entry.js.map → p-9b63ccca.entry.js.map} +0 -0
  706. /package/dist/spw-stencil-library/{p-5a034423.entry.js.map → p-9e12973d.entry.js.map} +0 -0
  707. /package/dist/spw-stencil-library/{p-1d9ef3d5.entry.js.map → p-a25ad9f2.entry.js.map} +0 -0
  708. /package/dist/spw-stencil-library/{p-8c6c9db5.entry.js.map → p-a840f2ca.entry.js.map} +0 -0
  709. /package/dist/spw-stencil-library/{p-403fe46c.entry.js.map → p-b0e3875a.entry.js.map} +0 -0
  710. /package/dist/spw-stencil-library/{p-b45534d4.entry.js.map → p-b1bb413f.entry.js.map} +0 -0
  711. /package/dist/spw-stencil-library/{p-75159246.entry.js.map → p-bb225503.entry.js.map} +0 -0
  712. /package/dist/spw-stencil-library/{p-1d93e0d8.entry.js.map → p-bff5424c.entry.js.map} +0 -0
  713. /package/dist/spw-stencil-library/{p-cf508941.entry.js.map → p-c314e59f.entry.js.map} +0 -0
  714. /package/dist/spw-stencil-library/{p-e72c6410.entry.js.map → p-cbf8aea1.entry.js.map} +0 -0
  715. /package/dist/spw-stencil-library/{p-b0ca9615.entry.js.map → p-d03b1644.entry.js.map} +0 -0
  716. /package/dist/spw-stencil-library/{p-817e139e.entry.js.map → p-d384f832.entry.js.map} +0 -0
  717. /package/dist/spw-stencil-library/{p-532314d2.entry.js.map → p-d8ba3e5c.entry.js.map} +0 -0
  718. /package/dist/spw-stencil-library/{p-09d27c4b.entry.js.map → p-e3485695.entry.js.map} +0 -0
  719. /package/dist/spw-stencil-library/{p-ae905af5.entry.js.map → p-e4b4f2b3.entry.js.map} +0 -0
  720. /package/dist/spw-stencil-library/{p-93a5f755.entry.js.map → p-e4d193cd.entry.js.map} +0 -0
  721. /package/dist/spw-stencil-library/{p-158e7952.entry.js.map → p-e936741c.entry.js.map} +0 -0
  722. /package/dist/spw-stencil-library/{p-7cd55113.entry.js.map → p-f70ed5c3.entry.js.map} +0 -0
  723. /package/dist/spw-stencil-library/{p-3450855b.entry.js.map → p-fa52aa2c.entry.js.map} +0 -0
  724. /package/dist/spw-stencil-library/{p-554af1e3.entry.js.map → p-fc6af4d8.entry.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spw-ds/spw-stencil-library",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "description": "Design System du SPW. Librairie Stencil.",
5
5
  "readme": "../../README.md",
6
6
  "main": "dist/index.cjs.js",
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-CKYAw_Le.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}.${parts[1]}.${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp) => {\n if (isText(prop)) {\n return {\n [prop.name]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [prop.name]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [prop.name]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [prop.name]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[]) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n return {\n [`on${capitalizeFirstLetter(event.event)}`]: {\n action: event.event,\n description: description(event),\n table: {\n defaultValue: { summary: event.event },\n category: 'events',\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[]) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod) => {\n return {\n [method.name]: {\n action: method.name,\n description: description(method),\n table: {\n category: 'methods',\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[]) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [] }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[] },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n acc[token.name] = {\n control: true,\n description: token.description,\n table: {\n category: 'Tokens',\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n // ✅ Séparation claire des catégories\n const propControls = generateProps(props as ComponentProp[]);\n const eventControls = generateEvents(events as ComponentEvent[]);\n const methodControls = generateMethods(methods as ComponentMethod[]);\n\n // ✅ Regroupement complet pour Storybook\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n // ✅ Indique explicitement quelles sont les props réelles du composant\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false, // ne pollue pas la vue Storybook\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"names":[],"mappings":";;AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAqWM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;;"}
@@ -1 +0,0 @@
1
- {"file":"p-B-sLKmnT.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-button/spw-button.scss?tag=spw-button&encapsulation=shadow","src/components/spw-button/spw-button.tsx"],"sourcesContent":["@import '../../scss/mixins';\n\n:host {\n display: inline-block;\n vertical-align: top;\n --spw-button-font-size-small: 14px;\n --spw-button-font-size-medium: 16px;\n --spw-button-font-size-large: 18px;\n --spw-button-px-small: 16px;\n --spw-button-px-medium: 20px;\n --spw-button-px-large: 24px;\n --spw-button-py-small: 8px;\n --spw-button-py-medium: 12px;\n --spw-button-py-large: 16px;\n}\n\n:host([is-full-width]) {\n display: block;\n width: 100%;\n}\n\n/* Base */\n\n.spw-button {\n border: 2px solid transparent;\n display: block;\n width: 100%;\n border-radius: 9999px;\n letter-spacing: 0.18px;\n cursor: pointer;\n font-weight: bold;\n outline: 3px solid transparent;\n overflow: hidden;\n transition: all 0.1s ease-in;\n line-height: 1;\n\n &--fullwidth {\n width: 100% !important;\n }\n\n &--fullwidth-mobile {\n width: 100%;\n @include breakpoint(md) {\n width: auto;\n }\n }\n\n &--is-icon-only {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n &:focus-visible {\n outline: 3px solid white;\n outline-offset: -1px;\n box-shadow: 0 0 0 5px black;\n }\n\n spw-loading {\n opacity: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n z-index: 1;\n }\n\n &--loading {\n position: relative;\n pointer-events: none;\n spw-loading {\n opacity: 1;\n }\n }\n\n &__inner {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n z-index: 2;\n }\n\n &__inner-text {\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n z-index: 2;\n .spw-button--loading & {\n opacity: 0;\n }\n }\n\n &:is(a) {\n text-decoration: none;\n }\n}\n\n/* Variants */\n\n.spw-button {\n &--primary {\n background: var(--spw-ds-primary);\n color: var(--spw-ds-white);\n &:not([disabled]):hover {\n background: var(--spw-ds-variant);\n }\n &:not([disabled]):active {\n background: var(--spw-ds-active);\n }\n spw-loading {\n --spw-loading-border-color: rgba(255, 255, 255, 0.3);\n --spw-loading-spinner-color: white;\n }\n }\n\n &--secondary {\n background: var(--spw-color-themes-grey-grey-200);\n color: var(--spw-color-themes-grey-grey-900);\n &:not([disabled]):hover {\n background: var(--spw-color-themes-grey-grey-300);\n }\n &:not([disabled]):active {\n background: var(--spw-color-themes-grey-grey-400);\n }\n spw-loading {\n --spw-loading-border-color: rgba(0, 0, 0, 0.1);\n --spw-loading-spinner-color: var(--spw-ds-primary);\n }\n }\n\n &--tertiary {\n transition: none;\n border-radius: 4px;\n background: none;\n color: var(--spw-ds-primary);\n &:not([disabled]):hover,\n &:not([disabled]):active {\n text-decoration: underline;\n }\n &:not([disabled]):active {\n color: var(--spw-ds-active);\n }\n spw-loading {\n --spw-loading-border-color: rgba(0, 0, 0, 0.1);\n --spw-loading-spinner-color: var(--spw-ds-primary);\n }\n }\n}\n\n/* Disabled */\n\n.spw-button {\n &--primary[disabled],\n &--secondary[disabled] {\n background: var(--spw-color-themes-grey-grey-100);\n }\n\n &--tertiary[disabled] {\n background: none;\n }\n\n &--primary[disabled],\n &--secondary[disabled],\n &--tertiary[disabled] {\n color: var(--spw-color-themes-grey-grey-400);\n border-color: none;\n cursor: not-allowed;\n }\n}\n\n/* Surface dark */\n\n.spw-button {\n &--surface-dark {\n box-shadow: var(--spw-effect-elevation-8);\n &:not([disabled]):active {\n box-shadow: var(--spw-effect-elevation-active-0), var(--spw-effect-elevation-active-1), var(--spw-effect-elevation-active-2);\n }\n\n &[disabled] {\n box-shadow: none;\n }\n\n &.spw-button--primary {\n color: var(--spw-colors-support-grey-grey-900);\n border-color: var(--spw-ds-white);\n background: var(--spw-ds-white);\n &:not([disabled]):hover {\n background: transparent;\n color: var(--spw-ds-white);\n border-color: var(--spw-ds-white);\n }\n &:not([disabled]):active {\n background: transparent;\n color: var(--spw-colors-support-grey-grey-500);\n border-color: var(--spw-colors-support-grey-grey-500);\n }\n &[disabled] {\n border-color: var(--spw-colors-support-grey-grey-700);\n background: var(--spw-colors-support-grey-grey-700);\n color: var(--spw-colors-support-grey-grey-800);\n }\n spw-loading {\n --spw-loading-border-color: var(--spw-colors-support-grey-grey-300);\n --spw-loading-spinner-color: var(--spw-ds-primary);\n }\n }\n\n &.spw-button--secondary {\n background: transparent;\n color: var(--spw-ds-white);\n border-color: var(--spw-ds-white);\n &:not([disabled]):hover {\n color: var(--spw-colors-support-grey-grey-900);\n border-color: var(--spw-ds-white);\n background: var(--spw-ds-white);\n }\n &:not([disabled]):active {\n color: var(--spw-colors-support-grey-grey-900);\n border-color: var(--spw-colors-support-grey-grey-400);\n background: var(--spw-colors-support-grey-grey-400);\n }\n &[disabled] {\n border-color: var(--spw-colors-support-grey-grey-700);\n background: var(--spw-colors-support-grey-grey-700);\n color: var(--spw-colors-support-grey-grey-800);\n }\n spw-loading {\n --spw-loading-border-color: rgba(255, 255, 255, 0.2);\n --spw-loading-spinner-color: white;\n }\n }\n\n &.spw-button--tertiary {\n box-shadow: none;\n color: var(--spw-ds-white);\n &:not([disabled]):hover,\n &:not([disabled]):active {\n box-shadow: none;\n }\n &:not([disabled]):active {\n color: var(--spw-ds-primary);\n }\n &[disabled] {\n color: var(--spw-colors-support-grey-grey-700);\n }\n spw-loading {\n --spw-loading-border-color: rgba(255, 255, 255, 0.2);\n --spw-loading-spinner-color: white;\n }\n }\n }\n}\n\n/* Surface primary */\n\n.spw-button {\n &--surface-primary {\n box-shadow: none;\n &:not([disabled]):active {\n box-shadow: none;\n }\n\n &[disabled] {\n box-shadow: none;\n }\n\n &.spw-button--primary {\n color: var(--spw-colors-support-grey-grey-900);\n border-color: var(--spw-ds-white);\n background: var(--spw-ds-white);\n &:not([disabled]):hover {\n background: transparent;\n color: var(--spw-ds-white);\n border-color: var(--spw-ds-white);\n }\n &:not([disabled]):active {\n background: transparent;\n color: white;\n border-color: white;\n opacity: 0.9;\n }\n &[disabled] {\n border-color: white;\n background: white;\n color: var(--spw-colors-support-grey-grey-600);\n opacity: 0.5;\n }\n spw-loading {\n --spw-loading-border-color: var(--spw-colors-support-grey-grey-300);\n --spw-loading-spinner-color: var(--spw-ds-primary);\n }\n }\n\n &.spw-button--secondary {\n background: transparent;\n color: var(--spw-ds-white);\n border-color: var(--spw-ds-white);\n &:not([disabled]):hover {\n color: var(--spw-colors-support-grey-grey-900);\n border-color: var(--spw-ds-white);\n background: var(--spw-ds-white);\n }\n &:not([disabled]):active {\n color: var(--spw-colors-support-grey-grey-900);\n border-color: white;\n background: white;\n opacity: 0.9;\n }\n &[disabled] {\n border-color: white;\n background: white;\n color: var(--spw-colors-support-grey-grey-600);\n opacity: 0.5;\n }\n spw-loading {\n --spw-loading-border-color: rgba(255, 255, 255, 0.2);\n --spw-loading-spinner-color: white;\n }\n }\n\n &.spw-button--tertiary {\n box-shadow: none;\n color: var(--spw-ds-white);\n &:not([disabled]):hover,\n &:not([disabled]):active {\n box-shadow: none;\n }\n &:not([disabled]):active {\n color: white;\n opacity: 0.9;\n }\n &[disabled] {\n color: white;\n opacity: 0.5;\n }\n spw-loading {\n --spw-loading-border-color: rgba(255, 255, 255, 0.2);\n --spw-loading-spinner-color: white;\n }\n }\n }\n}\n\n/* Surface light */\n\n.spw-button {\n &--surface-light {\n &.spw-button--primary {\n &[disabled] {\n color: var(--spw-colors-support-grey-grey-600);\n background: var(--spw-colors-support-grey-grey-500);\n }\n }\n\n &.spw-button--secondary {\n color: var(--spw-colors-support-grey-grey-900);\n background: var(--spw-ds-white);\n &:not([disabled]):hover {\n background: var(--spw-colors-support-grey-grey-300);\n }\n &:not([disabled]):active {\n background: var(--spw-colors-support-grey-grey-500);\n }\n &[disabled] {\n color: var(--spw-colors-support-grey-grey-600);\n background: var(--spw-colors-support-grey-grey-500);\n }\n }\n\n &.spw-button--tertiary {\n color: var(--spw-colors-support-grey-grey-900);\n &:not([disabled]):active {\n color: var(--spw-ds-primary);\n }\n &[disabled] {\n color: var(--spw-colors-support-grey-grey-600);\n }\n }\n }\n}\n\n/* Sizes */\n\n.spw-button {\n &--large {\n font-size: var(--spw-button-font-size-large);\n padding: var(--spw-button-py-large) var(--spw-button-px-large);\n .spw-button__inner-text {\n gap: 12px;\n }\n &.spw-button--is-icon-only {\n width: 54px;\n }\n }\n\n &--medium {\n font-size: var(--spw-button-font-size-medium);\n padding: var(--spw-button-py-medium) var(--spw-button-px-medium);\n .spw-button__inner-text {\n gap: 8px;\n }\n &.spw-button--is-icon-only {\n width: 45px;\n }\n }\n\n &--small {\n font-size: var(--spw-button-font-size-small);\n padding: var(--spw-button-py-small) var(--spw-button-px-small);\n .spw-button__inner-text {\n gap: 6px;\n }\n &.spw-button--is-icon-only {\n width: 35px;\n }\n }\n\n &--small,\n &--medium,\n &--large {\n &.spw-button--tertiary {\n padding: 4px;\n }\n }\n}\n","import { Component, Element, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'spw-button',\n styleUrl: 'spw-button.scss',\n shadow: true,\n})\nexport class SpwButton {\n @Element() el: HTMLSpwButtonElement;\n\n /** Spécifie le lien si nécessaire */\n @Prop() href?: string;\n /** Attribut target, s'applique uniquement si href est rempli */\n @Prop() target?: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Permet de télécharger un fichier au lieu de naviguer vers le lien */\n @Prop() download?: string;\n /** Nom du bouton */\n @Prop() name?: string = '';\n /** Valeur du bouton */\n @Prop() value?: string | number = '';\n /** Type du bouton */\n @Prop() type?: 'button' | 'submit' | 'reset' = 'button';\n\n /** Permet de sélectionner une variante du bouton */\n @Prop() variant?: 'primary' | 'secondary' | 'tertiary' = 'primary';\n /** Permet de choisir la surface d'arrière-plan du bouton */\n @Prop() surface?: 'default' | 'dark' | 'light' | 'primary' = 'default';\n /** Si désactivé, le bouton n'est pas utilisable */\n @Prop() disabled?: boolean = false;\n /** Permet de spécifier la taille du bouton */\n @Prop() size?: 'large' | 'medium' | 'small' = 'medium';\n\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n\n /** Si rempli, vous pouvez utiliser une référence d'icône font-awesome */\n @Prop() isIconOnly?: boolean = false;\n /** Si rempli, vous pouvez utiliser une référence d'icône font-awesome */\n @Prop() icon?: string;\n /** Position de l'icône à l'intérieur du bouton */\n @Prop() iconPosition?: 'left' | 'right';\n\n /** Si vrai, le bouton prend toute la largeur */\n @Prop() isFullWidth?: boolean = false;\n /** Si vrai, le bouton prend toute la largeur en mobile */\n @Prop({ reflect: true }) isFullWidthMobile?: boolean = true;\n\n /** Affiche un état de chargement, désactive le bouton */\n @Prop() isLoading?: boolean = false;\n\n /** Lors du focus */\n @Event() spwFocus: EventEmitter<void>;\n /** Lors de la perte du focus */\n @Event() spwBlur: EventEmitter<void>;\n /** Navigation vers un lien lors du clic */\n @Event() spwNavigate: EventEmitter<MouseEvent>;\n\n private onFocus = () => {\n this.spwFocus.emit();\n };\n\n private onBlur = () => {\n this.spwBlur.emit();\n };\n\n private resetFormInputs() {\n const form = this.el.closest('form');\n if (!form) return;\n\n const spwInputs = form.querySelectorAll('spw-input');\n spwInputs.forEach(spwInput => {\n const input = spwInput.shadowRoot.querySelector('input');\n if (input) {\n input.value = '';\n }\n });\n }\n\n private onClick = (ev: MouseEvent) => {\n if (this.disabled || this.isLoading) {\n ev.preventDefault();\n return;\n }\n\n if (this.type === 'reset') {\n ev.preventDefault();\n this.resetFormInputs();\n return;\n }\n\n if (this.type === 'submit' && !this.disabled) {\n const form = this.el.closest('form');\n if (form) {\n ev.preventDefault();\n form.requestSubmit();\n return;\n }\n }\n\n if (this.href !== undefined) {\n this.spwNavigate.emit(ev);\n }\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-button': true,\n [`spw-button--${this.variant}`]: true,\n [`spw-button--surface-${this.surface}`]: true,\n [`spw-button--${this.size}`]: true,\n [`spw-button--is-icon-only`]: this.isIconOnly,\n [`spw-button--fullwidth`]: this.isFullWidth,\n [`spw-button--fullwidth-mobile`]: this.isFullWidthMobile,\n [`spw-button--loading`]: this.isLoading,\n };\n }\n\n render() {\n const { type, download, href, rel, target, name, value } = this;\n const TagType = this.href === undefined ? 'button' : 'a';\n const attrs =\n TagType === 'button'\n ? { type: type, name, value }\n : {\n download,\n href,\n rel,\n target,\n };\n\n const iconPosition = this.icon && !this.iconPosition ? 'right' : this.iconPosition;\n const iconClass = `spw-icon--${iconPosition}`;\n const iconElement = this.icon ? <spw-icon class={iconClass} icon={this.icon}></spw-icon> : null;\n\n const isDisabled = this.disabled;\n\n const ariaAttributes = {\n 'aria-label': this?.accAriaLabel,\n 'aria-disabled': isDisabled ? 'true' : null,\n };\n\n return (\n <TagType {...attrs} class={this.elementClass} disabled={isDisabled} onFocus={this.onFocus} onBlur={this.onBlur} onClick={this.onClick} {...ariaAttributes}>\n <div class=\"spw-button__inner\">\n <div class=\"spw-button__inner-text\">\n {iconPosition === 'left' && iconElement}\n {!this.isIconOnly && <slot></slot>}\n {iconPosition === 'right' && iconElement}\n </div>\n </div>\n <spw-loading text=\"\"></spw-loading>\n </TagType>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-B3OQ2nRI.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-accordion/spw-accordion-item/spw-accordion-item.scss?tag=spw-accordion-item&encapsulation=shadow","src/components/spw-accordion/spw-accordion-item/spw-accordion-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.spw-accordion-item {\n position: relative;\n &__content {\n position: relative;\n border-bottom: 1px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &__trigger {\n display: block;\n text-decoration: none;\n\n position: sticky;\n top: 0;\n // background: white;\n z-index: 10;\n @include breakpoint(md) {\n position: relative;\n }\n\n &:focus-visible {\n outline: 2px solid white;\n outline-offset: -3px;\n box-shadow: 0 0 0 2px black;\n }\n }\n}\n","import { Component, h, Host, Event, Prop, EventEmitter, Watch, State, Element } from '@stencil/core';\n\n@Component({\n tag: 'spw-accordion-item',\n styleUrl: 'spw-accordion-item.scss',\n shadow: true,\n})\nexport class SpwAccordionItem {\n @State() isOpen: boolean = false;\n @State() isMobile: boolean = window.innerWidth < 768;\n @Element() el: HTMLSpwAccordionItemElement;\n\n /** Transmet l'état actuel (isOpen) et l'id de l'élément */\n @Event() accordionToggle: EventEmitter<{ isOpen: boolean; id: string }>;\n /** Définit si l'élément est ouvert ou pas */\n @Prop() defaultOpen: boolean = false;\n\n private resizeListener: () => void;\n\n componentWillLoad() {\n this.isOpen = this.defaultOpen;\n this.assignItemId();\n this.setupResizeListener();\n this.toggleClasses();\n }\n\n componentDidLoad() {\n if (this.isOpen) {\n const itemId = this.el.getAttribute('data-accordion-id');\n this.accordionToggle.emit({ isOpen: this.isOpen, id: itemId });\n this.updateFocusableElements();\n }\n }\n\n disconnectedCallback() {\n this.teardownResizeListener();\n }\n\n @Watch('defaultOpen')\n defaultOpenChanged(newValue: boolean) {\n this.isOpen = newValue;\n this.toggleClasses();\n this.updateFocusableElements();\n }\n\n private assignItemId() {\n const index = Array.from(this.el.parentNode.children).indexOf(this.el);\n this.el.setAttribute('data-accordion-id', `accordion-item-${index}`);\n }\n\n private toggleContent() {\n this.isOpen = !this.isOpen;\n const itemId = this.el.getAttribute('data-accordion-id');\n this.accordionToggle.emit({ isOpen: this.isOpen, id: itemId });\n this.updateFocusableElements();\n if (!this.isOpen) {\n this.scrollToElement();\n }\n this.toggleClasses();\n }\n\n private toggleClasses(): void {\n const contentElement = this.el.querySelector('spw-accordion-content');\n const titleElement = this.el.querySelector('spw-accordion-title');\n if (contentElement) {\n contentElement.classList.toggle('--collapsed', !this.isOpen);\n }\n if (titleElement) {\n titleElement.classList.toggle('--collapsed', !this.isOpen);\n }\n }\n\n private handleClick(event: MouseEvent) {\n event.preventDefault();\n this.toggleContent();\n }\n\n private scrollToElement() {\n const element = this.el.shadowRoot.querySelector('.spw-accordion-item__content') as HTMLElement;\n if (element && this.isMobile) {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n }\n\n private updateFocusableElements() {\n const contentSlot = this.el.shadowRoot.querySelector('slot[name=\"content\"]') as HTMLSlotElement;\n if (!contentSlot) {\n return;\n }\n\n const assignedElements = contentSlot.assignedElements({ flatten: true }) as HTMLElement[];\n\n assignedElements.forEach(element => {\n const focusableElements = element.querySelectorAll<HTMLElement>('*');\n\n focusableElements.forEach(focusable => {\n if (this.isOpen) {\n const originalTabIndex = focusable.getAttribute('data-tabindex-original');\n if (originalTabIndex !== null) {\n focusable.setAttribute('tabindex', originalTabIndex);\n focusable.removeAttribute('data-tabindex-original');\n } else {\n focusable.removeAttribute('tabindex');\n }\n } else {\n if (!focusable.hasAttribute('data-tabindex-original')) {\n const currentTabIndex = focusable.getAttribute('tabindex');\n if (currentTabIndex !== null) {\n focusable.setAttribute('data-tabindex-original', currentTabIndex);\n } else {\n focusable.setAttribute('data-tabindex-original', '');\n }\n }\n focusable.setAttribute('tabindex', '-1');\n }\n });\n });\n }\n\n private setupResizeListener() {\n this.resizeListener = () => {\n this.isMobile = window.innerWidth < 768;\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n\n private teardownResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n }\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-accordion-item': true,\n 'spw-accordion-item--collapsed': !this.isOpen,\n };\n }\n\n private get elementChildClass(): { [className: string]: boolean } {\n return {\n 'spw-accordion-item__trigger': true,\n };\n }\n\n render() {\n return (\n <Host class={this.elementClass}>\n <div class=\"spw-accordion-item__content\">\n <a href=\"#\" class={this.elementChildClass} onClick={event => this.handleClick(event)}>\n <slot name=\"title\"></slot>\n </a>\n <slot name=\"content\"></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,129 +0,0 @@
1
- import { p as proxyCustomElement, H, c as createEvent, h } from './index.js';
2
- import { d as defineCustomElement$1 } from './p-_q4w18VU.js';
3
-
4
- const spwCheckboxCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;--spw-ds-checkbox-checked-color:var(--spw-ds-primary);--spw-ds-checkbox-checked-active-color:var(--spw-ds-active);--spw-ds-checkbox-checked-hover-color:var(--spw-ds-variant);box-sizing:border-box;display:inline-flex;font-size:100%;line-height:1.3;vertical-align:top}:host *,:host :after,:host :before{box-sizing:inherit;font-family:Nunito Sans}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}:root{--spw-ds-container-xl:1200px;--spw-ds-container-lg:1024px;--spw-ds-container-md:768px;--spw-ds-container-sm:640px}.spw-ds-container{margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;width:100%}@media (min-width:460px){.spw-ds-container{max-width:var(--spw-ds-container-sm)}}@media (min-width:768px){.spw-ds-container{max-width:var(--spw-ds-container-md)}}@media (min-width:1024px){.spw-ds-container{max-width:var(--spw-ds-container-lg)}}@media (min-width:1350px){.spw-ds-container{max-width:var(--spw-ds-container-xl)}}.spw-checkbox{align-items:flex-start;display:inline-flex;flex-direction:row;padding:0}.spw-checkbox__wrapper{align-items:center;background-color:var(--spw-ds-white);border:2px solid var(--spw-color-themes-grey-grey-900);border-radius:var(--spw-spacings-border-radius-2-xs);display:flex;flex:none;flex-grow:0;font-size:var(--spw-typography-body-body-3-font-size);height:20px;justify-content:center;order:0;position:relative;width:20px}.spw-checkbox__wrapper spw-icon{font-size:14px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.spw-checkbox__wrapper--error{border-color:var(--spw-colors-dark-states-error-error-300)}.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):active,.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):focus-visible,.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled):focus-within{box-shadow:0 0 0 4px #000;outline:2px solid #fff;outline-offset:0}.spw-checkbox__wrapper--disabled{border-color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper--checked{border-color:var(--spw-ds-checkbox-checked-color);color:var(--spw-ds-checkbox-checked-color)}.spw-checkbox__wrapper--checked--disabled{color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper--toggle{background:var(--spw-color-themes-grey-grey-500);border:none;border-radius:40px;height:18px;top:1px;transition:background .2s ease;width:30px}.spw-checkbox__wrapper--toggle:hover{background:var(--spw-color-themes-grey-grey-600)}.spw-checkbox__wrapper--toggle:active{background:var(--spw-color-themes-grey-grey-800)}.spw-checkbox__wrapper--toggle spw-icon{line-height:0;margin-left:15px;opacity:0;transition:all .2s ease .3s;transition:all .2s ease}.spw-checkbox__wrapper--toggle:before{background:#fff;border-radius:50%;content:\"\";height:14px;left:2px;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:14px}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle{background:var(--spw-ds-checkbox-checked-color);color:var(--spw-ds-checkbox-checked-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:before{background:#fff;left:calc(100% - 16px)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle spw-icon{font-size:10px;margin-left:6px;opacity:1}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled):hover{background:var(--spw-ds-checkbox-checked-hover-color);color:var(--spw-ds-checkbox-checked-hover-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled):active{background:var(--spw-ds-checkbox-checked-active-color);color:var(--spw-ds-checkbox-checked-active-color)}.spw-checkbox__wrapper.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled{background:#fff;border-color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__wrapper.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled:before{background:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__label{word-wrap:break-word;color:var(--spw-color-themes-grey-grey-900);order:1;padding-left:var(--spw-spacings-spacing-sm);padding-top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.spw-checkbox__label:hover~.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled){outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-checkbox__label:active~.spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled){box-shadow:0 0 0 4px #000;outline:2px solid #fff;outline-offset:0}.spw-checkbox__label--disabled{color:var(--spw-color-themes-grey-grey-500)}.spw-checkbox__label:hover,.spw-checkbox__wrapper:hover{cursor:pointer}.spw-checkbox__label--disabled:hover,.spw-checkbox__wrapper--disabled:hover{cursor:not-allowed}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}.spw-tw-mr-2{margin-right:.5rem}";
5
-
6
- const SpwCheckbox = /*@__PURE__*/ proxyCustomElement(class SpwCheckbox extends H {
7
- constructor() {
8
- super();
9
- this.__registerHost();
10
- this.__attachShadow();
11
- this.spwChange = createEvent(this, "spwChange");
12
- this.internals = this.attachInternals();
13
- /** Détermine si la case à cocher est désactivée, rendant l'élément inutilisable */
14
- this.disabled = false;
15
- /** Propriété mutable qui reflète si la case à cocher est cochée ou non */
16
- this.checked = false;
17
- /** Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel */
18
- this.error = false;
19
- /** Icône à afficher lorsque la case à cocher est cochée */
20
- this.icon = 'fa-check';
21
- /** Type de variant pour la checkbox */
22
- this.variant = 'default';
23
- }
24
- handleCheckbox() {
25
- if (!this.disabled) {
26
- this.internalChecked = !this.internalChecked;
27
- this.checked = this.internalChecked;
28
- this.updateFormValue();
29
- this.spwChange.emit(this.internalChecked);
30
- }
31
- }
32
- /** Méthode publique pour changer l'état de la case à cocher. */
33
- async toggleCheckedState(newVal) {
34
- this.internalChecked = newVal;
35
- this.checked = newVal;
36
- this.updateFormValue();
37
- }
38
- checkedChanged(newChecked) {
39
- this.internalChecked = newChecked;
40
- this.inputElement.checked = newChecked;
41
- this.updateFormValue();
42
- }
43
- updateFormValue() {
44
- if (this.internalChecked) {
45
- this.internals.setFormValue('on');
46
- }
47
- else {
48
- this.internals.setFormValue(null);
49
- }
50
- }
51
- handleKeydown(event) {
52
- if (event.key === ' ' || event.key === 'Enter') {
53
- // Space or Enter keys
54
- this.handleCheckbox();
55
- event.preventDefault();
56
- }
57
- }
58
- componentWillLoad() {
59
- this.internalChecked = this.checked;
60
- this.updateFormValue();
61
- }
62
- componentDidLoad() {
63
- var _a;
64
- (_a = this.el.closest('form')) === null || _a === void 0 ? void 0 : _a.addEventListener('formdata', (e) => {
65
- if (this.internalChecked) {
66
- e.formData.set(this.name, 'on');
67
- }
68
- });
69
- }
70
- formResetCallback() {
71
- this.internalChecked = false;
72
- this.checked = false;
73
- this.updateFormValue();
74
- }
75
- get elementClass() {
76
- return {
77
- 'spw-checkbox__wrapper': true,
78
- [`spw-checkbox__wrapper--${this.variant}`]: true,
79
- 'spw-checkbox__wrapper--disabled': this.disabled,
80
- 'spw-checkbox__wrapper--checked': this.internalChecked,
81
- 'spw-checkbox__wrapper--error': this.error,
82
- };
83
- }
84
- render() {
85
- const slot = this.el.innerHTML;
86
- const hasSlot = Boolean(slot);
87
- return (h("div", { key: '346a6a165000a9fac29cfcf8fb742dc3871d07c2', class: "spw-checkbox" }, h("input", { key: 'a10fc25d9dc9e2281d945f686f91cf004ad63076', type: "checkbox", ref: el => (this.inputElement = el), checked: this.internalChecked, onChange: this.handleCheckbox.bind(this), name: this.name, disabled: this.disabled, style: { display: 'none' } }), hasSlot && (h("label", { key: '4666d69baa172d4a9f81ed2fc17edda8faea3d56', htmlFor: this.name, class: `spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`, onClick: this.handleCheckbox.bind(this) }, h("slot", { key: '31f0458f49a806820c4f4d7411a9b02045ebc9a6' }))), h("div", { key: 'a537f489f207f9ccfcc933b57a58d5891fdcbe2b', tabindex: this.disabled ? -1 : 0, onClick: this.handleCheckbox.bind(this), onKeyDown: this.handleKeydown.bind(this), role: "checkbox", "aria-checked": this.internalChecked ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', "aria-labelledby": "label", class: this.elementClass }, this.internalChecked && h("spw-icon", { key: '39ba0368fca18e58d613e1232a5c77fa1d7dc4e6', icon: this.icon }))));
88
- }
89
- static get formAssociated() { return true; }
90
- get el() { return this; }
91
- static get watchers() { return {
92
- "checked": ["checkedChanged"]
93
- }; }
94
- static get style() { return spwCheckboxCss; }
95
- }, [65, "spw-checkbox", {
96
- "disabled": [4],
97
- "checked": [1540],
98
- "error": [4],
99
- "icon": [1],
100
- "name": [1],
101
- "variant": [1],
102
- "internalChecked": [32],
103
- "toggleCheckedState": [64]
104
- }, undefined, {
105
- "checked": ["checkedChanged"]
106
- }]);
107
- function defineCustomElement() {
108
- if (typeof customElements === "undefined") {
109
- return;
110
- }
111
- const components = ["spw-checkbox", "spw-icon"];
112
- components.forEach(tagName => { switch (tagName) {
113
- case "spw-checkbox":
114
- if (!customElements.get(tagName)) {
115
- customElements.define(tagName, SpwCheckbox);
116
- }
117
- break;
118
- case "spw-icon":
119
- if (!customElements.get(tagName)) {
120
- defineCustomElement$1();
121
- }
122
- break;
123
- } });
124
- }
125
-
126
- export { SpwCheckbox as S, defineCustomElement as d };
127
- //# sourceMappingURL=p-Cf-dIWNi.js.map
128
-
129
- //# sourceMappingURL=p-Cf-dIWNi.js.map
@@ -1 +0,0 @@
1
- {"file":"p-Cf-dIWNi.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-checkbox/spw-checkbox.scss?tag=spw-checkbox&encapsulation=shadow","src/components/spw-checkbox/spw-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n vertical-align: top;\n --spw-ds-checkbox-checked-color: var(--spw-ds-primary);\n --spw-ds-checkbox-checked-active-color: var(--spw-ds-active);\n --spw-ds-checkbox-checked-hover-color: var(--spw-ds-variant);\n}\n\n.spw-checkbox {\n display: inline-flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 0;\n\n &__wrapper {\n display: flex;\n position: relative;\n justify-content: center;\n align-items: center;\n width: 20px;\n height: 20px;\n background-color: var(--spw-ds-white);\n border: 2px solid var(--spw-color-themes-grey-grey-900);\n border-radius: var(--spw-spacings-border-radius-2-xs);\n font-size: var(--spw-typography-body-body-3-font-size);\n flex: none;\n order: 0;\n flex-grow: 0;\n\n spw-icon {\n font-size: 14px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n\n &--error {\n border-color: var(--spw-colors-dark-states-error-error-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):hover {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n &:not(.spw-checkbox__wrapper--disabled):focus-visible,\n &:not(.spw-checkbox__wrapper--disabled):active,\n &:not(.spw-checkbox__wrapper--disabled):focus-within,\n &:not(.spw-checkbox__wrapper--disabled):active {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n }\n\n &--checked {\n border-color: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &--toggle {\n top: 1px;\n width: 30px;\n height: 18px;\n border-radius: 40px;\n border: none;\n background: var(--spw-color-themes-grey-grey-500);\n transition: background 0.2s ease;\n &:hover {\n background: var(--spw-color-themes-grey-grey-600);\n }\n &:active {\n background: var(--spw-color-themes-grey-grey-800);\n }\n spw-icon {\n opacity: 0;\n line-height: 0;\n transition: all 0.2s 0.3s ease;\n margin-left: 15px;\n transition: all 0.2s ease;\n }\n &:before {\n content: '';\n position: absolute;\n width: 14px;\n height: 14px;\n background: white;\n border-radius: 50%;\n top: 50%;\n left: 2px;\n transform: translateY(-50%);\n transition: all 0.2s ease;\n }\n }\n &.spw-checkbox__wrapper--checked.spw-checkbox__wrapper--toggle {\n background: var(--spw-ds-checkbox-checked-color);\n color: var(--spw-ds-checkbox-checked-color);\n &:before {\n left: calc(100% - 16px);\n background: white;\n }\n spw-icon {\n font-size: 10px;\n margin-left: 6px;\n opacity: 1;\n }\n &:not(.spw-checkbox__wrapper--disabled):hover {\n background: var(--spw-ds-checkbox-checked-hover-color);\n color: var(--spw-ds-checkbox-checked-hover-color);\n }\n &:not(.spw-checkbox__wrapper--disabled):active {\n background: var(--spw-ds-checkbox-checked-active-color);\n color: var(--spw-ds-checkbox-checked-active-color);\n }\n }\n &.spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--disabled {\n border-color: var(--spw-color-themes-grey-grey-500);\n background: white;\n &:before {\n background: var(--spw-color-themes-grey-grey-500);\n }\n }\n }\n\n &__label {\n color: var(--spw-color-themes-grey-grey-900);\n word-wrap: break-word;\n order: 1;\n padding-top: 1px;\n user-select: none;\n padding-left: var(--spw-spacings-spacing-sm);\n\n &:hover ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 4px solid var(--spw-color-themes-grey-grey-300);\n }\n\n // &:hover ~ .spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-color-themes-grey-grey-600);\n // color: var(--spw-color-themes-grey-grey-600);\n // }\n\n // &:active ~ .spw-checkbox__wrapper--toggle:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-color-themes-grey-grey-800);\n // color: var(--spw-color-themes-grey-grey-800);\n // }\n\n // &:hover ~ .spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--checked:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-ds-checkbox-checked-hover-color);\n // color: var(--spw-ds-checkbox-checked-hover-color);\n // }\n\n // &:active ~ .spw-checkbox__wrapper--toggle.spw-checkbox__wrapper--checked:not(.spw-checkbox__wrapper--disabled) {\n // background: var(--spw-ds-checkbox-checked-active-color);\n // color: var(--spw-ds-checkbox-checked-active-color);\n // }\n\n &:active ~ .spw-checkbox__wrapper:not(.spw-checkbox__wrapper--disabled) {\n outline: 2px solid white;\n outline-offset: 0;\n box-shadow: 0 0 0 4px black;\n }\n\n &--disabled {\n color: var(--spw-color-themes-grey-grey-500);\n }\n }\n\n &__wrapper,\n &__label {\n &:hover {\n cursor: pointer;\n }\n &--disabled:hover {\n cursor: not-allowed;\n }\n }\n}\n","import { Component, h, Prop, Element, State, Event, EventEmitter, Watch, Method, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'spw-checkbox',\n styleUrl: 'spw-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class SpwCheckbox {\n private inputElement: HTMLInputElement;\n\n @Element() el: HTMLSpwCheckboxElement;\n\n /** Détermine si la case à cocher est désactivée, rendant l'élément inutilisable */\n @Prop() disabled: boolean = false;\n /** Propriété mutable qui reflète si la case à cocher est cochée ou non */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n /** Indique s'il y a une erreur associée à la case à cocher, pour un affichage visuel */\n @Prop() error: boolean = false;\n /** Icône à afficher lorsque la case à cocher est cochée */\n @Prop() icon: string = 'fa-check';\n /** Nom de l'élément utilisé dans les formulaires */\n @Prop() name: string;\n /** Type de variant pour la checkbox */\n @Prop() variant?: 'default' | 'toggle' = 'default';\n\n @State() internalChecked: boolean;\n\n @AttachInternals() internals: ElementInternals;\n\n /** Événement déclenché lors d'un changement d'état de la case à cocher (cochée ou décochée) */\n @Event({ bubbles: true, composed: true }) spwChange: EventEmitter<boolean>;\n\n private handleCheckbox() {\n if (!this.disabled) {\n this.internalChecked = !this.internalChecked;\n this.checked = this.internalChecked;\n this.updateFormValue();\n this.spwChange.emit(this.internalChecked);\n }\n }\n\n /** Méthode publique pour changer l'état de la case à cocher. */\n @Method()\n async toggleCheckedState(newVal: boolean) {\n this.internalChecked = newVal;\n this.checked = newVal;\n this.updateFormValue();\n }\n\n @Watch('checked')\n checkedChanged(newChecked: boolean) {\n this.internalChecked = newChecked;\n this.inputElement.checked = newChecked;\n this.updateFormValue();\n }\n\n private updateFormValue() {\n if (this.internalChecked) {\n this.internals.setFormValue('on');\n } else {\n this.internals.setFormValue(null);\n }\n }\n\n private handleKeydown(event) {\n if (event.key === ' ' || event.key === 'Enter') {\n // Space or Enter keys\n this.handleCheckbox();\n event.preventDefault();\n }\n }\n\n componentWillLoad() {\n this.internalChecked = this.checked;\n this.updateFormValue();\n }\n\n componentDidLoad() {\n this.el.closest('form')?.addEventListener('formdata', (e: FormDataEvent) => {\n if (this.internalChecked) {\n e.formData.set(this.name, 'on');\n }\n });\n }\n\n formResetCallback() {\n this.internalChecked = false;\n this.checked = false;\n this.updateFormValue();\n }\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-checkbox__wrapper': true,\n [`spw-checkbox__wrapper--${this.variant}`]: true,\n 'spw-checkbox__wrapper--disabled': this.disabled,\n 'spw-checkbox__wrapper--checked': this.internalChecked,\n 'spw-checkbox__wrapper--error': this.error,\n };\n }\n\n render() {\n const slot = this.el.innerHTML;\n const hasSlot = Boolean(slot);\n\n return (\n <div class=\"spw-checkbox\">\n <input\n type=\"checkbox\"\n ref={el => (this.inputElement = el)}\n checked={this.internalChecked}\n onChange={this.handleCheckbox.bind(this)}\n name={this.name}\n disabled={this.disabled}\n style={{ display: 'none' }}\n />\n {hasSlot && (\n <label htmlFor={this.name} class={`spw-checkbox__label ${this.disabled ? 'spw-checkbox__label--disabled' : ''}`} onClick={this.handleCheckbox.bind(this)}>\n <slot />\n </label>\n )}\n <div\n tabindex={this.disabled ? -1 : 0}\n onClick={this.handleCheckbox.bind(this)}\n onKeyDown={this.handleKeydown.bind(this)}\n role=\"checkbox\"\n aria-checked={this.internalChecked ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-labelledby=\"label\"\n class={this.elementClass}\n >\n {this.internalChecked && <spw-icon icon={this.icon}></spw-icon>}\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-DaosfSzT.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: 3ch;\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 } 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 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 calculateWidth(): string {\n const length = this.inputPageValue.length;\n if (length <= 1) {\n return '3ch';\n }\n return `${length + 1}ch`;\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 style={{ width: this.calculateWidth() }}\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 +0,0 @@
1
- {"file":"p-GUYao_6w.js","mappings":";;;AAAA,MAAM,UAAU,GAAG,qlIAAqlI;;MCO3lI,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;AALpB,IAAA,WAAA,GAAA;;;;;;AAWU,QAAA,IAAM,CAAA,MAAA,GAAY,OAAO;;AAMzB,QAAA,IAAY,CAAA,YAAA,GAAsB,OAAO;;AAEzC,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK;;AAI1B,QAAA,IAAO,CAAA,OAAA,GAAsB,OAAO;AAKpC,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,EAAc,KAAI;AACnC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,EAAE,CAAC,cAAc,EAAE;gBACnB;;AAEF,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;AACxB,SAAC;AAgCF;AA9BC,IAAA,IAAY,YAAY,GAAA;QACtB,OAAO;AACL,YAAA,UAAU,EAAE,IAAI;YAChB,0BAA0B,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO;YACtE,yBAAyB,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM;AACpE,YAAA,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAC3C,YAAA,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;SAClC;;IAGH,MAAM,GAAA;AACJ,QAAA,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI;AAC9E,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,YAAY,EAAE,YAAY;YAC1B,eAAe,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;SAC1C;AAED,QAAA,MAAM,SAAS,GAAG,CAAa,UAAA,EAAA,YAAY,EAAE;QAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,gBAAU,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAA,CAAa,GAAG,IAAI;AAErF,QAAA,QACE,CAAA,CAAA,GAAA,EAAA,MAAA,CAAA,MAAA,CAAA,EAAA,GAAA,EAAA,0CAAA,EAAG,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAM,cAAc,CAAA,EAChI,YAAY,KAAK,MAAM,IAAI,WAAW,EACvC,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACL,YAAY,KAAK,OAAO,IAAI,WAAW,CACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/spw-link/spw-link.scss?tag=spw-link&encapsulation=shadow","src/components/spw-link/spw-link.tsx"],"sourcesContent":[":host {\n display: inline;\n --spw-link-color: var(--spw-ds-primary);\n --spw-link-hover-color: var(--spw-ds-variant);\n --spw-link-active-color: var(--spw-ds-active);\n --spw-link-font-weight: 700;\n --spw-link-padding: 6px;\n}\n\n.spw-link {\n display: inline;\n text-decoration: none;\n cursor: pointer;\n color: var(--spw-link-color);\n border-radius: 4px;\n font-weight: var(--spw-link-font-weight);\n &--surface-dark {\n color: var(--spw-ds-white);\n }\n\n &__inner {\n display: inline;\n border-bottom: 1px solid var(--spw-link-color);\n .spw-link--surface-dark & {\n border-bottom: 1px solid var(--spw-ds-white);\n }\n }\n\n &:focus-visible {\n outline-offset: 2px;\n outline: 3px solid black;\n }\n\n &:hover {\n color: var(--spw-link-hover-color);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-link-hover-color);\n }\n }\n\n &:active {\n color: var(--spw-link-active-color);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-link-active-color);\n }\n }\n\n &[aria-disabled='true'] {\n pointer-events: none;\n color: var(--spw-color-themes-grey-grey-600);\n cursor: not-allowed;\n }\n\n &--surface-dark {\n &:hover {\n color: var(--spw-ds-white);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-ds-white);\n }\n }\n\n &:active {\n color: var(--spw-ds-white);\n .spw-link__inner {\n border-bottom: 2px solid var(--spw-ds-white);\n }\n }\n\n &[aria-disabled='true'] {\n color: var(--spw-ds-white);\n opacity: 0.5;\n }\n }\n\n &--has-icon-right spw-icon {\n margin-left: var(--spw-link-padding);\n margin-right: 4px;\n }\n\n &--has-icon-left spw-icon {\n margin-left: 4px;\n margin-right: var(--spw-link-padding);\n }\n}\n","import { Component, Element, Prop, h, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'spw-link',\n styleUrl: 'spw-link.scss',\n shadow: true,\n})\nexport class SpwLink {\n @Element() el: HTMLSpwLinkElement;\n\n /** Spécifie le lien href */\n @Prop() href: string;\n /** Attribut target (détermine où ouvrir le lien) */\n @Prop() target?: string = '_self';\n /** Remplit l'attribut rel */\n @Prop() rel?: string;\n /** Si rempli, permet d'utiliser une référence d'icône font-awesome */\n @Prop() icon?: string;\n /** Position de l'icône à l'intérieur du lien (gauche ou droite) */\n @Prop() iconPosition?: 'left' | 'right' = 'right';\n /** Si désactivé, le lien n'est pas cliquable */\n @Prop() disabled?: boolean = false;\n /** Remplit l'attribut aria-label, utilisé à des fins d'accessibilité */\n @Prop() accAriaLabel?: string;\n /** Permet de choisir la surface d'arrière-plan du lien */\n @Prop() surface?: 'light' | 'dark' = 'light';\n\n /** Événement déclenché lors du clic sur le lien */\n @Event() spwClick: EventEmitter<MouseEvent>;\n\n private onClick = (ev: MouseEvent) => {\n if (this.disabled) {\n ev.preventDefault();\n return;\n }\n this.spwClick.emit(ev);\n };\n\n private get elementClass(): { [className: string]: boolean } {\n return {\n 'spw-link': true,\n 'spw-link--has-icon-right': this.icon && this.iconPosition === 'right',\n 'spw-link--has-icon-left': this.icon && this.iconPosition === 'left',\n [`spw-link--surface-${this.surface}`]: true,\n 'spw-link--has-icon': !!this.icon,\n };\n }\n\n render() {\n const { href, rel, target, icon, iconPosition, accAriaLabel, disabled } = this;\n const ariaAttributes = {\n 'aria-label': accAriaLabel,\n 'aria-disabled': disabled ? 'true' : null,\n };\n\n const iconClass = `spw-icon--${iconPosition}`;\n const iconElement = icon ? <spw-icon class={iconClass} icon={icon}></spw-icon> : null;\n\n return (\n <a href={disabled ? undefined : href} rel={rel} target={target} class={this.elementClass} onClick={this.onClick} {...ariaAttributes}>\n {iconPosition === 'left' && iconElement}\n <div class=\"spw-link__inner\">\n <slot></slot>\n </div>\n {iconPosition === 'right' && iconElement}\n </a>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"p-zpG0udTn.js","mappings":"AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAqWM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}.${parts[1]}.${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp) => {\n if (isText(prop)) {\n return {\n [prop.name]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [prop.name]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [prop.name]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [prop.name]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[]) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n return {\n [`on${capitalizeFirstLetter(event.event)}`]: {\n action: event.event,\n description: description(event),\n table: {\n defaultValue: { summary: event.event },\n category: 'events',\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[]) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod) => {\n return {\n [method.name]: {\n action: method.name,\n description: description(method),\n table: {\n category: 'methods',\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[]) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [] }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[] },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n acc[token.name] = {\n control: true,\n description: token.description,\n table: {\n category: 'Tokens',\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n // ✅ Séparation claire des catégories\n const propControls = generateProps(props as ComponentProp[]);\n const eventControls = generateEvents(events as ComponentEvent[]);\n const methodControls = generateMethods(methods as ComponentMethod[]);\n\n // ✅ Regroupement complet pour Storybook\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n // ✅ Indique explicitement quelles sont les props réelles du composant\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false, // ne pollue pas la vue Storybook\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-zpG0udTn.js","sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first: string, middle: string, last: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function toKebabCase(str: string) {\n return str.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nexport function formatDate(date: string): string {\n const parts = date.split('-');\n return `${parts[2]}.${parts[1]}.${parts[0]}`;\n}\n\nexport function stripHtmlContent(content: string): string {\n const div = document.createElement('div');\n div.innerHTML = content;\n return div.textContent || div.innerText || '';\n}\n\ninterface ComponentProp {\n name: string;\n type: string;\n docs: string;\n default: string;\n}\n\ninterface ComponentEvent {\n event: string;\n docs: string;\n detail: string;\n}\n\ninterface ComponentMethod {\n name: string;\n signature: string;\n docs: string;\n returns: {\n type: string;\n docs: string;\n };\n parameters: Array<{\n name: string;\n type: string;\n docs: string;\n }>;\n}\n\ninterface ComponentInfo {\n name: string;\n props: ComponentProp[];\n events: ComponentEvent[];\n methods: ComponentMethod[];\n}\n\nconst description = (prop: ComponentProp | ComponentEvent | ComponentMethod) => (prop.docs || '').trim();\n\nconst isText = (prop: ComponentProp) => prop.type === 'string';\nconst isBoolean = (prop: ComponentProp) => prop.type === 'boolean';\nconst isEnum = (prop: ComponentProp) => prop.type.includes('|');\nconst isNumber = (prop: ComponentProp) => prop.type === 'number';\n\nconst enumOptions = (prop: ComponentProp) =>\n prop.type\n .split('|')\n .map(t => t.trim())\n .map(t => (t === '\"\"' ? 'default' : t))\n .map(t => t.replace(/^\"(.*)\"$/, '$1'));\n\nconst generateProp = (prop: ComponentProp) => {\n if (isText(prop)) {\n return {\n [prop.name]: {\n control: 'text',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'string' },\n },\n },\n };\n }\n\n if (isBoolean(prop)) {\n return {\n [prop.name]: {\n control: 'boolean',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'boolean' },\n },\n },\n };\n }\n\n if (isNumber(prop)) {\n return {\n [prop.name]: {\n control: 'number',\n description: description(prop),\n defaultValue: prop.default,\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'number' },\n },\n },\n };\n }\n\n if (isEnum(prop)) {\n return {\n [prop.name]: {\n control: 'select',\n defaultValue: prop.default,\n options: enumOptions(prop),\n description: description(prop),\n table: {\n category: 'properties',\n defaultValue: { summary: prop.default },\n type: { summary: 'enum' },\n },\n },\n };\n }\n\n return {};\n};\n\nconst generateProps = (props: ComponentProp[]) => {\n let args = {};\n props.forEach(prop => (args = { ...args, ...generateProp(prop) }));\n return args;\n};\n\nconst generateEvent = (event: ComponentEvent) => {\n function capitalizeFirstLetter(string: string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n }\n\n return {\n [`on${capitalizeFirstLetter(event.event)}`]: {\n action: event.event,\n description: description(event),\n table: {\n defaultValue: { summary: event.event },\n category: 'events',\n type: { summary: event.detail },\n },\n },\n };\n};\n\nconst generateEvents = (events: ComponentEvent[]) => {\n let args = {};\n events.forEach(event => (args = { ...args, ...generateEvent(event) }));\n return args;\n};\n\nconst generateMethod = (method: ComponentMethod) => {\n return {\n [method.name]: {\n action: method.name,\n description: description(method),\n table: {\n category: 'methods',\n type: { summary: method.signature },\n defaultValue: { summary: method.returns.type },\n },\n },\n };\n};\n\nconst generateMethods = (methods: ComponentMethod[]) => {\n let args = {};\n methods.forEach(method => (args = { ...args, ...generateMethod(method) }));\n return args;\n};\n\nconst extractComponentInfoByTag = (componentsData: any, tag: string): ComponentInfo | null => {\n const component = componentsData.components.find(c => c.tag === tag);\n\n if (!component) {\n console.error(`Component with tag ${tag} not found`);\n return null;\n }\n\n const { props, events, methods } = component;\n\n const propInfo = props.map(prop => ({\n name: prop.name,\n type: prop.type,\n docs: prop.docs,\n default: prop.default || '',\n }));\n\n const eventInfo = events.map(event => ({\n event: event.event,\n docs: event.docs,\n detail: event.detail,\n }));\n\n const methodInfo = methods.map(method => ({\n name: method.name,\n signature: method.signature,\n docs: method.docs,\n returns: method.returns,\n parameters: method.parameters,\n }));\n\n return {\n name: tag,\n props: propInfo,\n events: eventInfo,\n methods: methodInfo,\n };\n};\n\nconst generateHTMLTable = (componentInfo: ComponentInfo): string => {\n if (!componentInfo) {\n return `<p>Component not found</p>`;\n }\n\n const { props, events, methods } = componentInfo;\n\n const propsRows = props\n .map(\n prop => `\n <tr>\n <td>${prop.name}</td>\n <td>${prop.type}</td>\n <td>${prop.docs}</td>\n <td>${prop.default}</td>\n </tr>\n `,\n )\n .join('');\n\n const eventsRows = events\n .map(\n event => `\n <tr>\n <td>${event.event}</td>\n <td>${event.detail}</td>\n <td>${event.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n const methodsRows = methods\n .map(\n method => `\n <tr>\n <td>${method.name}</td>\n <td>${method.signature}</td>\n <td>${method.returns.type}</td>\n <td>${method.docs}</td>\n </tr>\n `,\n )\n .join('');\n\n return `\n <h3>Propriétés</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Propriété</th>\n <th>Type</th>\n <th>Description</th>\n <th>Valeur par défaut</th>\n </tr>\n </thead>\n <tbody>\n ${propsRows}\n </tbody>\n </table>\n <h3>Événements</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Événement</th>\n <th>Détail</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${eventsRows}\n </tbody>\n </table>\n <h3>Méthodes</h3>\n <table class=\"w-full\">\n <thead>\n <tr>\n <th>Méthode</th>\n <th>Signature</th>\n <th>Retour</th>\n <th>Description</th>\n </tr>\n </thead>\n <tbody>\n ${methodsRows}\n </tbody>\n </table>\n `;\n};\n\nexport const generateComponentTable = (componentsData: any, tag: string): string => {\n const componentInfo = extractComponentInfoByTag(componentsData, tag);\n return generateHTMLTable(componentInfo);\n};\n\nexport const withComponentControls = (\n componentsData: any,\n { tag, customTokens = [] }: { tag: string; customTokens?: { name: string; description: string; defaultValue: string }[] },\n): any => {\n const component = componentsData.components.find(c => c.tag === tag);\n const props = component?.props || [];\n const events = component?.events || [];\n const methods = component?.methods || [];\n\n const tokenControls = customTokens.reduce((acc, token) => {\n acc[token.name] = {\n control: true,\n description: token.description,\n table: {\n category: 'Tokens',\n type: { summary: 'CSS Variable' },\n defaultValue: { summary: token.defaultValue },\n },\n };\n return acc;\n }, {});\n\n // ✅ Séparation claire des catégories\n const propControls = generateProps(props as ComponentProp[]);\n const eventControls = generateEvents(events as ComponentEvent[]);\n const methodControls = generateMethods(methods as ComponentMethod[]);\n\n // ✅ Regroupement complet pour Storybook\n const allControls = {\n ...propControls,\n ...eventControls,\n ...methodControls,\n ...tokenControls,\n };\n\n // ✅ Indique explicitement quelles sont les props réelles du composant\n Object.defineProperty(allControls, '__realProps', {\n value: Object.keys(propControls).concat(Object.keys(tokenControls)),\n enumerable: false, // ne pollue pas la vue Storybook\n });\n\n return allControls;\n};\n\nexport function extractArgTypes(componentsData: any, subComponentTags: string[]) {\n return subComponentTags.reduce((acc, tag) => {\n const subComponentArgTypes = withComponentControls(componentsData, { tag });\n return { ...acc, ...subComponentArgTypes };\n }, {});\n}\n\nexport function formatFileSize(sizeInBytes) {\n const sizeInMB = sizeInBytes / (1024 * 1024);\n let formattedSize = sizeInMB.toFixed(2).replace('.', ',');\n\n if (sizeInMB > 0 && sizeInMB < 0.01) {\n formattedSize = '0,01';\n } else if (sizeInMB === 0) {\n formattedSize = '0,00';\n }\n\n return `${formattedSize} Mo`;\n}\n\nexport function hasSlotContent(el: HTMLElement): boolean {\n const slot = el.querySelector('slot');\n return slot && slot.assignedNodes().length > 0;\n}\n"],"names":[],"mappings":"AAQM,SAAU,UAAU,CAAC,IAAY,EAAA;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC7B,IAAA,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;AAC9C;AAqWM,SAAU,cAAc,CAAC,WAAW,EAAA;IACxC,MAAM,QAAQ,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC;AAC5C,IAAA,IAAI,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;IAEzD,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,IAAI,EAAE;QACnC,aAAa,GAAG,MAAM;;AACjB,SAAA,IAAI,QAAQ,KAAK,CAAC,EAAE;QACzB,aAAa,GAAG,MAAM;;IAGxB,OAAO,CAAA,EAAG,aAAa,CAAA,GAAA,CAAK;AAC9B;;;;"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as s,g as t}from"./p-BYM_CUUH.js";import{a as o}from"./p-zpG0udTn.js";const a="/*! 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}: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-file-upload{display:block;position:relative}.spw-file-upload__wrapper--error{background-color:#ffe6e6;border-color:#ff4d4d}.spw-file-upload__wrapper--dragging{background-color:#e0f7fa;border-color:#00acc1}.spw-file-upload spw-button{display:inline-block;margin-bottom:8px}.spw-file-upload__errors{color:var(--spw-colors-dark-themes-red-red-500);font-size:14px;font-weight:600}.spw-file-upload__errors li{margin-top:16px}.spw-file-upload__errors--warning{color:var(--spw-color-themes-grey-grey-800);font-weight:400}.spw-file-upload__hints{color:var(--spw-color-themes-grey-grey-600);font-size:14px;margin-top:16px}.spw-file-upload__dropzone{background:var(--spw-colors-dark-themes-blue-grey-blue-grey-50);border:1px dashed #333;border-radius:8px;color:#555;cursor:pointer;font-weight:700;padding:20px;text-align:center}.spw-file-upload__dropzone:not(.spw-file-upload--disabled):hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.spw-file-upload__dropzone:not(.spw-file-upload__wrapper--disabled):active,.spw-file-upload__dropzone:not(.spw-file-upload__wrapper--disabled):focus-visible,.spw-file-upload__dropzone:not(.spw-file-upload__wrapper--disabled):focus-within{outline:2px solid var(--spw-ds-focus)}.spw-file-upload__dropzone-link{color:var(--spw-ds-primary);text-decoration:underline}.spw-file-upload__dropzone-link:hover{text-decoration:none}.spw-file-upload__wrapper--disabled .spw-file-upload__dropzone-link{color:inherit;text-decoration:none}.spw-file-upload__wrapper--disabled .spw-file-upload__dropzone{background:var(--spw-color-themes-grey-grey-100);border-color:var(--spw-color-themes-grey-grey-300);color:var(--spw-color-themes-grey-grey-400);cursor:not-allowed;outline:none!important}.spw-file-upload--is-dragging .spw-file-upload__dropzone{background:var(--spw-colors-dark-themes-blue-grey-blue-grey-200)}.spw-file-upload__info-list{border-top:1px solid #eee;margin-top:16px}.spw-file-upload__info-list li{align-items:center;border-bottom:1px solid #eee;color:var(--spw-color-themes-grey-grey-900);display:flex;flex-wrap:wrap;font-size:14px;gap:8px;justify-content:space-between;padding:16px 8px}@media (min-width:768px){.spw-file-upload__info-list li{flex-wrap:nowrap;gap:16px}}.spw-file-upload__info-list-actions{display:flex;gap:8px}@media (min-width:768px){.spw-file-upload__info-list-actions{gap:16px}}.spw-file-upload__info-list-delete{color:inherit}.spw-file-upload__info-list-delete:hover{text-decoration:none}.spw-tw-mr-2{margin-right:.5rem}";const r=class{constructor(s){e(this,s);this.spwFileChange=i(this,"spwFileChange");if(s.$hostElement$["s-ei"]){this.internals=s.$hostElement$["s-ei"]}else{this.internals=s.$hostElement$.attachInternals();s.$hostElement$["s-ei"]=this.internals}this.disabled=false;this.error=false;this.enableDropZone=false;this.multiple=false;this.accept="";this.maxFileSize=100;this.maxFiles=Infinity;this.selectedFiles=[];this.fileTypeErrors=[];this.fileLimitErrors=[];this.isDragging=false;this.isMaxFilesReachedExact=false}componentWillLoad(){this.internalValue=this.value;this.maxFileSize=this.maxFileSize*1024*1024}componentWillUpdate(){if(this.value!==this.internalValue){this.internalValue=this.value}}get isMaxFilesReached(){return this.selectedFiles.length>=this.maxFiles}handleFileChange(e){const i=e.target;const s=i.files?Array.from(i.files):[];this.processFiles(s)}processFiles(e){this.fileTypeErrors=[];this.fileLimitErrors=[];this.isMaxFilesReachedExact=false;if(!this.multiple){this.selectedFiles=[];e=e.slice(0,1)}const i=e.filter((e=>{const i=this.isFileAccepted(e);const s=this.isFileSizeValid(e);if(!i&&!s){this.fileTypeErrors.push(`${e.name} n’a pas été pris en compte car le format n’est pas autorisé et la limite de poids est dépassée.`);return false}else if(!i){this.fileTypeErrors.push(`${e.name} n'a pas été pris en compte car le format n'est pas autorisé.`);return false}else if(!s){this.fileTypeErrors.push(`${e.name} n'a pas été pris en compte car il dépasse la taille maximale autorisée.`);return false}return true}));if(this.selectedFiles.length+i.length>=this.maxFiles){const e=this.maxFiles-this.selectedFiles.length;if(this.selectedFiles.length+i.length===this.maxFiles){this.isMaxFilesReachedExact=true;this.fileLimitErrors.push("Vous avez atteint la limite autorisée de fichiers.")}else{i.splice(e);const s=this.maxFiles>1?"fichiers":"fichier";this.fileLimitErrors.push(`Vous ne pouvez pas télécharger plus de ${this.maxFiles} ${s}.`)}}this.selectedFiles=[...this.selectedFiles,...i];this.spwFileChange.emit({files:this.selectedFiles});this.updateFormValue()}isFileAccepted(e){if(!this.accept)return true;const i=this.accept.split(",").map((e=>e.trim()));return i.includes(e.type)||i.some((i=>e.name.endsWith(i)))}isFileSizeValid(e){return e.size<=this.maxFileSize}updateFormValue(){if(this.selectedFiles.length>0){const e=new FormData;this.selectedFiles.forEach(((i,s)=>{e.append(`${this.name}[${s}]`,i)}));this.internalValue=e.toString();this.internals.setFormValue(e)}else{this.internalValue="";this.internals.setFormValue(null)}}async resetInput(){this.inputElement.value="";this.selectedFiles=[];this.fileLimitErrors=[];this.fileTypeErrors=[];this.updateFormValue()}formResetCallback(){this.resetInput()}handleDragOver(e){e.preventDefault();if(!this.disabled&&this.enableDropZone&&!this.isMaxFilesReached){this.isDragging=true}}handleDragLeave(){if(!this.disabled&&this.enableDropZone){this.isDragging=false}}handleDrop(e){var i;e.preventDefault();if(!this.disabled&&this.enableDropZone&&!this.isMaxFilesReached){this.isDragging=false;const s=((i=e.dataTransfer)===null||i===void 0?void 0:i.files)?Array.from(e.dataTransfer.files):[];this.processFiles(s)}}removeFile(e){this.selectedFiles=this.selectedFiles.filter(((i,s)=>s!==e));this.fileLimitErrors=[];this.updateFormValue()}handleKeydown(e){if((e.key===" "||e.key==="Enter")&&!this.isMaxFilesReached){e.preventDefault();!this.disabled&&this.inputElement.click()}}get elementClass(){return{"spw-file-upload__wrapper":true,"spw-file-upload__wrapper--disabled":this.disabled||this.isMaxFilesReached,"spw-file-upload__wrapper--error":this.error,"spw-file-upload--has-dropzone":this.enableDropZone,"spw-file-upload--is-dragging":this.isDragging}}get hintsMessages(){const e=this.maxFileSize/(1024*1024);const i=this.accept?this.accept:"tous les formats";const s=[];let t=`Taille maximale par fichier : ${e} Mo`;if(this.multiple&&this.maxFiles!==Infinity){const e=this.maxFiles>1?"fichiers":"fichier";t+=` - ${this.maxFiles} ${e} maximum.`}else{t+="."}s.push(t);s.push(`Formats autorisés : ${i}.`);return s}render(){const e=this.multiple?"Choisir vos fichiers...":"Choisir votre fichier...";const i=this.multiple?"Déposez vos fichiers ici":"Déposez votre fichier ici";return s("div",{key:"905a44e832e6ccd19b72f2185cddf32499e35e31",class:this.elementClass,onDragOver:this.handleDragOver.bind(this),onDragLeave:this.handleDragLeave.bind(this),onDrop:this.handleDrop.bind(this)},s("input",{key:"ab7e977d7aa91483669b00a405436c47994984f1",type:"file",ref:e=>this.inputElement=e,onChange:this.handleFileChange.bind(this),name:this.name,multiple:this.multiple,accept:this.accept,style:{display:"none"},disabled:this.isMaxFilesReached}),this.enableDropZone?s("div",{tabindex:this.disabled||this.isMaxFilesReached?-1:0,onKeyDown:this.handleKeydown.bind(this),onClick:()=>!this.disabled&&!this.isMaxFilesReached&&this.inputElement.click(),class:"spw-file-upload__dropzone"},i," ou ",s("span",{class:"spw-file-upload__dropzone-link"},"choisissez sur votre ordinateur...")):s("spw-button",{variant:"secondary",onClick:()=>!this.disabled&&!this.isMaxFilesReached&&this.inputElement.click(),disabled:this.disabled||this.isMaxFilesReached},e),s("div",{key:"d0771d550e3686310adeae371503cb9970130e4f",class:"spw-file-upload__hints"},this.hintsMessages.length>0&&s("ul",{key:"09f6a60bddfa09069f7181d0222fc925d72a11ea"},this.hintsMessages.map(((e,i)=>s("li",{key:i},e))))),s("div",{key:"e8ba3c083e0b132ea17bfdd8c54be97a828eb452",class:"spw-file-upload__info"},this.selectedFiles.length>0?s("ul",{class:"spw-file-upload__info-list"},this.selectedFiles.map(((e,i)=>s("li",{key:i},s("span",{class:"spw-file-upload__info-list-name"},e.name),s("div",{class:"spw-file-upload__info-list-actions"},s("span",{class:"spw-tw-mr-2"},o(e.size)),s("a",{class:"spw-file-upload__info-list-delete",href:"#",onClick:e=>{e.preventDefault();this.removeFile(i)}},"Supprimer")))))):"",this.fileLimitErrors.length>0&&s("ul",{key:"ac0e10ceafaf74b7a12045cc01c228c80acf6a91",class:`spw-file-upload__errors ${this.isMaxFilesReachedExact?"spw-file-upload__errors--warning":""}`},this.fileLimitErrors.map(((e,i)=>s("li",{key:i},s("spw-icon",{class:"spw-tw-mr-2",icon:this.isMaxFilesReachedExact?"fa-circle-exclamation":"fa-warning"}),e)))),this.fileTypeErrors.length>0&&s("ul",{key:"57cb8990cdb8212a7066869cd0a0671bdd7d3b42",class:"spw-file-upload__errors"},this.fileTypeErrors.map(((e,i)=>s("li",{key:i},s("spw-icon",{class:"spw-tw-mr-2",icon:"fa-warning"}),e))))))}static get formAssociated(){return true}get el(){return t(this)}};r.style=a;export{r as spw_file_upload};
2
- //# sourceMappingURL=p-03f1a257.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as r,g as s}from"./p-BYM_CUUH.js";import{g as n}from"./p-B85MJLTf.js";var o={exports:{}};var a;function c(){if(a)return o.exports;a=1;(function(e,t){!function(t,i){e.exports=i()}(window,(function(){return function(e){var t={};function i(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:false,exports:{}};return e[r].call(s.exports,s,s.exports,i),s.l=true,s.exports}return i.m=e,i.c=t,i.d=function(e,t,r){i.o(e,t)||Object.defineProperty(e,t,{enumerable:true,get:r})},i.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:true})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:true,value:e}),2&t&&"string"!=typeof e)for(var s in e)i.d(r,s,function(t){return e[t]}.bind(null,s));return r},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=0)}([function(e,t,i){i.r(t);var r=[],s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],n=["January","February","March","April","May","June","July","August","September","October","November","December"],o={t:"top",r:"right",b:"bottom",l:"left",c:"centered"};function a(){}var c=["click","focusin","keydown","input"];function d(e){c.forEach((function(t){e.addEventListener(t,e===document?N:S)}))}function l(e){return Array.isArray(e)?e.map(l):"[object Object]"===z(e)?Object.keys(e).reduce((function(t,i){return t[i]=l(e[i]),t}),{}):e}function p(e,t){var i=e.calendar.querySelector(".qs-overlay"),r=i&&!i.classList.contains("qs-hidden");t=t||new Date(e.currentYear,e.currentMonth),e.calendar.innerHTML=[u(t,e,r),h(t,e,r),f(e,r)].join(""),r&&window.requestAnimationFrame((function(){D(true,e)}))}function u(e,t,i){return['<div class="qs-controls'+(i?" qs-blur":"")+'">','<div class="qs-arrow qs-left"></div>','<div class="qs-month-year'+(t.disableYearOverlay?" qs-disabled-year-overlay":"")+'">','<span class="qs-month">'+t.months[e.getMonth()]+"</span>",'<span class="qs-year">'+e.getFullYear()+"</span>","</div>",'<div class="qs-arrow qs-right"></div>',"</div>"].join("")}function h(e,t,i){var r=t.currentMonth,s=t.currentYear,n=t.dateSelected,o=t.maxDate,a=t.minDate,c=t.showAllDates,d=t.days,l=t.disabledDates,p=t.startDay,u=t.weekendIndices,h=t.events,f=t.getRange?t.getRange():{},b=+f.start,w=+f.end,m=q(new Date(e).setDate(1)),y=m.getDay()-p,v=y<0?7:0;m.setMonth(m.getMonth()+1),m.setDate(0);var g=m.getDate(),k=[],x=v+7*((y+g)/7|0);x+=(y+g)%7?7:0;for(var D=1;D<=x;D++){var _=(D-1)%7,z=d[_],M=D-(y>=0?y:7+y),N=new Date(s,r,M),S=h[+N],j=M<1||M>g,E=j?M<1?-1:1:0,A=j&&!c,O=A?"":N.getDate(),I=+N==+n,T=_===u[0]||_===u[1],J=b!==w,C="qs-square "+z;S&&!A&&(C+=" qs-event"),j&&(C+=" qs-outside-current-month"),!c&&j||(C+=" qs-num"),I&&(C+=" qs-active"),(l[+N]||t.disabler(N)||T&&t.noWeekends||a&&+N<+a||o&&+N>+o)&&!A&&(C+=" qs-disabled"),+q(new Date)==+N&&(C+=" qs-current"),+N===b&&w&&J&&(C+=" qs-range-start"),+N>b&&+N<w&&(C+=" qs-range-middle"),+N===w&&b&&J&&(C+=" qs-range-end"),A&&(C+=" qs-empty",O=""),k.push('<div class="'+C+'" data-direction="'+E+'">'+O+"</div>")}var $=d.map((function(e){return'<div class="qs-square qs-day">'+e+"</div>"})).concat(k);return $.unshift('<div class="qs-squares'+(i?" qs-blur":"")+'">'),$.push("</div>"),$.join("")}function f(e,t){var i=e.overlayPlaceholder,r=e.overlayButton;return['<div class="qs-overlay'+(t?"":" qs-hidden")+'">',"<div>",'<input class="qs-overlay-year" placeholder="'+i+'" inputmode="numeric" />','<div class="qs-close">&#10005;</div>',"</div>",'<div class="qs-overlay-month-container">'+e.overlayMonths.map((function(e,t){return'<div class="qs-overlay-month" data-month-num="'+t+'">'+e+"</div>"})).join("")+"</div>",'<div class="qs-submit qs-disabled">'+r+"</div>","</div>"].join("")}function b(e,t,i){var r=t.el,s=t.calendar.querySelector(".qs-active"),n=e.textContent,o=t.sibling;(r.disabled||r.readOnly)&&t.respectDisabledReadOnly||(t.dateSelected=i?void 0:new Date(t.currentYear,t.currentMonth,n),s&&s.classList.remove("qs-active"),i||e.classList.add("qs-active"),m(r,t,i),i||k(t),o&&(w({instance:t,deselect:i}),t.first&&!o.dateSelected&&(o.currentYear=t.currentYear,o.currentMonth=t.currentMonth,o.currentMonthName=t.currentMonthName),p(t),p(o)),t.onSelect(t,i?void 0:new Date(t.dateSelected)))}function w(e){var t=e.instance.first?e.instance:e.instance.sibling,i=t.sibling;t===e.instance?e.deselect?(t.minDate=t.originalMinDate,i.minDate=i.originalMinDate):i.minDate=t.dateSelected:e.deselect?(i.maxDate=i.originalMaxDate,t.maxDate=t.originalMaxDate):t.maxDate=i.dateSelected}function m(e,t,i){if(!t.nonInput)return i?e.value="":t.formatter!==a?t.formatter(e,t.dateSelected,t):void(e.value=t.dateSelected.toDateString())}function y(e,t,i,r){i||r?(i&&(t.currentYear=+i),r&&(t.currentMonth=+r)):(t.currentMonth+=e.contains("qs-right")?1:-1,12===t.currentMonth?(t.currentMonth=0,t.currentYear++):-1===t.currentMonth&&(t.currentMonth=11,t.currentYear--)),t.currentMonthName=t.months[t.currentMonth],p(t),t.onMonthChange(t)}function v(e){if(!e.noPosition){var t=e.position.top,i=e.position.right;if(e.position.centered)return e.calendarContainer.classList.add("qs-centered");var r=e.positionedEl.getBoundingClientRect(),s=e.el.getBoundingClientRect(),n=e.calendarContainer.getBoundingClientRect(),o=s.top-r.top+(t?-1*n.height:s.height)+"px",a=s.left-r.left+(i?s.width-n.width:0)+"px";e.calendarContainer.style.setProperty("top",o),e.calendarContainer.style.setProperty("left",a)}}function g(e){return"[object Date]"===z(e)&&"Invalid Date"!==e.toString()}function q(e){if(g(e)||"number"==typeof e&&!isNaN(e)){var t=new Date(+e);return new Date(t.getFullYear(),t.getMonth(),t.getDate())}}function k(e){e.disabled||!e.calendarContainer.classList.contains("qs-hidden")&&!e.alwaysShow&&("overlay"!==e.defaultView&&D(true,e),e.calendarContainer.classList.add("qs-hidden"),e.onHide(e))}function x(e){e.disabled||(e.calendarContainer.classList.remove("qs-hidden"),"overlay"===e.defaultView&&D(false,e),v(e),e.onShow(e))}function D(e,t){var i=t.calendar,r=i.querySelector(".qs-overlay"),s=r.querySelector(".qs-overlay-year"),n=i.querySelector(".qs-controls"),o=i.querySelector(".qs-squares");e?(r.classList.add("qs-hidden"),n.classList.remove("qs-blur"),o.classList.remove("qs-blur"),s.value=""):(r.classList.remove("qs-hidden"),n.classList.add("qs-blur"),o.classList.add("qs-blur"),s.focus())}function _(e,t,i,r){var s=isNaN(+(new Date).setFullYear(t.value||void 0)),n=s?null:t.value;if(13===e.which||13===e.keyCode||"click"===e.type)r?y(null,i,n,r):s||t.classList.contains("qs-disabled")||y(null,i,n);else if(i.calendar.contains(t)){i.calendar.querySelector(".qs-submit").classList[s?"add":"remove"]("qs-disabled")}}function z(e){return{}.toString.call(e)}function M(e){r.forEach((function(t){t!==e&&k(t)}))}function N(e){if(!e.__qs_shadow_dom){var t=e.which||e.keyCode,i=e.type,s=e.target,o=s.classList,a=r.filter((function(e){return e.calendar.contains(s)||e.el===s}))[0],c=a&&a.calendar.contains(s);if(!(a&&a.isMobile&&a.disableMobile))if("click"===i){if(!a)return r.forEach(k);if(a.disabled)return;var d=a.calendar,l=a.calendarContainer,u=a.disableYearOverlay,h=a.nonInput,f=d.querySelector(".qs-overlay-year"),w=!!d.querySelector(".qs-hidden"),m=d.querySelector(".qs-month-year").contains(s),v=s.dataset.monthNum;if(a.noPosition&&!c)(l.classList.contains("qs-hidden")?x:k)(a);else if(o.contains("qs-arrow"))y(o,a);else if(m||o.contains("qs-close"))u||D(!w,a);else if(v)_(e,f,a,v);else{if(o.contains("qs-disabled"))return;if(o.contains("qs-num")){var g=s.textContent,q=+s.dataset.direction,z=new Date(a.currentYear,a.currentMonth+q,g);if(q){a.currentYear=z.getFullYear(),a.currentMonth=z.getMonth(),a.currentMonthName=n[a.currentMonth],p(a);for(var N,S=a.calendar.querySelectorAll('[data-direction="0"]'),j=0;!N;){var E=S[j];E.textContent===g&&(N=E),j++}s=N}return void(+z==+a.dateSelected?b(s,a,true):s.classList.contains("qs-disabled")||b(s,a))}o.contains("qs-submit")?_(e,f,a):h&&s===a.el&&(x(a),M(a))}}else if("focusin"===i&&a)x(a),M(a);else if("keydown"===i&&9===t&&a)k(a);else if("keydown"===i&&a&&!a.disabled){var A=!a.calendar.querySelector(".qs-overlay").classList.contains("qs-hidden");13===t&&A&&c?_(e,s,a):27===t&&A&&c&&D(true,a)}else if("input"===i){if(!a||!a.calendar.contains(s))return;var O=a.calendar.querySelector(".qs-submit"),I=s.value.split("").reduce((function(e,t){return e||"0"!==t?e+(t.match(/[0-9]/)?t:""):""}),"").slice(0,4);s.value=I,O.classList[4===I.length?"remove":"add"]("qs-disabled")}}}function S(e){N(e),e.__qs_shadow_dom=true}function j(e,t){c.forEach((function(i){e.removeEventListener(i,t)}))}function E(){x(this)}function A(){k(this)}function O(e,t){var i=q(e),r=this.currentYear,s=this.currentMonth,n=this.sibling;if(null==e)return this.dateSelected=void 0,m(this.el,this,true),n&&(w({instance:this,deselect:true}),p(n)),p(this),this;if(!g(e))throw new Error("`setDate` needs a JavaScript Date object.");if(this.disabledDates[+i]||i<this.minDate||i>this.maxDate)throw new Error("You can't manually set a date that's disabled.");this.dateSelected=i,t&&(this.currentYear=i.getFullYear(),this.currentMonth=i.getMonth(),this.currentMonthName=this.months[i.getMonth()]),m(this.el,this),n&&(w({instance:this}),p(n));var o=r===i.getFullYear()&&s===i.getMonth();return o||t?p(this,i):o||p(this,new Date(r,s,1)),this}function I(e){return J(this,e,true)}function T(e){return J(this,e)}function J(e,t,i){var r=e.dateSelected,s=e.first,n=e.sibling,o=e.minDate,a=e.maxDate,c=q(t),d=i?"Min":"Max";function l(){return"original"+d+"Date"}function u(){return d.toLowerCase()+"Date"}function h(){return"set"+d}function f(){throw new Error("Out-of-range date passed to "+h())}if(null==t)e[l()]=void 0,n?(n[l()]=void 0,i?(s&&!r||!s&&!n.dateSelected)&&(e.minDate=void 0,n.minDate=void 0):(s&&!n.dateSelected||!s&&!r)&&(e.maxDate=void 0,n.maxDate=void 0)):e[u()]=void 0;else{if(!g(t))throw new Error("Invalid date passed to "+h());n?((s&&i&&c>(r||a)||s&&!i&&c<(n.dateSelected||o)||!s&&i&&c>(n.dateSelected||a)||!s&&!i&&c<(r||o))&&f(),e[l()]=c,n[l()]=c,(i&&(s&&!r||!s&&!n.dateSelected)||!i&&(s&&!n.dateSelected||!s&&!r))&&(e[u()]=c,n[u()]=c)):((i&&c>(r||a)||!i&&c<(r||o))&&f(),e[u()]=c)}return n&&p(n),p(e),e}function C(){var e=this.first?this:this.sibling,t=e.sibling;return{start:e.dateSelected,end:t.dateSelected}}function $(){var e=this.shadowDom,t=this.positionedEl,i=this.calendarContainer,s=this.sibling,n=this;this.inlinePosition&&(r.some((function(e){return e!==n&&e.positionedEl===t}))||t.style.setProperty("position",null));i.remove(),r=r.filter((function(e){return e!==n})),s&&delete s.sibling,r.length||j(document,N);var o=r.some((function(t){return t.shadowDom===e}));for(var a in e&&!o&&j(e,S),this)delete this[a];r.length||c.forEach((function(e){document.removeEventListener(e,N)}))}function R(e,t){var i=new Date(e);if(!g(i))throw new Error("Invalid date passed to `navigate`");this.currentYear=i.getFullYear(),this.currentMonth=i.getMonth(),p(this),t&&this.onMonthChange(this)}function B(){var e=!this.calendarContainer.classList.contains("qs-hidden"),t=!this.calendarContainer.querySelector(".qs-overlay").classList.contains("qs-hidden");e&&D(t,this)}t.default=function(e,t){var i=function(e,t){var i,c,d=function(e){var t=l(e);t.events&&(t.events=t.events.reduce((function(e,t){if(!g(t))throw new Error('"options.events" must only contain valid JavaScript Date objects.');return e[+q(t)]=true,e}),{}));["startDate","dateSelected","minDate","maxDate"].forEach((function(e){var i=t[e];if(i&&!g(i))throw new Error('"options.'+e+'" needs to be a valid JavaScript Date object.');t[e]=q(i)}));var i=t.position,n=t.maxDate,c=t.minDate,d=t.dateSelected,p=t.overlayPlaceholder,u=t.overlayButton,h=t.startDay,f=t.id;if(t.startDate=q(t.startDate||d||new Date),t.disabledDates=(t.disabledDates||[]).reduce((function(e,t){var i=+q(t);if(!g(t))throw new Error('You supplied an invalid date to "options.disabledDates".');if(i===+q(d))throw new Error('"disabledDates" cannot contain the same date as "dateSelected".');return e[i]=1,e}),{}),t.hasOwnProperty("id")&&null==f)throw new Error("`id` cannot be `null` or `undefined`");if(null!=f){var b=r.filter((function(e){return e.id===f}));if(b.length>1)throw new Error("Only two datepickers can share an id.");b.length?(t.second=true,t.sibling=b[0]):t.first=true}var w=["tr","tl","br","bl","c"].some((function(e){return i===e}));if(i&&!w)throw new Error('"options.position" must be one of the following: tl, tr, bl, br, or c.');function m(e){throw new Error('"dateSelected" in options is '+(e?"less":"greater")+' than "'+(e||"max")+'Date".')}if(t.position=function(e){var t=e[0],i=e[1],r={};r[o[t]]=1,i&&(r[o[i]]=1);return r}(i||"bl"),n<c)throw new Error('"maxDate" in options is less than "minDate".');d&&(c>d&&m("min"),n<d&&m());if(["onSelect","onShow","onHide","onMonthChange","formatter","disabler"].forEach((function(e){"function"!=typeof t[e]&&(t[e]=a)})),["customDays","customMonths","customOverlayMonths"].forEach((function(e,i){var r=t[e],s=i?12:7;if(r){if(!Array.isArray(r)||r.length!==s||r.some((function(e){return"string"!=typeof e})))throw new Error('"'+e+'" must be an array with '+s+" strings.");t[i?i<2?"months":"overlayMonths":"days"]=r}})),h&&h>0&&h<7){var y=(t.customDays||s).slice(),v=y.splice(0,h);t.customDays=y.concat(v),t.startDay=+h,t.weekendIndices=[y.length-1,y.length]}else t.startDay=0,t.weekendIndices=[6,0];"string"!=typeof p&&delete t.overlayPlaceholder;"string"!=typeof u&&delete t.overlayButton;var k=t.defaultView;if(k&&"calendar"!==k&&"overlay"!==k)throw new Error('options.defaultView must either be "calendar" or "overlay".');return t.defaultView=k||"calendar",t}(t||{startDate:q(new Date),position:"bl",defaultView:"calendar"}),p=e;if("string"==typeof p)p="#"===p[0]?document.getElementById(p.slice(1)):document.querySelector(p);else{if("[object ShadowRoot]"===z(p))throw new Error("Using a shadow DOM as your selector is not supported.");for(var u,h=p.parentNode;!u;){var f=z(h);"[object HTMLDocument]"===f?u=true:"[object ShadowRoot]"===f?(u=true,i=h,c=h.host):h=h.parentNode}}if(!p)throw new Error("No selector / element found.");if(r.some((function(e){return e.el===p})))throw new Error("A datepicker already exists on that element.");var b=p===document.body,w=i?p.parentElement||i:b?document.body:p.parentElement,y=i?p.parentElement||c:w,v=document.createElement("div"),k=document.createElement("div");v.className="qs-datepicker-container qs-hidden",k.className="qs-datepicker";var D={shadowDom:i,customElement:c,positionedEl:y,el:p,parent:w,nonInput:"INPUT"!==p.nodeName,noPosition:b,position:!b&&d.position,startDate:d.startDate,dateSelected:d.dateSelected,disabledDates:d.disabledDates,minDate:d.minDate,maxDate:d.maxDate,noWeekends:!!d.noWeekends,weekendIndices:d.weekendIndices,calendarContainer:v,calendar:k,currentMonth:(d.startDate||d.dateSelected).getMonth(),currentMonthName:(d.months||n)[(d.startDate||d.dateSelected).getMonth()],currentYear:(d.startDate||d.dateSelected).getFullYear(),events:d.events||{},defaultView:d.defaultView,setDate:O,remove:$,setMin:I,setMax:T,show:E,hide:A,navigate:R,toggleOverlay:B,onSelect:d.onSelect,onShow:d.onShow,onHide:d.onHide,onMonthChange:d.onMonthChange,formatter:d.formatter,disabler:d.disabler,months:d.months||n,days:d.customDays||s,startDay:d.startDay,overlayMonths:d.overlayMonths||(d.months||n).map((function(e){return e.slice(0,3)})),overlayPlaceholder:d.overlayPlaceholder||"4-digit year",overlayButton:d.overlayButton||"Submit",disableYearOverlay:!!d.disableYearOverlay,disableMobile:!!d.disableMobile,isMobile:"ontouchstart"in window,alwaysShow:!!d.alwaysShow,id:d.id,showAllDates:!!d.showAllDates,respectDisabledReadOnly:!!d.respectDisabledReadOnly,first:d.first,second:d.second};if(d.sibling){var _=d.sibling,M=D,N=_.minDate||M.minDate,S=_.maxDate||M.maxDate;M.sibling=_,_.sibling=M,_.minDate=N,_.maxDate=S,M.minDate=N,M.maxDate=S,_.originalMinDate=N,_.originalMaxDate=S,M.originalMinDate=N,M.originalMaxDate=S,_.getRange=C,M.getRange=C}d.dateSelected&&m(p,D);var j=getComputedStyle(y).position;b||j&&"static"!==j||(D.inlinePosition=true,y.style.setProperty("position","relative"));var J=r.filter((function(e){return e.positionedEl===D.positionedEl}));J.some((function(e){return e.inlinePosition}))&&(D.inlinePosition=true,J.forEach((function(e){e.inlinePosition=true})));v.appendChild(k),w.appendChild(v),D.alwaysShow&&x(D);return D}(e,t);if(r.length||d(document),i.shadowDom&&(r.some((function(e){return e.shadowDom===i.shadowDom}))||d(i.shadowDom)),r.push(i),i.second){var c=i.sibling;w({instance:i,deselect:!i.dateSelected}),w({instance:c,deselect:!c.dateSelected}),p(c)}return p(i,i.startDate||i.dateSelected),i.alwaysShow&&v(i),i}}]).default}))})(o);return o.exports}var d=c();var l=n(d);const p='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */.qs-datepicker-container{font-size:1rem;font-family:sans-serif;color:#000;position:absolute;width:15.625em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;z-index:9001;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid grey;border-radius:.263921875em;overflow:hidden;background:#fff;-webkit-box-shadow:0 1.25em 1.25em -.9375em rgba(0,0,0,.3);box-shadow:0 1.25em 1.25em -.9375em rgba(0,0,0,.3)}.qs-datepicker-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.qs-centered{position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.qs-hidden{display:none}.qs-overlay{position:absolute;top:0;left:0;background:rgba(0,0,0,.75);color:#fff;width:100%;height:100%;padding:.5em;z-index:1;opacity:1;-webkit-transition:opacity .3s;transition:opacity .3s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.qs-overlay.qs-hidden{opacity:0;z-index:-1}.qs-overlay .qs-overlay-year{background:rgba(0,0,0,0);border:none;border-bottom:1px solid #fff;border-radius:0;color:#fff;font-size:.875em;padding:.25em 0;width:80%;text-align:center;margin:0 auto;display:block}.qs-overlay .qs-overlay-year::-webkit-inner-spin-button{-webkit-appearance:none}.qs-overlay .qs-close{padding:.5em;cursor:pointer;position:absolute;top:0;right:0}.qs-overlay .qs-submit{border:1px solid #fff;border-radius:.263921875em;padding:.5em;margin:0 auto auto;cursor:pointer;background:hsla(0,0%,50.2%,.4)}.qs-overlay .qs-submit.qs-disabled{color:grey;border-color:grey;cursor:not-allowed}.qs-overlay .qs-overlay-month-container{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.qs-overlay .qs-overlay-month{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:calc(100% / 3);cursor:pointer;opacity:.5;-webkit-transition:opacity .15s;transition:opacity .15s}.qs-overlay .qs-overlay-month.active,.qs-overlay .qs-overlay-month:hover{opacity:1}.qs-controls{width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:0;flex-shrink:0;background:#d3d3d3;-webkit-filter:blur(0);filter:blur(0);-webkit-transition:-webkit-filter .3s;transition:-webkit-filter .3s;transition:filter .3s;transition:filter .3s, -webkit-filter .3s}.qs-controls.qs-blur{-webkit-filter:blur(5px);filter:blur(5px)}.qs-arrow{height:1.5625em;width:1.5625em;position:relative;cursor:pointer;border-radius:.263921875em;-webkit-transition:background .15s;transition:background .15s}.qs-arrow:hover.qs-left:after{border-right-color:#000}.qs-arrow:hover.qs-right:after{border-left-color:#000}.qs-arrow:hover{background:rgba(0,0,0,.1)}.qs-arrow:after{content:"";border:.390625em solid rgba(0,0,0,0);position:absolute;top:50%;-webkit-transition:border .2s;transition:border .2s}.qs-arrow.qs-left:after{border-right-color:grey;right:50%;-webkit-transform:translate(25%,-50%);-ms-transform:translate(25%,-50%);transform:translate(25%,-50%)}.qs-arrow.qs-right:after{border-left-color:grey;left:50%;-webkit-transform:translate(-25%,-50%);-ms-transform:translate(-25%,-50%);transform:translate(-25%,-50%)}.qs-month-year{font-weight:700;-webkit-transition:border .2s;transition:border .2s;border-bottom:1px solid rgba(0,0,0,0)}.qs-month-year:not(.qs-disabled-year-overlay){cursor:pointer}.qs-month-year:not(.qs-disabled-year-overlay):hover{border-bottom:1px solid grey}.qs-month-year:active:focus,.qs-month-year:focus{outline:none}.qs-month{padding-right:.5ex}.qs-year{padding-left:.5ex}.qs-squares{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.3125em;-webkit-filter:blur(0);filter:blur(0);-webkit-transition:-webkit-filter .3s;transition:-webkit-filter .3s;transition:filter .3s;transition:filter .3s, -webkit-filter .3s}.qs-squares.qs-blur{-webkit-filter:blur(5px);filter:blur(5px)}.qs-square{width:calc(100% / 7);height:1.5625em;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:pointer;-webkit-transition:background .1s;transition:background .1s;border-radius:.263921875em}.qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover{background:orange}.qs-current{font-weight:700;text-decoration:underline}.qs-active,.qs-range-end,.qs-range-start{background:#add8e6}.qs-range-start:not(.qs-range-6){border-top-right-radius:0;border-bottom-right-radius:0}.qs-range-middle{background:#d4ebf2}.qs-range-middle:not(.qs-range-0):not(.qs-range-6){border-radius:0}.qs-range-middle.qs-range-0{border-top-right-radius:0;border-bottom-right-radius:0}.qs-range-end:not(.qs-range-0),.qs-range-middle.qs-range-6{border-top-left-radius:0;border-bottom-left-radius:0}.qs-disabled,.qs-outside-current-month{opacity:.2}.qs-disabled{cursor:not-allowed}.qs-day,.qs-empty{cursor:default}.qs-day{font-weight:700;color:grey}.qs-event{position:relative}.qs-event:after{content:"";position:absolute;width:.46875em;height:.46875em;border-radius:50%;background:#07f;bottom:0;right:0}html{-webkit-text-size-adjust:100%;line-height:1.3}h1,h2,h3,h4,h5,h6,li,p,ul{margin:0;padding:0}ul{list-style:none}:host{-webkit-text-size-adjust:100%;--spw-input-height:40px;--spw-input-padding:0 12px;--spw-input-text-align:left;--spw-input-font-size:16px;--spw-input-radius:4px;--spw-input-icon-search-color:var(--spw-color-themes-grey-grey-900);--spw-input-border:var(--spw-color-themes-grey-grey-800);box-sizing:border-box;display:block;font-family:inherit;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)}}.qs-datepicker-container .qs-overlay .qs-overlay-year,.spw-date-picker__input{border:1px solid var(--spw-input-border);border-radius:var(--spw-input-radius);flex:1;font-size:var(--spw-input-font-size);height:var(--spw-input-height);line-height:var(--spw-input-height);padding:var(--spw-input-padding);text-align:var(--spw-input-text-align);text-overflow:ellipsis;width:100%}.qs-datepicker-container .qs-overlay .qs-overlay-year:hover,.spw-date-picker__input:hover{outline:4px solid var(--spw-color-themes-grey-grey-300)}.qs-datepicker-container .qs-overlay .qs-overlay-year:focus,.qs-datepicker-container .qs-overlay .qs-overlay-year:focus-visible,.spw-date-picker__input:focus,.spw-date-picker__input:focus-visible{box-shadow:0 0 0 6px #000;outline:3px solid #fff;outline-offset:0}.qs-datepicker-container .qs-overlay .qs-overlay-year:active,.spw-date-picker__input:active{border-color:var(--spw-input-border)}.spw-date-picker__input-container{align-items:center;display:flex;position:relative}.spw-date-picker__input--error,.spw-date-picker__input--error:focus{border-color:var(--spw-color-error,#dc2626)}.spw-date-picker__input--error:focus{box-shadow:0 0 0 3px var(--spw-color-error-light,rgba(220,38,38,.1))}.spw-date-picker__input--disabled{background:var(--spw-color-themes-grey-grey-100);border-color:var(--spw-color-themes-grey-grey-400);color:var(--spw-color-themes-grey-grey-500);cursor:not-allowed}.spw-date-picker__input--disabled::-moz-placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-date-picker__input--disabled::placeholder{color:var(--spw-color-themes-grey-grey-500)}.spw-date-picker__input--disabled:focus,.spw-date-picker__input--disabled:focus-visible,.spw-date-picker__input--disabled:hover{outline:none}.spw-date-picker__input--open{box-shadow:0 0 0 6px #000;outline:3px solid #fff;outline-offset:0}.spw-date-picker__input::-moz-placeholder{color:var(--spw-color-text-placeholder,#9ca3af)}.spw-date-picker__input::placeholder{color:var(--spw-color-text-placeholder,#9ca3af)}.spw-date-picker__icon{font-size:1rem;pointer-events:none;position:absolute;right:.75rem}.spw-date-picker__help,.spw-date-picker__icon{color:var(--spw-color-text-secondary,#6b7280)}.spw-date-picker__error,.spw-date-picker__help{font-size:.75rem;line-height:1rem;margin-top:.25rem}.spw-date-picker__error{align-items:center;color:var(--spw-color-error,#dc2626);display:flex}.spw-date-picker__error spw-icon{font-size:.75rem;margin-right:.25rem}.qs-datepicker-container{border:none;box-shadow:var(--spw-effect-elevation-6);margin-top:6px;width:320px}.qs-datepicker-container .qs-controls{background:none;margin-bottom:16px;padding:24px 24px 0;position:relative}.qs-datepicker-container .qs-month-year{border:1px solid var(--spw-colors-support-grey-grey-300);border-radius:6px;font-size:14px;padding:8px 16px}.qs-datepicker-container .qs-month-year:hover{border-color:var(--spw-colors-support-grey-grey-800)}.qs-datepicker-container .qs-arrow{color:transparent;height:36px;position:absolute;top:24px;width:36px}.qs-datepicker-container .qs-arrow:before{align-items:center;color:var(--spw-colors-support-grey-grey-800);content:"";display:inline-flex;font-family:var(--spw-ds-font-icons-solid);font-size:16px;font-weight:700;height:100%;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.qs-datepicker-container .qs-arrow:after{display:none}.qs-datepicker-container .qs-arrow:hover{background:var(--spw-colors-support-grey-grey-200)}.qs-datepicker-container .qs-arrow:active{background:var(--spw-colors-support-grey-grey-300)}.qs-datepicker-container .qs-left{right:60px}.qs-datepicker-container .qs-left:before{content:"\\f053"}.qs-datepicker-container .qs-right{right:24px}.qs-datepicker-container .qs-right:before{content:"\\f054"}.qs-datepicker-container .qs-squares{gap:4px 0;padding:0 24px 24px}.qs-datepicker-container .qs-square{font-size:14px;height:36px;text-transform:lowercase}.qs-datepicker-container .qs-square:not(.qs-empty):not(.qs-disabled):not(.qs-day):not(.qs-active):hover{background:var(--spw-colors-support-grey-grey-400)}.qs-datepicker-container .qr-range-start:hover,.qs-datepicker-container .qs-range-end:hover{background:var(--spw-colors-support-grey-grey-800)}.qs-datepicker-container .qs-active,.qs-datepicker-container .qs-range-end,.qs-datepicker-container .qs-range-start,.qs-datepicker-container .qs-range-start.qs-disabled{background:var(--spw-colors-support-grey-grey-900);color:#fff;opacity:1}.qs-datepicker-container .qs-range-middle{background:var(--spw-colors-support-grey-grey-300)}.qs-datepicker-container .qs-day{border-radius:0;color:var(--spw-colors-support-grey-grey-800);font-weight:400;padding-bottom:12px;position:relative}.qs-datepicker-container .qs-day:after{background:var(--spw-colors-support-grey-grey-300);bottom:0;content:"";height:1px;left:0;position:absolute;width:68px}.qs-datepicker-container .qs-day:nth-child(7):after{display:none}.qs-datepicker-container .qs-overlay{background:#fff;padding:24px;transition:none}.qs-datepicker-container .qs-overlay-month{color:var(--spw-colors-support-grey-grey-800);font-size:14px;width:25%}.qs-datepicker-container .qs-close{color:var(--spw-colors-support-grey-grey-600);height:40px;left:24px;padding:0;right:auto;text-indent:-9999px;top:24px;transition:all .2s ease-in;width:32px}.qs-datepicker-container .qs-close:after{content:"\\f060";font-family:var(--spw-ds-font-icons-solid);font-size:14px;font-weight:700;left:0;position:absolute;text-indent:0;top:50%;transform:translateY(-50%)}.qs-datepicker-container .qs-close:hover{color:var(--spw-colors-support-grey-grey-900)}.qs-datepicker-container .qs-blur{filter:none}.qs-datepicker-container .qs-overlay .qs-overlay-year{color:var(--spw-colors-support-grey-grey-900);margin-bottom:24px;margin-left:28px;width:calc(100% - 80px)}.qs-datepicker-container .qs-submit{background:var(--spw-ds-primary);border:2px solid transparent;border-radius:9999px;color:#fff;font-size:14px;font-weight:700;height:40px;position:absolute;right:24px;text-indent:-9999px;top:24px;transition:all .2s ease-in;width:40px}.qs-datepicker-container .qs-submit:after{content:"\\f00c";font-family:var(--spw-ds-font-icons-solid);font-size:14px;font-weight:700;left:50%;position:absolute;text-indent:0;top:50%;transform:translate(-50%,-50%)}.qs-datepicker-container .qs-submit:hover{background:var(--spw-ds-variant)}.qs-datepicker-container .qs-submit:active{background:var(--spw-ds-active)}.qs-datepicker-container .qs-submit.qs-disabled{background:var(--spw-colors-support-grey-grey-400);border-color:var(--spw-colors-support-grey-grey-400);color:var(--spw-colors-support-grey-grey-500);opacity:1}.-spw-tw-mt-1{margin-top:-.25rem}.spw-tw-mb-2{margin-bottom:.5rem}';const u=class{constructor(i){e(this,i);this.dateChange=t(this,"dateChange");this.datePickerOpen=t(this,"datePickerOpen");this.datePickerClose=t(this,"datePickerClose");if(i.$hostElement$["s-ei"]){this.internals=i.$hostElement$["s-ei"]}else{this.internals=i.$hostElement$.attachInternals();i.$hostElement$["s-ei"]=this.internals}this.placeholder="JJ/MM/AAAA";this.required=false;this.disabled=false;this.dateFormat="dd/MM/yyyy";this.disabledDays=[];this.disabledDates=[];this.position="bl";this.error="";this.hint="";this.success="";this.warning="";this.showErrorIcon=true;this.showHintIcon=true;this.showSuccessIcon=true;this.showWarningIcon=true;this.range=false;this.isStart=false;this.isOpen=false;this.hasError=false;this.internalValue="";this.lastInputValue="";this.isDeleting=false;this.handleMaskedInput=e=>{const t=e.target;const i=t.value;const r=t.selectionStart||0;this.isDeleting=i.length<this.lastInputValue.length;if(this.isDeleting){this.internalValue=i;t.value=i;this.lastInputValue=i;setTimeout((()=>{if(this.inputElement){this.inputElement.setSelectionRange(r,r)}}),0)}else{const e=this.unmask(this.lastInputValue).length;const s=this.applyMaskSmart(i);const n=this.unmask(s).length;this.internalValue=s;t.value=s;this.lastInputValue=s;setTimeout((()=>{if(this.inputElement){let t=r;if(n>e){if(n===3&&e===2||n===5&&e===4){t=r+1}}t=Math.min(t,s.length);this.inputElement.setSelectionRange(t,t)}}),0)}const s=this.unmask(this.internalValue);if(s.length===8){const e=this.parseDate(this.internalValue);if(e&&!isNaN(e.getTime())){const t=this.toISODateString(e);this.value=t;this.internals.setFormValue(t);this.dateChange.emit({value:t,date:e});if(this.datepickerInstance){this.datepickerInstance.setDate(e,true)}}}else if(!this.internalValue){this.value="";this.internals.setFormValue(null);this.dateChange.emit({value:"",date:null});if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true)}}};this.handleInputChange=e=>{this.handleMaskedInput(e)};this.handleInputFocus=()=>{if(!this.disabled&&this.datepickerInstance){this.datepickerInstance.show()}};this.handleKeyDown=e=>{const t=e.target;const i=t===this.inputElement;const r=t.closest(".qs-datepicker")!==null;if(i){switch(e.key){case"Tab":if(!e.shiftKey&&this.isOpen){e.preventDefault();e.stopPropagation();setTimeout((()=>{var e;const t=(e=this.datepickerInstance)===null||e===void 0?void 0:e.calendarContainer;if(t){const e=[...Array.from(t.querySelectorAll(".qs-arrow")),t.querySelector(".qs-month-year"),...Array.from(t.querySelectorAll(".qs-square:not(.qs-day):not(.qs-empty)"))].filter(Boolean);if(e[0]){e[0].focus()}}}),0)}break;case"Escape":if(this.isOpen){e.preventDefault();this.datepickerInstance.hide();this.inputElement.focus()}break}}else if(r){switch(e.key){case"Escape":e.preventDefault();this.datepickerInstance.hide();this.inputElement.focus();break;case"Tab":if(e.shiftKey){e.preventDefault();this.inputElement.focus()}break}}}}componentWillLoad(){this.uniqueId=`spw-date-picker-${Math.random().toString(36).substr(2,9)}`;if(typeof this.disabledDays==="string"){try{const e=JSON.parse(this.disabledDays);if(Array.isArray(e)&&e.every((e=>typeof e==="number"))){this.disabledDays=e}else{this.disabledDays=[]}}catch(e){this.disabledDays=[]}}const e=this.value?this.formatDate(new Date(this.value)):"";this.internalValue=e;this.lastInputValue=this.internalValue}componentDidLoad(){this.initializeDatepicker();if(this.value){const e=new Date(this.value);if(!isNaN(e.getTime())){this.datepickerInstance.setDate(e,true);this.inputElement.value=this.formatDate(e);this.internalValue=this.formatDate(e)}}this.internals.setFormValue(this.value?this.value:null)}disconnectedCallback(){if(this.datepickerInstance){this.datepickerInstance.destroy()}}watchValue(e){if(this.datepickerInstance&&e){const t=new Date(e);if(!isNaN(t.getTime())){this.datepickerInstance.setDate(t,true);const e=this.formatDate(t);this.inputElement.value=e;this.internalValue=e;this.lastInputValue=e}}else if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true);this.inputElement.value="";this.internalValue="";this.lastInputValue=""}this.internals.setFormValue(e?e:null)}watchDisabled(e){if(this.inputElement){this.inputElement.disabled=e}}async open(){if(this.datepickerInstance){this.datepickerInstance.show()}}async close(){if(this.datepickerInstance){this.datepickerInstance.hide()}}async setDate(e){if(this.datepickerInstance){const t=typeof e==="string"?new Date(e):e;this.datepickerInstance.setDate(t,true)}}async getDate(){return this.datepickerInstance?this.datepickerInstance.dateSelected:null}async getRange(){var e;if(this.range&&((e=this.datepickerInstance)===null||e===void 0?void 0:e.getRange)){return this.datepickerInstance.getRange()}return{start:null,end:null}}toISODateString(e){const t=e.getFullYear();const i=`${e.getMonth()+1}`.padStart(2,"0");const r=`${e.getDate()}`.padStart(2,"0");return`${t}-${i}-${r}`}getRangeSiblings(){if(!this.range||!this.rangeId)return{start:null,end:null};const e=`spw-date-picker[range][range-id="${this.rangeId}"]`;const t=Array.from(document.querySelectorAll(e));let i=null;let r=null;t.forEach((e=>{const t=e;if(t.isStart){i=t}else{r=t}}));return{start:i,end:r}}updateRangeConstraints(){if(!this.range||!this.rangeId)return;const{start:e,end:t}=this.getRangeSiblings();if(this.isStart&&t&&t.datepickerInstance){const e=this.value?new Date(this.value):null;if(e&&!isNaN(e.getTime())){t.datepickerInstance.setMin(e)}}else if(!this.isStart&&e&&e.datepickerInstance){const t=this.value?new Date(this.value):null;if(t&&!isNaN(t.getTime())){e.datepickerInstance.setMax(t)}}}unmask(e){return e?e.replace(/[^0-9]/g,""):""}applyMaskSmart(e){if(!e)return"";const t=this.unmask(e);let i="";for(let e=0;e<t.length&&e<8;e++){if(e===2||e===4){i+="/"}i+=t[e]}return i}setupCalendarNavigation(){if(!this.datepickerInstance)return;const e=this.datepickerInstance.calendarContainer;if(!e)return;const t=[...Array.from(e.querySelectorAll(".qs-arrow")),e.querySelector(".qs-month-year"),...Array.from(e.querySelectorAll(".qs-square:not(.qs-day):not(.qs-empty)"))].filter(Boolean);t.forEach((e=>{e.setAttribute("tabindex","0");e.addEventListener("keydown",(i=>{this.handleCalendarKeyDown(i,e,t)}))}))}handleCalendarKeyDown(e,t,i){const r=i.indexOf(t);let s=r;switch(e.key){case"ArrowRight":e.preventDefault();s=Math.min(r+1,i.length-1);break;case"ArrowLeft":e.preventDefault();s=Math.max(r-1,0);break;case"ArrowDown":e.preventDefault();s=t.classList.contains("qs-square")?Math.min(r+7,i.length-1):Math.min(r+1,i.length-1);break;case"ArrowUp":e.preventDefault();s=t.classList.contains("qs-square")?Math.max(r-7,0):Math.max(r-1,0);break;case"Home":e.preventDefault();s=0;break;case"End":e.preventDefault();s=i.length-1;break;case"Enter":case" ":e.preventDefault();if(t.classList.contains("qs-arrow")){t.click();setTimeout((()=>t.focus()),0)}else{t.click()}return;case"Escape":e.preventDefault();this.datepickerInstance.hide();this.inputElement.focus();return}if(s!==r){const e=i[s];if(e&&!e.matches(".qs-day, .qs-disabled, .qs-empty")){e.focus()}}}initializeDatepicker(){if(!this.inputElement)return;const e={position:this.position,startDay:1,customDays:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],customMonths:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],overlayPlaceholder:"Année",overlayButton:"Valider",formatter:(e,t)=>{const i=this.formatDate(t);e.value=i;this.internalValue=i;this.lastInputValue=i},disabler:e=>{const t=this.disabledDays;if(t.includes(e.getDay()))return true;const i=e.toISOString().split("T")[0];return this.disabledDates.includes(i)},onSelect:e=>{const t=e instanceof Date?e:e===null||e===void 0?void 0:e.dateSelected;if(!t||isNaN(t.getTime()))return;const i=this.toISODateString(t);this.value=i;const r=this.formatDate(t);this.inputElement.value=r;this.internalValue=r;this.lastInputValue=r;this.internals.setFormValue(i);this.dateChange.emit({value:i,date:t});this.updateRangeConstraints()},onShow:()=>{this.isOpen=true;this.datePickerOpen.emit();setTimeout((()=>this.setupCalendarNavigation()),100)},onHide:()=>{this.isOpen=false;this.datePickerClose.emit()}};if(this.range&&this.rangeId){e.id=this.rangeId;const{start:t,end:i}=this.getRangeSiblings();if(this.isStart&&i&&i.value){const t=new Date(i.value);if(!isNaN(t.getTime())){e.maxDate=t}}else if(!this.isStart&&t&&t.value){const i=new Date(t.value);if(!isNaN(i.getTime())){e.minDate=i}}}else{if(this.minDate)e.minDate=new Date(this.minDate);if(this.maxDate)e.maxDate=new Date(this.maxDate)}if(this.datepickerInstance){this.datepickerInstance.destroy()}this.datepickerInstance=l(this.inputElement,e);if(this.value){const e=new Date(this.value);if(!isNaN(e.getTime())){this.datepickerInstance.setDate(e,true);const t=this.formatDate(e);this.inputElement.value=t;this.internalValue=t;this.lastInputValue=t}}}formatDate(e){if(!(e instanceof Date)||isNaN(e.getTime()))return"";const t=e.getDate().toString().padStart(2,"0");const i=(e.getMonth()+1).toString().padStart(2,"0");const r=e.getFullYear();return this.dateFormat.replace("dd",t).replace("MM",i).replace("yyyy",r.toString())}parseDate(e){const t=e.split("/");if(t.length===3){const e=parseInt(t[0],10);const i=parseInt(t[1],10)-1;const r=parseInt(t[2],10);if(!isNaN(e)&&!isNaN(i)&&!isNaN(r)){return new Date(r,i,e)}}return null}formResetCallback(){this.value="";this.internalValue="";this.lastInputValue="";this.internals.setFormValue(null);if(this.inputElement){this.inputElement.value=""}if(this.datepickerInstance){this.datepickerInstance.setDate(undefined,true)}this.dateChange.emit({value:"",date:null});this.updateRangeConstraints()}render(){const e={"spw-date-picker__input":true,"spw-date-picker__input--error":this.hasError,"spw-date-picker__input--disabled":this.disabled,"spw-date-picker__input--open":this.isOpen};const t=this.error||this.internalError;return i(r,{key:"c594604e093d2d31454b752490eecc36869a5766"},i("div",{key:"a629c9dcd1439479dc66d786aff09e4ab6100b52",class:"spw-date-picker"},this.label&&i("spw-field-label",{key:"048362c15405921c6b7ac56c5aceecb70b926c41",label:this.label,required:this.required}),this.assistiveText&&i("spw-field-message",{key:"a234e8de64439499c3ca672248bbfc0e1112d90b",class:"spw-tw-mb-2 -spw-tw-mt-1",variant:"hint",showIcon:false},this.assistiveText),i("div",{key:"d0d46cc77a17598ae291edc61514ebf5c65bbca8",class:"spw-date-picker__input-container"},i("input",{key:"055c041eb75fcdddec77cb4392717268ad34a6d6",ref:e=>this.inputElement=e,id:this.uniqueId,type:"text",class:e,value:this.internalValue,placeholder:this.placeholder,disabled:this.disabled,required:this.required,onFocus:this.handleInputFocus,onInput:this.handleInputChange,onKeyDown:this.handleKeyDown,"aria-describedby":this.assistiveText||t?`${this.uniqueId}-help ${this.uniqueId}-error`:undefined,"aria-invalid":this.hasError}),i("spw-icon",{key:"3715f7fea8a0638588acb9bc8cdc0ea9472c25cb",icon:"fa-calendar",class:"spw-date-picker__icon"})),this.error&&i("spw-field-message",{key:"ac5aac1c1f5f9cce1ab6e8d4fbe27f622f6b7d51",variant:"error",showIcon:this.showErrorIcon},this.error),this.hint&&i("spw-field-message",{key:"a30427e0364ea095c99085a68998dfb3d5398079",variant:"hint",showIcon:this.showHintIcon},this.hint),this.success&&i("spw-field-message",{key:"d859c7f8f242d326895611d788b7e21df65595a7",variant:"success",showIcon:this.showSuccessIcon},this.success),this.warning&&i("spw-field-message",{key:"b737141f66e877afb98df4adc668f9d6d6baa8cd",variant:"warning",showIcon:this.showWarningIcon},this.warning)))}static get formAssociated(){return true}get el(){return s(this)}static get watchers(){return{value:["watchValue"],disabled:["watchDisabled"]}}};u.style=p;export{u as spw_date_picker};
2
- //# sourceMappingURL=p-2e9756c4.entry.js.map