@dododog/ui 0.1.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 (384) hide show
  1. package/README.md +126 -0
  2. package/dist/chunk-2AB5ZHY5.mjs +32 -0
  3. package/dist/chunk-2ASKBL63.mjs +80 -0
  4. package/dist/chunk-2MJTZ6RR.mjs +43 -0
  5. package/dist/chunk-2POGTS27.mjs +40 -0
  6. package/dist/chunk-333YD5QI.mjs +192 -0
  7. package/dist/chunk-36Y7UU32.mjs +34 -0
  8. package/dist/chunk-3BPC4LNH.js +75 -0
  9. package/dist/chunk-3R7PT3JG.js +215 -0
  10. package/dist/chunk-3VU6TPAT.js +102 -0
  11. package/dist/chunk-4U5MNA3B.mjs +101 -0
  12. package/dist/chunk-5257MWFI.mjs +93 -0
  13. package/dist/chunk-6ASRTUXO.js +107 -0
  14. package/dist/chunk-6EG6EAHW.js +108 -0
  15. package/dist/chunk-74B2EGKT.mjs +99 -0
  16. package/dist/chunk-762LQMWP.js +73 -0
  17. package/dist/chunk-76DZXGKJ.mjs +58 -0
  18. package/dist/chunk-77WKG2D7.js +80 -0
  19. package/dist/chunk-7IJOHVNJ.js +88 -0
  20. package/dist/chunk-7LJS5LNR.js +365 -0
  21. package/dist/chunk-7W3TFPIF.js +111 -0
  22. package/dist/chunk-ADIDI7AJ.js +11 -0
  23. package/dist/chunk-B47HQHX3.mjs +187 -0
  24. package/dist/chunk-BQWVWK74.mjs +125 -0
  25. package/dist/chunk-BUXVK2HE.mjs +79 -0
  26. package/dist/chunk-C4RZBOKH.js +138 -0
  27. package/dist/chunk-CNWUOKCY.mjs +342 -0
  28. package/dist/chunk-DFXXGKMI.js +90 -0
  29. package/dist/chunk-DGEXT7PN.mjs +85 -0
  30. package/dist/chunk-DLOHAW74.js +101 -0
  31. package/dist/chunk-DMCMWOBJ.mjs +81 -0
  32. package/dist/chunk-DS4LM7OS.js +66 -0
  33. package/dist/chunk-DTIYZ3TQ.js +54 -0
  34. package/dist/chunk-E4B6LXK7.mjs +45 -0
  35. package/dist/chunk-E6ZNND75.js +65 -0
  36. package/dist/chunk-EEIPCJQ2.mjs +72 -0
  37. package/dist/chunk-EJ7LDW7E.mjs +212 -0
  38. package/dist/chunk-ERL3WXNY.mjs +114 -0
  39. package/dist/chunk-EUEM2D5M.mjs +117 -0
  40. package/dist/chunk-EY4ZIR3P.js +62 -0
  41. package/dist/chunk-F2BUMJYW.mjs +64 -0
  42. package/dist/chunk-FZ7UNXSC.mjs +67 -0
  43. package/dist/chunk-GBWVIY3C.mjs +139 -0
  44. package/dist/chunk-GRG4USTC.mjs +57 -0
  45. package/dist/chunk-GXKON34B.js +86 -0
  46. package/dist/chunk-H3JNRTAI.js +116 -0
  47. package/dist/chunk-HN6B4TAW.js +139 -0
  48. package/dist/chunk-HS3MAW3G.js +123 -0
  49. package/dist/chunk-I4S3R6C6.js +105 -0
  50. package/dist/chunk-I4WCNTNP.mjs +49 -0
  51. package/dist/chunk-IEHX4DU6.js +49 -0
  52. package/dist/chunk-IJIUUBFT.js +94 -0
  53. package/dist/chunk-IMKLN273.mjs +9 -0
  54. package/dist/chunk-IRKM5UF4.js +137 -0
  55. package/dist/chunk-JP5ZR2HI.mjs +64 -0
  56. package/dist/chunk-KOO5ZXLD.js +234 -0
  57. package/dist/chunk-KQK7LFWM.mjs +101 -0
  58. package/dist/chunk-KVVXKSMQ.mjs +118 -0
  59. package/dist/chunk-KZSGVMUG.js +169 -0
  60. package/dist/chunk-L7OYR6U3.js +75 -0
  61. package/dist/chunk-LFIZX2S6.mjs +85 -0
  62. package/dist/chunk-MCF3EQTV.js +135 -0
  63. package/dist/chunk-MKOKWME3.js +76 -0
  64. package/dist/chunk-MPL35D5G.mjs +44 -0
  65. package/dist/chunk-MY6BYO5F.js +41 -0
  66. package/dist/chunk-N2Q4Z2FU.js +97 -0
  67. package/dist/chunk-N3JU7JS7.js +86 -0
  68. package/dist/chunk-NBDPT3XQ.js +121 -0
  69. package/dist/chunk-NCSFXSOZ.mjs +69 -0
  70. package/dist/chunk-NCU5PY34.js +90 -0
  71. package/dist/chunk-NHB2TI2B.js +210 -0
  72. package/dist/chunk-NZ7GF6RF.mjs +113 -0
  73. package/dist/chunk-O2W7NR33.mjs +43 -0
  74. package/dist/chunk-OCUHCDAQ.mjs +27 -0
  75. package/dist/chunk-ODUY7NXD.js +256 -0
  76. package/dist/chunk-OK3E73OK.js +126 -0
  77. package/dist/chunk-OOPP4ES2.mjs +80 -0
  78. package/dist/chunk-P7GAKOCX.js +102 -0
  79. package/dist/chunk-PAHSQMXV.mjs +65 -0
  80. package/dist/chunk-PG4I4NWO.js +103 -0
  81. package/dist/chunk-PND5YKFN.js +68 -0
  82. package/dist/chunk-PPDKQ3FF.mjs +115 -0
  83. package/dist/chunk-PXHZ4CXG.mjs +234 -0
  84. package/dist/chunk-Q7BKR6O7.mjs +84 -0
  85. package/dist/chunk-QU6ZRLKO.mjs +54 -0
  86. package/dist/chunk-QWDKSY6Y.js +56 -0
  87. package/dist/chunk-R4DC7XPP.mjs +147 -0
  88. package/dist/chunk-RJWHPHHX.mjs +39 -0
  89. package/dist/chunk-S5TLUDNM.js +95 -0
  90. package/dist/chunk-SCGN5H6D.js +112 -0
  91. package/dist/chunk-SGDC4IVX.mjs +120 -0
  92. package/dist/chunk-SZ3SV4SJ.mjs +116 -0
  93. package/dist/chunk-T5FLQQP6.js +106 -0
  94. package/dist/chunk-TDGU5Y2P.js +136 -0
  95. package/dist/chunk-TE4WHZ4Q.js +88 -0
  96. package/dist/chunk-TNGW36OC.mjs +53 -0
  97. package/dist/chunk-TNWMTKNR.mjs +75 -0
  98. package/dist/chunk-TT7L3ZU7.js +65 -0
  99. package/dist/chunk-TZHT7NZU.js +142 -0
  100. package/dist/chunk-U3XWNFHH.js +161 -0
  101. package/dist/chunk-UGYMWWKT.mjs +79 -0
  102. package/dist/chunk-UKCH6RYL.mjs +93 -0
  103. package/dist/chunk-UQRQZLMQ.mjs +46 -0
  104. package/dist/chunk-UYDZKAGZ.mjs +48 -0
  105. package/dist/chunk-V5J2XLPD.mjs +90 -0
  106. package/dist/chunk-VOZPGXQD.mjs +51 -0
  107. package/dist/chunk-VQVRKRSM.mjs +89 -0
  108. package/dist/chunk-VTELEOT7.js +100 -0
  109. package/dist/chunk-VWFY24XF.js +89 -0
  110. package/dist/chunk-W7DZZS6L.js +70 -0
  111. package/dist/chunk-WBRVUWGC.js +147 -0
  112. package/dist/chunk-WOG6V7OW.mjs +65 -0
  113. package/dist/chunk-WVEJS2J2.mjs +66 -0
  114. package/dist/chunk-XHRDPJTF.js +92 -0
  115. package/dist/chunk-XQVODPHL.mjs +90 -0
  116. package/dist/chunk-XXC2YD3D.js +67 -0
  117. package/dist/chunk-XZU2SISM.mjs +38 -0
  118. package/dist/chunk-YN4HPIRC.js +72 -0
  119. package/dist/chunk-YSJAEDMG.js +80 -0
  120. package/dist/chunk-YVTUUNAX.mjs +77 -0
  121. package/dist/chunk-YZTVHCLK.js +124 -0
  122. package/dist/chunk-Z5S7LHMY.js +61 -0
  123. package/dist/chunk-ZAUYE2EI.js +118 -0
  124. package/dist/chunk-ZLF7IL3Y.mjs +67 -0
  125. package/dist/chunk-ZZ4EWC53.mjs +52 -0
  126. package/dist/components/Accordion/index.d.mts +24 -0
  127. package/dist/components/Accordion/index.d.ts +24 -0
  128. package/dist/components/Accordion/index.js +11 -0
  129. package/dist/components/Accordion/index.mjs +2 -0
  130. package/dist/components/Alert/index.d.mts +40 -0
  131. package/dist/components/Alert/index.d.ts +40 -0
  132. package/dist/components/Alert/index.js +11 -0
  133. package/dist/components/Alert/index.mjs +2 -0
  134. package/dist/components/Autocomplete/index.d.mts +27 -0
  135. package/dist/components/Autocomplete/index.d.ts +27 -0
  136. package/dist/components/Autocomplete/index.js +15 -0
  137. package/dist/components/Autocomplete/index.mjs +2 -0
  138. package/dist/components/Avatar/index.d.mts +13 -0
  139. package/dist/components/Avatar/index.d.ts +13 -0
  140. package/dist/components/Avatar/index.js +11 -0
  141. package/dist/components/Avatar/index.mjs +2 -0
  142. package/dist/components/Badge/index.d.mts +13 -0
  143. package/dist/components/Badge/index.d.ts +13 -0
  144. package/dist/components/Badge/index.js +15 -0
  145. package/dist/components/Badge/index.mjs +2 -0
  146. package/dist/components/Banner/index.d.mts +19 -0
  147. package/dist/components/Banner/index.d.ts +19 -0
  148. package/dist/components/Banner/index.js +15 -0
  149. package/dist/components/Banner/index.mjs +2 -0
  150. package/dist/components/BottomNavBar/index.d.mts +17 -0
  151. package/dist/components/BottomNavBar/index.d.ts +17 -0
  152. package/dist/components/BottomNavBar/index.js +11 -0
  153. package/dist/components/BottomNavBar/index.mjs +2 -0
  154. package/dist/components/Breadcrumb/index.d.mts +23 -0
  155. package/dist/components/Breadcrumb/index.d.ts +23 -0
  156. package/dist/components/Breadcrumb/index.js +15 -0
  157. package/dist/components/Breadcrumb/index.mjs +2 -0
  158. package/dist/components/Button/index.d.mts +17 -0
  159. package/dist/components/Button/index.d.ts +17 -0
  160. package/dist/components/Button/index.js +15 -0
  161. package/dist/components/Button/index.mjs +2 -0
  162. package/dist/components/Card/index.d.mts +30 -0
  163. package/dist/components/Card/index.d.ts +30 -0
  164. package/dist/components/Card/index.js +35 -0
  165. package/dist/components/Card/index.mjs +2 -0
  166. package/dist/components/CardList/index.d.mts +30 -0
  167. package/dist/components/CardList/index.d.ts +30 -0
  168. package/dist/components/CardList/index.js +11 -0
  169. package/dist/components/CardList/index.mjs +2 -0
  170. package/dist/components/Carousel/index.d.mts +15 -0
  171. package/dist/components/Carousel/index.d.ts +15 -0
  172. package/dist/components/Carousel/index.js +11 -0
  173. package/dist/components/Carousel/index.mjs +2 -0
  174. package/dist/components/Checkbox/index.d.mts +16 -0
  175. package/dist/components/Checkbox/index.d.ts +16 -0
  176. package/dist/components/Checkbox/index.js +11 -0
  177. package/dist/components/Checkbox/index.mjs +2 -0
  178. package/dist/components/Counter/index.d.mts +14 -0
  179. package/dist/components/Counter/index.d.ts +14 -0
  180. package/dist/components/Counter/index.js +11 -0
  181. package/dist/components/Counter/index.mjs +2 -0
  182. package/dist/components/DateRangePicker/index.d.mts +26 -0
  183. package/dist/components/DateRangePicker/index.d.ts +26 -0
  184. package/dist/components/DateRangePicker/index.js +15 -0
  185. package/dist/components/DateRangePicker/index.mjs +2 -0
  186. package/dist/components/DetailList/index.d.mts +17 -0
  187. package/dist/components/DetailList/index.d.ts +17 -0
  188. package/dist/components/DetailList/index.js +11 -0
  189. package/dist/components/DetailList/index.mjs +2 -0
  190. package/dist/components/Divider/index.d.mts +10 -0
  191. package/dist/components/Divider/index.d.ts +10 -0
  192. package/dist/components/Divider/index.js +11 -0
  193. package/dist/components/Divider/index.mjs +2 -0
  194. package/dist/components/Drawer/index.d.mts +13 -0
  195. package/dist/components/Drawer/index.d.ts +13 -0
  196. package/dist/components/Drawer/index.js +11 -0
  197. package/dist/components/Drawer/index.mjs +2 -0
  198. package/dist/components/DropdownMenu/index.d.mts +19 -0
  199. package/dist/components/DropdownMenu/index.d.ts +19 -0
  200. package/dist/components/DropdownMenu/index.js +11 -0
  201. package/dist/components/DropdownMenu/index.mjs +2 -0
  202. package/dist/components/DualRangeSlider/index.d.mts +26 -0
  203. package/dist/components/DualRangeSlider/index.d.ts +26 -0
  204. package/dist/components/DualRangeSlider/index.js +11 -0
  205. package/dist/components/DualRangeSlider/index.mjs +2 -0
  206. package/dist/components/EmptyState/index.d.mts +12 -0
  207. package/dist/components/EmptyState/index.d.ts +12 -0
  208. package/dist/components/EmptyState/index.js +11 -0
  209. package/dist/components/EmptyState/index.mjs +2 -0
  210. package/dist/components/ErrorBoundary/index.d.mts +21 -0
  211. package/dist/components/ErrorBoundary/index.d.ts +21 -0
  212. package/dist/components/ErrorBoundary/index.js +11 -0
  213. package/dist/components/ErrorBoundary/index.mjs +2 -0
  214. package/dist/components/FilterAccordion/index.d.mts +16 -0
  215. package/dist/components/FilterAccordion/index.d.ts +16 -0
  216. package/dist/components/FilterAccordion/index.js +11 -0
  217. package/dist/components/FilterAccordion/index.mjs +2 -0
  218. package/dist/components/FilterPill/index.d.mts +13 -0
  219. package/dist/components/FilterPill/index.d.ts +13 -0
  220. package/dist/components/FilterPill/index.js +11 -0
  221. package/dist/components/FilterPill/index.mjs +2 -0
  222. package/dist/components/Footer/index.d.mts +46 -0
  223. package/dist/components/Footer/index.d.ts +46 -0
  224. package/dist/components/Footer/index.js +11 -0
  225. package/dist/components/Footer/index.mjs +2 -0
  226. package/dist/components/GuestPicker/index.d.mts +31 -0
  227. package/dist/components/GuestPicker/index.d.ts +31 -0
  228. package/dist/components/GuestPicker/index.js +11 -0
  229. package/dist/components/GuestPicker/index.mjs +2 -0
  230. package/dist/components/Header/index.d.mts +37 -0
  231. package/dist/components/Header/index.d.ts +37 -0
  232. package/dist/components/Header/index.js +11 -0
  233. package/dist/components/Header/index.mjs +2 -0
  234. package/dist/components/HotelCard/index.d.mts +45 -0
  235. package/dist/components/HotelCard/index.d.ts +45 -0
  236. package/dist/components/HotelCard/index.js +11 -0
  237. package/dist/components/HotelCard/index.mjs +2 -0
  238. package/dist/components/IconBadge/index.d.mts +14 -0
  239. package/dist/components/IconBadge/index.d.ts +14 -0
  240. package/dist/components/IconBadge/index.js +15 -0
  241. package/dist/components/IconBadge/index.mjs +2 -0
  242. package/dist/components/ImageGallery/index.d.mts +16 -0
  243. package/dist/components/ImageGallery/index.d.ts +16 -0
  244. package/dist/components/ImageGallery/index.js +11 -0
  245. package/dist/components/ImageGallery/index.mjs +2 -0
  246. package/dist/components/ImageWithFallback/index.d.mts +17 -0
  247. package/dist/components/ImageWithFallback/index.d.ts +17 -0
  248. package/dist/components/ImageWithFallback/index.js +11 -0
  249. package/dist/components/ImageWithFallback/index.mjs +2 -0
  250. package/dist/components/Input/index.d.mts +18 -0
  251. package/dist/components/Input/index.d.ts +18 -0
  252. package/dist/components/Input/index.js +15 -0
  253. package/dist/components/Input/index.mjs +2 -0
  254. package/dist/components/Lightbox/index.d.mts +15 -0
  255. package/dist/components/Lightbox/index.d.ts +15 -0
  256. package/dist/components/Lightbox/index.js +11 -0
  257. package/dist/components/Lightbox/index.mjs +2 -0
  258. package/dist/components/LinkCard/index.d.mts +12 -0
  259. package/dist/components/LinkCard/index.d.ts +12 -0
  260. package/dist/components/LinkCard/index.js +11 -0
  261. package/dist/components/LinkCard/index.mjs +2 -0
  262. package/dist/components/LoadingOverlay/index.d.mts +12 -0
  263. package/dist/components/LoadingOverlay/index.d.ts +12 -0
  264. package/dist/components/LoadingOverlay/index.js +11 -0
  265. package/dist/components/LoadingOverlay/index.mjs +2 -0
  266. package/dist/components/MegaMenu/index.d.mts +52 -0
  267. package/dist/components/MegaMenu/index.d.ts +52 -0
  268. package/dist/components/MegaMenu/index.js +11 -0
  269. package/dist/components/MegaMenu/index.mjs +2 -0
  270. package/dist/components/MobileMenu/index.d.mts +35 -0
  271. package/dist/components/MobileMenu/index.d.ts +35 -0
  272. package/dist/components/MobileMenu/index.js +11 -0
  273. package/dist/components/MobileMenu/index.mjs +2 -0
  274. package/dist/components/Modal/index.d.mts +12 -0
  275. package/dist/components/Modal/index.d.ts +12 -0
  276. package/dist/components/Modal/index.js +11 -0
  277. package/dist/components/Modal/index.mjs +2 -0
  278. package/dist/components/Pagination/index.d.mts +13 -0
  279. package/dist/components/Pagination/index.d.ts +13 -0
  280. package/dist/components/Pagination/index.js +11 -0
  281. package/dist/components/Pagination/index.mjs +2 -0
  282. package/dist/components/PriceDisplay/index.d.mts +14 -0
  283. package/dist/components/PriceDisplay/index.d.ts +14 -0
  284. package/dist/components/PriceDisplay/index.js +11 -0
  285. package/dist/components/PriceDisplay/index.mjs +2 -0
  286. package/dist/components/ProgressBar/index.d.mts +19 -0
  287. package/dist/components/ProgressBar/index.d.ts +19 -0
  288. package/dist/components/ProgressBar/index.js +19 -0
  289. package/dist/components/ProgressBar/index.mjs +2 -0
  290. package/dist/components/RadioGroup/index.d.mts +21 -0
  291. package/dist/components/RadioGroup/index.d.ts +21 -0
  292. package/dist/components/RadioGroup/index.js +11 -0
  293. package/dist/components/RadioGroup/index.mjs +2 -0
  294. package/dist/components/Rating/index.d.mts +12 -0
  295. package/dist/components/Rating/index.d.ts +12 -0
  296. package/dist/components/Rating/index.js +11 -0
  297. package/dist/components/Rating/index.mjs +2 -0
  298. package/dist/components/SearchBar/index.d.mts +20 -0
  299. package/dist/components/SearchBar/index.d.ts +20 -0
  300. package/dist/components/SearchBar/index.js +11 -0
  301. package/dist/components/SearchBar/index.mjs +2 -0
  302. package/dist/components/SegmentedControl/index.d.mts +15 -0
  303. package/dist/components/SegmentedControl/index.d.ts +15 -0
  304. package/dist/components/SegmentedControl/index.js +11 -0
  305. package/dist/components/SegmentedControl/index.mjs +2 -0
  306. package/dist/components/Select/index.d.mts +26 -0
  307. package/dist/components/Select/index.d.ts +26 -0
  308. package/dist/components/Select/index.js +15 -0
  309. package/dist/components/Select/index.mjs +2 -0
  310. package/dist/components/Sidebar/index.d.mts +19 -0
  311. package/dist/components/Sidebar/index.d.ts +19 -0
  312. package/dist/components/Sidebar/index.js +11 -0
  313. package/dist/components/Sidebar/index.mjs +2 -0
  314. package/dist/components/Skeleton/index.d.mts +31 -0
  315. package/dist/components/Skeleton/index.d.ts +31 -0
  316. package/dist/components/Skeleton/index.js +23 -0
  317. package/dist/components/Skeleton/index.mjs +2 -0
  318. package/dist/components/Spinner/index.d.mts +13 -0
  319. package/dist/components/Spinner/index.d.ts +13 -0
  320. package/dist/components/Spinner/index.js +15 -0
  321. package/dist/components/Spinner/index.mjs +2 -0
  322. package/dist/components/StatCard/index.d.mts +15 -0
  323. package/dist/components/StatCard/index.d.ts +15 -0
  324. package/dist/components/StatCard/index.js +11 -0
  325. package/dist/components/StatCard/index.mjs +2 -0
  326. package/dist/components/StatusBadge/index.d.mts +16 -0
  327. package/dist/components/StatusBadge/index.d.ts +16 -0
  328. package/dist/components/StatusBadge/index.js +15 -0
  329. package/dist/components/StatusBadge/index.mjs +2 -0
  330. package/dist/components/Stepper/index.d.mts +16 -0
  331. package/dist/components/Stepper/index.d.ts +16 -0
  332. package/dist/components/Stepper/index.js +11 -0
  333. package/dist/components/Stepper/index.mjs +2 -0
  334. package/dist/components/Switch/index.d.mts +22 -0
  335. package/dist/components/Switch/index.d.ts +22 -0
  336. package/dist/components/Switch/index.js +19 -0
  337. package/dist/components/Switch/index.mjs +2 -0
  338. package/dist/components/Tabs/index.d.mts +18 -0
  339. package/dist/components/Tabs/index.d.ts +18 -0
  340. package/dist/components/Tabs/index.js +11 -0
  341. package/dist/components/Tabs/index.mjs +2 -0
  342. package/dist/components/Tag/index.d.mts +15 -0
  343. package/dist/components/Tag/index.d.ts +15 -0
  344. package/dist/components/Tag/index.js +15 -0
  345. package/dist/components/Tag/index.mjs +2 -0
  346. package/dist/components/Textarea/index.d.mts +16 -0
  347. package/dist/components/Textarea/index.d.ts +16 -0
  348. package/dist/components/Textarea/index.js +15 -0
  349. package/dist/components/Textarea/index.mjs +2 -0
  350. package/dist/components/Toast/index.d.mts +16 -0
  351. package/dist/components/Toast/index.d.ts +16 -0
  352. package/dist/components/Toast/index.js +15 -0
  353. package/dist/components/Toast/index.mjs +2 -0
  354. package/dist/components/Toggle/index.d.mts +13 -0
  355. package/dist/components/Toggle/index.d.ts +13 -0
  356. package/dist/components/Toggle/index.js +11 -0
  357. package/dist/components/Toggle/index.mjs +2 -0
  358. package/dist/components/Tooltip/index.d.mts +11 -0
  359. package/dist/components/Tooltip/index.d.ts +11 -0
  360. package/dist/components/Tooltip/index.js +11 -0
  361. package/dist/components/Tooltip/index.mjs +2 -0
  362. package/dist/components/VerticalMarquee/index.d.mts +16 -0
  363. package/dist/components/VerticalMarquee/index.d.ts +16 -0
  364. package/dist/components/VerticalMarquee/index.js +11 -0
  365. package/dist/components/VerticalMarquee/index.mjs +2 -0
  366. package/dist/index.d.mts +66 -0
  367. package/dist/index.d.ts +66 -0
  368. package/dist/index.js +418 -0
  369. package/dist/index.mjs +61 -0
  370. package/dist/tailwind-preset.d.mts +159 -0
  371. package/dist/tailwind-preset.d.ts +159 -0
  372. package/dist/tailwind-preset.js +19 -0
  373. package/dist/tailwind-preset.mjs +17 -0
  374. package/dist/tokens/index.d.mts +208 -0
  375. package/dist/tokens/index.d.ts +208 -0
  376. package/dist/tokens/index.js +84 -0
  377. package/dist/tokens/index.mjs +53 -0
  378. package/dist/typography-BUlhEnfy.d.mts +16 -0
  379. package/dist/typography-BUlhEnfy.d.ts +16 -0
  380. package/dist/utils/index.d.mts +5 -0
  381. package/dist/utils/index.d.ts +5 -0
  382. package/dist/utils/index.js +10 -0
  383. package/dist/utils/index.mjs +1 -0
  384. package/package.json +379 -0
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ var Checkbox = React__namespace.forwardRef(
28
+ ({ label, description, error, required, checked, onChange, disabled, className, name }, ref) => {
29
+ const id = React__namespace.useId();
30
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkADIDI7AJ_js.cn("w-full", className), children: [
31
+ /* @__PURE__ */ jsxRuntime.jsxs(
32
+ "label",
33
+ {
34
+ htmlFor: id,
35
+ className: chunkADIDI7AJ_js.cn(
36
+ "flex items-start gap-3 cursor-pointer",
37
+ disabled && "opacity-50 cursor-not-allowed"
38
+ ),
39
+ children: [
40
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative mt-0.5 flex-shrink-0", children: [
41
+ /* @__PURE__ */ jsxRuntime.jsx(
42
+ "input",
43
+ {
44
+ ref,
45
+ id,
46
+ name,
47
+ type: "checkbox",
48
+ checked,
49
+ disabled,
50
+ onChange: (e) => onChange?.(e.target.checked),
51
+ className: "peer sr-only"
52
+ }
53
+ ),
54
+ /* @__PURE__ */ jsxRuntime.jsx(
55
+ "span",
56
+ {
57
+ className: chunkADIDI7AJ_js.cn(
58
+ "block w-5 h-5 rounded border-2 transition-colors",
59
+ checked ? "bg-secondary border-secondary" : "bg-white border-gray-300 peer-hover:border-secondary",
60
+ disabled && "cursor-not-allowed"
61
+ )
62
+ }
63
+ ),
64
+ checked && /* @__PURE__ */ jsxRuntime.jsx(
65
+ "svg",
66
+ {
67
+ className: "absolute inset-0 w-5 h-5 text-white pointer-events-none",
68
+ viewBox: "0 0 20 20",
69
+ fill: "none",
70
+ stroke: "currentColor",
71
+ strokeWidth: "3",
72
+ strokeLinecap: "round",
73
+ strokeLinejoin: "round",
74
+ children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "5 10 8.5 13.5 15 7" })
75
+ }
76
+ )
77
+ ] }),
78
+ (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
79
+ label && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm font-medium text-primary", children: [
80
+ label,
81
+ required && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-secondary", children: " *" })
82
+ ] }),
83
+ description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-xs text-text-secondary mt-0.5", children: description })
84
+ ] })
85
+ ]
86
+ }
87
+ ),
88
+ error && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-red-500", children: error })
89
+ ] });
90
+ }
91
+ );
92
+ Checkbox.displayName = "Checkbox";
93
+
94
+ exports.Checkbox = Checkbox;
@@ -0,0 +1,9 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ // src/utils/cn.ts
5
+ function cn(...inputs) {
6
+ return twMerge(clsx(inputs));
7
+ }
8
+
9
+ export { cn };
@@ -0,0 +1,137 @@
1
+ 'use strict';
2
+
3
+ var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ var defaultRenderLink = ({
28
+ href,
29
+ className,
30
+ children
31
+ }) => /* @__PURE__ */ jsxRuntime.jsx("a", { href, className, children });
32
+ var Header = React__namespace.forwardRef(
33
+ ({
34
+ logo,
35
+ navItems = [],
36
+ activeDropdown,
37
+ onNavHover,
38
+ onNavClick,
39
+ rightContent,
40
+ onMobileMenuOpen,
41
+ variant = "default",
42
+ renderLink = defaultRenderLink,
43
+ className
44
+ }, ref) => {
45
+ return /* @__PURE__ */ jsxRuntime.jsx(
46
+ "header",
47
+ {
48
+ ref,
49
+ className: chunkADIDI7AJ_js.cn(
50
+ "w-full z-50 transition-all duration-300 border-b bg-white",
51
+ variant === "scrolled" ? "shadow-sm border-gray-100" : "border-gray-100",
52
+ className
53
+ ),
54
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between h-16 md:h-[72px]", children: [
55
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: logo }),
56
+ navItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "hidden lg:flex items-center justify-center flex-1 px-8", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-1", children: navItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
57
+ "div",
58
+ {
59
+ onMouseEnter: () => item.hasDropdown && onNavHover?.(item.key),
60
+ onMouseLeave: () => item.hasDropdown && onNavHover?.(null),
61
+ children: item.hasDropdown ? /* @__PURE__ */ jsxRuntime.jsxs(
62
+ "button",
63
+ {
64
+ className: chunkADIDI7AJ_js.cn(
65
+ "flex items-center gap-1 px-4 py-2 text-sm font-medium text-primary hover:text-secondary transition-colors outline-none focus:outline-none",
66
+ activeDropdown === item.key && "text-secondary"
67
+ ),
68
+ onFocus: () => onNavHover?.(item.key),
69
+ onClick: () => onNavClick?.(item.key, item.href),
70
+ children: [
71
+ item.label,
72
+ /* @__PURE__ */ jsxRuntime.jsx(
73
+ "svg",
74
+ {
75
+ xmlns: "http://www.w3.org/2000/svg",
76
+ width: "16",
77
+ height: "16",
78
+ viewBox: "0 0 24 24",
79
+ fill: "none",
80
+ stroke: "currentColor",
81
+ strokeWidth: "2",
82
+ strokeLinecap: "round",
83
+ strokeLinejoin: "round",
84
+ className: chunkADIDI7AJ_js.cn(
85
+ "transition-transform duration-200",
86
+ activeDropdown === item.key && "rotate-180"
87
+ ),
88
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" })
89
+ }
90
+ )
91
+ ]
92
+ }
93
+ ) : /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: renderLink({
94
+ href: item.href || "#",
95
+ className: "px-4 py-2 text-sm font-medium text-primary hover:text-secondary transition-colors",
96
+ children: item.label
97
+ }) })
98
+ },
99
+ item.key
100
+ )) }) }),
101
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "hidden lg:flex items-center gap-1 shrink-0", children: rightContent }),
102
+ onMobileMenuOpen && /* @__PURE__ */ jsxRuntime.jsx(
103
+ "button",
104
+ {
105
+ className: "lg:hidden p-2 hover:bg-gray-100 rounded-full transition-colors",
106
+ onClick: onMobileMenuOpen,
107
+ "aria-label": "Ouvrir le menu",
108
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
109
+ "svg",
110
+ {
111
+ xmlns: "http://www.w3.org/2000/svg",
112
+ width: "24",
113
+ height: "24",
114
+ viewBox: "0 0 24 24",
115
+ fill: "none",
116
+ stroke: "currentColor",
117
+ strokeWidth: "2",
118
+ strokeLinecap: "round",
119
+ strokeLinejoin: "round",
120
+ className: "text-primary",
121
+ children: [
122
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "4", x2: "20", y1: "12", y2: "12" }),
123
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "4", x2: "20", y1: "6", y2: "6" }),
124
+ /* @__PURE__ */ jsxRuntime.jsx("line", { x1: "4", x2: "20", y1: "18", y2: "18" })
125
+ ]
126
+ }
127
+ )
128
+ }
129
+ )
130
+ ] }) })
131
+ }
132
+ );
133
+ }
134
+ );
135
+ Header.displayName = "Header";
136
+
137
+ exports.Header = Header;
@@ -0,0 +1,64 @@
1
+ import { cn } from './chunk-IMKLN273.mjs';
2
+ import * as React from 'react';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ function repeatToFill(arr, minCount) {
6
+ if (arr.length === 0) return arr;
7
+ const repeats = Math.ceil(minCount / arr.length);
8
+ const result = [];
9
+ for (let r = 0; r < repeats; r++) {
10
+ result.push(...arr);
11
+ }
12
+ return result;
13
+ }
14
+ var VerticalMarquee = React.forwardRef(
15
+ ({ images, className, overlay, minItemsPerColumn = 6 }, ref) => {
16
+ const leftCol = images.filter((_, i) => i % 2 === 0);
17
+ const rightCol = images.filter((_, i) => i % 2 === 1);
18
+ const leftSet = repeatToFill(leftCol, minItemsPerColumn);
19
+ const rightSet = repeatToFill(rightCol, minItemsPerColumn);
20
+ const renderColumn = (col) => col.map((img, i) => /* @__PURE__ */ jsx(
21
+ "div",
22
+ {
23
+ className: "relative aspect-[3/4] rounded-2xl overflow-hidden flex-shrink-0",
24
+ children: /* @__PURE__ */ jsx(
25
+ "img",
26
+ {
27
+ src: img.src,
28
+ alt: img.alt,
29
+ className: "absolute inset-0 w-full h-full object-cover",
30
+ loading: "lazy"
31
+ }
32
+ )
33
+ },
34
+ i
35
+ ));
36
+ return /* @__PURE__ */ jsxs(
37
+ "div",
38
+ {
39
+ ref,
40
+ className: cn("relative overflow-hidden", className),
41
+ style: {
42
+ maskImage: "linear-gradient(to bottom, transparent, black 8%, black 92%, transparent)",
43
+ WebkitMaskImage: "linear-gradient(to bottom, transparent, black 8%, black 92%, transparent)"
44
+ },
45
+ children: [
46
+ /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4 h-full px-4 md:px-8 lg:px-12", children: [
47
+ /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: "animate-marquee-down flex flex-col gap-4 [&:hover]:![animation-play-state:paused]", children: [
48
+ renderColumn(leftSet),
49
+ renderColumn(leftSet)
50
+ ] }) }),
51
+ /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children: /* @__PURE__ */ jsxs("div", { className: "animate-marquee-up flex flex-col gap-4 [&:hover]:![animation-play-state:paused]", children: [
52
+ renderColumn(rightSet),
53
+ renderColumn(rightSet)
54
+ ] }) })
55
+ ] }),
56
+ overlay && /* @__PURE__ */ jsx("div", { className: "absolute inset-0 flex items-center justify-center pointer-events-none", children: /* @__PURE__ */ jsx("div", { className: "pointer-events-auto", children: overlay }) })
57
+ ]
58
+ }
59
+ );
60
+ }
61
+ );
62
+ VerticalMarquee.displayName = "VerticalMarquee";
63
+
64
+ export { VerticalMarquee };
@@ -0,0 +1,234 @@
1
+ 'use strict';
2
+
3
+ var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ function CounterRow({ label, subtitle, value, min, max, onChange, ariaLabel }) {
28
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
29
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
30
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-primary", children: label }),
31
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-text-muted", children: subtitle })
32
+ ] }),
33
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
34
+ /* @__PURE__ */ jsxRuntime.jsx(
35
+ "button",
36
+ {
37
+ type: "button",
38
+ onClick: () => onChange(Math.max(min, value - 1)),
39
+ disabled: value <= min,
40
+ "aria-label": `R\xE9duire ${ariaLabel}`,
41
+ className: chunkADIDI7AJ_js.cn(
42
+ "w-8 h-8 flex items-center justify-center rounded-full border text-primary transition-colors",
43
+ value <= min ? "border-gray-200 text-gray-300 cursor-not-allowed" : "border-sand-dark hover:border-secondary"
44
+ ),
45
+ children: "-"
46
+ }
47
+ ),
48
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "w-8 text-center font-medium text-primary", "aria-live": "polite", children: value }),
49
+ /* @__PURE__ */ jsxRuntime.jsx(
50
+ "button",
51
+ {
52
+ type: "button",
53
+ onClick: () => onChange(Math.min(max, value + 1)),
54
+ disabled: value >= max,
55
+ "aria-label": `Ajouter ${ariaLabel}`,
56
+ className: chunkADIDI7AJ_js.cn(
57
+ "w-8 h-8 flex items-center justify-center rounded-full border text-primary transition-colors",
58
+ value >= max ? "border-gray-200 text-gray-300 cursor-not-allowed" : "border-sand-dark hover:border-secondary"
59
+ ),
60
+ children: "+"
61
+ }
62
+ )
63
+ ] })
64
+ ] });
65
+ }
66
+ function ChildAgeSelect({
67
+ index,
68
+ age,
69
+ onChange
70
+ }) {
71
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
72
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-text-muted min-w-fit", children: [
73
+ "Enfant ",
74
+ index + 1
75
+ ] }),
76
+ /* @__PURE__ */ jsxRuntime.jsx(
77
+ "select",
78
+ {
79
+ value: age,
80
+ onChange: (e) => onChange(parseInt(e.target.value, 10)),
81
+ "aria-label": `\xC2ge de l'enfant ${index + 1}`,
82
+ className: "flex-1 px-2 py-1.5 border border-sand-dark rounded-lg text-sm text-primary bg-white focus:outline-none focus:ring-2 focus:ring-secondary focus:border-transparent",
83
+ children: Array.from({ length: 18 }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: i, children: i === 0 ? "< 1 an" : `${i} an${i > 1 ? "s" : ""}` }, i))
84
+ }
85
+ )
86
+ ] });
87
+ }
88
+ var GuestPicker = React__namespace.forwardRef(
89
+ ({
90
+ adults,
91
+ onAdultsChange,
92
+ childrenAges,
93
+ onChildrenAgesChange,
94
+ dogs,
95
+ onDogsChange,
96
+ isOpen,
97
+ onToggle,
98
+ onClose,
99
+ maxAdults = 10,
100
+ maxChildren = 6,
101
+ maxDogs = 5,
102
+ validateLabel = "Valider",
103
+ renderTrigger,
104
+ className
105
+ }, ref) => {
106
+ const containerRef = React__namespace.useRef(null);
107
+ React__namespace.useEffect(() => {
108
+ if (!isOpen) return;
109
+ function handleClickOutside(event) {
110
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
111
+ onClose();
112
+ }
113
+ }
114
+ document.addEventListener("mousedown", handleClickOutside);
115
+ return () => document.removeEventListener("mousedown", handleClickOutside);
116
+ }, [isOpen, onClose]);
117
+ const childrenCount = childrenAges.length;
118
+ const handleChildrenCountChange = (newCount) => {
119
+ if (newCount > childrenCount) {
120
+ const newAges = [...childrenAges];
121
+ for (let i = childrenCount; i < newCount; i++) {
122
+ newAges.push(6);
123
+ }
124
+ onChildrenAgesChange(newAges);
125
+ } else if (newCount < childrenCount) {
126
+ onChildrenAgesChange(childrenAges.slice(0, newCount));
127
+ }
128
+ };
129
+ const handleChildAgeChange = (index, newAge) => {
130
+ const newAges = [...childrenAges];
131
+ newAges[index] = newAge;
132
+ onChildrenAgesChange(newAges);
133
+ };
134
+ const totalPeople = adults + childrenCount;
135
+ const summary = `${totalPeople} voyageur${totalPeople > 1 ? "s" : ""}, ${dogs} chien${dogs > 1 ? "s" : ""}`;
136
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className: chunkADIDI7AJ_js.cn("relative", className), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, children: [
137
+ renderTrigger ? renderTrigger({ summary, isOpen, onToggle }) : /* @__PURE__ */ jsxRuntime.jsxs(
138
+ "button",
139
+ {
140
+ type: "button",
141
+ onClick: onToggle,
142
+ "aria-label": "S\xE9lectionner le nombre de voyageurs et chiens",
143
+ "aria-expanded": isOpen,
144
+ className: "w-full flex items-center gap-2 px-4 py-3 border border-sand-dark rounded-xl bg-white hover:border-secondary transition-colors text-left",
145
+ children: [
146
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "text-text-muted shrink-0", children: [
147
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2" }),
148
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "9", cy: "7", r: "4" }),
149
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M22 21v-2a4 4 0 0 0-3-3.87" }),
150
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
151
+ ] }),
152
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-primary flex-1", children: [
153
+ totalPeople,
154
+ " voyageur",
155
+ totalPeople > 1 ? "s" : ""
156
+ ] }),
157
+ /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: "text-secondary shrink-0", children: [
158
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M10 5.172C10 3.782 8.423 2.679 6.5 3c-2.823.47-4.113 6.006-4 7 .08.703 1.725 1.722 3.656 1 1.261-.472 1.96-1.45 2.344-2.5" }),
159
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M14.267 5.172c0-1.39 1.577-2.493 3.5-2.172 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5" }),
160
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 14v.5" }),
161
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 14v.5" }),
162
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M11.25 16.25h1.5L12 17l-.75-.75Z" }),
163
+ /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444c0-1.061-.162-2.2-.493-3.309m-9.243-6.082A8.801 8.801 0 0 1 12 5c.78 0 1.5.108 2.161.306" })
164
+ ] }),
165
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-primary", children: dogs }),
166
+ /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: chunkADIDI7AJ_js.cn("text-text-muted transition-transform", isOpen && "rotate-180"), children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m6 9 6 6 6-6" }) })
167
+ ]
168
+ }
169
+ ),
170
+ isOpen && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-full left-0 right-0 mt-2 bg-white rounded-xl shadow-lg border border-sand-dark z-[60] p-4", children: [
171
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
172
+ /* @__PURE__ */ jsxRuntime.jsx(
173
+ CounterRow,
174
+ {
175
+ label: "Adultes",
176
+ subtitle: "18 ans et plus",
177
+ value: adults,
178
+ min: 1,
179
+ max: maxAdults,
180
+ onChange: onAdultsChange,
181
+ ariaLabel: "le nombre d'adultes"
182
+ }
183
+ ),
184
+ /* @__PURE__ */ jsxRuntime.jsx(
185
+ CounterRow,
186
+ {
187
+ label: "Enfants",
188
+ subtitle: "0 \xE0 17 ans",
189
+ value: childrenCount,
190
+ min: 0,
191
+ max: maxChildren,
192
+ onChange: handleChildrenCountChange,
193
+ ariaLabel: "le nombre d'enfants"
194
+ }
195
+ ),
196
+ childrenAges.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pl-2 space-y-2 border-l-2 border-sand-dark ml-1", children: childrenAges.map((age, i) => /* @__PURE__ */ jsxRuntime.jsx(
197
+ ChildAgeSelect,
198
+ {
199
+ index: i,
200
+ age,
201
+ onChange: (newAge) => handleChildAgeChange(i, newAge)
202
+ },
203
+ i
204
+ )) }),
205
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-sand-dark" }),
206
+ /* @__PURE__ */ jsxRuntime.jsx(
207
+ CounterRow,
208
+ {
209
+ label: "Chiens",
210
+ subtitle: "Vos compagnons",
211
+ value: dogs,
212
+ min: 1,
213
+ max: maxDogs,
214
+ onChange: onDogsChange,
215
+ ariaLabel: "le nombre de chiens"
216
+ }
217
+ )
218
+ ] }),
219
+ /* @__PURE__ */ jsxRuntime.jsx(
220
+ "button",
221
+ {
222
+ type: "button",
223
+ onClick: onClose,
224
+ className: "mt-4 w-full py-2.5 bg-secondary text-white rounded-lg font-medium hover:bg-secondary-dark transition-colors",
225
+ children: validateLabel
226
+ }
227
+ )
228
+ ] })
229
+ ] }) });
230
+ }
231
+ );
232
+ GuestPicker.displayName = "GuestPicker";
233
+
234
+ exports.GuestPicker = GuestPicker;
@@ -0,0 +1,101 @@
1
+ import { cn } from './chunk-IMKLN273.mjs';
2
+ import * as React from 'react';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ var SearchBar = React.forwardRef(
6
+ ({
7
+ fields,
8
+ onFieldClick,
9
+ onSearch,
10
+ searchLabel = "Rechercher",
11
+ variant = "hero",
12
+ className
13
+ }, ref) => {
14
+ const isCompact = variant === "compact" || variant === "sticky";
15
+ return /* @__PURE__ */ jsx("div", { ref, className: cn("w-full", className), children: /* @__PURE__ */ jsx(
16
+ "div",
17
+ {
18
+ className: cn(
19
+ "bg-white rounded-2xl shadow-lg",
20
+ isCompact ? "p-2" : "p-4 md:p-6"
21
+ ),
22
+ children: /* @__PURE__ */ jsxs(
23
+ "div",
24
+ {
25
+ className: cn(
26
+ "grid gap-4",
27
+ isCompact ? `grid-cols-1 md:grid-cols-${Math.min(fields.length + 1, 5)} items-center` : `grid-cols-1 md:grid-cols-2 lg:grid-cols-${Math.min(fields.length + 1, 5)}`
28
+ ),
29
+ children: [
30
+ fields.map((field) => /* @__PURE__ */ jsxs(
31
+ "div",
32
+ {
33
+ className: "relative cursor-pointer",
34
+ onClick: () => onFieldClick?.(field.key),
35
+ children: [
36
+ /* @__PURE__ */ jsx(
37
+ "label",
38
+ {
39
+ className: cn(
40
+ "block text-sm font-medium text-primary mb-1",
41
+ isCompact && "sr-only"
42
+ ),
43
+ children: field.label
44
+ }
45
+ ),
46
+ /* @__PURE__ */ jsxs("div", { className: "relative", children: [
47
+ field.icon && /* @__PURE__ */ jsx("div", { className: "absolute left-3 top-1/2 -translate-y-1/2 text-text-muted", children: field.icon }),
48
+ /* @__PURE__ */ jsx(
49
+ "div",
50
+ {
51
+ className: cn(
52
+ "w-full border border-gray-200 rounded-lg bg-white",
53
+ "focus-within:ring-2 focus-within:ring-secondary focus-within:border-transparent",
54
+ field.icon ? "pl-10 pr-4" : "px-4",
55
+ isCompact ? "py-2.5" : "py-3",
56
+ field.value ? "text-primary text-base font-medium" : "text-gray-400 text-base"
57
+ ),
58
+ children: field.value || field.placeholder
59
+ }
60
+ )
61
+ ] })
62
+ ]
63
+ },
64
+ field.key
65
+ )),
66
+ /* @__PURE__ */ jsx(
67
+ "div",
68
+ {
69
+ className: cn(
70
+ !isCompact && `md:col-span-2 lg:col-span-${Math.min(fields.length + 1, 5)} flex justify-center mt-2`
71
+ ),
72
+ children: /* @__PURE__ */ jsxs(
73
+ "button",
74
+ {
75
+ type: "button",
76
+ onClick: onSearch,
77
+ className: cn(
78
+ "inline-flex items-center justify-center gap-2 bg-secondary text-white font-semibold rounded-xl transition-colors hover:bg-secondary-dark",
79
+ isCompact ? "w-full md:w-auto px-8 py-2.5 text-sm" : "px-12 py-3.5 text-base"
80
+ ),
81
+ children: [
82
+ /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
83
+ /* @__PURE__ */ jsx("circle", { cx: "11", cy: "11", r: "8" }),
84
+ /* @__PURE__ */ jsx("path", { d: "m21 21-4.3-4.3" })
85
+ ] }),
86
+ searchLabel
87
+ ]
88
+ }
89
+ )
90
+ }
91
+ )
92
+ ]
93
+ }
94
+ )
95
+ }
96
+ ) });
97
+ }
98
+ );
99
+ SearchBar.displayName = "SearchBar";
100
+
101
+ export { SearchBar };