@rpcbase/ui 0.226.0 → 0.227.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 (719) hide show
  1. package/dist/components/PhoneNumberInput/index.d.ts +1 -1
  2. package/dist/components/PhoneNumberInput/index.d.ts.map +1 -1
  3. package/dist/components/PhoneNumberInput/normalization.d.ts +0 -28
  4. package/dist/components/PhoneNumberInput/normalization.d.ts.map +1 -1
  5. package/dist/components/PhoneNumberInput/types.d.ts +4 -4
  6. package/dist/components/PhoneNumberInput/types.d.ts.map +1 -1
  7. package/dist/index100.js +4 -11
  8. package/dist/index100.js.map +1 -1
  9. package/dist/index101.js +8 -68
  10. package/dist/index101.js.map +1 -1
  11. package/dist/index102.js +6 -38
  12. package/dist/index102.js.map +1 -1
  13. package/dist/index103.js +5 -14
  14. package/dist/index103.js.map +1 -1
  15. package/dist/index104.js +4 -23
  16. package/dist/index104.js.map +1 -1
  17. package/dist/index105.js +6 -110
  18. package/dist/index105.js.map +1 -1
  19. package/dist/index106.js +146 -13
  20. package/dist/index106.js.map +1 -1
  21. package/dist/index107.js +39 -4
  22. package/dist/index107.js.map +1 -1
  23. package/dist/index108.js +5 -4
  24. package/dist/index108.js.map +1 -1
  25. package/dist/index109.js +8 -5
  26. package/dist/index109.js.map +1 -1
  27. package/dist/index110.js +13 -11
  28. package/dist/index110.js.map +1 -1
  29. package/dist/index111.js +13 -19
  30. package/dist/index111.js.map +1 -1
  31. package/dist/index112.js +8 -13
  32. package/dist/index112.js.map +1 -1
  33. package/dist/index113.js +31 -261
  34. package/dist/index113.js.map +1 -1
  35. package/dist/index114.js +10 -4
  36. package/dist/index114.js.map +1 -1
  37. package/dist/index115.js +11 -28
  38. package/dist/index115.js.map +1 -1
  39. package/dist/index116.js +8 -126
  40. package/dist/index116.js.map +1 -1
  41. package/dist/index117.js +13 -5
  42. package/dist/index117.js.map +1 -1
  43. package/dist/index118.js +101 -78
  44. package/dist/index118.js.map +1 -1
  45. package/dist/index119.js +20 -67
  46. package/dist/index119.js.map +1 -1
  47. package/dist/index120.js +53 -8
  48. package/dist/index120.js.map +1 -1
  49. package/dist/index121.js +73 -16
  50. package/dist/index121.js.map +1 -1
  51. package/dist/index122.js +9 -92
  52. package/dist/index122.js.map +1 -1
  53. package/dist/index123.js +17 -62
  54. package/dist/index123.js.map +1 -1
  55. package/dist/index124.js +15 -44
  56. package/dist/index124.js.map +1 -1
  57. package/dist/index125.js +24 -52
  58. package/dist/index125.js.map +1 -1
  59. package/dist/index126.js +6 -4
  60. package/dist/index126.js.map +1 -1
  61. package/dist/index127.js +5 -4
  62. package/dist/index127.js.map +1 -1
  63. package/dist/index128.js +23 -15
  64. package/dist/index128.js.map +1 -1
  65. package/dist/index129.js +35 -6
  66. package/dist/index129.js.map +1 -1
  67. package/dist/index130.js +16 -8
  68. package/dist/index130.js.map +1 -1
  69. package/dist/index131.js +6 -16
  70. package/dist/index131.js.map +1 -1
  71. package/dist/index132.js +4 -4
  72. package/dist/index132.js.map +1 -1
  73. package/dist/index133.js +4 -4
  74. package/dist/index133.js.map +1 -1
  75. package/dist/index134.js +4 -5
  76. package/dist/index134.js.map +1 -1
  77. package/dist/index135.js +4 -5
  78. package/dist/index135.js.map +1 -1
  79. package/dist/index136.js +3 -4
  80. package/dist/index136.js.map +1 -1
  81. package/dist/index137.js +6 -4
  82. package/dist/index137.js.map +1 -1
  83. package/dist/index138.js +24 -7
  84. package/dist/index138.js.map +1 -1
  85. package/dist/index139.js +7 -24
  86. package/dist/index139.js.map +1 -1
  87. package/dist/index140.js +6 -6
  88. package/dist/index140.js.map +1 -1
  89. package/dist/index141.js +5 -4
  90. package/dist/index141.js.map +1 -1
  91. package/dist/index142.js +3 -6
  92. package/dist/index142.js.map +1 -1
  93. package/dist/index143.js +3 -5
  94. package/dist/index143.js.map +1 -1
  95. package/dist/index144.js +4 -4
  96. package/dist/index144.js.map +1 -1
  97. package/dist/index145.js +3 -5
  98. package/dist/index145.js.map +1 -1
  99. package/dist/index146.js +4 -4
  100. package/dist/index146.js.map +1 -1
  101. package/dist/index147.js +3 -8
  102. package/dist/index147.js.map +1 -1
  103. package/dist/index148.js +3 -5
  104. package/dist/index148.js.map +1 -1
  105. package/dist/index149.js +3 -4
  106. package/dist/index149.js.map +1 -1
  107. package/dist/index150.js +11 -4
  108. package/dist/index150.js.map +1 -1
  109. package/dist/index151.js +68 -6
  110. package/dist/index151.js.map +1 -1
  111. package/dist/index152.js +35 -143
  112. package/dist/index152.js.map +1 -1
  113. package/dist/index153.js +13 -39
  114. package/dist/index153.js.map +1 -1
  115. package/dist/index154.js +23 -4
  116. package/dist/index154.js.map +1 -1
  117. package/dist/index155.js +108 -5
  118. package/dist/index155.js.map +1 -1
  119. package/dist/index156.js +13 -14
  120. package/dist/index156.js.map +1 -1
  121. package/dist/index157.js +4 -13
  122. package/dist/index157.js.map +1 -1
  123. package/dist/index158.js +4 -8
  124. package/dist/index158.js.map +1 -1
  125. package/dist/index159.js +5 -32
  126. package/dist/index159.js.map +1 -1
  127. package/dist/index160.js +11 -10
  128. package/dist/index160.js.map +1 -1
  129. package/dist/index161.js +18 -9
  130. package/dist/index161.js.map +1 -1
  131. package/dist/index162.js +13 -9
  132. package/dist/index162.js.map +1 -1
  133. package/dist/index163.js +258 -10
  134. package/dist/index163.js.map +1 -1
  135. package/dist/index164.js +4 -101
  136. package/dist/index164.js.map +1 -1
  137. package/dist/index165.js +28 -20
  138. package/dist/index165.js.map +1 -1
  139. package/dist/index166.js +122 -49
  140. package/dist/index166.js.map +1 -1
  141. package/dist/index167.js +5 -72
  142. package/dist/index167.js.map +1 -1
  143. package/dist/index168.js +78 -9
  144. package/dist/index168.js.map +1 -1
  145. package/dist/index169.js +64 -18
  146. package/dist/index169.js.map +1 -1
  147. package/dist/index170.js +8 -16
  148. package/dist/index170.js.map +1 -1
  149. package/dist/index171.js +16 -24
  150. package/dist/index171.js.map +1 -1
  151. package/dist/index172.js +92 -6
  152. package/dist/index172.js.map +1 -1
  153. package/dist/index173.js +65 -5
  154. package/dist/index173.js.map +1 -1
  155. package/dist/index174.js +43 -21
  156. package/dist/index174.js.map +1 -1
  157. package/dist/index175.js +6 -35
  158. package/dist/index175.js.map +1 -1
  159. package/dist/index176.js +69 -16
  160. package/dist/index176.js.map +1 -1
  161. package/dist/index177.js +2 -7
  162. package/dist/index177.js.map +1 -1
  163. package/dist/index178.js +363 -4
  164. package/dist/index178.js.map +1 -1
  165. package/dist/index179.js +261 -4
  166. package/dist/index179.js.map +1 -1
  167. package/dist/index18.js +377 -414
  168. package/dist/index18.js.map +1 -1
  169. package/dist/index180.js +60 -4
  170. package/dist/index180.js.map +1 -1
  171. package/dist/index181.js +46 -4
  172. package/dist/index181.js.map +1 -1
  173. package/dist/index182.js +169 -3
  174. package/dist/index182.js.map +1 -1
  175. package/dist/index183.js +109 -6
  176. package/dist/index183.js.map +1 -1
  177. package/dist/index184.js +25 -24
  178. package/dist/index184.js.map +1 -1
  179. package/dist/index185.js +8 -8
  180. package/dist/index185.js.map +1 -1
  181. package/dist/index186.js +4 -6
  182. package/dist/index186.js.map +1 -1
  183. package/dist/index187.js +5 -5
  184. package/dist/index187.js.map +1 -1
  185. package/dist/index188.js +4 -3
  186. package/dist/index188.js.map +1 -1
  187. package/dist/index189.js +466 -3
  188. package/dist/index189.js.map +1 -1
  189. package/dist/index190.js +185 -4
  190. package/dist/index190.js.map +1 -1
  191. package/dist/index191.js +107 -3
  192. package/dist/index191.js.map +1 -1
  193. package/dist/index192.js +262 -4
  194. package/dist/index192.js.map +1 -1
  195. package/dist/index193.js +9 -3
  196. package/dist/index193.js.map +1 -1
  197. package/dist/index194.js +42 -3
  198. package/dist/index194.js.map +1 -1
  199. package/dist/index195.js +4 -3
  200. package/dist/index195.js.map +1 -1
  201. package/dist/index196.js +20 -14
  202. package/dist/index196.js.map +1 -1
  203. package/dist/index197.js +58 -146
  204. package/dist/index197.js.map +1 -1
  205. package/dist/index198.js +6 -30
  206. package/dist/index198.js.map +1 -1
  207. package/dist/index199.js +11 -9
  208. package/dist/index199.js.map +1 -1
  209. package/dist/index200.js +46 -44
  210. package/dist/index200.js.map +1 -1
  211. package/dist/index201.js +4 -12
  212. package/dist/index201.js.map +1 -1
  213. package/dist/index202.js +28 -43
  214. package/dist/index202.js.map +1 -1
  215. package/dist/index203.js +14 -93
  216. package/dist/index203.js.map +1 -1
  217. package/dist/index204.js +5 -86
  218. package/dist/index204.js.map +1 -1
  219. package/dist/index205.js +21 -105
  220. package/dist/index205.js.map +1 -1
  221. package/dist/index206.js +50 -51
  222. package/dist/index206.js.map +1 -1
  223. package/dist/index207.js +25 -11
  224. package/dist/index207.js.map +1 -1
  225. package/dist/index208.js +41 -37
  226. package/dist/index208.js.map +1 -1
  227. package/dist/index209.js +39 -8
  228. package/dist/index209.js.map +1 -1
  229. package/dist/index210.js +45 -117
  230. package/dist/index210.js.map +1 -1
  231. package/dist/index211.js +20 -17
  232. package/dist/index211.js.map +1 -1
  233. package/dist/index212.js +69 -14
  234. package/dist/index212.js.map +1 -1
  235. package/dist/index213.js +17 -3
  236. package/dist/index213.js.map +1 -1
  237. package/dist/index214.js +11 -36
  238. package/dist/index214.js.map +1 -1
  239. package/dist/index215.js +27 -20
  240. package/dist/index215.js.map +1 -1
  241. package/dist/index216.js +13 -9
  242. package/dist/index216.js.map +1 -1
  243. package/dist/index217.js +18 -8
  244. package/dist/index217.js.map +1 -1
  245. package/dist/index218.js +35 -18
  246. package/dist/index218.js.map +1 -1
  247. package/dist/index219.js +260 -26
  248. package/dist/index219.js.map +1 -1
  249. package/dist/index220.js +277 -15
  250. package/dist/index220.js.map +1 -1
  251. package/dist/index221.js +66 -64
  252. package/dist/index221.js.map +1 -1
  253. package/dist/index222.js +99 -8
  254. package/dist/index222.js.map +1 -1
  255. package/dist/index223.js +82 -10
  256. package/dist/index223.js.map +1 -1
  257. package/dist/index224.js +3 -8
  258. package/dist/index224.js.map +1 -1
  259. package/dist/index225.js +29 -5
  260. package/dist/index225.js.map +1 -1
  261. package/dist/index226.js +16 -13
  262. package/dist/index226.js.map +1 -1
  263. package/dist/index227.js +35 -4
  264. package/dist/index227.js.map +1 -1
  265. package/dist/index228.js +16 -3
  266. package/dist/index228.js.map +1 -1
  267. package/dist/index229.js +3 -99
  268. package/dist/index229.js.map +1 -1
  269. package/dist/index230.js +24 -27
  270. package/dist/index230.js.map +1 -1
  271. package/dist/index231.js +27 -50
  272. package/dist/index231.js.map +1 -1
  273. package/dist/index232.js +4 -18
  274. package/dist/index232.js.map +1 -1
  275. package/dist/index233.js +78 -5
  276. package/dist/index233.js.map +1 -1
  277. package/dist/index234.js +260 -113
  278. package/dist/index234.js.map +1 -1
  279. package/dist/index235.js +11 -27
  280. package/dist/index235.js.map +1 -1
  281. package/dist/index236.js +10 -32
  282. package/dist/index236.js.map +1 -1
  283. package/dist/index237.js +25 -73
  284. package/dist/index237.js.map +1 -1
  285. package/dist/index238.js +14 -260
  286. package/dist/index238.js.map +1 -1
  287. package/dist/index239.js +121 -24
  288. package/dist/index239.js.map +1 -1
  289. package/dist/index240.js +5 -6
  290. package/dist/index240.js.map +1 -1
  291. package/dist/index241.js +40 -142
  292. package/dist/index241.js.map +1 -1
  293. package/dist/index242.js +57 -53
  294. package/dist/index242.js.map +1 -1
  295. package/dist/index243.js +13 -49
  296. package/dist/index243.js.map +1 -1
  297. package/dist/index244.js +8 -15
  298. package/dist/index244.js.map +1 -1
  299. package/dist/index245.js +4 -132
  300. package/dist/index245.js.map +1 -1
  301. package/dist/index246.js +3 -8
  302. package/dist/index246.js.map +1 -1
  303. package/dist/index247.js +10 -4
  304. package/dist/index247.js.map +1 -1
  305. package/dist/index248.js +8 -4
  306. package/dist/index248.js.map +1 -1
  307. package/dist/index249.js +133 -11
  308. package/dist/index249.js.map +1 -1
  309. package/dist/index250.js +397 -19
  310. package/dist/index250.js.map +1 -1
  311. package/dist/index251.js +53 -20
  312. package/dist/index251.js.map +1 -1
  313. package/dist/index252.js +11 -11
  314. package/dist/index252.js.map +1 -1
  315. package/dist/index253.js +11 -50
  316. package/dist/index253.js.map +1 -1
  317. package/dist/index254.js +58 -16
  318. package/dist/index254.js.map +1 -1
  319. package/dist/index255.js +8 -21
  320. package/dist/index255.js.map +1 -1
  321. package/dist/index256.js +64 -49
  322. package/dist/index256.js.map +1 -1
  323. package/dist/index257.js +19 -25
  324. package/dist/index257.js.map +1 -1
  325. package/dist/index258.js +16 -41
  326. package/dist/index258.js.map +1 -1
  327. package/dist/index259.js +5 -39
  328. package/dist/index259.js.map +1 -1
  329. package/dist/index260.js +6 -45
  330. package/dist/index260.js.map +1 -1
  331. package/dist/index261.js +6 -20
  332. package/dist/index261.js.map +1 -1
  333. package/dist/index262.js +4 -70
  334. package/dist/index262.js.map +1 -1
  335. package/dist/index263.js +6 -17
  336. package/dist/index263.js.map +1 -1
  337. package/dist/index264.js +16 -11
  338. package/dist/index264.js.map +1 -1
  339. package/dist/index265.js +4 -13
  340. package/dist/index265.js.map +1 -1
  341. package/dist/index266.js +4 -18
  342. package/dist/index266.js.map +1 -1
  343. package/dist/index267.js +12 -36
  344. package/dist/index267.js.map +1 -1
  345. package/dist/index268.js +9 -278
  346. package/dist/index268.js.map +1 -1
  347. package/dist/index269.js +13 -68
  348. package/dist/index269.js.map +1 -1
  349. package/dist/index270.js +13 -83
  350. package/dist/index270.js.map +1 -1
  351. package/dist/index271.js +4 -3
  352. package/dist/index271.js.map +1 -1
  353. package/dist/index272.js +5 -29
  354. package/dist/index272.js.map +1 -1
  355. package/dist/index273.js +6 -16
  356. package/dist/index273.js.map +1 -1
  357. package/dist/index274.js +6 -35
  358. package/dist/index274.js.map +1 -1
  359. package/dist/index275.js +52 -14
  360. package/dist/index275.js.map +1 -1
  361. package/dist/index276.js +8 -3
  362. package/dist/index276.js.map +1 -1
  363. package/dist/index277.js +4 -26
  364. package/dist/index277.js.map +1 -1
  365. package/dist/index278.js +5 -4
  366. package/dist/index278.js.map +1 -1
  367. package/dist/index279.js +8 -78
  368. package/dist/index279.js.map +1 -1
  369. package/dist/index280.js +4 -269
  370. package/dist/index280.js.map +1 -1
  371. package/dist/index281.js +4 -11
  372. package/dist/index281.js.map +1 -1
  373. package/dist/index282.js +3 -10
  374. package/dist/index282.js.map +1 -1
  375. package/dist/index283.js +10 -25
  376. package/dist/index283.js.map +1 -1
  377. package/dist/index284.js +9 -16
  378. package/dist/index284.js.map +1 -1
  379. package/dist/index285.js +9 -125
  380. package/dist/index285.js.map +1 -1
  381. package/dist/index286.js +10 -5
  382. package/dist/index286.js.map +1 -1
  383. package/dist/index287.js +10 -40
  384. package/dist/index287.js.map +1 -1
  385. package/dist/index288.js +9 -65
  386. package/dist/index288.js.map +1 -1
  387. package/dist/index289.js +7 -14
  388. package/dist/index289.js.map +1 -1
  389. package/dist/index290.js +5 -7
  390. package/dist/index290.js.map +1 -1
  391. package/dist/index291.js +4 -5
  392. package/dist/index291.js.map +1 -1
  393. package/dist/index292.js +5 -3
  394. package/dist/index292.js.map +1 -1
  395. package/dist/index293.js +6 -10
  396. package/dist/index293.js.map +1 -1
  397. package/dist/index294.js +5 -7
  398. package/dist/index294.js.map +1 -1
  399. package/dist/index295.js +14 -397
  400. package/dist/index295.js.map +1 -1
  401. package/dist/index296.js +7 -52
  402. package/dist/index296.js.map +1 -1
  403. package/dist/index297.js +10 -11
  404. package/dist/index297.js.map +1 -1
  405. package/dist/index298.js +10 -11
  406. package/dist/index298.js.map +1 -1
  407. package/dist/index299.js +21 -58
  408. package/dist/index299.js.map +1 -1
  409. package/dist/index300.js +10 -8
  410. package/dist/index300.js.map +1 -1
  411. package/dist/index301.js +9 -66
  412. package/dist/index301.js.map +1 -1
  413. package/dist/index302.js +9 -19
  414. package/dist/index302.js.map +1 -1
  415. package/dist/index303.js +4 -16
  416. package/dist/index303.js.map +1 -1
  417. package/dist/index304.js +5 -5
  418. package/dist/index304.js.map +1 -1
  419. package/dist/index305.js +15 -4
  420. package/dist/index305.js.map +1 -1
  421. package/dist/index306.js +9 -6
  422. package/dist/index306.js.map +1 -1
  423. package/dist/index307.js +18 -4
  424. package/dist/index307.js.map +1 -1
  425. package/dist/index308.js +15 -6
  426. package/dist/index308.js.map +1 -1
  427. package/dist/index309.js +12 -16
  428. package/dist/index309.js.map +1 -1
  429. package/dist/index31.js +24 -24
  430. package/dist/index310.js +29 -4
  431. package/dist/index310.js.map +1 -1
  432. package/dist/index311.js +12 -4
  433. package/dist/index311.js.map +1 -1
  434. package/dist/index312.js +25 -12
  435. package/dist/index312.js.map +1 -1
  436. package/dist/index313.js +5 -9
  437. package/dist/index313.js.map +1 -1
  438. package/dist/index314.js +8 -13
  439. package/dist/index314.js.map +1 -1
  440. package/dist/index315.js +11 -13
  441. package/dist/index315.js.map +1 -1
  442. package/dist/index316.js +8 -4
  443. package/dist/index316.js.map +1 -1
  444. package/dist/index317.js +13 -5
  445. package/dist/index317.js.map +1 -1
  446. package/dist/index318.js +3 -6
  447. package/dist/index318.js.map +1 -1
  448. package/dist/index319.js +3 -5
  449. package/dist/index319.js.map +1 -1
  450. package/dist/index32.js +3 -3
  451. package/dist/index320.js +16 -53
  452. package/dist/index320.js.map +1 -1
  453. package/dist/index321.js +5 -8
  454. package/dist/index321.js.map +1 -1
  455. package/dist/index322.js +51 -4
  456. package/dist/index322.js.map +1 -1
  457. package/dist/index323.js +122 -4
  458. package/dist/index323.js.map +1 -1
  459. package/dist/index324.js +32 -8
  460. package/dist/index324.js.map +1 -1
  461. package/dist/index325.js +73 -4
  462. package/dist/index325.js.map +1 -1
  463. package/dist/index326.js +142 -4
  464. package/dist/index326.js.map +1 -1
  465. package/dist/index327.js +61 -3
  466. package/dist/index327.js.map +1 -1
  467. package/dist/index328.js +49 -10
  468. package/dist/index328.js.map +1 -1
  469. package/dist/index329.js +15 -10
  470. package/dist/index329.js.map +1 -1
  471. package/dist/index330.js +8 -9
  472. package/dist/index330.js.map +1 -1
  473. package/dist/index331.js +5 -11
  474. package/dist/index331.js.map +1 -1
  475. package/dist/index332.js +11 -10
  476. package/dist/index332.js.map +1 -1
  477. package/dist/index333.js +21 -9
  478. package/dist/index333.js.map +1 -1
  479. package/dist/index334.js +13 -6
  480. package/dist/index334.js.map +1 -1
  481. package/dist/index335.js +154 -5
  482. package/dist/index335.js.map +1 -1
  483. package/dist/index336.js +30 -4
  484. package/dist/index336.js.map +1 -1
  485. package/dist/index337.js +9 -5
  486. package/dist/index337.js.map +1 -1
  487. package/dist/index338.js +48 -6
  488. package/dist/index338.js.map +1 -1
  489. package/dist/index339.js +11 -5
  490. package/dist/index339.js.map +1 -1
  491. package/dist/index34.js +4 -4
  492. package/dist/index340.js +42 -14
  493. package/dist/index340.js.map +1 -1
  494. package/dist/index341.js +95 -7
  495. package/dist/index341.js.map +1 -1
  496. package/dist/index342.js +85 -9
  497. package/dist/index342.js.map +1 -1
  498. package/dist/index343.js +104 -9
  499. package/dist/index343.js.map +1 -1
  500. package/dist/index344.js +52 -21
  501. package/dist/index344.js.map +1 -1
  502. package/dist/index345.js +11 -10
  503. package/dist/index345.js.map +1 -1
  504. package/dist/index346.js +37 -9
  505. package/dist/index346.js.map +1 -1
  506. package/dist/index347.js +7 -8
  507. package/dist/index347.js.map +1 -1
  508. package/dist/index348.js +116 -4
  509. package/dist/index348.js.map +1 -1
  510. package/dist/index349.js +17 -5
  511. package/dist/index349.js.map +1 -1
  512. package/dist/index35.js +5 -5
  513. package/dist/index350.js +14 -15
  514. package/dist/index350.js.map +1 -1
  515. package/dist/index351.js +3 -9
  516. package/dist/index351.js.map +1 -1
  517. package/dist/index352.js +34 -16
  518. package/dist/index352.js.map +1 -1
  519. package/dist/index353.js +20 -15
  520. package/dist/index353.js.map +1 -1
  521. package/dist/index354.js +9 -12
  522. package/dist/index354.js.map +1 -1
  523. package/dist/index355.js +8 -29
  524. package/dist/index355.js.map +1 -1
  525. package/dist/index356.js +18 -11
  526. package/dist/index356.js.map +1 -1
  527. package/dist/index357.js +26 -23
  528. package/dist/index357.js.map +1 -1
  529. package/dist/index358.js +16 -5
  530. package/dist/index358.js.map +1 -1
  531. package/dist/index359.js +4 -21
  532. package/dist/index359.js.map +1 -1
  533. package/dist/index36.js +10 -10
  534. package/dist/index360.js +11 -8
  535. package/dist/index360.js.map +1 -1
  536. package/dist/index361.js +16 -25
  537. package/dist/index361.js.map +1 -1
  538. package/dist/index362.js +5 -26
  539. package/dist/index362.js.map +1 -1
  540. package/dist/index363.js +19 -136
  541. package/dist/index363.js.map +1 -1
  542. package/dist/index364.js +44 -12
  543. package/dist/index364.js.map +1 -1
  544. package/dist/index365.js +15 -224
  545. package/dist/index365.js.map +1 -1
  546. package/dist/index366.js +5 -4
  547. package/dist/index366.js.map +1 -1
  548. package/dist/index367.js +199 -18
  549. package/dist/index367.js.map +1 -1
  550. package/dist/index368.js +76 -76
  551. package/dist/index368.js.map +1 -1
  552. package/dist/index369.js +5 -12
  553. package/dist/index369.js.map +1 -1
  554. package/dist/index37.js +3 -3
  555. package/dist/index370.js +18 -4
  556. package/dist/index370.js.map +1 -1
  557. package/dist/index371.js +12 -77
  558. package/dist/index371.js.map +1 -1
  559. package/dist/index372.js +7 -199
  560. package/dist/index372.js.map +1 -1
  561. package/dist/index373.js +25 -71
  562. package/dist/index373.js.map +1 -1
  563. package/dist/index374.js +27 -9
  564. package/dist/index374.js.map +1 -1
  565. package/dist/index375.js +137 -16
  566. package/dist/index375.js.map +1 -1
  567. package/dist/index376.js +12 -15
  568. package/dist/index376.js.map +1 -1
  569. package/dist/index377.js +227 -4
  570. package/dist/index377.js.map +1 -1
  571. package/dist/index378.js +3 -11
  572. package/dist/index378.js.map +1 -1
  573. package/dist/index379.js +19 -5
  574. package/dist/index379.js.map +1 -1
  575. package/dist/index38.js +4 -4
  576. package/dist/index380.js +76 -19
  577. package/dist/index380.js.map +1 -1
  578. package/dist/index381.js +12 -45
  579. package/dist/index381.js.map +1 -1
  580. package/dist/index382.js +4 -18
  581. package/dist/index382.js.map +1 -1
  582. package/dist/index383.js +71 -4
  583. package/dist/index383.js.map +1 -1
  584. package/dist/index384.js +9 -5
  585. package/dist/index384.js.map +1 -1
  586. package/dist/index385.js +16 -18
  587. package/dist/index385.js.map +1 -1
  588. package/dist/index386.js +20 -12
  589. package/dist/index386.js.map +1 -1
  590. package/dist/index387.js +3 -15
  591. package/dist/index387.js.map +1 -1
  592. package/dist/index388.js +3 -492
  593. package/dist/index388.js.map +1 -1
  594. package/dist/index389.js +5 -3
  595. package/dist/index389.js.map +1 -1
  596. package/dist/index39.js +5 -5
  597. package/dist/index390.js +5 -3
  598. package/dist/index390.js.map +1 -1
  599. package/dist/index391.js +4 -5
  600. package/dist/index391.js.map +1 -1
  601. package/dist/index392.js +15 -4
  602. package/dist/index392.js.map +1 -1
  603. package/dist/index393.js +9 -4
  604. package/dist/index393.js.map +1 -1
  605. package/dist/index394.js +5 -15
  606. package/dist/index394.js.map +1 -1
  607. package/dist/index395.js +4 -8
  608. package/dist/index395.js.map +1 -1
  609. package/dist/index396.js +545 -5
  610. package/dist/index396.js.map +1 -1
  611. package/dist/index397.js +47 -5
  612. package/dist/index397.js.map +1 -1
  613. package/dist/index398.js +15 -543
  614. package/dist/index398.js.map +1 -1
  615. package/dist/index399.js +6 -47
  616. package/dist/index399.js.map +1 -1
  617. package/dist/index40.js +3 -3
  618. package/dist/index400.js +7 -17
  619. package/dist/index400.js.map +1 -1
  620. package/dist/index401.js +6 -5
  621. package/dist/index401.js.map +1 -1
  622. package/dist/index402.js +7 -7
  623. package/dist/index402.js.map +1 -1
  624. package/dist/index403.js +11 -6
  625. package/dist/index403.js.map +1 -1
  626. package/dist/index404.js +8 -7
  627. package/dist/index404.js.map +1 -1
  628. package/dist/index405.js +12 -11
  629. package/dist/index405.js.map +1 -1
  630. package/dist/index406.js +14 -8
  631. package/dist/index406.js.map +1 -1
  632. package/dist/index407.js +491 -12
  633. package/dist/index407.js.map +1 -1
  634. package/dist/index41.js +10 -10
  635. package/dist/index410.js +1 -1
  636. package/dist/index411.js +1 -1
  637. package/dist/index414.js +1 -1
  638. package/dist/index415.js +1 -1
  639. package/dist/index423.js +2 -2
  640. package/dist/index425.js +2 -2
  641. package/dist/index44.js +23 -22
  642. package/dist/index44.js.map +1 -1
  643. package/dist/index45.js +22 -196
  644. package/dist/index45.js.map +1 -1
  645. package/dist/index48.js +2 -2
  646. package/dist/index49.js +34 -34
  647. package/dist/index50.js +29 -29
  648. package/dist/index51.js +2 -2
  649. package/dist/index52.js +12 -12
  650. package/dist/index53.js +4 -4
  651. package/dist/index54.js +1 -1
  652. package/dist/index55.js +22 -22
  653. package/dist/index56.js +5 -5
  654. package/dist/index57.js +5 -5
  655. package/dist/index58.js +8 -8
  656. package/dist/index59.js +5 -5
  657. package/dist/index60.js +17 -17
  658. package/dist/index61.js +5 -5
  659. package/dist/index62.js +3 -3
  660. package/dist/index66.js +1 -1
  661. package/dist/index67.js +1 -1
  662. package/dist/index70.js +1 -1
  663. package/dist/index71.js +1 -1
  664. package/dist/index72.js +2 -6
  665. package/dist/index72.js.map +1 -1
  666. package/dist/index73.js +2 -8
  667. package/dist/index73.js.map +1 -1
  668. package/dist/index74.js +2 -6
  669. package/dist/index74.js.map +1 -1
  670. package/dist/index75.js +2 -2
  671. package/dist/index76.js +6 -2
  672. package/dist/index76.js.map +1 -1
  673. package/dist/index77.js +8 -2
  674. package/dist/index77.js.map +1 -1
  675. package/dist/index78.js +6 -2
  676. package/dist/index78.js.map +1 -1
  677. package/dist/index79.js +52 -6
  678. package/dist/index79.js.map +1 -1
  679. package/dist/index80.js +4 -68
  680. package/dist/index80.js.map +1 -1
  681. package/dist/index81.js +5 -2
  682. package/dist/index81.js.map +1 -1
  683. package/dist/index82.js +15 -363
  684. package/dist/index82.js.map +1 -1
  685. package/dist/index83.js +5 -261
  686. package/dist/index83.js.map +1 -1
  687. package/dist/index84.js +7 -60
  688. package/dist/index84.js.map +1 -1
  689. package/dist/index85.js +16 -46
  690. package/dist/index85.js.map +1 -1
  691. package/dist/index86.js +4 -169
  692. package/dist/index86.js.map +1 -1
  693. package/dist/index87.js +4 -109
  694. package/dist/index87.js.map +1 -1
  695. package/dist/index88.js +5 -24
  696. package/dist/index88.js.map +1 -1
  697. package/dist/index89.js +6 -8
  698. package/dist/index89.js.map +1 -1
  699. package/dist/index90.js +4 -4
  700. package/dist/index90.js.map +1 -1
  701. package/dist/index91.js +4 -5
  702. package/dist/index91.js.map +1 -1
  703. package/dist/index92.js +6 -4
  704. package/dist/index92.js.map +1 -1
  705. package/dist/index93.js +24 -466
  706. package/dist/index93.js.map +1 -1
  707. package/dist/index94.js +6 -185
  708. package/dist/index94.js.map +1 -1
  709. package/dist/index95.js +4 -107
  710. package/dist/index95.js.map +1 -1
  711. package/dist/index96.js +6 -262
  712. package/dist/index96.js.map +1 -1
  713. package/dist/index97.js +5 -9
  714. package/dist/index97.js.map +1 -1
  715. package/dist/index98.js +4 -42
  716. package/dist/index98.js.map +1 -1
  717. package/dist/index99.js +5 -4
  718. package/dist/index99.js.map +1 -1
  719. package/package.json +1 -1
