@rpcbase/ui 0.169.0 → 0.170.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 (464) hide show
  1. package/dist/components/DayPickerField/index.d.ts.map +1 -1
  2. package/dist/components/HourPickerField/index.d.ts.map +1 -1
  3. package/dist/index100.js +5 -9
  4. package/dist/index100.js.map +1 -1
  5. package/dist/index101.js +4 -42
  6. package/dist/index101.js.map +1 -1
  7. package/dist/index102.js +5 -4
  8. package/dist/index102.js.map +1 -1
  9. package/dist/index103.js +5 -52
  10. package/dist/index103.js.map +1 -1
  11. package/dist/index104.js +7 -3
  12. package/dist/index104.js.map +1 -1
  13. package/dist/index105.js +5 -4
  14. package/dist/index105.js.map +1 -1
  15. package/dist/index106.js +4 -15
  16. package/dist/index106.js.map +1 -1
  17. package/dist/index107.js +4 -5
  18. package/dist/index107.js.map +1 -1
  19. package/dist/index108.js +6 -7
  20. package/dist/index108.js.map +1 -1
  21. package/dist/index109.js +145 -16
  22. package/dist/index109.js.map +1 -1
  23. package/dist/index11.js.map +1 -1
  24. package/dist/index110.js +39 -4
  25. package/dist/index110.js.map +1 -1
  26. package/dist/index111.js +4 -4
  27. package/dist/index111.js.map +1 -1
  28. package/dist/index112.js +7 -5
  29. package/dist/index112.js.map +1 -1
  30. package/dist/index113.js +13 -5
  31. package/dist/index113.js.map +1 -1
  32. package/dist/index114.js +13 -4
  33. package/dist/index114.js.map +1 -1
  34. package/dist/index115.js +7 -4
  35. package/dist/index115.js.map +1 -1
  36. package/dist/index116.js +31 -6
  37. package/dist/index116.js.map +1 -1
  38. package/dist/index117.js +10 -24
  39. package/dist/index117.js.map +1 -1
  40. package/dist/index118.js +10 -6
  41. package/dist/index118.js.map +1 -1
  42. package/dist/index119.js +8 -4
  43. package/dist/index119.js.map +1 -1
  44. package/dist/index120.js +13 -6
  45. package/dist/index120.js.map +1 -1
  46. package/dist/index121.js +101 -5
  47. package/dist/index121.js.map +1 -1
  48. package/dist/index122.js +20 -5
  49. package/dist/index122.js.map +1 -1
  50. package/dist/index123.js +53 -5
  51. package/dist/index123.js.map +1 -1
  52. package/dist/index124.js +72 -4
  53. package/dist/index124.js.map +1 -1
  54. package/dist/index125.js +9 -8
  55. package/dist/index125.js.map +1 -1
  56. package/dist/index126.js +20 -5
  57. package/dist/index126.js.map +1 -1
  58. package/dist/index127.js +16 -4
  59. package/dist/index127.js.map +1 -1
  60. package/dist/index128.js +23 -4
  61. package/dist/index128.js.map +1 -1
  62. package/dist/index129.js +6 -6
  63. package/dist/index129.js.map +1 -1
  64. package/dist/index130.js +5 -145
  65. package/dist/index130.js.map +1 -1
  66. package/dist/index131.js +23 -39
  67. package/dist/index131.js.map +1 -1
  68. package/dist/index132.js +35 -5
  69. package/dist/index132.js.map +1 -1
  70. package/dist/index133.js +16 -8
  71. package/dist/index133.js.map +1 -1
  72. package/dist/index134.js +6 -13
  73. package/dist/index134.js.map +1 -1
  74. package/dist/index135.js +4 -13
  75. package/dist/index135.js.map +1 -1
  76. package/dist/index136.js +4 -7
  77. package/dist/index136.js.map +1 -1
  78. package/dist/index137.js +4 -31
  79. package/dist/index137.js.map +1 -1
  80. package/dist/index138.js +4 -10
  81. package/dist/index138.js.map +1 -1
  82. package/dist/index139.js +3 -10
  83. package/dist/index139.js.map +1 -1
  84. package/dist/index140.js +6 -8
  85. package/dist/index140.js.map +1 -1
  86. package/dist/index141.js +24 -14
  87. package/dist/index141.js.map +1 -1
  88. package/dist/index142.js +7 -101
  89. package/dist/index142.js.map +1 -1
  90. package/dist/index143.js +7 -20
  91. package/dist/index143.js.map +1 -1
  92. package/dist/index144.js +5 -53
  93. package/dist/index144.js.map +1 -1
  94. package/dist/index145.js +3 -72
  95. package/dist/index145.js.map +1 -1
  96. package/dist/index146.js +3 -9
  97. package/dist/index146.js.map +1 -1
  98. package/dist/index147.js +4 -20
  99. package/dist/index147.js.map +1 -1
  100. package/dist/index148.js +3 -16
  101. package/dist/index148.js.map +1 -1
  102. package/dist/index149.js +4 -23
  103. package/dist/index149.js.map +1 -1
  104. package/dist/index150.js +3 -6
  105. package/dist/index150.js.map +1 -1
  106. package/dist/index151.js +3 -5
  107. package/dist/index151.js.map +1 -1
  108. package/dist/index152.js +3 -23
  109. package/dist/index152.js.map +1 -1
  110. package/dist/index153.js +6 -35
  111. package/dist/index153.js.map +1 -1
  112. package/dist/index154.js +69 -16
  113. package/dist/index154.js.map +1 -1
  114. package/dist/index155.js +2 -7
  115. package/dist/index155.js.map +1 -1
  116. package/dist/index156.js +363 -4
  117. package/dist/index156.js.map +1 -1
  118. package/dist/index157.js +261 -4
  119. package/dist/index157.js.map +1 -1
  120. package/dist/index158.js +60 -4
  121. package/dist/index158.js.map +1 -1
  122. package/dist/index159.js +46 -4
  123. package/dist/index159.js.map +1 -1
  124. package/dist/index160.js +169 -3
  125. package/dist/index160.js.map +1 -1
  126. package/dist/index161.js +109 -6
  127. package/dist/index161.js.map +1 -1
  128. package/dist/index162.js +25 -24
  129. package/dist/index162.js.map +1 -1
  130. package/dist/index163.js +8 -8
  131. package/dist/index163.js.map +1 -1
  132. package/dist/index164.js +4 -6
  133. package/dist/index164.js.map +1 -1
  134. package/dist/index165.js +5 -5
  135. package/dist/index165.js.map +1 -1
  136. package/dist/index166.js +4 -3
  137. package/dist/index166.js.map +1 -1
  138. package/dist/index167.js +466 -3
  139. package/dist/index167.js.map +1 -1
  140. package/dist/index168.js +185 -4
  141. package/dist/index168.js.map +1 -1
  142. package/dist/index169.js +107 -3
  143. package/dist/index169.js.map +1 -1
  144. package/dist/index170.js +262 -4
  145. package/dist/index170.js.map +1 -1
  146. package/dist/index171.js +9 -3
  147. package/dist/index171.js.map +1 -1
  148. package/dist/index172.js +42 -3
  149. package/dist/index172.js.map +1 -1
  150. package/dist/index173.js +4 -3
  151. package/dist/index173.js.map +1 -1
  152. package/dist/index174.js +22 -65
  153. package/dist/index174.js.map +1 -1
  154. package/dist/index175.js +27 -179
  155. package/dist/index175.js.map +1 -1
  156. package/dist/index176.js +5 -47
  157. package/dist/index176.js.map +1 -1
  158. package/dist/index177.js +65 -22
  159. package/dist/index177.js.map +1 -1
  160. package/dist/index178.js +179 -27
  161. package/dist/index178.js.map +1 -1
  162. package/dist/index179.js +47 -5
  163. package/dist/index179.js.map +1 -1
  164. package/dist/index18.js.map +1 -1
  165. package/dist/index180.js +58 -13
  166. package/dist/index180.js.map +1 -1
  167. package/dist/index181.js +8 -154
  168. package/dist/index181.js.map +1 -1
  169. package/dist/index182.js +64 -28
  170. package/dist/index182.js.map +1 -1
  171. package/dist/index183.js +19 -9
  172. package/dist/index183.js.map +1 -1
  173. package/dist/index184.js +14 -45
  174. package/dist/index184.js.map +1 -1
  175. package/dist/index185.js +5 -11
  176. package/dist/index185.js.map +1 -1
  177. package/dist/index186.js +4 -43
  178. package/dist/index186.js.map +1 -1
  179. package/dist/index187.js +6 -95
  180. package/dist/index187.js.map +1 -1
  181. package/dist/index188.js +4 -86
  182. package/dist/index188.js.map +1 -1
  183. package/dist/index189.js +7 -105
  184. package/dist/index189.js.map +1 -1
  185. package/dist/index190.js +17 -52
  186. package/dist/index190.js.map +1 -1
  187. package/dist/index191.js +5 -11
  188. package/dist/index191.js.map +1 -1
  189. package/dist/index192.js +5 -37
  190. package/dist/index192.js.map +1 -1
  191. package/dist/index193.js +13 -8
  192. package/dist/index193.js.map +1 -1
  193. package/dist/index194.js +10 -116
  194. package/dist/index194.js.map +1 -1
  195. package/dist/index195.js +14 -17
  196. package/dist/index195.js.map +1 -1
  197. package/dist/index196.js +14 -15
  198. package/dist/index196.js.map +1 -1
  199. package/dist/index197.js +5 -3
  200. package/dist/index197.js.map +1 -1
  201. package/dist/index198.js +6 -36
  202. package/dist/index198.js.map +1 -1
  203. package/dist/index199.js +7 -20
  204. package/dist/index199.js.map +1 -1
  205. package/dist/index200.js +6 -9
  206. package/dist/index200.js.map +1 -1
  207. package/dist/index201.js +9 -8
  208. package/dist/index201.js.map +1 -1
  209. package/dist/index202.js +5 -19
  210. package/dist/index202.js.map +1 -1
  211. package/dist/index203.js +5 -28
  212. package/dist/index203.js.map +1 -1
  213. package/dist/index204.js +9 -16
  214. package/dist/index204.js.map +1 -1
  215. package/dist/index205.js +5 -58
  216. package/dist/index205.js.map +1 -1
  217. package/dist/index206.js +5 -8
  218. package/dist/index206.js.map +1 -1
  219. package/dist/index207.js +4 -66
  220. package/dist/index207.js.map +1 -1
  221. package/dist/index208.js +11 -19
  222. package/dist/index208.js.map +1 -1
  223. package/dist/index209.js +10 -16
  224. package/dist/index209.js.map +1 -1
  225. package/dist/index210.js +10 -5
  226. package/dist/index210.js.map +1 -1
  227. package/dist/index211.js +11 -5
  228. package/dist/index211.js.map +1 -1
  229. package/dist/index212.js +11 -6
  230. package/dist/index212.js.map +1 -1
  231. package/dist/index213.js +10 -4
  232. package/dist/index213.js.map +1 -1
  233. package/dist/index214.js +6 -6
  234. package/dist/index214.js.map +1 -1
  235. package/dist/index215.js +6 -17
  236. package/dist/index215.js.map +1 -1
  237. package/dist/index216.js +5 -5
  238. package/dist/index216.js.map +1 -1
  239. package/dist/index217.js +6 -5
  240. package/dist/index217.js.map +1 -1
  241. package/dist/index218.js +7 -13
  242. package/dist/index218.js.map +1 -1
  243. package/dist/index219.js +5 -9
  244. package/dist/index219.js.map +1 -1
  245. package/dist/index220.js +55 -14
  246. package/dist/index220.js.map +1 -1
  247. package/dist/index221.js +23 -14
  248. package/dist/index221.js.map +1 -1
  249. package/dist/index222.js +16 -5
  250. package/dist/index222.js.map +1 -1
  251. package/dist/index223.js +7 -6
  252. package/dist/index223.js.map +1 -1
  253. package/dist/index224.js +10 -7
  254. package/dist/index224.js.map +1 -1
  255. package/dist/index225.js +10 -6
  256. package/dist/index225.js.map +1 -1
  257. package/dist/index226.js +21 -9
  258. package/dist/index226.js.map +1 -1
  259. package/dist/index227.js +10 -5
  260. package/dist/index227.js.map +1 -1
  261. package/dist/index228.js +9 -5
  262. package/dist/index228.js.map +1 -1
  263. package/dist/index229.js +9 -9
  264. package/dist/index229.js.map +1 -1
  265. package/dist/index23.js +1 -1
  266. package/dist/index230.js +4 -5
  267. package/dist/index230.js.map +1 -1
  268. package/dist/index231.js +5 -5
  269. package/dist/index231.js.map +1 -1
  270. package/dist/index232.js +16 -4
  271. package/dist/index232.js.map +1 -1
  272. package/dist/index233.js +9 -11
  273. package/dist/index233.js.map +1 -1
  274. package/dist/index234.js +18 -10
  275. package/dist/index234.js.map +1 -1
  276. package/dist/index235.js +15 -10
  277. package/dist/index235.js.map +1 -1
  278. package/dist/index236.js +12 -11
  279. package/dist/index236.js.map +1 -1
  280. package/dist/index237.js +29 -11
  281. package/dist/index237.js.map +1 -1
  282. package/dist/index238.js +12 -10
  283. package/dist/index238.js.map +1 -1
  284. package/dist/index239.js +25 -7
  285. package/dist/index239.js.map +1 -1
  286. package/dist/index240.js +5 -6
  287. package/dist/index240.js.map +1 -1
  288. package/dist/index241.js +13 -5
  289. package/dist/index241.js.map +1 -1
  290. package/dist/index242.js +154 -6
  291. package/dist/index242.js.map +1 -1
  292. package/dist/index243.js +30 -7
  293. package/dist/index243.js.map +1 -1
  294. package/dist/index244.js +9 -6
  295. package/dist/index244.js.map +1 -1
  296. package/dist/index245.js +45 -53
  297. package/dist/index245.js.map +1 -1
  298. package/dist/index246.js +11 -23
  299. package/dist/index246.js.map +1 -1
  300. package/dist/index247.js +42 -14
  301. package/dist/index247.js.map +1 -1
  302. package/dist/index248.js +95 -7
  303. package/dist/index248.js.map +1 -1
  304. package/dist/index249.js +85 -9
  305. package/dist/index249.js.map +1 -1
  306. package/dist/index250.js +104 -9
  307. package/dist/index250.js.map +1 -1
  308. package/dist/index251.js +52 -21
  309. package/dist/index251.js.map +1 -1
  310. package/dist/index252.js +11 -10
  311. package/dist/index252.js.map +1 -1
  312. package/dist/index253.js +37 -9
  313. package/dist/index253.js.map +1 -1
  314. package/dist/index254.js +7 -8
  315. package/dist/index254.js.map +1 -1
  316. package/dist/index255.js +116 -4
  317. package/dist/index255.js.map +1 -1
  318. package/dist/index256.js +17 -5
  319. package/dist/index256.js.map +1 -1
  320. package/dist/index257.js +14 -15
  321. package/dist/index257.js.map +1 -1
  322. package/dist/index258.js +3 -9
  323. package/dist/index258.js.map +1 -1
  324. package/dist/index259.js +34 -16
  325. package/dist/index259.js.map +1 -1
  326. package/dist/index260.js +20 -15
  327. package/dist/index260.js.map +1 -1
  328. package/dist/index261.js +9 -12
  329. package/dist/index261.js.map +1 -1
  330. package/dist/index262.js +8 -29
  331. package/dist/index262.js.map +1 -1
  332. package/dist/index263.js +18 -11
  333. package/dist/index263.js.map +1 -1
  334. package/dist/index264.js +26 -23
  335. package/dist/index264.js.map +1 -1
  336. package/dist/index265.js +16 -5
  337. package/dist/index265.js.map +1 -1
  338. package/dist/index267.js +1 -1
  339. package/dist/index269.js +5 -5
  340. package/dist/index27.js +1 -1
  341. package/dist/index270.js +1 -1
  342. package/dist/index274.js +4 -20
  343. package/dist/index274.js.map +1 -1
  344. package/dist/index275.js +19 -5
  345. package/dist/index275.js.map +1 -1
  346. package/dist/index276.js +13 -19
  347. package/dist/index276.js.map +1 -1
  348. package/dist/index277.js +20 -12
  349. package/dist/index277.js.map +1 -1
  350. package/dist/index278.js +65 -69
  351. package/dist/index278.js.map +1 -1
  352. package/dist/index279.js +68 -8
  353. package/dist/index279.js.map +1 -1
  354. package/dist/index28.js +1 -1
  355. package/dist/index280.js +9 -14
  356. package/dist/index280.js.map +1 -1
  357. package/dist/index281.js +14 -66
  358. package/dist/index281.js.map +1 -1
  359. package/dist/index282.js +65 -64
  360. package/dist/index282.js.map +1 -1
  361. package/dist/index29.js +24 -24
  362. package/dist/index290.js +4 -4
  363. package/dist/index293.js +1 -1
  364. package/dist/index294.js +2 -2
  365. package/dist/index296.js +1 -1
  366. package/dist/index297.js +1 -1
  367. package/dist/index298.js +1 -1
  368. package/dist/index299.js +1 -1
  369. package/dist/index302.js +5 -68
  370. package/dist/index302.js.map +1 -1
  371. package/dist/index303.js +55 -30
  372. package/dist/index303.js.map +1 -1
  373. package/dist/index304.js +68 -9
  374. package/dist/index304.js.map +1 -1
  375. package/dist/index305.js +26 -148
  376. package/dist/index305.js.map +1 -1
  377. package/dist/index306.js +9 -108
  378. package/dist/index306.js.map +1 -1
  379. package/dist/index307.js +153 -5
  380. package/dist/index307.js.map +1 -1
  381. package/dist/index308.js +106 -54
  382. package/dist/index308.js.map +1 -1
  383. package/dist/index31.js +1 -1
  384. package/dist/index35.js +1 -1
  385. package/dist/index36.js +2 -2
  386. package/dist/index39.js +2 -2
  387. package/dist/index43.js +8 -205
  388. package/dist/index43.js.map +1 -1
  389. package/dist/index44.js +2 -8
  390. package/dist/index44.js.map +1 -1
  391. package/dist/index45.js +24 -2
  392. package/dist/index45.js.map +1 -1
  393. package/dist/index46.js +232 -22
  394. package/dist/index46.js.map +1 -1
  395. package/dist/index47.js +200 -229
  396. package/dist/index47.js.map +1 -1
  397. package/dist/index50.js +1 -1
  398. package/dist/index57.js +4 -4
  399. package/dist/index59.js +1 -1
  400. package/dist/index67.js +3 -3
  401. package/dist/index68.js +11 -5
  402. package/dist/index68.js.map +1 -1
  403. package/dist/index69.js +53 -7
  404. package/dist/index69.js.map +1 -1
  405. package/dist/index70.js +2 -6
  406. package/dist/index70.js.map +1 -1
  407. package/dist/index71.js +2 -2
  408. package/dist/index72.js +6 -2
  409. package/dist/index72.js.map +1 -1
  410. package/dist/index73.js +7 -11
  411. package/dist/index73.js.map +1 -1
  412. package/dist/index74.js +5 -53
  413. package/dist/index74.js.map +1 -1
  414. package/dist/index75.js +40 -599
  415. package/dist/index75.js.map +1 -1
  416. package/dist/index76.js +200 -41
  417. package/dist/index76.js.map +1 -1
  418. package/dist/index77.js +20 -204
  419. package/dist/index77.js.map +1 -1
  420. package/dist/index78.js +25 -22
  421. package/dist/index78.js.map +1 -1
  422. package/dist/index79.js +398 -23
  423. package/dist/index79.js.map +1 -1
  424. package/dist/index80.js +39 -392
  425. package/dist/index80.js.map +1 -1
  426. package/dist/index81.js +599 -40
  427. package/dist/index81.js.map +1 -1
  428. package/dist/index82.js +52 -6
  429. package/dist/index82.js.map +1 -1
  430. package/dist/index83.js +4 -68
  431. package/dist/index83.js.map +1 -1
  432. package/dist/index84.js +5 -2
  433. package/dist/index84.js.map +1 -1
  434. package/dist/index85.js +15 -363
  435. package/dist/index85.js.map +1 -1
  436. package/dist/index86.js +5 -261
  437. package/dist/index86.js.map +1 -1
  438. package/dist/index87.js +7 -60
  439. package/dist/index87.js.map +1 -1
  440. package/dist/index88.js +16 -46
  441. package/dist/index88.js.map +1 -1
  442. package/dist/index89.js +4 -169
  443. package/dist/index89.js.map +1 -1
  444. package/dist/index90.js +4 -109
  445. package/dist/index90.js.map +1 -1
  446. package/dist/index91.js +5 -24
  447. package/dist/index91.js.map +1 -1
  448. package/dist/index92.js +6 -8
  449. package/dist/index92.js.map +1 -1
  450. package/dist/index93.js +4 -4
  451. package/dist/index93.js.map +1 -1
  452. package/dist/index94.js +4 -5
  453. package/dist/index94.js.map +1 -1
  454. package/dist/index95.js +6 -4
  455. package/dist/index95.js.map +1 -1
  456. package/dist/index96.js +24 -466
  457. package/dist/index96.js.map +1 -1
  458. package/dist/index97.js +6 -185
  459. package/dist/index97.js.map +1 -1
  460. package/dist/index98.js +4 -107
  461. package/dist/index98.js.map +1 -1
  462. package/dist/index99.js +6 -262
  463. package/dist/index99.js.map +1 -1
  464. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index11.js","sources":["../src/components/DayPickerField/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, CalendarDays } from \"lucide-react\"\nimport * as React from \"react\"\nimport { DismissableLayerBranch } from \"@radix-ui/react-dismissable-layer\"\nimport { createPortal } from \"react-dom\"\nimport { DayPicker as ReactDayPicker } from \"react-day-picker\"\nimport { IMaskInput } from \"react-imask\"\nimport IMask, { InputMask } from \"imask\"\n\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\nconst imaskAny = IMask as any\nif (typeof imaskAny.InputMask !== \"function\") {\n imaskAny.InputMask = InputMask\n}\n\n\nexport type DayPickerProps = React.ComponentProps<typeof ReactDayPicker>\n\nexport function DayPicker({\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps) {\n return (\n <ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside: \"day-outside text-muted-foreground aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_hidden: \"invisible\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />\n )\n}\n\nDayPicker.displayName = \"DayPicker\"\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction startOfDay(date: Date) {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nfunction startOfMonth(date: Date) {\n return startOfDay(new Date(date.getFullYear(), date.getMonth(), 1))\n}\n\nfunction formatDayInput(date: Date) {\n return `${pad2(date.getDate())}/${pad2(date.getMonth() + 1)}/${date.getFullYear()}`\n}\n\nfunction buildDate({ day, month, year }: { day: number; month: number; year: number }): Date | null {\n if (!Number.isFinite(day) || !Number.isFinite(month) || !Number.isFinite(year)) return null\n\n const date = new Date(year, month - 1, day)\n if (\n date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day\n ) {\n return null\n }\n\n return startOfDay(date)\n}\n\nfunction parseDayInput(value: string, now: Date): Date | null {\n const trimmed = value.trim()\n if (!trimmed) return null\n\n const full = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.exec(trimmed)\n if (full) {\n return buildDate({ day: Number(full[1]), month: Number(full[2]), year: Number(full[3]) })\n }\n\n const shortYear = /^(\\d{2})\\/(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (shortYear) {\n const year = Number(shortYear[3])\n if (!Number.isFinite(year)) return null\n return buildDate({ day: Number(shortYear[1]), month: Number(shortYear[2]), year: 2000 + year })\n }\n\n const noYear = /^(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (noYear) {\n return buildDate({ day: Number(noYear[1]), month: Number(noYear[2]), year: now.getFullYear() })\n }\n\n return null\n}\n\nexport type DayPickerInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"onChange\" | \"type\"\n> & {\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n inputClassName?: string\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n}\n\nexport const DayPickerInput = React.forwardRef<HTMLInputElement, DayPickerInputProps>(\n function DayPickerInput(\n {\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n onFocus,\n onBlur,\n onKeyDown,\n onPointerDown,\n onMouseDown,\n ...rest\n },\n forwardedRef,\n\t ) {\n\t const rootRef = React.useRef<HTMLDivElement | null>(null)\n\t const popoverRef = React.useRef<HTMLDivElement | null>(null)\n\t\t const inputRef = React.useRef<HTMLInputElement | null>(null)\n\t\t const isFocusedRef = React.useRef(false)\n\t\t const pointerDownOnInputRef = React.useRef(false)\n\t\t const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n\n\t const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n\t const open = openProp ?? uncontrolledOpen\n\t const setOpen = onOpenChange ?? setUncontrolledOpen\n\t const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n\t\t const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n\t\t const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n\t\t left: 0,\n\t top: 0,\n\t }))\n\n\t const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n return\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n React.useEffect(() => {\n if (isFocusedRef.current) return\n setDraft(value ? formatDayInput(value) : \"\")\n }, [value])\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n setMonth(startOfMonth(draftSelection))\n }, [draftSelection, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const setRefs = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof forwardedRef === \"function\") {\n forwardedRef(node)\n } else if (forwardedRef) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n const closePopover = () => setOpen(false)\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n\t useIsomorphicLayoutEffect(() => {\n\t if (!open || disabled) return\n\t if (typeof window === \"undefined\") return\n\n\t updatePopoverPosition()\n\t const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n\t window.addEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.addEventListener(\"resize\", updatePopoverPosition)\n\t return () => {\n\t window.cancelAnimationFrame(rafId)\n\t window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.removeEventListener(\"resize\", updatePopoverPosition)\n\t }\n\t }, [disabled, open, updatePopoverPosition])\n\n\t return (\n\t <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n\t\t <IMaskInput\n\t\t {...rest}\n\t\t data-slot=\"day-picker-input-input\"\n disabled={disabled}\n readOnly={readOnly}\n autoComplete=\"off\"\n inputRef={setRefs}\n mask={[\n { mask: \"00/00\", lazy: true },\n { mask: \"00/00/00\", lazy: true },\n { mask: \"00/00/0000\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 4) return dynamicMasked.compiledMasks[0]\n if (digits.length <= 6) return dynamicMasked.compiledMasks[1]\n return dynamicMasked.compiledMasks[2]\n }}\n\t placeholder={placeholder}\n\t value={draft}\n\t\t className={cn(\n\t\t \"flex h-10 w-full rounded-md border border-input bg-background py-2 pr-3 pl-[37px] text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n\t\t inputClassName\n\t\t )}\n onAccept={(nextValue) => {\n const next = typeof nextValue === \"string\" ? nextValue : String(nextValue ?? \"\")\n const previousDigitsLength = draft.replace(/\\D/g, \"\").length\n setDraft(next)\n if (next.replace(/\\D/g, \"\").length === 0) {\n if (open) {\n setMonth(startOfMonth(new Date()))\n }\n if (previousDigitsLength !== 0) {\n updateValue(null)\n }\n }\n }}\n onComplete={(completedValue) => {\n const next = typeof completedValue === \"string\"\n ? completedValue\n : String(completedValue ?? \"\")\n const parsed = parseDayInput(next, new Date())\n if (!parsed) return\n if (value && parsed.getTime() === startOfDay(value).getTime()) {\n return\n }\n updateValue(parsed)\n }}\n\t onPointerDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onPointerDown?.(event)\n\t }}\n\t onMouseDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onMouseDown?.(event)\n\t }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n\t isFocusedRef.current = true\n\t onFocus?.(event)\n\t if (shouldSelectAll) {\n\t const element = event.currentTarget\n\t requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n\t onKeyDown={(event) => {\n\t onKeyDown?.(event)\n\t if (event.defaultPrevented) {\n\t return\n\t }\n\n\t\t if (event.key === \"Enter\") {\n\t\t if (!draftSelection) {\n\t\t return\n\t\t }\n\t\t event.preventDefault()\n if (open) {\n const isoDay = `${draftSelection.getFullYear()}-${pad2(draftSelection.getMonth() + 1)}-${pad2(draftSelection.getDate())}`\n const dayButton = popoverRef.current?.querySelector(\n `[data-day='${isoDay}']:not([data-outside]) button`,\n )\n if (dayButton instanceof HTMLButtonElement) {\n if (dayButton.disabled) {\n return\n }\n dayButton.focus()\n }\n }\n\t\t setDraft(formatDayInput(draftSelection))\n\t\t if (!value || draftSelection.getTime() !== startOfDay(value).getTime()) {\n\t\t commitValue(draftSelection)\n\t\t }\n\t\t setOpen(false)\n\t return\n\t }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 || event.key === \"Backspace\" || event.key === \"Delete\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n\t if (event.key === \"Tab\" && !event.defaultPrevented) {\n\t setOpen(false)\n\t }\n\t }}\n\t onBlur={(event) => {\n\t isFocusedRef.current = false\n\t onBlur?.(event)\n const blurFromPopoverPointerDown = pointerDownInPopoverRef.current\n pointerDownInPopoverRef.current = false\n if (blurFromPopoverPointerDown) {\n return\n }\n\n const relatedTarget = event.relatedTarget\n if (relatedTarget instanceof Node) {\n const root = rootRef.current\n if (!root) {\n return\n }\n\n if (root.contains(relatedTarget) || popoverRef.current?.contains(relatedTarget)) {\n return\n }\n }\n\n\t if (open && typeof window !== \"undefined\") {\n\t requestAnimationFrame(() => {\n const root = rootRef.current\n if (!root) {\n return\n }\n const activeElement = document.activeElement\n if (\n activeElement &&\n (root.contains(activeElement) || popoverRef.current?.contains(activeElement))\n ) {\n return\n }\n setOpen(false)\n })\n\t }\n\t const trimmed = draft.trim()\n\t if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n\t return\n\t }\n\t const parsed = parseDayInput(trimmed, new Date())\n\t if (parsed) {\n\t setDraft(formatDayInput(parsed))\n\t if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n\t commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n\t\t }}\n\t\t />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n aria-label=\"Open calendar\"\n data-slot=\"day-picker-input-trigger\"\n className=\"absolute left-[13px] top-1/2 -translate-y-1/2 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n onPointerDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onClick={() => {\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n setOpen(true)\n }}\n >\n <CalendarDays aria-hidden className=\"size-4\" />\n </button>\n\n {open && !disabled && (() => {\n const selectedDay = draft.trim() === \"\"\n ? undefined\n : draftSelection ?? value ?? undefined\n\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n onPointerDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n onMouseDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={selectedDay}\n onSelect={(date) => {\n if (!date) {\n if (value) {\n commitValue(null)\n }\n setDraft(\"\")\n closePopover()\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setDraft(formatDayInput(normalized))\n closePopover()\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n }\n)\n\nDayPickerInput.displayName = \"DayPickerInput\"\n\nexport type DayPickerFieldProps = {\n id?: string\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n className?: string\n inputClassName?: string\n placeholder?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n triggerTestId?: string\n isHydrated?: boolean\n}\n\nfunction DayPickerButtonField({\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n}: DayPickerFieldProps) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <button\n id={id}\n type=\"button\"\n disabled={disabled}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n data-slot=\"day-picker-input-input\"\n className={cn(\n \"flex h-10 w-full items-center rounded-md border border-input bg-background px-3 py-2 text-left text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n inputClassName,\n )}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <CalendarDays\n aria-hidden\n className=\"mr-2 size-4 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n />\n {value ? formatDayInput(value) : placeholder}\n </button>\n\n {open && !disabled && (() => {\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={value ?? undefined}\n onSelect={(date) => {\n if (!date) {\n commitValue(null)\n setOpen(false)\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setOpen(false)\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n}\n\nexport function DayPickerField(props: DayPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <DayPickerButtonField {...props} />\n }\n\n const {\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n open,\n onOpenChange,\n } = props\n\n return (\n <DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />\n )\n}\n"],"names":["imaskAny","IMask","InputMask","DayPicker","className","classNames","components","showOutsideDays","props","jsx","ReactDayPicker","cn","chevronProps","ChevronLeft","ChevronRight","pad2","value","startOfDay","date","next","startOfMonth","formatDayInput","buildDate","day","month","year","parseDayInput","now","trimmed","full","shortYear","noYear","DayPickerInput","React","onChange","onValueUpdate","inputClassName","placeholder","disabled","readOnly","openProp","onOpenChange","dayPickerComponent","dayPickerProps","onFocus","onBlur","onKeyDown","onPointerDown","onMouseDown","rest","forwardedRef","rootRef","popoverRef","inputRef","isFocusedRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","uncontrolledOpen","setUncontrolledOpen","open","setOpen","draft","setDraft","draftSelection","setMonth","popoverPosition","setPopoverPosition","useIsomorphicLayoutEffect","updateValue","commitValue","handlePointerDown","event","target","handleKeyDown","root","isActive","observer","entries","entry","setRefs","node","closePopover","DayPickerComponent","updatePopoverPosition","popover","rect","popoverWidth","popoverHeight","viewportWidth","viewportHeight","padding","left","top","overflowBottom","aboveTop","rafId","jsxs","IMaskInput","appended","dynamicMasked","digits","nextValue","previousDigitsLength","completedValue","parsed","shouldSelectAll","element","isoDay","dayButton","blurFromPopoverPointerDown","relatedTarget","activeElement","CalendarDays","selectedDay","DismissableLayerBranch","normalized","createPortal","DayPickerButtonField","id","triggerTestId","isHydrated","DayPickerField","useIsTouchDevice"],"mappings":"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"}
