@roadtrip/components 3.39.2 → 3.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (412) hide show
  1. package/dist/cjs/app-globals-b7c6ddf0.js.map +1 -1
  2. package/dist/cjs/{index-bf8a763e.js → index-0e4df560.js} +3 -1
  3. package/dist/cjs/index-0e4df560.js.map +1 -0
  4. package/dist/cjs/index-fee0103c.js +8 -0
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/road-accordion.cjs.entry.js +1 -1
  7. package/dist/cjs/road-alert.cjs.entry.js +54 -2
  8. package/dist/cjs/road-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/road-area-code.cjs.entry.js +1 -1
  10. package/dist/cjs/road-aspect-ratio.cjs.entry.js +1 -1
  11. package/dist/cjs/road-autocomplete.cjs.entry.js +2 -2
  12. package/dist/cjs/road-avatar.cjs.entry.js +1 -1
  13. package/dist/cjs/road-badge_14.cjs.entry.js +24 -19
  14. package/dist/cjs/road-badge_14.cjs.entry.js.map +1 -1
  15. package/dist/cjs/road-banner.cjs.entry.js +2 -2
  16. package/dist/cjs/road-button-floating.cjs.entry.js +1 -1
  17. package/dist/cjs/road-card.cjs.entry.js +1 -1
  18. package/dist/cjs/road-carousel-item.cjs.entry.js +2 -2
  19. package/dist/cjs/road-carousel.cjs.entry.js +2 -2
  20. package/dist/cjs/road-checkbox.cjs.entry.js +2 -2
  21. package/dist/cjs/road-chip.cjs.entry.js +2 -2
  22. package/dist/cjs/road-collapse.cjs.entry.js +1 -1
  23. package/dist/cjs/road-content-card.cjs.entry.js +1 -1
  24. package/dist/cjs/road-dialog.cjs.entry.js +4 -4
  25. package/dist/cjs/road-dropdown.cjs.entry.js +1 -1
  26. package/dist/cjs/road-duration.cjs.entry.js +1 -1
  27. package/dist/cjs/road-flap.cjs.entry.js +1 -1
  28. package/dist/cjs/road-global-navigation-v2.cjs.entry.js +1 -1
  29. package/dist/cjs/road-global-navigation.cjs.entry.js +1 -1
  30. package/dist/cjs/road-img.cjs.entry.js +1 -1
  31. package/dist/cjs/road-modal.cjs.entry.js +2 -2
  32. package/dist/cjs/road-navbar-item-v2.cjs.entry.js +2 -2
  33. package/dist/cjs/road-navbar-item.cjs.entry.js +2 -2
  34. package/dist/cjs/road-navbar-v2.cjs.entry.js +1 -1
  35. package/dist/cjs/road-navbar.cjs.entry.js +1 -1
  36. package/dist/cjs/road-phone-number-input.cjs.entry.js +2 -2
  37. package/dist/cjs/road-plate-number.cjs.entry.js +3 -3
  38. package/dist/cjs/road-profil-dropdown.cjs.entry.js +1 -1
  39. package/dist/cjs/road-progress-indicator-horizontal.cjs.entry.js +1 -1
  40. package/dist/cjs/road-progress-indicator-vertical-item.cjs.entry.js +1 -1
  41. package/dist/cjs/road-progress-indicator-vertical.cjs.entry.js +1 -1
  42. package/dist/cjs/road-progress-tracker-item.cjs.entry.js +1 -1
  43. package/dist/cjs/road-progress-tracker.cjs.entry.js +1 -1
  44. package/dist/cjs/road-progress.cjs.entry.js +1 -1
  45. package/dist/cjs/road-radio-card.cjs.entry.js +1 -1
  46. package/dist/cjs/road-radio-group.cjs.entry.js +1 -1
  47. package/dist/cjs/road-radio.cjs.entry.js +1 -1
  48. package/dist/cjs/road-range.cjs.entry.js +3 -3
  49. package/dist/cjs/road-rating.cjs.entry.js +2 -2
  50. package/dist/cjs/road-segmented-button-bar.cjs.entry.js +1 -1
  51. package/dist/cjs/road-segmented-button.cjs.entry.js +2 -2
  52. package/dist/cjs/road-segmented-buttons.cjs.entry.js +1 -1
  53. package/dist/cjs/road-select-filter.cjs.entry.js +1 -1
  54. package/dist/cjs/road-select.cjs.entry.js +2 -2
  55. package/dist/cjs/road-select.cjs.entry.js.map +1 -1
  56. package/dist/cjs/road-skeleton.cjs.entry.js +1 -1
  57. package/dist/cjs/road-spinner.cjs.entry.js +1 -1
  58. package/dist/cjs/road-status-chip.cjs.entry.js +28 -0
  59. package/dist/cjs/road-status-chip.cjs.entry.js.map +1 -0
  60. package/dist/cjs/road-switch.cjs.entry.js +2 -2
  61. package/dist/cjs/road-tab-bar.cjs.entry.js +2 -2
  62. package/dist/cjs/road-tab-button.cjs.entry.js +2 -2
  63. package/dist/cjs/road-tab.cjs.entry.js +2 -2
  64. package/dist/cjs/road-table.cjs.entry.js +1 -1
  65. package/dist/cjs/road-tabs.cjs.entry.js +1 -1
  66. package/dist/cjs/road-tag.cjs.entry.js +1 -1
  67. package/dist/cjs/road-text.cjs.entry.js +1 -1
  68. package/dist/cjs/road-textarea.cjs.entry.js +1 -1
  69. package/dist/cjs/road-time-range-picker.cjs.entry.js +100 -0
  70. package/dist/cjs/road-time-range-picker.cjs.entry.js.map +1 -0
  71. package/dist/cjs/road-toast.cjs.entry.js +2 -2
  72. package/dist/cjs/road-toggle.cjs.entry.js +2 -2
  73. package/dist/cjs/road-toolbar-title-page.cjs.entry.js +1 -1
  74. package/dist/cjs/road-toolbar-title.cjs.entry.js +1 -1
  75. package/dist/cjs/road-toolbar-v2.cjs.entry.js +1 -1
  76. package/dist/cjs/road-tooltip.cjs.entry.js +3 -3
  77. package/dist/cjs/roadtrip.cjs.js +1 -1
  78. package/dist/collection/collection-manifest.json +2 -0
  79. package/dist/collection/components/alert/alert.css +73 -2
  80. package/dist/collection/components/alert/alert.js +157 -1
  81. package/dist/collection/components/alert/alert.js.map +1 -1
  82. package/dist/collection/components/alert/alert.stories.js +27 -12
  83. package/dist/collection/components/area-code/area-code.js +1 -1
  84. package/dist/collection/components/aspect-ratio/aspect-ratio.js +1 -1
  85. package/dist/collection/components/autocomplete/autocomplete.js +2 -2
  86. package/dist/collection/components/avatar/avatar.js +1 -1
  87. package/dist/collection/components/badge/badge.js +1 -1
  88. package/dist/collection/components/banner/banner.js +1 -1
  89. package/dist/collection/components/button/button.js +1 -1
  90. package/dist/collection/components/button-floating/button-floating.js +1 -1
  91. package/dist/collection/components/card/card.js +1 -1
  92. package/dist/collection/components/carousel/carousel.js +1 -1
  93. package/dist/collection/components/carousel-item/carousel-item.js +2 -2
  94. package/dist/collection/components/checkbox/checkbox.js +1 -1
  95. package/dist/collection/components/chip/chip.js +1 -1
  96. package/dist/collection/components/col/col.js +1 -1
  97. package/dist/collection/components/collapse/collapse.js +1 -1
  98. package/dist/collection/components/content-card/content-card.js +1 -1
  99. package/dist/collection/components/counter/counter.js +1 -1
  100. package/dist/collection/components/dialog/dialog.js +3 -3
  101. package/dist/collection/components/drawer/drawer.js +1 -1
  102. package/dist/collection/components/dropdown/dropdown.js +1 -1
  103. package/dist/collection/components/duration/duration.js +1 -1
  104. package/dist/collection/components/flap/flap.js +1 -1
  105. package/dist/collection/components/global-navigation/global-navigation.js +1 -1
  106. package/dist/collection/components/global-navigation-v2/global-navigation-v2.js +1 -1
  107. package/dist/collection/components/grid/grid.js +1 -1
  108. package/dist/collection/components/img/img.js +1 -1
  109. package/dist/collection/components/input/input.css +8 -0
  110. package/dist/collection/components/input/input.js +27 -2
  111. package/dist/collection/components/input/input.js.map +1 -1
  112. package/dist/collection/components/input/input.stories.js +11 -0
  113. package/dist/collection/components/input-group/input-group.js +1 -1
  114. package/dist/collection/components/item/item.js +3 -3
  115. package/dist/collection/components/label/label.js +1 -1
  116. package/dist/collection/components/list/list.js +2 -2
  117. package/dist/collection/components/modal/modal.js +1 -1
  118. package/dist/collection/components/navbar/navbar.js +1 -1
  119. package/dist/collection/components/navbar-item/navbar-item.js +2 -2
  120. package/dist/collection/components/navbar-item-v2/navbar-item-v2.js +2 -2
  121. package/dist/collection/components/navbar-v2/navbar-v2.js +1 -1
  122. package/dist/collection/components/patterns/link.stories.js +5 -0
  123. package/dist/collection/components/phone-number-input/phone-number-input.js +2 -2
  124. package/dist/collection/components/plate-number/plate-number.js +2 -2
  125. package/dist/collection/components/profil-dropdown/profil-dropdown.js +1 -1
  126. package/dist/collection/components/progress/progress.js +1 -1
  127. package/dist/collection/components/progress-indicator-horizontal/progress-indicator-horizontal.js +1 -1
  128. package/dist/collection/components/progress-indicator-vertical/progress-indicator-vertical.js +1 -1
  129. package/dist/collection/components/progress-indicator-vertical-item/progress-indicator-vertical-item.js +1 -1
  130. package/dist/collection/components/progress-tracker/progress-tracker.js +1 -1
  131. package/dist/collection/components/progress-tracker-item/progress-tracker-item.js +1 -1
  132. package/dist/collection/components/radio/radio.js +1 -1
  133. package/dist/collection/components/radio-card/radio-card.js +1 -1
  134. package/dist/collection/components/radio-group/radio-group.js +1 -1
  135. package/dist/collection/components/range/range.js +2 -2
  136. package/dist/collection/components/rating/rating.js +1 -1
  137. package/dist/collection/components/row/row.js +1 -1
  138. package/dist/collection/components/segmented-button/segmented-button.js +2 -2
  139. package/dist/collection/components/segmented-button-bar/segmented-button-bar.js +1 -1
  140. package/dist/collection/components/segmented-buttons/segmented-buttons.js +1 -1
  141. package/dist/collection/components/select/select.css +9 -0
  142. package/dist/collection/components/select/select.js +20 -1
  143. package/dist/collection/components/select/select.js.map +1 -1
  144. package/dist/collection/components/select/select.stories.js +10 -0
  145. package/dist/collection/components/select-filter/select-filter.js +1 -1
  146. package/dist/collection/components/skeleton/skeleton.js +1 -1
  147. package/dist/collection/components/spinner/spinner.js +1 -1
  148. package/dist/collection/components/status-chip/status-chip.css +94 -0
  149. package/dist/collection/components/status-chip/status-chip.js +54 -0
  150. package/dist/collection/components/status-chip/status-chip.js.map +1 -0
  151. package/dist/collection/components/status-chip/status-chip.stories.js +48 -0
  152. package/dist/collection/components/switch/switch.js +2 -2
  153. package/dist/collection/components/tab/tab.js +2 -2
  154. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  155. package/dist/collection/components/tab-button/tab-button.js +2 -2
  156. package/dist/collection/components/table/table.js +1 -1
  157. package/dist/collection/components/tabs/tabs.js +1 -1
  158. package/dist/collection/components/tag/tag.js +1 -1
  159. package/dist/collection/components/text/text.js +1 -1
  160. package/dist/collection/components/textarea/textarea.js +1 -1
  161. package/dist/collection/components/time-range-picker/time-range-picker.css +43 -0
  162. package/dist/collection/components/time-range-picker/time-range-picker.js +362 -0
  163. package/dist/collection/components/time-range-picker/time-range-picker.js.map +1 -0
  164. package/dist/collection/components/time-range-picker/time-range-picker.stories.js +76 -0
  165. package/dist/collection/components/toast/toast.js +1 -1
  166. package/dist/collection/components/toggle/toggle.js +2 -2
  167. package/dist/collection/components/toolbar/toolbar.js +1 -1
  168. package/dist/collection/components/toolbar-title/toolbar-title.js +1 -1
  169. package/dist/collection/components/toolbar-title-page/toolbar-title-page.js +1 -1
  170. package/dist/collection/components/toolbar-v2/toolbar-v2.js +1 -1
  171. package/dist/collection/components/tooltip/tooltip.js +3 -3
  172. package/dist/esm/app-globals-05a7fd2f.js.map +1 -1
  173. package/dist/esm/{index-f1358629.js → index-6de77b28.js} +3 -2
  174. package/dist/esm/index-6de77b28.js.map +1 -0
  175. package/dist/esm/index-8dc34f94.js +8 -0
  176. package/dist/esm/loader.js +1 -1
  177. package/dist/esm/road-accordion.entry.js +1 -1
  178. package/dist/esm/road-alert.entry.js +55 -3
  179. package/dist/esm/road-alert.entry.js.map +1 -1
  180. package/dist/esm/road-area-code.entry.js +1 -1
  181. package/dist/esm/road-aspect-ratio.entry.js +1 -1
  182. package/dist/esm/road-autocomplete.entry.js +2 -2
  183. package/dist/esm/road-avatar.entry.js +1 -1
  184. package/dist/esm/road-badge_14.entry.js +24 -19
  185. package/dist/esm/road-badge_14.entry.js.map +1 -1
  186. package/dist/esm/road-banner.entry.js +2 -2
  187. package/dist/esm/road-button-floating.entry.js +1 -1
  188. package/dist/esm/road-card.entry.js +1 -1
  189. package/dist/esm/road-carousel-item.entry.js +2 -2
  190. package/dist/esm/road-carousel.entry.js +2 -2
  191. package/dist/esm/road-checkbox.entry.js +2 -2
  192. package/dist/esm/road-chip.entry.js +2 -2
  193. package/dist/esm/road-collapse.entry.js +1 -1
  194. package/dist/esm/road-content-card.entry.js +1 -1
  195. package/dist/esm/road-dialog.entry.js +4 -4
  196. package/dist/esm/road-dropdown.entry.js +1 -1
  197. package/dist/esm/road-duration.entry.js +1 -1
  198. package/dist/esm/road-flap.entry.js +1 -1
  199. package/dist/esm/road-global-navigation-v2.entry.js +1 -1
  200. package/dist/esm/road-global-navigation.entry.js +1 -1
  201. package/dist/esm/road-img.entry.js +1 -1
  202. package/dist/esm/road-modal.entry.js +2 -2
  203. package/dist/esm/road-navbar-item-v2.entry.js +2 -2
  204. package/dist/esm/road-navbar-item.entry.js +2 -2
  205. package/dist/esm/road-navbar-v2.entry.js +1 -1
  206. package/dist/esm/road-navbar.entry.js +1 -1
  207. package/dist/esm/road-phone-number-input.entry.js +2 -2
  208. package/dist/esm/road-plate-number.entry.js +3 -3
  209. package/dist/esm/road-profil-dropdown.entry.js +1 -1
  210. package/dist/esm/road-progress-indicator-horizontal.entry.js +1 -1
  211. package/dist/esm/road-progress-indicator-vertical-item.entry.js +1 -1
  212. package/dist/esm/road-progress-indicator-vertical.entry.js +1 -1
  213. package/dist/esm/road-progress-tracker-item.entry.js +1 -1
  214. package/dist/esm/road-progress-tracker.entry.js +1 -1
  215. package/dist/esm/road-progress.entry.js +1 -1
  216. package/dist/esm/road-radio-card.entry.js +1 -1
  217. package/dist/esm/road-radio-group.entry.js +1 -1
  218. package/dist/esm/road-radio.entry.js +1 -1
  219. package/dist/esm/road-range.entry.js +3 -3
  220. package/dist/esm/road-rating.entry.js +2 -2
  221. package/dist/esm/road-segmented-button-bar.entry.js +1 -1
  222. package/dist/esm/road-segmented-button.entry.js +2 -2
  223. package/dist/esm/road-segmented-buttons.entry.js +1 -1
  224. package/dist/esm/road-select-filter.entry.js +1 -1
  225. package/dist/esm/road-select.entry.js +2 -2
  226. package/dist/esm/road-select.entry.js.map +1 -1
  227. package/dist/esm/road-skeleton.entry.js +1 -1
  228. package/dist/esm/road-spinner.entry.js +1 -1
  229. package/dist/esm/road-status-chip.entry.js +24 -0
  230. package/dist/esm/road-status-chip.entry.js.map +1 -0
  231. package/dist/esm/road-switch.entry.js +2 -2
  232. package/dist/esm/road-tab-bar.entry.js +2 -2
  233. package/dist/esm/road-tab-button.entry.js +2 -2
  234. package/dist/esm/road-tab.entry.js +2 -2
  235. package/dist/esm/road-table.entry.js +1 -1
  236. package/dist/esm/road-tabs.entry.js +1 -1
  237. package/dist/esm/road-tag.entry.js +1 -1
  238. package/dist/esm/road-text.entry.js +1 -1
  239. package/dist/esm/road-textarea.entry.js +1 -1
  240. package/dist/esm/road-time-range-picker.entry.js +96 -0
  241. package/dist/esm/road-time-range-picker.entry.js.map +1 -0
  242. package/dist/esm/road-toast.entry.js +2 -2
  243. package/dist/esm/road-toggle.entry.js +2 -2
  244. package/dist/esm/road-toolbar-title-page.entry.js +1 -1
  245. package/dist/esm/road-toolbar-title.entry.js +1 -1
  246. package/dist/esm/road-toolbar-v2.entry.js +1 -1
  247. package/dist/esm/road-tooltip.entry.js +3 -3
  248. package/dist/esm/roadtrip.js +1 -1
  249. package/dist/html.html-data.json +184 -79
  250. package/dist/roadtrip/p-06bfef98.js.map +1 -1
  251. package/dist/roadtrip/{p-727b8192.entry.js → p-07db2ee1.entry.js} +3 -3
  252. package/dist/roadtrip/p-07db2ee1.entry.js.map +1 -0
  253. package/dist/roadtrip/{p-3b05eb04.entry.js → p-11d896b1.entry.js} +2 -2
  254. package/dist/roadtrip/{p-31837e5f.entry.js → p-1449b7c8.entry.js} +2 -2
  255. package/dist/roadtrip/p-24196fd2.entry.js +2 -0
  256. package/dist/roadtrip/p-24196fd2.entry.js.map +1 -0
  257. package/dist/roadtrip/{p-c2e6b479.entry.js → p-26b852e2.entry.js} +2 -2
  258. package/dist/roadtrip/{p-a426ec75.entry.js → p-2797e2f2.entry.js} +2 -2
  259. package/dist/roadtrip/{p-05d0f91d.entry.js → p-29ac611e.entry.js} +2 -2
  260. package/dist/roadtrip/p-2ae82371.entry.js +2 -0
  261. package/dist/roadtrip/{p-2722edab.entry.js → p-302f51c6.entry.js} +2 -2
  262. package/dist/roadtrip/{p-3e076a57.entry.js → p-36288d23.entry.js} +2 -2
  263. package/dist/roadtrip/{p-3c63b7db.entry.js → p-36f8563a.entry.js} +2 -2
  264. package/dist/roadtrip/{p-ad5bbf7b.entry.js → p-377d6b5b.entry.js} +2 -2
  265. package/dist/roadtrip/{p-0c3acb06.entry.js → p-39173ac2.entry.js} +2 -2
  266. package/dist/roadtrip/p-39173ac2.entry.js.map +1 -0
  267. package/dist/roadtrip/{p-a065e029.entry.js → p-3a310d3d.entry.js} +2 -2
  268. package/dist/roadtrip/{p-f293472d.entry.js → p-3dc22d00.entry.js} +2 -2
  269. package/dist/roadtrip/p-4334d85b.entry.js +2 -0
  270. package/dist/roadtrip/{p-4543ebe4.entry.js → p-45b9521f.entry.js} +2 -2
  271. package/dist/roadtrip/{p-773d810b.entry.js → p-45cabcdf.entry.js} +2 -2
  272. package/dist/roadtrip/{p-ed4c84c4.entry.js → p-4bb49a92.entry.js} +2 -2
  273. package/dist/roadtrip/{p-713db434.entry.js → p-4e3cc7e9.entry.js} +2 -2
  274. package/dist/roadtrip/{p-7546dadc.entry.js → p-509ba166.entry.js} +2 -2
  275. package/dist/roadtrip/{p-c8639b33.entry.js → p-52d56ed2.entry.js} +2 -2
  276. package/dist/roadtrip/p-55a946f4.js +2 -0
  277. package/dist/roadtrip/p-55a946f4.js.map +1 -0
  278. package/dist/roadtrip/{p-47996b6e.entry.js → p-58b20099.entry.js} +2 -2
  279. package/dist/roadtrip/{p-9fd1a846.entry.js → p-5b738d24.entry.js} +2 -2
  280. package/dist/roadtrip/{p-14761790.entry.js → p-5f6771e5.entry.js} +2 -2
  281. package/dist/roadtrip/p-61191773.entry.js +2 -0
  282. package/dist/roadtrip/{p-1fe92473.entry.js.map → p-61191773.entry.js.map} +1 -1
  283. package/dist/roadtrip/{p-610216c6.entry.js → p-65dfd1e8.entry.js} +2 -2
  284. package/dist/roadtrip/{p-a21bce75.entry.js → p-6e9fac54.entry.js} +2 -2
  285. package/dist/roadtrip/{p-974b5313.entry.js → p-70f4387a.entry.js} +2 -2
  286. package/dist/roadtrip/{p-4c3c1480.entry.js → p-75ebf102.entry.js} +2 -2
  287. package/dist/roadtrip/{p-f514f186.entry.js → p-7955499d.entry.js} +2 -2
  288. package/dist/roadtrip/{p-daeb9c8d.entry.js → p-79c3152e.entry.js} +2 -2
  289. package/dist/roadtrip/{p-84dc220e.entry.js → p-7e0bdcf9.entry.js} +2 -2
  290. package/dist/roadtrip/p-8753beba.entry.js +2 -0
  291. package/dist/roadtrip/{p-fa0d3620.entry.js → p-875b5999.entry.js} +2 -2
  292. package/dist/roadtrip/{p-8405c529.entry.js → p-8cd69117.entry.js} +2 -2
  293. package/dist/roadtrip/{p-c75d28ae.entry.js → p-927cf307.entry.js} +2 -2
  294. package/dist/roadtrip/{p-255f2276.entry.js → p-9cbd5ae9.entry.js} +2 -2
  295. package/dist/roadtrip/{p-64928ea0.entry.js → p-a264377a.entry.js} +2 -2
  296. package/dist/roadtrip/{p-64b638e1.entry.js → p-a4e45088.entry.js} +2 -2
  297. package/dist/roadtrip/{p-47c44b2b.entry.js → p-b292d3fc.entry.js} +2 -2
  298. package/dist/roadtrip/{p-5cd3095d.entry.js → p-b5b2e36c.entry.js} +2 -2
  299. package/dist/roadtrip/{p-bfca0abd.entry.js → p-b61abebd.entry.js} +2 -2
  300. package/dist/roadtrip/{p-d91eccca.entry.js → p-b8132587.entry.js} +2 -2
  301. package/dist/roadtrip/{p-998e28b4.entry.js → p-c28fbcc0.entry.js} +2 -2
  302. package/dist/roadtrip/{p-aed4bf52.entry.js → p-c4550384.entry.js} +2 -2
  303. package/dist/roadtrip/{p-c441209e.entry.js → p-c7dd579d.entry.js} +2 -2
  304. package/dist/roadtrip/{p-dab34668.entry.js → p-c9527301.entry.js} +2 -2
  305. package/dist/roadtrip/{p-d62ae6e9.entry.js → p-ca3460a4.entry.js} +2 -2
  306. package/dist/roadtrip/{p-455e929c.entry.js → p-d1517c27.entry.js} +2 -2
  307. package/dist/roadtrip/p-d6a7644e.entry.js +2 -0
  308. package/dist/roadtrip/p-d6a7644e.entry.js.map +1 -0
  309. package/dist/roadtrip/{p-18c2b855.entry.js → p-d881a66c.entry.js} +2 -2
  310. package/dist/roadtrip/p-da3bfbfb.entry.js +2 -0
  311. package/dist/roadtrip/p-da3bfbfb.entry.js.map +1 -0
  312. package/dist/roadtrip/{p-cfe1ebe3.entry.js → p-de35fded.entry.js} +2 -2
  313. package/dist/roadtrip/{p-233b3f06.entry.js → p-df4cf8bb.entry.js} +2 -2
  314. package/dist/roadtrip/p-e2ba76f7.entry.js +2 -0
  315. package/dist/roadtrip/{p-1cce4f29.entry.js → p-e56c84ec.entry.js} +2 -2
  316. package/dist/roadtrip/{p-7ff27d65.entry.js → p-e7b4f257.entry.js} +2 -2
  317. package/dist/roadtrip/{p-b7dc61c8.entry.js → p-e97c8d7f.entry.js} +2 -2
  318. package/dist/roadtrip/p-eca24e7d.entry.js +2 -0
  319. package/dist/roadtrip/{p-6c43a952.entry.js.map → p-eca24e7d.entry.js.map} +1 -1
  320. package/dist/roadtrip/{p-6e09a2ef.entry.js → p-edf07985.entry.js} +2 -2
  321. package/dist/roadtrip/{p-f7a3a65c.entry.js → p-ef883f08.entry.js} +2 -2
  322. package/dist/roadtrip/{p-7dc95335.entry.js → p-f30f96c2.entry.js} +2 -2
  323. package/dist/roadtrip/{p-6bba72da.entry.js → p-f58f43d0.entry.js} +2 -2
  324. package/dist/roadtrip/{p-090b84ec.entry.js → p-fdcebcc3.entry.js} +2 -2
  325. package/dist/roadtrip/p-ff189f73.entry.js +2 -0
  326. package/dist/roadtrip/roadtrip.css +1 -1
  327. package/dist/roadtrip/roadtrip.esm.js +1 -1
  328. package/dist/roadtrip/roadtrip.esm.js.map +1 -1
  329. package/dist/types/components/alert/alert.d.ts +37 -0
  330. package/dist/types/components/input/input.d.ts +4 -0
  331. package/dist/types/components/select/select.d.ts +4 -0
  332. package/dist/types/components/status-chip/status-chip.d.ts +11 -0
  333. package/dist/types/components/time-range-picker/time-range-picker.d.ts +57 -0
  334. package/dist/types/components.d.ts +210 -0
  335. package/hydrate/index.d.ts +24 -38
  336. package/hydrate/index.js +20100 -20260
  337. package/hydrate/index.mjs +20100 -20260
  338. package/package.json +4 -4
  339. package/dist/cjs/index-bf8a763e.js.map +0 -1
  340. package/dist/esm/index-f1358629.js.map +0 -1
  341. package/dist/roadtrip/p-0c3acb06.entry.js.map +0 -1
  342. package/dist/roadtrip/p-1fe92473.entry.js +0 -2
  343. package/dist/roadtrip/p-32685310.entry.js +0 -2
  344. package/dist/roadtrip/p-64d67d81.entry.js +0 -2
  345. package/dist/roadtrip/p-6c43a952.entry.js +0 -2
  346. package/dist/roadtrip/p-6d7895b7.entry.js +0 -2
  347. package/dist/roadtrip/p-727b8192.entry.js.map +0 -1
  348. package/dist/roadtrip/p-9e22fa54.entry.js +0 -2
  349. package/dist/roadtrip/p-a8cfee66.entry.js +0 -2
  350. package/dist/roadtrip/p-a8cfee66.entry.js.map +0 -1
  351. package/dist/roadtrip/p-db82e012.js +0 -2
  352. package/dist/roadtrip/p-db82e012.js.map +0 -1
  353. package/dist/roadtrip/p-f4b23455.entry.js +0 -2
  354. /package/dist/roadtrip/{p-3b05eb04.entry.js.map → p-11d896b1.entry.js.map} +0 -0
  355. /package/dist/roadtrip/{p-31837e5f.entry.js.map → p-1449b7c8.entry.js.map} +0 -0
  356. /package/dist/roadtrip/{p-c2e6b479.entry.js.map → p-26b852e2.entry.js.map} +0 -0
  357. /package/dist/roadtrip/{p-a426ec75.entry.js.map → p-2797e2f2.entry.js.map} +0 -0
  358. /package/dist/roadtrip/{p-05d0f91d.entry.js.map → p-29ac611e.entry.js.map} +0 -0
  359. /package/dist/roadtrip/{p-32685310.entry.js.map → p-2ae82371.entry.js.map} +0 -0
  360. /package/dist/roadtrip/{p-2722edab.entry.js.map → p-302f51c6.entry.js.map} +0 -0
  361. /package/dist/roadtrip/{p-3e076a57.entry.js.map → p-36288d23.entry.js.map} +0 -0
  362. /package/dist/roadtrip/{p-3c63b7db.entry.js.map → p-36f8563a.entry.js.map} +0 -0
  363. /package/dist/roadtrip/{p-ad5bbf7b.entry.js.map → p-377d6b5b.entry.js.map} +0 -0
  364. /package/dist/roadtrip/{p-a065e029.entry.js.map → p-3a310d3d.entry.js.map} +0 -0
  365. /package/dist/roadtrip/{p-f293472d.entry.js.map → p-3dc22d00.entry.js.map} +0 -0
  366. /package/dist/roadtrip/{p-9e22fa54.entry.js.map → p-4334d85b.entry.js.map} +0 -0
  367. /package/dist/roadtrip/{p-4543ebe4.entry.js.map → p-45b9521f.entry.js.map} +0 -0
  368. /package/dist/roadtrip/{p-773d810b.entry.js.map → p-45cabcdf.entry.js.map} +0 -0
  369. /package/dist/roadtrip/{p-ed4c84c4.entry.js.map → p-4bb49a92.entry.js.map} +0 -0
  370. /package/dist/roadtrip/{p-713db434.entry.js.map → p-4e3cc7e9.entry.js.map} +0 -0
  371. /package/dist/roadtrip/{p-7546dadc.entry.js.map → p-509ba166.entry.js.map} +0 -0
  372. /package/dist/roadtrip/{p-c8639b33.entry.js.map → p-52d56ed2.entry.js.map} +0 -0
  373. /package/dist/roadtrip/{p-47996b6e.entry.js.map → p-58b20099.entry.js.map} +0 -0
  374. /package/dist/roadtrip/{p-9fd1a846.entry.js.map → p-5b738d24.entry.js.map} +0 -0
  375. /package/dist/roadtrip/{p-14761790.entry.js.map → p-5f6771e5.entry.js.map} +0 -0
  376. /package/dist/roadtrip/{p-610216c6.entry.js.map → p-65dfd1e8.entry.js.map} +0 -0
  377. /package/dist/roadtrip/{p-a21bce75.entry.js.map → p-6e9fac54.entry.js.map} +0 -0
  378. /package/dist/roadtrip/{p-974b5313.entry.js.map → p-70f4387a.entry.js.map} +0 -0
  379. /package/dist/roadtrip/{p-4c3c1480.entry.js.map → p-75ebf102.entry.js.map} +0 -0
  380. /package/dist/roadtrip/{p-f514f186.entry.js.map → p-7955499d.entry.js.map} +0 -0
  381. /package/dist/roadtrip/{p-daeb9c8d.entry.js.map → p-79c3152e.entry.js.map} +0 -0
  382. /package/dist/roadtrip/{p-84dc220e.entry.js.map → p-7e0bdcf9.entry.js.map} +0 -0
  383. /package/dist/roadtrip/{p-6d7895b7.entry.js.map → p-8753beba.entry.js.map} +0 -0
  384. /package/dist/roadtrip/{p-fa0d3620.entry.js.map → p-875b5999.entry.js.map} +0 -0
  385. /package/dist/roadtrip/{p-8405c529.entry.js.map → p-8cd69117.entry.js.map} +0 -0
  386. /package/dist/roadtrip/{p-c75d28ae.entry.js.map → p-927cf307.entry.js.map} +0 -0
  387. /package/dist/roadtrip/{p-255f2276.entry.js.map → p-9cbd5ae9.entry.js.map} +0 -0
  388. /package/dist/roadtrip/{p-64928ea0.entry.js.map → p-a264377a.entry.js.map} +0 -0
  389. /package/dist/roadtrip/{p-64b638e1.entry.js.map → p-a4e45088.entry.js.map} +0 -0
  390. /package/dist/roadtrip/{p-47c44b2b.entry.js.map → p-b292d3fc.entry.js.map} +0 -0
  391. /package/dist/roadtrip/{p-5cd3095d.entry.js.map → p-b5b2e36c.entry.js.map} +0 -0
  392. /package/dist/roadtrip/{p-bfca0abd.entry.js.map → p-b61abebd.entry.js.map} +0 -0
  393. /package/dist/roadtrip/{p-d91eccca.entry.js.map → p-b8132587.entry.js.map} +0 -0
  394. /package/dist/roadtrip/{p-998e28b4.entry.js.map → p-c28fbcc0.entry.js.map} +0 -0
  395. /package/dist/roadtrip/{p-aed4bf52.entry.js.map → p-c4550384.entry.js.map} +0 -0
  396. /package/dist/roadtrip/{p-c441209e.entry.js.map → p-c7dd579d.entry.js.map} +0 -0
  397. /package/dist/roadtrip/{p-dab34668.entry.js.map → p-c9527301.entry.js.map} +0 -0
  398. /package/dist/roadtrip/{p-d62ae6e9.entry.js.map → p-ca3460a4.entry.js.map} +0 -0
  399. /package/dist/roadtrip/{p-455e929c.entry.js.map → p-d1517c27.entry.js.map} +0 -0
  400. /package/dist/roadtrip/{p-18c2b855.entry.js.map → p-d881a66c.entry.js.map} +0 -0
  401. /package/dist/roadtrip/{p-cfe1ebe3.entry.js.map → p-de35fded.entry.js.map} +0 -0
  402. /package/dist/roadtrip/{p-233b3f06.entry.js.map → p-df4cf8bb.entry.js.map} +0 -0
  403. /package/dist/roadtrip/{p-64d67d81.entry.js.map → p-e2ba76f7.entry.js.map} +0 -0
  404. /package/dist/roadtrip/{p-1cce4f29.entry.js.map → p-e56c84ec.entry.js.map} +0 -0
  405. /package/dist/roadtrip/{p-7ff27d65.entry.js.map → p-e7b4f257.entry.js.map} +0 -0
  406. /package/dist/roadtrip/{p-b7dc61c8.entry.js.map → p-e97c8d7f.entry.js.map} +0 -0
  407. /package/dist/roadtrip/{p-6e09a2ef.entry.js.map → p-edf07985.entry.js.map} +0 -0
  408. /package/dist/roadtrip/{p-f7a3a65c.entry.js.map → p-ef883f08.entry.js.map} +0 -0
  409. /package/dist/roadtrip/{p-7dc95335.entry.js.map → p-f30f96c2.entry.js.map} +0 -0
  410. /package/dist/roadtrip/{p-6bba72da.entry.js.map → p-f58f43d0.entry.js.map} +0 -0
  411. /package/dist/roadtrip/{p-090b84ec.entry.js.map → p-fdcebcc3.entry.js.map} +0 -0
  412. /package/dist/roadtrip/{p-f4b23455.entry.js.map → p-ff189f73.entry.js.map} +0 -0