package/dist/index268.js CHANGED
@@ -1,282 +1,13 @@
1
- import * as f from "react";
2
- import { isHTMLElement as Ce } from "./index245.js";
3
- import { useValueAsRef as z } from "./index254.js";
4
- import { useStableCallback as X } from "./index230.js";
5
- import { useIsoLayoutEffect as A } from "./index248.js";
6
- import { ownerDocument as Te } from "./index271.js";
7
- import { getFloatingFocusElement as Ve, isTypeableCombobox as ze } from "./index277.js";
8
- import { stopEvent as T, isVirtualClick as Ge, isVirtualPointerEvent as We } from "./index362.js";
9
- import { isIndexOutOfListBounds as Fe, getMinListIndex as me, getMaxListIndex as Se, createGridCellMap as _e, isListIndexDisabled as pe, getGridNavigatedIndex as qe, getGridCellIndexOfCorner as He, getGridCellIndices as $e, findNonDisabledListIndex as Y } from "./index365.js";
10
- import { useFloatingParentNodeId as Be, useFloatingTree as Qe } from "./index369.js";
11
- import { createChangeEventDetails as Z } from "./index104.js";
12
- import { enqueueFocus as Ue } from "./index367.js";
13
- import { ARROW_DOWN as re, ARROW_LEFT as G, ARROW_RIGHT as W, ARROW_UP as Ae } from "./index374.js";
14
- import { activeElement as ge, contains as Re, getTarget as je } from "./index239.js";
15
- import { listNavigation as he, focusOut as Je } from "./index106.js";
16
- const Xe = "Escape";
17
- function te(c, p, u) {
18
- switch (c) {
19
- case "vertical":
20
- return p;
21
- case "horizontal":
22
- return u;
23
- default:
24
- return p || u;
25
- }
26
- }
27
- function ee(c, p) {
28
- return te(p, c === Ae || c === re, c === G || c === W);
29
- }
30
- function Ie(c, p, u) {
31
- return te(p, c === re, u ? c === G : c === W) || c === "Enter" || c === " " || c === "";
32
- }
33
- function Ye(c, p, u) {
34
- return te(p, u ? c === G : c === W, c === re);
35
- }
36
- function Ze(c, p, u, i) {
37
- const g = u ? c === W : c === G, E = c === Ae;
38
- return p === "both" || p === "horizontal" && i && i > 1 ? c === Xe : te(p, g, E);
39
- }
40
- function pr(c, p) {
41
- const u = "rootStore" in c ? c.rootStore : c, i = u.useState("open"), g = u.useState("floatingElement"), E = u.useState("domReferenceElement"), Ee = u.context.dataRef, {
42
- listRef: o,
43
- activeIndex: O,
44
- onNavigate: Le = () => {
45
- },
46
- enabled: y = !0,
47
- selectedIndex: L = null,
48
- allowEscape: ne = !1,
49
- loopFocus: _ = !1,
50
- nested: b = !1,
51
- rtl: x = !1,
52
- virtual: d = !1,
53
- focusItemOnOpen: M = "auto",
54
- focusItemOnHover: oe = !0,
55
- openOnArrowKeyDown: ce = !0,
56
- disabledIndices: R = void 0,
57
- orientation: m = "vertical",
58
- parentOrientation: xe,
59
- cols: F = 1,
60
- id: Oe,
61
- resetOnPointerLeave: Ne = !0,
62
- externalTree: ke
63
- } = p;
64
- process.env.NODE_ENV !== "production" && (ne && (_ || console.warn("`useListNavigation` looping must be enabled to allow escaping."), d || console.warn("`useListNavigation` must be virtual to allow escaping.")), m === "vertical" && F > 1 && console.warn("In grid list navigation mode (`cols` > 1), the `orientation` should", 'be either "horizontal" or "both".'));
65
- const De = Ve(g), N = z(De), q = Be(), v = Qe(ke);
66
- A(() => {
67
- Ee.current.orientation = m;
68
- }, [Ee, m]);
69
- const ue = ze(E), P = f.useRef(M), n = f.useRef(L ?? -1), C = f.useRef(null), S = f.useRef(!0), a = X((e) => {
70
- Le(n.current === -1 ? null : n.current, e);
71
- }), ye = f.useRef(a), k = f.useRef(!!g), we = f.useRef(i), h = f.useRef(!1), H = f.useRef(!1), ie = f.useRef(null), se = z(R), $ = z(i), D = z(L), be = z(Ne), le = X(() => {
72
- function e(l) {
73
- d ? v?.events.emit("virtualfocus", l) : ie.current = Ue(l, {
74
- sync: h.current,
75
- preventScroll: !0
76
- });
77
- }
78
- const r = o.current[n.current], t = H.current;
79
- r && e(r), (h.current ? (l) => l() : requestAnimationFrame)(() => {
80
- const l = o.current[n.current] || r;
81
- if (!l)
82
- return;
83
- r || e(l), // eslint-disable-next-line @typescript-eslint/no-use-before-define
84
- fe && (t || !S.current) && l.scrollIntoView?.({
85
- block: "nearest",
86
- inline: "nearest"
87
- });
88
- });
89
- });
90
- A(() => {
91
- y && (i && g ? (n.current = L ?? -1, P.current && L != null && (H.current = !0, a())) : k.current && (n.current = -1, ye.current()));
92
- }, [y, i, g, L, a]), A(() => {
93
- if (y) {
94
- if (!i) {
95
- h.current = !1;
96
- return;
97
- }
98
- if (g)
99
- if (O == null) {
100
- if (h.current = !1, D.current != null)
101
- return;
102
- if (k.current && (n.current = -1, le()), (!we.current || !k.current) && P.current && (C.current != null || P.current === !0 && C.current == null)) {
103
- let e = 0;
104
- const r = () => {
105
- o.current[0] == null ? (e < 2 && (e ? requestAnimationFrame : queueMicrotask)(r), e += 1) : (n.current = C.current == null || Ie(C.current, m, x) || b ? me(o) : Se(o), C.current = null, a());
106
- };
107
- r();
108
- }
109
- } else Fe(o.current, O) || (n.current = O, le(), H.current = !1);
110
- }
111
- }, [y, i, g, O, D, b, o, m, x, a, le, se]), A(() => {
112
- if (!y || g || !v || d || !k.current)
113
- return;
114
- const e = v.nodesRef.current, r = e.find((l) => l.id === q)?.context?.elements.floating, t = ge(Te(g)), s = e.some((l) => l.context && Re(l.context.elements.floating, t));
115
- r && !s && S.current && r.focus({
116
- preventScroll: !0
117
- });
118
- }, [y, g, v, q, d]), A(() => {
119
- ye.current = a, we.current = i, k.current = !!g;
120
- }), A(() => {
121
- i || (C.current = null, P.current = M);
122
- }, [i, M]);
123
- const Me = O != null, ae = X((e) => {
124
- if (!$.current)
125
- return;
126
- const r = o.current.indexOf(e.currentTarget);
127
- r !== -1 && (n.current !== r || O !== r) && (n.current = r, a(e));
128
- }), fe = f.useMemo(() => ({
129
- onFocus(r) {
130
- h.current = !0, ae(r);
131
- },
132
- onClick: ({
133
- currentTarget: r
134
- }) => r.focus({
135
- preventScroll: !0
136
- }),
137
- // Safari
138
- onMouseMove(r) {
139
- h.current = !0, H.current = !1, oe && ae(r);
140
- },
141
- onPointerLeave(r) {
142
- if (!$.current || !S.current || r.pointerType === "touch")
143
- return;
144
- h.current = !0;
145
- const t = r.relatedTarget;
146
- if (!(!oe || o.current.includes(t)) && be.current && (ie.current?.(), ie.current = null, n.current = -1, a(r), !d)) {
147
- const s = N.current, l = ge(Te(s));
148
- s && Re(s, l) && s.focus({
149
- preventScroll: !0
150
- });
151
- }
152
- }
153
- }), [ae, $, N, oe, o, a, be, d]), B = f.useCallback(() => xe ?? v?.nodesRef.current.find((e) => e.id === q)?.context?.dataRef?.current.orientation, [q, v, xe]), K = X((e) => {
154
- if (S.current = !1, h.current = !0, e.which === 229 || !$.current && e.currentTarget === N.current)
155
- return;
156
- if (b && Ze(e.key, m, x, F)) {
157
- ee(e.key, B()) || T(e), u.setOpen(!1, Z(he, e.nativeEvent)), Ce(E) && (d ? v?.events.emit("virtualfocus", E) : E.focus());
158
- return;
159
- }
160
- const r = n.current, t = me(o, R), s = Se(o, R);
161
- if (ue || (e.key === "Home" && (T(e), n.current = t, a(e)), e.key === "End" && (T(e), n.current = s, a(e))), F > 1) {
162
- const l = Array.from({
163
- length: o.current.length
164
- }, () => ({
165
- width: 1,
166
- height: 1
167
- })), I = _e(l, F), j = I.findIndex((w) => w != null && !pe(o.current, w, R)), de = I.reduce((w, V, Ke) => V != null && !pe(o.current, V, R) ? Ke : w, -1), J = I[qe(I.map((w) => w != null ? o.current[w] : null), {
168
- event: e,
169
- orientation: m,
170
- loopFocus: _,
171
- rtl: x,
172
- cols: F,
173
- // treat undefined (empty grid spaces) as disabled indices so we
174
- // don't end up in them
175
- disabledIndices: $e([...(typeof R != "function" ? R : null) || o.current.map((w, V) => pe(o.current, V, R) ? V : void 0), void 0], I),
176
- minIndex: j,
177
- maxIndex: de,
178
- prevIndex: He(
179
- n.current > s ? t : n.current,
180
- l,
181
- I,
182
- F,
183
- // use a corner matching the edge closest to the direction
184
- // we're moving in so we don't end up in the same item. Prefer
185
- // top/left over bottom/right.
186
- // eslint-disable-next-line no-nested-ternary
187
- e.key === re ? "bl" : e.key === (x ? G : W) ? "tr" : "tl"
188
- ),
189
- stopEvent: !0
190
- })];
191
- if (J != null && (n.current = J, a(e)), m === "both")
192
- return;
193
- }
194
- if (ee(e.key, m)) {
195
- if (T(e), i && !d && ge(e.currentTarget.ownerDocument) === e.currentTarget) {
196
- n.current = Ie(e.key, m, x) ? t : s, a(e);
197
- return;
198
- }
199
- Ie(e.key, m, x) ? _ ? r >= s ? ne && r !== o.current.length ? n.current = -1 : (h.current = !1, n.current = t) : n.current = Y(o.current, {
200
- startingIndex: r,
201
- disabledIndices: R
202
- }) : n.current = Math.min(s, Y(o.current, {
203
- startingIndex: r,
204
- disabledIndices: R
205
- })) : _ ? r <= t ? ne && r !== -1 ? n.current = o.current.length : (h.current = !1, n.current = s) : n.current = Y(o.current, {
206
- startingIndex: r,
207
- decrement: !0,
208
- disabledIndices: R
209
- }) : n.current = Math.max(t, Y(o.current, {
210
- startingIndex: r,
211
- decrement: !0,
212
- disabledIndices: R
213
- })), Fe(o.current, n.current) && (n.current = -1), a(e);
214
- }
215
- }), Q = f.useMemo(() => d && i && Me && {
216
- "aria-activedescendant": `${Oe}-${O}`
217
- }, [d, i, Me, Oe, O]), ve = f.useMemo(() => ({
218
- "aria-orientation": m === "both" ? void 0 : m,
219
- ...ue ? {} : Q,
220
- onKeyDown(e) {
221
- if (e.key === "Tab" && e.shiftKey && i && !d) {
222
- const r = je(e.nativeEvent);
223
- if (r && !Re(N.current, r))
224
- return;
225
- T(e), u.setOpen(!1, Z(Je, e.nativeEvent)), Ce(E) && E.focus();
226
- return;
227
- }
228
- K(e);
229
- },
230
- onPointerMove() {
231
- S.current = !0;
232
- }
233
- }), [Q, K, N, m, ue, u, i, d, E]), U = f.useMemo(() => {
234
- function e(t) {
235
- M === "auto" && Ge(t.nativeEvent) && (P.current = !d);
236
- }
237
- function r(t) {
238
- P.current = M, M === "auto" && We(t.nativeEvent) && (P.current = !0);
239
- }
240
- return {
241
- onKeyDown(t) {
242
- const s = u.select("open");
243
- S.current = !1;
244
- const l = t.key.startsWith("Arrow"), I = Ye(t.key, B(), x), j = ee(t.key, m), de = (b ? I : j) || t.key === "Enter" || t.key.trim() === "";
245
- if (d && s)
246
- return K(t);
247
- if (!(!s && !ce && l)) {
248
- if (de) {
249
- const J = ee(t.key, B());
250
- C.current = b && J ? null : t.key;
251
- }
252
- if (b) {
253
- I && (T(t), s ? (n.current = me(o, se.current), a(t)) : u.setOpen(!0, Z(he, t.nativeEvent, t.currentTarget)));
254
- return;
255
- }
256
- j && (D.current != null && (n.current = D.current), T(t), !s && ce ? u.setOpen(!0, Z(he, t.nativeEvent, t.currentTarget)) : K(t), s && a(t));
257
- }
258
- },
259
- onFocus(t) {
260
- u.select("open") && !d && (n.current = -1, a(t));
261
- },
262
- onPointerDown: r,
263
- onPointerEnter: r,
264
- onMouseDown: e,
265
- onClick: e
266
- };
267
- }, [K, se, M, o, b, a, u, ce, m, B, x, D, d]), Pe = f.useMemo(() => ({
268
- ...Q,
269
- ...U
270
- }), [Q, U]);
271
- return f.useMemo(() => y ? {
272
- reference: Pe,
273
- floating: ve,
274
- item: fe,
275
- trigger: U
276
- } : {}, [y, Pe, ve, U, fe]);
1
+ import { normalizeDates as i } from "./index393.js";
2
+ function s(n, r, o) {
3
+ const [e, t] = i(
4
+ o?.in,
5
+ n,
6
+ r
7
+ ), a = e.getFullYear() - t.getFullYear(), f = e.getMonth() - t.getMonth();
8
+ return a * 12 + f;
277
9
  }
278
10
  export {
279
- Xe as ESCAPE,
280
- pr as useListNavigation
11
+ s as differenceInCalendarMonths
281
12
  };
282
13
  //# sourceMappingURL=index268.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index268.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/hooks/useListNavigation.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { isHTMLElement } from '@floating-ui/utils/dom';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { activeElement, contains, getTarget, isTypeableCombobox, getFloatingFocusElement } from \"../utils/element.js\";\nimport { isVirtualClick, isVirtualPointerEvent, stopEvent } from \"../utils/event.js\";\nimport { isIndexOutOfListBounds, getMinListIndex, getMaxListIndex, getGridNavigatedIndex, isListIndexDisabled, createGridCellMap, getGridCellIndices, getGridCellIndexOfCorner, findNonDisabledListIndex } from \"../utils/composite.js\";\nimport { useFloatingParentNodeId, useFloatingTree } from \"../components/FloatingTree.js\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.js\";\nimport { REASONS } from \"../../internals/reasons.js\";\nimport { enqueueFocus } from \"../utils/enqueueFocus.js\";\nimport { ARROW_UP, ARROW_DOWN, ARROW_RIGHT, ARROW_LEFT } from \"../utils/constants.js\";\nexport const ESCAPE = 'Escape';\nfunction doSwitch(orientation, vertical, horizontal) {\n switch (orientation) {\n case 'vertical':\n return vertical;\n case 'horizontal':\n return horizontal;\n default:\n return vertical || horizontal;\n }\n}\nfunction isMainOrientationKey(key, orientation) {\n const vertical = key === ARROW_UP || key === ARROW_DOWN;\n const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isMainOrientationToEndKey(key, orientation, rtl) {\n const vertical = key === ARROW_DOWN;\n const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n return doSwitch(orientation, vertical, horizontal) || key === 'Enter' || key === ' ' || key === '';\n}\nfunction isCrossOrientationOpenKey(key, orientation, rtl) {\n const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;\n const horizontal = key === ARROW_DOWN;\n return doSwitch(orientation, vertical, horizontal);\n}\nfunction isCrossOrientationCloseKey(key, orientation, rtl, cols) {\n const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;\n const horizontal = key === ARROW_UP;\n if (orientation === 'both' || orientation === 'horizontal' && cols && cols > 1) {\n return key === ESCAPE;\n }\n return doSwitch(orientation, vertical, horizontal);\n}\n/**\n * Adds arrow key-based navigation of a list of items, either using real DOM\n * focus or virtual focus.\n * @see https://floating-ui.com/docs/useListNavigation\n */\nexport function useListNavigation(context, props) {\n const store = 'rootStore' in context ? context.rootStore : context;\n const open = store.useState('open');\n const floatingElement = store.useState('floatingElement');\n const domReferenceElement = store.useState('domReferenceElement');\n const dataRef = store.context.dataRef;\n const {\n listRef,\n activeIndex,\n onNavigate: onNavigateProp = () => {},\n enabled = true,\n selectedIndex = null,\n allowEscape = false,\n loopFocus = false,\n nested = false,\n rtl = false,\n virtual = false,\n focusItemOnOpen = 'auto',\n focusItemOnHover = true,\n openOnArrowKeyDown = true,\n disabledIndices = undefined,\n orientation = 'vertical',\n parentOrientation,\n cols = 1,\n id,\n resetOnPointerLeave = true,\n externalTree\n } = props;\n if (process.env.NODE_ENV !== 'production') {\n if (allowEscape) {\n if (!loopFocus) {\n console.warn('`useListNavigation` looping must be enabled to allow escaping.');\n }\n if (!virtual) {\n console.warn('`useListNavigation` must be virtual to allow escaping.');\n }\n }\n if (orientation === 'vertical' && cols > 1) {\n console.warn('In grid list navigation mode (`cols` > 1), the `orientation` should', 'be either \"horizontal\" or \"both\".');\n }\n }\n const floatingFocusElement = getFloatingFocusElement(floatingElement);\n const floatingFocusElementRef = useValueAsRef(floatingFocusElement);\n const parentId = useFloatingParentNodeId();\n const tree = useFloatingTree(externalTree);\n useIsoLayoutEffect(() => {\n dataRef.current.orientation = orientation;\n }, [dataRef, orientation]);\n const typeableComboboxReference = isTypeableCombobox(domReferenceElement);\n const focusItemOnOpenRef = React.useRef(focusItemOnOpen);\n const indexRef = React.useRef(selectedIndex ?? -1);\n const keyRef = React.useRef(null);\n const isPointerModalityRef = React.useRef(true);\n const onNavigate = useStableCallback(event => {\n onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);\n });\n const previousOnNavigateRef = React.useRef(onNavigate);\n const previousMountedRef = React.useRef(!!floatingElement);\n const previousOpenRef = React.useRef(open);\n const forceSyncFocusRef = React.useRef(false);\n const forceScrollIntoViewRef = React.useRef(false);\n const cancelQueuedFocusRef = React.useRef(null);\n const disabledIndicesRef = useValueAsRef(disabledIndices);\n const latestOpenRef = useValueAsRef(open);\n const selectedIndexRef = useValueAsRef(selectedIndex);\n const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);\n const focusItem = useStableCallback(() => {\n function runFocus(item) {\n if (virtual) {\n tree?.events.emit('virtualfocus', item);\n } else {\n cancelQueuedFocusRef.current = enqueueFocus(item, {\n sync: forceSyncFocusRef.current,\n preventScroll: true\n });\n }\n }\n const initialItem = listRef.current[indexRef.current];\n const forceScrollIntoView = forceScrollIntoViewRef.current;\n if (initialItem) {\n runFocus(initialItem);\n }\n const scheduler = forceSyncFocusRef.current ? v => v() : requestAnimationFrame;\n scheduler(() => {\n const waitedItem = listRef.current[indexRef.current] || initialItem;\n if (!waitedItem) {\n return;\n }\n if (!initialItem) {\n runFocus(waitedItem);\n }\n const shouldScrollIntoView =\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n item && (forceScrollIntoView || !isPointerModalityRef.current);\n if (shouldScrollIntoView) {\n // JSDOM doesn't support `.scrollIntoView()` but it's widely supported\n // by all browsers.\n waitedItem.scrollIntoView?.({\n block: 'nearest',\n inline: 'nearest'\n });\n }\n });\n });\n\n // Sync `selectedIndex` to be the `activeIndex` upon opening the floating\n // element. Also, reset `activeIndex` upon closing the floating element.\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n if (open && floatingElement) {\n indexRef.current = selectedIndex ?? -1;\n if (focusItemOnOpenRef.current && selectedIndex != null) {\n // Regardless of the pointer modality, we want to ensure the selected\n // item comes into view when the floating element is opened.\n forceScrollIntoViewRef.current = true;\n onNavigate();\n }\n } else if (previousMountedRef.current) {\n // Since the user can specify `onNavigate` conditionally\n // (onNavigate: open ? setActiveIndex : setSelectedIndex),\n // we store and call the previous function.\n indexRef.current = -1;\n previousOnNavigateRef.current();\n }\n }, [enabled, open, floatingElement, selectedIndex, onNavigate]);\n\n // Sync `activeIndex` to be the focused item while the floating element is\n // open.\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return;\n }\n if (!open) {\n forceSyncFocusRef.current = false;\n return;\n }\n if (!floatingElement) {\n return;\n }\n if (activeIndex == null) {\n forceSyncFocusRef.current = false;\n if (selectedIndexRef.current != null) {\n return;\n }\n\n // Reset while the floating element was open (e.g. the list changed).\n if (previousMountedRef.current) {\n indexRef.current = -1;\n focusItem();\n }\n\n // Initial sync.\n if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {\n let runs = 0;\n const waitForListPopulated = () => {\n if (listRef.current[0] == null) {\n // Avoid letting the browser paint if possible on the first try,\n // otherwise use rAF. Don't try more than twice, since something\n // is wrong otherwise.\n if (runs < 2) {\n const scheduler = runs ? requestAnimationFrame : queueMicrotask;\n scheduler(waitForListPopulated);\n }\n runs += 1;\n } else {\n // initially focus the first non-disabled item\n indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, orientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);\n keyRef.current = null;\n onNavigate();\n }\n };\n waitForListPopulated();\n }\n } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {\n indexRef.current = activeIndex;\n focusItem();\n forceScrollIntoViewRef.current = false;\n }\n }, [enabled, open, floatingElement, activeIndex, selectedIndexRef, nested, listRef, orientation, rtl, onNavigate, focusItem, disabledIndicesRef]);\n\n // Ensure the parent floating element has focus when a nested child closes\n // to allow arrow key navigation to work after the pointer leaves the child.\n useIsoLayoutEffect(() => {\n if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {\n return;\n }\n const nodes = tree.nodesRef.current;\n const parent = nodes.find(node => node.id === parentId)?.context?.elements.floating;\n const activeEl = activeElement(ownerDocument(floatingElement));\n const treeContainsActiveEl = nodes.some(node => node.context && contains(node.context.elements.floating, activeEl));\n if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {\n parent.focus({\n preventScroll: true\n });\n }\n }, [enabled, floatingElement, tree, parentId, virtual]);\n useIsoLayoutEffect(() => {\n previousOnNavigateRef.current = onNavigate;\n previousOpenRef.current = open;\n previousMountedRef.current = !!floatingElement;\n });\n useIsoLayoutEffect(() => {\n if (!open) {\n keyRef.current = null;\n focusItemOnOpenRef.current = focusItemOnOpen;\n }\n }, [open, focusItemOnOpen]);\n const hasActiveIndex = activeIndex != null;\n const syncCurrentTarget = useStableCallback(event => {\n if (!latestOpenRef.current) {\n return;\n }\n const index = listRef.current.indexOf(event.currentTarget);\n if (index !== -1 && (indexRef.current !== index || activeIndex !== index)) {\n indexRef.current = index;\n onNavigate(event);\n }\n });\n const item = React.useMemo(() => {\n const itemProps = {\n onFocus(event) {\n forceSyncFocusRef.current = true;\n syncCurrentTarget(event);\n },\n onClick: ({\n currentTarget\n }) => currentTarget.focus({\n preventScroll: true\n }),\n // Safari\n onMouseMove(event) {\n forceSyncFocusRef.current = true;\n forceScrollIntoViewRef.current = false;\n if (focusItemOnHover) {\n syncCurrentTarget(event);\n }\n },\n onPointerLeave(event) {\n if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === 'touch') {\n return;\n }\n forceSyncFocusRef.current = true;\n const relatedTarget = event.relatedTarget;\n if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {\n return;\n }\n if (!resetOnPointerLeaveRef.current) {\n return;\n }\n cancelQueuedFocusRef.current?.();\n cancelQueuedFocusRef.current = null;\n indexRef.current = -1;\n onNavigate(event);\n if (!virtual) {\n const floatingFocusEl = floatingFocusElementRef.current;\n const activeEl = activeElement(ownerDocument(floatingFocusEl));\n if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {\n floatingFocusEl.focus({\n preventScroll: true\n });\n }\n }\n }\n };\n return itemProps;\n }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);\n const getParentOrientation = React.useCallback(() => {\n return parentOrientation ?? tree?.nodesRef.current.find(node => node.id === parentId)?.context?.dataRef?.current.orientation;\n }, [parentId, tree, parentOrientation]);\n const commonOnKeyDown = useStableCallback(event => {\n isPointerModalityRef.current = false;\n forceSyncFocusRef.current = true;\n\n // When composing a character, Chrome fires ArrowDown twice. Firefox/Safari\n // don't appear to suffer from this. `event.isComposing` is avoided due to\n // Safari not supporting it properly (although it's not needed in the first\n // place for Safari, just avoiding any possible issues).\n if (event.which === 229) {\n return;\n }\n\n // If the floating element is animating out, ignore navigation. Otherwise,\n // the `activeIndex` gets set to 0 despite not being open so the next time\n // the user ArrowDowns, the first item won't be focused.\n if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {\n return;\n }\n if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, cols)) {\n // If the nested list's close key is also the parent navigation key,\n // let the parent navigate. Otherwise, stop propagating the event.\n if (!isMainOrientationKey(event.key, getParentOrientation())) {\n stopEvent(event);\n }\n store.setOpen(false, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent));\n if (isHTMLElement(domReferenceElement)) {\n if (virtual) {\n tree?.events.emit('virtualfocus', domReferenceElement);\n } else {\n domReferenceElement.focus();\n }\n }\n return;\n }\n const currentIndex = indexRef.current;\n const minIndex = getMinListIndex(listRef, disabledIndices);\n const maxIndex = getMaxListIndex(listRef, disabledIndices);\n if (!typeableComboboxReference) {\n if (event.key === 'Home') {\n stopEvent(event);\n indexRef.current = minIndex;\n onNavigate(event);\n }\n if (event.key === 'End') {\n stopEvent(event);\n indexRef.current = maxIndex;\n onNavigate(event);\n }\n }\n\n // Grid navigation.\n if (cols > 1) {\n const sizes = Array.from({\n length: listRef.current.length\n }, () => ({\n width: 1,\n height: 1\n }));\n // To calculate movements on the grid, we use hypothetical cell indices\n // as if every item was 1x1, then convert back to real indices.\n const cellMap = createGridCellMap(sizes, cols, false);\n const minGridIndex = cellMap.findIndex(index => index != null && !isListIndexDisabled(listRef.current, index, disabledIndices));\n // last enabled index\n const maxGridIndex = cellMap.reduce((foundIndex, index, cellIndex) => index != null && !isListIndexDisabled(listRef.current, index, disabledIndices) ? cellIndex : foundIndex, -1);\n const index = cellMap[getGridNavigatedIndex(cellMap.map(itemIndex => itemIndex != null ? listRef.current[itemIndex] : null), {\n event,\n orientation,\n loopFocus,\n rtl,\n cols,\n // treat undefined (empty grid spaces) as disabled indices so we\n // don't end up in them\n disabledIndices: getGridCellIndices([...((typeof disabledIndices !== 'function' ? disabledIndices : null) || listRef.current.map((_, listIndex) => isListIndexDisabled(listRef.current, listIndex, disabledIndices) ? listIndex : undefined)), undefined], cellMap),\n minIndex: minGridIndex,\n maxIndex: maxGridIndex,\n prevIndex: getGridCellIndexOfCorner(indexRef.current > maxIndex ? minIndex : indexRef.current, sizes, cellMap, cols,\n // use a corner matching the edge closest to the direction\n // we're moving in so we don't end up in the same item. Prefer\n // top/left over bottom/right.\n // eslint-disable-next-line no-nested-ternary\n event.key === ARROW_DOWN ? 'bl' : event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT) ? 'tr' : 'tl'),\n stopEvent: true\n })];\n if (index != null) {\n indexRef.current = index;\n onNavigate(event);\n }\n if (orientation === 'both') {\n return;\n }\n }\n if (isMainOrientationKey(event.key, orientation)) {\n stopEvent(event);\n\n // Reset the index if no item is focused.\n if (open && !virtual && activeElement(event.currentTarget.ownerDocument) === event.currentTarget) {\n indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;\n onNavigate(event);\n return;\n }\n if (isMainOrientationToEndKey(event.key, orientation, rtl)) {\n if (loopFocus) {\n if (currentIndex >= maxIndex) {\n if (allowEscape && currentIndex !== listRef.current.length) {\n indexRef.current = -1;\n } else {\n // Give time for virtualizers to update the listRef.\n forceSyncFocusRef.current = false;\n indexRef.current = minIndex;\n }\n } else {\n indexRef.current = findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n disabledIndices\n });\n }\n } else {\n indexRef.current = Math.min(maxIndex, findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n disabledIndices\n }));\n }\n } else if (loopFocus) {\n if (currentIndex <= minIndex) {\n if (allowEscape && currentIndex !== -1) {\n indexRef.current = listRef.current.length;\n } else {\n // Give time for virtualizers to update the listRef.\n forceSyncFocusRef.current = false;\n indexRef.current = maxIndex;\n }\n } else {\n indexRef.current = findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n });\n }\n } else {\n indexRef.current = Math.max(minIndex, findNonDisabledListIndex(listRef.current, {\n startingIndex: currentIndex,\n decrement: true,\n disabledIndices\n }));\n }\n if (isIndexOutOfListBounds(listRef.current, indexRef.current)) {\n indexRef.current = -1;\n }\n onNavigate(event);\n }\n });\n const ariaActiveDescendantProp = React.useMemo(() => {\n return virtual && open && hasActiveIndex && {\n 'aria-activedescendant': `${id}-${activeIndex}`\n };\n }, [virtual, open, hasActiveIndex, id, activeIndex]);\n const floating = React.useMemo(() => {\n return {\n 'aria-orientation': orientation === 'both' ? undefined : orientation,\n ...(!typeableComboboxReference ? ariaActiveDescendantProp : {}),\n onKeyDown(event) {\n // Close submenu on Shift+Tab\n if (event.key === 'Tab' && event.shiftKey && open && !virtual) {\n // If the event originated from within a nested element (e.g., a Dialog opened from\n // within the menu), don't close the menu. The nested element has its own focus\n // management and should handle the Tab key.\n const target = getTarget(event.nativeEvent);\n if (target && !contains(floatingFocusElementRef.current, target)) {\n return;\n }\n stopEvent(event);\n store.setOpen(false, createChangeEventDetails(REASONS.focusOut, event.nativeEvent));\n if (isHTMLElement(domReferenceElement)) {\n domReferenceElement.focus();\n }\n return;\n }\n commonOnKeyDown(event);\n },\n onPointerMove() {\n isPointerModalityRef.current = true;\n }\n };\n }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, orientation, typeableComboboxReference, store, open, virtual, domReferenceElement]);\n const trigger = React.useMemo(() => {\n function checkVirtualMouse(event) {\n if (focusItemOnOpen === 'auto' && isVirtualClick(event.nativeEvent)) {\n focusItemOnOpenRef.current = !virtual;\n }\n }\n function checkVirtualPointer(event) {\n // `pointerdown` fires first, reset the state then perform the checks.\n focusItemOnOpenRef.current = focusItemOnOpen;\n if (focusItemOnOpen === 'auto' && isVirtualPointerEvent(event.nativeEvent)) {\n focusItemOnOpenRef.current = true;\n }\n }\n return {\n onKeyDown(event) {\n // non-reactive open state (to prevent re-creation of the handler)\n const currentOpen = store.select('open');\n isPointerModalityRef.current = false;\n const isArrowKey = event.key.startsWith('Arrow');\n const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);\n const isMainKey = isMainOrientationKey(event.key, orientation);\n const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === 'Enter' || event.key.trim() === '';\n if (virtual && currentOpen) {\n return commonOnKeyDown(event);\n }\n\n // If a floating element should not open on arrow key down, avoid\n // setting `activeIndex` while it's closed.\n if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {\n return undefined;\n }\n if (isNavigationKey) {\n const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());\n keyRef.current = nested && isParentMainKey ? null : event.key;\n }\n if (nested) {\n if (isParentCrossOpenKey) {\n stopEvent(event);\n if (currentOpen) {\n indexRef.current = getMinListIndex(listRef, disabledIndicesRef.current);\n onNavigate(event);\n } else {\n store.setOpen(true, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent, event.currentTarget));\n }\n }\n return undefined;\n }\n if (isMainKey) {\n if (selectedIndexRef.current != null) {\n indexRef.current = selectedIndexRef.current;\n }\n stopEvent(event);\n if (!currentOpen && openOnArrowKeyDown) {\n store.setOpen(true, createChangeEventDetails(REASONS.listNavigation, event.nativeEvent, event.currentTarget));\n } else {\n commonOnKeyDown(event);\n }\n if (currentOpen) {\n onNavigate(event);\n }\n }\n return undefined;\n },\n onFocus(event) {\n if (store.select('open') && !virtual) {\n indexRef.current = -1;\n onNavigate(event);\n }\n },\n onPointerDown: checkVirtualPointer,\n onPointerEnter: checkVirtualPointer,\n onMouseDown: checkVirtualMouse,\n onClick: checkVirtualMouse\n };\n }, [commonOnKeyDown, disabledIndicesRef, focusItemOnOpen, listRef, nested, onNavigate, store, openOnArrowKeyDown, orientation, getParentOrientation, rtl, selectedIndexRef, virtual]);\n const reference = React.useMemo(() => {\n return {\n ...ariaActiveDescendantProp,\n ...trigger\n };\n }, [ariaActiveDescendantProp, trigger]);\n return React.useMemo(() => enabled ? {\n reference,\n floating,\n item,\n trigger\n } : {}, [enabled, reference, floating, trigger, item]);\n}"],"names":["ESCAPE","doSwitch","orientation","vertical","horizontal","isMainOrientationKey","key","ARROW_UP","ARROW_DOWN","ARROW_LEFT","ARROW_RIGHT","isMainOrientationToEndKey","rtl","isCrossOrientationOpenKey","isCrossOrientationCloseKey","cols","useListNavigation","context","props","store","open","floatingElement","domReferenceElement","dataRef","listRef","activeIndex","onNavigateProp","enabled","selectedIndex","allowEscape","loopFocus","nested","virtual","focusItemOnOpen","focusItemOnHover","openOnArrowKeyDown","disabledIndices","parentOrientation","id","resetOnPointerLeave","externalTree","floatingFocusElement","getFloatingFocusElement","floatingFocusElementRef","useValueAsRef","parentId","useFloatingParentNodeId","tree","useFloatingTree","useIsoLayoutEffect","typeableComboboxReference","isTypeableCombobox","focusItemOnOpenRef","React","indexRef","keyRef","isPointerModalityRef","onNavigate","useStableCallback","event","previousOnNavigateRef","previousMountedRef","previousOpenRef","forceSyncFocusRef","forceScrollIntoViewRef","cancelQueuedFocusRef","disabledIndicesRef","latestOpenRef","selectedIndexRef","resetOnPointerLeaveRef","focusItem","runFocus","item","enqueueFocus","initialItem","forceScrollIntoView","v","waitedItem","runs","waitForListPopulated","getMinListIndex","getMaxListIndex","isIndexOutOfListBounds","nodes","parent","node","activeEl","activeElement","ownerDocument","treeContainsActiveEl","contains","hasActiveIndex","syncCurrentTarget","index","currentTarget","relatedTarget","floatingFocusEl","getParentOrientation","commonOnKeyDown","stopEvent","createChangeEventDetails","REASONS.listNavigation","isHTMLElement","currentIndex","minIndex","maxIndex","sizes","cellMap","createGridCellMap","minGridIndex","isListIndexDisabled","maxGridIndex","foundIndex","cellIndex","getGridNavigatedIndex","itemIndex","getGridCellIndices","_","listIndex","getGridCellIndexOfCorner","findNonDisabledListIndex","ariaActiveDescendantProp","floating","target","getTarget","REASONS.focusOut","trigger","checkVirtualMouse","isVirtualClick","checkVirtualPointer","isVirtualPointerEvent","currentOpen","isArrowKey","isParentCrossOpenKey","isMainKey","isNavigationKey","isParentMainKey","reference"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index268.js","sources":["../../../node_modules/date-fns/differenceInCalendarMonths.js"],"sourcesContent":["import { normalizeDates } from \"./_lib/normalizeDates.js\";\n\n/**\n * The {@link differenceInCalendarMonths} function options.\n */\n\n/**\n * @name differenceInCalendarMonths\n * @category Month Helpers\n * @summary Get the number of calendar months between the given dates.\n *\n * @description\n * Get the number of calendar months between the given dates.\n *\n * @param laterDate - The later date\n * @param earlierDate - The earlier date\n * @param options - An object with options\n *\n * @returns The number of calendar months\n *\n * @example\n * // How many calendar months are between 31 January 2014 and 1 September 2014?\n * const result = differenceInCalendarMonths(\n * new Date(2014, 8, 1),\n * new Date(2014, 0, 31)\n * )\n * //=> 8\n */\nexport function differenceInCalendarMonths(laterDate, earlierDate, options) {\n const [laterDate_, earlierDate_] = normalizeDates(\n options?.in,\n laterDate,\n earlierDate,\n );\n\n const yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();\n const monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();\n\n return yearsDiff * 12 + monthsDiff;\n}\n\n// Fallback for modularized imports:\nexport default differenceInCalendarMonths;\n"],"names":["differenceInCalendarMonths","laterDate","earlierDate","options","laterDate_","earlierDate_","normalizeDates","yearsDiff","monthsDiff"],"mappings":";AA4BO,SAASA,EAA2BC,GAAWC,GAAaC,GAAS;AAC1E,QAAM,CAACC,GAAYC,CAAY,IAAIC;AAAA,IACjCH,GAAS;AAAA,IACTF;AAAA,IACAC;AAAA,EACJ,GAEQK,IAAYH,EAAW,YAAW,IAAKC,EAAa,YAAW,GAC/DG,IAAaJ,EAAW,SAAQ,IAAKC,EAAa,SAAQ;AAEhE,SAAOE,IAAY,KAAKC;AAC1B;","x_google_ignoreList":[0]}
package/dist/index269.js CHANGED
@@ -1,72 +1,17 @@
1
- import * as u from "react";
2
- import { useStableCallback as k } from "./index230.js";
3
- import { useIsoLayoutEffect as F } from "./index248.js";
4
- import { useTimeout as A } from "./index272.js";
5
- import { contains as K } from "./index239.js";
6
- import { stopEvent as D } from "./index362.js";
7
- import { isElementVisible as G } from "./index365.js";
8
- function $(w, O) {
9
- const a = "rootStore" in w ? w.rootStore : w, m = a.context.dataRef, i = a.useState("open"), {
10
- listRef: V,
11
- elementsRef: z,
12
- activeIndex: f,
13
- onMatch: B,
14
- onTypingChange: C,
15
- enabled: E = !0,
16
- resetMs: N = 750,
17
- selectedIndex: n = null
18
- } = O, g = A(), t = u.useRef(""), o = u.useRef(n ?? f ?? -1), l = u.useRef(null);
19
- F(() => {
20
- !i && n !== null || (g.clear(), l.current = null, t.current !== "" && (t.current = ""));
21
- }, [i, n, g]), F(() => {
22
- i && t.current === "" && (o.current = n ?? f ?? -1);
23
- }, [i, n, f]);
24
- const c = k((e) => {
25
- e ? m.current.typing || (m.current.typing = e, C?.(e)) : m.current.typing && (m.current.typing = e, C?.(e));
26
- }), p = k((e) => {
27
- function y(r) {
28
- const x = z?.current[r];
29
- return !x || G(x);
30
- }
31
- function h(r, x, W = 0) {
32
- if (r.length === 0)
33
- return -1;
34
- const j = (W % r.length + r.length) % r.length, q = x.toLocaleLowerCase();
35
- for (let I = 0; I < r.length; I += 1) {
36
- const S = (j + I) % r.length;
37
- if (!(!r[S]?.toLocaleLowerCase().startsWith(q) || !y(S)))
38
- return S;
39
- }
40
- return -1;
41
- }
42
- const s = V.current;
43
- if (t.current.length > 0 && e.key === " " && (D(e), c(!0)), t.current.length > 0 && t.current[0] !== " " && h(s, t.current) === -1 && e.key !== " " && c(!1), s == null || // Character key.
44
- e.key.length !== 1 || // Modifier key.
45
- e.ctrlKey || e.metaKey || e.altKey)
46
- return;
47
- i && e.key !== " " && (D(e), c(!0));
48
- const R = t.current === "";
49
- R && (o.current = n ?? f ?? -1), s.every((r) => r ? r[0]?.toLocaleLowerCase() !== r[1]?.toLocaleLowerCase() : !0) && t.current === e.key && (t.current = "", o.current = l.current), t.current += e.key, g.start(N, () => {
50
- t.current = "", o.current = l.current, c(!1);
51
- });
52
- const P = ((R ? n ?? f ?? -1 : o.current) ?? 0) + 1, L = h(s, t.current, P);
53
- L !== -1 ? (B?.(L), l.current = L) : e.key !== " " && (t.current = "", c(!1));
54
- }), d = k((e) => {
55
- const y = e.relatedTarget, h = a.select("domReferenceElement"), s = a.select("floatingElement"), R = K(h, y), T = K(s, y);
56
- R || T || (g.clear(), t.current = "", o.current = l.current, c(!1));
57
- }), M = u.useMemo(() => ({
58
- onKeyDown: p,
59
- onBlur: d
60
- }), [p, d]), b = u.useMemo(() => ({
61
- onKeyDown: p,
62
- onBlur: d
63
- }), [p, d]);
64
- return u.useMemo(() => E ? {
65
- reference: M,
66
- floating: b
67
- } : {}, [E, M, b]);
1
+ import { normalizeInterval as m } from "./index394.js";
2
+ import { constructFrom as h } from "./index389.js";
3
+ function p(s, a) {
4
+ const { start: e, end: r } = m(a?.in, s);
5
+ let n = +e > +r;
6
+ const c = n ? +e : +r, t = n ? r : e;
7
+ t.setHours(0, 0, 0, 0), t.setDate(1);
8
+ let i = 1;
9
+ const o = [];
10
+ for (; +t <= c; )
11
+ o.push(h(e, t)), t.setMonth(t.getMonth() + i);
12
+ return n ? o.reverse() : o;
68
13
  }
69
14
  export {
70
- $ as useTypeahead
15
+ p as eachMonthOfInterval
71
16
  };
72
17
  //# sourceMappingURL=index269.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index269.js","sources":["../../../node_modules/@base-ui/react/esm/floating-ui-react/hooks/useTypeahead.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { contains } from \"../utils/element.js\";\nimport { stopEvent } from \"../utils/event.js\";\nimport { isElementVisible } from \"../utils/composite.js\";\n/**\n * Provides a matching callback that can be used to focus an item as the user\n * types, often used in tandem with `useListNavigation()`.\n * @see https://floating-ui.com/docs/useTypeahead\n */\nexport function useTypeahead(context, props) {\n const store = 'rootStore' in context ? context.rootStore : context;\n const dataRef = store.context.dataRef;\n const open = store.useState('open');\n const {\n listRef,\n elementsRef,\n activeIndex,\n onMatch: onMatchProp,\n onTypingChange,\n enabled = true,\n resetMs = 750,\n selectedIndex = null\n } = props;\n const timeout = useTimeout();\n const stringRef = React.useRef('');\n const prevIndexRef = React.useRef(selectedIndex ?? activeIndex ?? -1);\n const matchIndexRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n if (!open && selectedIndex !== null) {\n return;\n }\n timeout.clear();\n matchIndexRef.current = null;\n if (stringRef.current !== '') {\n stringRef.current = '';\n }\n }, [open, selectedIndex, timeout]);\n useIsoLayoutEffect(() => {\n // Sync arrow key navigation but not typeahead navigation.\n if (open && stringRef.current === '') {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n }, [open, selectedIndex, activeIndex]);\n const setTypingChange = useStableCallback(value => {\n if (value) {\n if (!dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange?.(value);\n }\n } else if (dataRef.current.typing) {\n dataRef.current.typing = value;\n onTypingChange?.(value);\n }\n });\n const onKeyDown = useStableCallback(event => {\n function isVisible(index) {\n const element = elementsRef?.current[index];\n return !element || isElementVisible(element);\n }\n function getMatchingIndex(list, string, startIndex = 0) {\n if (list.length === 0) {\n return -1;\n }\n const normalizedStartIndex = (startIndex % list.length + list.length) % list.length;\n const lowerString = string.toLocaleLowerCase();\n for (let offset = 0; offset < list.length; offset += 1) {\n const index = (normalizedStartIndex + offset) % list.length;\n const text = list[index];\n if (!text?.toLocaleLowerCase().startsWith(lowerString) || !isVisible(index)) {\n continue;\n }\n return index;\n }\n return -1;\n }\n const listContent = listRef.current;\n if (stringRef.current.length > 0 && event.key === ' ') {\n // Space should continue the in-progress typeahead session.\n stopEvent(event);\n setTypingChange(true);\n }\n if (stringRef.current.length > 0 && stringRef.current[0] !== ' ') {\n if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== ' ') {\n setTypingChange(false);\n }\n }\n if (listContent == null ||\n // Character key.\n event.key.length !== 1 ||\n // Modifier key.\n event.ctrlKey || event.metaKey || event.altKey) {\n return;\n }\n if (open && event.key !== ' ') {\n stopEvent(event);\n setTypingChange(true);\n }\n\n // Capture whether this is a new typing session before mutating the string.\n const isNewSession = stringRef.current === '';\n if (isNewSession) {\n prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;\n }\n\n // Bail out if the list contains a word like \"llama\" or \"aaron\". TODO:\n // allow it in this case, too.\n const allowRapidSuccessionOfFirstLetter = listContent.every(text => text ? text[0]?.toLocaleLowerCase() !== text[1]?.toLocaleLowerCase() : true);\n\n // Allows the user to cycle through items that start with the same letter\n // in rapid succession.\n if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n }\n stringRef.current += event.key;\n timeout.start(resetMs, () => {\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n });\n\n // Compute the starting index for this search.\n // If this is a new typing session (string is empty), base it on the current\n // selection/active item; otherwise continue from the last matched index.\n const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;\n const startIndex = (prevIndex ?? 0) + 1;\n const index = getMatchingIndex(listContent, stringRef.current, startIndex);\n if (index !== -1) {\n onMatchProp?.(index);\n matchIndexRef.current = index;\n } else if (event.key !== ' ') {\n stringRef.current = '';\n setTypingChange(false);\n }\n });\n const onBlur = useStableCallback(event => {\n const next = event.relatedTarget;\n const currentDomReferenceElement = store.select('domReferenceElement');\n const currentFloatingElement = store.select('floatingElement');\n const withinReference = contains(currentDomReferenceElement, next);\n const withinFloating = contains(currentFloatingElement, next);\n\n // Keep the session if focus moves within the composite (reference <-> floating).\n if (withinReference || withinFloating) {\n return;\n }\n\n // End the current typing session when focus leaves the composite entirely.\n timeout.clear();\n stringRef.current = '';\n prevIndexRef.current = matchIndexRef.current;\n setTypingChange(false);\n });\n const reference = React.useMemo(() => ({\n onKeyDown,\n onBlur\n }), [onKeyDown, onBlur]);\n const floating = React.useMemo(() => {\n return {\n onKeyDown,\n onBlur\n };\n }, [onKeyDown, onBlur]);\n return React.useMemo(() => enabled ? {\n reference,\n floating\n } : {}, [enabled, reference, floating]);\n}"],"names":["useTypeahead","context","props","store","dataRef","open","listRef","elementsRef","activeIndex","onMatchProp","onTypingChange","enabled","resetMs","selectedIndex","timeout","useTimeout","stringRef","React","prevIndexRef","matchIndexRef","useIsoLayoutEffect","setTypingChange","useStableCallback","value","onKeyDown","event","isVisible","index","element","isElementVisible","getMatchingIndex","list","string","startIndex","normalizedStartIndex","lowerString","offset","listContent","stopEvent","isNewSession","text","onBlur","next","currentDomReferenceElement","currentFloatingElement","withinReference","contains","withinFloating","reference","floating"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index269.js","sources":["../../../node_modules/date-fns/eachMonthOfInterval.js"],"sourcesContent":["import { normalizeInterval } from \"./_lib/normalizeInterval.js\";\nimport { constructFrom } from \"./constructFrom.js\";\n\n/**\n * The {@link eachMonthOfInterval} function options.\n */\n\n/**\n * The {@link eachMonthOfInterval} function result type. It resolves the proper data type.\n */\n\n/**\n * @name eachMonthOfInterval\n * @category Interval Helpers\n * @summary Return the array of months within the specified time interval.\n *\n * @description\n * Return the array of months within the specified time interval.\n *\n * @typeParam IntervalType - Interval type.\n * @typeParam Options - Options type.\n *\n * @param interval - The interval.\n * @param options - An object with options.\n *\n * @returns The array with starts of months from the month of the interval start to the month of the interval end\n *\n * @example\n * // Each month between 6 February 2014 and 10 August 2014:\n * const result = eachMonthOfInterval({\n * start: new Date(2014, 1, 6),\n * end: new Date(2014, 7, 10)\n * })\n * //=> [\n * // Sat Feb 01 2014 00:00:00,\n * // Sat Mar 01 2014 00:00:00,\n * // Tue Apr 01 2014 00:00:00,\n * // Thu May 01 2014 00:00:00,\n * // Sun Jun 01 2014 00:00:00,\n * // Tue Jul 01 2014 00:00:00,\n * // Fri Aug 01 2014 00:00:00\n * // ]\n */\nexport function eachMonthOfInterval(interval, options) {\n const { start, end } = normalizeInterval(options?.in, interval);\n\n let reversed = +start > +end;\n const endTime = reversed ? +start : +end;\n const date = reversed ? end : start;\n date.setHours(0, 0, 0, 0);\n date.setDate(1);\n\n let step = options?.step ?? 1;\n if (!step) return [];\n if (step < 0) {\n step = -step;\n reversed = !reversed;\n }\n\n const dates = [];\n\n while (+date <= endTime) {\n dates.push(constructFrom(start, date));\n date.setMonth(date.getMonth() + step);\n }\n\n return reversed ? dates.reverse() : dates;\n}\n\n// Fallback for modularized imports:\nexport default eachMonthOfInterval;\n"],"names":["eachMonthOfInterval","interval","options","start","end","normalizeInterval","reversed","endTime","date","step","dates","constructFrom"],"mappings":";;AA2CO,SAASA,EAAoBC,GAAUC,GAAS;AACrD,QAAM,EAAE,OAAAC,GAAO,KAAAC,EAAG,IAAKC,EAAkBH,GAAS,IAAID,CAAQ;AAE9D,MAAIK,IAAW,CAACH,IAAQ,CAACC;AACzB,QAAMG,IAAUD,IAAW,CAACH,IAAQ,CAACC,GAC/BI,IAAOF,IAAWF,IAAMD;AAC9B,EAAAK,EAAK,SAAS,GAAG,GAAG,GAAG,CAAC,GACxBA,EAAK,QAAQ,CAAC;AAEd,MAAIC,IAAwB;AAO5B,QAAMC,IAAQ,CAAA;AAEd,SAAO,CAACF,KAAQD;AACd,IAAAG,EAAM,KAAKC,EAAcR,GAAOK,CAAI,CAAC,GACrCA,EAAK,SAASA,EAAK,SAAQ,IAAKC,CAAI;AAGtC,SAAOH,IAAWI,EAAM,QAAO,IAAKA;AACtC;","x_google_ignoreList":[0]}
package/dist/index270.js CHANGED
@@ -1,87 +1,17 @@
1
- import { useStore as r } from "./index266.js";
2
- class n {
3
- /**
4
- * The current state of the store.
5
- * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
6
- * To subscribe to state changes, use the {@link useState} method. The value returned by {@link useState} is updated after the component renders (similarly to React's useState).
7
- * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
8
- *
9
- * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
10
- */
11
- // Internal state to handle recursive `setState()` calls
12
- constructor(t) {
13
- this.state = t, this.listeners = /* @__PURE__ */ new Set(), this.updateTick = 0;
14
- }
15
- /**
16
- * Registers a listener that will be called whenever the store's state changes.
17
- *
18
- * @param fn The listener function to be called on state changes.
19
- * @returns A function to unsubscribe the listener.
20
- */
21
- subscribe = (t) => (this.listeners.add(t), () => {
22
- this.listeners.delete(t);
23
- });
24
- /**
25
- * Returns the current state of the store.
26
- */
27
- getSnapshot = () => this.state;
28
- /**
29
- * Updates the entire store's state and notifies all registered listeners.
30
- *
31
- * @param newState The new state to set for the store.
32
- */
33
- setState(t) {
34
- if (this.state === t)
35
- return;
36
- this.state = t, this.updateTick += 1;
37
- const s = this.updateTick;
38
- for (const e of this.listeners) {
39
- if (s !== this.updateTick)
40
- return;
41
- e(t);
42
- }
43
- }
44
- /**
45
- * Merges the provided changes into the current state and notifies listeners if there are changes.
46
- *
47
- * @param changes An object containing the changes to apply to the current state.
48
- */
49
- update(t) {
50
- for (const s in t)
51
- if (!Object.is(this.state[s], t[s])) {
52
- this.setState({
53
- ...this.state,
54
- ...t
55
- });
56
- return;
57
- }
58
- }
59
- /**
60
- * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
61
- *
62
- * @param key The key in the store's state to update.
63
- * @param value The new value to set for the specified key.
64
- */
65
- set(t, s) {
66
- Object.is(this.state[t], s) || this.setState({
67
- ...this.state,
68
- [t]: s
69
- });
70
- }
71
- /**
72
- * Gives the state a new reference and updates all registered listeners.
73
- */
74
- notifyAll() {
75
- const t = {
76
- ...this.state
77
- };
78
- this.setState(t);
79
- }
80
- use(t, s, e, i) {
81
- return r(this, t, s, e, i);
82
- }
1
+ import { normalizeInterval as i } from "./index394.js";
2
+ import { constructFrom as m } from "./index389.js";
3
+ function p(s, a) {
4
+ const { start: t, end: r } = i(a?.in, s);
5
+ let n = +t > +r;
6
+ const l = n ? +t : +r, e = n ? r : t;
7
+ e.setHours(0, 0, 0, 0), e.setMonth(0, 1);
8
+ let c = 1;
9
+ const o = [];
10
+ for (; +e <= l; )
11
+ o.push(m(t, e)), e.setFullYear(e.getFullYear() + c);
12
+ return n ? o.reverse() : o;
83
13
  }
84
14
  export {
85
- n as Store
15
+ p as eachYearOfInterval
86
16
  };
87
17
  //# sourceMappingURL=index270.js.map