@rpcbase/ui 0.182.0 → 0.184.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 (652) hide show
  1. package/dist/helpers/index.d.ts +1 -0
  2. package/dist/helpers/index.d.ts.map +1 -1
  3. package/dist/helpers/useScrollPagination.d.ts +23 -0
  4. package/dist/helpers/useScrollPagination.d.ts.map +1 -0
  5. package/dist/helpers/useScrollPagination.test.d.ts +2 -0
  6. package/dist/helpers/useScrollPagination.test.d.ts.map +1 -0
  7. package/dist/index.js +62 -60
  8. package/dist/index.js.map +1 -1
  9. package/dist/index10.js +24 -69
  10. package/dist/index10.js.map +1 -1
  11. package/dist/index100.js +4 -3
  12. package/dist/index100.js.map +1 -1
  13. package/dist/index101.js +5 -4
  14. package/dist/index101.js.map +1 -1
  15. package/dist/index102.js +4 -6
  16. package/dist/index102.js.map +1 -1
  17. package/dist/index103.js +4 -145
  18. package/dist/index103.js.map +1 -1
  19. package/dist/index104.js +6 -39
  20. package/dist/index104.js.map +1 -1
  21. package/dist/index105.js +24 -4
  22. package/dist/index105.js.map +1 -1
  23. package/dist/index106.js +6 -7
  24. package/dist/index106.js.map +1 -1
  25. package/dist/index107.js +4 -13
  26. package/dist/index107.js.map +1 -1
  27. package/dist/index108.js +6 -13
  28. package/dist/index108.js.map +1 -1
  29. package/dist/index109.js +5 -7
  30. package/dist/index109.js.map +1 -1
  31. package/dist/index11.js +38 -552
  32. package/dist/index11.js.map +1 -1
  33. package/dist/index110.js +4 -31
  34. package/dist/index110.js.map +1 -1
  35. package/dist/index111.js +5 -10
  36. package/dist/index111.js.map +1 -1
  37. package/dist/index112.js +4 -10
  38. package/dist/index112.js.map +1 -1
  39. package/dist/index113.js +8 -8
  40. package/dist/index113.js.map +1 -1
  41. package/dist/index114.js +5 -13
  42. package/dist/index114.js.map +1 -1
  43. package/dist/index115.js +4 -101
  44. package/dist/index115.js.map +1 -1
  45. package/dist/index116.js +5 -20
  46. package/dist/index116.js.map +1 -1
  47. package/dist/index117.js +6 -53
  48. package/dist/index117.js.map +1 -1
  49. package/dist/index118.js +145 -72
  50. package/dist/index118.js.map +1 -1
  51. package/dist/index119.js +39 -9
  52. package/dist/index119.js.map +1 -1
  53. package/dist/index12.js +571 -115
  54. package/dist/index12.js.map +1 -1
  55. package/dist/index120.js +4 -20
  56. package/dist/index120.js.map +1 -1
  57. package/dist/index121.js +7 -16
  58. package/dist/index121.js.map +1 -1
  59. package/dist/index122.js +13 -23
  60. package/dist/index122.js.map +1 -1
  61. package/dist/index123.js +13 -6
  62. package/dist/index123.js.map +1 -1
  63. package/dist/index124.js +7 -5
  64. package/dist/index124.js.map +1 -1
  65. package/dist/index125.js +31 -23
  66. package/dist/index125.js.map +1 -1
  67. package/dist/index126.js +11 -35
  68. package/dist/index126.js.map +1 -1
  69. package/dist/index127.js +11 -16
  70. package/dist/index127.js.map +1 -1
  71. package/dist/index128.js +8 -6
  72. package/dist/index128.js.map +1 -1
  73. package/dist/index129.js +13 -4
  74. package/dist/index129.js.map +1 -1
  75. package/dist/index13.js +137 -76
  76. package/dist/index13.js.map +1 -1
  77. package/dist/index130.js +101 -4
  78. package/dist/index130.js.map +1 -1
  79. package/dist/index131.js +20 -5
  80. package/dist/index131.js.map +1 -1
  81. package/dist/index132.js +53 -4
  82. package/dist/index132.js.map +1 -1
  83. package/dist/index133.js +72 -3
  84. package/dist/index133.js.map +1 -1
  85. package/dist/index134.js +9 -6
  86. package/dist/index134.js.map +1 -1
  87. package/dist/index135.js +21 -24
  88. package/dist/index135.js.map +1 -1
  89. package/dist/index136.js +16 -7
  90. package/dist/index136.js.map +1 -1
  91. package/dist/index137.js +23 -6
  92. package/dist/index137.js.map +1 -1
  93. package/dist/index138.js +6 -5
  94. package/dist/index138.js.map +1 -1
  95. package/dist/index139.js +5 -3
  96. package/dist/index139.js.map +1 -1
  97. package/dist/index14.js +74 -730
  98. package/dist/index14.js.map +1 -1
  99. package/dist/index140.js +23 -3
  100. package/dist/index140.js.map +1 -1
  101. package/dist/index141.js +35 -5
  102. package/dist/index141.js.map +1 -1
  103. package/dist/index142.js +16 -4
  104. package/dist/index142.js.map +1 -1
  105. package/dist/index143.js +6 -4
  106. package/dist/index143.js.map +1 -1
  107. package/dist/index144.js +4 -3
  108. package/dist/index144.js.map +1 -1
  109. package/dist/index145.js +4 -3
  110. package/dist/index145.js.map +1 -1
  111. package/dist/index146.js +4 -3
  112. package/dist/index146.js.map +1 -1
  113. package/dist/index147.js +4 -46
  114. package/dist/index147.js.map +1 -1
  115. package/dist/index148.js +3 -46
  116. package/dist/index148.js.map +1 -1
  117. package/dist/index149.js +6 -205
  118. package/dist/index149.js.map +1 -1
  119. package/dist/index15.js +870 -22
  120. package/dist/index15.js.map +1 -1
  121. package/dist/index150.js +24 -22
  122. package/dist/index150.js.map +1 -1
  123. package/dist/index151.js +7 -24
  124. package/dist/index151.js.map +1 -1
  125. package/dist/index152.js +6 -399
  126. package/dist/index152.js.map +1 -1
  127. package/dist/index153.js +5 -5
  128. package/dist/index153.js.map +1 -1
  129. package/dist/index154.js +3 -68
  130. package/dist/index154.js.map +1 -1
  131. package/dist/index155.js +4 -2
  132. package/dist/index155.js.map +1 -1
  133. package/dist/index156.js +4 -363
  134. package/dist/index156.js.map +1 -1
  135. package/dist/index157.js +3 -261
  136. package/dist/index157.js.map +1 -1
  137. package/dist/index158.js +4 -60
  138. package/dist/index158.js.map +1 -1
  139. package/dist/index159.js +3 -46
  140. package/dist/index159.js.map +1 -1
  141. package/dist/index16.js +20 -17
  142. package/dist/index16.js.map +1 -1
  143. package/dist/index160.js +3 -169
  144. package/dist/index160.js.map +1 -1
  145. package/dist/index161.js +3 -109
  146. package/dist/index161.js.map +1 -1
  147. package/dist/index162.js +5 -24
  148. package/dist/index162.js.map +1 -1
  149. package/dist/index163.js +69 -8
  150. package/dist/index163.js.map +1 -1
  151. package/dist/index164.js +2 -5
  152. package/dist/index164.js.map +1 -1
  153. package/dist/index165.js +363 -5
  154. package/dist/index165.js.map +1 -1
  155. package/dist/index166.js +261 -4
  156. package/dist/index166.js.map +1 -1
  157. package/dist/index167.js +52 -458
  158. package/dist/index167.js.map +1 -1
  159. package/dist/index168.js +42 -181
  160. package/dist/index168.js.map +1 -1
  161. package/dist/index169.js +156 -94
  162. package/dist/index169.js.map +1 -1
  163. package/dist/index17.js +18 -387
  164. package/dist/index17.js.map +1 -1
  165. package/dist/index170.js +102 -255
  166. package/dist/index170.js.map +1 -1
  167. package/dist/index171.js +24 -9
  168. package/dist/index171.js.map +1 -1
  169. package/dist/index172.js +8 -43
  170. package/dist/index172.js.map +1 -1
  171. package/dist/index173.js +4 -4
  172. package/dist/index173.js.map +1 -1
  173. package/dist/index174.js +5 -605
  174. package/dist/index174.js.map +1 -1
  175. package/dist/index175.js +4 -58
  176. package/dist/index175.js.map +1 -1
  177. package/dist/index176.js +466 -8
  178. package/dist/index176.js.map +1 -1
  179. package/dist/index177.js +178 -59
  180. package/dist/index177.js.map +1 -1
  181. package/dist/index178.js +105 -17
  182. package/dist/index178.js.map +1 -1
  183. package/dist/index179.js +260 -14
  184. package/dist/index179.js.map +1 -1
  185. package/dist/index18.js +431 -693
  186. package/dist/index18.js.map +1 -1
  187. package/dist/index180.js +9 -5
  188. package/dist/index180.js.map +1 -1
  189. package/dist/index181.js +41 -4
  190. package/dist/index181.js.map +1 -1
  191. package/dist/index182.js +4 -6
  192. package/dist/index182.js.map +1 -1
  193. package/dist/index183.js +24 -4
  194. package/dist/index183.js.map +1 -1
  195. package/dist/index184.js +29 -8
  196. package/dist/index184.js.map +1 -1
  197. package/dist/index185.js +5 -18
  198. package/dist/index185.js.map +1 -1
  199. package/dist/index186.js +67 -5
  200. package/dist/index186.js.map +1 -1
  201. package/dist/index187.js +180 -5
  202. package/dist/index187.js.map +1 -1
  203. package/dist/index188.js +46 -13
  204. package/dist/index188.js.map +1 -1
  205. package/dist/index189.js +58 -10
  206. package/dist/index189.js.map +1 -1
  207. package/dist/index19.js +661 -634
  208. package/dist/index19.js.map +1 -1
  209. package/dist/index190.js +8 -14
  210. package/dist/index190.js.map +1 -1
  211. package/dist/index191.js +66 -14
  212. package/dist/index191.js.map +1 -1
  213. package/dist/index192.js +19 -5
  214. package/dist/index192.js.map +1 -1
  215. package/dist/index193.js +16 -6
  216. package/dist/index193.js.map +1 -1
  217. package/dist/index194.js +5 -7
  218. package/dist/index194.js.map +1 -1
  219. package/dist/index195.js +5 -6
  220. package/dist/index195.js.map +1 -1
  221. package/dist/index196.js +6 -9
  222. package/dist/index196.js.map +1 -1
  223. package/dist/index197.js +4 -5
  224. package/dist/index197.js.map +1 -1
  225. package/dist/index198.js +7 -5
  226. package/dist/index198.js.map +1 -1
  227. package/dist/index199.js +17 -9
  228. package/dist/index199.js.map +1 -1
  229. package/dist/index2.js +2 -2
  230. package/dist/index20.js +455 -198
  231. package/dist/index20.js.map +1 -1
  232. package/dist/index200.js +5 -5
  233. package/dist/index200.js.map +1 -1
  234. package/dist/index201.js +5 -5
  235. package/dist/index201.js.map +1 -1
  236. package/dist/index202.js +13 -4
  237. package/dist/index202.js.map +1 -1
  238. package/dist/index203.js +9 -10
  239. package/dist/index203.js.map +1 -1
  240. package/dist/index204.js +14 -10
  241. package/dist/index204.js.map +1 -1
  242. package/dist/index205.js +14 -10
  243. package/dist/index205.js.map +1 -1
  244. package/dist/index206.js +5 -11
  245. package/dist/index206.js.map +1 -1
  246. package/dist/index207.js +6 -11
  247. package/dist/index207.js.map +1 -1
  248. package/dist/index208.js +6 -9
  249. package/dist/index208.js.map +1 -1
  250. package/dist/index209.js +6 -7
  251. package/dist/index209.js.map +1 -1
  252. package/dist/index21.js +263 -5
  253. package/dist/index21.js.map +1 -1
  254. package/dist/index210.js +9 -6
  255. package/dist/index210.js.map +1 -1
  256. package/dist/index211.js +5 -5
  257. package/dist/index211.js.map +1 -1
  258. package/dist/index212.js +5 -6
  259. package/dist/index212.js.map +1 -1
  260. package/dist/index213.js +9 -7
  261. package/dist/index213.js.map +1 -1
  262. package/dist/index214.js +5 -6
  263. package/dist/index214.js.map +1 -1
  264. package/dist/index215.js +5 -55
  265. package/dist/index215.js.map +1 -1
  266. package/dist/index216.js +4 -16
  267. package/dist/index216.js.map +1 -1
  268. package/dist/index217.js +11 -7
  269. package/dist/index217.js.map +1 -1
  270. package/dist/index218.js +10 -10
  271. package/dist/index218.js.map +1 -1
  272. package/dist/index219.js +10 -10
  273. package/dist/index219.js.map +1 -1
  274. package/dist/index22.js +5 -35
  275. package/dist/index22.js.map +1 -1
  276. package/dist/index220.js +11 -21
  277. package/dist/index220.js.map +1 -1
  278. package/dist/index221.js +11 -10
  279. package/dist/index221.js.map +1 -1
  280. package/dist/index222.js +10 -9
  281. package/dist/index222.js.map +1 -1
  282. package/dist/index223.js +7 -9
  283. package/dist/index223.js.map +1 -1
  284. package/dist/index224.js +6 -4
  285. package/dist/index224.js.map +1 -1
  286. package/dist/index225.js +5 -5
  287. package/dist/index225.js.map +1 -1
  288. package/dist/index226.js +6 -16
  289. package/dist/index226.js.map +1 -1
  290. package/dist/index227.js +7 -9
  291. package/dist/index227.js.map +1 -1
  292. package/dist/index228.js +6 -18
  293. package/dist/index228.js.map +1 -1
  294. package/dist/index229.js +54 -14
  295. package/dist/index229.js.map +1 -1
  296. package/dist/index23.js +27 -268
  297. package/dist/index23.js.map +1 -1
  298. package/dist/index230.js +16 -12
  299. package/dist/index230.js.map +1 -1
  300. package/dist/index231.js +7 -29
  301. package/dist/index231.js.map +1 -1
  302. package/dist/index232.js +9 -11
  303. package/dist/index232.js.map +1 -1
  304. package/dist/index233.js +9 -24
  305. package/dist/index233.js.map +1 -1
  306. package/dist/index234.js +21 -5
  307. package/dist/index234.js.map +1 -1
  308. package/dist/index235.js +10 -24
  309. package/dist/index235.js.map +1 -1
  310. package/dist/index236.js +10 -29
  311. package/dist/index236.js.map +1 -1
  312. package/dist/index237.js +10 -5
  313. package/dist/index237.js.map +1 -1
  314. package/dist/index238.js +4 -13
  315. package/dist/index238.js.map +1 -1
  316. package/dist/index239.js +5 -154
  317. package/dist/index239.js.map +1 -1
  318. package/dist/index24.js +251 -166
  319. package/dist/index24.js.map +1 -1
  320. package/dist/index240.js +15 -29
  321. package/dist/index240.js.map +1 -1
  322. package/dist/index241.js +9 -9
  323. package/dist/index241.js.map +1 -1
  324. package/dist/index242.js +18 -47
  325. package/dist/index242.js.map +1 -1
  326. package/dist/index243.js +15 -11
  327. package/dist/index243.js.map +1 -1
  328. package/dist/index244.js +12 -44
  329. package/dist/index244.js.map +1 -1
  330. package/dist/index245.js +28 -94
  331. package/dist/index245.js.map +1 -1
  332. package/dist/index246.js +11 -85
  333. package/dist/index246.js.map +1 -1
  334. package/dist/index247.js +23 -103
  335. package/dist/index247.js.map +1 -1
  336. package/dist/index248.js +5 -52
  337. package/dist/index248.js.map +1 -1
  338. package/dist/index249.js +13 -11
  339. package/dist/index249.js.map +1 -1
  340. package/dist/index25.js +176 -14
  341. package/dist/index25.js.map +1 -1
  342. package/dist/index250.js +149 -32
  343. package/dist/index250.js.map +1 -1
  344. package/dist/index251.js +30 -8
  345. package/dist/index251.js.map +1 -1
  346. package/dist/index252.js +9 -116
  347. package/dist/index252.js.map +1 -1
  348. package/dist/index253.js +46 -16
  349. package/dist/index253.js.map +1 -1
  350. package/dist/index254.js +11 -15
  351. package/dist/index254.js.map +1 -1
  352. package/dist/index255.js +44 -3
  353. package/dist/index255.js.map +1 -1
  354. package/dist/index256.js +91 -32
  355. package/dist/index256.js.map +1 -1
  356. package/dist/index257.js +85 -19
  357. package/dist/index257.js.map +1 -1
  358. package/dist/index258.js +105 -9
  359. package/dist/index258.js.map +1 -1
  360. package/dist/index259.js +52 -8
  361. package/dist/index259.js.map +1 -1
  362. package/dist/index26.js +15 -2763
  363. package/dist/index26.js.map +1 -1
  364. package/dist/index260.js +10 -18
  365. package/dist/index260.js.map +1 -1
  366. package/dist/index261.js +36 -27
  367. package/dist/index261.js.map +1 -1
  368. package/dist/index262.js +8 -16
  369. package/dist/index262.js.map +1 -1
  370. package/dist/index263.js +3 -67
  371. package/dist/index263.js.map +1 -1
  372. package/dist/index264.js +9 -180
  373. package/dist/index264.js.map +1 -1
  374. package/dist/index265.js +110 -40
  375. package/dist/index265.js.map +1 -1
  376. package/dist/index266.js +17 -4
  377. package/dist/index266.js.map +1 -1
  378. package/dist/index267.js +15 -18
  379. package/dist/index267.js.map +1 -1
  380. package/dist/index268.js +36 -12
  381. package/dist/index268.js.map +1 -1
  382. package/dist/index269.js +21 -5
  383. package/dist/index269.js.map +1 -1
  384. package/dist/index27.js +2761 -35
  385. package/dist/index27.js.map +1 -1
  386. package/dist/index270.js +9 -3
  387. package/dist/index270.js.map +1 -1
  388. package/dist/index271.js +19 -23
  389. package/dist/index271.js.map +1 -1
  390. package/dist/index272.js +26 -110
  391. package/dist/index272.js.map +1 -1
  392. package/dist/index273.js +16 -15
  393. package/dist/index273.js.map +1 -1
  394. package/dist/index274.js +5 -525
  395. package/dist/index274.js.map +1 -1
  396. package/dist/index275.js +3 -128
  397. package/dist/index275.js.map +1 -1
  398. package/dist/index276.js +22 -132
  399. package/dist/index276.js.map +1 -1
  400. package/dist/index277.js +111 -19
  401. package/dist/index277.js.map +1 -1
  402. package/dist/index278.js +15 -5
  403. package/dist/index278.js.map +1 -1
  404. package/dist/index279.js +524 -5
  405. package/dist/index279.js.map +1 -1
  406. package/dist/index28.js +2 -2
  407. package/dist/index280.js +128 -4
  408. package/dist/index280.js.map +1 -1
  409. package/dist/index281.js +132 -14
  410. package/dist/index281.js.map +1 -1
  411. package/dist/index282.js +4 -8
  412. package/dist/index282.js.map +1 -1
  413. package/dist/index283.js +19 -6
  414. package/dist/index283.js.map +1 -1
  415. package/dist/index284.js +12 -4
  416. package/dist/index284.js.map +1 -1
  417. package/dist/index285.js +19 -544
  418. package/dist/index285.js.map +1 -1
  419. package/dist/index286.js +65 -43
  420. package/dist/index286.js.map +1 -1
  421. package/dist/index287.js +9 -18
  422. package/dist/index287.js.map +1 -1
  423. package/dist/index288.js +14 -7
  424. package/dist/index288.js.map +1 -1
  425. package/dist/index289.js +66 -9
  426. package/dist/index289.js.map +1 -1
  427. package/dist/index29.js +33 -121
  428. package/dist/index29.js.map +1 -1
  429. package/dist/index290.js +64 -7
  430. package/dist/index290.js.map +1 -1
  431. package/dist/index291.js +5 -8
  432. package/dist/index291.js.map +1 -1
  433. package/dist/index292.js +5 -12
  434. package/dist/index292.js.map +1 -1
  435. package/dist/index293.js +4 -10
  436. package/dist/index293.js.map +1 -1
  437. package/dist/index294.js +15 -13
  438. package/dist/index294.js.map +1 -1
  439. package/dist/index295.js +8 -64
  440. package/dist/index295.js.map +1 -1
  441. package/dist/index296.js +6 -69
  442. package/dist/index296.js.map +1 -1
  443. package/dist/index297.js +5 -9
  444. package/dist/index297.js.map +1 -1
  445. package/dist/index298.js +545 -13
  446. package/dist/index298.js.map +1 -1
  447. package/dist/index299.js +45 -64
  448. package/dist/index299.js.map +1 -1
  449. package/dist/index3.js.map +1 -1
  450. package/dist/index30.js +3 -232
  451. package/dist/index30.js.map +1 -1
  452. package/dist/index300.js +17 -4
  453. package/dist/index300.js.map +1 -1
  454. package/dist/index301.js +7 -56
  455. package/dist/index301.js.map +1 -1
  456. package/dist/index302.js +9 -68
  457. package/dist/index302.js.map +1 -1
  458. package/dist/index303.js +8 -31
  459. package/dist/index303.js.map +1 -1
  460. package/dist/index304.js +9 -9
  461. package/dist/index304.js.map +1 -1
  462. package/dist/index305.js +13 -153
  463. package/dist/index305.js.map +1 -1
  464. package/dist/index306.js +10 -108
  465. package/dist/index306.js.map +1 -1
  466. package/dist/index307.js +13 -3
  467. package/dist/index307.js.map +1 -1
  468. package/dist/index308.js +3 -22
  469. package/dist/index308.js.map +1 -1
  470. package/dist/index309.js +22 -15
  471. package/dist/index309.js.map +1 -1
  472. package/dist/index31.js +123 -22
  473. package/dist/index31.js.map +1 -1
  474. package/dist/index310.js +4 -28
  475. package/dist/index310.js.map +1 -1
  476. package/dist/index311.js +56 -13
  477. package/dist/index311.js.map +1 -1
  478. package/dist/index312.js +68 -7
  479. package/dist/index312.js.map +1 -1
  480. package/dist/index313.js +30 -22
  481. package/dist/index313.js.map +1 -1
  482. package/dist/index314.js +9 -13
  483. package/dist/index314.js.map +1 -1
  484. package/dist/index315.js +151 -26
  485. package/dist/index315.js.map +1 -1
  486. package/dist/index316.js +107 -4
  487. package/dist/index316.js.map +1 -1
  488. package/dist/index317.js +26 -0
  489. package/dist/index317.js.map +1 -0
  490. package/dist/index318.js +16 -0
  491. package/dist/index318.js.map +1 -0
  492. package/dist/index319.js +31 -0
  493. package/dist/index319.js.map +1 -0
  494. package/dist/index32.js +230 -49
  495. package/dist/index32.js.map +1 -1
  496. package/dist/index320.js +8 -0
  497. package/dist/index320.js.map +1 -0
  498. package/dist/index321.js +19 -0
  499. package/dist/index321.js.map +1 -0
  500. package/dist/index322.js +32 -0
  501. package/dist/index322.js.map +1 -0
  502. package/dist/index323.js +16 -0
  503. package/dist/index323.js.map +1 -0
  504. package/dist/index324.js +10 -0
  505. package/dist/index324.js.map +1 -0
  506. package/dist/index33.js +20 -2637
  507. package/dist/index33.js.map +1 -1
  508. package/dist/index34.js +47 -390
  509. package/dist/index34.js.map +1 -1
  510. package/dist/index35.js +2604 -196
  511. package/dist/index35.js.map +1 -1
  512. package/dist/index36.js +390 -18
  513. package/dist/index36.js.map +1 -1
  514. package/dist/index37.js +222 -131
  515. package/dist/index37.js.map +1 -1
  516. package/dist/index38.js +18 -183
  517. package/dist/index38.js.map +1 -1
  518. package/dist/index39.js +118 -65
  519. package/dist/index39.js.map +1 -1
  520. package/dist/index4.js +17 -15
  521. package/dist/index4.js.map +1 -1
  522. package/dist/index40.js +216 -93
  523. package/dist/index40.js.map +1 -1
  524. package/dist/index41.js +90 -5
  525. package/dist/index41.js.map +1 -1
  526. package/dist/index42.js +115 -840
  527. package/dist/index42.js.map +1 -1
  528. package/dist/index43.js +6 -66
  529. package/dist/index43.js.map +1 -1
  530. package/dist/index44.js +843 -7
  531. package/dist/index44.js.map +1 -1
  532. package/dist/index45.js +57 -2
  533. package/dist/index45.js.map +1 -1
  534. package/dist/index46.js +7 -23
  535. package/dist/index46.js.map +1 -1
  536. package/dist/index47.js +2 -234
  537. package/dist/index47.js.map +1 -1
  538. package/dist/index48.js +11 -6
  539. package/dist/index48.js.map +1 -1
  540. package/dist/index49.js +18 -33
  541. package/dist/index49.js.map +1 -1
  542. package/dist/index5.js +34 -34
  543. package/dist/index5.js.map +1 -1
  544. package/dist/index50.js +7 -26
  545. package/dist/index50.js.map +1 -1
  546. package/dist/index51.js +2 -8
  547. package/dist/index51.js.map +1 -1
  548. package/dist/index52.js +22 -10
  549. package/dist/index52.js.map +1 -1
  550. package/dist/index53.js +233 -3
  551. package/dist/index53.js.map +1 -1
  552. package/dist/index54.js +201 -44
  553. package/dist/index54.js.map +1 -1
  554. package/dist/index55.js +3 -50
  555. package/dist/index55.js.map +1 -1
  556. package/dist/index56.js +6 -7
  557. package/dist/index56.js.map +1 -1
  558. package/dist/index57.js +47 -14
  559. package/dist/index57.js.map +1 -1
  560. package/dist/index58.js +22 -129
  561. package/dist/index58.js.map +1 -1
  562. package/dist/index59.js +50 -10
  563. package/dist/index59.js.map +1 -1
  564. package/dist/index6.js +172 -25
  565. package/dist/index6.js.map +1 -1
  566. package/dist/index60.js +7 -216
  567. package/dist/index60.js.map +1 -1
  568. package/dist/index61.js +15 -13
  569. package/dist/index61.js.map +1 -1
  570. package/dist/index62.js +128 -41
  571. package/dist/index62.js.map +1 -1
  572. package/dist/index63.js +9 -48
  573. package/dist/index63.js.map +1 -1
  574. package/dist/index64.js +216 -3
  575. package/dist/index64.js.map +1 -1
  576. package/dist/index65.js +13 -6
  577. package/dist/index65.js.map +1 -1
  578. package/dist/index66.js +34 -28
  579. package/dist/index66.js.map +1 -1
  580. package/dist/index67.js +46 -49
  581. package/dist/index67.js.map +1 -1
  582. package/dist/index68.js +8 -9
  583. package/dist/index68.js.map +1 -1
  584. package/dist/index69.js +50 -2
  585. package/dist/index69.js.map +1 -1
  586. package/dist/index7.js +31 -29
  587. package/dist/index7.js.map +1 -1
  588. package/dist/index70.js +4 -2
  589. package/dist/index70.js.map +1 -1
  590. package/dist/index71.js +6 -205
  591. package/dist/index71.js.map +1 -1
  592. package/dist/index72.js +28 -54
  593. package/dist/index72.js.map +1 -1
  594. package/dist/index73.js +50 -6
  595. package/dist/index73.js.map +1 -1
  596. package/dist/index74.js +9 -8
  597. package/dist/index74.js.map +1 -1
  598. package/dist/index75.js +2 -6
  599. package/dist/index75.js.map +1 -1
  600. package/dist/index76.js +2 -52
  601. package/dist/index76.js.map +1 -1
  602. package/dist/index77.js +11 -4
  603. package/dist/index77.js.map +1 -1
  604. package/dist/index78.js +5 -4
  605. package/dist/index78.js.map +1 -1
  606. package/dist/index79.js +7 -15
  607. package/dist/index79.js.map +1 -1
  608. package/dist/index8.js +25 -222
  609. package/dist/index8.js.map +1 -1
  610. package/dist/index80.js +5 -5
  611. package/dist/index80.js.map +1 -1
  612. package/dist/index81.js +2 -8
  613. package/dist/index81.js.map +1 -1
  614. package/dist/index82.js +2 -17
  615. package/dist/index82.js.map +1 -1
  616. package/dist/index83.js +53 -4
  617. package/dist/index83.js.map +1 -1
  618. package/dist/index84.js +46 -4
  619. package/dist/index84.js.map +1 -1
  620. package/dist/index85.js +205 -5
  621. package/dist/index85.js.map +1 -1
  622. package/dist/index86.js +22 -6
  623. package/dist/index86.js.map +1 -1
  624. package/dist/index87.js +24 -4
  625. package/dist/index87.js.map +1 -1
  626. package/dist/index88.js +399 -4
  627. package/dist/index88.js.map +1 -1
  628. package/dist/index89.js +46 -6
  629. package/dist/index89.js.map +1 -1
  630. package/dist/index9.js +177 -23
  631. package/dist/index9.js.map +1 -1
  632. package/dist/index90.js +604 -23
  633. package/dist/index90.js.map +1 -1
  634. package/dist/index91.js +52 -7
  635. package/dist/index91.js.map +1 -1
  636. package/dist/index92.js +3 -3
  637. package/dist/index92.js.map +1 -1
  638. package/dist/index93.js +4 -6
  639. package/dist/index93.js.map +1 -1
  640. package/dist/index94.js +15 -5
  641. package/dist/index94.js.map +1 -1
  642. package/dist/index95.js +5 -4
  643. package/dist/index95.js.map +1 -1
  644. package/dist/index96.js +7 -5
  645. package/dist/index96.js.map +1 -1
  646. package/dist/index97.js +16 -4
  647. package/dist/index97.js.map +1 -1
  648. package/dist/index98.js +4 -8
  649. package/dist/index98.js.map +1 -1
  650. package/dist/index99.js +4 -5
  651. package/dist/index99.js.map +1 -1
  652. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":["../src/components/FilesUploadField/index.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState, type ReactNode } from \"react\"\nimport { createPortal } from \"react-dom\"\nimport type { DragEndEvent } from \"@dnd-kit/core\"\nimport { DndContext, DragOverlay, KeyboardSensor, PointerSensor, closestCenter, useSensor, useSensors } from \"@dnd-kit/core\"\nimport {\n SortableContext,\n arrayMove,\n rectSortingStrategy,\n sortableKeyboardCoordinates,\n useSortable,\n} from \"@dnd-kit/sortable\"\nimport { CSS } from \"@dnd-kit/utilities\"\nimport { Loader2, Maximize2, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nexport type FilesUploadFieldFile = {\n id: string\n url: string\n alt?: string\n uploadKey?: string\n}\n\nconst TENANT_ID_QUERY_PARAM = \"rb-tenant-id\"\n\ntype FileUploadsInitResponse = {\n ok: boolean\n error?: string\n uploadId?: string\n uploadKey?: string\n chunkSize?: number\n chunksTotal?: number\n}\n\ntype FileUploadsStatusResponse = {\n ok: boolean\n error?: string\n status?: \"uploading\" | \"assembling\" | \"done\" | \"error\"\n chunkSize?: number\n chunksTotal?: number\n received?: number[]\n fileId?: string\n}\n\ntype FileUploadsCompleteResponse = {\n ok: boolean\n error?: string\n fileId?: string\n}\n\nconst sha256Hex = async (data: ArrayBuffer): Promise<string | null> => {\n if (typeof crypto === \"undefined\" || typeof crypto.subtle === \"undefined\") return null\n try {\n const digest = await crypto.subtle.digest(\"SHA-256\", data)\n const bytes = Array.from(new Uint8Array(digest))\n return bytes.map((b) => b.toString(16).padStart(2, \"0\")).join(\"\")\n } catch {\n return null\n }\n}\n\nconst readTenantIdFromLocation = (): string | null => {\n if (typeof window === \"undefined\") return null\n const raw = new URLSearchParams(window.location.search || \"\").get(TENANT_ID_QUERY_PARAM)\n const normalized = raw?.trim() ?? \"\"\n return normalized ? normalized : null\n}\n\nconst withTenant = (path: string, tenantId: string | null): string => {\n if (!tenantId) return path\n const sep = path.includes(\"?\") ? \"&\" : \"?\"\n return `${path}${sep}${TENANT_ID_QUERY_PARAM}=${encodeURIComponent(tenantId)}`\n}\n\nconst postJson = async <T,>(\n url: string,\n body: unknown,\n options?: { headers?: Record<string, string>; signal?: AbortSignal },\n): Promise<{ ok: boolean; status: number; data: T }> => {\n const response = await fetch(url, {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\", ...(options?.headers ?? {}) },\n credentials: \"include\",\n body: JSON.stringify(body),\n signal: options?.signal,\n })\n\n const payload = await response.json().catch(() => ({}))\n return { ok: response.ok, status: response.status, data: payload as T }\n}\n\nconst getJson = async <T,>(\n url: string,\n options?: { headers?: Record<string, string>; signal?: AbortSignal },\n): Promise<{ ok: boolean; status: number; data: T }> => {\n const response = await fetch(url, {\n credentials: \"include\",\n headers: options?.headers,\n signal: options?.signal,\n })\n const payload = await response.json().catch(() => ({}))\n return { ok: response.ok, status: response.status, data: payload as T }\n}\n\nconst putOctetStream = async ({\n url,\n body,\n sha256,\n uploadKey,\n signal,\n}: {\n url: string\n body: ArrayBuffer\n sha256?: string\n uploadKey?: string\n signal?: AbortSignal\n}): Promise<{ ok: boolean; status: number }> => {\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/octet-stream\",\n }\n if (sha256) headers[\"X-Chunk-SHA256\"] = sha256\n if (uploadKey) headers[\"X-Upload-Key\"] = uploadKey\n\n const response = await fetch(url, {\n method: \"PUT\",\n credentials: \"include\",\n headers,\n body,\n signal,\n })\n\n return { ok: response.ok, status: response.status }\n}\n\nconst defaultUpload: UploadHandler = async (file, onProgress, options) => {\n const tenantId = readTenantIdFromLocation()\n\n const initRes = await postJson<FileUploadsInitResponse>(\n withTenant(\"/api/rb/file-uploads\", tenantId),\n {\n filename: file.name,\n mimeType: file.type || \"application/octet-stream\",\n ...(typeof options?.isPublic === \"boolean\" ? { isPublic: options.isPublic } : {}),\n totalSize: file.size,\n },\n { signal: options?.signal },\n )\n\n if (!initRes.ok || !(initRes.data as any)?.ok) {\n throw new Error((initRes.data as any)?.error ?? `Init failed (${initRes.status})`)\n }\n\n const uploadId = String((initRes.data as any)?.uploadId ?? \"\")\n const uploadKey = typeof (initRes.data as any)?.uploadKey === \"string\" ? String((initRes.data as any).uploadKey) : null\n const chunkSize = Number((initRes.data as any)?.chunkSize ?? 0)\n const chunksTotal = Number((initRes.data as any)?.chunksTotal ?? 0)\n\n if (!uploadId || !chunkSize || !chunksTotal) {\n throw new Error(\"Upload init missing required fields\")\n }\n\n const doUploadChunk = async (index: number) => {\n const start = index * chunkSize\n const end = Math.min(file.size, start + chunkSize)\n const slice = file.slice(start, end)\n const body = await slice.arrayBuffer()\n const sha = await sha256Hex(body)\n\n const res = await putOctetStream({\n url: withTenant(`/api/rb/file-uploads/${encodeURIComponent(uploadId)}/chunks/${index}`, tenantId),\n body,\n sha256: sha ?? undefined,\n uploadKey: uploadKey ?? undefined,\n signal: options?.signal,\n })\n\n if (res.status === 204) return\n throw new Error(`Chunk ${index} failed (${res.status})`)\n }\n\n const uploadChunks = async (indices: number[], alreadyUploaded = 0) => {\n let uploaded = alreadyUploaded\n\n for (const idx of indices) {\n await doUploadChunk(idx)\n uploaded += 1\n const pct = Math.min(99, Math.floor((uploaded / chunksTotal) * 99))\n onProgress(pct)\n }\n }\n\n const allIndices = Array.from({ length: chunksTotal }, (_, i) => i)\n await uploadChunks(allIndices, 0)\n\n const complete = async (): Promise<string> => {\n const completeRes = await postJson<FileUploadsCompleteResponse>(\n withTenant(`/api/rb/file-uploads/${encodeURIComponent(uploadId)}/complete`, tenantId),\n {},\n { headers: uploadKey ? { \"X-Upload-Key\": uploadKey } : undefined, signal: options?.signal },\n )\n\n if (completeRes.ok && (completeRes.data as any)?.ok) {\n const fileId = String((completeRes.data as any)?.fileId ?? \"\")\n if (!fileId) throw new Error(\"Upload completed without fileId\")\n return fileId\n }\n\n const code = String((completeRes.data as any)?.error ?? \"\")\n if (completeRes.status !== 409 || code !== \"missing_chunks\") {\n throw new Error(code || `Complete failed (${completeRes.status})`)\n }\n\n const statusRes = await getJson<FileUploadsStatusResponse>(\n withTenant(`/api/rb/file-uploads/${encodeURIComponent(uploadId)}/status`, tenantId),\n { headers: uploadKey ? { \"X-Upload-Key\": uploadKey } : undefined, signal: options?.signal },\n )\n\n if (!statusRes.ok || !(statusRes.data as any)?.ok) {\n throw new Error((statusRes.data as any)?.error ?? `Status failed (${statusRes.status})`)\n }\n\n const received = Array.isArray((statusRes.data as any)?.received) ? (statusRes.data as any).received : []\n const present = new Set<number>(received)\n const missing: number[] = []\n for (let i = 0; i < chunksTotal; i += 1) {\n if (!present.has(i)) missing.push(i)\n }\n\n if (!missing.length) {\n throw new Error(\"missing_chunks\")\n }\n\n await uploadChunks(missing, present.size)\n return complete()\n }\n\n const fileId = await complete()\n\n onProgress(100)\n return {\n id: fileId,\n url: withTenant(`/api/rb/files/${encodeURIComponent(fileId)}`, tenantId),\n alt: file.name,\n ...(uploadKey ? { uploadKey } : {}),\n }\n}\n\nfunction SortableTile({\n item,\n isHovered,\n enableImagePreview,\n renderItem,\n onHoverEnter,\n onHoverLeave,\n onRemove,\n onRetry,\n startFullscreen,\n isUploading,\n isError,\n tileClasses,\n disabled,\n isDraggingExternal,\n removeButtonAriaLabel,\n}: {\n item: FileWithState\n isHovered: boolean\n enableImagePreview: boolean\n renderItem?: (props: FilesUploadFieldRenderItemProps) => ReactNode\n onHoverEnter: () => void\n onHoverLeave: () => void\n onRemove: (id: string) => void\n onRetry: (id: string) => void\n startFullscreen: (id: string) => void\n isUploading: boolean\n isError: boolean\n tileClasses: string\n disabled: boolean\n isDraggingExternal: boolean\n removeButtonAriaLabel: string\n}) {\n const { setNodeRef, attributes, listeners, transform, transition, isDragging } = useSortable({\n id: item.id,\n disabled,\n })\n\n const tileRef = useRef<HTMLDivElement | null>(null)\n const previewRef = useRef<HTMLDivElement | null>(null)\n const [previewPosition, setPreviewPosition] = useState<{ left: number; top: number } | null>(null)\n\n const updatePreviewPosition = () => {\n const el = tileRef.current\n if (!el) return\n const rect = el.getBoundingClientRect()\n setPreviewPosition({ left: rect.left + rect.width / 2, top: rect.top - 10 })\n }\n\n useEffect(() => {\n if (!enableImagePreview || !isHovered) {\n setPreviewPosition(null)\n return\n }\n\n updatePreviewPosition()\n\n let raf = 0\n const schedule = () => {\n if (raf) cancelAnimationFrame(raf)\n raf = requestAnimationFrame(() => {\n raf = 0\n updatePreviewPosition()\n })\n }\n\n window.addEventListener(\"resize\", schedule)\n window.addEventListener(\"scroll\", schedule, true)\n return () => {\n if (raf) cancelAnimationFrame(raf)\n window.removeEventListener(\"resize\", schedule)\n window.removeEventListener(\"scroll\", schedule, true)\n }\n }, [enableImagePreview, isHovered])\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n }\n\n const tileContent = renderItem\n ? renderItem({\n file: { id: item.id, url: item.url, alt: item.alt, uploadKey: item.uploadKey },\n previewUrl: item.previewUrl,\n status: item.status,\n progress: item.progress,\n fileName: item.fileName,\n })\n : enableImagePreview\n ? (\n <img\n src={item.previewUrl}\n alt={item.alt ?? \"Uploaded file\"}\n className={cn(\n \"size-full rounded-md object-cover\",\n isUploading && \"opacity-75\",\n isError && \"grayscale\"\n )}\n />\n )\n : (\n <div className=\"flex size-full items-center justify-center rounded-md bg-slate-100 px-2 text-center text-[10px] font-medium text-slate-700 dark:bg-slate-800 dark:text-slate-200\">\n <span className=\"w-full truncate\">{item.fileName ?? item.alt ?? \"Fichier\"}</span>\n </div>\n )\n\n return (\n <div\n ref={(node) => {\n tileRef.current = node\n setNodeRef(node)\n }}\n style={style}\n className={cn(\n tileClasses,\n isDragging && \"z-20 ring-2 ring-primary shadow-xl\",\n isDraggingExternal && \"opacity-0\",\n !disabled && \"cursor-grab active:cursor-grabbing\",\n isDragging && \"cursor-grabbing\",\n disabled && \"cursor-default\"\n )}\n onMouseEnter={() => {\n updatePreviewPosition()\n onHoverEnter()\n }}\n onMouseLeave={(event) => {\n const next = event.relatedTarget\n if (next instanceof Node && previewRef.current?.contains(next)) return\n onHoverLeave()\n }}\n {...attributes}\n {...listeners}\n >\n {tileContent}\n\n <button\n type=\"button\"\n onClick={() => {\n if (disabled) return\n onRemove(item.id)\n }}\n disabled={disabled}\n className=\"absolute right-1 top-1 inline-flex size-6 items-center justify-center rounded-full bg-white text-slate-700 shadow-sm transition hover:scale-105 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary dark:bg-slate-900 dark:text-slate-200\"\n aria-label={removeButtonAriaLabel}\n >\n <X className=\"h-4 w-4\" />\n </button>\n\n {enableImagePreview &&\n isHovered &&\n previewPosition &&\n (() => {\n const preview = (\n <div\n ref={previewRef}\n className=\"fixed z-[60] w-52 -translate-x-1/2 -translate-y-full rounded-xl border border-slate-200 bg-white/95 p-3 shadow-2xl backdrop-blur dark:border-slate-700 dark:bg-slate-900/95\"\n style={{ left: previewPosition.left, top: previewPosition.top }}\n onMouseEnter={() => {\n updatePreviewPosition()\n onHoverEnter()\n }}\n onMouseLeave={(event) => {\n const next = event.relatedTarget\n if (next instanceof Node && tileRef.current?.contains(next)) return\n onHoverLeave()\n }}\n >\n <div className=\"relative overflow-hidden rounded-lg\">\n <img src={item.url} alt={item.alt ?? \"Preview\"} className=\"h-40 w-full object-cover\" />\n <button\n type=\"button\"\n onClick={() => startFullscreen(item.id)}\n className=\"absolute right-2 top-2 inline-flex items-center justify-center rounded-full bg-black/70 p-2 text-white transition hover:bg-black\"\n aria-label=\"Plein écran\"\n >\n <Maximize2 className=\"h-3.5 w-3.5\" />\n </button>\n </div>\n </div>\n )\n\n if (typeof document === \"undefined\") return preview\n return createPortal(preview, document.body)\n })()}\n\n {isUploading && (\n <div className=\"absolute inset-0 z-20 flex flex-col items-center justify-center gap-2 rounded-lg bg-black/40 text-white\">\n <Loader2 className=\"h-5 w-5 animate-spin\" />\n <div className=\"h-1.5 w-5/6 rounded-full bg-white/20\">\n <div className=\"h-full rounded-full bg-primary\" style={{ width: `${item.progress}%` }} />\n </div>\n <div className=\"text-xs font-semibold\">{item.progress}%</div>\n </div>\n )}\n\n {isError && (\n <div className=\"absolute inset-0 z-10 flex flex-col items-center justify-center gap-2 rounded-lg bg-red-600/70 text-white\">\n <div className=\"text-xs font-semibold\">Échec</div>\n <button\n type=\"button\"\n onClick={() => onRetry(item.id)}\n disabled={disabled}\n className=\"rounded-full bg-white/90 px-3 py-1 text-xs font-semibold text-red-700 shadow-sm transition hover:bg-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n >\n Réessayer\n </button>\n </div>\n )}\n </div>\n )\n}\n\ntype UploadResult = FilesUploadFieldFile | Promise<FilesUploadFieldFile>\n\ntype UploadHandler = (\n file: File,\n onProgress: (progress: number) => void,\n options?: { signal?: AbortSignal; isPublic?: boolean },\n) => UploadResult\n\nexport type FilesUploadFieldRenderItemProps = {\n file: FilesUploadFieldFile\n previewUrl: string\n status: \"uploaded\" | \"uploading\" | \"error\"\n progress: number\n fileName?: string\n}\n\nexport type FilesUploadFieldProps = {\n initialFiles?: FilesUploadFieldFile[]\n onChange?: (files: FilesUploadFieldFile[]) => void\n upload?: UploadHandler\n uploadIsPublic?: boolean\n disabled?: boolean\n onUploadingChange?: (isUploading: boolean) => void\n accept?: string | string[]\n renderHeader?: () => ReactNode\n renderItem?: (props: FilesUploadFieldRenderItemProps) => ReactNode\n addButtonAriaLabel?: string\n removeButtonAriaLabel?: string\n}\n\ntype FileWithState = FilesUploadFieldFile & {\n previewUrl: string\n status: \"uploaded\" | \"uploading\" | \"error\"\n progress: number\n fileName?: string\n}\n\nfunction toPreview(file: File) {\n return URL.createObjectURL(file)\n}\n\nexport function FilesUploadField({\n initialFiles = [],\n onChange,\n upload = defaultUpload,\n uploadIsPublic = false,\n disabled = false,\n onUploadingChange,\n accept,\n renderHeader,\n renderItem,\n addButtonAriaLabel = \"Ajouter un fichier\",\n removeButtonAriaLabel = \"Supprimer le fichier\",\n}: FilesUploadFieldProps) {\n const fileInputRef = useRef<HTMLInputElement>(null)\n const [images, setImages] = useState<FileWithState[]>(() =>\n initialFiles.map((file) => ({ ...file, previewUrl: file.url, status: \"uploaded\", progress: 100 }))\n )\n const [dragActive, setDragActive] = useState(false)\n const [fullscreenIndex, setFullscreenIndex] = useState<number | null>(null)\n const [hoveredId, setHoveredId] = useState<string | null>(null)\n const [activeId, setActiveId] = useState<string | null>(null)\n const hoverTimeoutRef = useRef<number | null>(null)\n const skipNotifyRef = useRef(true)\n const imagesRef = useRef<FileWithState[]>([])\n const lastInitialImagesRef = useRef<FilesUploadFieldFile[]>(initialFiles)\n const onChangeRef = useRef(onChange)\n const onUploadingChangeRef = useRef(onUploadingChange)\n const replacedIdRef = useRef<Map<string, string>>(new Map())\n const fileRef = useRef<Map<string, File>>(new Map())\n const abortRef = useRef<Map<string, AbortController>>(new Map())\n const objectUrlRef = useRef<Map<string, string>>(new Map())\n const sensors = useSensors(\n useSensor(PointerSensor, { activationConstraint: { distance: 6 } }),\n useSensor(KeyboardSensor, { coordinateGetter: sortableKeyboardCoordinates })\n )\n\n useEffect(() => {\n return () => {\n for (const controller of abortRef.current.values()) {\n try {\n controller.abort()\n } catch {\n //\n }\n }\n abortRef.current.clear()\n fileRef.current.clear()\n replacedIdRef.current.clear()\n\n for (const url of objectUrlRef.current.values()) {\n if (typeof URL !== \"undefined\") {\n try {\n URL.revokeObjectURL(url)\n } catch {\n //\n }\n }\n }\n objectUrlRef.current.clear()\n }\n }, [])\n\n useEffect(() => {\n if (typeof document === \"undefined\") return\n if (activeId) {\n document.body.style.cursor = \"grabbing\"\n return () => {\n document.body.style.cursor = \"\"\n }\n }\n document.body.style.cursor = \"\"\n }, [activeId])\n\n useEffect(() => {\n imagesRef.current = images\n }, [images])\n\n useEffect(() => {\n onChangeRef.current = onChange\n }, [onChange])\n\n useEffect(() => {\n onUploadingChangeRef.current = onUploadingChange\n }, [onUploadingChange])\n\n useEffect(() => {\n const previous = lastInitialImagesRef.current\n const samePropValue =\n previous.length === initialFiles.length &&\n previous.every((img, index) => {\n const next = initialFiles[index]\n return next && img.id === next.id && img.url === next.url && img.alt === next.alt\n })\n\n if (samePropValue) return\n lastInitialImagesRef.current = initialFiles\n\n const prepared: FileWithState[] = initialFiles.map((img) => ({\n ...img,\n previewUrl: img.url,\n status: \"uploaded\",\n progress: 100,\n }))\n\n const preparedRawIds = new Set(prepared.map((img) => img.id))\n for (const [tempId, finalId] of replacedIdRef.current.entries()) {\n if (preparedRawIds.has(finalId)) {\n replacedIdRef.current.delete(tempId)\n }\n }\n\n const currentIds = new Set(imagesRef.current.map((img) => img.id))\n const hasStaleInitialImages = prepared.some((img) => {\n const mapped = replacedIdRef.current.get(img.id)\n return mapped ? currentIds.has(mapped) : false\n })\n if (hasStaleInitialImages) return\n\n const preparedIds = new Set(prepared.map((img) => img.id))\n for (const img of imagesRef.current) {\n if (preparedIds.has(img.id)) continue\n\n const controller = abortRef.current.get(img.id)\n if (controller) {\n abortRef.current.delete(img.id)\n try {\n controller.abort()\n } catch {\n //\n }\n }\n\n fileRef.current.delete(img.id)\n\n const tempUrl = objectUrlRef.current.get(img.id)\n if (tempUrl) {\n objectUrlRef.current.delete(img.id)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n }\n\n setImages((current) => {\n const sameLength = current.length === prepared.length\n const sameContent =\n sameLength &&\n current.every((item, index) => {\n const next = prepared[index]\n return next && item.id === next.id && item.url === next.url && item.alt === next.alt && item.uploadKey === next.uploadKey\n })\n\n if (sameContent) return current\n\n skipNotifyRef.current = true\n return prepared\n })\n }, [initialFiles])\n\n useEffect(() => {\n if (skipNotifyRef.current) {\n skipNotifyRef.current = false\n return\n }\n\n onChangeRef.current?.(images.map(({ id, url, alt, uploadKey }) => ({ id, url, alt, uploadKey })))\n }, [images])\n\n useEffect(() => {\n onUploadingChangeRef.current?.(images.some((img) => img.status === \"uploading\"))\n }, [images])\n\n useEffect(() => {\n if (fullscreenIndex === null) {\n return\n }\n\n const handleKey = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n setFullscreenIndex(null)\n return\n }\n\n if (event.key === \"ArrowRight\") {\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current + 1) % images.length\n })\n return\n }\n\n if (event.key === \"ArrowLeft\") {\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current - 1 + images.length) % images.length\n })\n }\n }\n\n window.addEventListener(\"keydown\", handleKey)\n return () => window.removeEventListener(\"keydown\", handleKey)\n }, [fullscreenIndex, images.length])\n\n const handleFiles = async (files: FileList | File[]) => {\n if (disabled) return\n const list = Array.from(files)\n\n const uploads = list.map((file) => {\n const previewUrl = toPreview(file)\n const tempId = crypto.randomUUID()\n\n objectUrlRef.current.set(tempId, previewUrl)\n fileRef.current.set(tempId, file)\n\n const next: FileWithState = {\n id: tempId,\n url: previewUrl,\n previewUrl,\n alt: file.name,\n status: \"uploading\",\n progress: 0,\n fileName: file.name,\n }\n\n setImages((current) => [...current, next])\n\n const updateProgress = (value: number) => {\n const nextValue = Math.max(0, Math.min(99, value))\n setImages((current) =>\n current.map((item) =>\n item.id === tempId ? { ...item, progress: nextValue, status: \"uploading\" } : item\n )\n )\n }\n\n const finalize = async () => {\n const controller = new AbortController()\n abortRef.current.set(tempId, controller)\n\n try {\n const result = await upload(file, updateProgress, { signal: controller.signal, isPublic: uploadIsPublic })\n replacedIdRef.current.set(tempId, result.id)\n\n const tempUrl = objectUrlRef.current.get(tempId)\n if (tempUrl) {\n objectUrlRef.current.delete(tempId)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n\n abortRef.current.delete(tempId)\n fileRef.current.delete(tempId)\n\n setImages((current) =>\n current.map((item) =>\n item.id === tempId\n ? {\n ...item,\n ...result,\n previewUrl: result.url,\n url: result.url,\n status: \"uploaded\",\n progress: 100,\n }\n : item\n )\n )\n } catch (error) {\n abortRef.current.delete(tempId)\n if (controller.signal.aborted) {\n fileRef.current.delete(tempId)\n const tempUrl = objectUrlRef.current.get(tempId)\n if (tempUrl) {\n objectUrlRef.current.delete(tempId)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n return\n }\n console.error(\"Upload failed\", error)\n setImages((current) =>\n current.map((item) =>\n item.id === tempId\n ? { ...item, status: \"error\", progress: Math.max(0, Math.min(99, item.progress)) }\n : item\n )\n )\n }\n }\n\n return finalize()\n })\n\n await Promise.allSettled(uploads)\n }\n\n const onFileInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n if (!event.target.files) return\n void handleFiles(event.target.files)\n event.target.value = \"\"\n }\n\n const openFileDialog = () => {\n if (disabled) return\n fileInputRef.current?.click()\n }\n\n const removeImage = (id: string) => {\n const controller = abortRef.current.get(id)\n if (controller) {\n abortRef.current.delete(id)\n try {\n controller.abort()\n } catch {\n //\n }\n }\n\n fileRef.current.delete(id)\n\n const tempUrl = objectUrlRef.current.get(id)\n if (tempUrl) {\n objectUrlRef.current.delete(id)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n\n setImages((current) => current.filter((item) => item.id !== id))\n }\n\n const retryUpload = (id: string) => {\n if (disabled) return\n const file = fileRef.current.get(id)\n if (!file) return\n\n const existingController = abortRef.current.get(id)\n if (existingController) {\n try {\n existingController.abort()\n } catch {\n //\n }\n abortRef.current.delete(id)\n }\n\n setImages((current) =>\n current.map((item) => (item.id === id ? { ...item, status: \"uploading\", progress: 0 } : item))\n )\n\n const updateProgress = (value: number) => {\n const nextValue = Math.max(0, Math.min(99, value))\n setImages((current) =>\n current.map((item) => (item.id === id ? { ...item, progress: nextValue, status: \"uploading\" } : item))\n )\n }\n\n const controller = new AbortController()\n abortRef.current.set(id, controller)\n\n void (async () => {\n try {\n const result = await upload(file, updateProgress, { signal: controller.signal, isPublic: uploadIsPublic })\n replacedIdRef.current.set(id, result.id)\n\n const tempUrl = objectUrlRef.current.get(id)\n if (tempUrl) {\n objectUrlRef.current.delete(id)\n try {\n URL.revokeObjectURL(tempUrl)\n } catch {\n //\n }\n }\n\n abortRef.current.delete(id)\n fileRef.current.delete(id)\n\n setImages((current) =>\n current.map((item) =>\n item.id === id\n ? { ...item, ...result, previewUrl: result.url, url: result.url, status: \"uploaded\", progress: 100 }\n : item\n )\n )\n } catch (error) {\n abortRef.current.delete(id)\n if (controller.signal.aborted) return\n console.error(\"Retry failed\", error)\n setImages((current) => current.map((item) => (item.id === id ? { ...item, status: \"error\" } : item)))\n }\n })()\n }\n\n const startFullscreen = (id: string) => {\n const index = images.findIndex((item) => item.id === id)\n if (index !== -1) {\n setFullscreenIndex(index)\n }\n }\n\n const handleDragStart = (event: DragEndEvent) => {\n setActiveId(String(event.active.id))\n }\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n if (!over) {\n setActiveId(null)\n return\n }\n\n const activeId = String(active.id)\n const overId = String(over.id)\n\n if (activeId !== overId) {\n setImages((current) => {\n const oldIndex = current.findIndex((item) => item.id === activeId)\n const newIndex = current.findIndex((item) => item.id === overId)\n if (oldIndex === -1 || newIndex === -1) return current\n return arrayMove(current, oldIndex, newIndex)\n })\n }\n\n setActiveId(null)\n }\n\n const handleDragCancel = () => {\n setActiveId(null)\n }\n\n const clearHoverTimeout = () => {\n if (hoverTimeoutRef.current !== null) {\n window.clearTimeout(hoverTimeoutRef.current)\n hoverTimeoutRef.current = null\n }\n }\n\n const fullscreenImage = useMemo(() => {\n if (fullscreenIndex === null) return null\n return images[fullscreenIndex] ?? null\n }, [fullscreenIndex, images])\n\n const containerClasses = cn(\n \"rounded-xl border border-dashed border-slate-300 bg-white/70 p-4 shadow-sm transition-colors dark:border-slate-700 dark:bg-slate-900/60\",\n dragActive && \"border-primary ring-2 ring-primary/50\",\n disabled && \"opacity-70\"\n )\n\n const tileBaseClasses = \"group relative size-20 overflow-visible rounded-lg border border-slate-200 bg-slate-50 shadow-inner transition hover:shadow md:size-24 dark:border-slate-700 dark:bg-slate-800\"\n\n const acceptAttr = useMemo(() => {\n if (!accept) return undefined\n if (Array.isArray(accept)) return accept.join(\",\")\n return accept\n }, [accept])\n\n const enableImagePreview = useMemo(() => {\n if (renderItem) return false\n if (!acceptAttr) return false\n const tokens = acceptAttr.split(\",\").map((value) => value.trim()).filter(Boolean)\n if (!tokens.length) return false\n return tokens.every((token) => token === \"image/*\" || token.startsWith(\"image/\"))\n }, [acceptAttr, renderItem])\n\n const toRenderItemProps = (item: FileWithState): FilesUploadFieldRenderItemProps => ({\n file: { id: item.id, url: item.url, alt: item.alt, uploadKey: item.uploadKey },\n previewUrl: item.previewUrl,\n status: item.status,\n progress: item.progress,\n fileName: item.fileName,\n })\n\n const dragOverlayContent = activeId\n ? (() => {\n const activeItem = images.find((item) => item.id === activeId)\n if (!activeItem) return null\n\n if (renderItem) {\n const rendered = renderItem(toRenderItemProps(activeItem))\n if (rendered === null || rendered === undefined || rendered === false) return null\n return (\n <div className=\"pointer-events-none\">\n <div className=\"h-24 w-24 overflow-hidden rounded-lg shadow-2xl\">{rendered}</div>\n </div>\n )\n }\n\n if (!enableImagePreview) return null\n return (\n <div className=\"pointer-events-none\">\n <img\n src={activeItem.previewUrl}\n alt={activeItem.alt ?? \"Dragged image\"}\n className=\"h-24 w-24 rounded-lg object-cover shadow-2xl\"\n />\n </div>\n )\n })()\n : null\n\n const hideActiveTile = dragOverlayContent !== null && dragOverlayContent !== undefined\n\n return (\n <div\n onDragOver={(event) => {\n event.preventDefault()\n if (!disabled) {\n setDragActive(true)\n }\n }}\n onDragLeave={() => setDragActive(false)}\n onDrop={(event) => {\n event.preventDefault()\n setDragActive(false)\n if (event.dataTransfer.files?.length) {\n void handleFiles(event.dataTransfer.files)\n }\n }}\n className={containerClasses}\n >\n {renderHeader ? <div className=\"mb-3\">{renderHeader()}</div> : null}\n\n <DndContext\n sensors={disabled ? undefined : sensors}\n collisionDetection={closestCenter}\n onDragStart={handleDragStart}\n onDragEnd={handleDragEnd}\n onDragCancel={handleDragCancel}\n >\n <SortableContext items={images.map((item) => item.id)} strategy={rectSortingStrategy}>\n <div className=\"flex flex-wrap gap-3\">\n {images.map((item) => {\n const isUploading = item.status === \"uploading\"\n const isError = item.status === \"error\"\n\n return (\n <SortableTile\n key={item.id}\n item={item}\n isHovered={hoveredId === item.id}\n enableImagePreview={enableImagePreview}\n renderItem={renderItem}\n onHoverEnter={() => {\n clearHoverTimeout()\n setHoveredId(item.id)\n }}\n onHoverLeave={() => {\n clearHoverTimeout()\n hoverTimeoutRef.current = window.setTimeout(() => {\n setHoveredId((current) => (current === item.id ? null : current))\n hoverTimeoutRef.current = null\n }, 120)\n }}\n onRemove={removeImage}\n onRetry={retryUpload}\n startFullscreen={startFullscreen}\n isUploading={isUploading}\n isError={isError}\n tileClasses={tileBaseClasses}\n disabled={disabled}\n isDraggingExternal={hideActiveTile && activeId === item.id}\n removeButtonAriaLabel={removeButtonAriaLabel}\n />\n )\n })}\n\n <button\n type=\"button\"\n onClick={openFileDialog}\n disabled={disabled}\n className={cn(\n tileBaseClasses,\n \"flex items-center justify-center border-dashed bg-white text-slate-500 hover:border-slate-300 dark:bg-slate-900\"\n )}\n aria-label={addButtonAriaLabel}\n >\n <div className=\"flex flex-col items-center gap-1\">\n <div className=\"flex size-9 items-center justify-center rounded-full border border-slate-300 bg-slate-100 text-slate-600 shadow-inner dark:border-slate-700 dark:bg-slate-800 dark:text-slate-200\">\n <Plus className=\"h-5 w-5\" />\n </div>\n <span className=\"text-xs font-medium\">Ajouter</span>\n </div>\n </button>\n </div>\n </SortableContext>\n {(() => {\n const overlay = <DragOverlay>{dragOverlayContent}</DragOverlay>\n\n if (typeof document === \"undefined\") return overlay\n return createPortal(overlay, document.body)\n })()}\n </DndContext>\n\n <input\n ref={fileInputRef}\n type=\"file\"\n accept={acceptAttr}\n multiple\n className=\"hidden\"\n onChange={onFileInputChange}\n aria-hidden\n />\n\n {enableImagePreview && fullscreenImage && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center bg-black/90\">\n <button\n type=\"button\"\n className=\"absolute left-6 top-1/2 -translate-y-1/2 rounded-full bg-white/10 p-3 text-white shadow-lg transition hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n onClick={() =>\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current - 1 + images.length) % images.length\n })\n }\n aria-label=\"Précédent\"\n >\n <svg viewBox=\"0 0 24 24\" className=\"h-6 w-6\" stroke=\"currentColor\" strokeWidth={2} fill=\"none\">\n <path d=\"M15 18l-6-6 6-6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n <div className=\"relative max-h-[80vh] max-w-4xl\">\n <img\n src={fullscreenImage.url}\n alt={fullscreenImage.alt ?? \"Fullscreen\"}\n className=\"max-h-[80vh] max-w-full rounded-lg object-contain shadow-2xl\"\n />\n <button\n type=\"button\"\n className=\"absolute right-3 top-3 inline-flex size-9 items-center justify-center rounded-full bg-black/70 text-white transition hover:bg-black focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n onClick={() => setFullscreenIndex(null)}\n aria-label=\"Fermer\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n <button\n type=\"button\"\n className=\"absolute right-6 top-1/2 -translate-y-1/2 rounded-full bg-white/10 p-3 text-white shadow-lg transition hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n onClick={() =>\n setFullscreenIndex((current) => {\n if (current === null) return current\n return (current + 1) % images.length\n })\n }\n aria-label=\"Suivant\"\n >\n <svg viewBox=\"0 0 24 24\" className=\"h-6 w-6\" stroke=\"currentColor\" strokeWidth={2} fill=\"none\">\n <path d=\"M9 6l6 6-6 6\" strokeLinecap=\"round\" strokeLinejoin=\"round\" />\n </svg>\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["TENANT_ID_QUERY_PARAM","sha256Hex","data","digest","b","readTenantIdFromLocation","normalized","withTenant","path","tenantId","sep","postJson","url","body","options","response","payload","getJson","putOctetStream","sha256","uploadKey","signal","headers","defaultUpload","file","onProgress","initRes","uploadId","chunkSize","chunksTotal","doUploadChunk","index","start","end","sha","res","uploadChunks","indices","alreadyUploaded","uploaded","idx","pct","allIndices","_","i","complete","completeRes","fileId","code","statusRes","received","present","missing","SortableTile","item","isHovered","enableImagePreview","renderItem","onHoverEnter","onHoverLeave","onRemove","onRetry","startFullscreen","isUploading","isError","tileClasses","disabled","isDraggingExternal","removeButtonAriaLabel","setNodeRef","attributes","listeners","transform","transition","isDragging","useSortable","tileRef","useRef","previewRef","previewPosition","setPreviewPosition","useState","updatePreviewPosition","el","rect","useEffect","raf","schedule","style","CSS","tileContent","jsx","cn","jsxs","node","event","next","X","preview","Maximize2","createPortal","Loader2","toPreview","FilesUploadField","initialFiles","onChange","upload","uploadIsPublic","onUploadingChange","accept","renderHeader","addButtonAriaLabel","fileInputRef","images","setImages","dragActive","setDragActive","fullscreenIndex","setFullscreenIndex","hoveredId","setHoveredId","activeId","setActiveId","hoverTimeoutRef","skipNotifyRef","imagesRef","lastInitialImagesRef","onChangeRef","onUploadingChangeRef","replacedIdRef","fileRef","abortRef","objectUrlRef","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","controller","previous","img","prepared","preparedRawIds","tempId","finalId","currentIds","mapped","preparedIds","tempUrl","current","id","alt","handleKey","handleFiles","files","uploads","previewUrl","updateProgress","value","nextValue","result","error","onFileInputChange","openFileDialog","removeImage","retryUpload","existingController","handleDragStart","handleDragEnd","active","over","overId","oldIndex","newIndex","arrayMove","handleDragCancel","clearHoverTimeout","fullscreenImage","useMemo","containerClasses","tileBaseClasses","acceptAttr","tokens","token","toRenderItemProps","dragOverlayContent","activeItem","rendered","hideActiveTile","DndContext","closestCenter","SortableContext","rectSortingStrategy","Plus","overlay","DragOverlay"],"mappings":"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"}