1
+ {"version":3,"file":"index11.js","sources":["../src/components/DayPickerField/index.tsx"],"sourcesContent":["import { ChevronLeft, ChevronRight, CalendarDays } from \"lucide-react\"\nimport * as React from \"react\"\nimport { DismissableLayerBranch } from \"@radix-ui/react-dismissable-layer\"\nimport { createPortal } from \"react-dom\"\nimport { DayPicker as ReactDayPicker } from \"react-day-picker\"\nimport { IMaskInput } from \"react-imask\"\nimport IMask, { InputMask } from \"imask\"\n\nimport { useIsTouchDevice } from \"@/helpers/useIsTouchDevice\"\nimport { cn } from \"@/lib/utils\"\n\n\n// WARNING: used to preserve input mask even with tree shaking\n// DO NOT REMOVE THIS CODE OR THIS COMMENT\nconst imaskAny = IMask as any\nif (typeof imaskAny.InputMask !== \"function\") {\n imaskAny.InputMask = InputMask\n}\n\n\nexport type DayPickerProps = React.ComponentProps<typeof ReactDayPicker>\n\nexport function DayPicker({\n className,\n classNames,\n components,\n showOutsideDays = true,\n ...props\n}: DayPickerProps) {\n return (\n <ReactDayPicker\n weekStartsOn={1}\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n month: \"space-y-4\",\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2\",\n month_caption: \"flex justify-center pt-1 relative items-center\",\n month_grid: \"w-full border-collapse space-y-1\",\n caption_label: \"text-sm font-medium\",\n nav: \"flex items-center justify-between absolute inset-x-0 z-10\",\n button_previous:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n button_next:\n \"inline-flex h-7 w-7 items-center justify-center rounded-md border border-input bg-transparent p-0 opacity-50 shadow-sm transition-opacity hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 z-10\",\n weeks: \"w-full border-collapse\",\n weekdays: \"flex\",\n weekday: \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n week: \"flex w-full mt-2\",\n day: \"h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-md first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md\",\n day_button:\n \"inline-flex h-9 w-9 items-center justify-center rounded-md p-0 text-center text-sm font-normal transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n range_start:\n \"day-range-start !bg-accent rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_end:\n \"day-range-end !bg-accent rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground\",\n range_middle: \"aria-selected:bg-accent aria-selected:text-accent-foreground !rounded-none\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside: \"day-outside text-muted-foreground aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_hidden: \"invisible\",\n selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n today: \"bg-gray-50 text-accent-foreground !rounded-md\",\n outside:\n \"day-outside text-muted-foreground opacity-50 !aria-selected:bg-accent/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30\",\n disabled: \"text-muted-foreground opacity-50\",\n hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n Chevron: (chevronProps) =>\n chevronProps.orientation === \"left\" ? (\n <ChevronLeft {...chevronProps} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...chevronProps} className=\"h-4 w-4\" />\n ),\n ...components,\n }}\n {...props}\n />\n )\n}\n\nDayPicker.displayName = \"DayPicker\"\n\nfunction pad2(value: number) {\n return String(value).padStart(2, \"0\")\n}\n\nfunction startOfDay(date: Date) {\n const next = new Date(date)\n next.setHours(0, 0, 0, 0)\n return next\n}\n\nfunction startOfMonth(date: Date) {\n return startOfDay(new Date(date.getFullYear(), date.getMonth(), 1))\n}\n\nfunction formatDayInput(date: Date) {\n return `${pad2(date.getDate())}/${pad2(date.getMonth() + 1)}/${date.getFullYear()}`\n}\n\nfunction buildDate({ day, month, year }: { day: number; month: number; year: number }): Date | null {\n if (!Number.isFinite(day) || !Number.isFinite(month) || !Number.isFinite(year)) return null\n\n const date = new Date(year, month - 1, day)\n if (\n date.getFullYear() !== year ||\n date.getMonth() !== month - 1 ||\n date.getDate() !== day\n ) {\n return null\n }\n\n return startOfDay(date)\n}\n\nfunction parseDayInput(value: string, now: Date): Date | null {\n const trimmed = value.trim()\n if (!trimmed) return null\n\n const full = /^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/.exec(trimmed)\n if (full) {\n return buildDate({ day: Number(full[1]), month: Number(full[2]), year: Number(full[3]) })\n }\n\n const shortYear = /^(\\d{2})\\/(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (shortYear) {\n const year = Number(shortYear[3])\n if (!Number.isFinite(year)) return null\n return buildDate({ day: Number(shortYear[1]), month: Number(shortYear[2]), year: 2000 + year })\n }\n\n const noYear = /^(\\d{2})\\/(\\d{2})$/.exec(trimmed)\n if (noYear) {\n return buildDate({ day: Number(noYear[1]), month: Number(noYear[2]), year: now.getFullYear() })\n }\n\n return null\n}\n\nexport type DayPickerInputProps = Omit<\n React.ComponentProps<\"input\">,\n \"value\" | \"defaultValue\" | \"onChange\" | \"type\"\n> & {\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n inputClassName?: string\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n}\n\nexport const DayPickerInput = React.forwardRef<HTMLInputElement, DayPickerInputProps>(\n function DayPickerInput(\n {\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n onFocus,\n onBlur,\n onKeyDown,\n onPointerDown,\n onMouseDown,\n ...rest\n },\n forwardedRef,\n\t ) {\n\t const rootRef = React.useRef<HTMLDivElement | null>(null)\n\t const popoverRef = React.useRef<HTMLDivElement | null>(null)\n\t\t const inputRef = React.useRef<HTMLInputElement | null>(null)\n\t\t const isFocusedRef = React.useRef(false)\n\t\t const pointerDownOnInputRef = React.useRef(false)\n\t\t const inputWasFocusedOnPointerDownRef = React.useRef(false)\n const pointerDownInPopoverRef = React.useRef(false)\n\n\t const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n\t const open = openProp ?? uncontrolledOpen\n\t const setOpen = onOpenChange ?? setUncontrolledOpen\n\t const [draft, setDraft] = React.useState(() => (value ? formatDayInput(value) : \"\"))\n const draftSelection = React.useMemo(() => parseDayInput(draft, new Date()), [draft])\n\t\t const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n\t\t const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n\t\t left: 0,\n\t top: 0,\n\t }))\n\n\t const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n const updateValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n return\n }\n\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n React.useEffect(() => {\n if (isFocusedRef.current) return\n setDraft(value ? formatDayInput(value) : \"\")\n }, [value])\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n if (!draftSelection) return\n setMonth(startOfMonth(draftSelection))\n }, [draftSelection, open])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const setRefs = React.useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof forwardedRef === \"function\") {\n forwardedRef(node)\n } else if (forwardedRef) {\n forwardedRef.current = node\n }\n },\n [forwardedRef],\n )\n\n const closePopover = () => setOpen(false)\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n\t useIsomorphicLayoutEffect(() => {\n\t if (!open || disabled) return\n\t if (typeof window === \"undefined\") return\n\n\t updatePopoverPosition()\n\t const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n\t window.addEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.addEventListener(\"resize\", updatePopoverPosition)\n\t return () => {\n\t window.cancelAnimationFrame(rafId)\n\t window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n\t window.removeEventListener(\"resize\", updatePopoverPosition)\n\t }\n\t }, [disabled, open, updatePopoverPosition])\n\n\t return (\n\t <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n\t\t <IMaskInput\n\t\t {...rest}\n\t\t data-slot=\"day-picker-input-input\"\n disabled={disabled}\n readOnly={readOnly}\n autoComplete=\"off\"\n inputRef={setRefs}\n mask={[\n { mask: \"00/00\", lazy: true },\n { mask: \"00/00/00\", lazy: true },\n { mask: \"00/00/0000\", lazy: true },\n ]}\n dispatch={(appended, dynamicMasked) => {\n const digits = (dynamicMasked.value + appended).replace(/\\D/g, \"\")\n if (digits.length <= 4) return dynamicMasked.compiledMasks[0]\n if (digits.length <= 6) return dynamicMasked.compiledMasks[1]\n return dynamicMasked.compiledMasks[2]\n }}\n\t placeholder={placeholder}\n\t value={draft}\n\t\t className={cn(\n\t\t \"flex h-10 w-full rounded-md border border-input bg-background py-2 pr-3 pl-[37px] text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n\t\t \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n\t\t inputClassName\n\t\t )}\n onAccept={(nextValue) => {\n const next = typeof nextValue === \"string\" ? nextValue : String(nextValue ?? \"\")\n const previousDigitsLength = draft.replace(/\\D/g, \"\").length\n setDraft(next)\n if (next.replace(/\\D/g, \"\").length === 0) {\n if (open) {\n setMonth(startOfMonth(new Date()))\n }\n if (previousDigitsLength !== 0) {\n updateValue(null)\n }\n }\n }}\n onComplete={(completedValue) => {\n const next = typeof completedValue === \"string\"\n ? completedValue\n : String(completedValue ?? \"\")\n const parsed = parseDayInput(next, new Date())\n if (!parsed) return\n if (value && parsed.getTime() === startOfDay(value).getTime()) {\n return\n }\n updateValue(parsed)\n }}\n\t onPointerDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onPointerDown?.(event)\n\t }}\n\t onMouseDown={(event) => {\n\t pointerDownOnInputRef.current = true\n\t inputWasFocusedOnPointerDownRef.current =\n\t typeof document !== \"undefined\" && document.activeElement === event.currentTarget\n\t onMouseDown?.(event)\n\t }}\n onFocus={(event) => {\n const shouldSelectAll =\n !pointerDownOnInputRef.current || !inputWasFocusedOnPointerDownRef.current\n pointerDownOnInputRef.current = false\n inputWasFocusedOnPointerDownRef.current = false\n\t isFocusedRef.current = true\n\t onFocus?.(event)\n\t if (shouldSelectAll) {\n\t const element = event.currentTarget\n\t requestAnimationFrame(() => element.select())\n }\n if (!disabled) {\n setOpen(true)\n }\n }}\n\t onKeyDown={(event) => {\n\t onKeyDown?.(event)\n\t if (event.defaultPrevented) {\n\t return\n\t }\n\n\t\t if (event.key === \"Enter\") {\n\t\t if (!draftSelection) {\n\t\t return\n\t\t }\n\t\t event.preventDefault()\n if (open) {\n const isoDay = `${draftSelection.getFullYear()}-${pad2(draftSelection.getMonth() + 1)}-${pad2(draftSelection.getDate())}`\n const dayButton = popoverRef.current?.querySelector(\n `[data-day='${isoDay}']:not([data-outside]) button`,\n )\n if (dayButton instanceof HTMLButtonElement) {\n if (dayButton.disabled) {\n return\n }\n dayButton.focus()\n }\n }\n\t\t setDraft(formatDayInput(draftSelection))\n\t\t if (!value || draftSelection.getTime() !== startOfDay(value).getTime()) {\n\t\t commitValue(draftSelection)\n\t\t }\n\t\t setOpen(false)\n\t return\n\t }\n\n if (!open) {\n const shouldReopen =\n (event.key.length === 1 || event.key === \"Backspace\" || event.key === \"Delete\") &&\n !event.ctrlKey &&\n !event.metaKey &&\n !event.altKey\n\n if (shouldReopen) {\n setOpen(true)\n }\n }\n\n\t if (event.key === \"Tab\" && !event.defaultPrevented) {\n\t setOpen(false)\n\t }\n\t }}\n\t onBlur={(event) => {\n\t isFocusedRef.current = false\n\t onBlur?.(event)\n const blurFromPopoverPointerDown = pointerDownInPopoverRef.current\n pointerDownInPopoverRef.current = false\n if (blurFromPopoverPointerDown) {\n return\n }\n\n const relatedTarget = event.relatedTarget\n if (relatedTarget instanceof Node) {\n const root = rootRef.current\n if (!root) {\n return\n }\n\n if (root.contains(relatedTarget) || popoverRef.current?.contains(relatedTarget)) {\n return\n }\n }\n\n\t if (open && typeof window !== \"undefined\") {\n\t requestAnimationFrame(() => {\n const root = rootRef.current\n if (!root) {\n return\n }\n const activeElement = document.activeElement\n if (\n activeElement &&\n (root.contains(activeElement) || popoverRef.current?.contains(activeElement))\n ) {\n return\n }\n setOpen(false)\n })\n\t }\n\t const trimmed = draft.trim()\n\t if (trimmed === \"\") {\n if (value) {\n setDraft(\"\")\n commitValue(null)\n }\n\t return\n\t }\n\t const parsed = parseDayInput(trimmed, new Date())\n\t if (parsed) {\n\t setDraft(formatDayInput(parsed))\n\t if (!value || parsed.getTime() !== startOfDay(value).getTime()) {\n\t commitValue(parsed)\n }\n return\n }\n setDraft(value ? formatDayInput(value) : \"\")\n\t\t }}\n\t\t />\n\n <button\n type=\"button\"\n tabIndex={-1}\n disabled={disabled}\n aria-label=\"Open calendar\"\n data-slot=\"day-picker-input-trigger\"\n className=\"absolute left-[13px] top-1/2 -translate-y-1/2 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n onPointerDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onMouseDown={(event) => {\n event.preventDefault()\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n }}\n onClick={() => {\n if (disabled) {\n return\n }\n inputRef.current?.focus({ preventScroll: true })\n setOpen(true)\n }}\n >\n <CalendarDays aria-hidden className=\"size-4\" />\n </button>\n\n {open && !disabled && (() => {\n const selectedDay = draft.trim() === \"\"\n ? undefined\n : draftSelection ?? value ?? undefined\n\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n onPointerDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n onMouseDownCapture={() => {\n pointerDownInPopoverRef.current = true\n }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={selectedDay}\n onSelect={(date) => {\n if (!date) {\n if (value) {\n commitValue(null)\n }\n setDraft(\"\")\n closePopover()\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setDraft(formatDayInput(normalized))\n closePopover()\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n }\n)\n\nDayPickerInput.displayName = \"DayPickerInput\"\n\nexport type DayPickerFieldProps = {\n id?: string\n value: Date | null\n onChange: (value: Date | null) => void\n onValueUpdate?: (value: Date | null) => void\n className?: string\n inputClassName?: string\n placeholder?: string\n disabled?: boolean\n readOnly?: boolean\n open?: boolean\n onOpenChange?: (open: boolean) => void\n dayPickerComponent?: React.ComponentType<DayPickerProps>\n dayPickerProps?: Omit<DayPickerProps, \"mode\" | \"selected\" | \"onSelect\" | \"month\" | \"onMonthChange\">\n triggerTestId?: string\n isHydrated?: boolean\n}\n\nfunction DayPickerButtonField({\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n open: openProp,\n onOpenChange,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n}: DayPickerFieldProps) {\n const rootRef = React.useRef<HTMLDivElement | null>(null)\n const popoverRef = React.useRef<HTMLDivElement | null>(null)\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(false)\n const open = openProp ?? uncontrolledOpen\n const setOpen = onOpenChange ?? setUncontrolledOpen\n const [month, setMonth] = React.useState(() => startOfMonth(value ?? new Date()))\n const [popoverPosition, setPopoverPosition] = React.useState(() => ({\n left: 0,\n top: 0,\n }))\n\n const useIsomorphicLayoutEffect = typeof window === \"undefined\" ? React.useEffect : React.useLayoutEffect\n\n React.useEffect(() => {\n if (!open) return\n setMonth(startOfMonth(value ?? new Date()))\n }, [open, value])\n\n React.useEffect(() => {\n if (!open) return\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target\n if (!(target instanceof Node)) return\n if (rootRef.current?.contains(target)) return\n if (popoverRef.current?.contains(target)) return\n setOpen(false)\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key !== \"Escape\") return\n setOpen(false)\n }\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true)\n document.addEventListener(\"keydown\", handleKeyDown, true)\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true)\n document.removeEventListener(\"keydown\", handleKeyDown, true)\n }\n }, [open])\n\n React.useEffect(() => {\n if (!open) {\n return\n }\n if (typeof window === \"undefined\") {\n return\n }\n if (!(\"IntersectionObserver\" in window)) {\n return\n }\n\n const root = rootRef.current\n if (!root) {\n return\n }\n\n let isActive = true\n const observer = new IntersectionObserver(entries => {\n if (!isActive) {\n return\n }\n const entry = entries[0]\n if (entry && !entry.isIntersecting) {\n setOpen(false)\n }\n })\n observer.observe(root)\n return () => {\n isActive = false\n observer.disconnect()\n }\n }, [open])\n\n const DayPickerComponent = dayPickerComponent ?? DayPicker\n\n const updatePopoverPosition = React.useCallback(() => {\n if (typeof window === \"undefined\") return\n const root = rootRef.current\n const popover = popoverRef.current\n if (!root || !popover) return\n\n const rect = root.getBoundingClientRect()\n const popoverWidth = popover.offsetWidth\n const popoverHeight = popover.offsetHeight\n const viewportWidth = window.innerWidth ?? 0\n const viewportHeight = window.innerHeight ?? 0\n const padding = 8\n\n let left = rect.left\n if (left + popoverWidth > viewportWidth - padding) {\n left = Math.max(padding, viewportWidth - popoverWidth - padding)\n }\n if (left < padding) {\n left = padding\n }\n\n let top = rect.bottom + padding\n const overflowBottom = top + popoverHeight > viewportHeight - padding\n const aboveTop = rect.top - popoverHeight - padding\n if (overflowBottom && aboveTop >= padding) {\n top = aboveTop\n }\n\n if (top < padding) {\n top = padding\n }\n if (top + popoverHeight > viewportHeight - padding) {\n top = Math.max(padding, viewportHeight - popoverHeight - padding)\n }\n\n setPopoverPosition({ left, top })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n if (!open || disabled) return\n if (typeof window === \"undefined\") return\n\n updatePopoverPosition()\n const rafId = window.requestAnimationFrame(updatePopoverPosition)\n\n window.addEventListener(\"scroll\", updatePopoverPosition, true)\n window.addEventListener(\"resize\", updatePopoverPosition)\n return () => {\n window.cancelAnimationFrame(rafId)\n window.removeEventListener(\"scroll\", updatePopoverPosition, true)\n window.removeEventListener(\"resize\", updatePopoverPosition)\n }\n }, [disabled, open, updatePopoverPosition])\n\n const commitValue = React.useCallback(\n (next: Date | null) => {\n if (onValueUpdate) {\n onValueUpdate(next)\n }\n onChange(next)\n },\n [onChange, onValueUpdate],\n )\n\n return (\n <div ref={rootRef} data-slot=\"day-picker-input\" className={cn(\"relative group\", className)}>\n <button\n id={id}\n type=\"button\"\n disabled={disabled}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n data-slot=\"day-picker-input-input\"\n className={cn(\n \"flex h-10 w-full items-center rounded-md border border-input bg-background px-3 py-2 text-left text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"transition-colors group-hover:bg-accent group-hover:text-accent-foreground\",\n !value && \"text-muted-foreground\",\n open && \"ring-2 ring-primary ring-offset-2\",\n inputClassName,\n )}\n onClick={() => {\n if (disabled) return\n setOpen(!open)\n }}\n >\n <CalendarDays\n aria-hidden\n className=\"mr-2 size-4 text-muted-foreground transition-colors group-hover:text-accent-foreground\"\n />\n {value ? formatDayInput(value) : placeholder}\n </button>\n\n {open && !disabled && (() => {\n const popover = (\n <DismissableLayerBranch>\n <div\n ref={popoverRef}\n data-slot=\"day-picker-input-popover\"\n className=\"pointer-events-auto fixed z-[60] w-max rounded-md border bg-popover text-popover-foreground shadow-md\"\n style={{ left: popoverPosition.left, top: popoverPosition.top }}\n >\n <DayPickerComponent\n mode=\"single\"\n month={month}\n onMonthChange={setMonth}\n selected={value ?? undefined}\n onSelect={(date) => {\n if (!date) {\n commitValue(null)\n setOpen(false)\n return\n }\n\n const normalized = startOfDay(date)\n if (!value || normalized.getTime() !== startOfDay(value).getTime()) {\n commitValue(normalized)\n }\n setOpen(false)\n }}\n {...dayPickerProps}\n />\n </div>\n </DismissableLayerBranch>\n )\n\n if (typeof document === \"undefined\") return popover\n return createPortal(popover, document.body)\n })()}\n </div>\n )\n}\n\nexport function DayPickerField(props: DayPickerFieldProps) {\n const isTouchDevice = useIsTouchDevice()\n\n if (isTouchDevice) {\n return <DayPickerButtonField {...props} />\n }\n\n const {\n id,\n value,\n onChange,\n onValueUpdate,\n className,\n inputClassName,\n placeholder = \"DD/MM/YYYY\",\n disabled,\n readOnly,\n dayPickerComponent,\n dayPickerProps,\n triggerTestId,\n isHydrated,\n open,\n onOpenChange,\n } = props\n\n return (\n <DayPickerInput\n id={id}\n value={value}\n onChange={onChange}\n onValueUpdate={onValueUpdate}\n className={className}\n inputClassName={inputClassName}\n placeholder={placeholder}\n disabled={disabled}\n readOnly={readOnly}\n open={open}\n onOpenChange={onOpenChange}\n dayPickerComponent={dayPickerComponent}\n dayPickerProps={dayPickerProps}\n data-testid={triggerTestId}\n data-hydrated={isHydrated ? \"true\" : undefined}\n />\n )\n}\n"],"names":["imaskAny","IMask","InputMask","DayPicker","className","classNames","components","showOutsideDays","props","jsx","ReactDayPicker","cn","chevronProps","ChevronLeft","ChevronRight","pad2","value","startOfDay","date","next","startOfMonth","formatDayInput","buildDate","day","month","year","parseDayInput","now","trimmed","full","shortYear","noYear","DayPickerInput","React","onChange","onValueUpdate","inputClassName","placeholder","disabled","readOnly","openProp","onOpenChange","dayPickerComponent","dayPickerProps","onFocus","onBlur","onKeyDown","onPointerDown","onMouseDown","rest","forwardedRef","rootRef","popoverRef","inputRef","isFocusedRef","pointerDownOnInputRef","inputWasFocusedOnPointerDownRef","pointerDownInPopoverRef","uncontrolledOpen","setUncontrolledOpen","open","setOpen","draft","setDraft","draftSelection","setMonth","popoverPosition","setPopoverPosition","useIsomorphicLayoutEffect","updateValue","commitValue","handlePointerDown","event","target","handleKeyDown","root","isActive","observer","entries","entry","setRefs","node","closePopover","DayPickerComponent","updatePopoverPosition","popover","rect","popoverWidth","popoverHeight","viewportWidth","viewportHeight","padding","left","top","overflowBottom","aboveTop","rafId","jsxs","IMaskInput","appended","dynamicMasked","digits","nextValue","previousDigitsLength","completedValue","parsed","shouldSelectAll","element","isoDay","dayButton","blurFromPopoverPointerDown","relatedTarget","activeElement","CalendarDays","selectedDay","DismissableLayerBranch","normalized","createPortal","DayPickerButtonField","id","triggerTestId","isHydrated","DayPickerField","useIsTouchDevice"],"mappings":"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"}
package/dist/index110.js CHANGED
@@ -1,8 +1,43 @@
1
- import t from "react";
2
- function o(e) {
3
- return t.createElement("div", { ...e });
1
+ import { DayFlag as e } from "./index122.js";
2
+ import { dateMatchModifiers as u } from "./index221.js";
3
+ function V(b, S, h, M, a) {
4
+ const { disabled: m, hidden: p, modifiers: r, showOutsideDays: y, broadcastCalendar: B, today: g = a.today() } = S, { isSameDay: v, isSameMonth: A, startOfMonth: E, isBefore: F, endOfMonth: j, isAfter: k } = a, O = h && E(h), D = M && j(M), i = {
5
+ [e.focused]: [],
6
+ [e.outside]: [],
7
+ [e.disabled]: [],
8
+ [e.hidden]: [],
9
+ [e.today]: []
10
+ }, d = {};
11
+ for (const s of b) {
12
+ const { date: o, displayMonth: n } = s, t = !!(n && !A(o, n)), f = !!(O && F(o, O)), l = !!(D && k(o, D)), w = !!(m && u(o, m, a)), x = !!(p && u(o, p, a)) || f || l || // Broadcast calendar will show outside days as default
13
+ !B && !y && t || B && y === !1 && t, C = v(o, g);
14
+ t && i.outside.push(s), w && i.disabled.push(s), x && i.hidden.push(s), C && i.today.push(s), r && Object.keys(r).forEach((c) => {
15
+ const N = r?.[c];
16
+ N && u(o, N, a) && (d[c] ? d[c].push(s) : d[c] = [s]);
17
+ });
18
+ }
19
+ return (s) => {
20
+ const o = {
21
+ [e.focused]: !1,
22
+ [e.disabled]: !1,
23
+ [e.hidden]: !1,
24
+ [e.outside]: !1,
25
+ [e.today]: !1
26
+ }, n = {};
27
+ for (const t in i) {
28
+ const f = i[t];
29
+ o[t] = f.some((l) => l === s);
30
+ }
31
+ for (const t in d)
32
+ n[t] = d[t].some((f) => f === s);
33
+ return {
34
+ ...o,
35
+ // custom modifiers should override all the previous ones
36
+ ...n
37
+ };
38
+ };
4
39
  }
5
40
  export {
6
- o as DropdownNav
41
+ V as createGetModifiers
7
42
  };
8
43
  //# sourceMappingURL=index110.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index110.js","sources":["../../../node_modules/react-day-picker/dist/esm/components/DropdownNav.js"],"sourcesContent":["import React from \"react\";\n/**\n * Render the navigation dropdowns for the calendar.\n *\n * @group Components\n * @see https://daypicker.dev/guides/custom-components\n */\nexport function DropdownNav(props) {\n return React.createElement(\"div\", { ...props });\n}\n"],"names":["DropdownNav","props","React"],"mappings":";AAOO,SAASA,EAAYC,GAAO;AAC/B,SAAOC,EAAM,cAAc,OAAO,EAAE,GAAGD,EAAK,CAAE;AAClD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index110.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.js"],"sourcesContent":["import { DayFlag } from \"../UI.js\";\nimport { dateMatchModifiers } from \"../utils/dateMatchModifiers.js\";\n/**\n * Creates a function to retrieve the modifiers for a given day.\n *\n * This function calculates both internal and custom modifiers for each day\n * based on the provided calendar days and DayPicker props.\n *\n * @private\n * @param days The array of `CalendarDay` objects to process.\n * @param props The DayPicker props, including modifiers and configuration\n * options.\n * @param dateLib The date library to use for date manipulation.\n * @returns A function that retrieves the modifiers for a given `CalendarDay`.\n */\nexport function createGetModifiers(days, props, navStart, navEnd, dateLib) {\n const { disabled, hidden, modifiers, showOutsideDays, broadcastCalendar, today = dateLib.today(), } = props;\n const { isSameDay, isSameMonth, startOfMonth, isBefore, endOfMonth, isAfter, } = dateLib;\n const computedNavStart = navStart && startOfMonth(navStart);\n const computedNavEnd = navEnd && endOfMonth(navEnd);\n const internalModifiersMap = {\n [DayFlag.focused]: [],\n [DayFlag.outside]: [],\n [DayFlag.disabled]: [],\n [DayFlag.hidden]: [],\n [DayFlag.today]: [],\n };\n const customModifiersMap = {};\n for (const day of days) {\n const { date, displayMonth } = day;\n const isOutside = Boolean(displayMonth && !isSameMonth(date, displayMonth));\n const isBeforeNavStart = Boolean(computedNavStart && isBefore(date, computedNavStart));\n const isAfterNavEnd = Boolean(computedNavEnd && isAfter(date, computedNavEnd));\n const isDisabled = Boolean(disabled && dateMatchModifiers(date, disabled, dateLib));\n const isHidden = Boolean(hidden && dateMatchModifiers(date, hidden, dateLib)) ||\n isBeforeNavStart ||\n isAfterNavEnd ||\n // Broadcast calendar will show outside days as default\n (!broadcastCalendar && !showOutsideDays && isOutside) ||\n (broadcastCalendar && showOutsideDays === false && isOutside);\n const isToday = isSameDay(date, today);\n if (isOutside)\n internalModifiersMap.outside.push(day);\n if (isDisabled)\n internalModifiersMap.disabled.push(day);\n if (isHidden)\n internalModifiersMap.hidden.push(day);\n if (isToday)\n internalModifiersMap.today.push(day);\n // Add custom modifiers\n if (modifiers) {\n Object.keys(modifiers).forEach((name) => {\n const modifierValue = modifiers?.[name];\n const isMatch = modifierValue\n ? dateMatchModifiers(date, modifierValue, dateLib)\n : false;\n if (!isMatch)\n return;\n if (customModifiersMap[name]) {\n customModifiersMap[name].push(day);\n }\n else {\n customModifiersMap[name] = [day];\n }\n });\n }\n }\n return (day) => {\n // Initialize all the modifiers to false\n const dayFlags = {\n [DayFlag.focused]: false,\n [DayFlag.disabled]: false,\n [DayFlag.hidden]: false,\n [DayFlag.outside]: false,\n [DayFlag.today]: false,\n };\n const customModifiers = {};\n // Find the modifiers for the given day\n for (const name in internalModifiersMap) {\n const days = internalModifiersMap[name];\n dayFlags[name] = days.some((d) => d === day);\n }\n for (const name in customModifiersMap) {\n customModifiers[name] = customModifiersMap[name].some((d) => d === day);\n }\n return {\n ...dayFlags,\n // custom modifiers should override all the previous ones\n ...customModifiers,\n };\n };\n}\n"],"names":["createGetModifiers","days","props","navStart","navEnd","dateLib","disabled","hidden","modifiers","showOutsideDays","broadcastCalendar","today","isSameDay","isSameMonth","startOfMonth","isBefore","endOfMonth","isAfter","computedNavStart","computedNavEnd","internalModifiersMap","DayFlag","customModifiersMap","day","date","displayMonth","isOutside","isBeforeNavStart","isAfterNavEnd","isDisabled","dateMatchModifiers","isHidden","isToday","name","modifierValue","dayFlags","customModifiers","d"],"mappings":";;AAeO,SAASA,EAAmBC,GAAMC,GAAOC,GAAUC,GAAQC,GAAS;AACvE,QAAM,EAAE,UAAAC,GAAU,QAAAC,GAAQ,WAAAC,GAAW,iBAAAC,GAAiB,mBAAAC,GAAmB,OAAAC,IAAQN,EAAQ,MAAK,EAAE,IAAMH,GAChG,EAAE,WAAAU,GAAW,aAAAC,GAAa,cAAAC,GAAc,UAAAC,GAAU,YAAAC,GAAY,SAAAC,EAAO,IAAMZ,GAC3Ea,IAAmBf,KAAYW,EAAaX,CAAQ,GACpDgB,IAAiBf,KAAUY,EAAWZ,CAAM,GAC5CgB,IAAuB;AAAA,IACzB,CAACC,EAAQ,OAAO,GAAG,CAAA;AAAA,IACnB,CAACA,EAAQ,OAAO,GAAG,CAAA;AAAA,IACnB,CAACA,EAAQ,QAAQ,GAAG,CAAA;AAAA,IACpB,CAACA,EAAQ,MAAM,GAAG,CAAA;AAAA,IAClB,CAACA,EAAQ,KAAK,GAAG,CAAA;AAAA,EACzB,GACUC,IAAqB,CAAA;AAC3B,aAAWC,KAAOtB,GAAM;AACpB,UAAM,EAAE,MAAAuB,GAAM,cAAAC,EAAY,IAAKF,GACzBG,IAAY,GAAQD,KAAgB,CAACZ,EAAYW,GAAMC,CAAY,IACnEE,IAAmB,GAAQT,KAAoBH,EAASS,GAAMN,CAAgB,IAC9EU,IAAgB,GAAQT,KAAkBF,EAAQO,GAAML,CAAc,IACtEU,IAAa,GAAQvB,KAAYwB,EAAmBN,GAAMlB,GAAUD,CAAO,IAC3E0B,IAAW,GAAQxB,KAAUuB,EAAmBN,GAAMjB,GAAQF,CAAO,MACvEsB,KACAC;AAAA,IAEC,CAAClB,KAAqB,CAACD,KAAmBiB,KAC1ChB,KAAqBD,MAAoB,MAASiB,GACjDM,IAAUpB,EAAUY,GAAMb,CAAK;AACrC,IAAIe,KACAN,EAAqB,QAAQ,KAAKG,CAAG,GACrCM,KACAT,EAAqB,SAAS,KAAKG,CAAG,GACtCQ,KACAX,EAAqB,OAAO,KAAKG,CAAG,GACpCS,KACAZ,EAAqB,MAAM,KAAKG,CAAG,GAEnCf,KACA,OAAO,KAAKA,CAAS,EAAE,QAAQ,CAACyB,MAAS;AACrC,YAAMC,IAAgB1B,IAAYyB,CAAI;AAItC,MAHgBC,KACVJ,EAAmBN,GAAMU,GAAe7B,CAAO,MAIjDiB,EAAmBW,CAAI,IACvBX,EAAmBW,CAAI,EAAE,KAAKV,CAAG,IAGjCD,EAAmBW,CAAI,IAAI,CAACV,CAAG;AAAA,IAEvC,CAAC;AAAA,EAET;AACA,SAAO,CAACA,MAAQ;AAEZ,UAAMY,IAAW;AAAA,MACb,CAACd,EAAQ,OAAO,GAAG;AAAA,MACnB,CAACA,EAAQ,QAAQ,GAAG;AAAA,MACpB,CAACA,EAAQ,MAAM,GAAG;AAAA,MAClB,CAACA,EAAQ,OAAO,GAAG;AAAA,MACnB,CAACA,EAAQ,KAAK,GAAG;AAAA,IAC7B,GACce,IAAkB,CAAA;AAExB,eAAWH,KAAQb,GAAsB;AACrC,YAAMnB,IAAOmB,EAAqBa,CAAI;AACtC,MAAAE,EAASF,CAAI,IAAIhC,EAAK,KAAK,CAACoC,MAAMA,MAAMd,CAAG;AAAA,IAC/C;AACA,eAAWU,KAAQX;AACf,MAAAc,EAAgBH,CAAI,IAAIX,EAAmBW,CAAI,EAAE,KAAK,CAACI,MAAMA,MAAMd,CAAG;AAE1E,WAAO;AAAA,MACH,GAAGY;AAAA;AAAA,MAEH,GAAGC;AAAA,IACf;AAAA,EACI;AACJ;","x_google_ignoreList":[0]}
package/dist/index111.js CHANGED
@@ -1,8 +1,8 @@
1
- import t from "react";
2
- function o(e) {
3
- return t.createElement("div", { ...e });
1
+ import { DayFlag as e, SelectionState as n, UI as d } from "./index122.js";
2
+ function p(o, i, f = {}) {
3
+ return Object.entries(o).filter(([, t]) => t === !0).reduce((t, [r]) => (f[r] ? t.push(f[r]) : i[e[r]] ? t.push(i[e[r]]) : i[n[r]] && t.push(i[n[r]]), t), [i[d.Day]]);
4
4
  }
5
5
  export {
6
- o as Footer
6
+ p as getClassNamesForModifiers
7
7
  };
8
8
  //# sourceMappingURL=index111.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index111.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]}
1
+ {"version":3,"file":"index111.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.js"],"sourcesContent":["import { DayFlag, SelectionState, UI } from \"../UI.js\";\n/**\n * Returns the class names for a day based on its modifiers.\n *\n * This function combines the base class name for the day with any class names\n * associated with active modifiers.\n *\n * @param modifiers The modifiers applied to the day.\n * @param classNames The base class names for the calendar elements.\n * @param modifiersClassNames The class names associated with specific\n * modifiers.\n * @returns An array of class names for the day.\n */\nexport function getClassNamesForModifiers(modifiers, classNames, modifiersClassNames = {}) {\n const modifierClassNames = Object.entries(modifiers)\n .filter(([, active]) => active === true)\n .reduce((previousValue, [key]) => {\n if (modifiersClassNames[key]) {\n previousValue.push(modifiersClassNames[key]);\n }\n else if (classNames[DayFlag[key]]) {\n previousValue.push(classNames[DayFlag[key]]);\n }\n else if (classNames[SelectionState[key]]) {\n previousValue.push(classNames[SelectionState[key]]);\n }\n return previousValue;\n }, [classNames[UI.Day]]);\n return modifierClassNames;\n}\n"],"names":["getClassNamesForModifiers","modifiers","classNames","modifiersClassNames","active","previousValue","key","DayFlag","SelectionState","UI"],"mappings":";AAaO,SAASA,EAA0BC,GAAWC,GAAYC,IAAsB,CAAA,GAAI;AAevF,SAd2B,OAAO,QAAQF,CAAS,EAC9C,OAAO,CAAC,CAAA,EAAGG,CAAM,MAAMA,MAAW,EAAI,EACtC,OAAO,CAACC,GAAe,CAACC,CAAG,OACxBH,EAAoBG,CAAG,IACvBD,EAAc,KAAKF,EAAoBG,CAAG,CAAC,IAEtCJ,EAAWK,EAAQD,CAAG,CAAC,IAC5BD,EAAc,KAAKH,EAAWK,EAAQD,CAAG,CAAC,CAAC,IAEtCJ,EAAWM,EAAeF,CAAG,CAAC,KACnCD,EAAc,KAAKH,EAAWM,EAAeF,CAAG,CAAC,CAAC,GAE/CD,IACR,CAACH,EAAWO,EAAG,GAAG,CAAC,CAAC;AAE3B;","x_google_ignoreList":[0]}
package/dist/index112.js CHANGED
@@ -1,9 +1,11 @@
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);
1
+ import * as t from "./index82.js";
2
+ function n(o) {
3
+ return {
4
+ ...t,
5
+ ...o
6
+ };
5
7
  }
