@rpcbase/ui 0.157.0 → 0.159.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 (727) hide show
  1. package/dist/components/DayPicker/index.d.ts.map +1 -1
  2. package/dist/components/HoursPicker/index.d.ts.map +1 -1
  3. package/dist/index.js +67 -24680
  4. package/dist/index.js.map +1 -1
  5. package/dist/index10.js +73 -0
  6. package/dist/index10.js.map +1 -0
  7. package/dist/index100.js +134 -0
  8. package/dist/index100.js.map +1 -0
  9. package/dist/index101.js +24 -0
  10. package/dist/index101.js.map +1 -0
  11. package/dist/index102.js +79 -0
  12. package/dist/index102.js.map +1 -0
  13. package/dist/index103.js +22 -0
  14. package/dist/index103.js.map +1 -0
  15. package/dist/index104.js +105 -0
  16. package/dist/index104.js.map +1 -0
  17. package/dist/index105.js +8 -0
  18. package/dist/index105.js.map +1 -0
  19. package/dist/index106.js +18 -0
  20. package/dist/index106.js.map +1 -0
  21. package/dist/index107.js +5 -0
  22. package/dist/index107.js.map +1 -0
  23. package/dist/index108.js +11 -0
  24. package/dist/index108.js.map +1 -0
  25. package/dist/index109.js +330 -0
  26. package/dist/index109.js.map +1 -0
  27. package/dist/index11.js +484 -0
  28. package/dist/index11.js.map +1 -0
  29. package/dist/index110.js +53 -0
  30. package/dist/index110.js.map +1 -0
  31. package/dist/index111.js +9 -0
  32. package/dist/index111.js.map +1 -0
  33. package/dist/index112.js +72 -0
  34. package/dist/index112.js.map +1 -0
  35. package/dist/index113.js +5 -0
  36. package/dist/index113.js.map +1 -0
  37. package/dist/index114.js +367 -0
  38. package/dist/index114.js.map +1 -0
  39. package/dist/index115.js +265 -0
  40. package/dist/index115.js.map +1 -0
  41. package/dist/index116.js +64 -0
  42. package/dist/index116.js.map +1 -0
  43. package/dist/index117.js +50 -0
  44. package/dist/index117.js.map +1 -0
  45. package/dist/index118.js +173 -0
  46. package/dist/index118.js.map +1 -0
  47. package/dist/index119.js +113 -0
  48. package/dist/index119.js.map +1 -0
  49. package/dist/index12.js +130 -0
  50. package/dist/index12.js.map +1 -0
  51. package/dist/index120.js +28 -0
  52. package/dist/index120.js.map +1 -0
  53. package/dist/index121.js +11 -0
  54. package/dist/index121.js.map +1 -0
  55. package/dist/index122.js +8 -0
  56. package/dist/index122.js.map +1 -0
  57. package/dist/index123.js +9 -0
  58. package/dist/index123.js.map +1 -0
  59. package/dist/index124.js +8 -0
  60. package/dist/index124.js.map +1 -0
  61. package/dist/index125.js +470 -0
  62. package/dist/index125.js.map +1 -0
  63. package/dist/index126.js +189 -0
  64. package/dist/index126.js.map +1 -0
  65. package/dist/index127.js +111 -0
  66. package/dist/index127.js.map +1 -0
  67. package/dist/index128.js +266 -0
  68. package/dist/index128.js.map +1 -0
  69. package/dist/index129.js +13 -0
  70. package/dist/index129.js.map +1 -0
  71. package/dist/index13.js +79 -0
  72. package/dist/index13.js.map +1 -0
  73. package/dist/index130.js +46 -0
  74. package/dist/index130.js.map +1 -0
  75. package/dist/index131.js +8 -0
  76. package/dist/index131.js.map +1 -0
  77. package/dist/index132.js +55 -0
  78. package/dist/index132.js.map +1 -0
  79. package/dist/index133.js +8 -0
  80. package/dist/index133.js.map +1 -0
  81. package/dist/index134.js +8 -0
  82. package/dist/index134.js.map +1 -0
  83. package/dist/index135.js +19 -0
  84. package/dist/index135.js.map +1 -0
  85. package/dist/index136.js +9 -0
  86. package/dist/index136.js.map +1 -0
  87. package/dist/index137.js +11 -0
  88. package/dist/index137.js.map +1 -0
  89. package/dist/index138.js +20 -0
  90. package/dist/index138.js.map +1 -0
  91. package/dist/index139.js +8 -0
  92. package/dist/index139.js.map +1 -0
  93. package/dist/index14.js +735 -0
  94. package/dist/index14.js.map +1 -0
  95. package/dist/index140.js +8 -0
  96. package/dist/index140.js.map +1 -0
  97. package/dist/index141.js +9 -0
  98. package/dist/index141.js.map +1 -0
  99. package/dist/index142.js +9 -0
  100. package/dist/index142.js.map +1 -0
  101. package/dist/index143.js +8 -0
  102. package/dist/index143.js.map +1 -0
  103. package/dist/index144.js +8 -0
  104. package/dist/index144.js.map +1 -0
  105. package/dist/index145.js +10 -0
  106. package/dist/index145.js.map +1 -0
  107. package/dist/index146.js +28 -0
  108. package/dist/index146.js.map +1 -0
  109. package/dist/index147.js +10 -0
  110. package/dist/index147.js.map +1 -0
  111. package/dist/index148.js +8 -0
  112. package/dist/index148.js.map +1 -0
  113. package/dist/index149.js +10 -0
  114. package/dist/index149.js.map +1 -0
  115. package/dist/index15.js +26 -0
  116. package/dist/index15.js.map +1 -0
  117. package/dist/index150.js +9 -0
  118. package/dist/index150.js.map +1 -0
  119. package/dist/index151.js +8 -0
  120. package/dist/index151.js.map +1 -0
  121. package/dist/index152.js +9 -0
  122. package/dist/index152.js.map +1 -0
  123. package/dist/index153.js +8 -0
  124. package/dist/index153.js.map +1 -0
  125. package/dist/index154.js +12 -0
  126. package/dist/index154.js.map +1 -0
  127. package/dist/index155.js +9 -0
  128. package/dist/index155.js.map +1 -0
  129. package/dist/index156.js +8 -0
  130. package/dist/index156.js.map +1 -0
  131. package/dist/index157.js +8 -0
  132. package/dist/index157.js.map +1 -0
  133. package/dist/index158.js +10 -0
  134. package/dist/index158.js.map +1 -0
  135. package/dist/index159.js +149 -0
  136. package/dist/index159.js.map +1 -0
  137. package/dist/index16.js +21 -0
  138. package/dist/index16.js.map +1 -0
  139. package/dist/index160.js +43 -0
  140. package/dist/index160.js.map +1 -0
  141. package/dist/index161.js +8 -0
  142. package/dist/index161.js.map +1 -0
  143. package/dist/index162.js +11 -0
  144. package/dist/index162.js.map +1 -0
  145. package/dist/index163.js +17 -0
  146. package/dist/index163.js.map +1 -0
  147. package/dist/index164.js +17 -0
  148. package/dist/index164.js.map +1 -0
  149. package/dist/index165.js +11 -0
  150. package/dist/index165.js.map +1 -0
  151. package/dist/index166.js +35 -0
  152. package/dist/index166.js.map +1 -0
  153. package/dist/index167.js +14 -0
  154. package/dist/index167.js.map +1 -0
  155. package/dist/index168.js +14 -0
  156. package/dist/index168.js.map +1 -0
  157. package/dist/index169.js +12 -0
  158. package/dist/index169.js.map +1 -0
  159. package/dist/index17.js +390 -0
  160. package/dist/index17.js.map +1 -0
  161. package/dist/index170.js +17 -0
  162. package/dist/index170.js.map +1 -0
  163. package/dist/index171.js +105 -0
  164. package/dist/index171.js.map +1 -0
  165. package/dist/index172.js +23 -0
  166. package/dist/index172.js.map +1 -0
  167. package/dist/index173.js +57 -0
  168. package/dist/index173.js.map +1 -0
  169. package/dist/index174.js +76 -0
  170. package/dist/index174.js.map +1 -0
  171. package/dist/index175.js +13 -0
  172. package/dist/index175.js.map +1 -0
  173. package/dist/index176.js +24 -0
  174. package/dist/index176.js.map +1 -0
  175. package/dist/index177.js +20 -0
  176. package/dist/index177.js.map +1 -0
  177. package/dist/index178.js +27 -0
  178. package/dist/index178.js.map +1 -0
  179. package/dist/index179.js +10 -0
  180. package/dist/index179.js.map +1 -0
  181. package/dist/index18.js +663 -0
  182. package/dist/index18.js.map +1 -0
  183. package/dist/index180.js +9 -0
  184. package/dist/index180.js.map +1 -0
  185. package/dist/index181.js +27 -0
  186. package/dist/index181.js.map +1 -0
  187. package/dist/index182.js +38 -0
  188. package/dist/index182.js.map +1 -0
  189. package/dist/index183.js +19 -0
  190. package/dist/index183.js.map +1 -0
  191. package/dist/index184.js +10 -0
  192. package/dist/index184.js.map +1 -0
  193. package/dist/index185.js +8 -0
  194. package/dist/index185.js.map +1 -0
  195. package/dist/index186.js +8 -0
  196. package/dist/index186.js.map +1 -0
  197. package/dist/index187.js +8 -0
  198. package/dist/index187.js.map +1 -0
  199. package/dist/index188.js +8 -0
  200. package/dist/index188.js.map +1 -0
  201. package/dist/index189.js +7 -0
  202. package/dist/index189.js.map +1 -0
  203. package/dist/index19.js +661 -0
  204. package/dist/index19.js.map +1 -0
  205. package/dist/index190.js +10 -0
  206. package/dist/index190.js.map +1 -0
  207. package/dist/index191.js +27 -0
  208. package/dist/index191.js.map +1 -0
  209. package/dist/index192.js +11 -0
  210. package/dist/index192.js.map +1 -0
  211. package/dist/index193.js +10 -0
  212. package/dist/index193.js.map +1 -0
  213. package/dist/index194.js +9 -0
  214. package/dist/index194.js.map +1 -0
  215. package/dist/index195.js +7 -0
  216. package/dist/index195.js.map +1 -0
  217. package/dist/index196.js +7 -0
  218. package/dist/index196.js.map +1 -0
  219. package/dist/index197.js +8 -0
  220. package/dist/index197.js.map +1 -0
  221. package/dist/index198.js +7 -0
  222. package/dist/index198.js.map +1 -0
  223. package/dist/index199.js +8 -0
  224. package/dist/index199.js.map +1 -0
  225. package/dist/index2.js +9 -0
  226. package/dist/index2.js.map +1 -0
  227. package/dist/index20.js +204 -0
  228. package/dist/index20.js.map +1 -0
  229. package/dist/index200.js +7 -0
  230. package/dist/index200.js.map +1 -0
  231. package/dist/index201.js +7 -0
  232. package/dist/index201.js.map +1 -0
  233. package/dist/index202.js +7 -0
  234. package/dist/index202.js.map +1 -0
  235. package/dist/index203.js +609 -0
  236. package/dist/index203.js.map +1 -0
  237. package/dist/index204.js +28 -0
  238. package/dist/index204.js.map +1 -0
  239. package/dist/index205.js +32 -0
  240. package/dist/index205.js.map +1 -0
  241. package/dist/index206.js +8 -0
  242. package/dist/index206.js.map +1 -0
  243. package/dist/index207.js +7 -0
  244. package/dist/index207.js.map +1 -0
  245. package/dist/index208.js +5 -0
  246. package/dist/index208.js.map +1 -0
  247. package/dist/index209.js +71 -0
  248. package/dist/index209.js.map +1 -0
  249. package/dist/index21.js +8 -0
  250. package/dist/index21.js.map +1 -0
  251. package/dist/index210.js +88 -0
  252. package/dist/index210.js.map +1 -0
  253. package/dist/index211.js +50 -0
  254. package/dist/index211.js.map +1 -0
  255. package/dist/index212.js +11 -0
  256. package/dist/index212.js.map +1 -0
  257. package/dist/index213.js +8 -0
  258. package/dist/index213.js.map +1 -0
  259. package/dist/index214.js +55 -0
  260. package/dist/index214.js.map +1 -0
  261. package/dist/index215.js +68 -0
  262. package/dist/index215.js.map +1 -0
  263. package/dist/index216.js +52 -0
  264. package/dist/index216.js.map +1 -0
  265. package/dist/index217.js +43 -0
  266. package/dist/index217.js.map +1 -0
  267. package/dist/index218.js +104 -0
  268. package/dist/index218.js.map +1 -0
  269. package/dist/index219.js +101 -0
  270. package/dist/index219.js.map +1 -0
  271. package/dist/index22.js +38 -0
  272. package/dist/index22.js.map +1 -0
  273. package/dist/index220.js +103 -0
  274. package/dist/index220.js.map +1 -0
  275. package/dist/index221.js +17 -0
  276. package/dist/index221.js.map +1 -0
  277. package/dist/index222.js +158 -0
  278. package/dist/index222.js.map +1 -0
  279. package/dist/index223.js +34 -0
  280. package/dist/index223.js.map +1 -0
  281. package/dist/index224.js +13 -0
  282. package/dist/index224.js.map +1 -0
  283. package/dist/index225.js +51 -0
  284. package/dist/index225.js.map +1 -0
  285. package/dist/index226.js +15 -0
  286. package/dist/index226.js.map +1 -0
  287. package/dist/index227.js +48 -0
  288. package/dist/index227.js.map +1 -0
  289. package/dist/index228.js +99 -0
  290. package/dist/index228.js.map +1 -0
  291. package/dist/index229.js +90 -0
  292. package/dist/index229.js.map +1 -0
  293. package/dist/index23.js +272 -0
  294. package/dist/index23.js.map +1 -0
  295. package/dist/index230.js +109 -0
  296. package/dist/index230.js.map +1 -0
  297. package/dist/index231.js +56 -0
  298. package/dist/index231.js.map +1 -0
  299. package/dist/index232.js +15 -0
  300. package/dist/index232.js.map +1 -0
  301. package/dist/index233.js +41 -0
  302. package/dist/index233.js.map +1 -0
  303. package/dist/index234.js +12 -0
  304. package/dist/index234.js.map +1 -0
  305. package/dist/index235.js +120 -0
  306. package/dist/index235.js.map +1 -0
  307. package/dist/index236.js +21 -0
  308. package/dist/index236.js.map +1 -0
  309. package/dist/index237.js +19 -0
  310. package/dist/index237.js.map +1 -0
  311. package/dist/index238.js +7 -0
  312. package/dist/index238.js.map +1 -0
  313. package/dist/index239.js +40 -0
  314. package/dist/index239.js.map +1 -0
  315. package/dist/index24.js +184 -0
  316. package/dist/index24.js.map +1 -0
  317. package/dist/index240.js +24 -0
  318. package/dist/index240.js.map +1 -0
  319. package/dist/index241.js +13 -0
  320. package/dist/index241.js.map +1 -0
  321. package/dist/index242.js +12 -0
  322. package/dist/index242.js.map +1 -0
  323. package/dist/index243.js +23 -0
  324. package/dist/index243.js.map +1 -0
  325. package/dist/index244.js +32 -0
  326. package/dist/index244.js.map +1 -0
  327. package/dist/index245.js +20 -0
  328. package/dist/index245.js.map +1 -0
  329. package/dist/index246.js +62 -0
  330. package/dist/index246.js.map +1 -0
  331. package/dist/index247.js +12 -0
  332. package/dist/index247.js.map +1 -0
  333. package/dist/index248.js +70 -0
  334. package/dist/index248.js.map +1 -0
  335. package/dist/index249.js +23 -0
  336. package/dist/index249.js.map +1 -0
  337. package/dist/index25.js +18 -0
  338. package/dist/index25.js.map +1 -0
  339. package/dist/index250.js +20 -0
  340. package/dist/index250.js.map +1 -0
  341. package/dist/index251.js +9 -0
  342. package/dist/index251.js.map +1 -0
  343. package/dist/index252.js +9 -0
  344. package/dist/index252.js.map +1 -0
  345. package/dist/index253.js +10 -0
  346. package/dist/index253.js.map +1 -0
  347. package/dist/index254.js +8 -0
  348. package/dist/index254.js.map +1 -0
  349. package/dist/index255.js +11 -0
  350. package/dist/index255.js.map +1 -0
  351. package/dist/index256.js +21 -0
  352. package/dist/index256.js.map +1 -0
  353. package/dist/index257.js +9 -0
  354. package/dist/index257.js.map +1 -0
  355. package/dist/index258.js +9 -0
  356. package/dist/index258.js.map +1 -0
  357. package/dist/index259.js +17 -0
  358. package/dist/index259.js.map +1 -0
  359. package/dist/index26.js +2766 -0
  360. package/dist/index26.js.map +1 -0
  361. package/dist/index260.js +14 -0
  362. package/dist/index260.js.map +1 -0
  363. package/dist/index261.js +18 -0
  364. package/dist/index261.js.map +1 -0
  365. package/dist/index262.js +18 -0
  366. package/dist/index262.js.map +1 -0
  367. package/dist/index263.js +9 -0
  368. package/dist/index263.js.map +1 -0
  369. package/dist/index264.js +10 -0
  370. package/dist/index264.js.map +1 -0
  371. package/dist/index265.js +11 -0
  372. package/dist/index265.js.map +1 -0
  373. package/dist/index266.js +10 -0
  374. package/dist/index266.js.map +1 -0
  375. package/dist/index267.js +13 -0
  376. package/dist/index267.js.map +1 -0
  377. package/dist/index268.js +9 -0
  378. package/dist/index268.js.map +1 -0
  379. package/dist/index269.js +9 -0
  380. package/dist/index269.js.map +1 -0
  381. package/dist/index27.js +40 -0
  382. package/dist/index27.js.map +1 -0
  383. package/dist/index270.js +13 -0
  384. package/dist/index270.js.map +1 -0
  385. package/dist/index271.js +9 -0
  386. package/dist/index271.js.map +1 -0
  387. package/dist/index272.js +9 -0
  388. package/dist/index272.js.map +1 -0
  389. package/dist/index273.js +8 -0
  390. package/dist/index273.js.map +1 -0
  391. package/dist/index274.js +15 -0
  392. package/dist/index274.js.map +1 -0
  393. package/dist/index275.js +14 -0
  394. package/dist/index275.js.map +1 -0
  395. package/dist/index276.js +14 -0
  396. package/dist/index276.js.map +1 -0
  397. package/dist/index277.js +15 -0
  398. package/dist/index277.js.map +1 -0
  399. package/dist/index278.js +15 -0
  400. package/dist/index278.js.map +1 -0
  401. package/dist/index279.js +14 -0
  402. package/dist/index279.js.map +1 -0
  403. package/dist/index28.js +6 -0
  404. package/dist/index28.js.map +1 -0
  405. package/dist/index280.js +11 -0
  406. package/dist/index280.js.map +1 -0
  407. package/dist/index281.js +10 -0
  408. package/dist/index281.js.map +1 -0
  409. package/dist/index282.js +9 -0
  410. package/dist/index282.js.map +1 -0
  411. package/dist/index283.js +10 -0
  412. package/dist/index283.js.map +1 -0
  413. package/dist/index284.js +11 -0
  414. package/dist/index284.js.map +1 -0
  415. package/dist/index285.js +10 -0
  416. package/dist/index285.js.map +1 -0
  417. package/dist/index286.js +59 -0
  418. package/dist/index286.js.map +1 -0
  419. package/dist/index287.js +27 -0
  420. package/dist/index287.js.map +1 -0
  421. package/dist/index288.js +20 -0
  422. package/dist/index288.js.map +1 -0
  423. package/dist/index289.js +11 -0
  424. package/dist/index289.js.map +1 -0
  425. package/dist/index29.js +128 -0
  426. package/dist/index29.js.map +1 -0
  427. package/dist/index290.js +14 -0
  428. package/dist/index290.js.map +1 -0
  429. package/dist/index291.js +14 -0
  430. package/dist/index291.js.map +1 -0
  431. package/dist/index292.js +25 -0
  432. package/dist/index292.js.map +1 -0
  433. package/dist/index293.js +14 -0
  434. package/dist/index293.js.map +1 -0
  435. package/dist/index294.js +13 -0
  436. package/dist/index294.js.map +1 -0
  437. package/dist/index295.js +13 -0
  438. package/dist/index295.js.map +1 -0
  439. package/dist/index296.js +8 -0
  440. package/dist/index296.js.map +1 -0
  441. package/dist/index297.js +9 -0
  442. package/dist/index297.js.map +1 -0
  443. package/dist/index298.js +20 -0
  444. package/dist/index298.js.map +1 -0
  445. package/dist/index299.js +13 -0
  446. package/dist/index299.js.map +1 -0
  447. package/dist/index3.js +5 -0
  448. package/dist/index3.js.map +1 -0
  449. package/dist/index30.js +51 -0
  450. package/dist/index30.js.map +1 -0
  451. package/dist/index300.js +22 -0
  452. package/dist/index300.js.map +1 -0
  453. package/dist/index301.js +19 -0
  454. package/dist/index301.js.map +1 -0
  455. package/dist/index302.js +16 -0
  456. package/dist/index302.js.map +1 -0
  457. package/dist/index303.js +33 -0
  458. package/dist/index303.js.map +1 -0
  459. package/dist/index304.js +16 -0
  460. package/dist/index304.js.map +1 -0
  461. package/dist/index305.js +29 -0
  462. package/dist/index305.js.map +1 -0
  463. package/dist/index306.js +9 -0
  464. package/dist/index306.js.map +1 -0
  465. package/dist/index307.js +71 -0
  466. package/dist/index307.js.map +1 -0
  467. package/dist/index308.js +184 -0
  468. package/dist/index308.js.map +1 -0
  469. package/dist/index309.js +50 -0
  470. package/dist/index309.js.map +1 -0
  471. package/dist/index31.js +223 -0
  472. package/dist/index31.js.map +1 -0
  473. package/dist/index310.js +8 -0
  474. package/dist/index310.js.map +1 -0
  475. package/dist/index311.js +6 -0
  476. package/dist/index311.js.map +1 -0
  477. package/dist/index312.js +27 -0
  478. package/dist/index312.js.map +1 -0
  479. package/dist/index313.js +116 -0
  480. package/dist/index313.js.map +1 -0
  481. package/dist/index314.js +19 -0
  482. package/dist/index314.js.map +1 -0
  483. package/dist/index315.js +528 -0
  484. package/dist/index315.js.map +1 -0
  485. package/dist/index316.js +131 -0
  486. package/dist/index316.js.map +1 -0
  487. package/dist/index317.js +137 -0
  488. package/dist/index317.js.map +1 -0
  489. package/dist/index318.js +5 -0
  490. package/dist/index318.js.map +1 -0
  491. package/dist/index319.js +5 -0
  492. package/dist/index319.js.map +1 -0
  493. package/dist/index32.js +47 -0
  494. package/dist/index32.js.map +1 -0
  495. package/dist/index320.js +24 -0
  496. package/dist/index320.js.map +1 -0
  497. package/dist/index321.js +8 -0
  498. package/dist/index321.js.map +1 -0
  499. package/dist/index322.js +22 -0
  500. package/dist/index322.js.map +1 -0
  501. package/dist/index323.js +16 -0
  502. package/dist/index323.js.map +1 -0
  503. package/dist/index324.js +68 -0
  504. package/dist/index324.js.map +1 -0
  505. package/dist/index325.js +72 -0
  506. package/dist/index325.js.map +1 -0
  507. package/dist/index326.js +12 -0
  508. package/dist/index326.js.map +1 -0
  509. package/dist/index327.js +17 -0
  510. package/dist/index327.js.map +1 -0
  511. package/dist/index328.js +69 -0
  512. package/dist/index328.js.map +1 -0
  513. package/dist/index329.js +9 -0
  514. package/dist/index329.js.map +1 -0
  515. package/dist/index33.js +44 -0
  516. package/dist/index33.js.map +1 -0
  517. package/dist/index330.js +9 -0
  518. package/dist/index330.js.map +1 -0
  519. package/dist/index331.js +7 -0
  520. package/dist/index331.js.map +1 -0
  521. package/dist/index332.js +19 -0
  522. package/dist/index332.js.map +1 -0
  523. package/dist/index333.js +12 -0
  524. package/dist/index333.js.map +1 -0
  525. package/dist/index334.js +9 -0
  526. package/dist/index334.js.map +1 -0
  527. package/dist/index335.js +8 -0
  528. package/dist/index335.js.map +1 -0
  529. package/dist/index336.js +549 -0
  530. package/dist/index336.js.map +1 -0
  531. package/dist/index337.js +50 -0
  532. package/dist/index337.js.map +1 -0
  533. package/dist/index338.js +21 -0
  534. package/dist/index338.js.map +1 -0
  535. package/dist/index339.js +10 -0
  536. package/dist/index339.js.map +1 -0
  537. package/dist/index34.js +32 -0
  538. package/dist/index34.js.map +1 -0
  539. package/dist/index340.js +12 -0
  540. package/dist/index340.js.map +1 -0
  541. package/dist/index341.js +11 -0
  542. package/dist/index341.js.map +1 -0
  543. package/dist/index342.js +12 -0
  544. package/dist/index342.js.map +1 -0
  545. package/dist/index343.js +16 -0
  546. package/dist/index343.js.map +1 -0
  547. package/dist/index344.js +13 -0
  548. package/dist/index344.js.map +1 -0
  549. package/dist/index345.js +17 -0
  550. package/dist/index345.js.map +1 -0
  551. package/dist/index346.js +7 -0
  552. package/dist/index346.js.map +1 -0
  553. package/dist/index347.js +26 -0
  554. package/dist/index347.js.map +1 -0
  555. package/dist/index348.js +8 -0
  556. package/dist/index348.js.map +1 -0
  557. package/dist/index349.js +59 -0
  558. package/dist/index349.js.map +1 -0
  559. package/dist/index35.js +49 -0
  560. package/dist/index35.js.map +1 -0
  561. package/dist/index350.js +71 -0
  562. package/dist/index350.js.map +1 -0
  563. package/dist/index351.js +34 -0
  564. package/dist/index351.js.map +1 -0
  565. package/dist/index352.js +12 -0
  566. package/dist/index352.js.map +1 -0
  567. package/dist/index353.js +156 -0
  568. package/dist/index353.js.map +1 -0
  569. package/dist/index354.js +111 -0
  570. package/dist/index354.js.map +1 -0
  571. package/dist/index355.js +26 -0
  572. package/dist/index355.js.map +1 -0
  573. package/dist/index356.js +16 -0
  574. package/dist/index356.js.map +1 -0
  575. package/dist/index357.js +31 -0
  576. package/dist/index357.js.map +1 -0
  577. package/dist/index358.js +8 -0
  578. package/dist/index358.js.map +1 -0
  579. package/dist/index359.js +19 -0
  580. package/dist/index359.js.map +1 -0
  581. package/dist/index36.js +35 -0
  582. package/dist/index36.js.map +1 -0
  583. package/dist/index360.js +32 -0
  584. package/dist/index360.js.map +1 -0
  585. package/dist/index361.js +16 -0
  586. package/dist/index361.js.map +1 -0
  587. package/dist/index362.js +10 -0
  588. package/dist/index362.js.map +1 -0
  589. package/dist/index37.js +31 -0
  590. package/dist/index37.js.map +1 -0
  591. package/dist/index38.js +26 -0
  592. package/dist/index38.js.map +1 -0
  593. package/dist/index39.js +132 -0
  594. package/dist/index39.js.map +1 -0
  595. package/dist/index4.js +27 -0
  596. package/dist/index4.js.map +1 -0
  597. package/dist/index40.js +235 -0
  598. package/dist/index40.js.map +1 -0
  599. package/dist/index41.js +54 -0
  600. package/dist/index41.js.map +1 -0
  601. package/dist/index42.js +2644 -0
  602. package/dist/index42.js.map +1 -0
  603. package/dist/index43.js +397 -0
  604. package/dist/index43.js.map +1 -0
  605. package/dist/index44.js +236 -0
  606. package/dist/index44.js.map +1 -0
  607. package/dist/index45.js +25 -0
  608. package/dist/index45.js.map +1 -0
  609. package/dist/index46.js +145 -0
  610. package/dist/index46.js.map +1 -0
  611. package/dist/index47.js +190 -0
  612. package/dist/index47.js.map +1 -0
  613. package/dist/index48.js +80 -0
  614. package/dist/index48.js.map +1 -0
  615. package/dist/index49.js +94 -0
  616. package/dist/index49.js.map +1 -0
  617. package/dist/index5.js +48 -0
  618. package/dist/index5.js.map +1 -0
  619. package/dist/index50.js +9 -0
  620. package/dist/index50.js.map +1 -0
  621. package/dist/index51.js +847 -0
  622. package/dist/index51.js.map +1 -0
  623. package/dist/index52.js +69 -0
  624. package/dist/index52.js.map +1 -0
  625. package/dist/index53.js +11 -0
  626. package/dist/index53.js.map +1 -0
  627. package/dist/index54.js +5 -0
  628. package/dist/index54.js.map +1 -0
  629. package/dist/index55.js +27 -0
  630. package/dist/index55.js.map +1 -0
  631. package/dist/index56.js +237 -0
  632. package/dist/index56.js.map +1 -0
  633. package/dist/index57.js +7 -0
  634. package/dist/index57.js.map +1 -0
  635. package/dist/index58.js +10 -0
  636. package/dist/index58.js.map +1 -0
  637. package/dist/index59.js +51 -0
  638. package/dist/index59.js.map +1 -0
  639. package/dist/index6.js +33 -0
  640. package/dist/index6.js.map +1 -0
  641. package/dist/index60.js +30 -0
  642. package/dist/index60.js.map +1 -0
  643. package/dist/index61.js +54 -0
  644. package/dist/index61.js.map +1 -0
  645. package/dist/index62.js +11 -0
  646. package/dist/index62.js.map +1 -0
  647. package/dist/index63.js +18 -0
  648. package/dist/index63.js.map +1 -0
  649. package/dist/index64.js +137 -0
  650. package/dist/index64.js.map +1 -0
  651. package/dist/index65.js +14 -0
  652. package/dist/index65.js.map +1 -0
  653. package/dist/index66.js +220 -0
  654. package/dist/index66.js.map +1 -0
  655. package/dist/index67.js +16 -0
  656. package/dist/index67.js.map +1 -0
  657. package/dist/index68.js +37 -0
  658. package/dist/index68.js.map +1 -0
  659. package/dist/index69.js +50 -0
  660. package/dist/index69.js.map +1 -0
  661. package/dist/index7.js +36 -0
  662. package/dist/index7.js.map +1 -0
  663. package/dist/index70.js +11 -0
  664. package/dist/index70.js.map +1 -0
  665. package/dist/index71.js +53 -0
  666. package/dist/index71.js.map +1 -0
  667. package/dist/index72.js +7 -0
  668. package/dist/index72.js.map +1 -0
  669. package/dist/index73.js +9 -0
  670. package/dist/index73.js.map +1 -0
  671. package/dist/index74.js +31 -0
  672. package/dist/index74.js.map +1 -0
  673. package/dist/index75.js +53 -0
  674. package/dist/index75.js.map +1 -0
  675. package/dist/index76.js +12 -0
  676. package/dist/index76.js.map +1 -0
  677. package/dist/index77.js +208 -0
  678. package/dist/index77.js.map +1 -0
  679. package/dist/index78.js +15 -0
  680. package/dist/index78.js.map +1 -0
  681. package/dist/index79.js +9 -0
  682. package/dist/index79.js.map +1 -0
  683. package/dist/index8.js +230 -0
  684. package/dist/index8.js.map +1 -0
  685. package/dist/index80.js +11 -0
  686. package/dist/index80.js.map +1 -0
  687. package/dist/index81.js +9 -0
  688. package/dist/index81.js.map +1 -0
  689. package/dist/index82.js +5 -0
  690. package/dist/index82.js.map +1 -0
  691. package/dist/index83.js +5 -0
  692. package/dist/index83.js.map +1 -0
  693. package/dist/index84.js +50 -0
  694. package/dist/index84.js.map +1 -0
  695. package/dist/index85.js +209 -0
  696. package/dist/index85.js.map +1 -0
  697. package/dist/index86.js +25 -0
  698. package/dist/index86.js.map +1 -0
  699. package/dist/index87.js +28 -0
  700. package/dist/index87.js.map +1 -0
  701. package/dist/index88.js +403 -0
  702. package/dist/index88.js.map +1 -0
  703. package/dist/index89.js +50 -0
  704. package/dist/index89.js.map +1 -0
  705. package/dist/index9.js +27 -0
  706. package/dist/index9.js.map +1 -0
  707. package/dist/index90.js +57 -0
  708. package/dist/index90.js.map +1 -0
  709. package/dist/index91.js +7 -0
  710. package/dist/index91.js.map +1 -0
  711. package/dist/index92.js +37 -0
  712. package/dist/index92.js.map +1 -0
  713. package/dist/index93.js +253 -0
  714. package/dist/index93.js.map +1 -0
  715. package/dist/index94.js +118 -0
  716. package/dist/index94.js.map +1 -0
  717. package/dist/index95.js +223 -0
  718. package/dist/index95.js.map +1 -0
  719. package/dist/index96.js +70 -0
  720. package/dist/index96.js.map +1 -0
  721. package/dist/index97.js +24 -0
  722. package/dist/index97.js.map +1 -0
  723. package/dist/index98.js +213 -0
  724. package/dist/index98.js.map +1 -0
  725. package/dist/index99.js +323 -0
  726. package/dist/index99.js.map +1 -0
  727. package/package.json +5 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index14.js","sources":["../src/components/FilesUploadField/index.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState, type ReactNode } from \"react\"\nimport { createPortal } from \"react-dom\"\nimport type { DragEndEvent } from \"@dnd-kit/core\"\nimport { DndContext, DragOverlay, KeyboardSensor, PointerSensor, closestCenter, useSensor, useSensors } from \"@dnd-kit/core\"\nimport {\n SortableContext,\n arrayMove,\n rectSortingStrategy,\n sortableKeyboardCoordinates,\n useSortable,\n} from \"@dnd-kit/sortable\"\nimport { CSS } from \"@dnd-kit/utilities\"\nimport { Loader2, Maximize2, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nexport type FilesUploadFieldFile = {\n id: string\n url: string\n alt?: string\n uploadKey?: string\n}\n\nconst TENANT_ID_QUERY_PARAM = \"rb-tenant-id\"\n\ntype FileUploadsInitResponse = {\n ok: boolean\n error?: string\n uploadId?: string\n uploadKey?: string\n chunkSize?: number\n chunksTotal?: number\n}\n\ntype FileUploadsStatusResponse = {\n ok: boolean\n error?: string\n status?: \"uploading\" | \"assembling\" | \"done\" | \"error\"\n chunkSize?: number\n chunksTotal?: number\n received?: number[]\n fileId?: string\n}\n\ntype FileUploadsCompleteResponse = {\n ok: boolean\n error?: string\n fileId?: string\n}\n\nconst sha256Hex = async (data: ArrayBuffer): Promise<string | null> => {\n if (typeof crypto === \"undefined\" || typeof crypto.subtle === \"undefined\") return null\n try {\n const digest = await crypto.subtle.digest(\"SHA-256\", data)\n const bytes = Array.from(new Uint8Array(digest))\n return bytes.map((b) => b.toString(16).padStart(2, \"0\")).join(\"\")\n } catch {\n return null\n }\n}\n\nconst readTenantIdFromLocation = (): string | null => {\n if (typeof window === \"undefined\") return null\n const raw = new URLSearchParams(window.location.search || \"\").get(TENANT_ID_QUERY_PARAM)\n const normalized = raw?.trim() ?? \"\"\n return normalized ? normalized : null\n}\n\nconst withTenant = (path: string, tenantId: string | null): string => {\n if (!tenantId) return path\n const sep = path.includes(\"?\") ? \"&\" : \"?\"\n return `${path}${sep}${TENANT_ID_QUERY_PARAM}=${encodeURIComponent(tenantId)}`\n}\n\nconst postJson = async <T,>(\n url: string,\n body: unknown,\n options?: { headers?: Record<string, string>; signal?: AbortSignal },\n): Promise<{ ok: boolean; status: number; data: T }> => {\n const response = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", ...(options?.headers ?? {}) },\n credentials: \"include\",\n body: JSON.stringify(body),\n signal: options?.signal,\n })\n\n const payload = await response.json().catch(() => ({}))\n return { ok: response.ok, status: response.status, data: payload as T }\n}\n\nconst getJson = async <T,>(\n url: string,\n options?: { headers?: Record<string, string>; signal?: AbortSignal },\n): Promise<{ ok: boolean; status: number; data: T }> => {\n const response = await fetch(url, {\n credentials: \"include\",\n headers: options?.headers,\n signal: options?.signal,\n })\n const payload = await response.json().catch(() => ({}))\n return { ok: response.ok, status: response.status, data: payload as T }\n}\n\nconst putOctetStream = async ({\n url,\n body,\n sha256,\n uploadKey,\n signal,\n}: {\n url: string\n body: ArrayBuffer\n sha256?: string\n uploadKey?: string\n signal?: AbortSignal\n}): Promise<{ ok: boolean; status: number }> => {\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/octet-stream\",\n }\n if (sha256) headers[\"X-Chunk-SHA256\"] = sha256\n if (uploadKey) headers[\"X-Upload-Key\"] = uploadKey\n\n const response = await fetch(url, {\n method: \"PUT\",\n credentials: \"include\",\n headers,\n body,\n signal,\n })\n\n return { ok: response.ok, status: response.status }\n}\n\nconst defaultUpload: UploadHandler = async (file, onProgress, options) => {\n const tenantId = readTenantIdFromLocation()\n\n const initRes = await postJson<FileUploadsInitResponse>(\n withTenant(\"/api/rb/file-uploads\", tenantId),\n {\n filename: file.name,\n mimeType: file.type || \"application/octet-stream\",\n ...(typeof options?.isPublic === \"boolean\" ? { isPublic: options.isPublic } : {}),\n totalSize: file.size,\n },\n { signal: options?.signal },\n )\n\n if (!initRes.ok || !(initRes.data as any)?.ok) {\n throw new Error((initRes.data as any)?.error ?? `Init failed (${initRes.status})`)\n }\n\n const uploadId = String((initRes.data as any)?.uploadId ?? \"\")\n const uploadKey = typeof (initRes.data as any)?.uploadKey === \"string\" ? String((initRes.data as any).uploadKey) : null\n const chunkSize = Number((initRes.data as any)?.chunkSize ?? 0)\n const chunksTotal = Number((initRes.data as any)?.chunksTotal ?? 0)\n\n if (!uploadId || !chunkSize || !chunksTotal) {\n throw new Error(\"Upload init missing required fields\")\n }\n\n const doUploadChunk = async (index: number) => {\n const start = index * chunkSize\n const end = Math.min(file.size, start + chunkSize)\n const slice = file.slice(start, end)\n const body = await slice.arrayBuffer()\n const sha = await sha256Hex(body)\n\n const res = await putOctetStream({\n url: withTenant(`/api/rb/file-uploads/${encodeURIComponent(uploadId)}/chunks/${index}`, tenantId),\n body,\n sha256: sha ?? undefined,\n uploadKey: uploadKey ?? undefined,\n signal: options?.signal,\n })\n\n if (res.status === 204) return\n throw new Error(`Chunk ${index} failed (${res.status})`)\n }\n\n const uploadChunks = async (indices: number[], alreadyUploaded = 0) => {\n let uploaded = alreadyUploaded\n\n for (const idx of indices) {\n await doUploadChunk(idx)\n uploaded += 1\n const pct = Math.min(99, Math.floor((uploaded / chunksTotal) * 99))\n onProgress(pct)\n }\n }\n\n const allIndices = Array.from({ length: chunksTotal }, (_, i) => i)\n await uploadChunks(allIndices, 0)\n\n const complete = async (): Promise<string> => {\n const completeRes = await postJson<FileUploadsCompleteResponse>(\n withTenant(`/api/rb/file-uploads/${encodeURIComponent(uploadId)}/complete`, tenantId),\n {},\n { headers: uploadKey ? { \"X-Upload-Key\": uploadKey } : undefined, signal: options?.signal },\n )\n\n if (completeRes.ok && (completeRes.data as any)?.ok) {\n const fileId = String((completeRes.data as any)?.fileId ?? \"\")\n if (!fileId) throw new Error(\"Upload completed without fileId\")\n return fileId\n }\n\n const code = String((completeRes.data as any)?.error ?? \"\")\n if (completeRes.status !== 409 || code !== \"missing_chunks\") {\n throw new Error(code || `Complete failed (${completeRes.status})`)\n }\n\n const statusRes = await getJson<FileUploadsStatusResponse>(\n withTenant(`/api/rb/file-uploads/${encodeURIComponent(uploadId)}/status`, tenantId),\n { headers: uploadKey ? { \"X-Upload-Key\": uploadKey } : undefined, signal: options?.signal },\n )\n\n if (!statusRes.ok || !(statusRes.data as any)?.ok) {\n throw new Error((statusRes.data as any)?.error ?? `Status failed (${statusRes.status})`)\n }\n\n const received = Array.isArray((statusRes.data as any)?.received) ? (statusRes.data as any).received : []\n const present = new Set<number>(received)\n const missing: number[] = []\n for (let i = 0; i < chunksTotal; i += 1) {\n if (!present.has(i)) missing.push(i)\n }\n\n if (!missing.length) {\n throw new Error(\"missing_chunks\")\n }\n\n await uploadChunks(missing, present.size)\n return complete()\n }\n\n const fileId = await complete()\n\n onProgress(100)\n return {\n id: fileId,\n url: withTenant(`/api/rb/files/${encodeURIComponent(fileId)}`, tenantId),\n alt: file.name,\n ...(uploadKey ? { uploadKey } : {}),\n }\n}\n\nfunction SortableTile({\n item,\n isHovered,\n enableImagePreview,\n renderItem,\n onHoverEnter,\n onHoverLeave,\n onRemove,\n onRetry,\n startFullscreen,\n isUploading,\n isError,\n tileClasses,\n disabled,\n isDraggingExternal,\n removeButtonAriaLabel,\n}: {\n item: FileWithState\n isHovered: boolean\n enableImagePreview: boolean\n renderItem?: (props: FilesUploadFieldRenderItemProps) => ReactNode\n onHoverEnter: () => void\n onHoverLeave: () => void\n onRemove: (id: string) => void\n onRetry: (id: string) => void\n startFullscreen: (id: string) => void\n isUploading: boolean\n isError: boolean\n tileClasses: string\n disabled: boolean\n isDraggingExternal: boolean\n removeButtonAriaLabel: string\n}) {\n const { setNodeRef, attributes, listeners, transform, transition, isDragging } = useSortable({\n id: item.id,\n disabled,\n })\n\n const tileRef = useRef<HTMLDivElement | null>(null)\n const previewRef = useRef<HTMLDivElement | null>(null)\n const [previewPosition, setPreviewPosition] = useState<{ left: number; top: number } | null>(null)\n\n const updatePreviewPosition = () => {\n const el = tileRef.current\n if (!el) return\n const rect = el.getBoundingClientRect()\n setPreviewPosition({ left: rect.left + rect.width / 2, top: rect.top - 10 })\n }\n\n useEffect(() => {\n if (!enableImagePreview || !isHovered) {\n setPreviewPosition(null)\n return\n }\n\n updatePreviewPosition()\n\n let raf = 0\n const schedule = () => {\n if (raf) cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = 0\n updatePreviewPosition()\n })\n }\n\n window.addEventListener(\"resize\", schedule)\n window.addEventListener(\"scroll\", schedule, true)\n return () => {\n if (raf) cancelAnimationFrame(raf)\n window.removeEventListener(\"resize\", schedule)\n window.removeEventListener(\"scroll\", schedule, true)\n }\n }, [enableImagePreview, isHovered])\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n\n const tileContent = renderItem\n ? renderItem({\n file: { id: item.id, url: item.url, alt: item.alt, uploadKey: item.uploadKey },\n previewUrl: item.previewUrl,\n status: item.status,\n progress: item.progress,\n fileName: item.fileName,\n })\n : enableImagePreview\n ? (\n <img\n src={item.previewUrl}\n alt={item.alt ?? \"Uploaded file\"}\n className={cn(\n \"size-full rounded-md object-cover\",\n isUploading && \"opacity-75\",\n isError && \"grayscale\"\n )}\n />\n )\n : (\n <div className=\"flex size-full items-center justify-center rounded-md bg-slate-100 px-2 text-center text-[10px] font-medium text-slate-700 dark:bg-slate-800 dark:text-slate-200\">\n <span className=\"w-full truncate\">{item.fileName ?? item.alt ?? \"Fichier\"}</span>\n </div>\n )\n\n return (\n <div\n ref={(node) => {\n tileRef.current = node\n setNodeRef(node)\n }}\n style={style}\n className={cn(\n tileClasses,\n isDragging && \"z-20 ring-2 ring-primary shadow-xl\",\n isDraggingExternal && \"opacity-0\",\n !disabled && \"cursor-grab active:cursor-grabbing\",\n isDragging && \"cursor-grabbing\",\n disabled && \"cursor-default\"\n )}\n onMouseEnter={() => {\n updatePreviewPosition()\n onHoverEnter()\n }}\n onMouseLeave={(event) => {\n const next = event.relatedTarget\n if (next instanceof Node && previewRef.current?.contains(next)) return\n onHoverLeave()\n }}\n {...attributes}\n {...listeners}\n >\n {tileContent}\n\n <button\n type=\"button\"\n onClick={() => {\n if (disabled) return\n onRemove(item.id)\n }}\n disabled={disabled}\n className=\"absolute right-1 top-1 inline-flex size-6 items-center justify-center rounded-full bg-white text-slate-700 shadow-sm transition hover:scale-105 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary dark:bg-slate-900 dark:text-slate-200\"\n aria-label={removeButtonAriaLabel}\n >\n <X className=\"h-4 w-4\" />\n </button>\n\n {enableImagePreview &&\n isHovered &&\n previewPosition &&\n (() => {\n const preview = (\n <div\n ref={previewRef}\n className=\"fixed z-[60] w-52 -translate-x-1/2 -translate-y-full rounded-xl border border-slate-200 bg-white/95 p-3 shadow-2xl backdrop-blur dark:border-slate-700 dark:bg-slate-900/95\"\n style={{ left: previewPosition.left, top: previewPosition.top }}\n onMouseEnter={() => {\n updatePreviewPosition()\n onHoverEnter()\n }}\n onMouseLeave={(event) => {\n const next = event.relatedTarget\n if (next instanceof Node && tileRef.current?.contains(next)) return\n onHoverLeave()\n }}\n >\n <div className=\"relative overflow-hidden rounded-lg\">\n <img src={item.url} alt={item.alt ?? \"Preview\"} className=\"h-40 w-full object-cover\" />\n <button\n type=\"button\"\n onClick={() => startFullscreen(item.id)}\n className=\"absolute right-2 top-2 inline-flex items-center justify-center rounded-full bg-black/70 p-2 text-white transition hover:bg-black\"\n aria-label=\"Plein écran\"\n >\n <Maximize2 className=\"h-3.5 w-3.5\" />\n </button>\n </div>\n </div>\n )\n\n if (typeof document === \"undefined\") return preview\n return createPortal(preview, document.body)\n })()}\n\n {isUploading && (\n <div className=\"absolute inset-0 z-20 flex flex-col items-center justify-center gap-2 rounded-lg bg-black/40 text-white\">\n <Loader2 className=\"h-5 w-5 animate-spin\" />\n <div className=\"h-1.5 w-5/6 rounded-full bg-white/20\">\n <div className=\"h-full rounded-full bg-primary\" style={{ width: `${item.progress}%` }} />\n </div>\n <div className=\"text-xs font-semibold\">{item.progress}%</div>\n </div>\n )}\n\n {isError && (\n <div className=\"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-lg bg-red-600/70 text-white\">\n <div className=\"text-xs font-semibold\">Échec</div>\n <button\n type=\"button\"\n onClick={() => onRetry(item.id)}\n disabled={disabled}\n className=\"rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-red-700 shadow-sm transition hover:bg-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n >\n Réessayer\n </button>\n </div>\n )}\n </div>\n )\n}\n\ntype UploadResult = FilesUploadFieldFile | Promise<FilesUploadFieldFile>\n\ntype UploadHandler = (\n file: File,\n onProgress: (progress: number) => void,\n options?: { signal?: AbortSignal; isPublic?: boolean },\n) => UploadResult\n\nexport type FilesUploadFieldRenderItemProps = {\n file: FilesUploadFieldFile\n previewUrl: string\n status: \"uploaded\" | \"uploading\" | \"error\"\n progress: number\n fileName?: string\n}\n\nexport type FilesUploadFieldProps = {\n initialFiles?: FilesUploadFieldFile[]\n onChange?: (files: FilesUploadFieldFile[]) => void\n upload?: UploadHandler\n uploadIsPublic?: boolean\n disabled?: boolean\n onUploadingChange?: (isUploading: boolean) => void\n accept?: string | string[]\n renderHeader?: () => ReactNode\n renderItem?: (props: FilesUploadFieldRenderItemProps) => ReactNode\n addButtonAriaLabel?: string\n removeButtonAriaLabel?: string\n}\n\ntype FileWithState = FilesUploadFieldFile & {\n previewUrl: string\n status: \"uploaded\" | \"uploading\" | \"error\"\n progress: number\n fileName?: string\n}\n\nfunction toPreview(file: File) {\n return URL.createObjectURL(file)\n}\n\nexport function FilesUploadField({\n initialFiles = [],\n onChange,\n upload = defaultUpload,\n uploadIsPublic = false,\n disabled = false,\n onUploadingChange,\n accept,\n renderHeader,\n renderItem,\n addButtonAriaLabel = \"Ajouter un fichier\",\n removeButtonAriaLabel = \"Supprimer le fichier\",\n}: FilesUploadFieldProps) {\n const fileInputRef = useRef<HTMLInputElement>(null)\n const [images, setImages] = useState<FileWithState[]>(() =>\n initialFiles.map((file) => ({ ...file, previewUrl: file.url, status: \"uploaded\", progress: 100 }))\n )\n const [dragActive, setDragActive] = useState(false)\n const [fullscreenIndex, setFullscreenIndex] = useState<number | null>(null)\n const [hoveredId, setHoveredId] = useState<string | null>(null)\n const [activeId, setActiveId] = useState<string | null>(null)\n const hoverTimeoutRef = useRef<number | null>(null)\n const skipNotifyRef = useRef(true)\n const imagesRef = useRef<FileWithState[]>([])\n const lastInitialImagesRef = useRef<FilesUploadFieldFile[]>(initialFiles)\n const onChangeRef = useRef(onChange)\n const onUploadingChangeRef = useRef(onUploadingChange)\n const replacedIdRef = useRef<Map<string, string>>(new Map())\n const fileRef = useRef<Map<string, File>>(new Map())\n const abortRef = useRef<Map<string, AbortController>>(new Map())\n const objectUrlRef = useRef<Map<string, string>>(new Map())\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 6 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates })\n )\n\n useEffect(() => {\n return () => {\n for (const controller of abortRef.current.values()) {\n try {\n controller.abort()\n } catch {\n //\n }\n }\n abortRef.current.clear()\n fileRef.current.clear()\n replacedIdRef.current.clear()\n\n for (const url of objectUrlRef.current.values()) {\n if (typeof URL !== \"undefined\") {\n try {\n URL.revokeObjectURL(url)\n } catch {\n //\n }\n }\n }\n objectUrlRef.current.clear()\n }\n }, [])\n\n useEffect(() => {\n if (typeof document === \"undefined\") return\n if (activeId) {\n document.body.style.cursor = \"grabbing\"\n return () => {\n document.body.style.cursor = \"\"\n }\n }\n document.body.style.cursor = \"\"\n }, [activeId])\n\n useEffect(() => {\n imagesRef.current = images\n }, [images])\n\n useEffect(() => {\n onChangeRef.current = onChange\n }, [onChange])\n\n useEffect(() => {\n onUploadingChangeRef.current = onUploadingChange\n }, [onUploadingChange])\n\n useEffect(() => {\n const previous = lastInitialImagesRef.current\n const samePropValue =\n previous.length === initialFiles.length &&\n previous.every((img, index) => {\n const next = initialFiles[index]\n return next && img.id === next.id && img.url === next.url && img.alt === next.alt\n })\n\n if (samePropValue) return\n lastInitialImagesRef.current = initialFiles\n\n const prepared: FileWithState[] = initialFiles.map((img) => ({\n ...img,\n previewUrl: img.url,\n status: \"uploaded\",\n progress: 100,\n }))\n\n const preparedRawIds = new Set(prepared.map((img) => img.id))\n for (const [tempId, finalId] of replacedIdRef.current.entries()) {\n if (preparedRawIds.has(finalId)) {\n replacedIdRef.current.delete(tempId)\n }\n }\n\n const currentIds = new Set(imagesRef.current.map((img) => img.id))\n const hasStaleInitialImages = prepared.some((img) => {\n const mapped = replacedIdRef.current.get(img.id)\n return mapped ? currentIds.has(mapped) : false\n })\n if (hasStaleInitialImages) return\n\n const preparedIds = new Set(prepared.map((img) => img.id))\n for (const img of imagesRef.current) {\n if (preparedIds.has(img.id)) continue\n\n const controller = abortRef.current.get(img.id)\n if (controller) {\n abortRef.current.delete(img.id)\n try {\n controller.abort()\n } catch {\n //\n }\n }\n\n fileRef.current.delete(img.id)\n\n const tempUrl = objectUrlRef.current.get(img.id)\n if (tempUrl) {\n objectUrlRef.current.delete(img.id)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n }\n\n setImages((current) => {\n const sameLength = current.length === prepared.length\n const sameContent =\n sameLength &&\n current.every((item, index) => {\n const next = prepared[index]\n return next && item.id === next.id && item.url === next.url && item.alt === next.alt && item.uploadKey === next.uploadKey\n })\n\n if (sameContent) return current\n\n skipNotifyRef.current = true\n return prepared\n })\n }, [initialFiles])\n\n useEffect(() => {\n if (skipNotifyRef.current) {\n skipNotifyRef.current = false\n return\n }\n\n onChangeRef.current?.(images.map(({ id, url, alt, uploadKey }) => ({ id, url, alt, uploadKey })))\n }, [images])\n\n useEffect(() => {\n onUploadingChangeRef.current?.(images.some((img) => img.status === \"uploading\"))\n }, [images])\n\n useEffect(() => {\n if (fullscreenIndex === null) {\n return\n }\n\n const handleKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setFullscreenIndex(null)\n return\n }\n\n if (event.key === \"ArrowRight\") {\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current + 1) % images.length\n })\n return\n }\n\n if (event.key === \"ArrowLeft\") {\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current - 1 + images.length) % images.length\n })\n }\n }\n\n window.addEventListener(\"keydown\", handleKey)\n return () => window.removeEventListener(\"keydown\", handleKey)\n }, [fullscreenIndex, images.length])\n\n const handleFiles = async (files: FileList | File[]) => {\n if (disabled) return\n const list = Array.from(files)\n\n const uploads = list.map((file) => {\n const previewUrl = toPreview(file)\n const tempId = crypto.randomUUID()\n\n objectUrlRef.current.set(tempId, previewUrl)\n fileRef.current.set(tempId, file)\n\n const next: FileWithState = {\n id: tempId,\n url: previewUrl,\n previewUrl,\n alt: file.name,\n status: \"uploading\",\n progress: 0,\n fileName: file.name,\n }\n\n setImages((current) => [...current, next])\n\n const updateProgress = (value: number) => {\n const nextValue = Math.max(0, Math.min(99, value))\n setImages((current) =>\n current.map((item) =>\n item.id === tempId ? { ...item, progress: nextValue, status: \"uploading\" } : item\n )\n )\n }\n\n const finalize = async () => {\n const controller = new AbortController()\n abortRef.current.set(tempId, controller)\n\n try {\n const result = await upload(file, updateProgress, { signal: controller.signal, isPublic: uploadIsPublic })\n replacedIdRef.current.set(tempId, result.id)\n\n const tempUrl = objectUrlRef.current.get(tempId)\n if (tempUrl) {\n objectUrlRef.current.delete(tempId)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n\n abortRef.current.delete(tempId)\n fileRef.current.delete(tempId)\n\n setImages((current) =>\n current.map((item) =>\n item.id === tempId\n ? {\n ...item,\n ...result,\n previewUrl: result.url,\n url: result.url,\n status: \"uploaded\",\n progress: 100,\n }\n : item\n )\n )\n } catch (error) {\n abortRef.current.delete(tempId)\n if (controller.signal.aborted) {\n fileRef.current.delete(tempId)\n const tempUrl = objectUrlRef.current.get(tempId)\n if (tempUrl) {\n objectUrlRef.current.delete(tempId)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n return\n }\n console.error(\"Upload failed\", error)\n setImages((current) =>\n current.map((item) =>\n item.id === tempId\n ? { ...item, status: \"error\", progress: Math.max(0, Math.min(99, item.progress)) }\n : item\n )\n )\n }\n }\n\n return finalize()\n })\n\n await Promise.allSettled(uploads)\n }\n\n const onFileInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!event.target.files) return\n void handleFiles(event.target.files)\n event.target.value = \"\"\n }\n\n const openFileDialog = () => {\n if (disabled) return\n fileInputRef.current?.click()\n }\n\n const removeImage = (id: string) => {\n const controller = abortRef.current.get(id)\n if (controller) {\n abortRef.current.delete(id)\n try {\n controller.abort()\n } catch {\n //\n }\n }\n\n fileRef.current.delete(id)\n\n const tempUrl = objectUrlRef.current.get(id)\n if (tempUrl) {\n objectUrlRef.current.delete(id)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n\n setImages((current) => current.filter((item) => item.id !== id))\n }\n\n const retryUpload = (id: string) => {\n if (disabled) return\n const file = fileRef.current.get(id)\n if (!file) return\n\n const existingController = abortRef.current.get(id)\n if (existingController) {\n try {\n existingController.abort()\n } catch {\n //\n }\n abortRef.current.delete(id)\n }\n\n setImages((current) =>\n current.map((item) => (item.id === id ? { ...item, status: \"uploading\", progress: 0 } : item))\n )\n\n const updateProgress = (value: number) => {\n const nextValue = Math.max(0, Math.min(99, value))\n setImages((current) =>\n current.map((item) => (item.id === id ? { ...item, progress: nextValue, status: \"uploading\" } : item))\n )\n }\n\n const controller = new AbortController()\n abortRef.current.set(id, controller)\n\n void (async () => {\n try {\n const result = await upload(file, updateProgress, { signal: controller.signal, isPublic: uploadIsPublic })\n replacedIdRef.current.set(id, result.id)\n\n const tempUrl = objectUrlRef.current.get(id)\n if (tempUrl) {\n objectUrlRef.current.delete(id)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n\n abortRef.current.delete(id)\n fileRef.current.delete(id)\n\n setImages((current) =>\n current.map((item) =>\n item.id === id\n ? { ...item, ...result, previewUrl: result.url, url: result.url, status: \"uploaded\", progress: 100 }\n : item\n )\n )\n } catch (error) {\n abortRef.current.delete(id)\n if (controller.signal.aborted) return\n console.error(\"Retry failed\", error)\n setImages((current) => current.map((item) => (item.id === id ? { ...item, status: \"error\" } : item)))\n }\n })()\n }\n\n const startFullscreen = (id: string) => {\n const index = images.findIndex((item) => item.id === id)\n if (index !== -1) {\n setFullscreenIndex(index)\n }\n }\n\n const handleDragStart = (event: DragEndEvent) => {\n setActiveId(String(event.active.id))\n }\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n if (!over) {\n setActiveId(null)\n return\n }\n\n const activeId = String(active.id)\n const overId = String(over.id)\n\n if (activeId !== overId) {\n setImages((current) => {\n const oldIndex = current.findIndex((item) => item.id === activeId)\n const newIndex = current.findIndex((item) => item.id === overId)\n if (oldIndex === -1 || newIndex === -1) return current\n return arrayMove(current, oldIndex, newIndex)\n })\n }\n\n setActiveId(null)\n }\n\n const handleDragCancel = () => {\n setActiveId(null)\n }\n\n const clearHoverTimeout = () => {\n if (hoverTimeoutRef.current !== null) {\n window.clearTimeout(hoverTimeoutRef.current)\n hoverTimeoutRef.current = null\n }\n }\n\n const fullscreenImage = useMemo(() => {\n if (fullscreenIndex === null) return null\n return images[fullscreenIndex] ?? null\n }, [fullscreenIndex, images])\n\n const containerClasses = cn(\n \"rounded-xl border border-dashed border-slate-300 bg-white/70 p-4 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/60\",\n dragActive && \"border-primary ring-2 ring-primary/50\",\n disabled && \"opacity-70\"\n )\n\n const tileBaseClasses = \"group relative size-20 overflow-visible rounded-lg border border-slate-200 bg-slate-50 shadow-inner transition hover:shadow md:size-24 dark:border-slate-700 dark:bg-slate-800\"\n\n const acceptAttr = useMemo(() => {\n if (!accept) return undefined\n if (Array.isArray(accept)) return accept.join(\",\")\n return accept\n }, [accept])\n\n const enableImagePreview = useMemo(() => {\n if (renderItem) return false\n if (!acceptAttr) return false\n const tokens = acceptAttr.split(\",\").map((value) => value.trim()).filter(Boolean)\n if (!tokens.length) return false\n return tokens.every((token) => token === \"image/*\" || token.startsWith(\"image/\"))\n }, [acceptAttr, renderItem])\n\n const toRenderItemProps = (item: FileWithState): FilesUploadFieldRenderItemProps => ({\n file: { id: item.id, url: item.url, alt: item.alt, uploadKey: item.uploadKey },\n previewUrl: item.previewUrl,\n status: item.status,\n progress: item.progress,\n fileName: item.fileName,\n })\n\n const dragOverlayContent = activeId\n ? (() => {\n const activeItem = images.find((item) => item.id === activeId)\n if (!activeItem) return null\n\n if (renderItem) {\n const rendered = renderItem(toRenderItemProps(activeItem))\n if (rendered === null || rendered === undefined || rendered === false) return null\n return (\n <div className=\"pointer-events-none\">\n <div className=\"h-24 w-24 overflow-hidden rounded-lg shadow-2xl\">{rendered}</div>\n </div>\n )\n }\n\n if (!enableImagePreview) return null\n return (\n <div className=\"pointer-events-none\">\n <img\n src={activeItem.previewUrl}\n alt={activeItem.alt ?? \"Dragged image\"}\n className=\"h-24 w-24 rounded-lg object-cover shadow-2xl\"\n />\n </div>\n )\n })()\n : null\n\n const hideActiveTile = dragOverlayContent !== null && dragOverlayContent !== undefined\n\n return (\n <div\n onDragOver={(event) => {\n event.preventDefault()\n if (!disabled) {\n setDragActive(true)\n }\n }}\n onDragLeave={() => setDragActive(false)}\n onDrop={(event) => {\n event.preventDefault()\n setDragActive(false)\n if (event.dataTransfer.files?.length) {\n void handleFiles(event.dataTransfer.files)\n }\n }}\n className={containerClasses}\n >\n {renderHeader ? <div className=\"mb-3\">{renderHeader()}</div> : null}\n\n <DndContext\n sensors={disabled ? undefined : sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n >\n <SortableContext items={images.map((item) => item.id)} strategy={rectSortingStrategy}>\n <div className=\"flex flex-wrap gap-3\">\n {images.map((item) => {\n const isUploading = item.status === \"uploading\"\n const isError = item.status === \"error\"\n\n return (\n <SortableTile\n key={item.id}\n item={item}\n isHovered={hoveredId === item.id}\n enableImagePreview={enableImagePreview}\n renderItem={renderItem}\n onHoverEnter={() => {\n clearHoverTimeout()\n setHoveredId(item.id)\n }}\n onHoverLeave={() => {\n clearHoverTimeout()\n hoverTimeoutRef.current = window.setTimeout(() => {\n setHoveredId((current) => (current === item.id ? null : current))\n hoverTimeoutRef.current = null\n }, 120)\n }}\n onRemove={removeImage}\n onRetry={retryUpload}\n startFullscreen={startFullscreen}\n isUploading={isUploading}\n isError={isError}\n tileClasses={tileBaseClasses}\n disabled={disabled}\n isDraggingExternal={hideActiveTile && activeId === item.id}\n removeButtonAriaLabel={removeButtonAriaLabel}\n />\n )\n })}\n\n <button\n type=\"button\"\n onClick={openFileDialog}\n disabled={disabled}\n className={cn(\n tileBaseClasses,\n \"flex items-center justify-center border-dashed bg-white text-slate-500 hover:border-slate-300 dark:bg-slate-900\"\n )}\n aria-label={addButtonAriaLabel}\n >\n <div className=\"flex flex-col items-center gap-1\">\n <div className=\"flex size-9 items-center justify-center rounded-full border border-slate-300 bg-slate-100 text-slate-600 shadow-inner dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200\">\n <Plus className=\"h-5 w-5\" />\n </div>\n <span className=\"text-xs font-medium\">Ajouter</span>\n </div>\n </button>\n </div>\n </SortableContext>\n {(() => {\n const overlay = <DragOverlay>{dragOverlayContent}</DragOverlay>\n\n if (typeof document === \"undefined\") return overlay\n return createPortal(overlay, document.body)\n })()}\n </DndContext>\n\n <input\n ref={fileInputRef}\n type=\"file\"\n accept={acceptAttr}\n multiple\n className=\"hidden\"\n onChange={onFileInputChange}\n aria-hidden\n />\n\n {enableImagePreview && fullscreenImage && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/90\">\n <button\n type=\"button\"\n className=\"absolute left-6 top-1/2 -translate-y-1/2 rounded-full bg-white/10 p-3 text-white shadow-lg transition hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n onClick={() =>\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current - 1 + images.length) % images.length\n })\n }\n aria-label=\"Précédent\"\n >\n <svg viewBox=\"0 0 24 24\" className=\"h-6 w-6\" stroke=\"currentColor\" strokeWidth={2} fill=\"none\">\n <path d=\"M15 18l-6-6 6-6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n <div className=\"relative max-h-[80vh] max-w-4xl\">\n <img\n src={fullscreenImage.url}\n alt={fullscreenImage.alt ?? \"Fullscreen\"}\n className=\"max-h-[80vh] max-w-full rounded-lg object-contain shadow-2xl\"\n />\n <button\n type=\"button\"\n className=\"absolute right-3 top-3 inline-flex size-9 items-center justify-center rounded-full bg-black/70 text-white transition hover:bg-black focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n onClick={() => setFullscreenIndex(null)}\n aria-label=\"Fermer\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n <button\n type=\"button\"\n className=\"absolute right-6 top-1/2 -translate-y-1/2 rounded-full bg-white/10 p-3 text-white shadow-lg transition hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n onClick={() =>\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current + 1) % images.length\n })\n }\n aria-label=\"Suivant\"\n >\n <svg viewBox=\"0 0 24 24\" className=\"h-6 w-6\" stroke=\"currentColor\" strokeWidth={2} fill=\"none\">\n <path d=\"M9 6l6 6-6 6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["TENANT_ID_QUERY_PARAM","sha256Hex","data","digest","b","readTenantIdFromLocation","normalized","withTenant","path","tenantId","sep","postJson","url","body","options","response","payload","getJson","putOctetStream","sha256","uploadKey","signal","headers","defaultUpload","file","onProgress","initRes","uploadId","chunkSize","chunksTotal","doUploadChunk","index","start","end","sha","res","uploadChunks","indices","alreadyUploaded","uploaded","idx","pct","allIndices","_","i","complete","completeRes","fileId","code","statusRes","received","present","missing","SortableTile","item","isHovered","enableImagePreview","renderItem","onHoverEnter","onHoverLeave","onRemove","onRetry","startFullscreen","isUploading","isError","tileClasses","disabled","isDraggingExternal","removeButtonAriaLabel","setNodeRef","attributes","listeners","transform","transition","isDragging","useSortable","tileRef","useRef","previewRef","previewPosition","setPreviewPosition","useState","updatePreviewPosition","el","rect","useEffect","raf","schedule","style","CSS","tileContent","jsx","cn","jsxs","node","event","next","X","preview","Maximize2","createPortal","Loader2","toPreview","FilesUploadField","initialFiles","onChange","upload","uploadIsPublic","onUploadingChange","accept","renderHeader","addButtonAriaLabel","fileInputRef","images","setImages","dragActive","setDragActive","fullscreenIndex","setFullscreenIndex","hoveredId","setHoveredId","activeId","setActiveId","hoverTimeoutRef","skipNotifyRef","imagesRef","lastInitialImagesRef","onChangeRef","onUploadingChangeRef","replacedIdRef","fileRef","abortRef","objectUrlRef","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","controller","previous","img","prepared","preparedRawIds","tempId","finalId","currentIds","mapped","preparedIds","tempUrl","current","id","alt","handleKey","handleFiles","files","uploads","previewUrl","updateProgress","value","nextValue","result","error","onFileInputChange","openFileDialog","removeImage","retryUpload","existingController","handleDragStart","handleDragEnd","active","over","overId","oldIndex","newIndex","arrayMove","handleDragCancel","clearHoverTimeout","fullscreenImage","useMemo","containerClasses","tileBaseClasses","acceptAttr","tokens","token","toRenderItemProps","dragOverlayContent","activeItem","rendered","hideActiveTile","DndContext","closestCenter","SortableContext","rectSortingStrategy","Plus","overlay","DragOverlay"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import t from "react";