1
+ {"version":3,"file":"index14.js","sources":["../src/components/Image/index.tsx"],"sourcesContent":["import { useRef, useEffect, useState } from \"react\"\nimport { decode } from \"blurhash\"\n\n// Set to true to enable mouseover debugging (this will show the blurhash image unless hovered)\nconst DEBUG = false\n\nexport const Image = ({\n src,\n hash,\n alt = \"\",\n className,\n}: {\n src: string\n hash: [number, number, string]\n alt?: string\n className?: string\n}) => {\n const [imageLoaded, setImageLoaded] = useState(false)\n const [blurhashUrl, setBlurhashUrl] = useState<string | null>(null)\n\n const imgRef = useRef<HTMLImageElement>(null)\n\n useEffect(() => {\n if (!hash) return\n\n const [width, height, buffer] = hash\n const pixels = decode(buffer, width, height)\n\n const canvas = document.createElement(\"canvas\")\n const ctx = canvas.getContext(\"2d\")\n\n if (ctx) {\n canvas.width = width\n canvas.height = height\n\n const imageData = new ImageData(\n new Uint8ClampedArray(pixels),\n width,\n height\n )\n ctx.putImageData(imageData, 0, 0)\n\n setBlurhashUrl(canvas.toDataURL())\n }\n }, [hash])\n\n // Handle Cached Images\n useEffect(() => {\n if (imgRef.current && imgRef.current.complete) {\n setImageLoaded(true)\n }\n }, [src])\n\n const onMouseEnter = () => {\n if (DEBUG) {\n setImageLoaded(true)\n }\n }\n\n const onMouseLeave = () => {\n if (DEBUG) {\n setImageLoaded(false)\n }\n }\n\n return (\n <div\n style={{ position: \"relative\", overflow: \"hidden\" }}\n className={className}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n {blurhashUrl && !imageLoaded && (\n <img\n src={blurhashUrl}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n }}\n />\n )}\n <img\n ref={imgRef}\n src={src}\n alt={alt}\n style={{\n width: \"100%\",\n height: \"100%\",\n objectFit: \"cover\",\n display: imageLoaded ? \"block\" : \"none\",\n position: \"absolute\",\n top: 0,\n left: 0,\n }}\n onLoad={() => {\n setImageLoaded(true)\n }}\n onError={(e) => console.error(\"Image failed to load:\", src, e)}\n />\n </div>\n )\n}\n"],"names":["Image","t0","$","_c","src","hash","alt","t1","className","undefined","imageLoaded","setImageLoaded","useState","blurhashUrl","setBlurhashUrl","imgRef","useRef","t2","t3","width","height","buffer","pixels","decode","canvas","document","createElement","ctx","getContext","imageData","ImageData","Uint8ClampedArray","putImageData","toDataURL","useEffect","t4","Symbol","for","current","complete","t5","t6","onMouseEnter","t7","onMouseLeave","t8","position","overflow","t9","top","left","objectFit","t10","t11","display","t12","t13","e","console","error","t14","jsx","t15"],"mappings":"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"}
package/dist/index140.js CHANGED
@@ -1,7 +1,27 @@
1
- function e() {
2
- return "";
1
+ function o(e) {
2
+ return !!(e && typeof e == "object" && "before" in e && "after" in e);
3
+ }
4
+ function t(e) {
5
+ return !!(e && typeof e == "object" && "from" in e);
6
+ }
7
+ function r(e) {
8
+ return !!(e && typeof e == "object" && "after" in e);
9
+ }
10
+ function f(e) {
11
+ return !!(e && typeof e == "object" && "before" in e);
12
+ }
13
+ function i(e) {
14
+ return !!(e && typeof e == "object" && "dayOfWeek" in e);
15
+ }
16
+ function y(e, n) {
17
+ return Array.isArray(e) && e.every(n.isDate);
3
18
  }
4
19
  export {
5
- e as labelNav
20
+ r as isDateAfterType,
21
+ f as isDateBeforeType,
22
+ o as isDateInterval,
23
+ t as isDateRange,
24
+ y as isDatesArray,
25
+ i as isDayOfWeekType
6
26
  };
7
27
  //# sourceMappingURL=index140.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index140.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelNav.js"],"sourcesContent":["/**\n * Generates the ARIA label for the navigation toolbar.\n *\n * @defaultValue `\"\"`\n * @returns The ARIA label for the navigation toolbar.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelNav() {\n return \"\";\n}\n"],"names":["labelNav"],"mappings":"AAQO,SAASA,IAAW;AACvB,SAAO;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index140.js","sources":["../../../node_modules/react-day-picker/dist/esm/utils/typeguards.js"],"sourcesContent":["/**\n * Checks if the given value is of type {@link DateInterval}.\n *\n * @param matcher - The value to check.\n * @returns `true` if the value is a {@link DateInterval}, otherwise `false`.\n * @group Utilities\n */\nexport function isDateInterval(matcher) {\n return Boolean(matcher &&\n typeof matcher === \"object\" &&\n \"before\" in matcher &&\n \"after\" in matcher);\n}\n/**\n * Checks if the given value is of type {@link DateRange}.\n *\n * @param value - The value to check.\n * @returns `true` if the value is a {@link DateRange}, otherwise `false`.\n * @group Utilities\n */\nexport function isDateRange(value) {\n return Boolean(value && typeof value === \"object\" && \"from\" in value);\n}\n/**\n * Checks if the given value is of type {@link DateAfter}.\n *\n * @param value - The value to check.\n * @returns `true` if the value is a {@link DateAfter}, otherwise `false`.\n * @group Utilities\n */\nexport function isDateAfterType(value) {\n return Boolean(value && typeof value === \"object\" && \"after\" in value);\n}\n/**\n * Checks if the given value is of type {@link DateBefore}.\n *\n * @param value - The value to check.\n * @returns `true` if the value is a {@link DateBefore}, otherwise `false`.\n * @group Utilities\n */\nexport function isDateBeforeType(value) {\n return Boolean(value && typeof value === \"object\" && \"before\" in value);\n}\n/**\n * Checks if the given value is of type {@link DayOfWeek}.\n *\n * @param value - The value to check.\n * @returns `true` if the value is a {@link DayOfWeek}, otherwise `false`.\n * @group Utilities\n */\nexport function isDayOfWeekType(value) {\n return Boolean(value && typeof value === \"object\" && \"dayOfWeek\" in value);\n}\n/**\n * Checks if the given value is an array of valid dates.\n *\n * @private\n * @param value - The value to check.\n * @param dateLib - The date utility library instance.\n * @returns `true` if the value is an array of valid dates, otherwise `false`.\n */\nexport function isDatesArray(value, dateLib) {\n return Array.isArray(value) && value.every(dateLib.isDate);\n}\n"],"names":["isDateInterval","matcher","isDateRange","value","isDateAfterType","isDateBeforeType","isDayOfWeekType","isDatesArray","dateLib"],"mappings":"AAOO,SAASA,EAAeC,GAAS;AACpC,SAAO,GAAQA,KACX,OAAOA,KAAY,YACnB,YAAYA,KACZ,WAAWA;AACnB;AAQO,SAASC,EAAYC,GAAO;AAC/B,SAAO,GAAQA,KAAS,OAAOA,KAAU,YAAY,UAAUA;AACnE;AAQO,SAASC,EAAgBD,GAAO;AACnC,SAAO,GAAQA,KAAS,OAAOA,KAAU,YAAY,WAAWA;AACpE;AAQO,SAASE,EAAiBF,GAAO;AACpC,SAAO,GAAQA,KAAS,OAAOA,KAAU,YAAY,YAAYA;AACrE;AAQO,SAASG,EAAgBH,GAAO;AACnC,SAAO,GAAQA,KAAS,OAAOA,KAAU,YAAY,eAAeA;AACxE;AASO,SAASI,EAAaJ,GAAOK,GAAS;AACzC,SAAO,MAAM,QAAQL,CAAK,KAAKA,EAAM,MAAMK,EAAQ,MAAM;AAC7D;","x_google_ignoreList":[0]}
package/dist/index141.js CHANGED
@@ -1,8 +1,38 @@
1
- const t = "Go to the Next Month";
2
- function n(o, e) {
3
- return t;
4
- }
1
+ import { enUS as f } from "./index283.js";
2
+ import { formatDate as n } from "./index229.js";
3
+ const s = {
4
+ ...f,
5
+ labels: {
6
+ labelDayButton: (a, r, o, e) => {
7
+ let t;
8
+ e && typeof e.format == "function" ? t = e.format.bind(e) : t = (m, c) => n(m, c, { locale: f, ...o });
9
+ let l = t(a, "PPPP");
10
+ return r.today && (l = `Today, ${l}`), r.selected && (l = `${l}, selected`), l;
11
+ },
12
+ labelMonthDropdown: "Choose the Month",
13
+ labelNext: "Go to the Next Month",
14
+ labelPrevious: "Go to the Previous Month",
15
+ labelWeekNumber: (a) => `Week ${a}`,
16
+ labelYearDropdown: "Choose the Year",
17
+ labelGrid: (a, r, o) => {
18
+ let e;
19
+ return o && typeof o.format == "function" ? e = o.format.bind(o) : e = (t, l) => n(t, l, { locale: f, ...r }), e(a, "LLLL yyyy");
20
+ },
21
+ labelGridcell: (a, r, o, e) => {
22
+ let t;
23
+ e && typeof e.format == "function" ? t = e.format.bind(e) : t = (m, c) => n(m, c, { locale: f, ...o });
24
+ let l = t(a, "PPPP");
25
+ return r?.today && (l = `Today, ${l}`), l;
26
+ },
27
+ labelNav: "Navigation bar",
28
+ labelWeekNumberHeader: "Week Number",
29
+ labelWeekday: (a, r, o) => {
30
+ let e;
31
+ return o && typeof o.format == "function" ? e = o.format.bind(o) : e = (t, l) => n(t, l, { locale: f, ...r }), e(a, "cccc");
32
+ }
33
+ }
34
+ };
5
35
  export {
6
- n as labelNext
36
+ s as enUS
7
37
  };
8
38
  //# sourceMappingURL=index141.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index141.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelNext.js"],"sourcesContent":["const defaultLabel = \"Go to the Next Month\";\n/**\n * Generates the ARIA label for the \"next month\" button.\n *\n * @defaultValue `\"Go to the Next Month\"`\n * @param month - The date representing the next month, or `undefined` if there\n * is no next month.\n * @returns The ARIA label for the \"next month\" button.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelNext(_month, _options) {\n return defaultLabel;\n}\n"],"names":["defaultLabel","labelNext","_month","_options"],"mappings":"AAAA,MAAMA,IAAe;AAWd,SAASC,EAAUC,GAAQC,GAAU;AACxC,SAAOH;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index141.js","sources":["../../../node_modules/react-day-picker/dist/esm/locale/en-US.js"],"sourcesContent":["import { format } from \"date-fns\";\nimport { enUS as dateFnsEnUS } from \"date-fns/locale\";\n/** English (United States) locale extended with DayPicker-specific translations. */\nexport const enUS = {\n ...dateFnsEnUS,\n labels: {\n labelDayButton: (date, modifiers, options, dateLib) => {\n let formatDate;\n if (dateLib && typeof dateLib.format === \"function\") {\n formatDate = dateLib.format.bind(dateLib);\n }\n else {\n formatDate = (d, pattern) => format(d, pattern, { locale: dateFnsEnUS, ...options });\n }\n let label = formatDate(date, \"PPPP\");\n if (modifiers.today)\n label = `Today, ${label}`;\n if (modifiers.selected)\n label = `${label}, selected`;\n return label;\n },\n labelMonthDropdown: \"Choose the Month\",\n labelNext: \"Go to the Next Month\",\n labelPrevious: \"Go to the Previous Month\",\n labelWeekNumber: (weekNumber) => `Week ${weekNumber}`,\n labelYearDropdown: \"Choose the Year\",\n labelGrid: (date, options, dateLib) => {\n let formatDate;\n if (dateLib && typeof dateLib.format === \"function\") {\n formatDate = dateLib.format.bind(dateLib);\n }\n else {\n formatDate = (d, pattern) => format(d, pattern, { locale: dateFnsEnUS, ...options });\n }\n return formatDate(date, \"LLLL yyyy\");\n },\n labelGridcell: (date, modifiers, options, dateLib) => {\n let formatDate;\n if (dateLib && typeof dateLib.format === \"function\") {\n formatDate = dateLib.format.bind(dateLib);\n }\n else {\n formatDate = (d, pattern) => format(d, pattern, { locale: dateFnsEnUS, ...options });\n }\n let label = formatDate(date, \"PPPP\");\n if (modifiers?.today) {\n label = `Today, ${label}`;\n }\n return label;\n },\n labelNav: \"Navigation bar\",\n labelWeekNumberHeader: \"Week Number\",\n labelWeekday: (date, options, dateLib) => {\n let formatDate;\n if (dateLib && typeof dateLib.format === \"function\") {\n formatDate = dateLib.format.bind(dateLib);\n }\n else {\n formatDate = (d, pattern) => format(d, pattern, { locale: dateFnsEnUS, ...options });\n }\n return formatDate(date, \"cccc\");\n },\n },\n};\n"],"names":["enUS","dateFnsEnUS","date","modifiers","options","dateLib","formatDate","d","pattern","format","label","weekNumber"],"mappings":";;AAGY,MAACA,IAAO;AAAA,EAChB,GAAGC;AAAAA,EACH,QAAQ;AAAA,IACJ,gBAAgB,CAACC,GAAMC,GAAWC,GAASC,MAAY;AACnD,UAAIC;AACJ,MAAID,KAAW,OAAOA,EAAQ,UAAW,aACrCC,IAAaD,EAAQ,OAAO,KAAKA,CAAO,IAGxCC,IAAa,CAACC,GAAGC,MAAYC,EAAOF,GAAGC,GAAS,EAAE,QAAQP,GAAa,GAAGG,EAAO,CAAE;AAEvF,UAAIM,IAAQJ,EAAWJ,GAAM,MAAM;AACnC,aAAIC,EAAU,UACVO,IAAQ,UAAUA,CAAK,KACvBP,EAAU,aACVO,IAAQ,GAAGA,CAAK,eACbA;AAAA,IACX;AAAA,IACA,oBAAoB;AAAA,IACpB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,iBAAiB,CAACC,MAAe,QAAQA,CAAU;AAAA,IACnD,mBAAmB;AAAA,IACnB,WAAW,CAACT,GAAME,GAASC,MAAY;AACnC,UAAIC;AACJ,aAAID,KAAW,OAAOA,EAAQ,UAAW,aACrCC,IAAaD,EAAQ,OAAO,KAAKA,CAAO,IAGxCC,IAAa,CAACC,GAAGC,MAAYC,EAAOF,GAAGC,GAAS,EAAE,QAAQP,GAAa,GAAGG,EAAO,CAAE,GAEhFE,EAAWJ,GAAM,WAAW;AAAA,IACvC;AAAA,IACA,eAAe,CAACA,GAAMC,GAAWC,GAASC,MAAY;AAClD,UAAIC;AACJ,MAAID,KAAW,OAAOA,EAAQ,UAAW,aACrCC,IAAaD,EAAQ,OAAO,KAAKA,CAAO,IAGxCC,IAAa,CAACC,GAAGC,MAAYC,EAAOF,GAAGC,GAAS,EAAE,QAAQP,GAAa,GAAGG,EAAO,CAAE;AAEvF,UAAIM,IAAQJ,EAAWJ,GAAM,MAAM;AACnC,aAAIC,GAAW,UACXO,IAAQ,UAAUA,CAAK,KAEpBA;AAAA,IACX;AAAA,IACA,UAAU;AAAA,IACV,uBAAuB;AAAA,IACvB,cAAc,CAACR,GAAME,GAASC,MAAY;AACtC,UAAIC;AACJ,aAAID,KAAW,OAAOA,EAAQ,UAAW,aACrCC,IAAaD,EAAQ,OAAO,KAAKA,CAAO,IAGxCC,IAAa,CAACC,GAAGC,MAAYC,EAAOF,GAAGC,GAAS,EAAE,QAAQP,GAAa,GAAGG,EAAO,CAAE,GAEhFE,EAAWJ,GAAM,MAAM;AAAA,IAClC;AAAA,EACR;AACA;","x_google_ignoreList":[0]}
package/dist/index142.js CHANGED
@@ -1,7 +1,19 @@
1
- function t(o) {
2
- return "Go to the Previous Month";
3
- }
1
+ import { formatCaption as t, formatMonthCaption as e } from "./index143.js";
2
+ import { formatDay as a } from "./index144.js";
3
+ import { formatMonthDropdown as p } from "./index145.js";
4
+ import { formatWeekdayName as x } from "./index146.js";
5
+ import { formatWeekNumber as i } from "./index147.js";
6
+ import { formatWeekNumberHeader as C } from "./index148.js";
7
+ import { formatYearCaption as N, formatYearDropdown as W } from "./index149.js";
4
8
  export {
5
- t as labelPrevious
9
+ t as formatCaption,
10
+ a as formatDay,
11
+ e as formatMonthCaption,
12
+ p as formatMonthDropdown,
13
+ i as formatWeekNumber,
14
+ C as formatWeekNumberHeader,
15
+ x as formatWeekdayName,
16
+ N as formatYearCaption,
17
+ W as formatYearDropdown
6
18
  };
7
19
  //# sourceMappingURL=index142.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index142.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelPrevious.js"],"sourcesContent":["/**\n * Generates the ARIA label for the \"previous month\" button.\n *\n * @defaultValue `\"Go to the Previous Month\"`\n * @param month - The date representing the previous month, or `undefined` if\n * there is no previous month.\n * @returns The ARIA label for the \"previous month\" button.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelPrevious(_month) {\n return \"Go to the Previous Month\";\n}\n"],"names":["labelPrevious","_month"],"mappings":"AAUO,SAASA,EAAcC,GAAQ;AAClC,SAAO;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index142.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
package/dist/index143.js CHANGED
@@ -1,8 +1,10 @@
1
- import { DateLib as c } from "./index103.js";
2
- function a(e, r, t) {
3
- return (t ?? new c(r)).format(e, "cccc");
1
+ import { DateLib as r } from "./index118.js";
2
+ function a(t, o, n) {
3
+ return (n ?? new r(o)).formatMonthYear(t);
4
4
  }
5
+ const f = a;
5
6
  export {
6
- a as labelWeekday
7
+ a as formatCaption,
8
+ f as formatMonthCaption
7
9
  };
8
10
  //# sourceMappingURL=index143.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index143.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekday.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Generates the ARIA label for a weekday column header.\n *\n * @defaultValue `\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"`\n * @param date - The date representing the weekday.\n * @param options - Optional configuration for the date formatting library.\n * @param dateLib - An optional instance of the date formatting library.\n * @returns The ARIA label for the weekday column header.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekday(date, options, dateLib) {\n return (dateLib ?? new DateLib(options)).format(date, \"cccc\");\n}\n"],"names":["labelWeekday","date","options","dateLib","DateLib"],"mappings":";AAYO,SAASA,EAAaC,GAAMC,GAASC,GAAS;AACjD,UAAQA,KAAW,IAAIC,EAAQF,CAAO,GAAG,OAAOD,GAAM,MAAM;AAChE;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index143.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatCaption.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Formats the caption of the month.\n *\n * @defaultValue Locale-specific month/year order (e.g., \"November 2022\").\n * @param month The date representing the month.\n * @param options Configuration options for the date library.\n * @param dateLib The date library to use for formatting. If not provided, a new\n * instance is created.\n * @returns The formatted caption as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatCaption(month, options, dateLib) {\n const lib = dateLib ?? new DateLib(options);\n return lib.formatMonthYear(month);\n}\n/**\n * @private\n * @deprecated Use {@link formatCaption} instead.\n * @group Formatters\n */\nexport const formatMonthCaption = formatCaption;\n"],"names":["formatCaption","month","options","dateLib","DateLib","formatMonthCaption"],"mappings":";AAaO,SAASA,EAAcC,GAAOC,GAASC,GAAS;AAEnD,UADYA,KAAW,IAAIC,EAAQF,CAAO,GAC/B,gBAAgBD,CAAK;AACpC;AAMY,MAACI,IAAqBL;","x_google_ignoreList":[0]}
package/dist/index144.js CHANGED
@@ -1,7 +1,8 @@
1
- function o(e, n) {
2
- return `Week ${e}`;
1
+ import { DateLib as a } from "./index118.js";
2
+ function f(r, t, o) {
3
+ return (o ?? new a(t)).format(r, "d");
3
4
  }
4
5
  export {
5
- o as labelWeekNumber
6
+ f as formatDay
6
7
  };
7
8
  //# sourceMappingURL=index144.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index144.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.js"],"sourcesContent":["/**\n * Generates the ARIA label for the week number cell (the first cell in a row).\n *\n * @defaultValue `Week ${weekNumber}`\n * @param weekNumber - The number of the week.\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the week number cell.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekNumber(weekNumber, _options) {\n return `Week ${weekNumber}`;\n}\n"],"names":["labelWeekNumber","weekNumber","_options"],"mappings":"AAUO,SAASA,EAAgBC,GAAYC,GAAU;AAClD,SAAO,QAAQD,CAAU;AAC7B;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index144.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatDay.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Formats the day date shown in the day cell.\n *\n * @defaultValue `d` (e.g., \"1\").\n * @param date The date to format.\n * @param options Configuration options for the date library.\n * @param dateLib The date library to use for formatting. If not provided, a new\n * instance is created.\n * @returns The formatted day as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatDay(date, options, dateLib) {\n return (dateLib ?? new DateLib(options)).format(date, \"d\");\n}\n"],"names":["formatDay","date","options","dateLib","DateLib"],"mappings":";AAaO,SAASA,EAAUC,GAAMC,GAASC,GAAS;AAC9C,UAAQA,KAAW,IAAIC,EAAQF,CAAO,GAAG,OAAOD,GAAM,GAAG;AAC7D;","x_google_ignoreList":[0]}
package/dist/index145.js CHANGED
@@ -1,7 +1,8 @@
1
- function r(e) {
2
- return "Week Number";
1
+ import { defaultDateLib as r } from "./index118.js";
2
+ function n(o, t = r) {
3
+ return t.format(o, "LLLL");
3
4
  }
4
5
  export {
5
- r as labelWeekNumberHeader
6
+ n as formatMonthDropdown
6
7
  };
7
8
  //# sourceMappingURL=index145.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index145.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.js"],"sourcesContent":["/**\n * Generates the ARIA label for the week number header element.\n *\n * @defaultValue `\"Week Number\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the week number header.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelWeekNumberHeader(_options) {\n return \"Week Number\";\n}\n"],"names":["labelWeekNumberHeader","_options"],"mappings":"AASO,SAASA,EAAsBC,GAAU;AAC5C,SAAO;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index145.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.js"],"sourcesContent":["import { defaultDateLib } from \"../classes/DateLib.js\";\n/**\n * Formats the month for the dropdown option label.\n *\n * @defaultValue The localized full month name.\n * @param month The date representing the month.\n * @param dateLib The date library to use for formatting. Defaults to\n * `defaultDateLib`.\n * @returns The formatted month name as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatMonthDropdown(month, dateLib = defaultDateLib) {\n return dateLib.format(month, \"LLLL\");\n}\n"],"names":["formatMonthDropdown","month","dateLib","defaultDateLib"],"mappings":";AAYO,SAASA,EAAoBC,GAAOC,IAAUC,GAAgB;AACjE,SAAOD,EAAQ,OAAOD,GAAO,MAAM;AACvC;","x_google_ignoreList":[0]}
package/dist/index146.js CHANGED
@@ -1,7 +1,8 @@
1
- function e(o) {
2
- return "Choose the Year";
1
+ import { DateLib as t } from "./index118.js";
2
+ function a(c, e, r) {
3
+ return (r ?? new t(e)).format(c, "cccccc");
3
4
  }
4
5
  export {
5
- e as labelYearDropdown
6
+ a as formatWeekdayName
6
7
  };
7
8
  //# sourceMappingURL=index146.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index146.js","sources":["../../../node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.js"],"sourcesContent":["/**\n * Generates the ARIA label for the years dropdown.\n *\n * @defaultValue `\"Choose the Year\"`\n * @param options - Optional configuration for the date formatting library.\n * @returns The ARIA label for the years dropdown.\n * @group Labels\n * @see https://daypicker.dev/docs/translation#aria-labels\n */\nexport function labelYearDropdown(_options) {\n return \"Choose the Year\";\n}\n"],"names":["labelYearDropdown","_options"],"mappings":"AASO,SAASA,EAAkBC,GAAU;AACxC,SAAO;AACX;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index146.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.js"],"sourcesContent":["import { DateLib } from \"../classes/DateLib.js\";\n/**\n * Formats the name of a weekday to be displayed in the weekdays header.\n *\n * @defaultValue `cccccc` (e.g., \"Mo\" for Monday).\n * @param weekday The date representing the weekday.\n * @param options Configuration options for the date library.\n * @param dateLib The date library to use for formatting. If not provided, a new\n * instance is created.\n * @returns The formatted weekday name as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatWeekdayName(weekday, options, dateLib) {\n return (dateLib ?? new DateLib(options)).format(weekday, \"cccccc\");\n}\n"],"names":["formatWeekdayName","weekday","options","dateLib","DateLib"],"mappings":";AAaO,SAASA,EAAkBC,GAASC,GAASC,GAAS;AACzD,UAAQA,KAAW,IAAIC,EAAQF,CAAO,GAAG,OAAOD,GAAS,QAAQ;AACrE;","x_google_ignoreList":[0]}
package/dist/index147.js CHANGED
@@ -1,50 +1,8 @@
1
- import * as l from "react";
2
- import { composeRefs as m } from "./index50.js";
3
- import { j as u } from "./index28.js";
4
- // @__NO_SIDE_EFFECTS__
5
- function x(e) {
6
- const r = /* @__PURE__ */ y(e), t = l.forwardRef((o, n) => {
7
- const { children: i, ...c } = o, s = l.Children.toArray(i), a = s.find(g);
8
- if (a) {
9
- const f = a.props.children, d = s.map((p) => p === a ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : p);
10
- return /* @__PURE__ */ u.jsx(r, { ...c, ref: n, children: l.isValidElement(f) ? l.cloneElement(f, void 0, d) : null });
11
- }
12
- return /* @__PURE__ */ u.jsx(r, { ...c, ref: n, children: i });
13
- });
14
- return t.displayName = `${e}.Slot`, t;
15
- }
16
- // @__NO_SIDE_EFFECTS__
17
- function y(e) {
18
- const r = l.forwardRef((t, o) => {
19
- const { children: n, ...i } = t;
20
- if (l.isValidElement(n)) {
21
- const c = R(n), s = C(i, n.props);
22
- return n.type !== l.Fragment && (s.ref = o ? m(o, c) : c), l.cloneElement(n, s);
23
- }
24
- return l.Children.count(n) > 1 ? l.Children.only(null) : null;
25
- });
26
- return r.displayName = `${e}.SlotClone`, r;
27
- }
28
- var E = /* @__PURE__ */ Symbol("radix.slottable");
29
- function g(e) {
30
- return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === E;
31
- }
32
- function C(e, r) {
33
- const t = { ...r };
34
- for (const o in r) {
35
- const n = e[o], i = r[o];
36
- /^on[A-Z]/.test(o) ? n && i ? t[o] = (...s) => {
37
- const a = i(...s);
38
- return n(...s), a;
39
- } : n && (t[o] = n) : o === "style" ? t[o] = { ...n, ...i } : o === "className" && (t[o] = [n, i].filter(Boolean).join(" "));
40
- }
41
- return { ...e, ...t };
42
- }
43
- function R(e) {
44
- let r = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning;
45
- return t ? e.ref : (r = Object.getOwnPropertyDescriptor(e, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
1
+ import { defaultDateLib as o } from "./index118.js";
2
+ function a(r, t = o) {
3
+ return r < 10 ? t.formatNumber(`0${r.toLocaleString()}`) : t.formatNumber(`${r.toLocaleString()}`);
46
4
  }
47
5
  export {
48
- x as createSlot
6
+ a as formatWeekNumber
49
7
  };
50
8
  //# sourceMappingURL=index147.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index147.js","sources":["../../../node_modules/@radix-ui/react-primitive/node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index147.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.js"],"sourcesContent":["import { defaultDateLib } from \"../classes/DateLib.js\";\n/**\n * Formats the week number.\n *\n * @defaultValue The week number as a string, with a leading zero for single-digit numbers.\n * @param weekNumber The week number to format.\n * @param dateLib The date library to use for formatting. Defaults to\n * `defaultDateLib`.\n * @returns The formatted week number as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatWeekNumber(weekNumber, dateLib = defaultDateLib) {\n if (weekNumber < 10) {\n return dateLib.formatNumber(`0${weekNumber.toLocaleString()}`);\n }\n return dateLib.formatNumber(`${weekNumber.toLocaleString()}`);\n}\n"],"names":["formatWeekNumber","weekNumber","dateLib","defaultDateLib"],"mappings":";AAYO,SAASA,EAAiBC,GAAYC,IAAUC,GAAgB;AACnE,SAAIF,IAAa,KACNC,EAAQ,aAAa,IAAID,EAAW,eAAc,CAAE,EAAE,IAE1DC,EAAQ,aAAa,GAAGD,EAAW,eAAc,CAAE,EAAE;AAChE;","x_google_ignoreList":[0]}
package/dist/index148.js CHANGED
@@ -1,50 +1,7 @@
1
- import * as l from "react";
2
- import { composeRefs as m } from "./index50.js";
3
- import { j as u } from "./index28.js";
4
- // @__NO_SIDE_EFFECTS__
5
- function x(e) {
6
- const r = /* @__PURE__ */ y(e), t = l.forwardRef((o, n) => {
7
- const { children: i, ...c } = o, s = l.Children.toArray(i), a = s.find(g);
8
- if (a) {
9
- const f = a.props.children, d = s.map((p) => p === a ? l.Children.count(f) > 1 ? l.Children.only(null) : l.isValidElement(f) ? f.props.children : null : p);
10
- return /* @__PURE__ */ u.jsx(r, { ...c, ref: n, children: l.isValidElement(f) ? l.cloneElement(f, void 0, d) : null });
11
- }
12
- return /* @__PURE__ */ u.jsx(r, { ...c, ref: n, children: i });
13
- });
14
- return t.displayName = `${e}.Slot`, t;
15
- }
16
- // @__NO_SIDE_EFFECTS__
17
- function y(e) {
18
- const r = l.forwardRef((t, o) => {
19
- const { children: n, ...i } = t;
20
- if (l.isValidElement(n)) {
21
- const c = R(n), s = C(i, n.props);
22
- return n.type !== l.Fragment && (s.ref = o ? m(o, c) : c), l.cloneElement(n, s);
23
- }
24
- return l.Children.count(n) > 1 ? l.Children.only(null) : null;
25
- });
26
- return r.displayName = `${e}.SlotClone`, r;
27
- }
28
- var E = /* @__PURE__ */ Symbol("radix.slottable");
29
- function g(e) {
30
- return l.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === E;
31
- }
32
- function C(e, r) {
33
- const t = { ...r };
34
- for (const o in r) {
35
- const n = e[o], i = r[o];
36
- /^on[A-Z]/.test(o) ? n && i ? t[o] = (...s) => {
37
- const a = i(...s);
38
- return n(...s), a;
39
- } : n && (t[o] = n) : o === "style" ? t[o] = { ...n, ...i } : o === "className" && (t[o] = [n, i].filter(Boolean).join(" "));
40
- }
41
- return { ...e, ...t };
42
- }
43
- function R(e) {
44
- let r = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning;
45
- return t ? e.ref : (r = Object.getOwnPropertyDescriptor(e, "ref")?.get, t = r && "isReactWarning" in r && r.isReactWarning, t ? e.props.ref : e.props.ref || e.ref);
1
+ function e() {
2
+ return "";
46
3
  }
47
4
  export {
48
- x as createSlot
5
+ e as formatWeekNumberHeader
49
6
  };
50
7
  //# sourceMappingURL=index148.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index148.js","sources":["../../../node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-slot/dist/index.mjs"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["createSlot","ownerName","SlotClone","createSlotClone","Slot2","React","props","forwardedRef","children","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","jsx","childrenRef","getElementRef","props2","mergeProps","composeRefs","SLOTTABLE_IDENTIFIER","childProps","overrideProps","propName","slotPropValue","childPropValue","args","result","element","getter","mayWarn"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index148.js","sources":["../../../node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.js"],"sourcesContent":["/**\n * Formats the header for the week number column.\n *\n * @defaultValue An empty string `\"\"`.\n * @returns The formatted week number header as a string.\n * @group Formatters\n * @see https://daypicker.dev/docs/translation#custom-formatters\n */\nexport function formatWeekNumberHeader() {\n return ``;\n}\n"],"names":["formatWeekNumberHeader"],"mappings":"AAQO,SAASA,IAAyB;AACrC,SAAO;AACX;","x_google_ignoreList":[0]}