@@ -28,7 +28,7 @@ export class Banner {
28
28
  }
29
29
  render() {
30
30
  const bannerIsOpenClass = this.isOpen ? 'banner-open' : '';
31
- return (h(Host, { key: '4d49fae1622403ba54ebbc2eca8e07d56644fa03', class: bannerIsOpenClass }, h("div", { key: 'f61d750fcb78721f8b8f420b77557393c660cb5d' }, h("span", { key: 'b4e13489b0556fa523c1ba3d07c479d8b6e26313', class: "banner-open-label" }, this.label), this.link && h("a", { key: 'b1eeb51ac02e37aeda15c1bf263ed30b71d1fbd0', href: this.url, class: "banner-open-link" }, this.link), h("button", { key: '57f443865461c27103bfbaea56bb7ce134f39b79', type: "button", class: "banner-close", onClick: this.onClick, "aria-label": "closed" }, h("road-icon", { key: 'adf3326dad26eb587666707695a0d82bd0f985e4', icon: navigationClose, size: "md" })))));
31
+ return (h(Host, { key: 'f1658b8509590ec8c76dbd0a4a04fb7c4b200277', class: bannerIsOpenClass }, h("div", { key: 'b17259ee98bb232c81aa0eb32250be7b8db8f6fe' }, h("span", { key: '07226e7728ae246d5c3f9c15737d77a52912a867', class: "banner-open-label" }, this.label), this.link && h("a", { key: '70dddd7a3782c10ef65aa100f96732e791ae913b', href: this.url, class: "banner-open-link" }, this.link), h("button", { key: '79eecde11b356d2cdfa4f5ea3292b50bd55cac47', type: "button", class: "banner-close", onClick: this.onClick, "aria-label": "closed" }, h("road-icon", { key: 'c2e0b9079e37ff4062fdd7694c33f8ab8f95150c', icon: navigationClose, size: "md" })))));
32
32
  }