6
8
  export {
7
- a as Month
9
+ n as getComponents
8
10
  };
9
11
  //# sourceMappingURL=index112.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index112.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]}
1
+ {"version":3,"file":"index112.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getComponents.js"],"sourcesContent":["import * as components from \"../components/custom-components.js\";\n/**\n * Merges custom components from the props with the default components.\n *\n * This function ensures that any custom components provided in the props\n * override the default components.\n *\n * @param customComponents The custom components provided in the DayPicker\n * props.\n * @returns An object containing the merged components.\n */\nexport function getComponents(customComponents) {\n return {\n ...components,\n ...customComponents,\n };\n}\n"],"names":["getComponents","customComponents","components"],"mappings":";AAWO,SAASA,EAAcC,GAAkB;AAC5C,SAAO;AAAA,IACH,GAAGC;AAAAA,IACH,GAAGD;AAAAA,EACX;AACA;","x_google_ignoreList":[0]}
package/dist/index113.js CHANGED
@@ -1,9 +1,17 @@
1
- import n from "react";
2
- function d(t) {
3
- const { calendarMonth: o, displayIndex: r, ...e } = t;
4
- return n.createElement("div", { ...e });
1
+ function n(e) {
2
+ const t = {
3
+ "data-mode": e.mode ?? void 0,
4
+ "data-required": "required" in e ? e.required : void 0,
5
+ "data-multiple-months": e.numberOfMonths && e.numberOfMonths > 1 || void 0,
6
+ "data-week-numbers": e.showWeekNumber || void 0,
7
+ "data-broadcast-calendar": e.broadcastCalendar || void 0,
8
+ "data-nav-layout": e.navLayout || void 0
9
+ };
10
+ return Object.entries(e).forEach(([a, d]) => {
11
+ a.startsWith("data-") && (t[a] = d);
12
+ }), t;
5
13
  }
6
14
  export {
7
- d as MonthCaption
15
+ n as getDataAttributes
8
16
  };
9
17
  //# sourceMappingURL=index113.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index113.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]}
1
+ {"version":3,"file":"index113.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.js"],"sourcesContent":["/**\n * Extracts `data-` attributes from the DayPicker props.\n *\n * This function collects all `data-` attributes from the props and adds\n * additional attributes based on the DayPicker configuration.\n *\n * @param props The DayPicker props.\n * @returns An object containing the `data-` attributes.\n */\nexport function getDataAttributes(props) {\n const dataAttributes = {\n \"data-mode\": props.mode ?? undefined,\n \"data-required\": \"required\" in props ? props.required : undefined,\n \"data-multiple-months\": (props.numberOfMonths && props.numberOfMonths > 1) || undefined,\n \"data-week-numbers\": props.showWeekNumber || undefined,\n \"data-broadcast-calendar\": props.broadcastCalendar || undefined,\n \"data-nav-layout\": props.navLayout || undefined,\n };\n Object.entries(props).forEach(([key, val]) => {\n if (key.startsWith(\"data-\")) {\n dataAttributes[key] = val;\n }\n });\n return dataAttributes;\n}\n"],"names":["getDataAttributes","props","dataAttributes","key","val"],"mappings":"AASO,SAASA,EAAkBC,GAAO;AACrC,QAAMC,IAAiB;AAAA,IACnB,aAAaD,EAAM,QAAQ;AAAA,IAC3B,iBAAiB,cAAcA,IAAQA,EAAM,WAAW;AAAA,IACxD,wBAAyBA,EAAM,kBAAkBA,EAAM,iBAAiB,KAAM;AAAA,IAC9E,qBAAqBA,EAAM,kBAAkB;AAAA,IAC7C,2BAA2BA,EAAM,qBAAqB;AAAA,IACtD,mBAAmBA,EAAM,aAAa;AAAA,EAC9C;AACI,gBAAO,QAAQA,CAAK,EAAE,QAAQ,CAAC,CAACE,GAAKC,CAAG,MAAM;AAC1C,IAAID,EAAI,WAAW,OAAO,MACtBD,EAAeC,CAAG,IAAIC;AAAA,EAE9B,CAAC,GACMF;AACX;","x_google_ignoreList":[0]}
package/dist/index114.js CHANGED
@@ -1,8 +1,17 @@
1
- import e from "react";
2
- function n(t) {
3
- return e.createElement("table", { ...t });
1
+ import { UI as t, DayFlag as e, SelectionState as r, Animation as s } from "./index122.js";
2
+ function i() {
3
+ const o = {};
4
+ for (const n in t)
5
+ o[t[n]] = `rdp-${t[n]}`;
6
+ for (const n in e)
7
+ o[e[n]] = `rdp-${e[n]}`;
8
+ for (const n in r)
9
+ o[r[n]] = `rdp-${r[n]}`;
10
+ for (const n in s)
11
+ o[s[n]] = `rdp-${s[n]}`;
12
+ return o;
4
13
  }
5
14
  export {
6
- n as MonthGrid
15
+ i as getDefaultClassNames
7
16
  };
8
17
  //# sourceMappingURL=index114.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index114.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]}
1
+ {"version":3,"file":"index114.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.js"],"sourcesContent":["import { Animation, DayFlag, SelectionState, UI } from \"../UI.js\";\n/**\n * Returns the default class names for the UI elements.\n *\n * This function generates a mapping of default class names for various UI\n * elements, day flags, selection states, and animations.\n *\n * @returns An object containing the default class names.\n * @group Utilities\n */\nexport function getDefaultClassNames() {\n const classNames = {};\n for (const key in UI) {\n classNames[UI[key]] =\n `rdp-${UI[key]}`;\n }\n for (const key in DayFlag) {\n classNames[DayFlag[key]] =\n `rdp-${DayFlag[key]}`;\n }\n for (const key in SelectionState) {\n classNames[SelectionState[key]] =\n `rdp-${SelectionState[key]}`;\n }\n for (const key in Animation) {\n classNames[Animation[key]] =\n `rdp-${Animation[key]}`;\n }\n return classNames;\n}\n"],"names":["getDefaultClassNames","classNames","key","UI","DayFlag","SelectionState","Animation"],"mappings":";AAUO,SAASA,IAAuB;AACnC,QAAMC,IAAa,CAAA;AACnB,aAAWC,KAAOC;AACd,IAAAF,EAAWE,EAAGD,CAAG,CAAC,IACd,OAAOC,EAAGD,CAAG,CAAC;AAEtB,aAAWA,KAAOE;AACd,IAAAH,EAAWG,EAAQF,CAAG,CAAC,IACnB,OAAOE,EAAQF,CAAG,CAAC;AAE3B,aAAWA,KAAOG;AACd,IAAAJ,EAAWI,EAAeH,CAAG,CAAC,IAC1B,OAAOG,EAAeH,CAAG,CAAC;AAElC,aAAWA,KAAOI;AACd,IAAAL,EAAWK,EAAUJ,CAAG,CAAC,IACrB,OAAOI,EAAUJ,CAAG,CAAC;AAE7B,SAAOD;AACX;","x_google_ignoreList":[0]}
package/dist/index115.js CHANGED
@@ -1,8 +1,11 @@
1
- import e from "react";
2
- function n(t) {
3
- return e.createElement("div", { ...t });
1
+ import * as a from "./index133.js";
2
+ function f(n) {
3
+ return n?.formatMonthCaption && !n.formatCaption && (n.formatCaption = n.formatMonthCaption), n?.formatYearCaption && !n.formatYearDropdown && (n.formatYearDropdown = n.formatYearCaption), {
4
+ ...a,
5
+ ...n
6
+ };
4
7
  }
5
8
  export {
6
- n as Months
9
+ f as getFormatters
7
10
  };
8
11
  //# sourceMappingURL=index115.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index115.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]}
1
+ {"version":3,"file":"index115.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getFormatters.js"],"sourcesContent":["import * as defaultFormatters from \"../formatters/index.js\";\n/**\n * Merges custom formatters from the props with the default formatters.\n *\n * @param customFormatters The custom formatters provided in the DayPicker\n * props.\n * @returns The merged formatters object.\n */\nexport function getFormatters(customFormatters) {\n if (customFormatters?.formatMonthCaption && !customFormatters.formatCaption) {\n customFormatters.formatCaption = customFormatters.formatMonthCaption;\n }\n if (customFormatters?.formatYearCaption &&\n !customFormatters.formatYearDropdown) {\n customFormatters.formatYearDropdown = customFormatters.formatYearCaption;\n }\n return {\n ...defaultFormatters,\n ...customFormatters,\n };\n}\n"],"names":["getFormatters","customFormatters","defaultFormatters"],"mappings":";AAQO,SAASA,EAAcC,GAAkB;AAC5C,SAAIA,GAAkB,sBAAsB,CAACA,EAAiB,kBAC1DA,EAAiB,gBAAgBA,EAAiB,qBAElDA,GAAkB,qBAClB,CAACA,EAAiB,uBAClBA,EAAiB,qBAAqBA,EAAiB,oBAEpD;AAAA,IACH,GAAGC;AAAAA,IACH,GAAGD;AAAA,EACX;AACA;","x_google_ignoreList":[0]}
package/dist/index116.js CHANGED
@@ -1,10 +1,35 @@
1
- import e from "react";
2
- import { useDayPicker as r } from "./index146.js";
3
- function m(o) {
4
- const { components: t } = r();
5
- return e.createElement(t.Dropdown, { ...o });
1
+ import * as o from "./index141.js";
2
+ import { labelWeekday as b } from "./index149.js";
3
+ import { labelWeekNumberHeader as i } from "./index151.js";
4
+ import { labelNav as n } from "./index146.js";
5
+ import { labelGridcell as t } from "./index144.js";
6
+ import { labelGrid as d } from "./index143.js";
7
+ import { labelYearDropdown as p } from "./index152.js";
8
+ import { labelWeekNumber as m } from "./index150.js";
9
+ import { labelPrevious as f } from "./index148.js";
10
+ import { labelNext as N } from "./index147.js";
11
+ import { labelMonthDropdown as k } from "./index145.js";
12
+ import { labelDayButton as D } from "./index142.js";
13
+ const r = (l, a, e) => a || (e ? typeof e == "function" ? e : (...W) => e : l);
14
+ function Y(l, a) {
15
+ const e = a.locale?.labels ?? {};
16
+ return {
17
+ ...o,
18
+ ...l ?? {},
19
+ labelDayButton: r(D, l?.labelDayButton, e.labelDayButton),
20
+ labelMonthDropdown: r(k, l?.labelMonthDropdown, e.labelMonthDropdown),
21
+ labelNext: r(N, l?.labelNext, e.labelNext),
22
+ labelPrevious: r(f, l?.labelPrevious, e.labelPrevious),
23
+ labelWeekNumber: r(m, l?.labelWeekNumber, e.labelWeekNumber),
24
+ labelYearDropdown: r(p, l?.labelYearDropdown, e.labelYearDropdown),
25
+ labelGrid: r(d, l?.labelGrid, e.labelGrid),
26
+ labelGridcell: r(t, l?.labelGridcell, e.labelGridcell),
27
+ labelNav: r(n, l?.labelNav, e.labelNav),
28
+ labelWeekNumberHeader: r(i, l?.labelWeekNumberHeader, e.labelWeekNumberHeader),
29
+ labelWeekday: r(b, l?.labelWeekday, e.labelWeekday)
30
+ };
6
31
  }
7
32
  export {
8
- m as MonthsDropdown
33
+ Y as getLabels
9
34
  };
10
35
  //# sourceMappingURL=index116.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index116.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]}
1
+ {"version":3,"file":"index116.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getLabels.js"],"sourcesContent":["import * as defaultLabels from \"../labels/index.js\";\nconst resolveLabel = (defaultLabel, customLabel, localeLabel) => {\n if (customLabel)\n return customLabel;\n if (localeLabel) {\n return (typeof localeLabel === \"function\"\n ? localeLabel\n : (..._args) => localeLabel);\n }\n return defaultLabel;\n};\n/**\n * Merges custom labels from the props with the default labels.\n *\n * When available, uses the locale-provided translation for `labelNext`.\n *\n * @param customLabels The custom labels provided in the DayPicker props.\n * @param options Options from the date library, used to resolve locale\n * translations.\n * @returns The merged labels object with locale-aware defaults.\n */\nexport function getLabels(customLabels, options) {\n const localeLabels = options.locale?.labels ?? {};\n return {\n ...defaultLabels,\n ...(customLabels ?? {}),\n labelDayButton: resolveLabel(defaultLabels.labelDayButton, customLabels?.labelDayButton, localeLabels.labelDayButton),\n labelMonthDropdown: resolveLabel(defaultLabels.labelMonthDropdown, customLabels?.labelMonthDropdown, localeLabels.labelMonthDropdown),\n labelNext: resolveLabel(defaultLabels.labelNext, customLabels?.labelNext, localeLabels.labelNext),\n labelPrevious: resolveLabel(defaultLabels.labelPrevious, customLabels?.labelPrevious, localeLabels.labelPrevious),\n labelWeekNumber: resolveLabel(defaultLabels.labelWeekNumber, customLabels?.labelWeekNumber, localeLabels.labelWeekNumber),\n labelYearDropdown: resolveLabel(defaultLabels.labelYearDropdown, customLabels?.labelYearDropdown, localeLabels.labelYearDropdown),\n labelGrid: resolveLabel(defaultLabels.labelGrid, customLabels?.labelGrid, localeLabels.labelGrid),\n labelGridcell: resolveLabel(defaultLabels.labelGridcell, customLabels?.labelGridcell, localeLabels.labelGridcell),\n labelNav: resolveLabel(defaultLabels.labelNav, customLabels?.labelNav, localeLabels.labelNav),\n labelWeekNumberHeader: resolveLabel(defaultLabels.labelWeekNumberHeader, customLabels?.labelWeekNumberHeader, localeLabels.labelWeekNumberHeader),\n labelWeekday: resolveLabel(defaultLabels.labelWeekday, customLabels?.labelWeekday, localeLabels.labelWeekday),\n };\n}\n"],"names":["resolveLabel","defaultLabel","customLabel","localeLabel","_args","getLabels","customLabels","options","localeLabels","defaultLabels","defaultLabels.labelDayButton","defaultLabels.labelMonthDropdown","defaultLabels.labelNext","defaultLabels.labelPrevious","defaultLabels.labelWeekNumber","defaultLabels.labelYearDropdown","defaultLabels.labelGrid","defaultLabels.labelGridcell","defaultLabels.labelNav","defaultLabels.labelWeekNumberHeader","defaultLabels.labelWeekday"],"mappings":";;;;;;;;;;;;AACA,MAAMA,IAAe,CAACC,GAAcC,GAAaC,MACzCD,MAEAC,IACQ,OAAOA,KAAgB,aACzBA,IACA,IAAIC,MAAUD,IAEjBF;AAYJ,SAASI,EAAUC,GAAcC,GAAS;AAC7C,QAAMC,IAAeD,EAAQ,QAAQ,UAAU,CAAA;AAC/C,SAAO;AAAA,IACH,GAAGE;AAAAA,IACH,GAAIH,KAAgB,CAAA;AAAA,IACpB,gBAAgBN,EAAaU,GAA8BJ,GAAc,gBAAgBE,EAAa,cAAc;AAAA,IACpH,oBAAoBR,EAAaW,GAAkCL,GAAc,oBAAoBE,EAAa,kBAAkB;AAAA,IACpI,WAAWR,EAAaY,GAAyBN,GAAc,WAAWE,EAAa,SAAS;AAAA,IAChG,eAAeR,EAAaa,GAA6BP,GAAc,eAAeE,EAAa,aAAa;AAAA,IAChH,iBAAiBR,EAAac,GAA+BR,GAAc,iBAAiBE,EAAa,eAAe;AAAA,IACxH,mBAAmBR,EAAae,GAAiCT,GAAc,mBAAmBE,EAAa,iBAAiB;AAAA,IAChI,WAAWR,EAAagB,GAAyBV,GAAc,WAAWE,EAAa,SAAS;AAAA,IAChG,eAAeR,EAAaiB,GAA6BX,GAAc,eAAeE,EAAa,aAAa;AAAA,IAChH,UAAUR,EAAakB,GAAwBZ,GAAc,UAAUE,EAAa,QAAQ;AAAA,IAC5F,uBAAuBR,EAAamB,GAAqCb,GAAc,uBAAuBE,EAAa,qBAAqB;AAAA,IAChJ,cAAcR,EAAaoB,GAA4Bd,GAAc,cAAcE,EAAa,YAAY;AAAA,EACpH;AACA;","x_google_ignoreList":[0]}
package/dist/index117.js CHANGED
@@ -1,28 +1,14 @@
1
- import n, { useCallback as u } from "react";
2
- import { UI as i } from "./index143.js";
3
- import { useDayPicker as v } from "./index146.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
- );
1
+ function d(o, n, s, a, e) {
2
+ const { startOfMonth: r, startOfYear: c, endOfYear: f, eachMonthOfInterval: l, getMonth: p } = e;
3
+ return l({
4
+ start: c(o),
5
+ end: f(o)
6
+ }).map((t) => {
7
+ const O = a.formatMonthDropdown(t, e), h = p(t), u = n && t < r(n) || s && t > r(s) || !1;
8
+ return { value: h, label: O, disabled: u };
9
+ });
24
10
  }