2
+ function o(e) {
3
+ return t.createElement("div", { ...e });
4
+ }
5
+ export {
6
+ o as Footer
7
+ };
8
+ //# sourceMappingURL=index140.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index140.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Footer.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the footer of the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Footer(props) {\n return React.createElement(\"div\", { ...props });\n}\n"],"names":["Footer","props","React"],"mappings":";AAOO,SAASA,EAAOC,GAAO;AAC1B,SAAOC,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAK,CAAE;AAClD;","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
1
+ import n from "react";
2
+ function a(e) {
3
+ const { calendarMonth: r, displayIndex: d, ...t } = e;
4
+ return n.createElement("div", { ...t }, e.children);
5
+ }
6
+ export {
7
+ a as Month
8
+ };
9
+ //# sourceMappingURL=index141.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index141.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Month.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the grid with the weekday header row and the weeks for a specific\n * month.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Month(props) {\n const { calendarMonth, displayIndex, ...divProps } = props;\n return React.createElement(\"div\", { ...divProps }, props.children);\n}\n"],"names":["Month","props","calendarMonth","displayIndex","divProps","React"],"mappings":";AAQO,SAASA,EAAMC,GAAO;AACzB,QAAM,EAAE,eAAAC,GAAe,cAAAC,GAAc,GAAGC,EAAQ,IAAKH;AACrD,SAAOI,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAQ,GAAIH,EAAM,QAAQ;AACrE;","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
1
+ import n from "react";
2
+ function d(t) {
3
+ const { calendarMonth: o, displayIndex: r, ...e } = t;
4
+ return n.createElement("div", { ...e });
5
+ }
6
+ export {
7
+ d as MonthCaption
8
+ };
9
+ //# sourceMappingURL=index142.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index142.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/MonthCaption.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the caption for a month in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function MonthCaption(props) {\n const { calendarMonth, displayIndex, ...divProps } = props;\n return React.createElement(\"div\", { ...divProps });\n}\n"],"names":["MonthCaption","props","calendarMonth","displayIndex","divProps","React"],"mappings":";AAOO,SAASA,EAAaC,GAAO;AAChC,QAAM,EAAE,eAAAC,GAAe,cAAAC,GAAc,GAAGC,EAAQ,IAAKH;AACrD,SAAOI,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAQ,CAAE;AACrD;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import e from "react";
2
+ function n(t) {
3
+ return e.createElement("table", { ...t });
4
+ }
5
+ export {
6
+ n as MonthGrid
7
+ };
8
+ //# sourceMappingURL=index143.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index143.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/MonthGrid.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the grid of days for a specific month.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function MonthGrid(props) {\n return React.createElement(\"table\", { ...props });\n}\n"],"names":["MonthGrid","props","React"],"mappings":";AAOO,SAASA,EAAUC,GAAO;AAC7B,SAAOC,EAAM,cAAc,SAAS,EAAE,GAAGD,EAAK,CAAE;AACpD;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import e from "react";
2
+ function n(t) {
3
+ return e.createElement("div", { ...t });
4
+ }
5
+ export {
6
+ n as Months
7
+ };
8
+ //# sourceMappingURL=index144.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index144.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Months.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render a container wrapping the month grids.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Months(props) {\n return React.createElement(\"div\", { ...props });\n}\n"],"names":["Months","props","React"],"mappings":";AAOO,SAASA,EAAOC,GAAO;AAC1B,SAAOC,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAK,CAAE;AAClD;","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
1
+ import e from "react";
2
+ import { useDayPicker as r } from "./index175.js";
3
+ function m(o) {
4
+ const { components: t } = r();
5
+ return e.createElement(t.Dropdown, { ...o });
6
+ }
7
+ export {
8
+ m as MonthsDropdown
9
+ };
10
+ //# sourceMappingURL=index145.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index145.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/MonthsDropdown.js"],"sourcesContent":["import React from \"react\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render a dropdown to navigate between months in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function MonthsDropdown(props) {\n const { components } = useDayPicker();\n return React.createElement(components.Dropdown, { ...props });\n}\n"],"names":["MonthsDropdown","props","components","useDayPicker","React"],"mappings":";;AAQO,SAASA,EAAeC,GAAO;AAClC,QAAM,EAAE,YAAAC,EAAU,IAAKC,EAAY;AACnC,SAAOC,EAAM,cAAcF,EAAW,UAAU,EAAE,GAAGD,GAAO;AAChE;","x_google_ignoreList":[0]}
@@ -0,0 +1,28 @@
1
+ import n, { useCallback as u } from "react";
2
+ import { UI as i } from "./index172.js";
3
+ import { useDayPicker as v } from "./index175.js";
4
+ function x(c) {
5
+ const { onPreviousClick: l, onNextClick: s, previousMonth: e, nextMonth: t, ...d } = c, { components: a, classNames: o, labels: { labelPrevious: m, labelNext: b } } = v(), f = u((r) => {
6
+ t && s?.(r);
7
+ }, [t, s]), h = u((r) => {
8
+ e && l?.(r);
9
+ }, [e, l]);
10
+ return n.createElement(
11
+ "nav",
12
+ { ...d },
13
+ n.createElement(
14
+ a.PreviousMonthButton,
15
+ { type: "button", className: o[i.PreviousMonthButton], tabIndex: e ? void 0 : -1, "aria-disabled": e ? void 0 : !0, "aria-label": m(e), onClick: h },
16
+ n.createElement(a.Chevron, { disabled: e ? void 0 : !0, className: o[i.Chevron], orientation: "left" })
17
+ ),
18
+ n.createElement(
19
+ a.NextMonthButton,
20
+ { type: "button", className: o[i.NextMonthButton], tabIndex: t ? void 0 : -1, "aria-disabled": t ? void 0 : !0, "aria-label": b(t), onClick: f },
21
+ n.createElement(a.Chevron, { disabled: t ? void 0 : !0, orientation: "right", className: o[i.Chevron] })
22
+ )
23
+ );
24
+ }
25
+ export {
26
+ x as Nav
27
+ };
28
+ //# sourceMappingURL=index146.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index146.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Nav.js"],"sourcesContent":["import React, { useCallback, } from \"react\";\nimport { UI } from \"../UI.js\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render the navigation toolbar with buttons to navigate between months.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Nav(props) {\n const { onPreviousClick, onNextClick, previousMonth, nextMonth, ...navProps } = props;\n const { components, classNames, labels: { labelPrevious, labelNext }, } = useDayPicker();\n const handleNextClick = useCallback((e) => {\n if (nextMonth) {\n onNextClick?.(e);\n }\n }, [nextMonth, onNextClick]);\n const handlePreviousClick = useCallback((e) => {\n if (previousMonth) {\n onPreviousClick?.(e);\n }\n }, [previousMonth, onPreviousClick]);\n return (React.createElement(\"nav\", { ...navProps },\n React.createElement(components.PreviousMonthButton, { type: \"button\", className: classNames[UI.PreviousMonthButton], tabIndex: previousMonth ? undefined : -1, \"aria-disabled\": previousMonth ? undefined : true, \"aria-label\": labelPrevious(previousMonth), onClick: handlePreviousClick },\n React.createElement(components.Chevron, { disabled: previousMonth ? undefined : true, className: classNames[UI.Chevron], orientation: \"left\" })),\n React.createElement(components.NextMonthButton, { type: \"button\", className: classNames[UI.NextMonthButton], tabIndex: nextMonth ? undefined : -1, \"aria-disabled\": nextMonth ? undefined : true, \"aria-label\": labelNext(nextMonth), onClick: handleNextClick },\n React.createElement(components.Chevron, { disabled: nextMonth ? undefined : true, orientation: \"right\", className: classNames[UI.Chevron] }))));\n}\n"],"names":["Nav","props","onPreviousClick","onNextClick","previousMonth","nextMonth","navProps","components","classNames","labelPrevious","labelNext","useDayPicker","handleNextClick","useCallback","e","handlePreviousClick","React","UI"],"mappings":";;;AASO,SAASA,EAAIC,GAAO;AACvB,QAAM,EAAE,iBAAAC,GAAiB,aAAAC,GAAa,eAAAC,GAAe,WAAAC,GAAW,GAAGC,EAAQ,IAAKL,GAC1E,EAAE,YAAAM,GAAY,YAAAC,GAAY,QAAQ,EAAE,eAAAC,GAAe,WAAAC,EAAS,EAAE,IAAMC,EAAY,GAChFC,IAAkBC,EAAY,CAACC,MAAM;AACvC,IAAIT,KACAF,IAAcW,CAAC;AAAA,EAEvB,GAAG,CAACT,GAAWF,CAAW,CAAC,GACrBY,IAAsBF,EAAY,CAACC,MAAM;AAC3C,IAAIV,KACAF,IAAkBY,CAAC;AAAA,EAE3B,GAAG,CAACV,GAAeF,CAAe,CAAC;AACnC,SAAQc,EAAM;AAAA,IAAc;AAAA,IAAO,EAAE,GAAGV,EAAQ;AAAA,IAC5CU,EAAM;AAAA,MAAcT,EAAW;AAAA,MAAqB,EAAE,MAAM,UAAU,WAAWC,EAAWS,EAAG,mBAAmB,GAAG,UAAUb,IAAgB,SAAY,IAAI,iBAAiBA,IAAgB,SAAY,IAAM,cAAcK,EAAcL,CAAa,GAAG,SAASW,EAAmB;AAAA,MACtRC,EAAM,cAAcT,EAAW,SAAS,EAAE,UAAUH,IAAgB,SAAY,IAAM,WAAWI,EAAWS,EAAG,OAAO,GAAG,aAAa,OAAM,CAAE;AAAA,IAAC;AAAA,IACnJD,EAAM;AAAA,MAAcT,EAAW;AAAA,MAAiB,EAAE,MAAM,UAAU,WAAWC,EAAWS,EAAG,eAAe,GAAG,UAAUZ,IAAY,SAAY,IAAI,iBAAiBA,IAAY,SAAY,IAAM,cAAcK,EAAUL,CAAS,GAAG,SAASO,EAAe;AAAA,MAC1PI,EAAM,cAAcT,EAAW,SAAS,EAAE,UAAUF,IAAY,SAAY,IAAM,aAAa,SAAS,WAAWG,EAAWS,EAAG,OAAO,EAAC,CAAE;AAAA,IAAC;AAAA,EAAC;AACzJ;","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
1
+ import o from "react";
2
+ import { useDayPicker as n } from "./index175.js";
3
+ function m(t) {
4
+ const { components: e } = n();
5
+ return o.createElement(e.Button, { ...t });
6
+ }
7
+ export {
8
+ m as NextMonthButton
9
+ };
10
+ //# sourceMappingURL=index147.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index147.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/NextMonthButton.js"],"sourcesContent":["import React from \"react\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render the button to navigate to the next month in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function NextMonthButton(props) {\n const { components } = useDayPicker();\n return React.createElement(components.Button, { ...props });\n}\n"],"names":["NextMonthButton","props","components","useDayPicker","React"],"mappings":";;AAQO,SAASA,EAAgBC,GAAO;AACnC,QAAM,EAAE,YAAAC,EAAU,IAAKC,EAAY;AACnC,SAAOC,EAAM,cAAcF,EAAW,QAAQ,EAAE,GAAGD,GAAO;AAC9D;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import e from "react";
2
+ function n(t) {
3
+ return e.createElement("option", { ...t });
4
+ }
5
+ export {
6
+ n as Option
7
+ };
8
+ //# sourceMappingURL=index148.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index148.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Option.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render an `option` element.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Option(props) {\n return React.createElement(\"option\", { ...props });\n}\n"],"names":["Option","props","React"],"mappings":";AAOO,SAASA,EAAOC,GAAO;AAC1B,SAAOC,EAAM,cAAc,UAAU,EAAE,GAAGD,EAAK,CAAE;AACrD;","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
1
+ import e from "react";
2
+ import { useDayPicker as n } from "./index175.js";
3
+ function c(t) {
4
+ const { components: o } = n();
5
+ return e.createElement(o.Button, { ...t });
6
+ }
7
+ export {
8
+ c as PreviousMonthButton
9
+ };
10
+ //# sourceMappingURL=index149.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index149.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.js"],"sourcesContent":["import React from \"react\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render the button to navigate to the previous month in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function PreviousMonthButton(props) {\n const { components } = useDayPicker();\n return React.createElement(components.Button, { ...props });\n}\n"],"names":["PreviousMonthButton","props","components","useDayPicker","React"],"mappings":";;AAQO,SAASA,EAAoBC,GAAO;AACvC,QAAM,EAAE,YAAAC,EAAU,IAAKC,EAAY;AACnC,SAAOC,EAAM,cAAcF,EAAW,QAAQ,EAAE,GAAGD,GAAO;AAC9D;","x_google_ignoreList":[0]}
@@ -0,0 +1,26 @@
1
+ import { j as a } from "./index28.js";
2
+ import { FilesUploadField as l } from "./index14.js";
3
+ function n({
4
+ initialImages: i = [],
5
+ onChange: e,
6
+ accept: r = "image/*",
7
+ addButtonAriaLabel: m = "Ajouter une image",
8
+ removeButtonAriaLabel: o = "Supprimer l'image",
9
+ ...t
10
+ }) {
11
+ return /* @__PURE__ */ a.jsx(
12
+ l,
13
+ {
14
+ initialFiles: i,
15
+ onChange: e,
16
+ accept: r,
17
+ addButtonAriaLabel: m,
18
+ removeButtonAriaLabel: o,
19
+ ...t
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ n as ImagesField
25
+ };
26
+ //# sourceMappingURL=index15.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index15.js","sources":["../src/components/ImagesField/index.tsx"],"sourcesContent":["import type { FilesUploadFieldFile, FilesUploadFieldProps } from \"../FilesUploadField\"\nimport { FilesUploadField } from \"../FilesUploadField\"\n\n\nexport type ImagesFieldImage = FilesUploadFieldFile\n\nexport type ImagesFieldProps = Omit<FilesUploadFieldProps, \"initialFiles\" | \"onChange\"> & {\n initialImages?: ImagesFieldImage[]\n onChange?: (images: ImagesFieldImage[]) => void\n}\n\nexport function ImagesField({\n initialImages = [],\n onChange,\n accept = \"image/*\",\n addButtonAriaLabel = \"Ajouter une image\",\n removeButtonAriaLabel = \"Supprimer l'image\",\n ...props\n}: ImagesFieldProps) {\n return (\n <FilesUploadField\n initialFiles={initialImages}\n onChange={onChange}\n accept={accept}\n addButtonAriaLabel={addButtonAriaLabel}\n removeButtonAriaLabel={removeButtonAriaLabel}\n {...props}\n />\n )\n}\n"],"names":["ImagesField","initialImages","onChange","accept","addButtonAriaLabel","removeButtonAriaLabel","props","jsx","FilesUploadField"],"mappings":";;AAWO,SAASA,EAAY;AAAA,EAC1B,eAAAC,IAAgB,CAAA;AAAA,EAChB,UAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,oBAAAC,IAAqB;AAAA,EACrB,uBAAAC,IAAwB;AAAA,EACxB,GAAGC;AACL,GAAqB;AACnB,SACEC,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACC,cAAcP;AAAA,MACd,UAAAC;AAAA,MACA,QAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,uBAAAC;AAAA,MACC,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -0,0 +1,9 @@
1
+ import r from "react";
2
+ function n(t) {
3
+ const { rootRef: e, ...o } = t;
4
+ return r.createElement("div", { ...o, ref: e });
5
+ }
6
+ export {
7
+ n as Root
8
+ };
9
+ //# sourceMappingURL=index150.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index150.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Root.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the root element of the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Root(props) {\n const { rootRef, ...rest } = props;\n return React.createElement(\"div\", { ...rest, ref: rootRef });\n}\n"],"names":["Root","props","rootRef","rest","React"],"mappings":";AAOO,SAASA,EAAKC,GAAO;AACxB,QAAM,EAAE,SAAAC,GAAS,GAAGC,EAAI,IAAKF;AAC7B,SAAOG,EAAM,cAAc,OAAO,EAAE,GAAGD,GAAM,KAAKD,GAAS;AAC/D;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import t from "react";
2
+ function c(e) {
3
+ return t.createElement("select", { ...e });
4
+ }
5
+ export {
6
+ c as Select
7
+ };
8
+ //# sourceMappingURL=index151.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index151.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Select.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render a `select` element.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Select(props) {\n return React.createElement(\"select\", { ...props });\n}\n"],"names":["Select","props","React"],"mappings":";AAOO,SAASA,EAAOC,GAAO;AAC1B,SAAOC,EAAM,cAAc,UAAU,EAAE,GAAGD,EAAK,CAAE;AACrD;","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
1
+ import r from "react";
2
+ function c(e) {
3
+ const { week: o, ...t } = e;
4
+ return r.createElement("tr", { ...t });
5
+ }
6
+ export {
7
+ c as Week
8
+ };
9
+ //# sourceMappingURL=index152.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index152.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Week.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render a table row representing a week in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Week(props) {\n const { week, ...trProps } = props;\n return React.createElement(\"tr\", { ...trProps });\n}\n"],"names":["Week","props","week","trProps","React"],"mappings":";AAOO,SAASA,EAAKC,GAAO;AACxB,QAAM,EAAE,MAAAC,GAAM,GAAGC,EAAO,IAAKF;AAC7B,SAAOG,EAAM,cAAc,MAAM,EAAE,GAAGD,EAAO,CAAE;AACnD;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import t from "react";
2
+ function a(e) {
3
+ return t.createElement("th", { ...e });
4
+ }
5
+ export {
6
+ a as Weekday
7
+ };
8
+ //# sourceMappingURL=index153.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index153.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Weekday.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render a table header cell with the name of a weekday (e.g., \"Mo\", \"Tu\").\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Weekday(props) {\n return React.createElement(\"th\", { ...props });\n}\n"],"names":["Weekday","props","React"],"mappings":";AAOO,SAASA,EAAQC,GAAO;AAC3B,SAAOC,EAAM,cAAc,MAAM,EAAE,GAAGD,EAAK,CAAE;AACjD;","x_google_ignoreList":[0]}
@@ -0,0 +1,12 @@
1
+ import e from "react";
2
+ function a(t) {
3
+ return e.createElement(
4
+ "thead",
5
+ { "aria-hidden": !0 },
6
+ e.createElement("tr", { ...t })
7
+ );
8
+ }
9
+ export {
10
+ a as Weekdays
11
+ };
12
+ //# sourceMappingURL=index154.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index154.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Weekdays.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the table row containing the weekday names.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Weekdays(props) {\n return (React.createElement(\"thead\", { \"aria-hidden\": true },\n React.createElement(\"tr\", { ...props })));\n}\n"],"names":["Weekdays","props","React"],"mappings":";AAOO,SAASA,EAASC,GAAO;AAC5B,SAAQC,EAAM;AAAA,IAAc;AAAA,IAAS,EAAE,eAAe,GAAI;AAAA,IACtDA,EAAM,cAAc,MAAM,EAAE,GAAGD,EAAK,CAAE;AAAA,EAAC;AAC/C;","x_google_ignoreList":[0]}
@@ -0,0 +1,9 @@
1
+ import r from "react";
2
+ function c(e) {
3
+ const { week: o, ...t } = e;
4
+ return r.createElement("th", { ...t });
5
+ }
6
+ export {
7
+ c as WeekNumber
8
+ };
9
+ //# sourceMappingURL=index155.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index155.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/WeekNumber.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render a table cell displaying the number of the week.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function WeekNumber(props) {\n const { week, ...thProps } = props;\n return React.createElement(\"th\", { ...thProps });\n}\n"],"names":["WeekNumber","props","week","thProps","React"],"mappings":";AAOO,SAASA,EAAWC,GAAO;AAC9B,QAAM,EAAE,MAAAC,GAAM,GAAGC,EAAO,IAAKF;AAC7B,SAAOG,EAAM,cAAc,MAAM,EAAE,GAAGD,EAAO,CAAE;AACnD;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import t from "react";
2
+ function a(e) {
3
+ return t.createElement("th", { ...e });
4
+ }
5
+ export {
6
+ a as WeekNumberHeader
7
+ };
8
+ //# sourceMappingURL=index156.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index156.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the header cell for the week numbers column.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function WeekNumberHeader(props) {\n return React.createElement(\"th\", { ...props });\n}\n"],"names":["WeekNumberHeader","props","React"],"mappings":";AAOO,SAASA,EAAiBC,GAAO;AACpC,SAAOC,EAAM,cAAc,MAAM,EAAE,GAAGD,EAAK,CAAE;AACjD;","x_google_ignoreList":[0]}
@@ -0,0 +1,8 @@
1
+ import t from "react";
2
+ function o(e) {
3
+ return t.createElement("tbody", { ...e });
4
+ }
5
+ export {
6
+ o as Weeks
7
+ };
8
+ //# sourceMappingURL=index157.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index157.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/Weeks.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the container for the weeks in the month grid.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function Weeks(props) {\n return React.createElement(\"tbody\", { ...props });\n}\n"],"names":["Weeks","props","React"],"mappings":";AAOO,SAASA,EAAMC,GAAO;AACzB,SAAOC,EAAM,cAAc,SAAS,EAAE,GAAGD,EAAK,CAAE;AACpD;","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
1
+ import r from "react";
2
+ import { useDayPicker as t } from "./index175.js";
3
+ function m(o) {
4
+ const { components: e } = t();
5
+ return r.createElement(e.Dropdown, { ...o });
6
+ }
7
+ export {
8
+ m as YearsDropdown
9
+ };
10
+ //# sourceMappingURL=index158.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index158.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/YearsDropdown.js"],"sourcesContent":["import React from \"react\";\nimport { useDayPicker } from \"../useDayPicker.js\";\n/**\n * Render a dropdown to navigate between years in the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function YearsDropdown(props) {\n const { components } = useDayPicker();\n return React.createElement(components.Dropdown, { ...props });\n}\n"],"names":["YearsDropdown","props","components","useDayPicker","React"],"mappings":";;AAQO,SAASA,EAAcC,GAAO;AACjC,QAAM,EAAE,YAAAC,EAAU,IAAKC,EAAY;AACnC,SAAOC,EAAM,cAAcF,EAAW,UAAU,EAAE,GAAGD,GAAO;AAChE;","x_google_ignoreList":[0]}