33
33
  static get is() { return "road-banner"; }
34
34
  static get encapsulation() { return "shadow"; }
@@ -79,7 +79,7 @@ export class Button {
79
79
  const sizeClass = this.size !== undefined ? `btn-${this.size}` : '';
80
80
  const expandClass = this.expand ? 'btn-block' : '';
81
81
  const iconOnlyClass = this.iconOnly ? 'btn-icon' : '';
82
- return (h(Host, { key: '353ab4e4ca1b5b3f7ece1355e060d6b19a677a45', class: [colorClass, sizeClass, expandClass, iconOnlyClass].filter(Boolean).join(' '), onClick: this.onClick, "aria-disabled": disabled ? 'true' : null }, h(TagType, Object.assign({ key: '3ec8936e02703cb0044c8cbf40bf0c23a48eaad1' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }), h("slot", { key: 'b4aa9975c778b2b50d5df3d83d95d9bae9fa3873', name: "start" }), h("slot", { key: 'b852b3dece59f85d1f97bec6b05e721cb5039606' }), h("slot", { key: 'ca7ec24ac0d462311d8e40ee626992138f47170c', name: "end" }))));
82
+ return (h(Host, { key: '79d849dd58e95934ff3ab4c9c5b5edd65fb4c899', class: [colorClass, sizeClass, expandClass, iconOnlyClass].filter(Boolean).join(' '), onClick: this.onClick, "aria-disabled": disabled ? 'true' : null }, h(TagType, Object.assign({ key: '764448aaf4c6c221563aa2d9b00c0b55c0fdea21' }, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }), h("slot", { key: '54a7978f6da8b45b48db0ab31cec66d592172e90', name: "start" }), h("slot", { key: '09f29be168b254fa9e3d73273938493d14cbca2f' }), h("slot", { key: '8a014e7ebeed34446a89729ff771ac0a7c97639e', name: "end" }))));
83
83
  }
84
84
  static get is() { return "road-button"; }
85
85
  static get encapsulation() { return "shadow"; }
@@ -51,7 +51,7 @@ export class Button {
51
51
  render() {
52
52
  const TagType = this.href === undefined ? 'button' : 'a';
53
53
  const positionClass = this.position !== undefined ? `position-${this.position}` : '';
54
- return (h(Host, { key: '938acf5a3e44873d4a569d8cd4094bcbf62ce7ea', onClick: this.onClick, class: `${positionClass}` }, h(TagType, { key: '466e5439251ec22e926f71838965dc91dc2b8a23', class: "button-native", part: "native", onFocus: this.onFocus, onBlur: this.onBlur }, h("slot", { key: '228e1c27116209bf5313d72c5cb02f154fc19260', name: "start" }), h("slot", { key: '2798856c774a56592061acea33db051c0ff88340' }))));
54
+ return (h(Host, { key: 'c92dd334acedc9c577901d339dfa121b63c0d8d0', onClick: this.onClick, class: `${positionClass}` }, h(TagType, { key: '10398fbc53a8e72cfc12975c6351dfe5430af311', class: "button-native", part: "native", onFocus: this.onFocus, onBlur: this.onBlur }, h("slot", { key: '22d572c54bd1defb07f45426f0bbab05666feb83', name: "start" }), h("slot", { key: 'aad19f6d9af9b534ae7aa36485639a928c77d287' }))));
55
55
  }
56
56
  static get is() { return "road-button-floating"; }
57
57
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class Card {
57
57
  render() {
58
58
  const { elevation } = this;
59
59
  const elevationClass = this.elevation ? `card-elevation-${elevation}` : ``;
60
- return (h(Host, { key: 'ffbda1214eff7cb57679b63404dabc2cffc7bd97', class: `${elevationClass}` }, this.renderCard()));
60
+ return (h(Host, { key: 'f5bd5b9245b805dbd174a96b76b349af87e4e938', class: `${elevationClass}` }, this.renderCard()));
61
61
  }
62
62
  static get is() { return "road-card"; }
63
63
  static get encapsulation() { return "shadow"; }
@@ -270,7 +270,7 @@ export class Carousel {
270
270
  });
271
271
  }
272
272
  render() {
273
- return (h(Host, { key: '6449f5e58d3e1a7baf245b033a6a40acef669404', class: "swiper-container", tabindex: "0" }, h("div", { key: '8f9d9f5904bb748ef003a950ab36ab1c79a6456f', class: "swiper-wrapper" }, h("slot", { key: 'e9cbe92181342bab76e895601b37fd05853143e5' })), this.pager && h("div", { key: '2cecb4484335481e87198f36a7e2aebbed48cfd7', class: "swiper-pagination", ref: el => this.paginationEl = el }), this.arrows && (h("div", { key: '0388684ad428f8e18c3e9e4098cf23f99ec5fd1a', role: "button", class: "swiper-button-prev", tabindex: "0", "aria-label": "Previous slide", onClick: () => this.slidePrev() }, h("road-icon", { key: '5f8a74db627f7d35889fe49ea4aa575b39c87edd', icon: navigationChevron, rotate: "180" }))), this.arrows && (h("div", { key: 'ed352be39dd46d2b8244529836497c5e960f7bb6', role: "button", class: "swiper-button-next", tabindex: "0", "aria-label": "Next slide", onClick: () => this.slideNext() }, h("road-icon", { key: '8ec1e89b91cd14b5ff0d32eb496b56fa6015803e', icon: navigationChevron })))));
273
+ return (h(Host, { key: 'ade421fc79d745727fe78ca3e95fe16e3415137e', class: "swiper-container", tabindex: "0" }, h("div", { key: 'd52f527ab0a2a4bd64e2098cc588f3ae6b874bcb', class: "swiper-wrapper" }, h("slot", { key: '0f9426dca0b1ba1341793bd04e847f261f2c1046' })), this.pager && h("div", { key: '3479c07552381ba5a162e012b52fc7da06f41172', class: "swiper-pagination", ref: el => this.paginationEl = el }), this.arrows && (h("div", { key: '9a9b215a9e21380b57b75e4ba371c2c0e2176d56', role: "button", class: "swiper-button-prev", tabindex: "0", "aria-label": "Previous slide", onClick: () => this.slidePrev() }, h("road-icon", { key: '1f78835d575dcad28f3bd6cf55a9f0d34d90f809', icon: navigationChevron, rotate: "180" }))), this.arrows && (h("div", { key: '287a27ab8483e6833bd27aeceeb62d51313ee606', role: "button", class: "swiper-button-next", tabindex: "0", "aria-label": "Next slide", onClick: () => this.slideNext() }, h("road-icon", { key: 'de2b38ddb9afd1e8140f1233a9da42ae12b4793e', icon: navigationChevron })))));
274
274
  }
275
275
  static get is() { return "road-carousel"; }
276
276
  static get encapsulation() { return "shadow"; }
@@ -4,10 +4,10 @@ import { Host, h } from "@stencil/core";
4
4
  */