25
11
  export {
26
- x as Nav
12
+ d as getMonthOptions
27
13
  };
28
14
  //# sourceMappingURL=index117.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index117.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]}
1
+ {"version":3,"file":"index117.js","sources":["../../../node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.js"],"sourcesContent":["/**\n * Returns the months to show in the dropdown.\n *\n * This function generates a list of months for the current year, formatted\n * using the provided formatter, and determines whether each month should be\n * disabled based on the navigation range.\n *\n * @param displayMonth The currently displayed month.\n * @param navStart The start date for navigation.\n * @param navEnd The end date for navigation.\n * @param formatters The formatters to use for formatting the month labels.\n * @param dateLib The date library to use for date manipulation.\n * @returns An array of dropdown options representing the months, or `undefined`\n * if no months are available.\n */\nexport function getMonthOptions(displayMonth, navStart, navEnd, formatters, dateLib) {\n const { startOfMonth, startOfYear, endOfYear, eachMonthOfInterval, getMonth, } = dateLib;\n const months = eachMonthOfInterval({\n start: startOfYear(displayMonth),\n end: endOfYear(displayMonth),\n });\n const options = months.map((month) => {\n const label = formatters.formatMonthDropdown(month, dateLib);\n const value = getMonth(month);\n const disabled = (navStart && month < startOfMonth(navStart)) ||\n (navEnd && month > startOfMonth(navEnd)) ||\n false;\n return { value, label, disabled };\n });\n return options;\n}\n"],"names":["getMonthOptions","displayMonth","navStart","navEnd","formatters","dateLib","startOfMonth","startOfYear","endOfYear","eachMonthOfInterval","getMonth","month","label","value","disabled"],"mappings":"AAeO,SAASA,EAAgBC,GAAcC,GAAUC,GAAQC,GAAYC,GAAS;AACjF,QAAM,EAAE,cAAAC,GAAc,aAAAC,GAAa,WAAAC,GAAW,qBAAAC,GAAqB,UAAAC,EAAQ,IAAML;AAajF,SAZeI,EAAoB;AAAA,IAC/B,OAAOF,EAAYN,CAAY;AAAA,IAC/B,KAAKO,EAAUP,CAAY;AAAA,EACnC,CAAK,EACsB,IAAI,CAACU,MAAU;AAClC,UAAMC,IAAQR,EAAW,oBAAoBO,GAAON,CAAO,GACrDQ,IAAQH,EAASC,CAAK,GACtBG,IAAYZ,KAAYS,IAAQL,EAAaJ,CAAQ,KACtDC,KAAUQ,IAAQL,EAAaH,CAAM,KACtC;AACJ,WAAO,EAAE,OAAAU,GAAO,OAAAD,GAAO,UAAAE,EAAQ;AAAA,EACnC,CAAC;AAEL;","x_google_ignoreList":[0]}