@rpcbase/ui 0.280.0 → 0.282.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 (519) hide show
  1. package/dist/components/AddressAutocompleteInput/index.d.ts +1 -1
  2. package/dist/components/AddressAutocompleteInput/index.d.ts.map +1 -1
  3. package/dist/components/ApplePayButton/index.d.ts +1 -1
  4. package/dist/components/ApplePayButton/index.d.ts.map +1 -1
  5. package/dist/components/Checkbox/index.d.ts +1 -1
  6. package/dist/components/Checkbox/index.d.ts.map +1 -1
  7. package/dist/components/DayPickerField/index.d.ts +2 -2
  8. package/dist/components/DayPickerField/index.d.ts.map +1 -1
  9. package/dist/components/Dialog/index.d.ts +9 -9
  10. package/dist/components/Dialog/index.d.ts.map +1 -1
  11. package/dist/components/FilesUploadField/index.d.ts +1 -1
  12. package/dist/components/FilesUploadField/index.d.ts.map +1 -1
  13. package/dist/components/HourPickerField/index.d.ts +2 -2
  14. package/dist/components/HourPickerField/index.d.ts.map +1 -1
  15. package/dist/components/I18nField/index.d.ts +1 -1
  16. package/dist/components/I18nField/index.d.ts.map +1 -1
  17. package/dist/components/Image/index.d.ts +1 -1
  18. package/dist/components/Image/index.d.ts.map +1 -1
  19. package/dist/components/ImagesField/index.d.ts +1 -1
  20. package/dist/components/ImagesField/index.d.ts.map +1 -1
  21. package/dist/components/Input/index.d.ts +1 -1
  22. package/dist/components/Input/index.d.ts.map +1 -1
  23. package/dist/components/Notifications/NotificationsButton.d.ts +1 -1
  24. package/dist/components/Notifications/NotificationsButton.d.ts.map +1 -1
  25. package/dist/components/Notifications/NotificationsDrawer.d.ts +1 -1
  26. package/dist/components/Notifications/NotificationsDrawer.d.ts.map +1 -1
  27. package/dist/components/Notifications/NotificationsSettings.d.ts +1 -1
  28. package/dist/components/Notifications/NotificationsSettings.d.ts.map +1 -1
  29. package/dist/components/PhoneNumberInput/suggestions.d.ts +3 -3
  30. package/dist/components/PhoneNumberInput/suggestions.d.ts.map +1 -1
  31. package/dist/components/Select/index.d.ts +2 -2
  32. package/dist/components/Select/index.d.ts.map +1 -1
  33. package/dist/components/header/MenuPopover/index.d.ts +1 -1
  34. package/dist/components/header/MenuPopover/index.d.ts.map +1 -1
  35. package/dist/index.js +12 -12
  36. package/dist/index10.js +6 -4
  37. package/dist/index10.js.map +1 -1
  38. package/dist/index12.js.map +1 -1
  39. package/dist/index13.js.map +1 -1
  40. package/dist/index14.js +88 -88
  41. package/dist/index14.js.map +1 -1
  42. package/dist/index15.js.map +1 -1
  43. package/dist/index154.js +19 -7
  44. package/dist/index154.js.map +1 -1
  45. package/dist/index16.js +36 -45
  46. package/dist/index16.js.map +1 -1
  47. package/dist/index160.js +3 -3
  48. package/dist/index160.js.map +1 -1
  49. package/dist/index166.js +5 -5
  50. package/dist/index166.js.map +1 -1
  51. package/dist/index172.js +27 -25
  52. package/dist/index172.js.map +1 -1
  53. package/dist/index181.js +1 -1
  54. package/dist/index181.js.map +1 -1
  55. package/dist/index182.js +145 -162
  56. package/dist/index182.js.map +1 -1
  57. package/dist/index184.js +6 -8
  58. package/dist/index184.js.map +1 -1
  59. package/dist/index186.js +2 -8
  60. package/dist/index186.js.map +1 -1
  61. package/dist/index19.js +1 -1
  62. package/dist/index19.js.map +1 -1
  63. package/dist/index195.js +1 -1
  64. package/dist/index195.js.map +1 -1
  65. package/dist/index196.js +2 -2
  66. package/dist/index196.js.map +1 -1
  67. package/dist/index197.js +1 -1
  68. package/dist/index197.js.map +1 -1
  69. package/dist/index198.js +16 -15
  70. package/dist/index198.js.map +1 -1
  71. package/dist/index199.js +13 -17
  72. package/dist/index199.js.map +1 -1
  73. package/dist/index200.js +3 -2
  74. package/dist/index200.js.map +1 -1
  75. package/dist/index207.js +5 -90
  76. package/dist/index207.js.map +1 -1
  77. package/dist/index208.js +15 -3
  78. package/dist/index208.js.map +1 -1
  79. package/dist/index209.js +102 -22
  80. package/dist/index209.js.map +1 -1
  81. package/dist/index210.js +3 -28
  82. package/dist/index210.js.map +1 -1
  83. package/dist/index211.js +23 -19
  84. package/dist/index211.js.map +1 -1
  85. package/dist/index212.js +27 -6
  86. package/dist/index212.js.map +1 -1
  87. package/dist/index213.js +19 -14
  88. package/dist/index213.js.map +1 -1
  89. package/dist/index214.js +5 -6
  90. package/dist/index214.js.map +1 -1
  91. package/dist/index215.js +14 -26
  92. package/dist/index215.js.map +1 -1
  93. package/dist/index216.js +7 -22
  94. package/dist/index216.js.map +1 -1
  95. package/dist/index217.js +27 -6
  96. package/dist/index217.js.map +1 -1
  97. package/dist/index218.js +23 -5
  98. package/dist/index218.js.map +1 -1
  99. package/dist/index219.js +6 -4
  100. package/dist/index219.js.map +1 -1
  101. package/dist/index220.js +5 -4
  102. package/dist/index220.js.map +1 -1
  103. package/dist/index221.js +4 -24
  104. package/dist/index221.js.map +1 -1
  105. package/dist/index222.js +4 -3
  106. package/dist/index222.js.map +1 -1
  107. package/dist/index223.js +21 -21
  108. package/dist/index223.js.map +1 -1
  109. package/dist/index224.js +3 -23
  110. package/dist/index224.js.map +1 -1
  111. package/dist/index225.js +23 -6
  112. package/dist/index225.js.map +1 -1
  113. package/dist/index226.js +22 -9
  114. package/dist/index226.js.map +1 -1
  115. package/dist/index227.js +5 -17
  116. package/dist/index227.js.map +1 -1
  117. package/dist/index228.js +8 -49
  118. package/dist/index228.js.map +1 -1
  119. package/dist/index229.js +18 -5
  120. package/dist/index229.js.map +1 -1
  121. package/dist/index230.js +50 -19
  122. package/dist/index230.js.map +1 -1
  123. package/dist/index231.js +20 -28
  124. package/dist/index231.js.map +1 -1
  125. package/dist/index232.js +27 -104
  126. package/dist/index232.js.map +1 -1
  127. package/dist/index233.js +98 -33
  128. package/dist/index233.js.map +1 -1
  129. package/dist/index234.js +28 -113
  130. package/dist/index234.js.map +1 -1
  131. package/dist/index235.js +117 -11
  132. package/dist/index235.js.map +1 -1
  133. package/dist/index236.js +12 -4
  134. package/dist/index236.js.map +1 -1
  135. package/dist/index237.js +4 -15
  136. package/dist/index237.js.map +1 -1
  137. package/dist/index238.js +13 -62
  138. package/dist/index238.js.map +1 -1
  139. package/dist/index239.js +64 -9
  140. package/dist/index239.js.map +1 -1
  141. package/dist/index240.js +10 -106
  142. package/dist/index240.js.map +1 -1
  143. package/dist/index241.js +107 -13
  144. package/dist/index241.js.map +1 -1
  145. package/dist/index242.js +16 -13
  146. package/dist/index242.js.map +1 -1
  147. package/dist/index243.js +13 -5
  148. package/dist/index243.js.map +1 -1
  149. package/dist/index244.js +4 -316
  150. package/dist/index244.js.map +1 -1
  151. package/dist/index245.js +315 -58
  152. package/dist/index245.js.map +1 -1
  153. package/dist/index246.js +58 -223
  154. package/dist/index246.js.map +1 -1
  155. package/dist/index247.js +215 -318
  156. package/dist/index247.js.map +1 -1
  157. package/dist/index248.js +250 -306
  158. package/dist/index248.js.map +1 -1
  159. package/dist/index249.js +308 -173
  160. package/dist/index249.js.map +1 -1
  161. package/dist/index250.js +178 -7
  162. package/dist/index250.js.map +1 -1
  163. package/dist/index251.js +8 -15
  164. package/dist/index251.js.map +1 -1
  165. package/dist/index252.js +41 -5
  166. package/dist/index252.js.map +1 -1
  167. package/dist/index253.js +46 -38
  168. package/dist/index253.js.map +1 -1
  169. package/dist/index254.js +7 -50
  170. package/dist/index254.js.map +1 -1
  171. package/dist/index255.js +49 -6
  172. package/dist/index255.js.map +1 -1
  173. package/dist/index256.js +48 -46
  174. package/dist/index256.js.map +1 -1
  175. package/dist/index257.js +6 -51
  176. package/dist/index257.js.map +1 -1
  177. package/dist/index258.js +10 -9
  178. package/dist/index258.js.map +1 -1
  179. package/dist/index259.js +60 -8
  180. package/dist/index259.js.map +1 -1
  181. package/dist/index26.js.map +1 -1
  182. package/dist/index260.js +41 -60
  183. package/dist/index260.js.map +1 -1
  184. package/dist/index261.js +88 -34
  185. package/dist/index261.js.map +1 -1
  186. package/dist/index262.js +47 -94
  187. package/dist/index262.js.map +1 -1
  188. package/dist/index263.js +36 -49
  189. package/dist/index263.js.map +1 -1
  190. package/dist/index264.js +45 -32
  191. package/dist/index264.js.map +1 -1
  192. package/dist/index265.js +47 -46
  193. package/dist/index265.js.map +1 -1
  194. package/dist/index266.js +18 -48
  195. package/dist/index266.js.map +1 -1
  196. package/dist/index267.js +174 -15
  197. package/dist/index267.js.map +1 -1
  198. package/dist/index268.js +47 -169
  199. package/dist/index268.js.map +1 -1
  200. package/dist/index269.js +17 -34
  201. package/dist/index269.js.map +1 -1
  202. package/dist/index270.js +59 -10
  203. package/dist/index270.js.map +1 -1
  204. package/dist/index271.js +10 -66
  205. package/dist/index271.js.map +1 -1
  206. package/dist/index272.js +4 -4
  207. package/dist/index273.js +71 -69
  208. package/dist/index273.js.map +1 -1
  209. package/dist/index274.js +158 -152
  210. package/dist/index274.js.map +1 -1
  211. package/dist/index275.js +7 -13
  212. package/dist/index275.js.map +1 -1
  213. package/dist/index276.js +12 -5
  214. package/dist/index276.js.map +1 -1
  215. package/dist/index277.js +12 -6
  216. package/dist/index277.js.map +1 -1
  217. package/dist/index278.js +11 -12
  218. package/dist/index278.js.map +1 -1
  219. package/dist/index279.js +65 -9
  220. package/dist/index279.js.map +1 -1
  221. package/dist/index280.js +6 -74
  222. package/dist/index280.js.map +1 -1
  223. package/dist/index281.js +25 -6
  224. package/dist/index281.js.map +1 -1
  225. package/dist/index282.js +24 -24
  226. package/dist/index282.js.map +1 -1
  227. package/dist/index283.js +125 -24
  228. package/dist/index283.js.map +1 -1
  229. package/dist/index284.js +52 -115
  230. package/dist/index284.js.map +1 -1
  231. package/dist/index285.js +59 -55
  232. package/dist/index285.js.map +1 -1
  233. package/dist/index286.js +48 -61
  234. package/dist/index286.js.map +1 -1
  235. package/dist/index287.js +5 -48
  236. package/dist/index287.js.map +1 -1
  237. package/dist/index288.js +14 -8
  238. package/dist/index288.js.map +1 -1
  239. package/dist/index289.js +18 -14
  240. package/dist/index289.js.map +1 -1
  241. package/dist/index290.js +10 -17
  242. package/dist/index290.js.map +1 -1
  243. package/dist/index291.js +23 -11
  244. package/dist/index291.js.map +1 -1
  245. package/dist/index292.js +52 -25
  246. package/dist/index292.js.map +1 -1
  247. package/dist/index293.js +6 -52
  248. package/dist/index293.js.map +1 -1
  249. package/dist/index294.js +137 -5
  250. package/dist/index294.js.map +1 -1
  251. package/dist/index295.js +59 -149
  252. package/dist/index295.js.map +1 -1
  253. package/dist/index296.js +90 -49
  254. package/dist/index296.js.map +1 -1
  255. package/dist/index297.js +11 -117
  256. package/dist/index297.js.map +1 -1
  257. package/dist/index298.js +863 -11
  258. package/dist/index298.js.map +1 -1
  259. package/dist/index299.js +21 -865
  260. package/dist/index299.js.map +1 -1
  261. package/dist/index3.js.map +1 -1
  262. package/dist/index300.js +417 -27
  263. package/dist/index300.js.map +1 -1
  264. package/dist/index301.js +774 -483
  265. package/dist/index301.js.map +1 -1
  266. package/dist/index302.js +7436 -803
  267. package/dist/index302.js.map +1 -1
  268. package/dist/index303.js +7 -7429
  269. package/dist/index303.js.map +1 -1
  270. package/dist/index304.js +12 -6
  271. package/dist/index304.js.map +1 -1
  272. package/dist/index305.js +5 -12
  273. package/dist/index305.js.map +1 -1
  274. package/dist/index306.js +3 -3
  275. package/dist/index306.js.map +1 -1
  276. package/dist/index307.js +469 -5
  277. package/dist/index307.js.map +1 -1
  278. package/dist/index308.js +32 -464
  279. package/dist/index308.js.map +1 -1
  280. package/dist/index309.js +18 -36
  281. package/dist/index309.js.map +1 -1
  282. package/dist/index310.js +28 -17
  283. package/dist/index310.js.map +1 -1
  284. package/dist/index311.js +4 -30
  285. package/dist/index311.js.map +1 -1
  286. package/dist/index312.js +59 -4
  287. package/dist/index312.js.map +1 -1
  288. package/dist/index313.js +11 -59
  289. package/dist/index313.js.map +1 -1
  290. package/dist/index314.js +5 -9
  291. package/dist/index314.js.map +1 -1
  292. package/dist/index315.js +9 -5
  293. package/dist/index315.js.map +1 -1
  294. package/dist/index316.js +12 -9
  295. package/dist/index316.js.map +1 -1
  296. package/dist/index317.js +3 -13
  297. package/dist/index317.js.map +1 -1
  298. package/dist/index318.js +17 -3
  299. package/dist/index318.js.map +1 -1
  300. package/dist/index319.js +23 -14
  301. package/dist/index319.js.map +1 -1
  302. package/dist/index320.js +39 -23
  303. package/dist/index320.js.map +1 -1
  304. package/dist/index321.js +5 -41
  305. package/dist/index321.js.map +1 -1
  306. package/dist/index322.js +25 -5
  307. package/dist/index322.js.map +1 -1
  308. package/dist/index323.js +18 -24
  309. package/dist/index323.js.map +1 -1
  310. package/dist/index324.js +32 -17
  311. package/dist/index324.js.map +1 -1
  312. package/dist/index325.js +5 -34
  313. package/dist/index325.js.map +1 -1
  314. package/dist/index326.js +9 -5
  315. package/dist/index326.js.map +1 -1
  316. package/dist/index327.js +7 -8
  317. package/dist/index327.js.map +1 -1
  318. package/dist/index328.js +9 -8
  319. package/dist/index328.js.map +1 -1
  320. package/dist/index329.js +10 -9
  321. package/dist/index329.js.map +1 -1
  322. package/dist/index330.js +7 -10
  323. package/dist/index330.js.map +1 -1
  324. package/dist/index331.js +75 -7
  325. package/dist/index331.js.map +1 -1
  326. package/dist/index332.js +153 -66
  327. package/dist/index332.js.map +1 -1
  328. package/dist/index333.js +99 -147
  329. package/dist/index333.js.map +1 -1
  330. package/dist/index334.js +13 -113
  331. package/dist/index334.js.map +1 -1
  332. package/dist/index335.js +78 -12
  333. package/dist/index335.js.map +1 -1
  334. package/dist/index336.js +23 -57
  335. package/dist/index336.js.map +1 -1
  336. package/dist/index337.js +12 -45
  337. package/dist/index337.js.map +1 -1
  338. package/dist/index338.js +16 -13
  339. package/dist/index338.js.map +1 -1
  340. package/dist/index339.js +100 -15
  341. package/dist/index339.js.map +1 -1
  342. package/dist/index340.js +50 -95
  343. package/dist/index340.js.map +1 -1
  344. package/dist/index341.js +57 -5
  345. package/dist/index341.js.map +1 -1
  346. package/dist/index342.js +41 -78
  347. package/dist/index342.js.map +1 -1
  348. package/dist/index343.js +100 -58
  349. package/dist/index343.js.map +1 -1
  350. package/dist/index344.js +46 -104
  351. package/dist/index344.js.map +1 -1
  352. package/dist/index345.js +39 -51
  353. package/dist/index345.js.map +1 -1
  354. package/dist/index346.js +143 -42
  355. package/dist/index346.js.map +1 -1
  356. package/dist/index347.js +122 -123
  357. package/dist/index347.js.map +1 -1
  358. package/dist/index348.js +224 -108
  359. package/dist/index348.js.map +1 -1
  360. package/dist/index349.js +158 -174
  361. package/dist/index349.js.map +1 -1
  362. package/dist/index350.js +213 -144
  363. package/dist/index350.js.map +1 -1
  364. package/dist/index351.js +5 -309
  365. package/dist/index351.js.map +1 -1
  366. package/dist/index352.js +6 -5
  367. package/dist/index352.js.map +1 -1
  368. package/dist/index353.js +7 -6
  369. package/dist/index353.js.map +1 -1
  370. package/dist/index354.js +4 -5
  371. package/dist/index354.js.map +1 -1
  372. package/dist/index355.js +4 -4
  373. package/dist/index355.js.map +1 -1
  374. package/dist/index356.js +21 -6
  375. package/dist/index356.js.map +1 -1
  376. package/dist/index357.js +10 -21
  377. package/dist/index357.js.map +1 -1
  378. package/dist/index358.js +128 -10
  379. package/dist/index358.js.map +1 -1
  380. package/dist/index359.js +36 -122
  381. package/dist/index359.js.map +1 -1
  382. package/dist/index360.js +64 -38
  383. package/dist/index360.js.map +1 -1
  384. package/dist/index361.js +115 -66
  385. package/dist/index361.js.map +1 -1
  386. package/dist/index362.js +485 -112
  387. package/dist/index362.js.map +1 -1
  388. package/dist/index363.js +7 -490
  389. package/dist/index363.js.map +1 -1
  390. package/dist/index364.js +1 -1
  391. package/dist/index364.js.map +1 -1
  392. package/dist/index367.js +2 -9
  393. package/dist/index367.js.map +1 -1
  394. package/dist/index368.js +26 -5
  395. package/dist/index368.js.map +1 -1
  396. package/dist/index369.js +43 -27
  397. package/dist/index369.js.map +1 -1
  398. package/dist/index370.js +35 -46
  399. package/dist/index370.js.map +1 -1
  400. package/dist/index371.js +16 -27
  401. package/dist/index371.js.map +1 -1
  402. package/dist/index372.js +41 -16
  403. package/dist/index372.js.map +1 -1
  404. package/dist/index373.js +11 -42
  405. package/dist/index373.js.map +1 -1
  406. package/dist/index374.js +10 -14
  407. package/dist/index374.js.map +1 -1
  408. package/dist/index375.js +51 -9
  409. package/dist/index375.js.map +1 -1
  410. package/dist/index376.js +40 -53
  411. package/dist/index376.js.map +1 -1
  412. package/dist/index377.js +17 -43
  413. package/dist/index377.js.map +1 -1
  414. package/dist/index378.js +4 -15
  415. package/dist/index378.js.map +1 -1
  416. package/dist/index379.js +4 -4
  417. package/dist/index379.js.map +1 -1
  418. package/dist/index380.js +9 -4
  419. package/dist/index380.js.map +1 -1
  420. package/dist/index381.js +304 -9
  421. package/dist/index381.js.map +1 -1
  422. package/dist/index382.js +4 -339
  423. package/dist/index382.js.map +1 -1
  424. package/dist/index383.js +21 -5
  425. package/dist/index383.js.map +1 -1
  426. package/dist/index384.js +106 -16
  427. package/dist/index384.js.map +1 -1
  428. package/dist/index385.js +19 -109
  429. package/dist/index385.js.map +1 -1
  430. package/dist/index386.js +18 -18
  431. package/dist/index386.js.map +1 -1
  432. package/dist/index387.js +14 -19
  433. package/dist/index387.js.map +1 -1
  434. package/dist/index388.js +12 -4
  435. package/dist/index388.js.map +1 -1
  436. package/dist/index389.js +113 -20
  437. package/dist/index389.js.map +1 -1
  438. package/dist/index390.js +5 -11
  439. package/dist/index390.js.map +1 -1
  440. package/dist/index391.js +28 -85
  441. package/dist/index391.js.map +1 -1
  442. package/dist/index392.js +9 -9
  443. package/dist/index392.js.map +1 -1
  444. package/dist/index393.js +6 -29
  445. package/dist/index393.js.map +1 -1
  446. package/dist/index394.js +254 -10
  447. package/dist/index394.js.map +1 -1
  448. package/dist/index395.js +12 -6
  449. package/dist/index395.js.map +1 -1
  450. package/dist/index396.js +11 -252
  451. package/dist/index396.js.map +1 -1
  452. package/dist/index397.js +6 -11
  453. package/dist/index397.js.map +1 -1
  454. package/dist/index398.js +22 -10
  455. package/dist/index398.js.map +1 -1
  456. package/dist/index399.js +22 -6
  457. package/dist/index399.js.map +1 -1
  458. package/dist/index4.js.map +1 -1
  459. package/dist/index400.js +103 -21
  460. package/dist/index400.js.map +1 -1
  461. package/dist/index401.js +15 -23
  462. package/dist/index401.js.map +1 -1
  463. package/dist/index402.js +11 -108
  464. package/dist/index402.js.map +1 -1
  465. package/dist/index403.js +10 -15
  466. package/dist/index403.js.map +1 -1
  467. package/dist/index404.js +237 -10
  468. package/dist/index404.js.map +1 -1
  469. package/dist/index405.js +27 -9
  470. package/dist/index405.js.map +1 -1
  471. package/dist/index406.js +33 -238
  472. package/dist/index406.js.map +1 -1
  473. package/dist/index407.js +11 -30
  474. package/dist/index407.js.map +1 -1
  475. package/dist/index408.js +118 -48
  476. package/dist/index408.js.map +1 -1
  477. package/dist/index409.js +39 -11
  478. package/dist/index409.js.map +1 -1
  479. package/dist/index410.js +18 -121
  480. package/dist/index410.js.map +1 -1
  481. package/dist/index411.js +11 -39
  482. package/dist/index411.js.map +1 -1
  483. package/dist/index412.js +21 -24
  484. package/dist/index412.js.map +1 -1
  485. package/dist/index413.js +17 -11
  486. package/dist/index413.js.map +1 -1
  487. package/dist/index414.js +10 -20
  488. package/dist/index414.js.map +1 -1
  489. package/dist/index415.js +4 -17
  490. package/dist/index415.js.map +1 -1
  491. package/dist/index416.js +300 -14
  492. package/dist/index416.js.map +1 -1
  493. package/dist/index417.js +61 -323
  494. package/dist/index417.js.map +1 -1
  495. package/dist/index418.js +4 -63
  496. package/dist/index418.js.map +1 -1
  497. package/dist/index419.js +28 -4
  498. package/dist/index419.js.map +1 -1
  499. package/dist/index420.js +468 -25
  500. package/dist/index420.js.map +1 -1
  501. package/dist/index421.js +250 -452
  502. package/dist/index421.js.map +1 -1
  503. package/dist/index6.js.map +1 -1
  504. package/dist/index7.js +91 -133
  505. package/dist/index7.js.map +1 -1
  506. package/dist/index70.js +2 -2
  507. package/dist/index70.js.map +1 -1
  508. package/dist/index71.js +11 -4
  509. package/dist/index71.js.map +1 -1
  510. package/dist/index72.js +1 -3
  511. package/dist/index72.js.map +1 -1
  512. package/dist/index8.js.map +1 -1
  513. package/dist/index9.js +16 -19
  514. package/dist/index9.js.map +1 -1
  515. package/dist/test-only/TestCoverageTestBadge/index.d.ts +1 -1
  516. package/dist/test-only/TestCoverageTestBadge/index.d.ts.map +1 -1
  517. package/package.json +15 -15
  518. package/dist/index422.js +0 -272
  519. package/dist/index422.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index264.js","names":["React"],"sources":["../../../node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { isElement } from '@floating-ui/utils/dom';\nimport { FloatingRootStore } from \"../components/FloatingRootStore.mjs\";\n/**\n * Keeps a FloatingRootStore in sync with the provided PopupStore.\n * Uses the provided FloatingRootStore when one exists, otherwise creates one once and updates it on every render.\n */\nexport function useSyncedFloatingRootContext(options) {\n const {\n popupStore,\n treatPopupAsFloatingElement = false,\n floatingRootContext: floatingRootContextProp,\n floatingId,\n nested,\n onOpenChange\n } = options;\n const open = popupStore.useState('open');\n const referenceElement = popupStore.useState('activeTriggerElement');\n const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? 'popupElement' : 'positionerElement');\n const triggerElements = popupStore.context.triggerElements;\n const handleOpenChange = onOpenChange;\n const internalStoreRef = React.useRef(null);\n if (floatingRootContextProp === undefined && internalStoreRef.current === null) {\n internalStoreRef.current = new FloatingRootStore({\n open,\n transitionStatus: undefined,\n referenceElement,\n floatingElement,\n triggerElements,\n onOpenChange: handleOpenChange,\n floatingId,\n syncOnly: true,\n nested\n });\n }\n const store = floatingRootContextProp ?? internalStoreRef.current;\n popupStore.useSyncedValue('floatingId', floatingId);\n useIsoLayoutEffect(() => {\n const valuesToSync = {\n open,\n floatingId,\n referenceElement,\n floatingElement\n };\n if (isElement(referenceElement)) {\n valuesToSync.domReferenceElement = referenceElement;\n }\n if (store.state.positionReference === store.state.referenceElement) {\n valuesToSync.positionReference = referenceElement;\n }\n store.update(valuesToSync);\n }, [open, floatingId, referenceElement, floatingElement, store]);\n\n // Keep non-reactive context values fresh for interactions that call `store.setOpen`.\n store.context.onOpenChange = handleOpenChange;\n store.context.nested = nested;\n return store;\n}"],"x_google_ignoreList":[0],"mappings":";;;;;;AAUA,SAAgB,EAA6B,GAAS;CACpD,IAAM,EACJ,eACA,iCAA8B,IAC9B,qBAAqB,GACrB,eACA,WACA,oBACE,GACE,IAAO,EAAW,SAAS,MAAM,GACjC,IAAmB,EAAW,SAAS,sBAAsB,GAC7D,IAAkB,EAAW,SAAS,IAA8B,iBAAiB,mBAAmB,GACxG,IAAkB,EAAW,QAAQ,iBACrC,IAAmB,GACnB,IAAmBA,EAAM,OAAO,IAAI;CAC1C,AAAI,MAA4B,KAAA,KAAa,EAAiB,YAAY,SACxE,EAAiB,UAAU,IAAI,EAAkB;EAC/C;EACA,kBAAkB,KAAA;EAClB;EACA;EACA;EACA,cAAc;EACd;EACA,UAAU;EACV;CACF,CAAC;CAEH,IAAM,IAAQ,KAA2B,EAAiB;CAqB1D,OApBA,EAAW,eAAe,cAAc,CAAU,GAClD,QAAyB;EACvB,IAAM,IAAe;GACnB;GACA;GACA;GACA;EACF;EAOA,AANI,EAAU,CAAgB,MAC5B,EAAa,sBAAsB,IAEjC,EAAM,MAAM,sBAAsB,EAAM,MAAM,qBAChD,EAAa,oBAAoB,IAEnC,EAAM,OAAO,CAAY;CAC3B,GAAG;EAAC;EAAM;EAAY;EAAkB;EAAiB;CAAK,CAAC,GAG/D,EAAM,QAAQ,eAAe,GAC7B,EAAM,QAAQ,SAAS,GAChB;AACT"}