5
5
  export class CarouselItem {
6
6
  render() {
7
- return (h(Host, { key: '5351b52cd1a420fdc954e510a9d5cb04eb93b692', class: {
7
+ return (h(Host, { key: '9505d58be5a5b79ca69b82808b1ffd06ba6bf5ae', class: {
8
8
  'swiper-slide': true,
9
9
  'swiper-zoom-container': true,
10
- } }, h("slot", { key: 'bb54a4caad4c46b881ad0d8e09071adbd086bfac' })));
10
+ } }, h("slot", { key: 'e5c79e5ae3ca8cb8d69cd37a5b55496e04b26652' })));
11
11
  }
12
12
  static get is() { return "road-carousel-item"; }
13
13
  static get originalStyleUrls() {
@@ -69,7 +69,7 @@ export class Checkbox {
69
69
  const labelId = this.checkboxId + '-label';
70
70
  const inverseClass = this.inverse && 'form-checkbox-inverse';
71
71
  const isInvalidClass = this.error !== undefined && !this.checked && this.error !== '' ? 'is-invalid' : '';
72
- return (h(Host, { key: '29f815ab6351bdfe05a5e0c3e505c667ed1f41d5' }, h("input", { key: 'fc0a8ea36dd49755ee30a392e2d288e45848e540', class: `form-check-input ${isInvalidClass}`, type: "checkbox", id: this.checkboxId, name: this.name, required: this.required, disabled: this.disabled, indeterminate: this.indeterminate, checked: this.checked, value: this.value, "aria-checked": `${this.checked}`, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, onClick: this.onClick, onFocus: this.onFocus, onBlur: this.onBlur }), h("label", { key: 'c56457ee2f3ab825780c7026eda32708a90d341b', class: `form-check-label ${inverseClass}`, id: labelId, htmlFor: this.checkboxId }, h("div", { key: '45d6b492f1156d5a7544eeba2327b297aea81632' }, this.label, " ", h("span", { key: '3f7d67a6b26bcd07a2e4ea632a15988f6218be63', class: "form-check-label-span" }, this.secondaryLabel), h("slot", { key: 'fae0610a4929379c9751e207c438a019033fc6cc' })), this.checked && !this.indeterminate && h("road-icon", { key: '2426aad5abfd67d57d3997800c5e320db7642478', class: "form-check-icon", icon: checkWide }), this.indeterminate && h("road-icon", { key: '180a14b27de4c0304dd38b88e09237a51ef24481', class: "form-check-icon", icon: navigationAddLess })), this.error && this.error !== '' && h("p", { key: '50f964421ef90d53ef663030cd64f02f6dbea7e4', class: "invalid-feedback" }, this.error), this.helper && this.helper !== '' && h("p", { key: 'd7119a7d7323df974d0af3c7ee30fed64f019f62', class: "helper" }, this.helper)));
72
+ return (h(Host, { key: '6c65aa807587f38c0d6fcba34c1606431dfa1997' }, h("input", { key: '6a3aa3c88b3fd4bdc23bc3881c7b72e8d7591964', class: `form-check-input ${isInvalidClass}`, type: "checkbox", id: this.checkboxId, name: this.name, required: this.required, disabled: this.disabled, indeterminate: this.indeterminate, checked: this.checked, value: this.value, "aria-checked": `${this.checked}`, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, onClick: this.onClick, onFocus: this.onFocus, onBlur: this.onBlur }), h("label", { key: '3614ccc3ffbeacfd1e1b237da2b9c78ce7b8eecc', class: `form-check-label ${inverseClass}`, id: labelId, htmlFor: this.checkboxId }, h("div", { key: '5c3b311e9a816bd504780c2ba4009f5ab69d4b8e' }, this.label, " ", h("span", { key: 'cc588cbde6b8fbdea9ee0d861e265b994c8c5fa6', class: "form-check-label-span" }, this.secondaryLabel), h("slot", { key: 'd92e1174f5d8bc282938dde2532a065b4511f5e2' })), this.checked && !this.indeterminate && h("road-icon", { key: 'f4d26476c8686fc1d210378c581a5dedb6fb9ca3', class: "form-check-icon", icon: checkWide }), this.indeterminate && h("road-icon", { key: '2701bbb698f4558edb21e024d9f803d4227f1eec', class: "form-check-icon", icon: navigationAddLess })), this.error && this.error !== '' && h("p", { key: 'c39dc46b6aa89becc12a0277fddea6afe8c2f447', class: "invalid-feedback" }, this.error), this.helper && this.helper !== '' && h("p", { key: 'bbd1c57d3d9bc9c13664a829927cb26c560bf075', class: "helper" }, this.helper)));
73
73
  }
74
74
  static get is() { return "road-checkbox"; }
75
75
  static get encapsulation() { return "scoped"; }
@@ -25,7 +25,7 @@ export class Chip {
25
25
  }
26
26
  render() {
27
27
  const outlineClass = this.outline ? 'chip-outline' : '';
28
- return (h(Host, { key: 'd62cb5ab9adddd6249a39b2f9e0aca4163fe2269', class: `${outlineClass} chip-${this.color} chip-${this.size}`, tabindex: "0" }, h("div", { key: '30a200dc140ac7de7a7c38ec5f3c5aebcf30ec06', class: "chip-description" }, h("slot", { key: '4e49f38d9ea9c4f5d7cc465473089b5fd3e2407e' })), this.hasCloseIcon && h("road-icon", { key: 'd04755df3acef36413f551ce3a76e3970be05205', class: "chip-close", icon: navigationClose })));
28
+ return (h(Host, { key: 'a3d6d90495d0d68b83b3ddbaed51378dedf4d63a', class: `${outlineClass} chip-${this.color} chip-${this.size}`, tabindex: "0" }, h("div", { key: 'a59a6d3451042a9d04cda50c82615fc59465fdf7', class: "chip-description" }, h("slot", { key: '4219f60dc0bd8fda2be79f0ecd2b21075054c046' })), this.hasCloseIcon && h("road-icon", { key: 'c9426711dcf68f15413a3cd1a4f0c65cd09aa548', class: "chip-close", icon: navigationClose })));
29
29
  }
30
30
  static get is() { return "road-chip"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@ import { h } from "@stencil/core";
4
4
  */
5
5
  export class Col {
6
6
  render() {
7
- return (h("slot", { key: '0b3251e270d85e236cfb3e19d1652a99250a97f7' }));
7
+ return (h("slot", { key: 'a2621927906372b10b73caae4ddb4eca67ca3077' }));
8
8
  }
9
9
  static get is() { return "road-col"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -32,7 +32,7 @@ export class Collapse {
32
32
  const isOpenClass = this.isOpen ? 'collapse-open' : '';
33
33
  const buttonText = this.isOpen ? this.showLess : this.showMore;
34
34
  const centerClass = this.centered ? 'collapse-btn-centered' : '';
35
- return (h(Host, { key: 'dea3ae21ebf2c66c4eab20547d7c7cf983c80e8c' }, h("slot", { key: '3e24d28e832b7c7fad8f44b5838e70729599a807' }), h("div", { key: 'd98b7a9fa8f06be816d7f606bb323dda6c6bbc35', class: `collapsed-content ${isOpenClass}` }, h("slot", { key: '9766bde1f82e72fcdb2029e881358198afecf8f6', name: "collapsed-content" })), h("div", { key: '526b71c8edb30c0969196e91123107d41f6101ff', class: `collapse-btn-wrapper ${centerClass}` }, h("road-button", { key: '9660be0a97c94df0457afe3d7e7490c298d5ae17', onClick: this.onClick, class: "collapse-btn btn-link" }, buttonText))));
35
+ return (h(Host, { key: 'dc4faac44b6213b807e1c1b935474e61ecffc229' }, h("slot", { key: '007dc5698f07c530416b96319c087c70cc2e0928' }), h("div", { key: '88f368b345b0d27a467bf120f4c461f409f43187', class: `collapsed-content ${isOpenClass}` }, h("slot", { key: '253c48a56447a867c6b9f99ec485d3f444166f5a', name: "collapsed-content" })), h("div", { key: 'ce988a1da4251516b4e6a751cd214931e608a586', class: `collapse-btn-wrapper ${centerClass}` }, h("road-button", { key: 'd52107ea32b0cf25f490e7b1d38425df9fdd7d58', onClick: this.onClick, class: "collapse-btn btn-link" }, buttonText))));
36
36
  }
37
37
  static get is() { return "road-collapse"; }
38
38
  static get encapsulation() { return "shadow"; }
@@ -14,7 +14,7 @@ export class ContentCard {
14
14
  }
15
15
  render() {
16
16
  const insetImageClass = this.insetImage ? '' : 'content-card-image';
17
- return (h(Host, { key: '360033db419c221742546ef2d0e5929bb300efcd' }, h("road-img", { key: '013523dcbb0b7296401a07d602a367c6655d7c28', src: "https://s1.medias-norauto.fr/visuals/desktop/fr/banners/blog_loimontagne.png", alt: "loi montagne", class: insetImageClass }), h("div", { key: '6078dca52c93745082547511d6eec6ddb3470032', class: "content-card-description" }, h("road-label", { key: '89860de59698bb7053363602402e5702f6903680', class: "content-card-description-title" }, h("slot", { key: 'f911c334a22308ed45ceb5dfb9785f44ebd71b4c', name: "label" })), h("p", { key: 'abdcfc5bd409339e499de259c566cb1972359a68', class: "content-card-description-text" }, h("slot", { key: '542fd9cc261c1b01ea9eb328ac39d332aa6758c0', name: "description" })), h("div", { key: '976680d7b4e76b451497486b5fcc9fd2080ac9ad', class: "content-card-description-buttons" }, h("slot", { key: 'ed7f0248f86a76328a070cbcf52966587f0ac008' })))));
17
+ return (h(Host, { key: '0929d51b0a1629b1d983f114f1a0a5109db72d5b' }, h("road-img", { key: '289c2d4def77b4bae2f0ab1ce5e3569367b8bfcf', src: "https://s1.medias-norauto.fr/visuals/desktop/fr/banners/blog_loimontagne.png", alt: "loi montagne", class: insetImageClass }), h("div", { key: 'a22a7377c03e7b9f715b723ac454375785ee4765', class: "content-card-description" }, h("road-label", { key: 'e43c2c05a422a9aff793cf67ce7d3810689470b5', class: "content-card-description-title" }, h("slot", { key: '474ee1adb66d34157ad37b3a06546b8000d49a7a', name: "label" })), h("p", { key: 'd8cb29dba572569025b961e4fc08e51cc19fdeea', class: "content-card-description-text" }, h("slot", { key: '2751c5b213c615a8b4e70808da4ee5cdc3e7f26c', name: "description" })), h("div", { key: 'cce3d9833cda5f79b06c5f909af9fae197544204', class: "content-card-description-buttons" }, h("slot", { key: '2f75207ca66a7346c19f521c35ca8772ed3202c9' })))));
18
18
  }
19
19
  static get is() { return "road-content-card"; }
20
20
  static get encapsulation() { return "shadow"; }
@@ -154,7 +154,7 @@ export class Counter {
154
154
  }
155
155
  render() {
156
156
  const dataCi = this.isDustbinVisible ? "road-dustbin" : "";
157
- return (h("road-input-group", { key: '3bb999a2b567deabe7b48ed0583e06618665b6f7', class: this.size && `counter-${this.size}` }, h("road-button", { key: '64f881a027b7cb96fa788f6e0a42d6c3fdc3c538', slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, h("road-icon", { key: '56b8a9f64c76e84cadd1846bb4891048e8c5fc81', name: this.isDustbinVisible ? "delete-forever" : "navigation-add-less", ref: (el) => this.iconCounterLess = el, size: this.size, "data-cy": dataCi, role: "button" })), h("road-input", { key: '5e202c695ea45fa5862099f9a7ca9bc060d85e5e', ref: (el) => this.inputElement = el, type: "number", min: this.min.toString(), max: (this.max && this.max.toString()), step: this.step, value: this.value, onRoadChange: this.onRoadChange, onKeyUp: this.checkValue, "data-cy": "road-input-counter", readonly: this.readonly, label: "Quantit\u00E9" }), h("road-button", { key: '8dfd4ef49c6e29c8d69f7790f96c1aaa8284e9b1', slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, h("road-icon", { key: '908626b28f6de3bf65b717a998a1c3b574a7af6c', name: "navigation-add-more", size: this.size, role: "button" }))));
157
+ return (h("road-input-group", { key: '820b0cc9986dcb4e4c234f6c7046c14b3a3df095', class: this.size && `counter-${this.size}` }, h("road-button", { key: 'fab3f2d7e20855197f186f0e281d064befb95bbd', slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, h("road-icon", { key: '03c83781abc87777441b607b9722bf8d4ea30e03', name: this.isDustbinVisible ? "delete-forever" : "navigation-add-less", ref: (el) => this.iconCounterLess = el, size: this.size, "data-cy": dataCi, role: "button" })), h("road-input", { key: 'dd8911ac1c4b2c08ad876629962cd6b8b9531a61', ref: (el) => this.inputElement = el, type: "number", min: this.min.toString(), max: (this.max && this.max.toString()), step: this.step, value: this.value, onRoadChange: this.onRoadChange, onKeyUp: this.checkValue, "data-cy": "road-input-counter", readonly: this.readonly, label: "Quantit\u00E9" }), h("road-button", { key: '79bb668b3831df7ce76d1d3691f2c9ef6a3e56a8', slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, h("road-icon", { key: '035e4cacd9c843fd6b08a15ea40953bee8fcaa17', name: "navigation-add-more", size: this.size, role: "button" }))));
158
158
  }
159
159
  static get is() { return "road-counter"; }
160
160
  static get encapsulation() { return "scoped"; }
@@ -85,11 +85,11 @@ export class Dialog {
85
85
  break;
86
86
  }
87
87
  }
88
- return (h(Host, { key: '290c0636b8ef1edfd35e4273b16e9ac05bb088c7', class: `dialog ${modalIsOpenClass} ${modalhasClose}`, role: "alertdialog", "aria-modal": "true", tabindex: "-1", "aria-label": "dialogLabel" }, h("div", { key: 'e150afc757aaa616abba21261f5fc4e7a7035cdc', class: "dialog-overlay", onClick: this.hasCloseIcon === true ? this.onClick : undefined, tabindex: "-1" }), h("div", { key: '30dcf17bb1765dd295f9b5b38a18441b922ea6f2', class: "dialog-modal", role: "document", tabindex: "0" }, h("div", { key: 'a0ffb5263da02b6677f5ca4410601bed109fa524', class: "dialog-content" }, h("header", { key: 'f37da11d3b3b70fb4c7ee83bec7a289607ef4217', class: "dialog-header" }, this.hasCloseIcon
88
+ return (h(Host, { key: 'e2ee13cb0fd6330b23224504c717efe8c68df097', class: `dialog ${modalIsOpenClass} ${modalhasClose}`, role: "alertdialog", "aria-modal": "true", tabindex: "-1", "aria-label": "dialogLabel" }, h("div", { key: 'c5f3ecaae31debea9afe6a712308520cd092fc23', class: "dialog-overlay", onClick: this.hasCloseIcon === true ? this.onClick : undefined, tabindex: "-1" }), h("div", { key: 'b28e1225a56208c8ff7891856a49b171bf09f88b', class: "dialog-modal", role: "document", tabindex: "0" }, h("div", { key: 'd799e1b00205d54e96e52f2e95b63e4c4327db2f', class: "dialog-content" }, h("header", { key: 'a3d16ae59ee42a9a61f4849c779dbf2f2a8066c9', class: "dialog-header" }, this.hasCloseIcon
89
89
  ? h("button", { type: "button", class: "dialog-close", onClick: this.onClick, "aria-label": "Close" }, h("road-icon", { icon: navigationClose, "aria-hidden": "true" }))
90
- : ''), h("div", { key: '9194a50bc0595a94170864de94f1ff1716693ee5', class: "dialog-body" }, this.color !== undefined
90
+ : ''), h("div", { key: 'fadeb8d0776e92809c1f4fdda9d24fe325640103', class: "dialog-body" }, this.color !== undefined
91
91
  ? h("road-icon", { class: "dialog-icon", part: "dialog-icon", color: this.color, icon: icon, "aria-hidden": "true" })
92
- : '', h("h2", { key: 'cceab62ea959bd00196b3a1953c7f99495aa1d8a', class: "dialog-title" }, this.label), h("p", { key: '147c9dec3808c463a363cd30fb2ab5b26818c8d8', class: "dialog-description", id: "dialogDesc" }, this.description)), h("footer", { key: '8fc28a19c581eef87c45aae031902e27aeb9dc59', class: "dialog-footer" }, h("slot", { key: '5245e5168dcc7011f534d2c2901207ad0f08a617' }))))));
92
+ : '', h("h2", { key: '06cbf8264b6336cb98b19e7bda1a80fb7d7a9271', class: "dialog-title" }, this.label), h("p", { key: 'f82e151b413764289e3d430b76d987a8eaa1d7b3', class: "dialog-description", id: "dialogDesc" }, this.description)), h("footer", { key: 'cbc9e71ad7aed7eab7bca5d9818dcbceb3cbcce2', class: "dialog-footer" }, h("slot", { key: '41d4e4dd47ecf92e96396316e27ff8218ced5f2c' }))))));
93
93
  }
94
94
  static get is() { return "road-dialog"; }
95
95
  static get encapsulation() { return "shadow"; }
@@ -138,7 +138,7 @@ export class Drawer {
138
138
  const drawerWidthValue = this.position === 'bottom' ? '100%' : `${this.drawerWidth}px`;
139
139
  const footerSlotElement = (_d = this.el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('slot[name="footer"]');
140
140
  const hasFooterContent = footerSlotElement instanceof HTMLSlotElement && footerSlotElement.assignedNodes().length > 0;
141
- return (h(Host, { key: '93072c8fcb535cf6c89bd5e27ad1b3ed8e0f97eb', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, h("div", { key: 'cb58c1f0b63aaad7cdf0bf7fb8f18926221774a6', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: 'ec9d9d1f3cc85a18083c42d6984fe7710f319895', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, h("div", { key: '62f30769800c93b30192390e7cfbba1bab4c7112', class: "drawer-content" }, h("header", { key: 'c46be7930ae6e16d7987b7c4c4d3514c14da446a', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (h("h2", { class: "drawer-title" }, this.drawerTitle)) : (h("div", { class: "drawer-title" }, h("slot", { name: "title" }))), closeIconElement), h("div", { key: '2f88f1ffa5f1de87e65f10403d06fd6b2be0732c', class: `drawer-body ${removePaddingClass}` }, h("slot", { key: '1e4566f2b0ab9526a2105b677c52b3aa35498207' })), h("footer", { key: 'da00c01c908b22f1f1d134d36a37debf0921abfb', class: `drawer-footer ${removePaddingClass}`, style: { display: hasFooterContent ? 'block' : 'none' } }, h("slot", { key: '7083046d31f374bcd957bc5b8f45968f7c5cb05f', name: "footer" }))))));
141
+ return (h(Host, { key: '8a221daad83a03c6635059b21b807ea546f94033', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, h("div", { key: '28de6daf4125334413589e02b3c568936fd54596', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: '555dd191eb27d3b5b0e97d1a0a29065e1d019195', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, h("div", { key: 'ca12f58fd65bec534130f96de55781440a99a3f3', class: "drawer-content" }, h("header", { key: '3fbdbf60e39f0bb41de438fca2f90dd7368d2360', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (h("h2", { class: "drawer-title" }, this.drawerTitle)) : (h("div", { class: "drawer-title" }, h("slot", { name: "title" }))), closeIconElement), h("div", { key: '2c87df1cd3e5aeaff575e06a21cc95bb58e123d5', class: `drawer-body ${removePaddingClass}` }, h("slot", { key: '146a53a578800960a1ec69a9ad73fab9f7ec1d08' })), h("footer", { key: 'b67cf3313766e0b1ec4e903c536c68f8dfbc3cc9', class: `drawer-footer ${removePaddingClass}`, style: { display: hasFooterContent ? 'block' : 'none' } }, h("slot", { key: '2fa3f2e7b39ec3b03fba1a76ceb3a5c64d00c0e5', name: "footer" }))))));
142
142
  }
143
143
  static get is() { return "road-drawer"; }
144
144
  static get encapsulation() { return "shadow"; }
@@ -23,7 +23,7 @@ export class Dropdown {
23
23
  const positionClass = this.position ? `position-${this.position}` : '';
24
24
  const dropdownClass = this.position ? `dropdown-${this.position}` : '';
25
25
  const directionClass = this.direction ? `direction-${this.direction}` : '';
26
- return (h("details", { key: '211f088489a5a72f91c44f5838094abd80070d7e', class: "dropdown", open: this.isOpen }, h("summary", { key: 'e0fbbc21fdf4e495f8cb350f4406e9b078c80a74', "aria-expanded": this.isOpen.toString(), tabindex: "0", role: "button", onClick: this.onClick, "tab-index": "0" }, h("div", { key: '5c212e3034b30a2ed9bf7f81e9184683c106142e', class: `d-flex ${positionClass}` }, h("div", { key: '6ca46e2494cd89ba85efc4a11aea6fb464dec232', class: `${isLightButtonDropDown} ${isMediumButtonDropDown}` }, h("road-icon", { key: 'd0ad2f329b888a9fd19aac3841f45e7d26c3e0bd', name: "navigation-more", class: "dropdown-button-icon", "aria-hidden": "true" })))), h("div", { key: 'a67a0e81ef1402bddb223545b3825e9cdf4a7c2b', class: `dropdown-menu ${directionClass} ${dropdownClass}` }, h("slot", { key: '3f135ccb24eb38de0961c28e83ed20154f33da77', name: "list" }))));
26
+ return (h("details", { key: '0b6d1adf874e559fb90a471aabda2c01090c48b9', class: "dropdown", open: this.isOpen }, h("summary", { key: '83139e232e4c74c84831d20e5ed32cea245b8102', "aria-expanded": this.isOpen.toString(), tabindex: "0", role: "button", onClick: this.onClick, "tab-index": "0" }, h("div", { key: 'd427dcd5a8c534a4fb1e3874cb2ac279d3b9a5f2', class: `d-flex ${positionClass}` }, h("div", { key: 'b9bbebff325eb4c2ed9e088b7064ead91b2c55f8', class: `${isLightButtonDropDown} ${isMediumButtonDropDown}` }, h("road-icon", { key: '72d9a1fd48cca91d8f16494d731898e3625e47e3', name: "navigation-more", class: "dropdown-button-icon", "aria-hidden": "true" })))), h("div", { key: '2434438ec14e86f8fb78378b3eb88f0a39abb6f2', class: `dropdown-menu ${directionClass} ${dropdownClass}` }, h("slot", { key: '1eb1bc0bdfdbaa13689e0552c8fa278381777863', name: "list" }))));
27
27
  }
28
28
  static get is() { return "road-dropdown"; }
29
29
  static get encapsulation() { return "shadow"; }
@@ -42,7 +42,7 @@ export class Duration {
42
42
  this.isOpen = false;
43
43
  }
44
44
  render() {
45
- return (h("road-drawer", { key: '8c6994a2336d91e1b2c53ee243e7913298f6e0ff', "is-open": this.isOpen, position: "bottom", "drawer-title": this.header }, h("road-grid", { key: '8eb993171f652d6bf2bfbe22ed4faa92ff94ce69' }, h("road-row", { key: 'bb12063e6c07e0d459c39a78626ed1991a07dbab', class: "duration-values" }, Array(Math.floor((this.max - this.min) / this.step) + 1).fill(this.min).map(((item, index) => (item + index * this.step))).map(item => h("road-col", { class: "col-3 col-md-2" }, h("road-card", { button: true, value: item }, h("road-label", null, Math.floor(item / 60).toLocaleString("en-GB", { minimumIntegerDigits: 2, useGrouping: false }), ":", (item % 60).toLocaleString("en-GB", { minimumIntegerDigits: 2, useGrouping: false })))))))));
45
+ return (h("road-drawer", { key: '2485f665f08be8b983893075cb687c0db04c8add', "is-open": this.isOpen, position: "bottom", "drawer-title": this.header }, h("road-grid", { key: 'a3cfb812b1127a32eb31e1344944a8d52dd59f70' }, h("road-row", { key: '1742b311e96f8140ffbe88f45a4f42ede7940cc9', class: "duration-values" }, Array(Math.floor((this.max - this.min) / this.step) + 1).fill(this.min).map(((item, index) => (item + index * this.step))).map(item => h("road-col", { class: "col-3 col-md-2" }, h("road-card", { button: true, value: item }, h("road-label", null, Math.floor(item / 60).toLocaleString("en-GB", { minimumIntegerDigits: 2, useGrouping: false }), ":", (item % 60).toLocaleString("en-GB", { minimumIntegerDigits: 2, useGrouping: false })))))))));
46
46
  }
47
47
  static get is() { return "road-duration"; }
48
48
  static get encapsulation() { return "shadow"; }
@@ -19,7 +19,7 @@ export class Flap {
19
19
  }
20
20
  render() {
21
21
  const colorClass = this.filled ? `flap-${this.color}-filled` : `flap-${this.color}`;
22
- return (h(Host, { key: '0ef7e9f8c55fc49a34182d944f71c9a75d0fb7be', class: `${colorClass} flap-${this.size}` }, h("slot", { key: 'fa1995ace426d5410cde6003d42d5b689db64bb3' })));
22
+ return (h(Host, { key: 'acecc88123e94f737aef8b2d1026e8a9ce196a7d', class: `${colorClass} flap-${this.size}` }, h("slot", { key: '6ce8eccf19a94ca9e7c8b75f9da8b7a8df00376b' })));
23
23
  }
24
24
  static get is() { return "road-flap"; }
25
25
  static get encapsulation() { return "shadow"; }
@@ -21,7 +21,7 @@ export class GlobalNavigation {
21
21
  this.selectedTabChanged();
22
22
  }
23
23
  render() {
24
- return (h(Host, { key: '9164170163b7e298ac0556cdcd3e0d47b2480791', role: "application" }, h("slot", { key: '150faf3c05b028772e695f0eaf836ec250ac775b' })));
24
+ return (h(Host, { key: 'bae96f32bd732721cbf401db21708a3bb601016b', role: "application" }, h("slot", { key: '65e4a67511fd702e3daaa1ba206fbb8ff67df6da' })));
25
25
  }
26
26
  static get is() { return "road-global-navigation"; }
27
27
  static get encapsulation() { return "shadow"; }
@@ -122,7 +122,7 @@ export class GlobalNavigationV2 {
122
122
  this.selectedTabChanged();
123
123
  }
124
124
  render() {
125
- return (h(Host, { key: 'e96a242247541fb01c652fba58dfa6e69e7257f0', role: "application" }, h("slot", { key: 'abfd9632f3b3d616095fc573e110a062cfcb5bad' })));
125
+ return (h(Host, { key: '1a523fcd448db62eb7a676184a22c7ae96e2d39e', role: "application" }, h("slot", { key: '7c46cc17b02a4425161d99b54ef1bca9711f179a' })));
126
126
  }
127
127
  static get is() { return "road-global-navigation-v2"; }
128
128
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@ import { h } from "@stencil/core";
4
4
  */
5
5
  export class Grid {
6
6
  render() {
7
- return (h("slot", { key: 'b9907edc844e7e9249634561fba9dfb7c3c5b260' }));
7
+ return (h("slot", { key: '8f4662a444e12323e10cda6ecc7a2fe9b2199ff3' }));
8
8
  }
9
9
  static get is() { return "road-grid"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -58,7 +58,7 @@ export class Img {
58
58
  }
59
59
  render() {
60
60
  const placeholder = this.loadSrc !== undefined ? '' : 'placeholder';
61
- return (h(Host, { key: '33a36ddb77496e0f119c9ea2d18df0e2d0977248', class: placeholder }, h("img", { key: '583ac1095cd055d8b455738344d2472cb6e61af3', class: "native-img", decoding: "async", src: this.loadSrc, alt: this.alt, onLoad: this.onLoad, onError: this.loadError, part: "image" })));
61
+ return (h(Host, { key: '6fd414b74c5d8cfef4b87847bef754c117a41803', class: placeholder }, h("img", { key: '5f3bcae6d677124b042535c8a52d2870262db16c', class: "native-img", decoding: "async", src: this.loadSrc, alt: this.alt, onLoad: this.onLoad, onError: this.loadError, part: "image" })));
62
62
  }
63
63
  static get is() { return "road-img"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -236,6 +236,14 @@
236
236
  display: flex;
237
237
  }
238
238
 
239
+ /* SUCCESS
240
+ -------------------- */
241
+
242
+ .form-control.is-valid,
243
+ .was-validated .form-control:valid {
244
+ border-color: var(--road-success-outline);
245
+ }
246
+
239
247
  /* HELPER
240
248
  -------------------- */
241
249
 
@@ -75,6 +75,10 @@ export class Input {
75
75
  * Label for the field
76
76
  */
77
77
  this.label = '';
78
+ /**
79
+ * The valid fields adopt an appearance that helps the user confirm that their data is formatted properly.
80
+ */
81
+ this.success = false;
78
82
  /**
79
83
  * Set the amount of time, in milliseconds, to wait to trigger the `roadChange` event after each keystroke.
80
84
  */
@@ -208,11 +212,12 @@ export class Input {
208
212
  const hasValueClass = this.value !== '' && this.value !== null ? 'has-value' : '';
209
213
  const lessLabelClass = this.label !== '' ? '' : 'less-label';
210
214
  const isInvalidClass = this.error !== undefined && this.error !== '' ? 'is-invalid' : '';
211
- return (h(Host, { key: 'd019b1873a3e1c5757c977ae55192cdc0a66c4eb', "aria-disabled": this.disabled ? 'true' : null, class: this.sizes && `input-${this.sizes}`, value: value, blockdecimal: this.blockdecimal }, h("input", { key: '37a9106a95c0f211fce126474d5cb44a8160173d', class: `form-control ${hasValueClass} ${isInvalidClass} ${lessLabelClass}`, id: this.inputId, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, disabled: this.disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, enterKeyHint: this.enterkeyhint, autoFocus: this.autofocus, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.type === 'number' ? (event) => this.handleKeyDown(event) : undefined, "data-cy": 'road-input', ref: el => (this.inputEl = el) }), h("label", { key: '4dbcf9261d01528924480686246e9e1bd0b7b1fe', class: "form-label", id: labelId, htmlFor: this.inputId }, this.label), this.error && this.error !== '' && (Array.isArray(this.error)
215
+ const isValidClass = this.success == true ? 'is-valid' : '';
216
+ return (h(Host, { key: 'e1c39fcb1d557fa2317201767d3d8ab78f9d3a49', "aria-disabled": this.disabled ? 'true' : null, class: this.sizes && `input-${this.sizes}`, value: value, blockdecimal: this.blockdecimal }, h("input", { key: '5ae23298f7781fa0480e1d34d50add334f1ab10f', class: `form-control ${hasValueClass} ${isInvalidClass} ${isValidClass} ${lessLabelClass}`, id: this.inputId, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, disabled: this.disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, enterKeyHint: this.enterkeyhint, autoFocus: this.autofocus, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.type === 'number' ? (event) => this.handleKeyDown(event) : undefined, "data-cy": 'road-input', ref: el => (this.inputEl = el) }), h("label", { key: 'd6f5b0aa7e14eb4c06fb3af037f9bda656a98282', class: "form-label", id: labelId, htmlFor: this.inputId }, this.label), this.error && this.error !== '' && (Array.isArray(this.error)
212
217
  ? // Si error est un tableau, on itère et génère un <p> pour chaque élément
213
218
  this.error.map((err, index) => (h("p", { key: index, class: "invalid-feedback" }, h("road-icon", { slot: "start", name: "alert-error-solid", "aria-hidden": "true", size: "sm" }), err.trim(), " ")))
214
219
  : // Si error est une chaîne, on la divise avec split et génère un <p> pour chaque élément
215
- this.error.split(',').map((err, index) => (h("p", { key: index, class: "invalid-feedback" }, h("road-icon", { slot: "start", name: "alert-error-solid", "aria-hidden": "true", size: "sm" }), err.trim(), " ")))), this.helper && this.helper !== '' && h("p", { key: '1756cbb127bdee0b19f04928adaade3c76c20a42', class: "helper" }, this.helper), this.type && this.type == 'password' && h("slot", { key: '5b61b4eb2547c166244886b63bb6b6936958d0ac', name: "checklistPassword" })));
220
+ this.error.split(',').map((err, index) => (h("p", { key: index, class: "invalid-feedback" }, h("road-icon", { slot: "start", name: "alert-error-solid", "aria-hidden": "true", size: "sm" }), err.trim(), " ")))), this.helper && this.helper !== '' && h("p", { key: '049438b598d8a81b1d8bdadfbd615f66914db3e1', class: "helper" }, this.helper), this.type && this.type == 'password' && h("slot", { key: 'f804b3b5727fa91623defc4f5209d865bc461f21', name: "checklistPassword" })));
216
221
  }
217
222
  static get is() { return "road-input"; }
218
223
  static get encapsulation() { return "scoped"; }
@@ -749,6 +754,26 @@ export class Input {
749
754
  "attribute": "error",
750
755
  "reflect": false
751
756
  },
757
+ "success": {
758
+ "type": "boolean",
759
+ "mutable": false,
760
+ "complexType": {
761
+ "original": "boolean",
762
+ "resolved": "boolean",
763
+ "references": {}
764
+ },
765
+ "required": false,
766
+ "optional": false,
767
+ "docs": {
768
+ "tags": [],
769
+ "text": "The valid fields adopt an appearance that helps the user confirm that their data is formatted properly."
770
+ },
771
+ "getter": false,
772
+ "setter": false,
773
+ "attribute": "success",
774
+ "reflect": false,
775
+ "defaultValue": "false"
776
+ },
752
777
  "helper": {
753
778
  "type": "string",
754
779
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,QAAQ,IAAI,cAAc,EAAE,MAAM,QAAQ,CAAC;AAGpD;;;;;;;;;;;;GAYG;AAOH,MAAM,OAAO,KAAK;IALlB;QAME;;WAEG;QACK,YAAO,GAAW,cAAc,QAAQ,EAAE,EAAE,CAAC;QAErD;;WAEG;QACK,mBAAc,GAAG,KAAK,CAAC;QAE/B;;WAEG;QACK,iBAAY,GAAsB,KAAK,CAAC;QAEhD;;WAEG;QACK,iBAAY,GAAG,KAAK,CAAC;QAG7B;;WAEG;QACK,gBAAW,GAAiB,KAAK,CAAC;QAE1C;;WAEG;QACK,cAAS,GAAG,KAAK,CAAC;QAE1B;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAmCzB;;WAEG;QACK,SAAI,GAAW,IAAI,CAAC,OAAO,CAAC;QAYpC;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;WAEG;QACK,aAAQ,GAAG,KAAK,CAAC;QAEzB;;WAEG;QACK,eAAU,GAAG,KAAK,CAAC;QAa3B;;WAEG;QACK,UAAK,GAAgB,IAAI,CAAC;QAElC;;WAEG;QACK,SAAI,GAAmB,MAAM,CAAC;QAEtC;;WAEG;QACsB,UAAK,GAA4B,EAAE,CAAC;QAE7D;;WAEG;QACK,UAAK,GAAY,EAAE,CAAC;QAY5B;;WAEG;QACK,aAAQ,GAAG,CAAC,CAAC;QAYb,wBAAmB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAuFvD,YAAO,GAAG,CAAC,EAAS,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,MAA0B,CAAC;YAC5C,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;YAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,sDAAsD;YAClG,CAAC;YAKD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvB,+CAA+C;gBACrD,IAAI,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAE3E,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;wBACtD,YAAY,GAAG,QAAQ,CAAC;oBAC1B,CAAC;oBACD,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;wBACtD,YAAY,GAAG,QAAQ,CAAC;oBAC1B,CAAC;oBACD,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;oBACnC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,qCAAqC;oBAC7D,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,mCAAmC;gBAC1D,CAAC;gBACE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;YACzB,CAAC;YAEC,0EAA0E;YAC9E,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAmB,CAAC,CAAC;YAC3C,CAAC;YAEC,gEAAgE;YAChE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,CAAC;QAGM,WAAM,GAAG,GAAG,EAAE;YACpB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAI5B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3E,IAAI,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAErC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzB,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;wBACtD,YAAY,GAAG,QAAQ,CAAC;oBAC1B,CAAC;oBACD,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;wBACtD,YAAY,GAAG,QAAQ,CAAC;oBAC1B,CAAC;oBACD,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;gBAClC,CAAC;gBACC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAqB,CAAC;gBACxE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,CAAC;YAEE,uDAAuD;YAC3D,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YAClC,CAAC;iBAAI,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAEC,uDAAuD;YACvD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,CAAC;QAGM,YAAO,GAAG,GAAG,EAAE;YACrB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxB,CAAC,CAAC;KA+EH;IAlQS,aAAa,CAAC,KAAoB;QACxC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAKO,yBAAyB;QAC/B,OAAO,cAAc,CAAC,CAAC,KAAU,EAAE,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAGD,eAAe;QACb,sFAAsF;QACtF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC9D,CAAC;IAED;;OAEG;IAEO,YAAY,CAAC,QAAgC,EAAE,QAAgC;QACvF,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,kBAAkB;QACtB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,IAAI,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YACzB,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;gBACtD,YAAY,GAAG,QAAQ,CAAC;YAC1B,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS,IAAI,YAAY,GAAG,QAAQ,EAAE,CAAC;gBACtD,YAAY,GAAG,QAAQ,CAAC;YAC1B,CAAC;YACD,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,4BAA4B;QAClD,CAAC;IACH,CAAC;IAoCO,QAAQ;QACd,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YACnC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAyFD,KAAK,CAAC,KAAK;;QACT,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,wCAAwC;IAClE,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;QAEzF,OAAO,CACL,EAAC,IAAI,sEAAgB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC3I,8DACE,KAAK,EAAE,gBAAgB,aAAa,IAAI,cAAc,IAAI,cAAc,EAAE,EAC1E,EAAE,EAAE,IAAI,CAAC,OAAO,mBACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,qBAC3B,OAAO,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,GAAG,EAAE,IAAI,CAAC,GAAG,EACb,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,aAC3F,YAAY,EACpB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAsB,CAAC,GAClD;YACF,8DAAO,KAAK,EAAC,YAAY,EAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAG,IAAI,CAAC,KAAK,CAAS;YACjF,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,CACpC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBACvB,CAAC,CAAC,yEAAyE;oBACzE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,SAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,kBAAkB;wBACrC,iBAAW,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,mBAAmB,iBAAa,MAAM,EAAC,IAAI,EAAC,IAAI,GAAa;wBACzF,GAAG,CAAC,IAAI,EAAE;4BACT,CACL,CAAC;gBACJ,CAAC,CAAC,wFAAwF;oBACxF,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,SAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAC,kBAAkB;wBACrC,iBAAW,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,mBAAmB,iBAAa,MAAM,EAAC,IAAI,EAAC,IAAI,GAAa;wBACzF,GAAG,CAAC,IAAI,EAAE;4BACT,CACL,CAAC,CACP;YAEE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,IAAI,0DAAG,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,MAAM,CAAK;YACxE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,UAAU,IAAI,6DAAM,IAAI,EAAC,mBAAmB,GAAG,CACrE,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAED,IAAI,QAAQ,GAAG,CAAC,CAAC","sourcesContent":["import { Component, Event, EventEmitter, Host, Prop, Watch, h, Method } from '@stencil/core';\nimport { debounce as lodashDebounce } from 'lodash';\nimport { AutocompleteTypes, TextFieldTypes } from '../../interface';\n\n/**\n * @slot checklistPassword - Content the checklist Password exemple.\n * `<div class=\"checklist-password mt-16\" slot=\"checklistPassword\">`\n * `<span class=\"checklist-password-label\"><strong>Low Safety</strong></span>`\n * `<road-progress color=\"danger\" value=\"25\" class=\"mt-8 mb-16\"></road-progress>`\n * `<p class=\"text-medium mb-8\">For optimal safety your password must have at least :</p>`\n * `<ul class=\"m-0 pl-16\">`\n * `<li id=\"letter\" class=\"invalid mb-8\">1 lowercase and 1 uppercase</li>`\n * `<li id=\"number\" class=\"invalid mb-8\">1 digit</li>`\n * `<li id=\"length\" class=\"invalid\">8 characters minimum</li>`\n * `</ul>`\n * `</div>`\n */\n\n@Component({\n tag: 'road-input',\n styleUrl: 'input.css',\n scoped: true,\n})\nexport class Input {\n /**\n * The id of input\n */\n @Prop() inputId: string = `road-input-${inputIds++}`;\n\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n */\n @Prop() autocapitalize = 'off';\n\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n @Prop() autocomplete: AutocompleteTypes = 'off';\n\n /**\n * If `true`, block decimal.\n */\n @Prop() blockdecimal = false;\n\n\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n @Prop() autocorrect: 'on' | 'off' = 'off';\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * A hint to the browser for which enter key to display.\n * Possible values: `\"enter\"`, `\"done\"`, `\"go\"`, `\"next\"`,\n * `\"previous\"`, `\"search\"`, and `\"send\"`.\n */\n @Prop() enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /**\n * A hint to the browser for which keyboard to display.\n * This attribute applies when the value of the type attribute is `\"text\"`, `\"password\"`, `\"email\"`, or `\"url\"`. Possible values are: `\"verbatim\"`, `\"latin\"`, `\"latin-name\"`, `\"latin-prose\"`, `\"full-width-latin\"`, `\"kana\"`, `\"katakana\"`, `\"numeric\"`, `\"tel\"`, `\"email\"`, `\"url\"`.\n */\n @Prop() inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';\n\n /**\n * The maximum value, which must not be less than its minimum (min attribute) value.\n */\n @Prop() max?: string;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.\n */\n @Prop() maxlength?: number;\n\n /**\n * The minimum value, which must not be greater than its maximum (max attribute) value.\n */\n @Prop() min?: string;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.\n */\n @Prop() minlength?: number;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored.\n */\n @Prop() pattern?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n */\n @Prop() placeholder?: string;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Works with the min and max attributes to limit the increments at which a value can be set.\n * Possible values are: `\"any\"` or a positive floating point number.\n */\n @Prop() step?: string;\n\n /**\n * The initial size of the control. This value is in pixels unless the value of the type attribute is `\"text\"` or `\"password\"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored.\n */\n @Prop() size?: number;\n\n /**\n * The sizes of the input.\n */\n @Prop() sizes: 'lg' | 'xl' = 'lg';\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: TextFieldTypes = 'text';\n\n /**\n * The value of the input.(for dynamic use use v-model for vue instead)\n */\n @Prop({ mutable: true }) value?: string | number | null = '';\n\n /**\n * Label for the field\n */\n @Prop() label?: string = '';\n\n /**\n * Error message for the field, for multiple error messages separate by ','\n */\n @Prop() error?: string | string[];\n\n /**\n * Helper message for the field\n */\n @Prop() helper?: string;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `roadChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.type === 'number' && this.blockdecimal) {\n const forbiddenKeys = ['.', ',', 'e', '-', '¨', '^', '`', '+'];\n if (forbiddenKeys.includes(event.key)) {\n event.preventDefault();\n }\n }\n }\n\n\n private debouncedRoadChange = this.createDebouncedRoadChange();\n\n private createDebouncedRoadChange() {\n return lodashDebounce((value: any) => {\n this.roadChange.emit({ value: value == null ? value : value.toString() });\n }, this.debounce);\n }\n\n @Watch('debounce')\n debounceChanged() {\n // Créez une nouvelle fonction debouncedRoadChange avec la nouvelle valeur de debounce\n this.debouncedRoadChange = this.createDebouncedRoadChange();\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged(newValue: string | number | null, oldValue: string | number | null) {\n if (newValue !== oldValue) {\n this.debouncedRoadChange(newValue);\n }\n }\n\n @Method()\n async enforceMinMaxValue() {\n let value = this.getValue();\n\n const minValue = this.min !== undefined ? parseFloat(this.min) : undefined;\n const maxValue = this.max !== undefined ? parseFloat(this.max) : undefined;\n let numericValue = parseFloat(value);\n\n if (!isNaN(numericValue)) {\n if (minValue !== undefined && numericValue < minValue) {\n numericValue = minValue;\n }\n if (maxValue !== undefined && numericValue > maxValue) {\n numericValue = maxValue;\n }\n value = numericValue.toString();\n }\n\n if (this.type === 'number' && this.value !== value) {\n this.value = value; // Déclenche @Watch('value')\n }\n }\n\n /**\n * Emitted when a keyboard input occurred.\n */\n\n /** @internal */\n @Event() roadInput!: EventEmitter<KeyboardEvent>;\n\n /**\n * Emitted when the value has changed.\n */\n\n /** @internal */\n @Event() roadChange!: EventEmitter<{\n value: string | undefined | null;\n }>;\n\n /**\n * Emitted when the input loses focus.\n */\n\n /** @internal */\n @Event() roadBlur!: EventEmitter<string | null>;\n\n /**\n * Emitted when the input has focus.\n */\n\n /** @internal */\n @Event() roadFocus!: EventEmitter<void>;\n\n\n\n\n\n private getValue(): string {\n return typeof this.value === 'number'\n ? this.value.toString()\n : (this.value || '').toString();\n }\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLInputElement;\n let newValue = input.value;\n \n if (this.type === 'number' && this.blockdecimal) {\n newValue = newValue.replace(/[.,]/g, ''); // Supprime les décimales si `blockdecimal` est activé\n }\n \n\n\n \n if (this.type === 'number') {\n // Convertir en nombre et ajuster selon min/max\n let numericValue = parseFloat(newValue);\n const minValue = this.min !== undefined ? parseFloat(this.min) : undefined;\n const maxValue = this.max !== undefined ? parseFloat(this.max) : undefined;\n \n if (!isNaN(numericValue)) {\n if (minValue !== undefined && numericValue < minValue) {\n numericValue = minValue;\n }\n if (maxValue !== undefined && numericValue > maxValue) {\n numericValue = maxValue;\n }\n newValue = numericValue.toString();\n input.value = newValue; // Force l'affichage de la valeur max\n ev.preventDefault(); // Empêche la saisie supplémentaire\n }\n this.value = newValue;\n }\n \n // Vérification si la valeur a réellement changé avant de la mettre à jour\n if (this.value !== newValue) {\n this.value = newValue;\n this.roadInput.emit(ev as KeyboardEvent);\n }\n\n // Appeler enforceMinMaxValue à chaque modification de la valeur\n this.enforceMinMaxValue();\n }; \n \n\n private onBlur = () => {\n let value = this.getValue();\n \n \n \n if (this.type === 'number') {\n const minValue = this.min !== undefined ? parseFloat(this.min) : undefined;\n const maxValue = this.max !== undefined ? parseFloat(this.max) : undefined;\n let numericValue = parseFloat(value);\n \n if (!isNaN(numericValue)) {\n if (minValue !== undefined && numericValue < minValue) {\n numericValue = minValue;\n }\n if (maxValue !== undefined && numericValue > maxValue) {\n numericValue = maxValue;\n }\n value = numericValue.toString();\n }\n this.value = value;\n const input = document.getElementById(this.inputId) as HTMLInputElement;\n input.value = value;\n }\n \n // Vérification si la valeur a changé avant mise à jour\n if (this.value !== value) {\n this.value = value;\n this.roadBlur.emit(value);\n this.roadChange.emit({ value });\n }else{\n this.roadBlur.emit(value);\n }\n \n // Appeler enforceMinMaxValue lors de la perte de focus\n this.enforceMinMaxValue();\n };\n \n\n private onFocus = () => {\n this.roadFocus.emit();\n };\n\n private inputEl?: HTMLInputElement;\n\n @Method()\n async focus() {\n this.inputEl?.focus();\n }\n\n componentWillLoad() {\n this.debounceChanged(); // Initialize debounce on component load\n }\n\n render() {\n const value = this.getValue();\n const labelId = this.inputId + '-label';\n const hasValueClass = this.value !== '' && this.value !== null ? 'has-value' : '';\n const lessLabelClass = this.label !== '' ? '' : 'less-label';\n const isInvalidClass = this.error !== undefined && this.error !== '' ? 'is-invalid' : '';\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.sizes && `input-${this.sizes}`} value={value} blockdecimal={this.blockdecimal}>\n <input\n class={`form-control ${hasValueClass} ${isInvalidClass} ${lessLabelClass}`}\n id={this.inputId}\n aria-disabled={this.disabled ? 'true' : null}\n aria-labelledby={labelId}\n disabled={this.disabled}\n autoCapitalize={this.autocapitalize}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n enterKeyHint={this.enterkeyhint}\n autoFocus={this.autofocus}\n inputMode={this.inputmode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n size={this.size}\n type={this.type}\n value={value}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.type === 'number' ? (event: KeyboardEvent) => this.handleKeyDown(event) : undefined}\n data-cy='road-input'\n ref={el => (this.inputEl = el as HTMLInputElement)}\n />\n <label class=\"form-label\" id={labelId} htmlFor={this.inputId}>{this.label}</label>\n {this.error && this.error !== '' && (\n Array.isArray(this.error) \n ? // Si error est un tableau, on itère et génère un <p> pour chaque élément\n this.error.map((err, index) => (\n <p key={index} class=\"invalid-feedback\">\n <road-icon slot=\"start\" name=\"alert-error-solid\" aria-hidden=\"true\" size=\"sm\"></road-icon>\n {err.trim()} {/* Enlever les espaces superflus */}\n </p>\n ))\n : // Si error est une chaîne, on la divise avec split et génère un <p> pour chaque élément\n this.error.split(',').map((err, index) => (\n <p key={index} class=\"invalid-feedback\">\n <road-icon slot=\"start\" name=\"alert-error-solid\" aria-hidden=\"true\" size=\"sm\"></road-icon>\n {err.trim()} {/* Enlever les espaces superflus */}\n </p>\n ))\n )}\n\n {this.helper && this.helper !== '' && <p class=\"helper\">{this.helper}</p>}\n {this.type && this.type == 'password' && <slot name=\"checklistPassword\" />}\n </Host>\n );\n }\n}\n\nlet inputIds = 0;\n"]}
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, Host, Prop, Watch, h, Method } from '@stencil/core';\nimport { debounce as lodashDebounce } from 'lodash';\nimport { AutocompleteTypes, TextFieldTypes } from '../../interface';\n\n/**\n * @slot checklistPassword - Content the checklist Password exemple.\n * `<div class=\"checklist-password mt-16\" slot=\"checklistPassword\">`\n * `<span class=\"checklist-password-label\"><strong>Low Safety</strong></span>`\n * `<road-progress color=\"danger\" value=\"25\" class=\"mt-8 mb-16\"></road-progress>`\n * `<p class=\"text-medium mb-8\">For optimal safety your password must have at least :</p>`\n * `<ul class=\"m-0 pl-16\">`\n * `<li id=\"letter\" class=\"invalid mb-8\">1 lowercase and 1 uppercase</li>`\n * `<li id=\"number\" class=\"invalid mb-8\">1 digit</li>`\n * `<li id=\"length\" class=\"invalid\">8 characters minimum</li>`\n * `</ul>`\n * `</div>`\n */\n\n@Component({\n tag: 'road-input',\n styleUrl: 'input.css',\n scoped: true,\n})\nexport class Input {\n /**\n * The id of input\n */\n @Prop() inputId: string = `road-input-${inputIds++}`;\n\n /**\n * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\n */\n @Prop() autocapitalize = 'off';\n\n /**\n * Indicates whether the value of the control can be automatically completed by the browser.\n */\n @Prop() autocomplete: AutocompleteTypes = 'off';\n\n /**\n * If `true`, block decimal.\n */\n @Prop() blockdecimal = false;\n\n\n /**\n * Whether auto correction should be enabled when the user is entering/editing the text value.\n */\n @Prop() autocorrect: 'on' | 'off' = 'off';\n\n /**\n * This Boolean attribute lets you specify that a form control should have input focus when the page loads.\n */\n @Prop() autofocus = false;\n\n /**\n * If `true`, the user cannot interact with the input.\n */\n @Prop() disabled = false;\n\n /**\n * A hint to the browser for which enter key to display.\n * Possible values: `\"enter\"`, `\"done\"`, `\"go\"`, `\"next\"`,\n * `\"previous\"`, `\"search\"`, and `\"send\"`.\n */\n @Prop() enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send';\n\n /**\n * A hint to the browser for which keyboard to display.\n * This attribute applies when the value of the type attribute is `\"text\"`, `\"password\"`, `\"email\"`, or `\"url\"`. Possible values are: `\"verbatim\"`, `\"latin\"`, `\"latin-name\"`, `\"latin-prose\"`, `\"full-width-latin\"`, `\"kana\"`, `\"katakana\"`, `\"numeric\"`, `\"tel\"`, `\"email\"`, `\"url\"`.\n */\n @Prop() inputmode?: 'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search';\n\n /**\n * The maximum value, which must not be less than its minimum (min attribute) value.\n */\n @Prop() max?: string;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the maximum number of characters that the user can enter.\n */\n @Prop() maxlength?: number;\n\n /**\n * The minimum value, which must not be greater than its maximum (max attribute) value.\n */\n @Prop() min?: string;\n\n /**\n * If the value of the type attribute is `text`, `email`, `search`, `password`, `tel`, or `url`, this attribute specifies the minimum number of characters that the user can enter.\n */\n @Prop() minlength?: number;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * A regular expression that the value is checked against. The pattern must match the entire value, not just some subset. Use the title attribute to describe the pattern to help the user. This attribute applies when the value of the type attribute is `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored.\n */\n @Prop() pattern?: string;\n\n /**\n * Instructional text that shows before the input has a value.\n */\n @Prop() placeholder?: string;\n\n /**\n * If `true`, the user cannot modify the value.\n */\n @Prop() readonly = false;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the element will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Works with the min and max attributes to limit the increments at which a value can be set.\n * Possible values are: `\"any\"` or a positive floating point number.\n */\n @Prop() step?: string;\n\n /**\n * The initial size of the control. This value is in pixels unless the value of the type attribute is `\"text\"` or `\"password\"`, in which case it is an integer number of characters. This attribute applies only when the `type` attribute is set to `\"text\"`, `\"search\"`, `\"tel\"`, `\"url\"`, `\"email\"`, or `\"password\"`, otherwise it is ignored.\n */\n @Prop() size?: number;\n\n /**\n * The sizes of the input.\n */\n @Prop() sizes: 'lg' | 'xl' = 'lg';\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: TextFieldTypes = 'text';\n\n /**\n * The value of the input.(for dynamic use use v-model for vue instead)\n */\n @Prop({ mutable: true }) value?: string | number | null = '';\n\n /**\n * Label for the field\n */\n @Prop() label?: string = '';\n\n /**\n * Error message for the field, for multiple error messages separate by ','\n */\n @Prop() error?: string | string[];\n\n /**\n * The valid fields adopt an appearance that helps the user confirm that their data is formatted properly.\n */\n @Prop() success = false;\n\n /**\n * Helper message for the field\n */\n @Prop() helper?: string;\n\n /**\n * Set the amount of time, in milliseconds, to wait to trigger the `roadChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n\n private handleKeyDown(event: KeyboardEvent) {\n if (this.type === 'number' && this.blockdecimal) {\n const forbiddenKeys = ['.', ',', 'e', '-', '¨', '^', '`', '+'];\n if (forbiddenKeys.includes(event.key)) {\n event.preventDefault();\n }\n }\n }\n\n\n private debouncedRoadChange = this.createDebouncedRoadChange();\n\n private createDebouncedRoadChange() {\n return lodashDebounce((value: any) => {\n this.roadChange.emit({ value: value == null ? value : value.toString() });\n }, this.debounce);\n }\n\n @Watch('debounce')\n debounceChanged() {\n // Créez une nouvelle fonction debouncedRoadChange avec la nouvelle valeur de debounce\n this.debouncedRoadChange = this.createDebouncedRoadChange();\n }\n\n /**\n * Update the native input element when the value changes\n */\n @Watch('value')\n protected valueChanged(newValue: string | number | null, oldValue: string | number | null) {\n if (newValue !== oldValue) {\n this.debouncedRoadChange(newValue);\n }\n }\n\n @Method()\n async enforceMinMaxValue() {\n let value = this.getValue();\n\n const minValue = this.min !== undefined ? parseFloat(this.min) : undefined;\n const maxValue = this.max !== undefined ? parseFloat(this.max) : undefined;\n let numericValue = parseFloat(value);\n\n if (!isNaN(numericValue)) {\n if (minValue !== undefined && numericValue < minValue) {\n numericValue = minValue;\n }\n if (maxValue !== undefined && numericValue > maxValue) {\n numericValue = maxValue;\n }\n value = numericValue.toString();\n }\n\n if (this.type === 'number' && this.value !== value) {\n this.value = value; // Déclenche @Watch('value')\n }\n }\n\n /**\n * Emitted when a keyboard input occurred.\n */\n\n /** @internal */\n @Event() roadInput!: EventEmitter<KeyboardEvent>;\n\n /**\n * Emitted when the value has changed.\n */\n\n /** @internal */\n @Event() roadChange!: EventEmitter<{\n value: string | undefined | null;\n }>;\n\n /**\n * Emitted when the input loses focus.\n */\n\n /** @internal */\n @Event() roadBlur!: EventEmitter<string | null>;\n\n /**\n * Emitted when the input has focus.\n */\n\n /** @internal */\n @Event() roadFocus!: EventEmitter<void>;\n\n\n\n\n\n private getValue(): string {\n return typeof this.value === 'number'\n ? this.value.toString()\n : (this.value || '').toString();\n }\n\n private onInput = (ev: Event) => {\n const input = ev.target as HTMLInputElement;\n let newValue = input.value;\n \n if (this.type === 'number' && this.blockdecimal) {\n newValue = newValue.replace(/[.,]/g, ''); // Supprime les décimales si `blockdecimal` est activé\n }\n \n\n\n \n if (this.type === 'number') {\n // Convertir en nombre et ajuster selon min/max\n let numericValue = parseFloat(newValue);\n const minValue = this.min !== undefined ? parseFloat(this.min) : undefined;\n const maxValue = this.max !== undefined ? parseFloat(this.max) : undefined;\n \n if (!isNaN(numericValue)) {\n if (minValue !== undefined && numericValue < minValue) {\n numericValue = minValue;\n }\n if (maxValue !== undefined && numericValue > maxValue) {\n numericValue = maxValue;\n }\n newValue = numericValue.toString();\n input.value = newValue; // Force l'affichage de la valeur max\n ev.preventDefault(); // Empêche la saisie supplémentaire\n }\n this.value = newValue;\n }\n \n // Vérification si la valeur a réellement changé avant de la mettre à jour\n if (this.value !== newValue) {\n this.value = newValue;\n this.roadInput.emit(ev as KeyboardEvent);\n }\n\n // Appeler enforceMinMaxValue à chaque modification de la valeur\n this.enforceMinMaxValue();\n }; \n \n\n private onBlur = () => {\n let value = this.getValue();\n \n \n \n if (this.type === 'number') {\n const minValue = this.min !== undefined ? parseFloat(this.min) : undefined;\n const maxValue = this.max !== undefined ? parseFloat(this.max) : undefined;\n let numericValue = parseFloat(value);\n \n if (!isNaN(numericValue)) {\n if (minValue !== undefined && numericValue < minValue) {\n numericValue = minValue;\n }\n if (maxValue !== undefined && numericValue > maxValue) {\n numericValue = maxValue;\n }\n value = numericValue.toString();\n }\n this.value = value;\n const input = document.getElementById(this.inputId) as HTMLInputElement;\n input.value = value;\n }\n \n // Vérification si la valeur a changé avant mise à jour\n if (this.value !== value) {\n this.value = value;\n this.roadBlur.emit(value);\n this.roadChange.emit({ value });\n }else{\n this.roadBlur.emit(value);\n }\n \n // Appeler enforceMinMaxValue lors de la perte de focus\n this.enforceMinMaxValue();\n };\n \n\n private onFocus = () => {\n this.roadFocus.emit();\n };\n\n private inputEl?: HTMLInputElement;\n\n @Method()\n async focus() {\n this.inputEl?.focus();\n }\n\n componentWillLoad() {\n this.debounceChanged(); // Initialize debounce on component load\n }\n\n render() {\n const value = this.getValue();\n const labelId = this.inputId + '-label';\n const hasValueClass = this.value !== '' && this.value !== null ? 'has-value' : '';\n const lessLabelClass = this.label !== '' ? '' : 'less-label';\n const isInvalidClass = this.error !== undefined && this.error !== '' ? 'is-invalid' : '';\n const isValidClass = this.success == true ? 'is-valid' : '';\n\n return (\n <Host aria-disabled={this.disabled ? 'true' : null} class={this.sizes && `input-${this.sizes}`} value={value} blockdecimal={this.blockdecimal}>\n <input\n class={`form-control ${hasValueClass} ${isInvalidClass} ${isValidClass} ${lessLabelClass}`}\n id={this.inputId}\n aria-disabled={this.disabled ? 'true' : null}\n aria-labelledby={labelId}\n disabled={this.disabled}\n autoCapitalize={this.autocapitalize}\n autoComplete={this.autocomplete}\n autoCorrect={this.autocorrect}\n enterKeyHint={this.enterkeyhint}\n autoFocus={this.autofocus}\n inputMode={this.inputmode}\n min={this.min}\n max={this.max}\n minLength={this.minlength}\n maxLength={this.maxlength}\n name={this.name}\n pattern={this.pattern}\n placeholder={this.placeholder}\n readOnly={this.readonly}\n required={this.required}\n spellcheck={this.spellcheck}\n step={this.step}\n size={this.size}\n type={this.type}\n value={value}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.type === 'number' ? (event: KeyboardEvent) => this.handleKeyDown(event) : undefined}\n data-cy='road-input'\n ref={el => (this.inputEl = el as HTMLInputElement)}\n />\n <label class=\"form-label\" id={labelId} htmlFor={this.inputId}>{this.label}</label>\n \n {this.error && this.error !== '' && (\n Array.isArray(this.error) \n ? // Si error est un tableau, on itère et génère un <p> pour chaque élément\n this.error.map((err, index) => (\n <p key={index} class=\"invalid-feedback\">\n <road-icon slot=\"start\" name=\"alert-error-solid\" aria-hidden=\"true\" size=\"sm\"></road-icon>\n {err.trim()} {/* Enlever les espaces superflus */}\n </p>\n ))\n : // Si error est une chaîne, on la divise avec split et génère un <p> pour chaque élément\n this.error.split(',').map((err, index) => (\n <p key={index} class=\"invalid-feedback\">\n <road-icon slot=\"start\" name=\"alert-error-solid\" aria-hidden=\"true\" size=\"sm\"></road-icon>\n {err.trim()} {/* Enlever les espaces superflus */}\n </p>\n ))\n )}\n\n {this.helper && this.helper !== '' && <p class=\"helper\">{this.helper}</p>}\n {this.type && this.type == 'password' && <slot name=\"checklistPassword\" />}\n </Host>\n );\n }\n}\n\nlet inputIds = 0;\n"]}
@@ -39,6 +39,10 @@ export default {
39
39
  description: "Error message for the field, for multiple error messages separate by ','",
40
40
  control: 'text',
41
41
  },
42
+ success: {
43
+ description: "If `true`, The valid fields adopt an appearance that helps the user confirm that their data is formatted properly.",
44
+ control: 'boolean',
45
+ },
42
46
  helper: {
43
47
  description: "Helper message for the field",
44
48
  control: 'text',
@@ -225,6 +229,7 @@ export default {
225
229
  disabled: null,
226
230
  readonly: null,
227
231
  required: null,
232
+ success: null,
228
233
  autofocus: null,
229
234
  spellcheck: null,
230
235
  blockdecimal: null,
@@ -238,6 +243,7 @@ const Template = (args) => html`
238
243
  label="${ifDefined(args.label)}"
239
244
  disabled="${ifDefined(args.disabled)}"
240
245
  required="${ifDefined(args.required)}"
246
+ success="${ifDefined(args.success)}"
241
247
  autofocus="${ifDefined(args.autofocus)}"
242
248
  error="${ifDefined(args.error)}"
243
249
  helper="${ifDefined(args.helper)}"
@@ -303,6 +309,11 @@ Error.args = {
303
309
  error: 'This field is required',
304
310
  };
305
311
 
312
+ export const Success = Template.bind({});
313
+ Success.args = {
314
+ success: true,
315
+ };
316
+
306
317
  export const MultipleErrors = Template.bind({});
307
318
  MultipleErrors.args = {
308
319
  error: ['Champ requis', 'Doit contenir au moins 8 caractères'],
@@ -58,7 +58,7 @@ export class InputGroup {
58
58
  ? `size-${this.el.querySelector('road-input').sizes}`
59
59
  : '';
60
60
  const disabledClass = this.disabled ? 'is-disabled' : '';
61
- return (h("div", { key: 'e5669c39b4c4d0d760797fac436e3f412bd98484', class: `input-group ${errorClass} ${disabledClass} ${sizeClass}` }, h("div", { key: 'e7b9878ffaefe2c47ab335e622cf0a4055463494', class: "input-group-prepend" }, h("slot", { key: '058abc4cf531ebc2618d00d003e247056b69efc6', name: "prepend" })), h("slot", { key: '173e96ad66826900cabf549e73da58c16ed0be52' }), h("div", { key: '6cc0416927fd6c8cb103dda53dfe08028ec2f0e0', class: "input-group-append" }, h("slot", { key: '5c860ee978a4eeceb0bb51e060d02783d94d6428', name: "append" }))));
61
+ return (h("div", { key: 'c789f52752140cc0f396a8e2e2fcf9725ca974d2', class: `input-group ${errorClass} ${disabledClass} ${sizeClass}` }, h("div", { key: '41870e22ddc72cd42c6b737962c11e075af78f91', class: "input-group-prepend" }, h("slot", { key: '80322c2acb0bfe220cef11df0a7fd03aad98186a', name: "prepend" })), h("slot", { key: '3b3c02a69bba482658a95f26fa46cb365ab373a5' }), h("div", { key: '2551b5848533d7564872892e04380a68216a4979', class: "input-group-append" }, h("slot", { key: 'c030afa5616bf26d7bcf99f09adc644fc2eeb2ca', name: "append" }))));
62
62
  }
63
63
  static get is() { return "road-input-group"; }
64
64
  static get encapsulation() { return "shadow"; }
@@ -57,13 +57,13 @@ export class Item {
57
57
  target,
58
58
  };
59
59
  const showDetail = detail !== undefined && detail;
60
- return (h(Host, { key: '9259fa99977924426712f7ee15a5682f02169405', "aria-disabled": disabled ? 'true' : null, class: {
60
+ return (h(Host, { key: '0aea3486ca34a04bfa7e0690181466e0f563ecdd', "aria-disabled": disabled ? 'true' : null, class: {
61
61
  [`item-lines-${lines}`]: lines !== undefined,
62
- } }, h(TagType, Object.assign({ key: '9cb8745d6101b92e3e78b109162ab553264c77b1' }, attrs, { class: {
62
+ } }, h(TagType, Object.assign({ key: 'a2b491a400eb88b4af1ac7a26a5a00e32fde08cb' }, attrs, { class: {
63
63
  'item-native': true,
64
64
  'item-active': this.active,
65
65
  [`layout-${layout}`]: layout !== undefined,
66
- }, part: "native", disabled: disabled }), h("slot", { key: '3bd615ec7ca9a34c52d48e0064fff1c20201fbc4', name: "start" }), h("div", { key: '686b9fe5bea511fc6c5dbdbbf54b357242fb5eae', class: "item-inner" }, h("div", { key: 'f443d8c131f47e3b1a884c038f02ff16fb787b5e', class: "input-wrapper" }, h("slot", { key: '0c694f293f2cb663360c092991e047ece261e11d' }), h("div", { key: '3b63e2654c7b5d07bede2920c2ad9bcc652d139c', class: "input-wrapper-info" }, h("road-label", { key: '383661f5be57349babd599419e0d39ab89aff47b', class: "input-wrapper-info-title" }, this.titleItem), h("p", { key: '238616644fa4771c4f1b037999f564889617a362', class: "input-wrapper-info-text" }, this.text))), h("slot", { key: 'c40987509754fd69dacb0728bd498871ea867c82', name: "end" }), showDetail && h("road-icon", { key: '75e65156e78c475adeddaf152ffe47dd6e55c24e', icon: detailIcon, lazy: false, class: "item-detail-icon" })))));
66
+ }, part: "native", disabled: disabled }), h("slot", { key: 'b78e532a469747c50da1368932d4f582eb87f28b', name: "start" }), h("div", { key: 'de095dfd6b972de3daebc9217842f3b5b2f593c8', class: "item-inner" }, h("div", { key: '9f43e5afd0c887e8f5df8fee8b6a4e95b205fbd0', class: "input-wrapper" }, h("slot", { key: '29497de23731ee53ee5e7665a03959e7fdc5df9b' }), h("div", { key: '16a247a409fa1803a0026c6923fc2b99b64b351b', class: "input-wrapper-info" }, h("road-label", { key: 'aefe0b6c06109bd0c17d405968344c24549332e7', class: "input-wrapper-info-title" }, this.titleItem), h("p", { key: '9296d6542fee43a933193b284bc7cc8a1e1c5048', class: "input-wrapper-info-text" }, this.text))), h("slot", { key: 'f66a05fb104f8ddf9553a99e8a75a59b0f24d9d7', name: "end" }), showDetail && h("road-icon", { key: '5eab0e8ca80203ec5d276a8403aba93746953b7e', icon: detailIcon, lazy: false, class: "item-detail-icon" })))));
67
67
  }
68
68
  static get is() { return "road-item"; }
69
69
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@ import { h } from "@stencil/core";
4
4
  */
5
5
  export class Label {
6
6
  render() {
7
- return (h("slot", { key: '7b38ec4e17b246e6625f361419d19d8d34793609' }));
7
+ return (h("slot", { key: 'f59ac081c472add0201c72c48c5146a231bf05fd' }));
8
8
  }
9
9
  static get is() { return "road-label"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -5,9 +5,9 @@ import { Host, h } from "@stencil/core";
5
5
  export class List {
6
6
  render() {
7
7
  const { lines } = this;
8
- return (h(Host, { key: 'eed6c97be3b96a23d563989e1a848664ef2ae6ba', class: {
8
+ return (h(Host, { key: '2c2537547489eb97f46ccb6306d3d697773ab719', class: {
9
9
  [`list-lines-${lines}`]: lines !== undefined,
10
- } }, h("slot", { key: '1e96c87c4f15aca5f1a1d288019fd082467d5d67' })));
10
+ } }, h("slot", { key: 'f4449d3df668e2d77f83103bb2e87915ef101efc' })));
11
11
  }
12
12
  static get is() { return "road-list"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -65,7 +65,7 @@ export class Modal {
65
65
  const modalIsOpenClass = this.isOpen ? 'modal-open' : '';
66
66
  const inverseHeaderClass = this.hasInverseHeader ? 'modal-header-inverse' : '';
67
67
  const closeIconElement = this.hasCloseIcon ? h("button", { type: "button", class: "modal-close", onClick: this.onClick, "aria-label": "Close" }, h("road-icon", { icon: navigationClose, "aria-hidden": "true" })) : '';
68
- return (h(Host, { key: 'f495749b049a101712c36bbf083cba6ef886bd2c', class: `modal ${modalIsOpenClass}`, tabindex: "-1", role: "dialog", "aria-label": "modal" }, h("div", { key: 'd7287dfb02da7d29fb838e77aca55e76f8009669', class: "modal-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: '75f817fb82cd837bc4d3e270aa5c4126ae77e182', class: "modal-dialog", style: { maxWidth: `${this.maxWidth}px` }, role: "document", tabindex: "0" }, h("div", { key: '7d1040a31a6b3308686d7e0d27b4cd3c4046db18', class: "modal-content" }, h("header", { key: 'fcb04fae3a8c10341e7d9c75c452cb715b6ce67a', class: `modal-header ${inverseHeaderClass}` }, h("h2", { key: '5db438cbfba352f3ddeb4f34bec97162c41f7857', class: "modal-title" }, this.modalTitle), closeIconElement), h("div", { key: '239560ae955d26e202913eff34c6a2f0e9a6977c', class: "modal-body" }, h("slot", { key: '576db6c4b765c85bbe8e693a1ac4ad5359aef848' }))))));
68
+ return (h(Host, { key: 'fadc5b7f130b78ce930508f169a77c36c592a8b7', class: `modal ${modalIsOpenClass}`, tabindex: "-1", role: "dialog", "aria-label": "modal" }, h("div", { key: 'b06a7795a91860febafb941215dfffd796fda4c8', class: "modal-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: 'ddd6999c2e6069518d634b60502eb9cc0b311aba', class: "modal-dialog", style: { maxWidth: `${this.maxWidth}px` }, role: "document", tabindex: "0" }, h("div", { key: '17bb4a3d1281d71b0b4d3f3e1765491f768aa460', class: "modal-content" }, h("header", { key: '5d1cb9be50df022c0e0ce59e82f3df6f2ec45369', class: `modal-header ${inverseHeaderClass}` }, h("h2", { key: '51fd0108264ba6a54c93047dbccf9e69ae7b3032', class: "modal-title" }, this.modalTitle), closeIconElement), h("div", { key: 'f966e33d28c4e59dee755dc4ac2c225c778cf782', class: "modal-body" }, h("slot", { key: '50b4fe9fb58ee3eace39f5ce8f07a83fb05df81b' }))))));
69
69
  }
70
70
  static get is() { return "road-modal"; }
71
71
  static get encapsulation() { return "shadow"; }