1
+ {"version":3,"file":"index264.js","names":["React"],"sources":["../../../node_modules/@base-ui/react/internals/useTransitionStatus.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AAUA,SAAgB,EAAoB,GAAM,IAAkB,IAAO,IAAmB,IAAO;CAC3F,IAAM,CAAC,GAAkB,KAAuBA,EAAM,SAAS,KAAQ,IAAkB,SAAS,KAAA,CAAS,GACrG,CAAC,GAAS,KAAcA,EAAM,SAAS,CAAI;CAiDjD,OAhDI,KAAQ,CAAC,MACX,EAAW,EAAI,GACf,EAAoB,UAAU,IAE5B,CAAC,KAAQ,KAAW,MAAqB,YAAY,CAAC,KACxD,EAAoB,QAAQ,GAE1B,CAAC,KAAQ,CAAC,KAAW,MAAqB,YAC5C,EAAoB,KAAA,CAAS,GAE/B,QAAyB;EACvB,IAAI,CAAC,KAAQ,KAAW,MAAqB,YAAY,GAAkB;GACzE,IAAM,IAAQ,EAAe,cAAc;IACzC,EAAoB,QAAQ;GAC9B,CAAC;GACD,aAAa;IACX,EAAe,OAAO,CAAK;GAC7B;EACF;CAEF,GAAG;EAAC;EAAM;EAAS;EAAkB;CAAgB,CAAC,GACtD,QAAyB;EACvB,IAAI,CAAC,KAAQ,GACX;EAEF,IAAM,IAAQ,EAAe,cAAc;GAGzC,EAAoB,KAAA,CAAS;EAC/B,CAAC;EACD,aAAa;GACX,EAAe,OAAO,CAAK;EAC7B;CACF,GAAG,CAAC,GAAiB,CAAI,CAAC,GAC1B,QAAyB;EACvB,IAAI,CAAC,KAAQ,CAAC,GACZ;EAEF,AAAI,KAAQ,KAAW,MAAqB,UAC1C,EAAoB,UAAU;EAEhC,IAAM,IAAQ,EAAe,cAAc;GACzC,EAAoB,MAAM;EAC5B,CAAC;EACD,aAAa;GACX,EAAe,OAAO,CAAK;EAC7B;CACF,GAAG;EAAC;EAAiB;EAAM;EAAS;CAAgB,CAAC,GAC9C;EACL;EACA;EACA;CACF;AACF"}
package/dist/index265.js CHANGED
@@ -1,53 +1,54 @@
1
1
  "use client";
2
- import { useIsoLayoutEffect as e } from "./index204.js";
3
- import { AnimationFrame as t } from "./index228.js";
4
- import * as n from "react";
5
- //#region ../../node_modules/@base-ui/react/internals/useTransitionStatus.mjs
6
- function r(r, i = !1, a = !1) {
7
- let [o, s] = n.useState(r && i ? "idle" : void 0), [c, l] = n.useState(r);
8
- return r && !c && (l(!0), s("starting")), !r && c && o !== "ending" && !a && s("ending"), !r && !c && o === "ending" && s(void 0), e(() => {
9
- if (!r && c && o !== "ending" && a) {
10
- let e = t.request(() => {
11
- s("ending");
2
+ import { useStableCallback as e } from "./index202.js";
3
+ import { useAnimationFrame as t } from "./index230.js";
4
+ import { resolveRef as n } from "./index244.js";
5
+ import * as r from "react-dom";
6
+ //#region ../../node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
7
+ function i(i, a = !1) {
8
+ let o = t();
9
+ return e((e, t = null) => {
10
+ o.cancel();
11
+ let s = n(i);
12
+ if (s == null) return;
13
+ let c = s, l = () => {
14
+ r.flushSync(e);
15
+ };
16
+ if (typeof c.getAnimations != "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
17
+ e();
18
+ return;
19
+ }
20
+ function u() {
21
+ Promise.all(c.getAnimations().map((e) => e.finished)).then(() => {
22
+ t?.aborted || l();
23
+ }, () => {
24
+ if (!t?.aborted) {
25
+ if (c.getAnimations().some((e) => e.pending || e.playState !== "finished")) {
26
+ u();
27
+ return;
28
+ }
29
+ l();
30
+ }
12
31
  });
13
- return () => {
14
- t.cancel(e);
15
- };
16
32
  }
17
- }, [
18
- r,
19
- c,
20
- o,
21
- a
22
- ]), e(() => {
23
- if (!r || i) return;
24
- let e = t.request(() => {
25
- s(void 0);
26
- });
27
- return () => {
28
- t.cancel(e);
29
- };
30
- }, [i, r]), e(() => {
31
- if (!r || !i) return;
32
- r && c && o !== "idle" && s("starting");
33
- let e = t.request(() => {
34
- s("idle");
35
- });
36
- return () => {
37
- t.cancel(e);
38
- };
39
- }, [
40
- i,
41
- r,
42
- c,
43
- o
44
- ]), {
45
- mounted: c,
46
- setMounted: l,
47
- transitionStatus: o
48
- };
33
+ if (a) {
34
+ let e = "data-starting-style";
35
+ if (!c.hasAttribute(e)) {
36
+ o.request(u);
37
+ return;
38
+ }
39
+ let n = new MutationObserver(() => {
40
+ c.hasAttribute(e) || (n.disconnect(), u());
41
+ });
42
+ n.observe(c, {
43
+ attributes: !0,
44
+ attributeFilter: [e]
45
+ }), t?.addEventListener("abort", () => n.disconnect(), { once: !0 });
46
+ return;
47
+ }
48
+ o.request(u);
49
+ });
49
50
  }
50
51
  //#endregion
51
- export { r as useTransitionStatus };
52
+ export { i as useAnimationsFinished };
52
53
 
53
54
  //# sourceMappingURL=index265.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index265.js","names":["React"],"sources":["../../../node_modules/@base-ui/react/internals/useTransitionStatus.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { AnimationFrame } from '@base-ui/utils/useAnimationFrame';\n/**\n * Provides a status string for CSS animations.\n * @param open - a boolean that determines if the element is open.\n * @param enableIdleState - a boolean that enables the `'idle'` state between `'starting'` and `'ending'`\n */\nexport function useTransitionStatus(open, enableIdleState = false, deferEndingState = false) {\n const [transitionStatus, setTransitionStatus] = React.useState(open && enableIdleState ? 'idle' : undefined);\n const [mounted, setMounted] = React.useState(open);\n if (open && !mounted) {\n setMounted(true);\n setTransitionStatus('starting');\n }\n if (!open && mounted && transitionStatus !== 'ending' && !deferEndingState) {\n setTransitionStatus('ending');\n }\n if (!open && !mounted && transitionStatus === 'ending') {\n setTransitionStatus(undefined);\n }\n useIsoLayoutEffect(() => {\n if (!open && mounted && transitionStatus !== 'ending' && deferEndingState) {\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('ending');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }\n return undefined;\n }, [open, mounted, transitionStatus, deferEndingState]);\n useIsoLayoutEffect(() => {\n if (!open || enableIdleState) {\n return undefined;\n }\n const frame = AnimationFrame.request(() => {\n // Avoid `flushSync` here due to Firefox.\n // See https://github.com/mui/base-ui/pull/3424\n setTransitionStatus(undefined);\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open]);\n useIsoLayoutEffect(() => {\n if (!open || !enableIdleState) {\n return undefined;\n }\n if (open && mounted && transitionStatus !== 'idle') {\n setTransitionStatus('starting');\n }\n const frame = AnimationFrame.request(() => {\n setTransitionStatus('idle');\n });\n return () => {\n AnimationFrame.cancel(frame);\n };\n }, [enableIdleState, open, mounted, transitionStatus]);\n return {\n mounted,\n setMounted,\n transitionStatus\n };\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AAUA,SAAgB,EAAoB,GAAM,IAAkB,IAAO,IAAmB,IAAO;CAC3F,IAAM,CAAC,GAAkB,KAAuBA,EAAM,SAAS,KAAQ,IAAkB,SAAS,KAAA,CAAS,GACrG,CAAC,GAAS,KAAcA,EAAM,SAAS,CAAI;CAiDjD,OAhDI,KAAQ,CAAC,MACX,EAAW,EAAI,GACf,EAAoB,UAAU,IAE5B,CAAC,KAAQ,KAAW,MAAqB,YAAY,CAAC,KACxD,EAAoB,QAAQ,GAE1B,CAAC,KAAQ,CAAC,KAAW,MAAqB,YAC5C,EAAoB,KAAA,CAAS,GAE/B,QAAyB;EACvB,IAAI,CAAC,KAAQ,KAAW,MAAqB,YAAY,GAAkB;GACzE,IAAM,IAAQ,EAAe,cAAc;IACzC,EAAoB,QAAQ;GAC9B,CAAC;GACD,aAAa;IACX,EAAe,OAAO,CAAK;GAC7B;EACF;CAEF,GAAG;EAAC;EAAM;EAAS;EAAkB;CAAgB,CAAC,GACtD,QAAyB;EACvB,IAAI,CAAC,KAAQ,GACX;EAEF,IAAM,IAAQ,EAAe,cAAc;GAGzC,EAAoB,KAAA,CAAS;EAC/B,CAAC;EACD,aAAa;GACX,EAAe,OAAO,CAAK;EAC7B;CACF,GAAG,CAAC,GAAiB,CAAI,CAAC,GAC1B,QAAyB;EACvB,IAAI,CAAC,KAAQ,CAAC,GACZ;EAEF,AAAI,KAAQ,KAAW,MAAqB,UAC1C,EAAoB,UAAU;EAEhC,IAAM,IAAQ,EAAe,cAAc;GACzC,EAAoB,MAAM;EAC5B,CAAC;EACD,aAAa;GACX,EAAe,OAAO,CAAK;EAC7B;CACF,GAAG;EAAC;EAAiB;EAAM;EAAS;CAAgB,CAAC,GAC9C;EACL;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"index265.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useAnimationsFinished.mjs"],"sourcesContent":["'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { resolveRef } from \"../utils/resolveRef.mjs\";\n\n/**\n * Executes a function once all animations have finished on the provided element.\n * If an animation is canceled, waits for any replacement animations before executing.\n * @param elementOrRef - The element to watch for animations.\n * @param waitForStartingStyleRemoved - Whether to wait for [data-starting-style] to be removed before checking for animations.\n * @returns A function that takes a callback to execute once all animations have finished, and an optional AbortSignal to abort the callback\n */\nexport function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false) {\n const frame = useAnimationFrame();\n return useStableCallback((fnToExecute,\n /**\n * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that\n * can be used to abort `fnToExecute` before all the animations have finished.\n * @default null\n */\n signal = null) => {\n frame.cancel();\n const element = resolveRef(elementOrRef);\n if (element == null) {\n return;\n }\n const resolvedElement = element;\n const done = () => {\n // Synchronously flush the unmounting of the component so that the browser doesn't\n // paint: https://github.com/mui/base-ui/issues/979\n ReactDOM.flushSync(fnToExecute);\n };\n if (typeof resolvedElement.getAnimations !== 'function' || globalThis.BASE_UI_ANIMATIONS_DISABLED) {\n fnToExecute();\n return;\n }\n function exec() {\n Promise.all(resolvedElement.getAnimations().map(animation => animation.finished)).then(() => {\n if (!signal?.aborted) {\n done();\n }\n }, () => {\n if (signal?.aborted) {\n return;\n }\n const currentAnimations = resolvedElement.getAnimations();\n if (currentAnimations.some(animation => animation.pending || animation.playState !== 'finished')) {\n // Sometimes animations can be aborted because a property they depend on changes while the animation plays.\n // In such cases, we need to re-check if any new animations have started.\n exec();\n return;\n }\n done();\n });\n }\n if (waitForStartingStyleRemoved) {\n const startingStyleAttribute = 'data-starting-style';\n\n // If `[data-starting-style]` isn't present, fall back to waiting one more frame\n // to give \"open\" animations a chance to be registered.\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n frame.request(exec);\n return;\n }\n\n // Wait for `[data-starting-style]` to have been removed.\n const attributeObserver = new MutationObserver(() => {\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n attributeObserver.disconnect();\n exec();\n }\n });\n attributeObserver.observe(resolvedElement, {\n attributes: true,\n attributeFilter: [startingStyleAttribute]\n });\n signal?.addEventListener('abort', () => attributeObserver.disconnect(), {\n once: true\n });\n return;\n }\n frame.request(exec);\n });\n}"],"x_google_ignoreList":[0],"mappings":";;;;;;AAcA,SAAgB,EAAsB,GAAc,IAA8B,IAAO;CACvF,IAAM,IAAQ,EAAkB;CAChC,OAAO,GAAmB,GAM1B,IAAS,SAAS;EAChB,EAAM,OAAO;EACb,IAAM,IAAU,EAAW,CAAY;EACvC,IAAI,KAAW,MACb;EAEF,IAAM,IAAkB,GAClB,UAAa;GAGjB,EAAS,UAAU,CAAW;EAChC;EACA,IAAI,OAAO,EAAgB,iBAAkB,cAAc,WAAW,6BAA6B;GACjG,EAAY;GACZ;EACF;EACA,SAAS,IAAO;GACd,QAAQ,IAAI,EAAgB,cAAc,CAAC,CAAC,KAAI,MAAa,EAAU,QAAQ,CAAC,CAAC,CAAC,WAAW;IAC3F,AAAK,GAAQ,WACX,EAAK;GAET,SAAS;IACH,QAAQ,SAIZ;SAD0B,EAAgB,cACtB,CAAC,CAAC,MAAK,MAAa,EAAU,WAAW,EAAU,cAAc,UAAU,GAAG;MAGhG,EAAK;MACL;KACF;KACA,EAAK;IADL;GAEF,CAAC;EACH;EACA,IAAI,GAA6B;GAC/B,IAAM,IAAyB;GAI/B,IAAI,CAAC,EAAgB,aAAa,CAAsB,GAAG;IACzD,EAAM,QAAQ,CAAI;IAClB;GACF;GAGA,IAAM,IAAoB,IAAI,uBAAuB;IACnD,AAAK,EAAgB,aAAa,CAAsB,MACtD,EAAkB,WAAW,GAC7B,EAAK;GAET,CAAC;GAKD,AAJA,EAAkB,QAAQ,GAAiB;IACzC,YAAY;IACZ,iBAAiB,CAAC,CAAsB;GAC1C,CAAC,GACD,GAAQ,iBAAiB,eAAe,EAAkB,WAAW,GAAG,EACtE,MAAM,GACR,CAAC;GACD;EACF;EACA,EAAM,QAAQ,CAAI;CACpB,CAAC;AACH"}
package/dist/index266.js CHANGED
@@ -1,54 +1,24 @@
1
1
  "use client";
2
- import { TransitionStatusDataAttributes as e } from "./index197.js";
3
- import { useStableCallback as t } from "./index202.js";
4
- import { useAnimationFrame as n } from "./index228.js";
5
- import { resolveRef as r } from "./index243.js";
6
- import * as i from "react-dom";
7
- //#region ../../node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
8
- function a(a, o = !1, s = !0) {
9
- let c = n();
10
- return t((t, n = null) => {
11
- c.cancel();
12
- let l = r(a);
13
- if (l == null) return;
14
- let u = l, d = () => {
15
- i.flushSync(t);
2
+ import { useStableCallback as e } from "./index202.js";
3
+ import { useAnimationsFinished as t } from "./index265.js";
4
+ import * as n from "react";
5
+ //#region ../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
6
+ function r(r) {
7
+ let { enabled: i = !0, open: a, ref: o, onComplete: s } = r, c = e(s), l = t(o, a);
8
+ n.useEffect(() => {
9
+ if (!i) return;
10
+ let e = new AbortController();
11
+ return l(c, e.signal), () => {
12
+ e.abort();
16
13
  };
17
- if (typeof u.getAnimations != "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
18
- t();
19
- return;
20
- }
21
- function f() {
22
- Promise.all(u.getAnimations().map((e) => e.finished)).then(() => {
23
- n?.aborted || d();
24
- }).catch(() => {
25
- if (s) {
26
- n?.aborted || d();
27
- return;
28
- }
29
- let e = u.getAnimations();
30
- !n?.aborted && e.length > 0 && e.some((e) => e.pending || e.playState !== "finished") && f();
31
- });
32
- }
33
- if (o) {
34
- let t = e.startingStyle;
35
- if (!u.hasAttribute(t)) {
36
- c.request(f);
37
- return;
38
- }
39
- let r = new MutationObserver(() => {
40
- u.hasAttribute(t) || (r.disconnect(), f());
41
- });
42
- r.observe(u, {
43
- attributes: !0,
44
- attributeFilter: [t]
45
- }), n?.addEventListener("abort", () => r.disconnect(), { once: !0 });
46
- return;
47
- }
48
- c.request(f);
49
- });
14
+ }, [
15
+ i,
16
+ a,
17
+ c,
18
+ l
19
+ ]);
50
20
  }
51
21
  //#endregion
52
- export { a as useAnimationsFinished };
22
+ export { r as useOpenChangeComplete };
53
23
 
54
24
  //# sourceMappingURL=index266.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index266.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useAnimationsFinished.mjs"],"sourcesContent":["'use client';\n\nimport * as ReactDOM from 'react-dom';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { resolveRef } from \"../utils/resolveRef.mjs\";\nimport { TransitionStatusDataAttributes } from \"./stateAttributesMapping.mjs\";\n\n/**\n * Executes a function once all animations have finished on the provided element.\n * @param elementOrRef - The element to watch for animations.\n * @param waitForStartingStyleRemoved - Whether to wait for [data-starting-style] to be removed before checking for animations.\n * @param treatAbortedAsFinished - Whether to treat aborted animations as finished. If `false`, and there are aborted animations,\n * the function will check again if any new animations have started and wait for them to finish.\n * @returns A function that takes a callback to execute once all animations have finished, and an optional AbortSignal to abort the callback\n */\nexport function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, treatAbortedAsFinished = true) {\n const frame = useAnimationFrame();\n return useStableCallback((fnToExecute,\n /**\n * An optional [AbortSignal](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) that\n * can be used to abort `fnToExecute` before all the animations have finished.\n * @default null\n */\n signal = null) => {\n frame.cancel();\n const element = resolveRef(elementOrRef);\n if (element == null) {\n return;\n }\n const resolvedElement = element;\n const done = () => {\n // Synchronously flush the unmounting of the component so that the browser doesn't\n // paint: https://github.com/mui/base-ui/issues/979\n ReactDOM.flushSync(fnToExecute);\n };\n if (typeof resolvedElement.getAnimations !== 'function' || globalThis.BASE_UI_ANIMATIONS_DISABLED) {\n fnToExecute();\n return;\n }\n function exec() {\n Promise.all(resolvedElement.getAnimations().map(animation => animation.finished)).then(() => {\n if (!signal?.aborted) {\n done();\n }\n }).catch(() => {\n if (treatAbortedAsFinished) {\n if (!signal?.aborted) {\n done();\n }\n return;\n }\n const currentAnimations = resolvedElement.getAnimations();\n if (!signal?.aborted && currentAnimations.length > 0 && currentAnimations.some(animation => animation.pending || animation.playState !== 'finished')) {\n // Sometimes animations can be aborted because a property they depend on changes while the animation plays.\n // In such cases, we need to re-check if any new animations have started.\n exec();\n }\n });\n }\n if (waitForStartingStyleRemoved) {\n const startingStyleAttribute = TransitionStatusDataAttributes.startingStyle;\n\n // If `[data-starting-style]` isn't present, fall back to waiting one more frame\n // to give \"open\" animations a chance to be registered.\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n frame.request(exec);\n return;\n }\n\n // Wait for `[data-starting-style]` to have been removed.\n const attributeObserver = new MutationObserver(() => {\n if (!resolvedElement.hasAttribute(startingStyleAttribute)) {\n attributeObserver.disconnect();\n exec();\n }\n });\n attributeObserver.observe(resolvedElement, {\n attributes: true,\n attributeFilter: [startingStyleAttribute]\n });\n signal?.addEventListener('abort', () => attributeObserver.disconnect(), {\n once: true\n });\n return;\n }\n frame.request(exec);\n });\n}"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAgBA,SAAgB,EAAsB,GAAc,IAA8B,IAAO,IAAyB,IAAM;CACtH,IAAM,IAAQ,EAAkB;CAChC,OAAO,GAAmB,GAM1B,IAAS,SAAS;EAChB,EAAM,OAAO;EACb,IAAM,IAAU,EAAW,CAAY;EACvC,IAAI,KAAW,MACb;EAEF,IAAM,IAAkB,GAClB,UAAa;GAGjB,EAAS,UAAU,CAAW;EAChC;EACA,IAAI,OAAO,EAAgB,iBAAkB,cAAc,WAAW,6BAA6B;GACjG,EAAY;GACZ;EACF;EACA,SAAS,IAAO;GACd,QAAQ,IAAI,EAAgB,cAAc,CAAC,CAAC,KAAI,MAAa,EAAU,QAAQ,CAAC,CAAC,CAAC,WAAW;IAC3F,AAAK,GAAQ,WACX,EAAK;GAET,CAAC,CAAC,CAAC,YAAY;IACb,IAAI,GAAwB;KAC1B,AAAK,GAAQ,WACX,EAAK;KAEP;IACF;IACA,IAAM,IAAoB,EAAgB,cAAc;IACxD,AAAI,CAAC,GAAQ,WAAW,EAAkB,SAAS,KAAK,EAAkB,MAAK,MAAa,EAAU,WAAW,EAAU,cAAc,UAAU,KAGjJ,EAAK;GAET,CAAC;EACH;EACA,IAAI,GAA6B;GAC/B,IAAM,IAAyB,EAA+B;GAI9D,IAAI,CAAC,EAAgB,aAAa,CAAsB,GAAG;IACzD,EAAM,QAAQ,CAAI;IAClB;GACF;GAGA,IAAM,IAAoB,IAAI,uBAAuB;IACnD,AAAK,EAAgB,aAAa,CAAsB,MACtD,EAAkB,WAAW,GAC7B,EAAK;GAET,CAAC;GAKD,AAJA,EAAkB,QAAQ,GAAiB;IACzC,YAAY;IACZ,iBAAiB,CAAC,CAAsB;GAC1C,CAAC,GACD,GAAQ,iBAAiB,eAAe,EAAkB,WAAW,GAAG,EACtE,MAAM,GACR,CAAC;GACD;EACF;EACA,EAAM,QAAQ,CAAI;CACpB,CAAC;AACH"}
1
+ {"version":3,"file":"index266.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(onComplete, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [enabled, open, onComplete, runOnceAnimationsFinish]);\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AASA,SAAgB,EAAsB,GAAY;CAChD,IAAM,EACJ,aAAU,IACV,SACA,QACA,YAAY,MACV,GACE,IAAa,EAAkB,CAAe,GAC9C,IAA0B,EAAsB,GAAK,CAAI;CAC/D,EAAM,gBAAgB;EACpB,IAAI,CAAC,GACH;EAEF,IAAM,IAAkB,IAAI,gBAAgB;EAE5C,OADA,EAAwB,GAAY,EAAgB,MAAM,SAC7C;GACX,EAAgB,MAAM;EACxB;CACF,GAAG;EAAC;EAAS;EAAM;EAAY;CAAuB,CAAC;AACzD"}
package/dist/index267.js CHANGED
@@ -1,24 +1,183 @@
1
1
  "use client";
2
- import { useStableCallback as e } from "./index202.js";
3
- import { useAnimationsFinished as t } from "./index266.js";
4
- import * as n from "react";
5
- //#region ../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
6
- function r(r) {
7
- let { enabled: i = !0, open: a, ref: o, onComplete: s } = r, c = e(s), l = t(o, a, !1);
8
- n.useEffect(() => {
9
- if (!i) return;
10
- let e = new AbortController();
11
- return l(c, e.signal), () => {
12
- e.abort();
13
- };
2
+ import { useRefWithInit as e } from "./index185.js";
3
+ import { EMPTY_OBJECT as t } from "./index191.js";
4
+ import { useStableCallback as n } from "./index202.js";
5
+ import { useIsoLayoutEffect as r } from "./index204.js";
6
+ import { none as i } from "./index210.js";
7
+ import { createChangeEventDetails as a } from "./index211.js";
8
+ import { useId as o } from "./index213.js";
9
+ import { FOCUSABLE_ATTRIBUTE as s } from "./index224.js";
10
+ import { useFloatingParentNodeId as c } from "./index243.js";
11
+ import { useSyncedFloatingRootContext as l } from "./index263.js";
12
+ import { useTransitionStatus as u } from "./index264.js";
13
+ import { useOpenChangeComplete as d } from "./index266.js";
14
+ import * as f from "react";
15
+ import "react-dom";
16
+ //#region ../../node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
17
+ var p = {
18
+ tabIndex: -1,
19
+ [s]: ""
20
+ };
21
+ function m(e) {
22
+ return (t) => t !== "touch" || e.current;
23
+ }
24
+ function h(t, n = !1) {
25
+ let r = o(), i = c() != null, a = e(() => t(r, i)).current;
26
+ return l({
27
+ popupStore: a,
28
+ treatPopupAsFloatingElement: n,
29
+ floatingRootContext: a.state.floatingRootContext,
30
+ floatingId: r,
31
+ nested: i,
32
+ onOpenChange: a.setOpen
33
+ }), a;
34
+ }
35
+ function g({ handle: e, store: t }) {
36
+ return r(() => e.attachStore(t), [e, t]), null;
37
+ }
38
+ function _(e, t) {
39
+ let n = f.useRef(null), r = f.useRef(null);
40
+ return f.useCallback((i) => {
41
+ if (e === void 0) return;
42
+ let a = !1;
43
+ if (n.current !== null) {
44
+ let e = n.current, i = r.current, o = t.context.triggerElements.getById(e);
45
+ i && o === i && (t.context.triggerElements.delete(e), a = !0), n.current = null, r.current = null;
46
+ }
47
+ if (i !== null && (n.current = e, r.current = i, t.context.triggerElements.add(e, i), a = !0), a) {
48
+ let e = t.context.triggerElements.size;
49
+ t.select("open") && t.state.triggerCount !== e && t.set("triggerCount", e);
50
+ }
51
+ }, [t, e]);
52
+ }
53
+ function v(e, t, n, r = !1) {
54
+ t ? e.preventUnmountingOnClose = !1 : r && (e.preventUnmountingOnClose = !0);
55
+ let i = n?.id ?? null;
56
+ (i || t) && (e.activeTriggerId = i, e.activeTriggerElement = n ?? null);
57
+ }
58
+ function y(e, t, i, a) {
59
+ let o = i.useState("isMountedByTrigger", e), s = _(e, i), c = n((t) => {
60
+ let n = i.select("open"), r = i.select("activeTriggerId");
61
+ if (r === e) {
62
+ i.update({
63
+ activeTriggerElement: t,
64
+ ...n ? a : null
65
+ });
66
+ return;
67
+ }
68
+ r == null && n && i.update({
69
+ activeTriggerId: e,
70
+ activeTriggerElement: t,
71
+ ...a
72
+ });
73
+ }), l = f.useCallback((e) => {
74
+ s(e), e && c(e);
75
+ }, [s, c]);
76
+ return r(() => {
77
+ o && i.update({
78
+ activeTriggerElement: t.current,
79
+ ...a
80
+ });
14
81
  }, [
82
+ o,
15
83
  i,
16
- a,
84
+ t,
85
+ ...Object.values(a)
86
+ ]), {
87
+ registerTrigger: l,
88
+ isMountedByThisTrigger: o
89
+ };
90
+ }
91
+ function b(e, t = {}) {
92
+ let { closeOnActiveTriggerUnmount: n = !1 } = t, o = f.useRef(null), s = e.useState("open"), c = e.useState("triggerCount"), l = e.useState("activeTriggerId"), u = e.useState("activeTriggerElement");
93
+ r(() => {
94
+ if (!s) {
95
+ o.current = null, e.state.triggerCount !== 0 && e.set("triggerCount", 0);
96
+ return;
97
+ }
98
+ let t = e.context.triggerElements.size, r = {};
99
+ e.state.triggerCount !== t && (r.triggerCount = t);
100
+ let c = e.select("activeTriggerId"), l = null;
101
+ if (c) {
102
+ let t = e.context.triggerElements.getById(c);
103
+ if (t) o.current = c, t !== e.state.activeTriggerElement && (r.activeTriggerElement = t);
104
+ else {
105
+ for (let [t, n] of e.context.triggerElements.entries()) if (n === e.state.activeTriggerElement) {
106
+ r.activeTriggerId = t, r.activeTriggerElement = n, o.current = t;
107
+ break;
108
+ }
109
+ r.activeTriggerId === void 0 && (o.current === c ? l = c : o.current = null);
110
+ }
111
+ } else o.current = null;
112
+ if (!l && !c && t === 1) {
113
+ let t = e.context.triggerElements.entries().next();
114
+ if (!t.done) {
115
+ let [e, n] = t.value;
116
+ r.activeTriggerId = e, r.activeTriggerElement = n, o.current = e;
117
+ }
118
+ }
119
+ (r.triggerCount !== void 0 || r.activeTriggerId !== void 0 || r.activeTriggerElement !== void 0) && e.update(r), l && n && queueMicrotask(() => {
120
+ if (e.select("open") && e.select("activeTriggerId") === l && !e.context.triggerElements.getById(l)) {
121
+ let t = a(i);
122
+ e.setOpen(!1, t), t.isCanceled || e.update({
123
+ activeTriggerId: null,
124
+ activeTriggerElement: null
125
+ });
126
+ }
127
+ });
128
+ }, [
129
+ s,
130
+ e,
17
131
  c,
18
- l
132
+ l,
133
+ u,
134
+ n
19
135
  ]);
20
136
  }
137
+ function x(e, t, r) {
138
+ let { mounted: i, setMounted: a, transitionStatus: o } = u(e), s = t.useState("preventUnmountingOnClose"), c = !e && s;
139
+ t.useSyncedValues({
140
+ mounted: i,
141
+ transitionStatus: o,
142
+ preventUnmountingOnClose: c
143
+ });
144
+ let l = n(() => {
145
+ a(!1), t.update({
146
+ activeTriggerId: null,
147
+ activeTriggerElement: null,
148
+ mounted: !1,
149
+ preventUnmountingOnClose: !1
150
+ }), r?.(), t.context.onOpenChangeComplete?.(!1);
151
+ });
152
+ return d({
153
+ enabled: i && !e && !c,
154
+ open: e,
155
+ ref: t.context.popupRef,
156
+ onComplete() {
157
+ e || l();
158
+ }
159
+ }), {
160
+ forceUnmount: l,
161
+ transitionStatus: o
162
+ };
163
+ }
164
+ function S(e, n) {
165
+ e.useSyncedValues(n), r(() => () => {
166
+ e.update({
167
+ activeTriggerProps: t,
168
+ inactiveTriggerProps: t,
169
+ popupProps: t
170
+ });
171
+ }, [e]);
172
+ }
173
+ function C(e, t) {
174
+ r(() => {
175
+ !t && e.state.openMethod !== null && e.set("openMethod", null);
176
+ }, [t, e]), r(() => () => {
177
+ e.state.openMethod !== null && e.set("openMethod", null);
178
+ }, [e]);
179
+ }
21
180
  //#endregion
22
- export { r as useOpenChangeComplete };
181
+ export { p as FOCUSABLE_POPUP_PROPS, g as PopupHandleAttachment, m as createDefaultInitialFocus, v as setPopupOpenState, b as useImplicitActiveTrigger, x as useOpenStateTransitions, S as usePopupInteractionProps, h as usePopupRootStore, C as usePopupRootSync, y as useTriggerDataForwarding, _ as useTriggerRegistration };
23
182
 
24
183
  //# sourceMappingURL=index267.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index267.js","names":[],"sources":["../../../node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useAnimationsFinished } from \"./useAnimationsFinished.mjs\";\n\n/**\n * Calls the provided function when the CSS open/close animation or transition completes.\n */\nexport function useOpenChangeComplete(parameters) {\n const {\n enabled = true,\n open,\n ref,\n onComplete: onCompleteParam\n } = parameters;\n const onComplete = useStableCallback(onCompleteParam);\n const runOnceAnimationsFinish = useAnimationsFinished(ref, open, false);\n React.useEffect(() => {\n if (!enabled) {\n return undefined;\n }\n const abortController = new AbortController();\n runOnceAnimationsFinish(onComplete, abortController.signal);\n return () => {\n abortController.abort();\n };\n }, [enabled, open, onComplete, runOnceAnimationsFinish]);\n}"],"x_google_ignoreList":[0],"mappings":";;;;;AASA,SAAgB,EAAsB,GAAY;CAChD,IAAM,EACJ,aAAU,IACV,SACA,QACA,YAAY,MACV,GACE,IAAa,EAAkB,CAAe,GAC9C,IAA0B,EAAsB,GAAK,GAAM,EAAK;CACtE,EAAM,gBAAgB;EACpB,IAAI,CAAC,GACH;EAEF,IAAM,IAAkB,IAAI,gBAAgB;EAE5C,OADA,EAAwB,GAAY,EAAgB,MAAM,SAC7C;GACX,EAAgB,MAAM;EACxB;CACF,GAAG;EAAC;EAAS;EAAM;EAAY;CAAuB,CAAC;AACzD"}
1
+ {"version":3,"file":"index267.js","names":["React","REASONS.none"],"sources":["../../../node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { useId } from '@base-ui/utils/useId';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { FOCUSABLE_ATTRIBUTE } from \"../../floating-ui-react/utils/constants.mjs\";\nimport { useFloatingParentNodeId } from \"../../floating-ui-react/components/FloatingTree.mjs\";\nimport { useSyncedFloatingRootContext } from \"../../floating-ui-react/hooks/useSyncedFloatingRootContext.mjs\";\nimport { useTransitionStatus } from \"../../internals/useTransitionStatus.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nexport const FOCUSABLE_POPUP_PROPS = {\n tabIndex: -1,\n [FOCUSABLE_ATTRIBUTE]: ''\n};\n\n/**\n * Returns the default `initialFocus` resolver for a popup. When opened by touch it focuses the\n * popup element itself to prevent the virtual keyboard from opening (required for Android\n * specifically; iOS handles this automatically). Otherwise it falls back to the default behavior.\n */\nexport function createDefaultInitialFocus(popupRef) {\n return interactionType => interactionType === 'touch' ? popupRef.current : true;\n}\n\n/**\n * The subset of a popup handle that a Root needs to bind its store to. Both the real handle classes\n * and any test double satisfy it.\n */\n\n/**\n * Creates and owns a popup store on behalf of a Root part. The store is created exactly once, with\n * controlled props and root state synced separately after creation. Sets up the synced floating\n * root context and returns the store.\n *\n * @param createStore Factory that builds the store. Called exactly once, receiving the floating id\n * and whether the popup is nested inside another floating element, both resolved on the first render.\n * @param treatPopupAsFloatingElement Whether the popup element is passed to Floating UI as the\n * floating element instead of the default positioner.\n */\nexport function usePopupRootStore(createStore, treatPopupAsFloatingElement = false) {\n const floatingId = useId();\n const nested = useFloatingParentNodeId() != null;\n const store = useRefWithInit(() => createStore(floatingId, nested)).current;\n useSyncedFloatingRootContext({\n popupStore: store,\n treatPopupAsFloatingElement,\n floatingRootContext: store.state.floatingRootContext,\n floatingId,\n nested,\n onOpenChange: store.setOpen\n });\n return store;\n}\n\n/**\n * Attaches a Root's store to a handle for this component's committed lifetime. Popup Roots render\n * it before their interactions and user children so its layout effect runs before descendant layout\n * effects. This lets descendants call the handle during the Root's initial commit without attaching\n * during render, which would leak suspended or abandoned stores. Store subscribers are notified by\n * `attachStore` in this ordinary layout phase, where React permits synchronous updates.\n *\n * Popup Roots must render this component only when a handle is present so handle-less Roots avoid\n * mounting an extra fiber and layout effect.\n */\nexport function PopupHandleAttachment({\n handle,\n store\n}) {\n useIsoLayoutEffect(() => {\n return handle.attachStore(store);\n }, [handle, store]);\n return null;\n}\n\n/**\n * Returns a callback ref that registers/unregisters the trigger element in the store.\n *\n * @param store The Store instance where the trigger should be registered.\n */\nexport function useTriggerRegistration(id, store) {\n // Keep track of the currently registered element to unregister it on unmount or id change.\n const registeredElementIdRef = React.useRef(null);\n const registeredElementRef = React.useRef(null);\n return React.useCallback(element => {\n if (id === undefined) {\n return;\n }\n let shouldSyncTriggerCount = false;\n if (registeredElementIdRef.current !== null) {\n const registeredId = registeredElementIdRef.current;\n const registeredElement = registeredElementRef.current;\n const currentElement = store.context.triggerElements.getById(registeredId);\n if (registeredElement && currentElement === registeredElement) {\n store.context.triggerElements.delete(registeredId);\n shouldSyncTriggerCount = true;\n }\n registeredElementIdRef.current = null;\n registeredElementRef.current = null;\n }\n if (element !== null) {\n registeredElementIdRef.current = id;\n registeredElementRef.current = element;\n store.context.triggerElements.add(id, element);\n shouldSyncTriggerCount = true;\n }\n if (shouldSyncTriggerCount) {\n const triggerCount = store.context.triggerElements.size;\n if (store.select('open') && store.state.triggerCount !== triggerCount) {\n store.set('triggerCount', triggerCount);\n }\n }\n }, [store, id]);\n}\nexport function setPopupOpenState(state, open, trigger, preventUnmountOnClose = false) {\n if (open) {\n // Opening starts a new close cycle, so clear any previous request to keep the popup mounted.\n state.preventUnmountingOnClose = false;\n } else if (preventUnmountOnClose) {\n state.preventUnmountingOnClose = true;\n }\n const triggerId = trigger?.id ?? null;\n\n // If a popup is closing, the `trigger` may be undefined.\n // We want to keep the previous value so that exit animations are played and focus is returned correctly.\n if (triggerId || open) {\n state.activeTriggerId = triggerId;\n state.activeTriggerElement = trigger ?? null;\n }\n}\nexport function attachPreventUnmountOnClose(eventDetails) {\n let preventUnmountOnClose = false;\n eventDetails.preventUnmountOnClose = () => {\n preventUnmountOnClose = true;\n };\n return () => preventUnmountOnClose;\n}\n\n/**\n * Runs the shared open-change sequence for a popup store: notifies `onOpenChange`,\n * honors cancellation, dispatches the floating root change, maps the reason to an\n * `instantType`, and commits the state update (synchronously for hover so\n * `getAnimations()` observes it). Stores supply their own differences via\n * `extraState` (e.g. the last change reason) and `onBeforeDispatch` (e.g. updating\n * inline-rect coordinates).\n */\nexport function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {\n const reason = eventDetails.reason;\n const isHover = reason === REASONS.triggerHover;\n const isFocusOpen = nextOpen && reason === REASONS.triggerFocus;\n const isDismissClose = !nextOpen && (reason === REASONS.triggerPress || reason === REASONS.escapeKey);\n const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);\n store.context.onOpenChange?.(nextOpen, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n options.onBeforeDispatch?.();\n store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);\n const changeState = () => {\n // Spread `extraState` first so `open` always reflects `nextOpen`, keeping it in\n // sync with the value already passed to `dispatchOpenChange`/`setPopupOpenState`.\n const updatedState = {\n ...options.extraState,\n open: nextOpen\n };\n if (isFocusOpen) {\n updatedState.instantType = 'focus';\n } else if (isDismissClose) {\n updatedState.instantType = 'dismiss';\n } else if (isHover) {\n updatedState.instantType = undefined;\n }\n setPopupOpenState(updatedState, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());\n store.update(updatedState);\n };\n if (isHover) {\n // Flush synchronously for hover so `node.getAnimations()` sees the new state.\n ReactDOM.flushSync(changeState);\n } else {\n changeState();\n }\n}\n\n/**\n * Sets up trigger data forwarding to the store.\n *\n * @param triggerId Id of the trigger.\n * @param triggerElementRef Ref for the trigger DOM element.\n * @param store The Store instance managing the popup state.\n * @param stateUpdates An object with state updates to apply when the trigger is active.\n */\nexport function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpdates) {\n const isMountedByThisTrigger = store.useState('isMountedByTrigger', triggerId);\n const baseRegisterTrigger = useTriggerRegistration(triggerId, store);\n\n // Applies trigger-owned state (active-trigger ownership and payload) when the trigger registers.\n // Stable so payload/`stateUpdates` changes do not change the ref identity (which would needlessly\n // churn registration); it reads the latest closure values when invoked.\n const applyTriggerData = useStableCallback(element => {\n const open = store.select('open');\n const activeTriggerId = store.select('activeTriggerId');\n if (activeTriggerId === triggerId) {\n store.update({\n activeTriggerElement: element,\n ...(open ? stateUpdates : null)\n });\n return;\n }\n if (activeTriggerId == null && open) {\n // If a popup is already open, a detached trigger can mount before any active trigger\n // has been established. Claim the first registered trigger so trigger-owned focus\n // management and ARIA relationships work.\n store.update({\n activeTriggerId: triggerId,\n activeTriggerElement: element,\n ...stateUpdates\n });\n }\n });\n\n // Intentionally NOT stable. Its identity is derived from `baseRegisterTrigger`, which is keyed on\n // `[store, id]`, so when a handle-backed trigger's store pointer swaps the merged ref re-fires —\n // unregistering from the previous store and registering into the new one. This lets a detached\n // trigger follow its handle's currently-attached store across attach/detach/remount. (A stable\n // callback would keep its identity and never re-fire on a store swap.)\n const registerTrigger = React.useCallback(element => {\n baseRegisterTrigger(element);\n if (element) {\n applyTriggerData(element);\n }\n }, [baseRegisterTrigger, applyTriggerData]);\n useIsoLayoutEffect(() => {\n if (isMountedByThisTrigger) {\n store.update({\n activeTriggerElement: triggerElementRef.current,\n ...stateUpdates\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);\n return {\n registerTrigger,\n isMountedByThisTrigger\n };\n}\n/**\n * Keeps trigger registration state synchronized while the popup is open.\n *\n * When a popup opens without an explicit trigger id and exactly one trigger is registered, that\n * trigger is claimed as the active trigger. When the active trigger id is still registered but its\n * element changed, the active element is refreshed. When the active trigger id is missing from the\n * registry but the same element is still registered under a different id (e.g. the rendered trigger\n * carries its own DOM `id` that differs from Base UI's internal trigger id), the active id is\n * reassociated to the registered id instead of being treated as lost. When the active trigger\n * unregisters, the default path preserves existing ownership so non-closing popup families do not\n * silently claim a different trigger while staying open.\n *\n * If `closeOnActiveTriggerUnmount` is enabled, unregistering a previously resolved active trigger\n * requests a close after a microtask so a same-tick replacement trigger with the same id can\n * register first. An active trigger id that has not matched a registered trigger yet is treated as\n * pending and does not request a close.\n *\n * This should be called on the Root part.\n *\n * @param store The Store instance managing the popup state.\n * @param options Options for active trigger unmount behavior.\n */\nexport function useImplicitActiveTrigger(store, options = {}) {\n const {\n closeOnActiveTriggerUnmount = false\n } = options;\n // Distinguishes a trigger that unmounted from a new active trigger that has not hydrated yet.\n const resolvedActiveTriggerIdRef = React.useRef(null);\n const open = store.useState('open');\n const reactiveTriggerCount = store.useState('triggerCount');\n // Subscribe to the active trigger id so the reconciliation below reruns when ownership moves to\n // another trigger while the popup stays open (e.g. a focus/hover handoff between triggers).\n const activeTriggerId = store.useState('activeTriggerId');\n // Subscribe to the active trigger element so the reconciliation reruns when a pending active\n // trigger registers in a commit where the trigger count nets out unchanged (registration\n // forwards the element to the store when the registering trigger matches the active id).\n // Without this, the id would never be marked resolved and a later genuine unmount would be\n // misclassified as pending, disabling `closeOnActiveTriggerUnmount`.\n const reactiveActiveTriggerElement = store.useState('activeTriggerElement');\n useIsoLayoutEffect(() => {\n if (!open) {\n resolvedActiveTriggerIdRef.current = null;\n if (store.state.triggerCount !== 0) {\n store.set('triggerCount', 0);\n }\n return;\n }\n const triggerCount = store.context.triggerElements.size;\n const stateUpdates = {};\n if (store.state.triggerCount !== triggerCount) {\n stateUpdates.triggerCount = triggerCount;\n }\n const currentActiveTriggerId = store.select('activeTriggerId');\n let lostActiveTriggerId = null;\n if (currentActiveTriggerId) {\n const activeTriggerElement = store.context.triggerElements.getById(currentActiveTriggerId);\n if (!activeTriggerElement) {\n for (const [triggerId, triggerElement] of store.context.triggerElements.entries()) {\n if (triggerElement === store.state.activeTriggerElement) {\n stateUpdates.activeTriggerId = triggerId;\n stateUpdates.activeTriggerElement = triggerElement;\n resolvedActiveTriggerIdRef.current = triggerId;\n break;\n }\n }\n if (stateUpdates.activeTriggerId === undefined) {\n if (resolvedActiveTriggerIdRef.current === currentActiveTriggerId) {\n lostActiveTriggerId = currentActiveTriggerId;\n } else {\n resolvedActiveTriggerIdRef.current = null;\n }\n }\n } else {\n resolvedActiveTriggerIdRef.current = currentActiveTriggerId;\n if (activeTriggerElement !== store.state.activeTriggerElement) {\n stateUpdates.activeTriggerElement = activeTriggerElement;\n }\n }\n } else {\n resolvedActiveTriggerIdRef.current = null;\n }\n if (!lostActiveTriggerId && !currentActiveTriggerId && triggerCount === 1) {\n const iteratorResult = store.context.triggerElements.entries().next();\n if (!iteratorResult.done) {\n const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;\n stateUpdates.activeTriggerId = implicitTriggerId;\n stateUpdates.activeTriggerElement = implicitTriggerElement;\n resolvedActiveTriggerIdRef.current = implicitTriggerId;\n }\n }\n if (stateUpdates.triggerCount !== undefined || stateUpdates.activeTriggerId !== undefined || stateUpdates.activeTriggerElement !== undefined) {\n store.update(stateUpdates);\n }\n if (lostActiveTriggerId) {\n if (closeOnActiveTriggerUnmount) {\n // Defer so a same-tick replacement trigger with the same id can register first.\n queueMicrotask(() => {\n if (store.select('open') && store.select('activeTriggerId') === lostActiveTriggerId && !store.context.triggerElements.getById(lostActiveTriggerId)) {\n const eventDetails = createChangeEventDetails(REASONS.none);\n store.setOpen(false, eventDetails);\n // If closing is canceled, keep the previous active trigger ownership for the\n // still-open popup instead of claiming another trigger implicitly.\n if (!eventDetails.isCanceled) {\n store.update({\n activeTriggerId: null,\n activeTriggerElement: null\n });\n }\n }\n });\n }\n }\n }, [open, store, reactiveTriggerCount, activeTriggerId, reactiveActiveTriggerElement, closeOnActiveTriggerUnmount]);\n}\n\n/**\n * Manages the mounted state of the popup.\n * Sets up the transition status listeners and handles unmounting when needed.\n * Updates the `mounted`, `transitionStatus`, and `preventUnmountingOnClose` states in the store.\n *\n * @param open Whether the popup is open.\n * @param store The Store instance managing the popup state.\n * @param onUnmount Optional callback to be called when the popup is unmounted.\n *\n * @returns A function to forcibly unmount the popup.\n */\nexport function useOpenStateTransitions(open, store, onUnmount) {\n const {\n mounted,\n setMounted,\n transitionStatus\n } = useTransitionStatus(open);\n const preventUnmountingOnClose = store.useState('preventUnmountingOnClose');\n // Opening starts a new close cycle. Clear during render so the close-completion hook below\n // reads the synchronized value on the same pass.\n const syncedPreventUnmountingOnClose = open ? false : preventUnmountingOnClose;\n store.useSyncedValues({\n mounted,\n transitionStatus,\n preventUnmountingOnClose: syncedPreventUnmountingOnClose\n });\n const forceUnmount = useStableCallback(() => {\n setMounted(false);\n store.update({\n activeTriggerId: null,\n activeTriggerElement: null,\n mounted: false,\n preventUnmountingOnClose: false\n });\n onUnmount?.();\n store.context.onOpenChangeComplete?.(false);\n });\n useOpenChangeComplete({\n enabled: mounted && !open && !syncedPreventUnmountingOnClose,\n open,\n ref: store.context.popupRef,\n onComplete() {\n if (!open) {\n forceUnmount();\n }\n }\n });\n return {\n forceUnmount,\n transitionStatus\n };\n}\nexport function usePopupInteractionProps(store, statePart) {\n store.useSyncedValues(statePart);\n useIsoLayoutEffect(() => () => {\n store.update({\n activeTriggerProps: EMPTY_OBJECT,\n inactiveTriggerProps: EMPTY_OBJECT,\n popupProps: EMPTY_OBJECT\n });\n }, [store]);\n}\nexport function usePopupRootSync(store, open) {\n useIsoLayoutEffect(() => {\n if (!open && store.state.openMethod !== null) {\n store.set('openMethod', null);\n }\n }, [open, store]);\n useIsoLayoutEffect(() => () => {\n if (store.state.openMethod !== null) {\n store.set('openMethod', null);\n }\n }, [store]);\n}"],"x_google_ignoreList":[0],"mappings":"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"}